Config schemas, v1
JSON Schema (draft 2020-12) for every file in a Streamliner account folder and for personal *.streamline.json files. Each file's $id is its URL here; add "$schema" to a file to get completions and docs on hover. v1 changes only by addition.
| Schema | Validates | What it is |
|---|---|---|
agent.schema.json | agents/<kind>.json | One streamline (agent kind) as the employee sees it: name, look, welcome, composer, attachments, the overview, renderers (config-schema §4). |
defs.schema.json | Streamline shared definitions | Shared building blocks for every streamline.config/1 file: colours, SF Symbol names, ids, URLs, CIDRs, models, network rules, the `when` language. |
enrolment.schema.json | enrolment.json | The publisher keys an enrolled device pins (config-schema §2 Key pinning; architecture §4). |
form.schema.json | forms/<id>.json | A sealed form, hosted page or sealed view (config-schema §5). |
manifest.schema.json | manifest.json | The signed index of every device-visible file of an account (config-schema §2). |
private-agent.schema.json | private/agents/<kind>.json | One streamline's private half, read only by the model relay and the back end, never served to a device (config-schema §4.5): instructions, model, MCP servers with their tool allowlists and gates, limits, network rule. |
private-connection.schema.json | private/connections/<id>.json | Back-end-only login details for a `password` or `api-key` connection (config-schema §3.2; designed). |
private-tenant.schema.json | private/tenant.json | Account-wide private policy, read only by the back end (config-schema §3.3–3.5, §8a, §8b): the default network rule, named networks and who is on which, access levels, server keys (public halves only), budgets, the transcript store. |
streamline.schema.json | *.streamline.json | One personal streamline, as the app stores, imports and shares it (config-schema §10.1): the device file and the private file as one flat object, because on a personal device the person owns the instructions. |
template.schema.json | templates/<id>.json | A view template: a small tree of native views bound to a JSON object (config-schema §6). |
tenant.schema.json | tenant.json | The account: brand, locale, sign-in, back end, roles and the streamlines in sidebar order (config-schema §3). |
The checker that applies them, with the cross-file rules a schema can't express, is in the skill.