@cotal-ai/cli 0.45.0 → 0.47.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.
@@ -1,17 +1,20 @@
1
1
  import { spawn, spawnSync } from "node:child_process";
2
2
  import { readFileSync, realpathSync } from "node:fs";
3
3
  import { isAbsolute, join, relative, resolve, sep } from "node:path";
4
- import { cmdSpawnSpec, beginGlobalUpdateChild, claimGlobalNpmUpdateLock, loadExtensionsManifest, SEEDED_EXTENSIONS, } from "@cotal-ai/workspace";
4
+ import { cmdSpawnSpec, beginGlobalUpdateChild, claimGlobalNpmUpdateLock, loadExtensionsManifest, SEEDED_EXTENSIONS, targetFlags, } from "@cotal-ai/workspace";
5
5
  import { EXT_UPDATE_PARENT_ENV } from "./ext.js";
6
6
  import { claimExtensionUpdatePass } from "../lib/ext-mutation.js";
7
7
  import { selfArgv } from "../lib/self-exec.js";
8
8
  import { cliVersion } from "../lib/version.js";
9
9
  import { runSeed, compareSemver } from "../seed/reconcile.js";
10
10
  import { c } from "../ui.js";
11
+ import { askManager, resolveControlTarget } from "../lib/control.js";
12
+ import { legacyManagerReport } from "../lib/legacy-manager-report.js";
11
13
  const UPDATE_TARGET_ENV = "COTAL_UPDATE_TARGET_VERSION";
12
14
  const UPDATE_PARENT_ENV = "COTAL_UPDATE_PARENT";
13
15
  export const updateFlags = [
14
16
  { name: "self", type: "boolean", description: "install the validated latest cotal-ai globally, then reconcile through it" },
17
+ ...targetFlags,
15
18
  ];
16
19
  const runtime = {
17
20
  env: process.env,
@@ -20,6 +23,7 @@ const runtime = {
20
23
  nodePath: process.execPath,
21
24
  version: cliVersion,
22
25
  reconcile: () => runSeed({ force: true }),
26
+ reportRunningManager,
23
27
  extensions: () => loadExtensionsManifest().extensions,
24
28
  claimUpdatePass: () => claimExtensionUpdatePass(),
25
29
  claimGlobalUpdate: (root) => claimGlobalNpmUpdateLock(root),
@@ -34,12 +38,12 @@ const runtime = {
34
38
  stderr: (message) => void process.stderr.write(message),
35
39
  };
36
40
  export async function update(args, rt = runtime) {
37
- const code = await executeUpdate(Boolean(args.values.self), rt);
41
+ const code = await executeUpdate(Boolean(args.values.self), rt, args.values);
38
42
  if (code !== 0)
39
43
  process.exitCode = code;
40
44
  }
41
45
  /** Injectable command body: production keeps one process seam; the smoke covers every decision branch. */
42
- export async function executeUpdate(self, rt = runtime) {
46
+ export async function executeUpdate(self, rt = runtime, target = {}) {
43
47
  const current = rt.version();
44
48
  const child = childBinding(rt);
45
49
  if (child.kind === "invalid") {
@@ -51,13 +55,13 @@ export async function executeUpdate(self, rt = runtime) {
51
55
  rt.err(c.red(`✗ global update child is cotal-ai ${current}, expected ${child.target}; refusing to mutate extensions`));
52
56
  return 1;
53
57
  }
54
- return reconcileCurrent(current, rt, (ok) => ok ? 0 : 1);
58
+ return reconcileCurrent(current, rt, target, (ok) => ok ? 0 : 1);
55
59
  }
56
60
  if (self) {
57
61
  const latest = latestVersion(rt);
58
62
  if (latest.ok && compareSemver(latest.version, current) > 0)
59
- return upgradeAndReconcile(latest.version, current, rt);
60
- return reconcileCurrent(current, rt, (reconciled) => {
63
+ return upgradeAndReconcile(latest.version, current, rt, target);
64
+ return reconcileCurrent(current, rt, target, (reconciled) => {
61
65
  if (!latest.ok) {
62
66
  rt.err(c.red(`✗ cotal-ai version check failed: ${latest.error}`));
63
67
  return 1;
@@ -66,7 +70,7 @@ export async function executeUpdate(self, rt = runtime) {
66
70
  return reconciled ? 0 : 1;
67
71
  });
68
72
  }
69
- return reconcileCurrent(current, rt, (reconciled) => {
73
+ return reconcileCurrent(current, rt, target, (reconciled) => {
70
74
  const latest = latestVersion(rt);
71
75
  if (!latest.ok) {
72
76
  rt.err(c.red(`✗ cotal-ai version check failed: ${latest.error}`));
@@ -76,7 +80,7 @@ export async function executeUpdate(self, rt = runtime) {
76
80
  return reconciled ? 0 : 1;
77
81
  });
78
82
  }
79
- async function reconcileCurrent(current, rt, finish) {
83
+ async function reconcileCurrent(current, rt, target, finish) {
80
84
  rt.out(c.bold("Built-in connectors"));
81
85
  try {
82
86
  await rt.reconcile();
@@ -85,6 +89,14 @@ async function reconcileCurrent(current, rt, finish) {
85
89
  rt.err(c.red(`✗ built-in connectors: ${message(e)}`));
86
90
  return finish(false);
87
91
  }
92
+ try {
93
+ if (await rt.reportRunningManager(target) === "legacy")
94
+ return finish(false);
95
+ }
96
+ catch (e) {
97
+ rt.err(c.red(`✗ running manager continuity check: ${message(e)}`));
98
+ return finish(false);
99
+ }
88
100
  let releaseMutation;
89
101
  try {
90
102
  releaseMutation = rt.claimUpdatePass();
@@ -151,6 +163,31 @@ async function reconcileCurrent(current, rt, finish) {
151
163
  rt.stdout(result.stdout);
152
164
  }
153
165
  }
166
+ async function reportRunningManager(flags) {
167
+ const target = await resolveControlTarget({
168
+ ...(typeof flags.space === "string" ? { space: flags.space } : {}),
169
+ ...(typeof flags.server === "string" ? { server: flags.server } : {}),
170
+ ...(typeof flags.creds === "string" ? { creds: flags.creds } : {}),
171
+ }, "control-caller-admin");
172
+ const status = await askManager(target.space, target.server, "managerStatus", undefined, target.auth);
173
+ if (!status.ok) {
174
+ if (status.unanswered && /no manager reachable/i.test(status.error ?? ""))
175
+ return "none";
176
+ throw new Error(status.error ?? "manager status request failed");
177
+ }
178
+ const seats = await askManager(target.space, target.server, "ps", undefined, target.auth);
179
+ if (!seats.ok)
180
+ throw new Error(seats.error ?? "manager seat inventory request failed");
181
+ const report = await legacyManagerReport((status.data ?? {}), Array.isArray(seats.data)
182
+ ? seats.data.map((seat) => ({ name: String(seat.name ?? ""), agent: String(seat.agent ?? "") }))
183
+ : []);
184
+ if (!report)
185
+ return "none";
186
+ console.log(c.yellow("! legacy manager custody: PTY continuity is impossible; this update is not a hot update"));
187
+ for (const seat of report.seats)
188
+ console.log(c.dim(` ${seat.name}: ${seat.continuity}`));
189
+ return "legacy";
190
+ }
154
191
  function latestVersion(rt) {
155
192
  const result = rt.npm(["view", "cotal-ai@latest", "version", "--json"]);
156
193
  if (result.status !== 0)
@@ -162,7 +199,15 @@ function latestVersion(rt) {
162
199
  return { ok: false, error: message(e) };
163
200
  }
164
201
  }
165
- async function upgradeAndReconcile(target, current, rt) {
202
+ async function upgradeAndReconcile(targetVersion, current, rt, target) {
203
+ try {
204
+ if (await rt.reportRunningManager(target) === "legacy")
205
+ return 1;
206
+ }
207
+ catch (e) {
208
+ rt.err(c.red(`✗ running manager continuity check: ${message(e)}`));
209
+ return 1;
210
+ }
166
211
  const rootResult = rt.npm(["root", "-g"]);
167
212
  if (rootResult.status !== 0) {
168
213
  rt.err(c.red(`✗ could not resolve npm's global root before install: ${failure(rootResult)}`));
@@ -183,16 +228,16 @@ async function upgradeAndReconcile(target, current, rt) {
183
228
  }
184
229
  try {
185
230
  rt.out(c.bold("cotal-ai binary"));
186
- rt.out(c.dim(`installing cotal-ai@${target} into npm's global installation; this ${current} process remains loaded until the verified global copy takes over`));
187
- const npmInstall = cmdSpawnSpec("npm", ["install", "-g", `cotal-ai@${target}`]);
231
+ rt.out(c.dim(`installing cotal-ai@${targetVersion} into npm's global installation; this ${current} process remains loaded until the verified global copy takes over`));
232
+ const npmInstall = cmdSpawnSpec("npm", ["install", "-g", `cotal-ai@${targetVersion}`]);
188
233
  const installed = await rt.spawnGlobal(root, "install", npmInstall.file, npmInstall.args, rt.env, true, npmInstall.windowsVerbatimArguments);
189
234
  if (installed.status !== 0) {
190
- rt.err(c.red(`✗ global cotal-ai@${target} install failed: ${failure(installed)}`));
235
+ rt.err(c.red(`✗ global cotal-ai@${targetVersion} install failed: ${failure(installed)}`));
191
236
  return 1;
192
237
  }
193
238
  let entry;
194
239
  try {
195
- entry = rt.verifyGlobalEntry(root, target);
240
+ entry = rt.verifyGlobalEntry(root, targetVersion);
196
241
  }
197
242
  catch (e) {
198
243
  rt.err(c.red(`✗ installed global cotal-ai could not be verified: ${message(e)}`));
@@ -200,26 +245,35 @@ async function upgradeAndReconcile(target, current, rt) {
200
245
  }
201
246
  const env = {
202
247
  ...rt.env,
203
- [UPDATE_TARGET_ENV]: target,
248
+ [UPDATE_TARGET_ENV]: targetVersion,
204
249
  [UPDATE_PARENT_ENV]: String(rt.pid),
205
250
  };
206
251
  delete env[EXT_UPDATE_PARENT_ENV];
207
- const child = await rt.spawnGlobal(root, "reconcile", rt.nodePath, [entry, "update"], env, true);
252
+ const child = await rt.spawnGlobal(root, "reconcile", rt.nodePath, [entry, "update", ...targetArgv(target)], env, true);
208
253
  if (child.stderr)
209
254
  rt.stderr(child.stderr);
210
255
  if (child.stdout)
211
256
  rt.stdout(child.stdout);
212
257
  if (child.status !== 0) {
213
- rt.err(c.red(`✗ cotal-ai@${target} installed globally, but its reconcile failed: ${failure(child)}`));
258
+ rt.err(c.red(`✗ cotal-ai@${targetVersion} installed globally, but its reconcile failed: ${failure(child)}`));
214
259
  return child.status ?? 1;
215
260
  }
216
- rt.out(c.green(`✓ cotal-ai@${target} installed globally and reconciled`));
261
+ rt.out(c.green(`✓ cotal-ai@${targetVersion} installed globally and reconciled`));
217
262
  return 0;
218
263
  }
219
264
  finally {
220
265
  releaseGlobal();
221
266
  }
222
267
  }
268
+ function targetArgv(target) {
269
+ const argv = [];
270
+ for (const name of ["space", "server", "creds"]) {
271
+ const value = target[name];
272
+ if (typeof value === "string")
273
+ argv.push(`--${name}`, value);
274
+ }
275
+ return argv;
276
+ }
223
277
  function reportVersion(current, latest, rt) {
224
278
  rt.out(c.bold("cotal-ai binary"));
225
279
  if (compareSemver(latest, current) > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,11 @@
1
- import { type ControlReply, type EpCaller, type EpInstanceLiveness, type Profile, type SpaceAuth } from "@cotal-ai/core";
1
+ import { type ControlReply, type EpCaller, type EpInstanceLiveness } from "@cotal-ai/core";
2
2
  import { type NatsConnection } from "@nats-io/transport-node";
3
- import { type ConnectFlags } from "./connect.js";
4
- /** Endpoint auth material for one control call — a static/raw cred OR user-mode bearer+sentinel
5
- * (spread into the endpoint verbatim), plus the minted instrument's v0.4 caller triple when the
6
- * static mint produced one ({@link askManager}'s ep-rail path rides it). */
7
- export type ControlAuth = {
8
- creds?: string;
9
- bearer?: string;
10
- sentinelCreds?: string;
11
- epCaller?: EpCaller;
12
- tls?: boolean;
13
- };
3
+ import { type ControlAuth } from "@cotal-ai/workspace";
4
+ import { type SpaceAuth } from "@cotal-ai/core";
5
+ /** The control auth shape and target resolver live in `@cotal-ai/workspace` (shared with every
6
+ * command surface that addresses the manager: this CLI, `cotal run`, the web dashboard). Re-exported
7
+ * so this module's importers keep resolving them from here. */
8
+ export { resolveControlTarget, type ControlAuth } from "@cotal-ai/workspace";
14
9
  /** Client-side request window for the manager's readiness-waiting launch ops (`start`, and the
15
10
  * manifest `launch` — both funnel into the same startAgent readiness wait). #159 B1: the manager
16
11
  * replies only on a REAL outcome — presence join, process exit, or its ~30s readiness backstop —
@@ -18,36 +13,6 @@ export type ControlAuth = {
18
13
  * importing the manager's READINESS_TIMEOUT_MS here; the launch-parity smoke enforces the
19
14
  * relation by test. */
20
15
  export declare const START_TIMEOUT_MS = 40000;
21
- /**
22
- * Resolve which running mesh a control command (`spawn --detach` / `stop` / `ps` / `attach`)
23
- * targets. Exactly {@link connectOrExit}'s precedence (--creds raw > --server+unregistered-space
24
- * open > registry/`current` with mint + preflight + stale-prune) with ONE control-specific delta:
25
- * on the raw `--creds` path the space defaults to THIS FOLDER's `.cotal/auth` space, not
26
- * `DEFAULT_SPACE` — a control op addresses the manager of the folder's mesh, which is more
27
- * correct for a non-default-space project (deliberate, kept from the pre-move manager client).
28
- * Lived in `@cotal-ai/manager` before stage 2a moved the control clients into the CLI; the
29
- * duplicated resolution/preflight wrappers collapsed onto `lib/connect.ts`.
30
- */
31
- export declare function resolveControlTarget(flags: ConnectFlags, profile: Profile,
32
- /** `--on <instanceId>`: the instance this invocation addresses. Forwarded to the instrument mint
33
- * so the one-shot credential carries the exact `ep.inst.…` rows for it. Omitted ⇒ class rails
34
- * only, exactly as before. It has to arrive HERE rather than at the invoke: the instrument is
35
- * minted during this resolve, and a credential cannot gain a rail after it is issued. */
36
- instanceId?: string,
37
- /** `onRefusal: "throw"` makes an unresolvable or unreachable mesh a THROWN
38
- * {@link ConnectRefusal} instead of a printed sentence and `process.exit(1)`. A command that is
39
- * one shot deep wants the exit; a loop that has to survive the broker being briefly gone (the
40
- * attach reconnect) cannot use a path that ends the process, and "no mesh running at X - run
41
- * `cotal up`" is the wrong answer to a link that is coming back. */
42
- opts?: {
43
- onRefusal?: "exit" | "throw";
44
- }): Promise<{
45
- space: string;
46
- server: string;
47
- auth: ControlAuth;
48
- spaceAuth?: SpaceAuth;
49
- root?: string;
50
- }>;
51
16
  /** Operator reach for one targeted control call: `owner` rides the caller's own-domain verb rows
52
17
  * (the spawn capability's standing mint), `any` the admin instrument's cross-agent rows (§13.2
53
18
  * any-mode). Replaces the deleted manager ctl tiers as the CLI's mode selector (1d). */
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,13 @@
1
- import { DEFAULT_SPACE, DEV_OWNER, BASELINE_LIFECYCLE_ENDPOINT, EpEnvelopeError, GOAL_BEARING_COMMANDS, epProbeInstanceInterest, freezeExpectedSet, instancePinnedInstrumentCapabilities, invokeCommand, mintCreds, parseEpSubject, respondedButUnbound, unansweredRequest, registryReadFailed, renderLifecycleBlocked, submitAndFollowGoal, scatterCommand, mintLifecycleUid, newIdentity, dialerFor, resolveService, standaloneConnectOpts, } from "@cotal-ai/core";
1
+ import { BASELINE_LIFECYCLE_ENDPOINT, EpEnvelopeError, GOAL_BEARING_COMMANDS, epProbeInstanceInterest, freezeExpectedSet, instancePinnedInstrumentCapabilities, invokeCommand, mintCreds, parseEpSubject, respondedButUnbound, unansweredRequest, registryReadFailed, renderLifecycleBlocked, submitAndFollowGoal, scatterCommand, mintLifecycleUid, newIdentity, dialerFor, resolveService, standaloneConnectOpts, } from "@cotal-ai/core";
2
2
  import { PermissionViolationError } from "@nats-io/transport-node";
3
3
  import { jetstreamManager } from "@nats-io/jetstream";
4
- import { authDir, endpointAuth, findCotalRoot, isWorkspaceTargetError, loadSpaceAuth, resolveMeshTarget, pruneStaleMeshes, renderWorkspaceError, soleSpaceOf, } from "@cotal-ai/workspace";
4
+ import { controlCaller, loadSpaceAuth, renderWorkspaceError } from "@cotal-ai/workspace";
5
+ import { DEV_OWNER } from "@cotal-ai/core";
5
6
  import { c, staleStoreHint } from "../ui.js";
6
- import { connectOrExit, connectOrThrow, connectUserControlOrExit } from "./connect.js";
7
- /** The only {@link MeshTargetErrorCode}s that mean "there is NO registry entry here", and so the
8
- * only ones the mode peek in {@link resolveControlTarget} may absorb. **Every other code is
9
- * NON-ABSENCE and must fail loud** — which is the precise claim, and covers more than one
10
- * situation: `stale-auth-root` / `unreadable-auth` / `user-auth-unrecorded` are an entry that
11
- * exists and is broken, while `ambiguous-target` can be several perfectly healthy entries and
12
- * `default-occupied` an intended local target with no entry at all. What unites them is not
13
- * breakage, it is that absence has NOT been established, so falling through to a
14
- * credential-less raw-open connect would be unsound. Deliberately a closed allow-list, not a
15
- * deny-list: a new code defaults to failing loud. */
16
- const TARGET_ABSENT_CODES = new Set(["unknown-space", "no-meshes"]);
7
+ /** The control auth shape and target resolver live in `@cotal-ai/workspace` (shared with every
8
+ * command surface that addresses the manager: this CLI, `cotal run`, the web dashboard). Re-exported
9
+ * so this module's importers keep resolving them from here. */
10
+ export { resolveControlTarget } from "@cotal-ai/workspace";
17
11
  /** Client-side request window for the manager's readiness-waiting launch ops (`start`, and the
18
12
  * manifest `launch` — both funnel into the same startAgent readiness wait). #159 B1: the manager
19
13
  * replies only on a REAL outcome — presence join, process exit, or its ~30s readiness backstop —
@@ -21,110 +15,6 @@ const TARGET_ABSENT_CODES = new Set(["unknown-space", "no-meshes"]);
21
15
  * importing the manager's READINESS_TIMEOUT_MS here; the launch-parity smoke enforces the
22
16
  * relation by test. */
23
17
  export const START_TIMEOUT_MS = 40_000;
24
- /**
25
- * Resolve which running mesh a control command (`spawn --detach` / `stop` / `ps` / `attach`)
26
- * targets. Exactly {@link connectOrExit}'s precedence (--creds raw > --server+unregistered-space
27
- * open > registry/`current` with mint + preflight + stale-prune) with ONE control-specific delta:
28
- * on the raw `--creds` path the space defaults to THIS FOLDER's `.cotal/auth` space, not
29
- * `DEFAULT_SPACE` — a control op addresses the manager of the folder's mesh, which is more
30
- * correct for a non-default-space project (deliberate, kept from the pre-move manager client).
31
- * Lived in `@cotal-ai/manager` before stage 2a moved the control clients into the CLI; the
32
- * duplicated resolution/preflight wrappers collapsed onto `lib/connect.ts`.
33
- */
34
- export async function resolveControlTarget(flags, profile,
35
- /** `--on <instanceId>`: the instance this invocation addresses. Forwarded to the instrument mint
36
- * so the one-shot credential carries the exact `ep.inst.…` rows for it. Omitted ⇒ class rails
37
- * only, exactly as before. It has to arrive HERE rather than at the invoke: the instrument is
38
- * minted during this resolve, and a credential cannot gain a rail after it is issued. */
39
- instanceId,
40
- /** `onRefusal: "throw"` makes an unresolvable or unreachable mesh a THROWN
41
- * {@link ConnectRefusal} instead of a printed sentence and `process.exit(1)`. A command that is
42
- * one shot deep wants the exit; a loop that has to survive the broker being briefly gone (the
43
- * attach reconnect) cannot use a path that ends the process, and "no mesh running at X - run
44
- * `cotal up`" is the wrong answer to a link that is coming back. */
45
- opts = {}) {
46
- const connect_ = opts.onRefusal === "throw" ? connectOrThrow : connectOrExit;
47
- const withSpace = flags.creds
48
- ? { ...flags, space: flags.space ?? soleSpaceOf(authDir(findCotalRoot())) ?? DEFAULT_SPACE }
49
- : flags;
50
- // USER MODE: ledger-scoped bearer is the control surface; there is no instrument mint.
51
- // `connectOrExit` refuses control-caller-* on a user mesh (those profiles carry freeze rows the
52
- // bearer does not hold). Route through {@link connectUserControlOrExit}, which takes NO role —
53
- // a dummy Profile would be meaningless today and wrong the day the user path starts consulting
54
- // it. Declared translation at this layer (the one that knows), not a silent substitute inside
55
- // connectOrExit.
56
- //
57
- // Cost: the target is resolved here for the mode check and again inside the connect helper.
58
- // Accepted for this slice so mode choice stays where it is knowable. The two reads are not
59
- // atomic; a mesh that flips mode between them is an operator action mid-command.
60
- //
61
- // This peek reads the MODE and NOTHING ELSE — it must never decide the command's fate. It used
62
- // to run through `resolveTargetOrExit`, which EXITS on a WorkspaceTargetError, so it killed a
63
- // legitimate input on the way past: `--server` with an UNREGISTERED `--space` is the raw-open
64
- // escape hatch, and by definition it has no registry entry to carry a mode. Resolve through the
65
- // THROWING form instead and read ABSENCE as "not a registry mesh, therefore not user mode",
66
- // leaving that path to `connectOrExit` below, which owns it.
67
- //
68
- // ABSENCE ONLY. The two absent codes are the entire escape hatch; every other
69
- // MeshTargetErrorCode is NON-ABSENCE, and swallowing those is a
70
- // fallback, not a restoration. `stale-auth-root` is the one that bites: `targetFromEntry`
71
- // PRUNES the entry before throwing it, so absorbing it leaves `connectOrExit` seeing no
72
- // registration at all — and with an explicit `--server` it then takes the raw-open arm and
73
- // connects with NO CREDENTIALS. A misconfigured AUTH mesh would silently become an OPEN one,
74
- // hiding the misconfiguration and switching identity planes under the operator. Those codes
75
- // rethrow and the command dies loud, exactly as it did before this peek existed.
76
- // Raw `--creds` skips the peek entirely (static/raw path below).
77
- if (!withSpace.creds) {
78
- // Sweep first when no space is named, exactly as `resolveTargetOrExit` does before ITS
79
- // resolve. Without it the peek reads a world `connectOrExit` never sees: a dead entry
80
- // alongside a live one makes a bare resolve `ambiguous-target` here while the connect,
81
- // having pruned, resolves the single survivor cleanly. Same sweep, same view, one answer.
82
- if (!withSpace.space)
83
- await pruneStaleMeshes();
84
- let mode;
85
- try {
86
- mode = resolveMeshTarget(process.cwd(), { server: withSpace.server, space: withSpace.space }).mode;
87
- }
88
- catch (e) {
89
- // Non-absence propagates and ends the command. It is rethrown rather than rendered-and-exited
90
- // here so this function stays composable and testable; the CLI boundary renders every
91
- // WorkspaceTargetError through `renderWorkspaceError` (see the dispatcher's catch), which is
92
- // what turns "entry X points at a root holding Y" into the removed-fact plus a recovery line.
93
- if (!isWorkspaceTargetError(e) || !TARGET_ABSENT_CODES.has(e.code))
94
- throw e;
95
- }
96
- if (mode === "user") {
97
- const conn = await connectUserControlOrExit(withSpace);
98
- return {
99
- space: conn.space,
100
- server: conn.server,
101
- auth: { ...endpointAuth(conn), ...(conn.epCaller ? { epCaller: conn.epCaller } : {}) },
102
- ...(conn.root !== undefined ? { root: conn.root } : {}),
103
- };
104
- }
105
- }
106
- // Static / open / raw-creds: mint the requested instrument (or bare open connect).
107
- const conn = await connect_(withSpace, profile, ...(instanceId !== undefined ? [{ instanceId }] : []));
108
- return {
109
- space: conn.space,
110
- server: conn.server,
111
- auth: { ...endpointAuth(conn), ...(conn.epCaller ? { epCaller: conn.epCaller } : {}) },
112
- // The resolved mesh's trust material, carried FORWARD rather than re-loaded from disk by
113
- // whoever needs it: {@link scatterManager} re-mints its one-shot instrument against the frozen
114
- // instance ids, and a second `loadSpaceAuth` there would be a second answer to "which space's
115
- // seed" for one command. Absent for an open mesh (no credential system) and for raw
116
- // off-registry creds (no seed to mint from) — both of which simply do not re-mint.
117
- ...(conn.auth ? { spaceAuth: conn.auth } : {}),
118
- // The ROOT the mesh actually resolved to, and HOW. Carried for the same reason `spaceAuth` is:
119
- // a caller that wants to name the root in an error must not re-derive it, or the sentence
120
- // describes a different directory than the one the command used. `cotal attach` did exactly
121
- // that (issue #722) and printed a refusal about a root it had not connected with.
122
- // Both are absent for a RAW off-registry connection (`--creds`, or `--server` with an
123
- // unregistered `--space`), which is a real state and not a gap to paper over: there IS no
124
- // resolved root then, and a caller rendering one would be inventing it.
125
- ...(conn.root !== undefined ? { root: conn.root } : {}),
126
- };
127
- }
128
18
  /** v0.3 ctl op → v0.4 typed command (P2 item 1, 1c.2b): the wire names the manager REGISTERS
129
19
  * (manager-service-contract ROWS). `start` is creation (`spawn`), a NAMED `stop` is the one
130
20
  * owner/any-mode terminal (`despawn`), the per-agent `status` read is `inspect`; the camelCase
@@ -133,6 +23,7 @@ opts = {}) {
133
23
  * the name-keyed `inspect` read — it rides the spawn capability arm, so resolution reach equals
134
24
  * despawn/attach reach; the wire target is (owner, actor, lifecycleUid), never an alias). */
135
25
  const EP_COMMANDS = {
26
+ managerStatus: { command: "status" },
136
27
  start: { command: "spawn" },
137
28
  stop: { command: "despawn", targeted: true },
138
29
  attach: { command: "attach", targeted: true },
@@ -191,6 +82,7 @@ async function askManagerEp(space, server, op, args, auth, reach, timeoutMs, pin
191
82
  ok: false,
192
83
  error: `could not resolve "${name}": ${info.reply.error?.message ?? info.reply.error?.code ?? "inspect failed"}`,
193
84
  ...(info.reply.error?.code ? { code: info.reply.error.code } : {}),
85
+ ...(info.reply.error?.details ? { details: info.reply.error.details } : {}),
194
86
  };
195
87
  const row = info.reply.data;
196
88
  // A STATIC row's `id` is the bare actor under the caller's own owner; a USER-mode row's `id`
@@ -239,7 +131,18 @@ async function askManagerEp(space, server, op, args, auth, reach, timeoutMs, pin
239
131
  return epRailFailure(e, pin);
240
132
  }
241
133
  finally {
242
- await nc.drain().catch(() => nc.close());
134
+ // Drain waits for in-flight NATS work. A dead broker never finishes that, and
135
+ // attach-auth-root hung here after spawn once nats-server exited.
136
+ await Promise.race([
137
+ nc.drain().catch(() => nc.close()),
138
+ new Promise((resolve) => setTimeout(resolve, 2_000).unref()),
139
+ ]);
140
+ try {
141
+ nc.close();
142
+ }
143
+ catch {
144
+ /* already closed */
145
+ }
243
146
  }
244
147
  }
245
148
  /** Read `--on` at the site that declares it. Absent stays absent (class rails). An EMPTY value
@@ -310,17 +213,10 @@ export function epRailFailure(e, pin) {
310
213
  * enforces nothing). A raw `--creds` file from an older generation carries no ep rows and is
311
214
  * refused loud (no silent ctl fallback exists anymore). */
312
215
  export async function askManager(space, server, op, args, auth = {}, reach = "owner", timeoutMs, pin) {
313
- // A user bearer or a minted static instrument carries its own ep caller triple: ride it.
314
- if (auth.epCaller && (auth.creds || (auth.bearer && auth.sentinelCreds)))
315
- return askManagerEp(space, server, op, args, auth, reach, timeoutMs, pin);
316
- // A raw `--creds` file with NO minted triple is a pre-1c generation's cred (no ep rows). The ctl
317
- // rail it used to ride is gone (1d), so refuse loud with the recovery rather than hang.
318
- if (auth.creds)
319
- return { ok: false, error: `this --creds file predates the v0.4 control surface (no endpoint-serve rows); re-mint it with a current cotal, or drive the manager from its project folder (\`cotal ps\`/\`cotal stop\`) which mints the instrument for you` };
320
- // OPEN mesh: no credential system. The manager registered its service under DEV_OWNER and the
321
- // broker enforces nothing, so synthesize a fresh DEV_OWNER caller triple and connect bare.
322
- const openAuth = { epCaller: { owner: DEV_OWNER, actor: newIdentity().id, uid: mintLifecycleUid() } };
323
- return askManagerEp(space, server, op, args, openAuth, reach, timeoutMs, pin);
216
+ const who = controlCaller(auth);
217
+ if ("refusal" in who)
218
+ return { ok: false, error: who.refusal };
219
+ return askManagerEp(space, server, op, args, { ...auth, epCaller: who.caller }, reach, timeoutMs, pin);
324
220
  }
325
221
  /** Open one short-lived control connection under whichever of the three auth shapes this command
326
222
  * holds (static creds / user bearer + sentinel / bare open mesh) and hand it to `fn`. Extracted so
@@ -570,12 +466,10 @@ async function askManagerScatterEp(space, server, op, auth, spaceAuth, timeoutMs
570
466
  * its instrument pinned to the frozen instance ids and can probe their liveness; absent ⇒ it runs
571
467
  * exactly as it did before and every silent slot is reported `not-probed`. */
572
468
  export async function scatterManager(space, server, op, auth = {}, spaceAuth, timeoutMs) {
573
- if (auth.epCaller && (auth.creds || (auth.bearer && auth.sentinelCreds)))
574
- return askManagerScatterEp(space, server, op, auth, spaceAuth, timeoutMs);
575
- if (auth.creds)
576
- return { ok: false, error: `this --creds file predates the v0.4 control surface (no endpoint-serve rows); re-mint it with a current cotal, or drive the manager from its project folder (\`cotal ps\`) which mints the instrument for you` };
577
- const openAuth = { epCaller: { owner: DEV_OWNER, actor: newIdentity().id, uid: mintLifecycleUid() } };
578
- return askManagerScatterEp(space, server, op, openAuth, spaceAuth, timeoutMs);
469
+ const who = controlCaller(auth);
470
+ if ("refusal" in who)
471
+ return { ok: false, error: who.refusal };
472
+ return askManagerScatterEp(space, server, op, { ...auth, epCaller: who.caller }, spaceAuth, timeoutMs);
579
473
  }
580
474
  export function failIfNotOk(reply) {
581
475
  if (!reply.ok) {