@cotal-ai/cli 0.153.1 → 0.155.0

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 (78) hide show
  1. package/dist/command.d.ts.map +1 -1
  2. package/dist/command.js +7 -6
  3. package/dist/command.js.map +1 -1
  4. package/dist/commands/mint.js +1 -1
  5. package/dist/commands/mint.js.map +1 -1
  6. package/dist/commands/reset-space-apply.d.ts.map +1 -1
  7. package/dist/commands/reset-space-apply.js +5 -2
  8. package/dist/commands/reset-space-apply.js.map +1 -1
  9. package/dist/commands/space-registration.d.ts.map +1 -1
  10. package/dist/commands/space-registration.js +2 -3
  11. package/dist/commands/space-registration.js.map +1 -1
  12. package/dist/commands/space.d.ts +5 -3
  13. package/dist/commands/space.d.ts.map +1 -1
  14. package/dist/commands/space.js +16 -9
  15. package/dist/commands/space.js.map +1 -1
  16. package/dist/commands/spawn-preview.d.ts.map +1 -1
  17. package/dist/commands/spawn-preview.js +4 -8
  18. package/dist/commands/spawn-preview.js.map +1 -1
  19. package/dist/commands/spawn.d.ts.map +1 -1
  20. package/dist/commands/spawn.js +11 -1
  21. package/dist/commands/spawn.js.map +1 -1
  22. package/dist/commands/stack-down.d.ts.map +1 -1
  23. package/dist/commands/stack-down.js +13 -8
  24. package/dist/commands/stack-down.js.map +1 -1
  25. package/dist/commands/stack-lost-records.d.ts +7 -0
  26. package/dist/commands/stack-lost-records.d.ts.map +1 -0
  27. package/dist/commands/stack-lost-records.js +143 -0
  28. package/dist/commands/stack-lost-records.js.map +1 -0
  29. package/dist/commands/stack-up.d.ts +3 -3
  30. package/dist/commands/stack-up.d.ts.map +1 -1
  31. package/dist/commands/stack-up.js +20 -12
  32. package/dist/commands/stack-up.js.map +1 -1
  33. package/dist/commands/status.d.ts +2 -2
  34. package/dist/commands/status.d.ts.map +1 -1
  35. package/dist/commands/status.js +90 -44
  36. package/dist/commands/status.js.map +1 -1
  37. package/dist/commands/sync.d.ts.map +1 -1
  38. package/dist/commands/sync.js +8 -6
  39. package/dist/commands/sync.js.map +1 -1
  40. package/dist/commands/team-boot-controller.d.ts.map +1 -1
  41. package/dist/commands/team-boot-controller.js +3 -1
  42. package/dist/commands/team-boot-controller.js.map +1 -1
  43. package/dist/commands/team.d.ts.map +1 -1
  44. package/dist/commands/team.js +6 -2
  45. package/dist/commands/team.js.map +1 -1
  46. package/dist/commands/update.d.ts +1 -0
  47. package/dist/commands/update.d.ts.map +1 -1
  48. package/dist/commands/update.js +3 -3
  49. package/dist/commands/update.js.map +1 -1
  50. package/dist/commands/whoami.d.ts.map +1 -1
  51. package/dist/commands/whoami.js +7 -11
  52. package/dist/commands/whoami.js.map +1 -1
  53. package/dist/help.d.ts.map +1 -1
  54. package/dist/help.js +11 -2
  55. package/dist/help.js.map +1 -1
  56. package/dist/lib/controller-resume.d.ts.map +1 -1
  57. package/dist/lib/controller-resume.js +2 -1
  58. package/dist/lib/controller-resume.js.map +1 -1
  59. package/dist/lib/manifest/prepare.d.ts.map +1 -1
  60. package/dist/lib/manifest/prepare.js +4 -0
  61. package/dist/lib/manifest/prepare.js.map +1 -1
  62. package/dist/lib/persona-files.js +4 -4
  63. package/dist/lib/persona-files.js.map +1 -1
  64. package/dist/lib/restore.d.ts.map +1 -1
  65. package/dist/lib/restore.js +3 -1
  66. package/dist/lib/restore.js.map +1 -1
  67. package/dist/lib/service-presets.d.ts.map +1 -1
  68. package/dist/lib/service-presets.js +7 -1
  69. package/dist/lib/service-presets.js.map +1 -1
  70. package/dist/lib/stack-journal.d.ts +16 -0
  71. package/dist/lib/stack-journal.d.ts.map +1 -1
  72. package/dist/lib/stack-journal.js +39 -8
  73. package/dist/lib/stack-journal.js.map +1 -1
  74. package/dist/lib/store-identity.d.ts +15 -0
  75. package/dist/lib/store-identity.d.ts.map +1 -0
  76. package/dist/lib/store-identity.js +30 -0
  77. package/dist/lib/store-identity.js.map +1 -0
  78. package/package.json +16 -4
@@ -1,7 +1,7 @@
1
1
  import { registry } from "@cotal-ai/core";
2
2
  import { existsSync } from "node:fs";
3
3
  import { join, resolve } from "node:path";
4
- import { cacheServicePreset, CommandFailure, extensionProvides, findMesh, isCommandFailure, loadExtensionsManifest, oneLine, segmentedKey, serviceMetadataDigest, spaceMaterialKey, validateServiceAdapterOptions, validateServiceAdapterPaths, verifiedExtensionServicePresets } from "@cotal-ai/workspace";
4
+ import { cacheServicePreset, CommandFailure, extensionProvides, findMesh, hasUserAuthState, isCommandFailure, loadExtensionsManifest, oneLine, segmentedKey, serviceMetadataDigest, spaceMaterialKey, validateServiceAdapterOptions, validateServiceAdapterPaths, verifiedExtensionServicePresets } from "@cotal-ai/workspace";
5
5
  import { installedExtensionsEnabled } from "../ext-loader.js";
6
6
  import { resolveServiceAdapter } from "./service-adapters.js";
7
7
  import { cliVersion } from "./version.js";
@@ -260,6 +260,12 @@ export function servicePresetDefinition(preset, space, given, root, verb = "add
260
260
  throw error;
261
261
  throw new CommandFailure(error.outcome, error.code, error.message, { target: error.target, remedy: `see what each option takes with \`${line} --help\`` });
262
262
  }
263
+ // Saving the native auth preset must not offer a start its hosting root cannot support.
264
+ // Read only the existing marker, without preparing authority or importing provider code.
265
+ if (preset.adapter === "auth-service" && (findMesh(space)?.mode !== "user" || !hasUserAuthState(String(options.root), space, { readOnly: true })))
266
+ throw new CommandFailure("refused", "UNSUPPORTED", "the auth-service preset requires this root's prepared hosting user-auth state; nothing was saved or started, and no issuer or account was generated", {
267
+ remedy: "prepare user-auth in the hosting root with `cotal up --user-auth --idp <url>`",
268
+ });
263
269
  return { schemaVersion: 1, space, launch: { type: "adapter", adapter: preset.adapter, options }, readiness: { type: "adapter", timeoutMs: preset.timeoutMs } };
264
270
  }
265
271
  /** The preset a service invocation names: `--preset <name>` on add, or the name a start gives when
@@ -1 +1 @@
1
- {"version":3,"file":"service-presets.js","sourceRoot":"","sources":["../../src/lib/service-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-presets.js","sourceRoot":"","sources":["../../src/lib/service-presets.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { stackJournalPath, type ControllerStackView, type MaintenanceLock, type
2
2
  import { type ServiceDefinitionSnapshot } from "./service-definitions.js";
3
3
  import { type ServiceInstanceSnapshot } from "./service-instances.js";
4
4
  import { type StackRuns } from "./stack-runs.js";
5
+ import type { StoreIdentity } from "./store-identity.js";
5
6
  export declare const STACK_ROLES: readonly ["broker", "auth", "delivery", "manager"];
6
7
  export type StackRole = (typeof STACK_ROLES)[number];
7
8
  /** The fixed, root-bound definition names a controller stack owns. A custom definition with
@@ -39,6 +40,10 @@ export interface StackMember {
39
40
  state: StackMemberState;
40
41
  code?: string;
41
42
  replacement?: StackReplacement;
43
+ process?: {
44
+ pid: number;
45
+ token: string;
46
+ };
42
47
  }
43
48
  export interface StackJournal {
44
49
  schemaVersion: 1;
@@ -49,6 +54,11 @@ export interface StackJournal {
49
54
  /** Pinned at the first whole-stack up. An open stack has no delivery member and no credential;
50
55
  * only a user stack has an auth-service member. */
51
56
  mode: StackMode;
57
+ /** Local recovery authority when the home records are lost. Never inferred for older journals. */
58
+ recovery?: {
59
+ home: string;
60
+ host: string;
61
+ };
52
62
  members: StackMember[];
53
63
  /** The broker inputs this stack's broker was last prepared from. A later preparation of the same
54
64
  * stopped broker reuses them rather than a default store, and an explicit request that differs
@@ -70,8 +80,12 @@ export interface StackJournal {
70
80
  updatedAt: string;
71
81
  }
72
82
  export { stackJournalPath };
83
+ /** The machine, boot and account that may use journal process pins for a local recovery stop. */
84
+ export declare function stackRecoveryHost(): string;
73
85
  export interface StackBrokerInputs {
74
86
  storeDir: string;
87
+ /** Recorded only when a broker starts, never refreshed from a running broker's path. */
88
+ storeIdentity?: StoreIdentity;
75
89
  maxFileStore?: number;
76
90
  host?: string;
77
91
  logFile?: string;
@@ -267,6 +281,8 @@ export declare function stackDefinitionsAt(space: string, root: string): Service
267
281
  * stack journal nor the broker configuration the definition names, whatever a still-running broker
268
282
  * wrote back into it. Undefined otherwise, or when the definition cannot be read. */
269
283
  export declare function goneStackRoot(space: string): string | undefined;
284
+ /** Whether `root` is the gone folder of the stack this machine still records for `space`. */
285
+ export declare function stackRootGone(space: string, root: string): boolean;
270
286
  /** Remove the controller stack definitions saved for `space` at `root`, with their stopped instance
271
287
  * records, as `service remove` does, so that another folder can start a stack under the same name.
272
288
  * A definition saved for another root is left alone. Nothing is removed while the root holds
@@ -1 +1 @@
1
- {"version":3,"file":"stack-journal.d.ts","sourceRoot":"","sources":["../../src/lib/stack-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-journal.d.ts","sourceRoot":"","sources":["../../src/lib/stack-journal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /** The root-local whole-stack journal: which controller definitions and full instances one local
2
2
  * stack owns, and the last whole-stack operation's per-member outcome. One owner-private file at
3
3
  * `<root>/.cotal/stack-controller.json`. It is not a service record, unit receipt or team ledger,
4
- * and it grants no stop authority by itself: every effect still rechecks the instance records. */
4
+ * and it grants no PID-only stop authority: recovery requires the launching home, host and exact
5
+ * process creation pins; ordinary stops still recheck the instance records. */
5
6
  import { createHash, randomUUID } from "node:crypto";
6
7
  import { existsSync, rmdirSync } from "node:fs";
7
8
  import { isAbsolute, join, relative } from "node:path";
@@ -9,7 +10,7 @@ import { acquireLock, writeSecretFileAtomic } from "@cotal-ai/core";
9
10
  import { CommandFailure, acquireMaintenanceLock, codeSpan, admittedControllerRestore, canonicalRoot, decodeLocalJson, isCommandFailure, isMaintenanceError, loadMeshes, localProcessPath, localProcessPathCandidates, localRecordObject, maintenancePaths, parsePid, probeLiveness, readContainedRecord, readLocalRecordSource, readMaintenanceJournal, readPidfile, recordedLocalProcessPaths, releaseMaintenanceLock, removePidPair, serviceOperationId, shellPath, stackJournalPath, maintenanceLockHolder, cotalDirLink, preparedSpaceAt, recordsMovedTo, stackAdoptionBlock, stackElsewhereRemedy, verifyIdentityPin } from "@cotal-ai/workspace";
10
11
  import { localProcessSurface } from "../ext-loader.js";
11
12
  import { serviceDefinitionStore } from "./service-definitions.js";
12
- import { observeServiceProcess, serviceInstances } from "./service-instances.js";
13
+ import { observeServiceProcess, processServiceHost, serviceInstances } from "./service-instances.js";
13
14
  import { abandonableSignalStop, abandonRetainedNativeStop, abandonRetainedSignalStop, abandonUnresolvedLaunch, removableServiceInstances, removeStoppedInstanceRecords, resumableSignalStop, retainedStopMaySettle, retainedStopRequest, settleExitedInstance, settleRetainedNativeStop } from "./service-process.js";
14
15
  import { stackRunsRecord } from "./stack-runs.js";
15
16
  import { shellWord } from "./endpoint-errors.js";
@@ -89,7 +90,7 @@ function unreadable(root) {
89
90
  });
90
91
  }
91
92
  function validate(input, root) {
92
- const value = localRecordObject(input, ["schemaVersion", "kind", "root", "space", "server", "mode", "members", "broker", "operation", "updatedAt"]);
93
+ const value = localRecordObject(input, ["schemaVersion", "kind", "root", "space", "server", "mode", "members", "broker", "operation", "updatedAt", "recovery"]);
93
94
  // A journal written before the auth-service role existed carries exactly broker, delivery and
94
95
  // manager rows. It is read with an explicit not-attempted auth row for auth/open stacks only;
95
96
  // the next write records the current shape. A user stack never has that legacy shape.
@@ -98,7 +99,7 @@ function validate(input, root) {
98
99
  if (value.schemaVersion !== 1 || value.kind !== "cotal-stack-controller" || typeof value.root !== "string" || !isAbsolute(value.root) || typeof value.space !== "string" || !value.space || typeof value.server !== "string" || !value.server || !STACK_MODES.includes(value.mode) || typeof value.updatedAt !== "string" || !Array.isArray(value.members) || value.members.length !== STACK_ROLES.length)
99
100
  invalid(root);
100
101
  const members = value.members.map((row, index) => {
101
- const member = localRecordObject(row, ["role", "definition", "instanceId", "state", "code", "replacement"]);
102
+ const member = localRecordObject(row, ["role", "definition", "instanceId", "state", "code", "replacement", "process"]);
102
103
  const role = STACK_ROLES[index];
103
104
  if (member.role !== role || member.definition !== STACK_DEFINITION[role] || !STATES.includes(String(member.state)) || member.code !== undefined && (typeof member.code !== "string" || !/^[A-Z_]{1,64}$/.test(member.code)))
104
105
  invalid(root);
@@ -112,6 +113,11 @@ function validate(input, root) {
112
113
  }
113
114
  if (member.replacement !== undefined)
114
115
  replacementOf(member.replacement, root);
116
+ if (member.process !== undefined) {
117
+ const pin = localRecordObject(member.process, ["pid", "token"]);
118
+ if (member.instanceId === null || !Number.isInteger(pin.pid) || Number(pin.pid) <= 0 || Number(pin.pid) > 2_147_483_647 || typeof pin.token !== "string" || !/^[0-9]{1,20}$/.test(pin.token))
119
+ invalid(root);
120
+ }
115
121
  if (!stackRoleApplies(value.mode, role) && (member.instanceId !== null || member.state !== "not-attempted" || member.replacement !== undefined))
116
122
  invalid(root);
117
123
  return member;
@@ -131,11 +137,20 @@ function validate(input, root) {
131
137
  if (maintained !== (operation.maintenanceAttemptId !== undefined) || maintained && (operation.withAgents !== false || typeof operation.maintenanceAttemptId !== "string" || !MAINTENANCE_ATTEMPT_ID.test(operation.maintenanceAttemptId)))
132
138
  invalid(root);
133
139
  const broker = value.broker === undefined ? undefined : brokerInputs(value.broker, root);
140
+ if (value.recovery !== undefined) {
141
+ const recovery = localRecordObject(value.recovery, ["home", "host"]);
142
+ if (typeof recovery.home !== "string" || !isAbsolute(recovery.home) || typeof recovery.host !== "string" || !/^[0-9a-f]{64}$/.test(recovery.host))
143
+ invalid(root);
144
+ }
134
145
  if (value.root !== root)
135
146
  recordedElsewhere(root, value.root, value.space, members);
136
147
  const { broker: _broker, ...rest } = value;
137
148
  return { ...rest, members, ...(broker ? { broker } : {}), operation: operation };
138
149
  }
150
+ /** The machine, boot and account that may use journal process pins for a local recovery stop. */
151
+ export function stackRecoveryHost() {
152
+ return createHash("sha256").update(JSON.stringify(processServiceHost())).digest("hex");
153
+ }
139
154
  function replacementOf(input, root) {
140
155
  const value = localRecordObject(input, ["operation", "instanceId", "launchRequestId", "definitionRevision"]);
141
156
  try {
@@ -148,9 +163,19 @@ function replacementOf(input, root) {
148
163
  return value;
149
164
  }
150
165
  function brokerInputs(input, root) {
151
- const value = localRecordObject(input, ["storeDir", "maxFileStore", "host", "logFile", "logfileSizeLimit", "logfileMaxNum"]);
166
+ const value = localRecordObject(input, ["storeDir", "storeIdentity", "maxFileStore", "host", "logFile", "logfileSizeLimit", "logfileMaxNum"]);
152
167
  if (typeof value.storeDir !== "string" || !isAbsolute(value.storeDir) || value.storeDir.length > 4096 || /[\u0000-\u001f\u007f]/u.test(value.storeDir))
153
168
  invalid(root);
169
+ let storeIdentity;
170
+ if (value.storeIdentity !== undefined) {
171
+ const identity = localRecordObject(value.storeIdentity, ["path", "dev", "ino", "birthtimeNs"]);
172
+ if (typeof identity.path !== "string" || !isAbsolute(identity.path) || identity.path.length > 4096 || /[\u0000-\u001f\u007f]/u.test(identity.path))
173
+ invalid(root);
174
+ for (const field of ["dev", "ino", "birthtimeNs"])
175
+ if (typeof identity[field] !== "string" || !/^[0-9]{1,40}$/.test(identity[field]))
176
+ invalid(root);
177
+ storeIdentity = identity;
178
+ }
154
179
  if (value.maxFileStore !== undefined && (!Number.isSafeInteger(value.maxFileStore) || Number(value.maxFileStore) <= 0))
155
180
  invalid(root);
156
181
  if (value.host !== undefined && (typeof value.host !== "string" || !value.host || value.host.length > 253 || /[\u0000- \u007f]/u.test(value.host)))
@@ -164,6 +189,7 @@ function brokerInputs(input, root) {
164
189
  invalid(root);
165
190
  return {
166
191
  storeDir: value.storeDir,
192
+ ...(storeIdentity ? { storeIdentity } : {}),
167
193
  ...(value.maxFileStore !== undefined ? { maxFileStore: Number(value.maxFileStore) } : {}),
168
194
  ...(value.host !== undefined ? { host: value.host } : {}),
169
195
  ...(value.logFile !== undefined ? { logFile: value.logFile } : {}),
@@ -620,12 +646,12 @@ function resolveReplacement(journal, row) {
620
646
  if (rows.length > 1)
621
647
  throw new CommandFailure("refused", "TARGET_AMBIGUOUS", "a stack definition has several instance records; the journaled replacement was not resolved", { target });
622
648
  if (!found)
623
- return { ...member, instanceId: null };
649
+ return { ...member, instanceId: null, process: undefined };
624
650
  if (found.name === row.instanceId)
625
651
  return member;
626
652
  const value = found.record.value;
627
653
  if (replacement.operation === journal.operation.id && replacement.definitionRevision !== undefined && found.name === replacement.instanceId && value.launchRequestId === replacement.launchRequestId && value.definitionRevision === replacement.definitionRevision && serviceDefinitionStore(space).read(row.definition)?.record.revision === replacement.definitionRevision)
628
- return { ...member, instanceId: found.name };
654
+ return { ...member, instanceId: found.name, process: value.process };
629
655
  throw new CommandFailure("refused", "CONFLICT", "the definition's instance record is not the replacement this stack journal recorded for its operation; neither was adopted", { target, remedy: `inspect it with \`cotal service status ${row.definition} --instance ${found.name} --space ${space}\`` });
630
656
  }
631
657
  /** The read-only classification `settleStackOperation` would record, for a preview. Writes nothing. */
@@ -777,6 +803,11 @@ export function goneStackRoot(space) {
777
803
  return undefined;
778
804
  }
779
805
  }
806
+ /** Whether `root` is the gone folder of the stack this machine still records for `space`. */
807
+ export function stackRootGone(space, root) {
808
+ const gone = goneStackRoot(space);
809
+ return gone !== undefined && canonicalRoot(gone) === canonicalRoot(root);
810
+ }
780
811
  /** Remove the controller stack definitions saved for `space` at `root`, with their stopped instance
781
812
  * records, as `service remove` does, so that another folder can start a stack under the same name.
782
813
  * A definition saved for another root is left alone. Nothing is removed while the root holds
@@ -839,7 +870,7 @@ export function releaseStackDefinitions(root, space) {
839
870
  const isRetired = (row) => retired.some((item) => item.definition === row.definition && item.instanceId === row.instanceId);
840
871
  if (journal?.journal.space === space && journal.journal.members.some(isRetired)) {
841
872
  try {
842
- writeStackJournal(root, journal, { ...journal.journal, members: journal.journal.members.map((row) => isRetired(row) ? { ...row, instanceId: null } : row), updatedAt: new Date().toISOString() });
873
+ writeStackJournal(root, journal, { ...journal.journal, members: journal.journal.members.map((row) => isRetired(row) ? { ...row, instanceId: null, process: undefined } : row), updatedAt: new Date().toISOString() });
843
874
  }
844
875
  catch (error) {
845
876
  throw new CommandFailure("partial", "OPERATION_PARTIAL", `the stopped stack definitions were removed, but the stack journal still names their instances: ${error.message}`, { target: { space, root }, changed: released.map((name) => ({ kind: "service-definition", name })), remedy: `inspect ${stackJournalPath(root)} and the service instances it names with \`cotal service --space ${space}\`; it was not reset` });