@aui.io/apollo 0.1.84 → 0.1.87

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.
Files changed (84) hide show
  1. package/README.md +4 -4
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +239 -33
  3. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
  4. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js +2 -2
  5. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js.map +1 -1
  6. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js +9 -8
  7. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js.map +1 -1
  8. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +31 -12
  9. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -1
  10. package/node_modules/@aui.io/apollo-cli/package.json +3 -3
  11. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +17 -0
  12. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +4 -0
  13. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
  14. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +36 -0
  15. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +6 -0
  16. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
  17. package/node_modules/@aui.io/apollo-core/dist/src/api/management.d.ts +108 -4
  18. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js +198 -18
  19. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js.map +1 -1
  20. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.d.ts +1 -5
  21. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js +4 -10
  22. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js.map +1 -1
  23. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -2
  24. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +67 -15
  25. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
  26. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.d.ts +13 -0
  27. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js +20 -0
  28. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js.map +1 -1
  29. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.d.ts +29 -0
  30. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js +65 -0
  31. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js.map +1 -0
  32. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.d.ts +25 -4
  33. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js +78 -8
  34. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js.map +1 -1
  35. package/node_modules/@aui.io/apollo-core/dist/src/config/index.d.ts +2 -0
  36. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js +7 -0
  37. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js.map +1 -1
  38. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.d.ts +3 -0
  39. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js +5 -0
  40. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js.map +1 -1
  41. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.d.ts +75 -0
  42. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js +109 -0
  43. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js.map +1 -1
  44. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +1 -1
  45. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  46. package/node_modules/@aui.io/apollo-core/dist/src/output/index.d.ts +2 -0
  47. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js +5 -1
  48. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js.map +1 -1
  49. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +76 -2
  50. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +225 -70
  51. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
  52. package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js +4 -3
  53. package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js.map +1 -1
  54. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.d.ts +14 -21
  55. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js +17 -27
  56. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js.map +1 -1
  57. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.d.ts +15 -9
  58. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +41 -18
  59. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -1
  60. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.d.ts +4 -3
  61. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js +84 -117
  62. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js.map +1 -1
  63. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.d.ts +88 -0
  64. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js +202 -0
  65. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js.map +1 -0
  66. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js +2 -2
  67. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js.map +1 -1
  68. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  69. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +13 -13
  70. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
  71. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +2 -2
  72. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
  73. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +3 -2
  74. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js.map +1 -1
  75. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.d.ts +11 -19
  76. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +90 -81
  77. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
  78. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +2 -0
  79. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +6 -6
  80. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
  81. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +21 -13
  82. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
  83. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  84. package/package.json +4 -4
@@ -8,12 +8,10 @@
8
8
  * ─── Identity & auth ────────────────────────────────────────────────────
9
9
  *
10
10
  * The agent comes from the checkout (`.apollorc`) or `--agent`; the Apollo
11
- * token from the active profile. The token is sent to the mock-db service
12
- * FIRST-PARTY and only where the service demands it (provision / status /
13
- * delete / minting a management key). Every other management call prefers
14
- * the per-agent `managementKey` (`X-Mgmt-Key`) — no Apollo token transmitted
15
- * — and runtime calls use the per-agent `runtimeKey`. Keys are persisted
16
- * under `~/.apollo/mockdb/<agentId>.json` (outside the checkout).
11
+ * token from the active profile. Every management call carries the token
12
+ * FIRST-PARTY (the platform gateway authenticates it; see `withManage`), and
13
+ * runtime calls use the per-agent `runtimeKey`. Keys are persisted under
14
+ * `~/.apollo/mockdb/<agentId>.json` (outside the checkout).
17
15
  *
18
16
  * ─── Resilience ─────────────────────────────────────────────────────────
19
17
  *
@@ -29,8 +27,8 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
29
27
  import { homedir } from "node:os";
30
28
  import path from "node:path";
31
29
  import { isMockDbTransportError, MOCKDB_RESET_SCOPES, MOCKDB_SEED_MODES, MockDbClient, mockDbErrorCode, } from "../api/mock-db.js";
32
- import { clearMockDbKeys, keyPrefixes, loadMockDbKeys, saveMockDbKeys, } from "../config/mockdb-keys.js";
33
- 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";
34
32
  /** Env var the wired `connections.yaml` reads the runtime key from by default. */
35
33
  export const DEFAULT_MOCKDB_TOKEN_ENV = "MOCKDB_TOKEN";
36
34
  function accountIdFromToken(token) {
@@ -186,8 +184,10 @@ async function idempotentWithRetry(resolved, op, fn) {
186
184
  blankBodyError(resolved, op, "idempotent");
187
185
  return result;
188
186
  }
189
- function isAuthRejection(error) {
190
- return error instanceof ApiError && (error.status === 401 || error.status === 403);
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;
191
191
  }
192
192
  // ─── Key persistence ────────────────────────────────────────────────────
193
193
  async function persistReturnedKeys(resolved, resp) {
@@ -222,55 +222,23 @@ async function rotateWithRetry(resolved, field, op, fn) {
222
222
  await persistReturnedKeys(resolved, resp);
223
223
  return resp;
224
224
  }
225
- // ─── Management auth: mgmt key first, token as the safety net ───────────
225
+ // ─── Management auth: the Apollo login token ────────────────────────────
226
226
  /**
227
- * Mint + cache a fresh management key via the token-auth `rotate-mgmt-key`
228
- * path. Returns the minted key, or `undefined` when minting isn't possible
229
- * (agent not provisioned, no account, backend mint path failing) so callers
230
- * fall back to token auth. Never throws.
227
+ * Run a management call with the Apollo login token — the one place the
228
+ * management plane's auth is chosen.
229
+ *
230
+ * The platform gateway authenticates mock-db's management routes (identity
231
+ * forward-auth) and admits a login token only: a call carrying just the
232
+ * per-agent management key (`X-Mgmt-Key`) is refused at the gateway, before it
233
+ * reaches the service. So the token rides every management call. The
234
+ * `Account-Id` and `X-AUI-Api-Url` it carries are what a deployment not yet
235
+ * behind the gateway still reads, and are ignored behind it. The management
236
+ * key is no longer sent, and no longer minted here: minting one per command
237
+ * only to have it refused rotated the key on every call and revoked whatever
238
+ * else held it. `apollo mockdb rotate mgmt` still mints one on request.
231
239
  */
232
- async function tryMintManagementKey(resolved) {
233
- try {
234
- const resp = await rotateWithRetry(resolved, "managementKey", "rotate mgmt", () => resolved.client.rotateMgmtKey(resolved.agentId, resolved.tokenAuth));
235
- return typeof resp.managementKey === "string" ? resp.managementKey : undefined;
236
- }
237
- catch {
238
- return undefined;
239
- }
240
- }
241
- /**
242
- * Run a management call. The management key is sourced from the cache first,
243
- * and a fresh one is MINTED (+cached) when the cache has none or the stored
244
- * one is rejected (401/403). The Apollo token is the safety net under every
245
- * branch, so a missing/dead management key never fails a command.
246
- */
247
- async function withManage(resolved, fn) {
248
- let managementKey = (await loadMockDbKeys(resolved.agentId, resolved.homeDir))
249
- .managementKey;
250
- if (!managementKey) {
251
- managementKey = await tryMintManagementKey(resolved);
252
- if (!managementKey)
253
- return fn(resolved.tokenAuth);
254
- }
255
- try {
256
- return await fn({ mode: "mgmt", managementKey });
257
- }
258
- catch (error) {
259
- if (!isAuthRejection(error))
260
- throw error;
261
- const fresh = await tryMintManagementKey(resolved);
262
- if (fresh) {
263
- try {
264
- return await fn({ mode: "mgmt", managementKey: fresh });
265
- }
266
- catch (retryError) {
267
- if (isAuthRejection(retryError))
268
- return fn(resolved.tokenAuth);
269
- throw retryError;
270
- }
271
- }
272
- return fn(resolved.tokenAuth);
273
- }
240
+ function withManage(resolved, fn) {
241
+ return fn(resolved.tokenAuth);
274
242
  }
275
243
  export async function provisionMockDb(context, options = {}) {
276
244
  const resolved = resolveMockDb(context, options);
@@ -295,7 +263,7 @@ export async function provisionMockDb(context, options = {}) {
295
263
  ...resp,
296
264
  stored,
297
265
  keysAvailable: false,
298
- keysHint: "No runtime key is stored for this agent (provision returned none — the DB already existed). Run `apollo mockdb rotate runtime` to mint one, then `apollo mockdb wire` and update the connection's token env. `execute` self-heals by minting on demand.",
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`.",
299
267
  };
300
268
  }
301
269
  return { ...resp, stored, keysAvailable: true };
@@ -612,9 +580,10 @@ export async function deleteEndpoint(context, slug, options = {}) {
612
580
  /**
613
581
  * Ordered runtime keys to try. The wired key (`$MOCKDB_TOKEN`, or the
614
582
  * connection's `token_env`) is what a local `chat --local` run resolves, so
615
- * it goes first; the cache holds the last key the console minted/stored and
616
- * is the fallback. Duplicates collapse. `executeEndpoint` tries these in
617
- * order, falls through on a 401/403, and mints only when none authenticate.
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.
618
587
  */
619
588
  async function runtimeKeyCandidates(resolved) {
620
589
  const envKey = process.env[resolved.tokenEnv]?.trim();
@@ -627,29 +596,50 @@ async function runtimeKeyCandidates(resolved) {
627
596
  return candidates;
628
597
  }
629
598
  /**
630
- * When `execute` had to mint a fresh key — or the wired env key was rejected
631
- * and a cached one worked — the key the deployed agent / local runtime uses
632
- * is stale. The console doesn't edit secrets itself, so it attaches a loud,
633
- * actionable `runtimeKeyResync` block carrying the working key + the exact
634
- * re-wire instruction. The command layer echoes it; tooling reads the JSON.
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.
635
605
  */
636
- function attachRuntimeKeyResync(resolved, resp, source, runtimeKey) {
637
- const reason = source === "cache"
638
- ? `the runtime key in $${resolved.tokenEnv} was rejected (HTTP 401); a working key was recovered from the local cache`
639
- : "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) {
640
607
  if (resp && typeof resp === "object" && !Array.isArray(resp)) {
608
+ const prefix = keyPrefixes({ runtimeKey }).runtimeKey;
641
609
  const block = {
642
610
  required: true,
643
- source,
644
- reason,
645
- runtimeKey,
646
- action: `Export ${resolved.tokenEnv}=${runtimeKey} (and update the vault secret / secrets.yaml the connection resolves it from), ` +
647
- "then re-run `apollo mockdb wire` if connections.yaml changed and `apollo push`. Until then the DEPLOYED agent keeps getting HTTP 401 on its runtime calls.",
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.",
648
618
  };
649
619
  resp.runtimeKeyResync = block;
650
620
  }
651
621
  return resp;
652
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
+ }
653
643
  // Read-after-write lag: a write commits, but the next read can be served by a
654
644
  // not-yet-caught-up replica — a 422 no_results (row not visible yet) or a
655
645
  // transient 5xx. Retried with bounded backoff where a retry can NEVER
@@ -695,12 +685,6 @@ function isTransientServerError(error) {
695
685
  return error.status >= 500 && error.status <= 599;
696
686
  return isMockDbTransportError(error);
697
687
  }
698
- /** Mint + cache a fresh runtime key (loud-fails on a keyless mint). */
699
- async function mintRuntimeKey(resolved) {
700
- const resp = await rotateWithRetry(resolved, "runtimeKey", "rotate runtime", () => withManage(resolved, (auth) => resolved.client.rotateRuntimeKey(resolved.agentId, auth)));
701
- // rotateWithRetry loud-fails unless the key came back, so it is present here.
702
- return resp.runtimeKey;
703
- }
704
688
  export async function executeEndpoint(context, slug, input = {}, options = {}) {
705
689
  const resolved = resolveMockDb(context, options);
706
690
  const sessionKey = input.session?.trim() || undefined;
@@ -738,8 +722,8 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
738
722
  return await attempt();
739
723
  }
740
724
  catch (error) {
741
- if (isAuthRejection(error))
742
- throw error; // next key source / mint
725
+ if (isRuntimeKeyRejection(error))
726
+ throw error; // next key source
743
727
  if (isNoResultsError(error) && noResultsTries < NO_RESULTS_MAX_RETRIES) {
744
728
  if (!inTest)
745
729
  await sleep(lagBackoffMs(++noResultsTries));
@@ -757,18 +741,16 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
757
741
  }
758
742
  };
759
743
  let resp;
760
- let usedSource;
761
- let usedKey;
744
+ let used;
762
745
  let envRejected = false;
763
746
  for (const candidate of candidates) {
764
747
  try {
765
748
  resp = await runWithRetries(candidate.key);
766
- usedSource = candidate.source;
767
- usedKey = candidate.key;
749
+ used = candidate;
768
750
  break;
769
751
  }
770
752
  catch (error) {
771
- if (isAuthRejection(error)) {
753
+ if (isRuntimeKeyRejection(error)) {
772
754
  if (candidate.source === "env")
773
755
  envRejected = true;
774
756
  continue;
@@ -776,30 +758,15 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
776
758
  throw error;
777
759
  }
778
760
  }
779
- if (usedSource === undefined) {
780
- const minted = await mintRuntimeKey(resolved);
781
- try {
782
- resp = await runWithRetries(minted);
783
- usedSource = "minted";
784
- usedKey = minted;
785
- }
786
- catch (error) {
787
- if (isAuthRejection(error)) {
788
- 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}).`, {
789
- code: "API_CLIENT_ERROR",
790
- suggestion: "Confirm the agent is provisioned with `apollo mockdb status`; the backend may be rejecting freshly-minted keys (report it).",
791
- });
792
- }
793
- throw error;
794
- }
795
- }
761
+ if (used === undefined)
762
+ throw runtimeKeyUnavailable(resolved, slug, candidates);
796
763
  if (isEmptyReadObject(resp)) {
797
764
  blankBodyError(resolved, `execute ${slug}`, sessionKey === undefined ? "read" : "write");
798
765
  }
799
- // A minted key, or a cached key that had to replace a rejected wired key,
800
- // means whatever the runtime resolves is stale ⇒ surface the re-wire step.
801
- if (usedKey && (usedSource === "minted" || (usedSource === "cache" && envRejected))) {
802
- resp = attachRuntimeKeyResync(resolved, resp, usedSource, usedKey);
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);
803
770
  }
804
771
  return resp;
805
772
  }
@@ -1095,15 +1062,14 @@ All \`apollo mockdb\` commands are **non-interactive**. Pass the global
1095
1062
  - The agent comes from the checkout you are standing in (\`.apollorc\`) or
1096
1063
  \`--agent <id>\`; the account from the active project (\`--account <id>\` or
1097
1064
  \`APOLLO_ACCOUNT_ID\` to override).
1098
- - Your Apollo token is sent **first-party from the CLI** only where the
1099
- service demands it: \`provision\`, \`status\`, \`delete\`, and minting a
1100
- management key. The service verifies it against Apollo (you must be a
1101
- member of the agent's account).
1065
+ - Every management call carries your Apollo token **first-party from the
1066
+ CLI**; the platform gateway authenticates it, and the mock DB must belong
1067
+ to your current organization.
1102
1068
  - Provision returns two per-agent keys, stored under \`~/.apollo/mockdb/\`:
1103
- - **managementKey** — used for ALL other management calls (\`X-Mgmt-Key\`;
1104
- no Apollo token transmitted). Minted on demand if missing/rejected.
1105
1069
  - **runtimeKey** — what the agent's connection uses at runtime; also what
1106
1070
  \`apollo mockdb execute\` uses to test endpoints.
1071
+ - **managementKey** — kept for tools outside the CLI; the CLI itself no
1072
+ longer sends it (the gateway admits the login token only).
1107
1073
 
1108
1074
  ## Typical workflow
1109
1075
 
@@ -1295,8 +1261,9 @@ Common flags: \`--agent <id>\`, \`--account <id>\`, and the global \`--json\`.
1295
1261
  - Endpoint \`where\`/value params must be declared in \`--param-schema\`, with a
1296
1262
  type the service knows (\`string|integer|number|boolean|json|array\`); a set fed to
1297
1263
  \`op: "in"\` is \`array\`.
1298
- - \`execute\` resolves the runtime key from \`$MOCKDB_TOKEN\` → the local cache →
1299
- a fresh mint (then reports \`runtimeKeyResync\` so you re-wire).
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.
1300
1267
  - A read replies at most \`limit\` rows (default 100, cap 1000) and says so:
1301
1268
  \`data.total\` / \`data.hasMore\`. Page with \`offset\` until \`hasMore\` is false.
1302
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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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Working with the agent's OTHER versions from a checkout — the CLI half of
3
+ * docs/program-versioning-plan.md §3.4.
4
+ *
5
+ * The checkout edits one program, `bundle/src/`. Another version's program
6
+ * is FETCHED into `bundle/tmp/versions/<tag>/` — scratch, never pushed — where
7
+ * a coding agent (or the author) can read it, `diff -r` it, and take from
8
+ * it. `diffAgainst` is the path-level comparison; `mergeFrom` brings a
9
+ * version's changes into `bundle/src/` with the builder's own three-way
10
+ * merge (the base is the save both lines were branched from, found through
11
+ * the registry's lineage), writing the merged results — a disputed region
12
+ * keeps the author's own text — with the decision spelled out.
13
+ */
14
+ import type { BuilderApiClient, MergeTreesResult } from "../api/builder-api.js";
15
+ import type { AgentVersion, ManagementClient } from "../api/management.js";
16
+ import { type FileDiff } from "../bundle/baseline.js";
17
+ import { type Relation } from "../bundle/lineage.js";
18
+ import type { Context } from "../config/index.js";
19
+ /** `<checkout>/bundle/tmp/versions` — fetched copies live here, one
20
+ * directory per tag. `bundle/tmp` is scratch: no push carries it. */
21
+ export declare function tmpVersionsRoot(context: Context, root?: string): string;
22
+ export interface FetchedVersion {
23
+ version: AgentVersion;
24
+ /** The exact save fetched (`v2.7`) — the row's tag or an older save the ref named. */
25
+ tag: string;
26
+ /** Where it landed: `<checkout>/bundle/tmp/versions/<tag>`. */
27
+ dir: string;
28
+ files: Record<string, string>;
29
+ /** How it relates to the checkout's own save, when both are known. */
30
+ relation?: Relation;
31
+ /** The save both lines were branched from — a merge's base. */
32
+ base?: string;
33
+ }
34
+ /**
35
+ * Pull `ref` (a tag, a line, a version's name, or `live`) into
36
+ * `bundle/tmp/versions/<tag>/` and say how it relates to the checkout's own
37
+ * save. Re-fetching refreshes the copy (files gone upstream are removed).
38
+ */
39
+ export declare function fetchVersion(context: Context, management: ManagementClient, ref: string, options?: {
40
+ root?: string;
41
+ homeDir?: string;
42
+ }): Promise<FetchedVersion>;
43
+ /** `bundle/src/` against a fetched version — added / changed / removed
44
+ * paths, the same dialect as `apollo diff`. For the lines, `diff -r
45
+ * bundle/src bundle/tmp/versions/<tag>` — the copy is on disk for that. */
46
+ export declare function diffAgainst(context: Context, management: ManagementClient, ref: string, options?: {
47
+ root?: string;
48
+ homeDir?: string;
49
+ }): Promise<{
50
+ diff: FileDiff;
51
+ fetched: FetchedVersion;
52
+ }>;
53
+ export interface MergeFromResult {
54
+ fetched: FetchedVersion;
55
+ result: MergeTreesResult;
56
+ /** What landed in `bundle/src/`, as `A path` / `M path` / `D path` rows. */
57
+ written: string[];
58
+ dryRun: boolean;
59
+ /** The author said every disputed region is decided at the checkout's text. */
60
+ resolved: boolean;
61
+ /** Set while disputes hold back a newer save of the checkout's own line:
62
+ * `merge-from <tag> --resolved` makes it the checkout's base. */
63
+ pendingBase?: string;
64
+ /** Set when the checkout's own save advanced to the fetched one: the
65
+ * fetched save is a newer save of the SAME line, so the tree now includes
66
+ * it and the next push starts from it. */
67
+ baselineAdvanced?: string;
68
+ }
69
+ /**
70
+ * Bring `ref`'s changes into `bundle/src/`. Three-way over the save both
71
+ * lines came from (two-way when there is none). Merged files are written;
72
+ * a disputed region keeps the checkout's own text and is reported with the
73
+ * three texts, for the author or their agent to resolve. `only` narrows to
74
+ * those program paths (a cherry-pick). `dryRun` reports without writing.
75
+ * `resolved` says every dispute has been decided at the checkout's text.
76
+ */
77
+ export declare function mergeFrom(context: Context, clients: {
78
+ management: ManagementClient;
79
+ builder: BuilderApiClient;
80
+ }, ref: string, options?: {
81
+ only?: string[];
82
+ dryRun?: boolean;
83
+ resolved?: boolean;
84
+ root?: string;
85
+ homeDir?: string;
86
+ }): Promise<MergeFromResult>;
87
+ /** One neutral report of a merge — what came in, what needs a decision. */
88
+ export declare function describeMerge(merged: MergeFromResult): string;