@aui.io/apollo 0.1.86 → 0.1.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +12 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js +7 -5
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +7 -2
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.d.ts +13 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js +20 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.d.ts +15 -4
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js +61 -9
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.d.ts +3 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js +5 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/runtime-version/index.js +3 -1
- package/node_modules/@aui.io/apollo-core/dist/src/runtime-version/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +6 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +13 -5
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js +9 -6
- package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.d.ts +4 -3
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js +60 -58
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +14 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/package.json +2 -2
- package/package.json +4 -4
|
@@ -136,12 +136,13 @@ export declare function getEndpoint(context: Context, slug: string, options?: Mo
|
|
|
136
136
|
export declare function updateEndpoint(context: Context, slug: string, body: Record<string, unknown>, options?: MockDbServiceOptions): Promise<unknown>;
|
|
137
137
|
export declare function deleteEndpoint(context: Context, slug: string, options?: MockDbServiceOptions): Promise<unknown>;
|
|
138
138
|
/** Where a runtime key the console tried came from. */
|
|
139
|
-
export type RuntimeKeySource = "env" | "cache"
|
|
139
|
+
export type RuntimeKeySource = "env" | "cache";
|
|
140
140
|
export interface RuntimeKeyResync {
|
|
141
141
|
required: true;
|
|
142
142
|
source: RuntimeKeySource;
|
|
143
143
|
reason: string;
|
|
144
|
-
|
|
144
|
+
/** A prefix only — the key itself never reaches output (it is a live credential). */
|
|
145
|
+
runtimeKeyPrefix: string | null;
|
|
145
146
|
action: string;
|
|
146
147
|
}
|
|
147
148
|
export declare function executeEndpoint(context: Context, slug: string, input?: {
|
|
@@ -234,7 +235,7 @@ export declare function normalizeSchema(raw: unknown): {
|
|
|
234
235
|
*/
|
|
235
236
|
export declare function normalizeAddColumns(raw: unknown): unknown[];
|
|
236
237
|
/** The text emitted by `apollo mockdb guide` — the how-to for driving the mock DB. */
|
|
237
|
-
export declare const MOCKDB_GUIDE = "# Mock DB \u2014 Apollo CLI Guide\n\nA per-agent **mock database** for building and testing agents that have no\nreal backend (or no test environment) yet. You define collections (tables),\nseed realistic data, and declare named read/write endpoints; the agent's\nprogram sources then call those endpoints at runtime through a\n`connections.yaml` connection. It supports relative date/time fields\n(`now-30d`) that stay fresh, and per-conversation copy-on-write keyed by the\nsession id, so test runs are isolated and resettable.\n\nAll `apollo mockdb` commands are **non-interactive**. Pass the global\n`--json` for the machine envelope (`{ \"success\": true, \"data\": ... }`).\n\n## How auth works (and why it's safe)\n\n- The agent comes from the checkout you are standing in (`.apollorc`) or\n `--agent <id>`; the account from the active project (`--account <id>` or\n `APOLLO_ACCOUNT_ID` to override).\n- Every management call carries your Apollo token **first-party from the\n CLI**; the platform gateway authenticates it, and the mock DB must belong\n to your current organization.\n- Provision returns two per-agent keys, stored under `~/.apollo/mockdb/`:\n - **runtimeKey** \u2014 what the agent's connection uses at runtime; also what\n `apollo mockdb execute` uses to test endpoints.\n - **managementKey** \u2014 kept for tools outside the CLI; the CLI itself no\n longer sends it (the gateway admits the login token only).\n\n## Typical workflow\n\n```bash\n# 1. Provision (stores the keys) and wire bundle/src/connections.yaml\napollo mockdb provision --wire\n\n# 2. Create collections (parents before children \u2014 FKs need the parent first)\napollo mockdb collections create --name users \\\n --schema '{\"columns\":[{\"name\":\"id\",\"type\":\"text\",\"primaryKey\":true},{\"name\":\"name\",\"type\":\"text\"}]}'\napollo mockdb collections create --name accounts \\\n --schema '{\"columns\":[{\"name\":\"id\",\"type\":\"text\",\"primaryKey\":true},{\"name\":\"user_id\",\"type\":\"text\",\"references\":\"users.id\"},{\"name\":\"balance\",\"type\":\"number\"},{\"name\":\"opened_at\",\"type\":\"reldate\"}]}'\n\n# 3. Seed data (relative date tokens allowed). Inline for a handful of rows,\n# --file (a JSON array or NDJSON) for a real dataset -- any size, batched.\napollo mockdb seed --collection users --rows '[{\"id\":\"U1\",\"name\":\"Ada Lovelace\"}]'\napollo mockdb seed --collection accounts --file accounts.json\n\n# 4. Declare the endpoints the agent will call\napollo mockdb endpoint create --slug get-accounts \\\n --param-schema '{\"user_id\":{\"type\":\"string\",\"required\":true}}' \\\n --spec '{\"kind\":\"read\",\"collection\":\"accounts\",\"where\":[{\"column\":\"user_id\",\"op\":\"eq\",\"param\":\"user_id\"}]}'\n\n# 4b. A read keyed by a SET of ids: op \"in\" + a param declared { \"type\": \"array\" }\napollo mockdb endpoint create --slug accounts-by-ids \\\n --param-schema '{\"ids\":{\"type\":\"array\",\"required\":true}}' \\\n --spec '{\"kind\":\"read\",\"collection\":\"accounts\",\"where\":[{\"column\":\"id\",\"op\":\"in\",\"param\":\"ids\"}]}'\n\n# 5. Test an endpoint under a session (runtime key + session = a conversation)\napollo mockdb execute --slug get-accounts --session test-1 --body '{\"user_id\":\"U1\"}'\napollo mockdb execute --slug accounts-by-ids --body '{\"ids\":[\"A1\",\"A3\"]}'\n\n# 6. Inspect / reset that session's overlay\napollo mockdb session get --key test-1\napollo mockdb session reset --key test-1\n```\n\nThen map each program source that names `connection: mock-db` to an endpoint\nunder `operations` in `bundle/src/connections.yaml` (`method: POST`,\n`path: /<slug>/execute`, `rows: $.data.rows` -- the stub `wire` writes carries\nthe template), export the runtime key as `MOCKDB_TOKEN` (or the connection's\n`token_env`), and `apollo validate && apollo push`.\n\n## Endpoint params \u2014 `--param-schema` types\n\nEvery param a spec references (`where` clauses, insert/update values) must be\ndeclared: `{ \"<name>\": { \"type\": <type>, \"required\"?: bool } }`. An unknown type\nis a 400 at `endpoint create` / `update`.\n\n| type | accepts |\n|---|---|\n| `string` | any value, stringified |\n| `integer` / `number` | a number (numeric strings accepted) |\n| `boolean` | `true` / `false` (the strings too) |\n| `json` | any JSON value, passed through untouched |\n| `array` | a JSON array -- **what `op: \"in\"` needs**. On a GET query string, `?ids=A1,A2` or `?ids=[\"A1\",\"A2\"]` |\n\nDo not declare a set as `string`: the array is stringified to `\"A1,A2\"` and the\n`in` clause rejects it (`where id op \"in\" needs an array value (param \"ids\"\nresolved to string -- declare it as { \"type\": \"array\" } in paramSchema)`).\n\nOn the runtime side nothing is typed: a list-valued key bound on the source rides a\nPOST body as a JSON array as-is (no `type:` on the connection variable -- the\nloader refuses one), and a query-string variable renders it comma-joined\n(`style: csv`, the default) or repeated (`style: repeat`); mock-db's `array`\nparam accepts either.\n\n## Changing data without a drop (keys stay valid)\n\n`mockdb delete --force` forgets the agent, so the next `provision` mints NEW\nkeys and everything wired to the old runtime key -- the vault's `MOCKDB_TOKEN`,\na deployed connection -- breaks until re-wired. None of these touch the keys:\n\n```bash\n# Re-seed everything: empty every collection + session overlay, keep schema,\n# endpoints, personas and keys. Then seed again.\napollo mockdb reset --force\n# Start over from an empty DB with the SAME keys (drops collections + endpoints + personas).\napollo mockdb reset --scope all --force\n\n# One collection: empty it (a parent with populated FK children is refused\n# unless --cascade, which empties the children too), drop it, or edit one row.\napollo mockdb collections truncate --name orders\napollo mockdb collections truncate --name users --cascade\napollo mockdb collections delete --name scratch --force\napollo mockdb rows list --collection users --limit 20\napollo mockdb rows patch --collection users --id U1 --set '{\"tier\":\"gold\"}'\napollo mockdb rows delete --collection users --id U9\n\n# Seed modes: upsert patches rows whose key exists (safe to re-run a file);\n# replace empties the collection first, in one transaction.\napollo mockdb seed --collection users --file users.json --mode upsert\napollo mockdb seed --collection orders --file orders.ndjson --mode replace\n```\n\nA read is never silently capped: `execute` replies `data.total` (the full\nmatch) and `data.hasMore` beside `rows`/`count`. Anything that sums or\ncounts rows must page (`offset` += `count`) until `hasMore` is false -- the\n`pagination:` stanza `wire` writes makes the engine do that on its own.\n\n## Personas for the playground simulator (`identities`)\n\nOnce the mock DB has data, the playground can offer a **persona picker** before\nthe first message so a tester speaks as a real seeded user. The payload is\nauthored here \u2014 the schema and seed values are already in hand:\n\n```bash\n# Read what's stored (no personas \u21D2 { \"personas\": [] } \u2014 the picker is off).\napollo mockdb identities get\n\n# Upsert the payload (large payloads are easier from a file).\napollo mockdb identities set --file personas.json\napollo mockdb identities set --sample-data '{\n \"instructions\": \"Pick a persona to simulate as.\",\n \"personas\": [\n {\n \"label\": \"Jane Doe (verified)\",\n \"state\": \"verified\",\n \"default\": true,\n \"fields\": [\n { \"key\": \"user_id\", \"label\": \"User ID\", \"value\": \"U1001\", \"group\": \"who_you_are\" },\n { \"key\": \"pin\", \"label\": \"PIN\", \"value\": \"4321\", \"group\": \"verify\", \"role\": \"secret\" }\n ]\n }\n ]\n}'\n```\n\nRules the service enforces (a 400 names the exact `personas[i].fields[j]`):\n\n- Each persona needs a non-empty `label` and `state`; each field needs\n `key`, `label`, `value`, and a `group` of `who_you_are` | `verify` |\n `good_to_know` | `records`.\n- Exactly **one** persona carries `default: true` (when there is at least one).\n- Optional per-field extras: `role` (`key` | `secret`), `audience`\n (`user` | `simulator` | `both`), `required_to_start`, `match`, `maps_to`.\n- Optional per-persona `intents` (`{ title, message }`) seed suggested openers.\n\n`set` is a full **REPLACE**, not a merge \u2014 `{\"personas\":[]}` turns the picker\noff. Seed the values first: every persona value must exist in the mock DB.\nPersonas travel with the DB \u2014 `clone` and `export` carry them.\n\n## Cloning another agent's mock DB\n\n```bash\n# Copy a template agent's collections + rows + endpoints + personas into THIS\n# agent (the target must be empty; your account must own both agents):\napollo mockdb clone --from <templateAgentId>\n```\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `mockdb provision [--wire]` | Create the agent's mock DB; store runtime + management keys |\n| `mockdb status` | Ownership + local key prefixes + verdict (ok / empty / new / unknown) |\n| `mockdb describe` | Schema, relationships, relative-field flags, endpoints, row counts |\n| `mockdb collections create --name <n> --schema <json>` | Create a collection (table) |\n| `mockdb collections update --name <n> --add-columns <json>` | Add nullable columns (no rename/type-change/drop) |\n| `mockdb collections list` | List collections |\n| `mockdb collections truncate --name <n> [--cascade]` | Empty a collection (base rows + its session overlay records); keys stay |\n| `mockdb collections delete --name <n> --force` | Drop a collection and its table |\n| `mockdb seed --collection <n> (--rows <json-array> \\| --file <path>) [--mode append\\|upsert\\|replace] [--batch <n>] [--cascade]` | Seed base rows; a file (JSON array or NDJSON) is sent in batches |\n| `mockdb rows list --collection <n> [--limit] [--offset] [--resolve]` | Page through base rows (with the total) |\n| `mockdb rows patch --collection <n> --id <id> --set <json>` | Edit one base row by primary key |\n| `mockdb rows delete --collection <n> --id <id>` | Remove one base row by primary key |\n| `mockdb reset [--scope data\\|all] --force` | Key-stable reset: `data` empties every collection + sessions; `all` also drops collections, endpoints, personas |\n| `mockdb endpoint create --slug <s> --spec <json> [--param-schema <json>] [--description <t>]` | Declare a read/insert/update/delete endpoint |\n| `mockdb endpoint list` / `get <slug>` | List / inspect endpoints |\n| `mockdb endpoint update <slug> [--spec] [--param-schema] [--description]` | PATCH-merge an endpoint |\n| `mockdb endpoint delete <slug>` | Delete an endpoint (re-map operations + push after) |\n| `mockdb execute --slug <s> [--session <key>] [--body <json>]` | Run an endpoint with the runtime key |\n| `mockdb identities get` / `set --sample-data <json> | --file <path>` | Read / replace the persona payload |\n| `mockdb session get --key <key>` / `reset --key <key>` | Inspect / reset a session overlay |\n| `mockdb rotate mgmt` / `rotate runtime` | Mint fresh keys (re-wire after a runtime rotation) |\n| `mockdb clone --from <id>` | Clone another agent's mock DB into this one (target must be empty) |\n| `mockdb export` | Export schema + base data + endpoints + personas |\n| `mockdb keys` | Show locally stored key prefixes (no secrets) |\n| `mockdb wire [--connection-id] [--token-env]` | Write bundle/src/connections.yaml for the runtime key |\n| `mockdb delete --force` | Permanently delete the mock DB (Apollo token only) -- the next provision mints NEW keys; prefer `reset` |\n| `mockdb guide [--output <file>]` | Write this guide to a file (default GUIDE.md) |\n\nCommon flags: `--agent <id>`, `--account <id>`, and the global `--json`.\n\n## Notes\n\n- Create collections **parent-first** (a `references` FK needs the parent).\n- **Writes need `--session`**; reads may omit it to peek at pristine base.\n- Endpoint `where`/value params must be declared in `--param-schema`, with a\n type the service knows (`string|integer|number|boolean|json|array`); a set fed to\n `op: \"in\"` is `array`.\n- `execute` resolves the runtime key from `$MOCKDB_TOKEN` \u2192 the local cache \u2192\n a fresh mint (then reports `runtimeKeyResync` so you re-wire).\n- A read replies at most `limit` rows (default 100, cap 1000) and says so:\n `data.total` / `data.hasMore`. Page with `offset` until `hasMore` is false.\n- A blank 2xx from the service is a transient transport blip: reads retry it,\n writes stop and tell you to verify before retrying (never duplicate rows).\n- Override the service URL with `APOLLO_MOCKDB_URL`.\n";
|
|
238
|
+
export declare const MOCKDB_GUIDE = "# Mock DB \u2014 Apollo CLI Guide\n\nA per-agent **mock database** for building and testing agents that have no\nreal backend (or no test environment) yet. You define collections (tables),\nseed realistic data, and declare named read/write endpoints; the agent's\nprogram sources then call those endpoints at runtime through a\n`connections.yaml` connection. It supports relative date/time fields\n(`now-30d`) that stay fresh, and per-conversation copy-on-write keyed by the\nsession id, so test runs are isolated and resettable.\n\nAll `apollo mockdb` commands are **non-interactive**. Pass the global\n`--json` for the machine envelope (`{ \"success\": true, \"data\": ... }`).\n\n## How auth works (and why it's safe)\n\n- The agent comes from the checkout you are standing in (`.apollorc`) or\n `--agent <id>`; the account from the active project (`--account <id>` or\n `APOLLO_ACCOUNT_ID` to override).\n- Every management call carries your Apollo token **first-party from the\n CLI**; the platform gateway authenticates it, and the mock DB must belong\n to your current organization.\n- Provision returns two per-agent keys, stored under `~/.apollo/mockdb/`:\n - **runtimeKey** \u2014 what the agent's connection uses at runtime; also what\n `apollo mockdb execute` uses to test endpoints.\n - **managementKey** \u2014 kept for tools outside the CLI; the CLI itself no\n longer sends it (the gateway admits the login token only).\n\n## Typical workflow\n\n```bash\n# 1. Provision (stores the keys) and wire bundle/src/connections.yaml\napollo mockdb provision --wire\n\n# 2. Create collections (parents before children \u2014 FKs need the parent first)\napollo mockdb collections create --name users \\\n --schema '{\"columns\":[{\"name\":\"id\",\"type\":\"text\",\"primaryKey\":true},{\"name\":\"name\",\"type\":\"text\"}]}'\napollo mockdb collections create --name accounts \\\n --schema '{\"columns\":[{\"name\":\"id\",\"type\":\"text\",\"primaryKey\":true},{\"name\":\"user_id\",\"type\":\"text\",\"references\":\"users.id\"},{\"name\":\"balance\",\"type\":\"number\"},{\"name\":\"opened_at\",\"type\":\"reldate\"}]}'\n\n# 3. Seed data (relative date tokens allowed). Inline for a handful of rows,\n# --file (a JSON array or NDJSON) for a real dataset -- any size, batched.\napollo mockdb seed --collection users --rows '[{\"id\":\"U1\",\"name\":\"Ada Lovelace\"}]'\napollo mockdb seed --collection accounts --file accounts.json\n\n# 4. Declare the endpoints the agent will call\napollo mockdb endpoint create --slug get-accounts \\\n --param-schema '{\"user_id\":{\"type\":\"string\",\"required\":true}}' \\\n --spec '{\"kind\":\"read\",\"collection\":\"accounts\",\"where\":[{\"column\":\"user_id\",\"op\":\"eq\",\"param\":\"user_id\"}]}'\n\n# 4b. A read keyed by a SET of ids: op \"in\" + a param declared { \"type\": \"array\" }\napollo mockdb endpoint create --slug accounts-by-ids \\\n --param-schema '{\"ids\":{\"type\":\"array\",\"required\":true}}' \\\n --spec '{\"kind\":\"read\",\"collection\":\"accounts\",\"where\":[{\"column\":\"id\",\"op\":\"in\",\"param\":\"ids\"}]}'\n\n# 5. Test an endpoint under a session (runtime key + session = a conversation)\napollo mockdb execute --slug get-accounts --session test-1 --body '{\"user_id\":\"U1\"}'\napollo mockdb execute --slug accounts-by-ids --body '{\"ids\":[\"A1\",\"A3\"]}'\n\n# 6. Inspect / reset that session's overlay\napollo mockdb session get --key test-1\napollo mockdb session reset --key test-1\n```\n\nThen map each program source that names `connection: mock-db` to an endpoint\nunder `operations` in `bundle/src/connections.yaml` (`method: POST`,\n`path: /<slug>/execute`, `rows: $.data.rows` -- the stub `wire` writes carries\nthe template), export the runtime key as `MOCKDB_TOKEN` (or the connection's\n`token_env`), and `apollo validate && apollo push`.\n\n## Endpoint params \u2014 `--param-schema` types\n\nEvery param a spec references (`where` clauses, insert/update values) must be\ndeclared: `{ \"<name>\": { \"type\": <type>, \"required\"?: bool } }`. An unknown type\nis a 400 at `endpoint create` / `update`.\n\n| type | accepts |\n|---|---|\n| `string` | any value, stringified |\n| `integer` / `number` | a number (numeric strings accepted) |\n| `boolean` | `true` / `false` (the strings too) |\n| `json` | any JSON value, passed through untouched |\n| `array` | a JSON array -- **what `op: \"in\"` needs**. On a GET query string, `?ids=A1,A2` or `?ids=[\"A1\",\"A2\"]` |\n\nDo not declare a set as `string`: the array is stringified to `\"A1,A2\"` and the\n`in` clause rejects it (`where id op \"in\" needs an array value (param \"ids\"\nresolved to string -- declare it as { \"type\": \"array\" } in paramSchema)`).\n\nOn the runtime side nothing is typed: a list-valued key bound on the source rides a\nPOST body as a JSON array as-is (no `type:` on the connection variable -- the\nloader refuses one), and a query-string variable renders it comma-joined\n(`style: csv`, the default) or repeated (`style: repeat`); mock-db's `array`\nparam accepts either.\n\n## Changing data without a drop (keys stay valid)\n\n`mockdb delete --force` forgets the agent, so the next `provision` mints NEW\nkeys and everything wired to the old runtime key -- the vault's `MOCKDB_TOKEN`,\na deployed connection -- breaks until re-wired. None of these touch the keys:\n\n```bash\n# Re-seed everything: empty every collection + session overlay, keep schema,\n# endpoints, personas and keys. Then seed again.\napollo mockdb reset --force\n# Start over from an empty DB with the SAME keys (drops collections + endpoints + personas).\napollo mockdb reset --scope all --force\n\n# One collection: empty it (a parent with populated FK children is refused\n# unless --cascade, which empties the children too), drop it, or edit one row.\napollo mockdb collections truncate --name orders\napollo mockdb collections truncate --name users --cascade\napollo mockdb collections delete --name scratch --force\napollo mockdb rows list --collection users --limit 20\napollo mockdb rows patch --collection users --id U1 --set '{\"tier\":\"gold\"}'\napollo mockdb rows delete --collection users --id U9\n\n# Seed modes: upsert patches rows whose key exists (safe to re-run a file);\n# replace empties the collection first, in one transaction.\napollo mockdb seed --collection users --file users.json --mode upsert\napollo mockdb seed --collection orders --file orders.ndjson --mode replace\n```\n\nA read is never silently capped: `execute` replies `data.total` (the full\nmatch) and `data.hasMore` beside `rows`/`count`. Anything that sums or\ncounts rows must page (`offset` += `count`) until `hasMore` is false -- the\n`pagination:` stanza `wire` writes makes the engine do that on its own.\n\n## Personas for the playground simulator (`identities`)\n\nOnce the mock DB has data, the playground can offer a **persona picker** before\nthe first message so a tester speaks as a real seeded user. The payload is\nauthored here \u2014 the schema and seed values are already in hand:\n\n```bash\n# Read what's stored (no personas \u21D2 { \"personas\": [] } \u2014 the picker is off).\napollo mockdb identities get\n\n# Upsert the payload (large payloads are easier from a file).\napollo mockdb identities set --file personas.json\napollo mockdb identities set --sample-data '{\n \"instructions\": \"Pick a persona to simulate as.\",\n \"personas\": [\n {\n \"label\": \"Jane Doe (verified)\",\n \"state\": \"verified\",\n \"default\": true,\n \"fields\": [\n { \"key\": \"user_id\", \"label\": \"User ID\", \"value\": \"U1001\", \"group\": \"who_you_are\" },\n { \"key\": \"pin\", \"label\": \"PIN\", \"value\": \"4321\", \"group\": \"verify\", \"role\": \"secret\" }\n ]\n }\n ]\n}'\n```\n\nRules the service enforces (a 400 names the exact `personas[i].fields[j]`):\n\n- Each persona needs a non-empty `label` and `state`; each field needs\n `key`, `label`, `value`, and a `group` of `who_you_are` | `verify` |\n `good_to_know` | `records`.\n- Exactly **one** persona carries `default: true` (when there is at least one).\n- Optional per-field extras: `role` (`key` | `secret`), `audience`\n (`user` | `simulator` | `both`), `required_to_start`, `match`, `maps_to`.\n- Optional per-persona `intents` (`{ title, message }`) seed suggested openers.\n\n`set` is a full **REPLACE**, not a merge \u2014 `{\"personas\":[]}` turns the picker\noff. Seed the values first: every persona value must exist in the mock DB.\nPersonas travel with the DB \u2014 `clone` and `export` carry them.\n\n## Cloning another agent's mock DB\n\n```bash\n# Copy a template agent's collections + rows + endpoints + personas into THIS\n# agent (the target must be empty; your account must own both agents):\napollo mockdb clone --from <templateAgentId>\n```\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `mockdb provision [--wire]` | Create the agent's mock DB; store runtime + management keys |\n| `mockdb status` | Ownership + local key prefixes + verdict (ok / empty / new / unknown) |\n| `mockdb describe` | Schema, relationships, relative-field flags, endpoints, row counts |\n| `mockdb collections create --name <n> --schema <json>` | Create a collection (table) |\n| `mockdb collections update --name <n> --add-columns <json>` | Add nullable columns (no rename/type-change/drop) |\n| `mockdb collections list` | List collections |\n| `mockdb collections truncate --name <n> [--cascade]` | Empty a collection (base rows + its session overlay records); keys stay |\n| `mockdb collections delete --name <n> --force` | Drop a collection and its table |\n| `mockdb seed --collection <n> (--rows <json-array> \\| --file <path>) [--mode append\\|upsert\\|replace] [--batch <n>] [--cascade]` | Seed base rows; a file (JSON array or NDJSON) is sent in batches |\n| `mockdb rows list --collection <n> [--limit] [--offset] [--resolve]` | Page through base rows (with the total) |\n| `mockdb rows patch --collection <n> --id <id> --set <json>` | Edit one base row by primary key |\n| `mockdb rows delete --collection <n> --id <id>` | Remove one base row by primary key |\n| `mockdb reset [--scope data\\|all] --force` | Key-stable reset: `data` empties every collection + sessions; `all` also drops collections, endpoints, personas |\n| `mockdb endpoint create --slug <s> --spec <json> [--param-schema <json>] [--description <t>]` | Declare a read/insert/update/delete endpoint |\n| `mockdb endpoint list` / `get <slug>` | List / inspect endpoints |\n| `mockdb endpoint update <slug> [--spec] [--param-schema] [--description]` | PATCH-merge an endpoint |\n| `mockdb endpoint delete <slug>` | Delete an endpoint (re-map operations + push after) |\n| `mockdb execute --slug <s> [--session <key>] [--body <json>]` | Run an endpoint with the runtime key |\n| `mockdb identities get` / `set --sample-data <json> | --file <path>` | Read / replace the persona payload |\n| `mockdb session get --key <key>` / `reset --key <key>` | Inspect / reset a session overlay |\n| `mockdb rotate mgmt` / `rotate runtime` | Mint fresh keys (re-wire after a runtime rotation) |\n| `mockdb clone --from <id>` | Clone another agent's mock DB into this one (target must be empty) |\n| `mockdb export` | Export schema + base data + endpoints + personas |\n| `mockdb keys` | Show locally stored key prefixes (no secrets) |\n| `mockdb wire [--connection-id] [--token-env]` | Write bundle/src/connections.yaml for the runtime key |\n| `mockdb delete --force` | Permanently delete the mock DB (Apollo token only) -- the next provision mints NEW keys; prefer `reset` |\n| `mockdb guide [--output <file>]` | Write this guide to a file (default GUIDE.md) |\n\nCommon flags: `--agent <id>`, `--account <id>`, and the global `--json`.\n\n## Notes\n\n- Create collections **parent-first** (a `references` FK needs the parent).\n- **Writes need `--session`**; reads may omit it to peek at pristine base.\n- Endpoint `where`/value params must be declared in `--param-schema`, with a\n type the service knows (`string|integer|number|boolean|json|array`); a set fed to\n `op: \"in\"` is `array`.\n- `execute` resolves the runtime key from `$MOCKDB_TOKEN` \u2192 the local cache. It\n never mints one: with no working key it stops and says so. A new key comes only\n from `apollo mockdb rotate runtime`, which revokes the key the deployed agent uses.\n- A read replies at most `limit` rows (default 100, cap 1000) and says so:\n `data.total` / `data.hasMore`. Page with `offset` until `hasMore` is false.\n- A blank 2xx from the service is a transient transport blip: reads retry it,\n writes stop and tell you to verify before retrying (never duplicate rows).\n- Override the service URL with `APOLLO_MOCKDB_URL`.\n";
|
|
238
239
|
/** Write the guide to `outputPath` (default `GUIDE.md` in the cwd). */
|
|
239
240
|
export declare function writeMockDbGuide(outputPath?: string): Promise<{
|
|
240
241
|
written: true;
|
|
@@ -27,8 +27,8 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
|
27
27
|
import { homedir } from "node:os";
|
|
28
28
|
import path from "node:path";
|
|
29
29
|
import { isMockDbTransportError, MOCKDB_RESET_SCOPES, MOCKDB_SEED_MODES, MockDbClient, mockDbErrorCode, } from "../api/mock-db.js";
|
|
30
|
-
import { clearMockDbKeys, keyPrefixes, loadMockDbKeys, saveMockDbKeys, } from "../config/mockdb-keys.js";
|
|
31
|
-
import { ApiError, AuthError, CliError, ConfigError, ValidationError, } from "../errors/index.js";
|
|
30
|
+
import { clearMockDbKeys, keyPrefixes, loadMockDbKeys, mockDbKeysPath, saveMockDbKeys, } from "../config/mockdb-keys.js";
|
|
31
|
+
import { ApiError, AuthError, CliError, ConfigError, ExitCode, ValidationError, } from "../errors/index.js";
|
|
32
32
|
/** Env var the wired `connections.yaml` reads the runtime key from by default. */
|
|
33
33
|
export const DEFAULT_MOCKDB_TOKEN_ENV = "MOCKDB_TOKEN";
|
|
34
34
|
function accountIdFromToken(token) {
|
|
@@ -184,8 +184,10 @@ async function idempotentWithRetry(resolved, op, fn) {
|
|
|
184
184
|
blankBodyError(resolved, op, "idempotent");
|
|
185
185
|
return result;
|
|
186
186
|
}
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
/** The runtime plane answers a missing or wrong runtime key with 401. A 403 is
|
|
188
|
+
* a permission or tenant refusal — not a key problem — and surfaces as-is. */
|
|
189
|
+
function isRuntimeKeyRejection(error) {
|
|
190
|
+
return error instanceof ApiError && error.status === 401;
|
|
189
191
|
}
|
|
190
192
|
// ─── Key persistence ────────────────────────────────────────────────────
|
|
191
193
|
async function persistReturnedKeys(resolved, resp) {
|
|
@@ -261,7 +263,7 @@ export async function provisionMockDb(context, options = {}) {
|
|
|
261
263
|
...resp,
|
|
262
264
|
stored,
|
|
263
265
|
keysAvailable: false,
|
|
264
|
-
keysHint: "No runtime key is stored for this agent (provision returned none — the DB already existed).
|
|
266
|
+
keysHint: "No runtime key is stored for this agent (provision returned none — the DB already existed). If you have the key, export it as $MOCKDB_TOKEN. Otherwise run `apollo mockdb rotate runtime` to mint one — that invalidates the current key, so store the new one in the agent's vault secret right after — then `apollo mockdb wire`.",
|
|
265
267
|
};
|
|
266
268
|
}
|
|
267
269
|
return { ...resp, stored, keysAvailable: true };
|
|
@@ -578,9 +580,10 @@ export async function deleteEndpoint(context, slug, options = {}) {
|
|
|
578
580
|
/**
|
|
579
581
|
* Ordered runtime keys to try. The wired key (`$MOCKDB_TOKEN`, or the
|
|
580
582
|
* connection's `token_env`) is what a local `chat --local` run resolves, so
|
|
581
|
-
* it goes first; the cache holds the last key the console
|
|
582
|
-
*
|
|
583
|
-
*
|
|
583
|
+
* it goes first; the cache holds the last key the console stored and is the
|
|
584
|
+
* fallback. Duplicates collapse. `executeEndpoint` tries these in order and
|
|
585
|
+
* falls through on a 401. It never mints a key: the runtime key is shared
|
|
586
|
+
* with the deployed agent, and minting one revokes the key that agent uses.
|
|
584
587
|
*/
|
|
585
588
|
async function runtimeKeyCandidates(resolved) {
|
|
586
589
|
const envKey = process.env[resolved.tokenEnv]?.trim();
|
|
@@ -593,29 +596,50 @@ async function runtimeKeyCandidates(resolved) {
|
|
|
593
596
|
return candidates;
|
|
594
597
|
}
|
|
595
598
|
/**
|
|
596
|
-
* When
|
|
597
|
-
*
|
|
598
|
-
* is stale. The console doesn't edit secrets
|
|
599
|
-
*
|
|
600
|
-
*
|
|
599
|
+
* When the wired env key was rejected and the cached one worked, whatever
|
|
600
|
+
* resolves the wired key (a local run, and the deployed agent if its vault
|
|
601
|
+
* secret holds the same value) is stale. The console doesn't edit secrets
|
|
602
|
+
* itself, so it attaches a loud, actionable `runtimeKeyResync` block naming
|
|
603
|
+
* where the working key is cached — never the key. The command layer echoes
|
|
604
|
+
* it; tooling reads the JSON.
|
|
601
605
|
*/
|
|
602
|
-
function attachRuntimeKeyResync(resolved, resp,
|
|
603
|
-
const reason = source === "cache"
|
|
604
|
-
? `the runtime key in $${resolved.tokenEnv} was rejected (HTTP 401); a working key was recovered from the local cache`
|
|
605
|
-
: "no valid runtime key was wired or cached; a fresh runtime key was minted (any previously wired key is now invalid)";
|
|
606
|
+
function attachRuntimeKeyResync(resolved, resp, runtimeKey) {
|
|
606
607
|
if (resp && typeof resp === "object" && !Array.isArray(resp)) {
|
|
608
|
+
const prefix = keyPrefixes({ runtimeKey }).runtimeKey;
|
|
607
609
|
const block = {
|
|
608
610
|
required: true,
|
|
609
|
-
source,
|
|
610
|
-
reason
|
|
611
|
-
|
|
612
|
-
action: `
|
|
613
|
-
|
|
611
|
+
source: "cache",
|
|
612
|
+
reason: `the runtime key in $${resolved.tokenEnv} was rejected (HTTP 401); the key cached for this agent worked`,
|
|
613
|
+
runtimeKeyPrefix: prefix,
|
|
614
|
+
action: `Set $${resolved.tokenEnv} — and the vault secret the connection resolves it from — to the cached runtime key ` +
|
|
615
|
+
`(${prefix}; the full value is in ${mockDbKeysPath(resolved.agentId, resolved.homeDir)}, readable only by you), ` +
|
|
616
|
+
"then re-run `apollo mockdb wire` if connections.yaml changed and `apollo push`. " +
|
|
617
|
+
"If the vault secret holds the rejected key, the DEPLOYED agent is getting HTTP 401 on its runtime calls until then.",
|
|
614
618
|
};
|
|
615
619
|
resp.runtimeKeyResync = block;
|
|
616
620
|
}
|
|
617
621
|
return resp;
|
|
618
622
|
}
|
|
623
|
+
/** Where `execute` looked for a runtime key, for its failure message. */
|
|
624
|
+
function describeKeySources(candidates, tokenEnv) {
|
|
625
|
+
const names = candidates.map((candidate) => candidate.source === "env" ? `$${tokenEnv}` : "the local key cache");
|
|
626
|
+
return names.join(" and ");
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* `execute` found no runtime key that authenticates. It fails closed: the
|
|
630
|
+
* only way to a new key is `apollo mockdb rotate runtime`, run on purpose,
|
|
631
|
+
* because rotation revokes the key the deployed agent uses.
|
|
632
|
+
*/
|
|
633
|
+
function runtimeKeyUnavailable(resolved, slug, candidates) {
|
|
634
|
+
const recovery = `If you have this agent's runtime key, export it as $${resolved.tokenEnv}. ` +
|
|
635
|
+
"Otherwise `apollo mockdb rotate runtime` mints a new one and caches it — the current key stops working at once, " +
|
|
636
|
+
`so store the new key in the agent's vault secret right after (\`apollo vault set ${resolved.tokenEnv}\`), ` +
|
|
637
|
+
"or the deployed agent's mock-db calls fail with HTTP 401.";
|
|
638
|
+
if (candidates.length === 0) {
|
|
639
|
+
return new CliError(`mockdb execute ${slug}: no runtime key for agent ${resolved.agentId} — $${resolved.tokenEnv} is not set and none is cached locally.`, { code: "MOCKDB_RUNTIME_KEY_MISSING", exitCode: ExitCode.configuration, suggestion: recovery });
|
|
640
|
+
}
|
|
641
|
+
return new CliError(`mockdb execute ${slug}: the runtime key from ${describeKeySources(candidates, resolved.tokenEnv)} was rejected for agent ${resolved.agentId} (HTTP 401).`, { code: "MOCKDB_RUNTIME_KEY_REJECTED", exitCode: ExitCode.configuration, suggestion: recovery });
|
|
642
|
+
}
|
|
619
643
|
// Read-after-write lag: a write commits, but the next read can be served by a
|
|
620
644
|
// not-yet-caught-up replica — a 422 no_results (row not visible yet) or a
|
|
621
645
|
// transient 5xx. Retried with bounded backoff where a retry can NEVER
|
|
@@ -661,12 +685,6 @@ function isTransientServerError(error) {
|
|
|
661
685
|
return error.status >= 500 && error.status <= 599;
|
|
662
686
|
return isMockDbTransportError(error);
|
|
663
687
|
}
|
|
664
|
-
/** Mint + cache a fresh runtime key (loud-fails on a keyless mint). */
|
|
665
|
-
async function mintRuntimeKey(resolved) {
|
|
666
|
-
const resp = await rotateWithRetry(resolved, "runtimeKey", "rotate runtime", () => withManage(resolved, (auth) => resolved.client.rotateRuntimeKey(resolved.agentId, auth)));
|
|
667
|
-
// rotateWithRetry loud-fails unless the key came back, so it is present here.
|
|
668
|
-
return resp.runtimeKey;
|
|
669
|
-
}
|
|
670
688
|
export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
671
689
|
const resolved = resolveMockDb(context, options);
|
|
672
690
|
const sessionKey = input.session?.trim() || undefined;
|
|
@@ -704,8 +722,8 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
704
722
|
return await attempt();
|
|
705
723
|
}
|
|
706
724
|
catch (error) {
|
|
707
|
-
if (
|
|
708
|
-
throw error; // next key source
|
|
725
|
+
if (isRuntimeKeyRejection(error))
|
|
726
|
+
throw error; // next key source
|
|
709
727
|
if (isNoResultsError(error) && noResultsTries < NO_RESULTS_MAX_RETRIES) {
|
|
710
728
|
if (!inTest)
|
|
711
729
|
await sleep(lagBackoffMs(++noResultsTries));
|
|
@@ -723,18 +741,16 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
723
741
|
}
|
|
724
742
|
};
|
|
725
743
|
let resp;
|
|
726
|
-
let
|
|
727
|
-
let usedKey;
|
|
744
|
+
let used;
|
|
728
745
|
let envRejected = false;
|
|
729
746
|
for (const candidate of candidates) {
|
|
730
747
|
try {
|
|
731
748
|
resp = await runWithRetries(candidate.key);
|
|
732
|
-
|
|
733
|
-
usedKey = candidate.key;
|
|
749
|
+
used = candidate;
|
|
734
750
|
break;
|
|
735
751
|
}
|
|
736
752
|
catch (error) {
|
|
737
|
-
if (
|
|
753
|
+
if (isRuntimeKeyRejection(error)) {
|
|
738
754
|
if (candidate.source === "env")
|
|
739
755
|
envRejected = true;
|
|
740
756
|
continue;
|
|
@@ -742,30 +758,15 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
742
758
|
throw error;
|
|
743
759
|
}
|
|
744
760
|
}
|
|
745
|
-
if (
|
|
746
|
-
|
|
747
|
-
try {
|
|
748
|
-
resp = await runWithRetries(minted);
|
|
749
|
-
usedSource = "minted";
|
|
750
|
-
usedKey = minted;
|
|
751
|
-
}
|
|
752
|
-
catch (error) {
|
|
753
|
-
if (isAuthRejection(error)) {
|
|
754
|
-
throw new CliError(`mockdb execute ${slug}: the runtime key is still invalid for agent ${resolved.agentId} even after minting a fresh one (HTTP ${error.status}).`, {
|
|
755
|
-
code: "API_CLIENT_ERROR",
|
|
756
|
-
suggestion: "Confirm the agent is provisioned with `apollo mockdb status`; the backend may be rejecting freshly-minted keys (report it).",
|
|
757
|
-
});
|
|
758
|
-
}
|
|
759
|
-
throw error;
|
|
760
|
-
}
|
|
761
|
-
}
|
|
761
|
+
if (used === undefined)
|
|
762
|
+
throw runtimeKeyUnavailable(resolved, slug, candidates);
|
|
762
763
|
if (isEmptyReadObject(resp)) {
|
|
763
764
|
blankBodyError(resolved, `execute ${slug}`, sessionKey === undefined ? "read" : "write");
|
|
764
765
|
}
|
|
765
|
-
// A
|
|
766
|
-
//
|
|
767
|
-
if (
|
|
768
|
-
resp = attachRuntimeKeyResync(resolved, resp,
|
|
766
|
+
// A cached key that had to replace a rejected wired key means whatever
|
|
767
|
+
// resolves the wired key is stale ⇒ surface the re-wire step.
|
|
768
|
+
if (used.source === "cache" && envRejected) {
|
|
769
|
+
resp = attachRuntimeKeyResync(resolved, resp, used.key);
|
|
769
770
|
}
|
|
770
771
|
return resp;
|
|
771
772
|
}
|
|
@@ -1260,8 +1261,9 @@ Common flags: \`--agent <id>\`, \`--account <id>\`, and the global \`--json\`.
|
|
|
1260
1261
|
- Endpoint \`where\`/value params must be declared in \`--param-schema\`, with a
|
|
1261
1262
|
type the service knows (\`string|integer|number|boolean|json|array\`); a set fed to
|
|
1262
1263
|
\`op: "in"\` is \`array\`.
|
|
1263
|
-
- \`execute\` resolves the runtime key from \`$MOCKDB_TOKEN\` → the local cache
|
|
1264
|
-
|
|
1264
|
+
- \`execute\` resolves the runtime key from \`$MOCKDB_TOKEN\` → the local cache. It
|
|
1265
|
+
never mints one: with no working key it stops and says so. A new key comes only
|
|
1266
|
+
from \`apollo mockdb rotate runtime\`, which revokes the key the deployed agent uses.
|
|
1265
1267
|
- A read replies at most \`limit\` rows (default 100, cap 1000) and says so:
|
|
1266
1268
|
\`data.total\` / \`data.hasMore\`. Page with \`offset\` until \`hasMore\` is false.
|
|
1267
1269
|
- A blank 2xx from the service is a transient transport blip: reads retry it,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockdb.js","sourceRoot":"","sources":["../../../src/services/mockdb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mockdb.js","sourceRoot":"","sources":["../../../src/services/mockdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,13 @@ function liveToast(at, live) {
|
|
|
80
80
|
return "";
|
|
81
81
|
return live === at ? " · the commit customers get" : ` · customers get ${live}`;
|
|
82
82
|
}
|
|
83
|
+
/** A toast's note when the pulled commit still carries a secret file on the
|
|
84
|
+
* server: it was not written, but its values are stored with that commit. */
|
|
85
|
+
function serverSecretsToast(files) {
|
|
86
|
+
return files?.length
|
|
87
|
+
? ` · the server copy still carries ${files.join(", ")}: rotate those credentials, keep them in the vault`
|
|
88
|
+
: "";
|
|
89
|
+
}
|
|
83
90
|
/** The push toast's note when the push started a branch: which, and why. */
|
|
84
91
|
export function newBranchToast(started) {
|
|
85
92
|
if (!started)
|
|
@@ -946,7 +953,7 @@ export async function runSheetAction(commandName, values, context) {
|
|
|
946
953
|
const on = result.runtimeVersion ? ` on ${result.runtimeVersion}` : "";
|
|
947
954
|
return {
|
|
948
955
|
jumpTab: "bundle",
|
|
949
|
-
toast: `Pulled ${Object.keys(result.files).length} file(s) @ ${result.pull.version_tag}${on}${removed}${liveToast(result.pull.version_tag, result.live)}`,
|
|
956
|
+
toast: `Pulled ${Object.keys(result.files).length} file(s) @ ${result.pull.version_tag}${on}${removed}${liveToast(result.pull.version_tag, result.live)}${serverSecretsToast(result.serverSecretFiles)}`,
|
|
950
957
|
refreshScope: true,
|
|
951
958
|
};
|
|
952
959
|
}
|
|
@@ -1097,11 +1104,14 @@ export async function runSheetAction(commandName, values, context) {
|
|
|
1097
1104
|
...(text("session") ? { session: text("session") } : {}),
|
|
1098
1105
|
...(body !== undefined ? { body } : {}),
|
|
1099
1106
|
});
|
|
1107
|
+
const resync = result?.runtimeKeyResync;
|
|
1100
1108
|
return {
|
|
1101
1109
|
jumpTab: "mockdb",
|
|
1102
1110
|
paneTitle: `execute ${text("slug")}`,
|
|
1103
1111
|
paneLines: [JSON.stringify(result, null, 2)],
|
|
1104
|
-
toast:
|
|
1112
|
+
toast: resync
|
|
1113
|
+
? `Executed ${text("slug")} — runtime key re-sync required (see runtimeKeyResync)`
|
|
1114
|
+
: `Executed ${text("slug")}`,
|
|
1105
1115
|
};
|
|
1106
1116
|
}
|
|
1107
1117
|
case "mdb-endpoint-delete": {
|
|
@@ -1294,7 +1304,7 @@ export async function runSheetAction(commandName, values, context) {
|
|
|
1294
1304
|
});
|
|
1295
1305
|
process.chdir(destination);
|
|
1296
1306
|
return {
|
|
1297
|
-
toast: `Imported ${Object.keys(imported.files).length} files on ${branchName(imported.pull)} at ${imported.pull.version_tag}${liveToast(imported.pull.version_tag, imported.live)} — entered ${homeishPath(destination)}${installNote}`,
|
|
1307
|
+
toast: `Imported ${Object.keys(imported.files).length} files on ${branchName(imported.pull)} at ${imported.pull.version_tag}${liveToast(imported.pull.version_tag, imported.live)} — entered ${homeishPath(destination)}${installNote}${serverSecretsToast(imported.serverSecretFiles)}`,
|
|
1298
1308
|
refreshScope: true,
|
|
1299
1309
|
jumpTab: "scope",
|
|
1300
1310
|
};
|
|
@@ -1362,7 +1372,7 @@ export async function runDestructive(action, context, args = {}) {
|
|
|
1362
1372
|
const on = result.runtimeVersion ? ` on ${result.runtimeVersion}` : "";
|
|
1363
1373
|
return {
|
|
1364
1374
|
jumpTab: "bundle",
|
|
1365
|
-
toast: `Force-pulled ${Object.keys(result.files).length} file(s) @ ${result.pull.version_tag}${on}${removed}${liveToast(result.pull.version_tag, result.live)}`,
|
|
1375
|
+
toast: `Force-pulled ${Object.keys(result.files).length} file(s) @ ${result.pull.version_tag}${on}${removed}${liveToast(result.pull.version_tag, result.live)}${serverSecretsToast(result.serverSecretFiles)}`,
|
|
1366
1376
|
refreshScope: true,
|
|
1367
1377
|
};
|
|
1368
1378
|
}
|