@cotal-ai/cli 0.10.1 → 0.11.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/command.d.ts.map +1 -1
- package/dist/command.js +11 -3
- package/dist/command.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +30 -13
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/channels.d.ts.map +1 -1
- package/dist/commands/channels.js +16 -6
- package/dist/commands/channels.js.map +1 -1
- package/dist/commands/completion.js +5 -5
- package/dist/commands/console.d.ts +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +17 -11
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/doctor.d.ts +14 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +171 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/down-manifest.js +15 -15
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +4 -1
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/ext.js +11 -11
- package/dist/commands/feedback.js +2 -2
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +7 -3
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +14 -7
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/meshes.js +2 -2
- package/dist/commands/mint.d.ts.map +1 -1
- package/dist/commands/mint.js +16 -5
- package/dist/commands/mint.js.map +1 -1
- package/dist/commands/models.js +1 -1
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/personas.js +4 -4
- package/dist/commands/send.js +1 -1
- package/dist/commands/setup.js +25 -25
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/spawn-manifest.d.ts.map +1 -1
- package/dist/commands/spawn-manifest.js +47 -25
- package/dist/commands/spawn-manifest.js.map +1 -1
- package/dist/commands/spawn.d.ts +6 -0
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +257 -46
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +71 -6
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/topology.js +2 -2
- package/dist/commands/up.d.ts +5 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +269 -48
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/use.js +1 -1
- package/dist/console/commands.js +2 -2
- package/dist/console/mesh.js +1 -1
- package/dist/console/mesh.js.map +1 -1
- package/dist/console/root.d.ts +15 -3
- package/dist/console/root.d.ts.map +1 -1
- package/dist/console/root.js +12 -7
- package/dist/console/root.js.map +1 -1
- package/dist/console/ui/Confirm.js +1 -1
- package/dist/console/ui/Confirm.js.map +1 -1
- package/dist/console/ui/Feed.js +1 -1
- package/dist/console/ui/Feed.js.map +1 -1
- package/dist/console/ui/Help.js +2 -2
- package/dist/console/ui/Help.js.map +1 -1
- package/dist/console/ui/NeedsYou.js +1 -1
- package/dist/console/ui/NeedsYou.js.map +1 -1
- package/dist/console/ui/SpacePicker.js +1 -1
- package/dist/console/ui/SpacePicker.js.map +1 -1
- package/dist/console/ui/Tiles.js +1 -1
- package/dist/console/ui/topo/Map.js +1 -1
- package/dist/console/ui/topo/Map.js.map +1 -1
- package/dist/console/ui/topo/Matrix.js +2 -2
- package/dist/console/ui/topo/Matrix.js.map +1 -1
- package/dist/console/ui/topo/Sequence.js +1 -1
- package/dist/console/ui/topo/Sequence.js.map +1 -1
- package/dist/ext-loader.js +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -17
- package/dist/index.js.map +1 -1
- package/dist/lib/attach-client.js +1 -1
- package/dist/lib/auth-proc.d.ts +19 -0
- package/dist/lib/auth-proc.d.ts.map +1 -0
- package/dist/lib/auth-proc.js +81 -0
- package/dist/lib/auth-proc.js.map +1 -0
- package/dist/lib/connect.d.ts +1 -1
- package/dist/lib/connect.d.ts.map +1 -1
- package/dist/lib/connect.js +2 -2
- package/dist/lib/connect.js.map +1 -1
- package/dist/lib/control.d.ts +14 -6
- package/dist/lib/control.d.ts.map +1 -1
- package/dist/lib/control.js +23 -11
- package/dist/lib/control.js.map +1 -1
- package/dist/lib/delivery-proc.js +2 -2
- package/dist/lib/manifest/apply.d.ts +3 -2
- package/dist/lib/manifest/apply.d.ts.map +1 -1
- package/dist/lib/manifest/apply.js +7 -2
- package/dist/lib/manifest/apply.js.map +1 -1
- package/dist/lib/manifest/ledger.js +4 -4
- package/dist/lib/manifest/live.d.ts +23 -9
- package/dist/lib/manifest/live.d.ts.map +1 -1
- package/dist/lib/manifest/live.js +22 -12
- package/dist/lib/manifest/live.js.map +1 -1
- package/dist/lib/manifest/model.d.ts +4 -1
- package/dist/lib/manifest/model.d.ts.map +1 -1
- package/dist/lib/manifest/prepare.d.ts +2 -0
- package/dist/lib/manifest/prepare.d.ts.map +1 -1
- package/dist/lib/manifest/prepare.js +5 -2
- package/dist/lib/manifest/prepare.js.map +1 -1
- package/dist/lib/manifest/render.d.ts.map +1 -1
- package/dist/lib/manifest/render.js +14 -13
- package/dist/lib/manifest/render.js.map +1 -1
- package/dist/lib/manifest/resolve.js +19 -6
- package/dist/lib/manifest/resolve.js.map +1 -1
- package/dist/lib/manifest/schema.d.ts +4 -1
- package/dist/lib/manifest/schema.d.ts.map +1 -1
- package/dist/lib/manifest/schema.js +10 -2
- package/dist/lib/manifest/schema.js.map +1 -1
- package/dist/lib/setup-log.js +1 -1
- package/dist/lib/status.d.ts +1 -1
- package/dist/lib/status.js +1 -1
- package/dist/lib/transient.d.ts +8 -10
- package/dist/lib/transient.d.ts.map +1 -1
- package/dist/lib/transient.js +11 -11
- package/dist/lib/transient.js.map +1 -1
- package/dist/render.js +2 -2
- package/dist/ui.js +1 -1
- package/dist/ui.js.map +1 -1
- package/package.json +3 -3
|
@@ -74,7 +74,7 @@ export async function ensureDelivery(o = {}) {
|
|
|
74
74
|
if (!hasAuth())
|
|
75
75
|
return { running: false }; // open dev mode — no daemon, agents are live-only
|
|
76
76
|
if (oldHostingManagerLive()) {
|
|
77
|
-
console.error("✗ delivery: an old Plane-3-hosting manager is still live (no delivery-aware marker). Refusing to start the daemon
|
|
77
|
+
console.error("✗ delivery: an old Plane-3-hosting manager is still live (no delivery-aware marker). Refusing to start the daemon - run `cotal down` first, then retry.");
|
|
78
78
|
return { running: false };
|
|
79
79
|
}
|
|
80
80
|
// Mint a scoped delivery cred (used to probe readiness; for a NEW launch it is ALSO the daemon's cred,
|
|
@@ -97,7 +97,7 @@ export async function ensureDelivery(o = {}) {
|
|
|
97
97
|
// which is the real safety net for a slow start or a later outage.
|
|
98
98
|
const ready = await waitForDeliveryLease({ servers: server, space, creds, id: id.id });
|
|
99
99
|
if (!ready)
|
|
100
|
-
console.error("• delivery daemon not yet ready (responder not bound)
|
|
100
|
+
console.error("• delivery daemon not yet ready (responder not bound) - boot durable joins will reconcile when it is");
|
|
101
101
|
return { running: true };
|
|
102
102
|
}
|
|
103
103
|
/** Stop the detached delivery daemon if we started one, and drop its creds file. */
|
|
@@ -7,8 +7,9 @@ export declare function genRunId(): string;
|
|
|
7
7
|
/** Stable content hash of the resolved launch fields — connector + behavior + ACLs. A change here
|
|
8
8
|
* means a re-declared running agent is stale/restart-required (drift detection). */
|
|
9
9
|
export declare function hashAgent(a: PreparedAgent): string;
|
|
10
|
-
/** Build the launch spec the manager boots from.
|
|
11
|
-
|
|
10
|
+
/** Build the launch spec the manager boots from. `owner` (user-auth meshes) is the logged-in
|
|
11
|
+
* operator every launched agent runs under — resolved by the caller at apply time. */
|
|
12
|
+
export declare function buildLaunchSpec(prepared: PreparedManifest, runId: string, owner?: string): MeshLaunchSpec;
|
|
12
13
|
/** Write the launch spec to `<root>/.cotal/run/<runId>.json` (0600 — it carries persona text +
|
|
13
14
|
* policy) and return its path. A fresh run is exclusive-create (`wx`); a `spawn -f` re-apply reuses
|
|
14
15
|
* the runId, so `update` rewrites it atomically (temp-then-rename, exclusive temp — never follows a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"AASA,OAAO,EAAoD,KAAK,mBAAmB,EAAwC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvK,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,iGAAiG;AACjG,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;qFACqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"AASA,OAAO,EAAoD,KAAK,mBAAmB,EAAwC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvK,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,iGAAiG;AACjG,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;qFACqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAelD;AAsBD;uFACuF;AACvF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAQzG;AAED;;;2EAG2E;AAC3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAY3G;AAcD;mBACmB;AACnB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAIlF;AAED;;wBAEwB;AACxB,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAI7E;AAED;mGACmG;AACnG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAkBtE"}
|
|
@@ -20,6 +20,8 @@ export function hashAgent(a) {
|
|
|
20
20
|
agent: a.agentType,
|
|
21
21
|
model: a.model ?? null,
|
|
22
22
|
variant: a.variant ?? null,
|
|
23
|
+
// Sort keys so an identical option set hashes identically (map insertion order must not drift).
|
|
24
|
+
launchOptions: a.launchOptions ? Object.fromEntries(Object.entries(a.launchOptions).sort(([x], [y]) => (x < y ? -1 : x > y ? 1 : 0))) : null,
|
|
23
25
|
role: a.role ?? null,
|
|
24
26
|
body: a.body ?? null,
|
|
25
27
|
capabilities: [...a.capabilities].sort(),
|
|
@@ -37,6 +39,7 @@ function toLaunchAgent(a) {
|
|
|
37
39
|
role: a.role,
|
|
38
40
|
model: a.model,
|
|
39
41
|
variant: a.variant,
|
|
42
|
+
launchOptions: a.launchOptions,
|
|
40
43
|
description: a.description,
|
|
41
44
|
body: a.body,
|
|
42
45
|
capabilities: a.capabilities.length ? a.capabilities : undefined,
|
|
@@ -47,12 +50,14 @@ function toLaunchAgent(a) {
|
|
|
47
50
|
hash: hashAgent(a),
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
|
-
/** Build the launch spec the manager boots from.
|
|
51
|
-
|
|
53
|
+
/** Build the launch spec the manager boots from. `owner` (user-auth meshes) is the logged-in
|
|
54
|
+
* operator every launched agent runs under — resolved by the caller at apply time. */
|
|
55
|
+
export function buildLaunchSpec(prepared, runId, owner) {
|
|
52
56
|
return {
|
|
53
57
|
apiVersion: "cotal-launch/v1",
|
|
54
58
|
space: prepared.manifest.space,
|
|
55
59
|
runId,
|
|
60
|
+
...(owner ? { owner } : {}),
|
|
56
61
|
agents: prepared.agents.map(toLaunchAgent),
|
|
57
62
|
};
|
|
58
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAA2G,MAAM,gBAAgB,CAAC;AACvK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,iGAAiG;AACjG,MAAM,UAAU,QAAQ;IACtB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;qFACqF;AACrF,MAAM,UAAU,SAAS,CAAC,CAAgB;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,SAAS;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;QACxC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;QACzC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;QACnD,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;KAChD,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,wFAAwF;AACxF,SAAS,aAAa,CAAC,CAAgB;IACrC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,SAAS;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAChE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;QAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;QACvC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;QACnC,WAAW,EAAE,CAAC,CAAC,OAAO;QACtB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;KACnB,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,9 +179,9 @@ export function listLedgers(root) {
|
|
|
179
179
|
export function findLedgerByHash(root, manifestHash) {
|
|
180
180
|
const matches = listLedgers(root).filter((l) => l.ledger.manifestHash === manifestHash);
|
|
181
181
|
if (matches.length === 0)
|
|
182
|
-
throw new Error(`no ledger matches this manifest's current contents (was it edited since \`spawn -f\`?)
|
|
182
|
+
throw new Error(`no ledger matches this manifest's current contents (was it edited since \`spawn -f\`?) - tear down by run id: \`cotal down -f <file> --run <id>\``);
|
|
183
183
|
if (matches.length > 1)
|
|
184
|
-
throw new Error(`${matches.length} runs share this manifest
|
|
184
|
+
throw new Error(`${matches.length} runs share this manifest - name one: ${matches.map((m) => m.ledger.runId).join(", ")} (\`--run <id>\`)`);
|
|
185
185
|
return matches[0];
|
|
186
186
|
}
|
|
187
187
|
/** Resolve a ledger by explicit run id (the `--run <id>` path). Validates the id is a safe token
|
|
@@ -196,7 +196,7 @@ export function findLedgerByRun(root, runId) {
|
|
|
196
196
|
// Bind the filename to the contents: a tampered `<runId>.json` whose body declares a DIFFERENT
|
|
197
197
|
// runId must not redirect teardown to that other run's derived run dir / resources.
|
|
198
198
|
if (ledger.runId !== runId)
|
|
199
|
-
throw new Error(`ledger ${path}: declares runId "${ledger.runId}", not "${runId}"
|
|
199
|
+
throw new Error(`ledger ${path}: declares runId "${ledger.runId}", not "${runId}" - refusing`);
|
|
200
200
|
return { path, ledger };
|
|
201
201
|
}
|
|
202
202
|
/** Derive an owned agent's cred path under the known auth root — `<root>/.cotal/auth/creds/<name>.creds`
|
|
@@ -207,7 +207,7 @@ export function ownedCredPath(root, spawnedName) {
|
|
|
207
207
|
const dir = resolve(authDir(root), "creds");
|
|
208
208
|
const path = resolve(dir, `${spawnedName}.creds`);
|
|
209
209
|
if (dirname(path) !== dir)
|
|
210
|
-
throw new Error(`unsafe owned agent name "${spawnedName}"
|
|
210
|
+
throw new Error(`unsafe owned agent name "${spawnedName}" - cred path escapes ${dir}`);
|
|
211
211
|
return path;
|
|
212
212
|
}
|
|
213
213
|
//# sourceMappingURL=ledger.js.map
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Live-mesh helpers for `cotal spawn -f` — the network half: a transient, invisible probe endpoint
|
|
3
|
-
* for reading the roster + membership feed, and the
|
|
4
|
-
*
|
|
3
|
+
* for reading the roster + membership feed, and the control calls that drive the running manager's
|
|
4
|
+
* `launch` op — admin tier for a static operator deploy, PRIVILEGED tier for a user-mode
|
|
5
|
+
* deployer-view deploy (the manager's owner-equality authorization governs there). (Channel-registry
|
|
6
|
+
* reads use `readChannelRegistry`, which connects itself.)
|
|
5
7
|
*/
|
|
6
|
-
import { CotalEndpoint, type ControlReply, type Presence } from "@cotal-ai/core";
|
|
8
|
+
import { CotalEndpoint, type ControlReply, type ControlTier, type Presence } from "@cotal-ai/core";
|
|
7
9
|
export interface MeshConn {
|
|
8
10
|
space: string;
|
|
9
11
|
server: string;
|
|
10
12
|
creds?: string;
|
|
13
|
+
/** User mode: the "deployer" VIEW material — a bearer SOURCE (a deploy spans several ≤5-min
|
|
14
|
+
* token lives across launch readiness waits) + sentinel + the pinned principal a source-mode
|
|
15
|
+
* endpoint requires. */
|
|
16
|
+
user?: {
|
|
17
|
+
source: () => Promise<string>;
|
|
18
|
+
sentinelCreds: string;
|
|
19
|
+
owner: string;
|
|
20
|
+
actor: string;
|
|
21
|
+
};
|
|
11
22
|
}
|
|
12
23
|
/** Connect a transient, presence-invisible endpoint (it watches the roster but doesn't register
|
|
13
24
|
* itself) used to read live state + drive control. The caller stops it. */
|
|
@@ -16,14 +27,17 @@ export declare function connectProbe(conn: MeshConn): Promise<CotalEndpoint>;
|
|
|
16
27
|
* live peers — mirrors the dedup probe in `cotal spawn`. */
|
|
17
28
|
export declare function settleRoster(ep: CotalEndpoint): Promise<Presence[]>;
|
|
18
29
|
/** Poll the manager's control plane until it answers `ps` — it may have just been started detached,
|
|
19
|
-
* so it needs a moment to connect + come up. Returns false on timeout.
|
|
20
|
-
|
|
30
|
+
* so it needs a moment to connect + come up. Returns false on timeout. `tier` matches the caller's
|
|
31
|
+
* deploy credential (admin for static, privileged for the user-mode deployer view). */
|
|
32
|
+
export declare function waitManagerReady(ep: CotalEndpoint, timeoutMs?: number, tier?: ControlTier): Promise<boolean>;
|
|
21
33
|
/** Poll until the manager lease for this space is GONE (a crashed holder's key lingers until the bucket
|
|
22
34
|
* TTL). Returns true once absent, false on timeout. `spawn -f` uses this to wait out a STALE lease
|
|
23
35
|
* before standing up a replacement — a held lease alone is not proof a manager is alive. */
|
|
24
36
|
export declare function waitLeaseGone(ep: CotalEndpoint, timeoutMs: number): Promise<boolean>;
|
|
25
|
-
/** Ask the running manager to launch one resolved agent from the run spec
|
|
26
|
-
* `launch` op is operator-only
|
|
27
|
-
*
|
|
28
|
-
|
|
37
|
+
/** Ask the running manager to launch one resolved agent from the run spec — on the ADMIN tier for
|
|
38
|
+
* a static operator deploy (the `launch` op is operator-only there; a spawn-capable agent must
|
|
39
|
+
* not reach it), on the PRIVILEGED tier for a user-mode deployer-view deploy (the manager
|
|
40
|
+
* enforces spec-owner === caller-owner). The manager derives `.cotal/run/<runId>.json` itself;
|
|
41
|
+
* we pass the runId, never a path. */
|
|
42
|
+
export declare function launchAgent(ep: CotalEndpoint, runId: string, name: string, tier?: ControlTier): Promise<ControlReply>;
|
|
29
43
|
//# sourceMappingURL=live.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/live.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/live.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAiB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGlH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;6BAEyB;IACzB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/F;AAID;4EAC4E;AAC5E,wBAAsB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBzE;AAED;6DAC6D;AAC7D,wBAAsB,YAAY,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CASzE;AAED;;wFAEwF;AACxF,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,SAAS,EAAE,IAAI,GAAE,WAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAYjI;AAED;;6FAE6F;AAC7F,wBAAsB,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1F;AAED;;;;uCAIuC;AACvC,wBAAsB,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,WAA2B,GAAG,OAAO,CAAC,YAAY,CAAC,CAI1I"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Live-mesh helpers for `cotal spawn -f` — the network half: a transient, invisible probe endpoint
|
|
3
|
-
* for reading the roster + membership feed, and the
|
|
4
|
-
*
|
|
3
|
+
* for reading the roster + membership feed, and the control calls that drive the running manager's
|
|
4
|
+
* `launch` op — admin tier for a static operator deploy, PRIVILEGED tier for a user-mode
|
|
5
|
+
* deployer-view deploy (the manager's owner-equality authorization governs there). (Channel-registry
|
|
6
|
+
* reads use `readChannelRegistry`, which connects itself.)
|
|
5
7
|
*/
|
|
6
8
|
import { CotalEndpoint, CONTROL_ADMIN } from "@cotal-ai/core";
|
|
7
9
|
import { START_TIMEOUT_MS } from "../control.js";
|
|
@@ -12,12 +14,17 @@ export async function connectProbe(conn) {
|
|
|
12
14
|
const ep = new CotalEndpoint({
|
|
13
15
|
space: conn.space,
|
|
14
16
|
servers: conn.server,
|
|
15
|
-
|
|
17
|
+
...(conn.user
|
|
18
|
+
? {
|
|
19
|
+
bearer: conn.user.source,
|
|
20
|
+
sentinelCreds: conn.user.sentinelCreds,
|
|
21
|
+
card: { owner: conn.user.owner, actor: conn.user.actor, name: "spawn-f", kind: "endpoint" },
|
|
22
|
+
}
|
|
23
|
+
: { creds: conn.creds, card: { name: "spawn-f", kind: "endpoint" } }),
|
|
16
24
|
channels: [],
|
|
17
25
|
consume: false,
|
|
18
26
|
registerPresence: false, // an invisible probe — don't add ourselves to the roster we read
|
|
19
27
|
watchPresence: true,
|
|
20
|
-
card: { name: "spawn-f", kind: "endpoint" },
|
|
21
28
|
});
|
|
22
29
|
ep.on("error", () => { }); // a presence/control hiccup must never crash the deploy
|
|
23
30
|
await ep.start();
|
|
@@ -37,12 +44,13 @@ export async function settleRoster(ep) {
|
|
|
37
44
|
return ep.getRoster();
|
|
38
45
|
}
|
|
39
46
|
/** Poll the manager's control plane until it answers `ps` — it may have just been started detached,
|
|
40
|
-
* so it needs a moment to connect + come up. Returns false on timeout.
|
|
41
|
-
|
|
47
|
+
* so it needs a moment to connect + come up. Returns false on timeout. `tier` matches the caller's
|
|
48
|
+
* deploy credential (admin for static, privileged for the user-mode deployer view). */
|
|
49
|
+
export async function waitManagerReady(ep, timeoutMs = 20_000, tier = CONTROL_ADMIN) {
|
|
42
50
|
const deadline = Date.now() + timeoutMs;
|
|
43
51
|
while (Date.now() < deadline) {
|
|
44
52
|
try {
|
|
45
|
-
const r = await ep.requestControl(
|
|
53
|
+
const r = await ep.requestControl(tier, { op: "ps" });
|
|
46
54
|
if (r.ok)
|
|
47
55
|
return true;
|
|
48
56
|
}
|
|
@@ -65,12 +73,14 @@ export async function waitLeaseGone(ep, timeoutMs) {
|
|
|
65
73
|
}
|
|
66
74
|
return !(await ep.readManagerLease());
|
|
67
75
|
}
|
|
68
|
-
/** Ask the running manager to launch one resolved agent from the run spec
|
|
69
|
-
* `launch` op is operator-only
|
|
70
|
-
*
|
|
71
|
-
|
|
76
|
+
/** Ask the running manager to launch one resolved agent from the run spec — on the ADMIN tier for
|
|
77
|
+
* a static operator deploy (the `launch` op is operator-only there; a spawn-capable agent must
|
|
78
|
+
* not reach it), on the PRIVILEGED tier for a user-mode deployer-view deploy (the manager
|
|
79
|
+
* enforces spec-owner === caller-owner). The manager derives `.cotal/run/<runId>.json` itself;
|
|
80
|
+
* we pass the runId, never a path. */
|
|
81
|
+
export async function launchAgent(ep, runId, name, tier = CONTROL_ADMIN) {
|
|
72
82
|
// #159 B1: `launch` funnels into the same startAgent readiness wait as `start` — the manager
|
|
73
83
|
// replies only on a real outcome (join / exit / ~30s backstop), so the request must outlive it.
|
|
74
|
-
return ep.requestControl(
|
|
84
|
+
return ep.requestControl(tier, { op: "launch", args: { runId, name } }, START_TIMEOUT_MS);
|
|
75
85
|
}
|
|
76
86
|
//# sourceMappingURL=live.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/lib/manifest/live.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/lib/manifest/live.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,8 @@ export interface ResolvedAgent {
|
|
|
42
42
|
model?: string;
|
|
43
43
|
/** Manifest override of the persona's connector-defined model variant. */
|
|
44
44
|
variant?: string;
|
|
45
|
+
/** Opaque connector launch options, merged per key over the persona's `launchOptions:`. */
|
|
46
|
+
launchOptions?: Record<string, unknown>;
|
|
45
47
|
role?: string;
|
|
46
48
|
/** Manifest card blurb (override / inline). */
|
|
47
49
|
description?: string;
|
|
@@ -60,7 +62,8 @@ export interface ResolvedManifest {
|
|
|
60
62
|
broker?: {
|
|
61
63
|
servers?: string;
|
|
62
64
|
host?: string;
|
|
63
|
-
auth?: boolean;
|
|
65
|
+
auth?: boolean | "static" | "user";
|
|
66
|
+
idp?: string;
|
|
64
67
|
};
|
|
65
68
|
runtime?: "pty" | "tmux" | "cmux";
|
|
66
69
|
personaPermissions: PersonaPermissions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD;kGACkG;AAClG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wFAAwF;IACxF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;oGACoG;AACpG,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;oEAEoE;AACpE,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oFAAoF;IACpF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iFAAiF;IACjF,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wFAAwF;AACxF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD;kGACkG;AAClG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wFAAwF;IACxF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;oGACoG;AACpG,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;oEAEoE;AACpE,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oFAAoF;IACpF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iFAAiF;IACjF,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wFAAwF;AACxF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/F,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,iGAAiG;IACjG,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -35,6 +35,8 @@ export interface PreparedAgent {
|
|
|
35
35
|
/** Effective values (manifest override ?? persona default). */
|
|
36
36
|
model?: string;
|
|
37
37
|
variant?: string;
|
|
38
|
+
/** Effective opaque connector launch options (manifest merged per key over persona). */
|
|
39
|
+
launchOptions?: Record<string, unknown>;
|
|
38
40
|
role?: string;
|
|
39
41
|
description?: string;
|
|
40
42
|
/** Effective persona body (manifest `instructions` REPLACES the file body; sole body for inline). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/prepare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/prepare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;2FAC2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;+DAC+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,yFAAyF;IACzF,MAAM,EAAE,WAAW,CAAC;IACpB,+FAA+F;IAC/F,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;2EAC2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAyFvH"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* (one authority per channel), concrete-only (wildcards rejected), and surfaced loudly.
|
|
10
10
|
*/
|
|
11
11
|
import { isConcreteChannel } from "@cotal-ai/core";
|
|
12
|
+
import { mergeLaunchOptions } from "@cotal-ai/workspace";
|
|
12
13
|
/** Merge one resolved agent with its (optional) loaded persona, given the set of channel names the
|
|
13
14
|
* manifest declares. Returns the launch form plus any errors/warnings. */
|
|
14
15
|
export function prepareAgent(agent, persona, declared) {
|
|
@@ -18,6 +19,7 @@ export function prepareAgent(agent, persona, declared) {
|
|
|
18
19
|
// Behavior: persona default, manifest override wins. Inline `instructions` REPLACE the body.
|
|
19
20
|
const model = agent.model ?? persona?.model;
|
|
20
21
|
const variant = agent.variant ?? persona?.variant;
|
|
22
|
+
const launchOptions = mergeLaunchOptions(persona?.launchOptions, agent.launchOptions);
|
|
21
23
|
const role = agent.role ?? persona?.role;
|
|
22
24
|
const description = agent.description ?? persona?.description;
|
|
23
25
|
const body = agent.instructions ?? persona?.persona;
|
|
@@ -46,7 +48,7 @@ export function prepareAgent(agent, persona, declared) {
|
|
|
46
48
|
for (const [field, list] of [["subscribe", persona.subscribe], ["allowSubscribe", personaAllowSub], ["allowPublish", persona.allowPublish]])
|
|
47
49
|
for (const ch of list ?? [])
|
|
48
50
|
if (!isConcreteChannel(ch))
|
|
49
|
-
issues.push({ message: `persona ${field} "${ch}" is a wildcard
|
|
51
|
+
issues.push({ message: `persona ${field} "${ch}" is a wildcard - not supported in v1 (declare concrete channels)`, path: at });
|
|
50
52
|
// Persona grants apply ONLY to channels the manifest does not declare (manifest owns its own).
|
|
51
53
|
const undeclared = (list) => (list ?? []).filter((c) => isConcreteChannel(c) && !declared.has(c));
|
|
52
54
|
inherited.subscribe = undeclared(persona.subscribe);
|
|
@@ -69,7 +71,7 @@ export function prepareAgent(agent, persona, declared) {
|
|
|
69
71
|
agent: agent.name,
|
|
70
72
|
loud: capabilities.length > 0,
|
|
71
73
|
message: capabilities.length
|
|
72
|
-
? `declared with capabilities [${capabilities.join(", ")}] but NO channel access (DM/control-only
|
|
74
|
+
? `declared with capabilities [${capabilities.join(", ")}] but NO channel access (DM/control-only - a powerful non-channel grant)`
|
|
73
75
|
: `declared but has no channel access from the manifest (DM/control-only unless a persona under \`include\` grants scopes)`,
|
|
74
76
|
});
|
|
75
77
|
return {
|
|
@@ -79,6 +81,7 @@ export function prepareAgent(agent, persona, declared) {
|
|
|
79
81
|
persona: agent.persona,
|
|
80
82
|
model,
|
|
81
83
|
variant,
|
|
84
|
+
launchOptions,
|
|
82
85
|
role,
|
|
83
86
|
description,
|
|
84
87
|
body,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/lib/manifest/prepare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/lib/manifest/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAU/E,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAwC1D;AAED;sGACsG;AACtG,wBAAgB,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAU/E,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAwC1D;AAED;sGACsG;AACtG,wBAAgB,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED;uGACuG;AACvG,wBAAgB,eAAe,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAqB3D;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAG/D;AAED;;;sCAGsC;AACtC,wBAAgB,eAAe,CAC7B,CAAC,EAAE,gBAAgB,EACnB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACtD,MAAM,CA+BR;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAmB1D;AAED;qFACqF;AACrF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;CAC5B,GAAG,MAAM,CAWT"}
|
|
@@ -52,15 +52,16 @@ export function renderTopology(p) {
|
|
|
52
52
|
* "will create" — broker + channels + agents — followed by the full access view. Mutates nothing. */
|
|
53
53
|
export function renderUpPlan(p, server) {
|
|
54
54
|
const m = p.manifest;
|
|
55
|
+
const auth = m.broker?.auth === false ? "open" : m.broker?.auth === "user" ? `user auth${m.broker?.idp ? ` (idp ${m.broker.idp})` : ""}` : "static auth";
|
|
55
56
|
const head = [
|
|
56
|
-
c.bold("Plan
|
|
57
|
+
c.bold("Plan - cotal up -f (fresh mesh)"),
|
|
57
58
|
c.bold("Will create:"),
|
|
58
|
-
` ${c.green("+")} broker + space ${c.cyan(`"${m.space}"`)} at ${server}`,
|
|
59
|
+
` ${c.green("+")} broker + space ${c.cyan(`"${m.space}"`)} at ${server} ${c.dim(`(${auth})`)}`,
|
|
59
60
|
` ${c.green("+")} ${m.channels.length} channel(s): ${m.channels.map((ch) => c.cyan("#" + ch.name)).join(", ")}`,
|
|
60
61
|
` ${c.green("+")} ${p.agents.length} agent(s): ${p.agents.map((a) => a.name).join(", ")}`,
|
|
61
62
|
"",
|
|
62
63
|
].join("\n");
|
|
63
|
-
return `${head}${renderTopology(p)}\n\n${c.dim("Dry run
|
|
64
|
+
return `${head}${renderTopology(p)}\n\n${c.dim("Dry run - nothing was changed. Re-run without --dry-run to apply.")}`;
|
|
64
65
|
}
|
|
65
66
|
/** The loud "persona grants outside manifest channels" section — unmanaged credential scopes that
|
|
66
67
|
* an old persona ref drags in under `personaPermissions: include`. Returns "" when there are none. */
|
|
@@ -74,7 +75,7 @@ export function renderInherited(p) {
|
|
|
74
75
|
// Capabilities first — they are NOT channel-scoped (spawn/tool power), so they're easiest to miss
|
|
75
76
|
// and most security-significant (security review, round-8).
|
|
76
77
|
if (i.capabilities.length)
|
|
77
|
-
rows.push(` ${c.yellow("‼")} ${c.bold(a.name)} capabilities: ${i.capabilities.join(", ")} ${c.dim(`(persona ${a.persona}
|
|
78
|
+
rows.push(` ${c.yellow("‼")} ${c.bold(a.name)} capabilities: ${i.capabilities.join(", ")} ${c.dim(`(persona ${a.persona} - not channel-scoped)`)}`);
|
|
78
79
|
if (hasAcl) {
|
|
79
80
|
const parts = [
|
|
80
81
|
i.subscribe.length ? `subscribe ${i.subscribe.join(",")}` : "",
|
|
@@ -98,16 +99,16 @@ export function renderWarnings(warnings) {
|
|
|
98
99
|
* SECURITY block + persona-inherited access. Creation-only — an existing unmanaged card is shown
|
|
99
100
|
* desired-vs-live, never patched. */
|
|
100
101
|
export function renderSpawnPlan(p, channels, agents, unmanaged, ctx) {
|
|
101
|
-
const out = [c.bold(`Plan
|
|
102
|
+
const out = [c.bold(`Plan - cotal spawn -f (deploy onto running mesh ${ctx.server})`)];
|
|
102
103
|
out.push("", c.bold("Channels:"));
|
|
103
104
|
for (const ch of channels.create)
|
|
104
105
|
out.push(` ${c.green("+")} create ${c.cyan("#" + ch.name)} ${c.dim("(seed + own)")}`);
|
|
105
106
|
for (const { channel, live } of channels.existsUnmanaged) {
|
|
106
|
-
out.push(` ${c.yellow("~")} ${c.cyan("#" + channel.name)} ${c.yellow("exists
|
|
107
|
+
out.push(` ${c.yellow("~")} ${c.cyan("#" + channel.name)} ${c.yellow("exists - unmanaged")} ${c.dim("(card left untouched)")}`);
|
|
107
108
|
if ((channel.description ?? "") !== (live.description ?? ""))
|
|
108
109
|
out.push(` ${c.dim(`desired: ${channel.description ?? "(none)"} · live: ${live.description ?? "(none)"}`)}`);
|
|
109
110
|
if ((channel.instructions ?? "") !== (live.instructions ?? ""))
|
|
110
|
-
out.push(` ${c.dim(`desired instructions differ from live
|
|
111
|
+
out.push(` ${c.dim(`desired instructions differ from live - not applied (use a future --patch flag)`)}`);
|
|
111
112
|
}
|
|
112
113
|
for (const ch of channels.owned)
|
|
113
114
|
out.push(` ${c.dim("=")} ${c.cyan("#" + ch.name)} ${c.dim("(already owned by this run)")}`);
|
|
@@ -115,11 +116,11 @@ export function renderSpawnPlan(p, channels, agents, unmanaged, ctx) {
|
|
|
115
116
|
out.push(` ${c.dim("(none)")}`);
|
|
116
117
|
out.push("", c.bold("Agents:"));
|
|
117
118
|
for (const e of agents.willCreate)
|
|
118
|
-
out.push(` ${c.green("+")} ${c.bold(e.agent.name)} ${c.dim(`${e.agent.agentType}
|
|
119
|
+
out.push(` ${c.green("+")} ${c.bold(e.agent.name)} ${c.dim(`${e.agent.agentType} - will launch`)}`);
|
|
119
120
|
for (const e of agents.alreadyOwned)
|
|
120
|
-
out.push(` ${c.dim("=")} ${c.bold(e.agent.name)} ${c.dim(`(already running as ${e.prior?.name}
|
|
121
|
+
out.push(` ${c.dim("=")} ${c.bold(e.agent.name)} ${c.dim(`(already running as ${e.prior?.name} - no-op)`)}`);
|
|
121
122
|
for (const e of agents.stale)
|
|
122
|
-
out.push(` ${c.yellow("!")} ${c.bold(e.agent.name)} ${c.yellow("stale
|
|
123
|
+
out.push(` ${c.yellow("!")} ${c.bold(e.agent.name)} ${c.yellow("stale - restart required")} ` +
|
|
123
124
|
c.dim(`(${e.prior?.name}: hash ${e.prior?.hash.slice(0, 8)} → ${e.hash.slice(0, 8)}${e.running ? "" : ", not running"})`));
|
|
124
125
|
if (!agents.entries.length)
|
|
125
126
|
out.push(` ${c.dim("(none)")}`);
|
|
@@ -130,7 +131,7 @@ export function renderSpawnPlan(p, channels, agents, unmanaged, ctx) {
|
|
|
130
131
|
if (inherited)
|
|
131
132
|
out.push("", inherited);
|
|
132
133
|
if (ctx.dryRun)
|
|
133
|
-
out.push("", c.dim(`Dry run
|
|
134
|
+
out.push("", c.dim(`Dry run - nothing was changed. Run ${ctx.runId} not written. Re-run without --dry-run to apply.`));
|
|
134
135
|
return out.join("\n");
|
|
135
136
|
}
|
|
136
137
|
/** The SECURITY block: unmanaged actors observed with read access to a manifest-declared channel —
|
|
@@ -145,7 +146,7 @@ export function renderUnmanaged(u) {
|
|
|
145
146
|
}
|
|
146
147
|
const caveat = u.feedAvailable
|
|
147
148
|
? c.dim(` detected via presence + membership feed (asOf ${new Date(u.asOf).toISOString()}); live-only core subscriptions are a lower bound`)
|
|
148
|
-
: c.dim(" membership feed unavailable
|
|
149
|
+
: c.dim(" membership feed unavailable - detection is PRESENCE-ONLY (a lower bound; channel membership/live subscriptions not observable)");
|
|
149
150
|
// Show the block when there are conflicts, or when the feed was unavailable (so an empty result is
|
|
150
151
|
// never mistaken for "provably isolated").
|
|
151
152
|
if (!rows.length && u.feedAvailable) {
|
|
@@ -153,7 +154,7 @@ export function renderUnmanaged(u) {
|
|
|
153
154
|
? c.dim(`note: ${u.presentUnowned.length} unmanaged peer(s) present on the mesh; none on a declared channel (${caveat.trim()})`)
|
|
154
155
|
: "";
|
|
155
156
|
}
|
|
156
|
-
const head = c.red(c.bold("⚠ SECURITY
|
|
157
|
+
const head = c.red(c.bold("⚠ SECURITY - unmanaged actors with access to declared channels"));
|
|
157
158
|
const tail = u.presentUnowned.length ? [c.dim(` (${u.presentUnowned.length} unmanaged peer(s) present on the mesh in total)`)] : [];
|
|
158
159
|
return [head, ...rows, caveat, ...tail].join("\n");
|
|
159
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/manifest/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/manifest/render.ts"],"names":[],"mappings":"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"}
|