Save app
save_appCreate or update a UI app in the persistent registry, storing its HTML and manifest as a versioned snapshot. Open the app immediately after saving.
Instructions
Create or update a UI app in the persistent registry. Two slots, each optional on update (an omitted slot keeps its current value): ui — the complete self-contained HTML document (contract in get_app_guide; window.oma, no external resources, NO embedded manifest block) — and manifest, the app's declaration as a JSON object (kind, collections, settings, scene; keys in get_app_guide). manifest: null clears the declaration. Creating needs ui. Every save snapshots both slots as one new version (history kept). After saving, open it IMMEDIATELY with open_app.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ui | No | complete self-contained HTML document using window.oma; omit on update to keep the current one | |
| name | Yes | app name, ^[a-z][a-z0-9-]{0,31}$ (e.g. 'kanban', 'habit-tracker') | |
| manifest | No | declaration object (whole-value replace), null to clear, omit to keep | |
| command_id | No | idempotency key (uuid); auto-generated if omitted | |
| description | No | one line: what this app shows and what data fields it uses | |
| expected_version | No | REQUIRED when overwriting an existing app: the version you read (get_app). Creating a new name needs none |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| eot | No | ||
| name | No | ||
| note | No | ||
| size | No | ||
| reason | No | ||
| applied | No | ||
| created | No | ||
| version | No | ||
| prev_size | No | ||
| manifest_action | No | ||
| expected_version | No |