@cotal-ai/cli 0.44.0 → 0.46.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.
- package/dist/commands/agents.d.ts +9 -6
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +14 -7
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/send.js +1 -1
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/spawn.js +1 -1
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/update.d.ts +2 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +71 -17
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/control.d.ts +7 -42
- package/dist/lib/control.d.ts.map +1 -1
- package/dist/lib/control.js +17 -134
- package/dist/lib/control.js.map +1 -1
- package/dist/lib/legacy-manager-report.d.ts +20 -0
- package/dist/lib/legacy-manager-report.d.ts.map +1 -0
- package/dist/lib/legacy-manager-report.js +32 -0
- package/dist/lib/legacy-manager-report.js.map +1 -0
- package/package.json +4 -4
package/dist/commands/update.js
CHANGED
|
@@ -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(
|
|
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@${
|
|
187
|
-
const npmInstall = cmdSpawnSpec("npm", ["install", "-g", `cotal-ai@${
|
|
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@${
|
|
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,
|
|
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]:
|
|
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@${
|
|
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@${
|
|
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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"}
|
package/dist/lib/control.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { type ControlReply, type EpCaller, type EpInstanceLiveness
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
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":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/control.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
|
|
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`
|
|
@@ -310,17 +202,10 @@ export function epRailFailure(e, pin) {
|
|
|
310
202
|
* enforces nothing). A raw `--creds` file from an older generation carries no ep rows and is
|
|
311
203
|
* refused loud (no silent ctl fallback exists anymore). */
|
|
312
204
|
export async function askManager(space, server, op, args, auth = {}, reach = "owner", timeoutMs, pin) {
|
|
313
|
-
|
|
314
|
-
if (
|
|
315
|
-
return
|
|
316
|
-
|
|
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);
|
|
205
|
+
const who = controlCaller(auth);
|
|
206
|
+
if ("refusal" in who)
|
|
207
|
+
return { ok: false, error: who.refusal };
|
|
208
|
+
return askManagerEp(space, server, op, args, { ...auth, epCaller: who.caller }, reach, timeoutMs, pin);
|
|
324
209
|
}
|
|
325
210
|
/** Open one short-lived control connection under whichever of the three auth shapes this command
|
|
326
211
|
* holds (static creds / user bearer + sentinel / bare open mesh) and hand it to `fn`. Extracted so
|
|
@@ -570,12 +455,10 @@ async function askManagerScatterEp(space, server, op, auth, spaceAuth, timeoutMs
|
|
|
570
455
|
* its instrument pinned to the frozen instance ids and can probe their liveness; absent ⇒ it runs
|
|
571
456
|
* exactly as it did before and every silent slot is reported `not-probed`. */
|
|
572
457
|
export async function scatterManager(space, server, op, auth = {}, spaceAuth, timeoutMs) {
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
const openAuth = { epCaller: { owner: DEV_OWNER, actor: newIdentity().id, uid: mintLifecycleUid() } };
|
|
578
|
-
return askManagerScatterEp(space, server, op, openAuth, spaceAuth, timeoutMs);
|
|
458
|
+
const who = controlCaller(auth);
|
|
459
|
+
if ("refusal" in who)
|
|
460
|
+
return { ok: false, error: who.refusal };
|
|
461
|
+
return askManagerScatterEp(space, server, op, { ...auth, epCaller: who.caller }, spaceAuth, timeoutMs);
|
|
579
462
|
}
|
|
580
463
|
export function failIfNotOk(reply) {
|
|
581
464
|
if (!reply.ok) {
|