@cotal-ai/manager 0.5.0 → 0.7.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.js CHANGED
@@ -1,11 +1,10 @@
1
1
  import { parseArgs } from "node:util";
2
- import { readFileSync, existsSync, rmSync } from "node:fs";
3
- import { execFileSync, spawn } from "node:child_process";
2
+ import { readFileSync } from "node:fs";
4
3
  import { join } from "node:path";
5
4
  import { CotalEndpoint, isReachable, DEFAULT_SERVER, DEFAULT_SPACE, authDir, findCotalRoot, loadSpaceAuth, mintCreds, newIdentity, registry, CONTROL_PRIVILEGED, CONTROL_ADMIN, } from "@cotal-ai/core";
6
5
  import { Manager } from "./manager.js";
7
6
  import { loadRoster } from "./roster.js";
8
- import { findWorkspaceRoot } from "./runtime/index.js";
7
+ import {} from "./runtime/index.js";
9
8
  import { attachClient } from "./attach-client.js";
10
9
  import { c } from "./ui.js";
11
10
  /** The space to operate on: explicit `--space`, else this folder's `.cotal/auth` space, else the
@@ -24,8 +23,10 @@ function parse(argv) {
24
23
  role: { type: "string" },
25
24
  agent: { type: "string" },
26
25
  config: { type: "string" },
26
+ model: { type: "string" }, // start: model override, wins over the agent file's `model:`
27
27
  roster: { type: "string" },
28
28
  creds: { type: "string" },
29
+ runtime: { type: "string" }, // supervise: force pty | tmux | cmux (default auto-detects)
29
30
  "console-port": { type: "string" },
30
31
  drive: { type: "boolean" },
31
32
  transcript: { type: "boolean" },
@@ -33,12 +34,11 @@ function parse(argv) {
33
34
  spawn: { type: "string" }, // comma-separated agent names to pre-spawn at startup
34
35
  },
35
36
  });
36
- // These commands are flags-only — reject stray positionals instead of silently ignoring
37
- // them (e.g. `cotal cmux up`, which used to start a default-space manager). (`cotal cmux go`
38
- // is now a real sub-verb, intercepted before this runs.)
37
+ // These commands are flags-only — reject stray positionals instead of silently ignoring them
38
+ // (e.g. `cotal supervise up`, fat-fingering `cotal up`).
39
39
  if (positionals.length) {
40
40
  const x = positionals[0];
41
- const hint = x === "up" ? " — did you mean `cotal up`?" : x === "go" ? " — did you mean `cotal cmux go`?" : "";
41
+ const hint = x === "up" ? " — did you mean `cotal up`?" : x === "go" ? " — did you mean `cotal go`?" : "";
42
42
  console.error(c.red(`✗ unexpected argument: ${x}${hint}`));
43
43
  process.exit(1);
44
44
  }
@@ -107,6 +107,7 @@ async function start(argv) {
107
107
  role: v.role,
108
108
  agent: v.agent,
109
109
  config: v.config,
110
+ model: v.model,
110
111
  // Opt-in: only sent when `--transcript` is given; absent => the daemon's default (mirror off).
111
112
  transcript: v.transcript ? true : undefined,
112
113
  }, v.creds);
@@ -171,8 +172,21 @@ async function attach(argv) {
171
172
  /** Run a manager daemon in this process (the long-lived supervisor), then block.
172
173
  * `pty`/`tmux` ship with the manager; `cmux` needs its integration imported by the
173
174
  * composition root (the `cotal` binary does). Stays alive until SIGINT/SIGTERM. */
174
- async function runManager(argv, runtime) {
175
+ // `--runtime` forces the manager runtime; honored only on the `supervise` path (default
176
+ // auto-detect). `cmux` gives each teammate its own cmux tab — `cotal supervise --runtime cmux` is
177
+ // the cmux-tab manager. The session machinery launches it with `--runtime cmux --space <space>`
178
+ // contiguous, which is what `cmuxManagerRunning` pgreps for.
179
+ const RUNTIME_OVERRIDES = ["pty", "tmux", "cmux"];
180
+ async function runManager(argv, defaultRuntime) {
175
181
  const v = parse(argv);
182
+ let runtime = defaultRuntime;
183
+ if (defaultRuntime === "auto" && v.runtime) {
184
+ if (!RUNTIME_OVERRIDES.includes(v.runtime)) {
185
+ console.error(c.red(`unknown runtime "${v.runtime}" — expected ${RUNTIME_OVERRIDES.join(", ")}`));
186
+ process.exit(1);
187
+ }
188
+ runtime = v.runtime;
189
+ }
176
190
  const space = spaceFor(v);
177
191
  const server = v.server ?? DEFAULT_SERVER;
178
192
  // Parse the roster before touching the network — a malformed file should fail fast,
@@ -188,7 +202,7 @@ async function runManager(argv, runtime) {
188
202
  console.log(c.green("✓ manager up") +
189
203
  c.dim(` (space ${space} · ${mgr.runtimeKind})`) +
190
204
  `\n console: ${mgr.consoleUrl}` +
191
- c.dim("\n spawn: cotal start --name <n> · stop: cotal stop --name <n> (Ctrl-C to shut down)"));
205
+ c.dim("\n spawn: cotal start --name <persona> · stop: cotal stop --name <n> (Ctrl-C to shut down)"));
192
206
  // Register shutdown handlers before any spawning, so a Ctrl-C during the (possibly slow,
193
207
  // staggered) boot tears the manager and its spawned teammates down rather than orphaning them.
194
208
  const shutdown = () => void mgr.stop().then(() => process.exit(0));
@@ -199,8 +213,10 @@ async function runManager(argv, runtime) {
199
213
  // fix the roster without the supervisor crash-looping.
200
214
  for (const entry of roster) {
201
215
  const reply = await mgr.startAgent(entry);
216
+ // Log the spawned IDENTITY (the persona's name:), which can differ from entry.name (the file ref).
217
+ const spawned = reply.data?.name ?? entry.name;
202
218
  if (reply.ok)
203
- console.log(c.green(`✓ started ${c.bold(entry.name)}`) + c.dim(` (${entry.agent})`));
219
+ console.log(c.green(`✓ started ${c.bold(spawned)}`) + c.dim(` (${entry.agent})`));
204
220
  else
205
221
  console.error(c.red(`✗ ${entry.name}: ${reply.error}`));
206
222
  }
@@ -210,172 +226,41 @@ async function runManager(argv, runtime) {
210
226
  if (v.spawn) {
211
227
  const names = v.spawn.split(",").map((s) => s.trim()).filter(Boolean);
212
228
  for (let i = 0; i < names.length; i++) {
213
- const name = names[i];
214
- const reply = await mgr.startByName(name);
229
+ const ref = names[i];
230
+ const reply = await mgr.startByName(ref);
215
231
  if (!reply.ok) {
216
- console.error(c.red(`✗ couldn't spawn ${name}: ${reply.error ?? "unknown error"}`));
232
+ console.error(c.red(`✗ couldn't spawn ${ref}: ${reply.error ?? "unknown error"}`));
217
233
  continue;
218
234
  }
219
- console.log(c.green(`✓ spawned ${name}`));
235
+ // The peer joins under its persona's name: (the spawned identity), which may differ from the
236
+ // ref filename — wait on (and log) THAT, or staggering blocks the full timeout on a name that
237
+ // never appears (e.g. ref review-critic → identity socrates).
238
+ const spawned = reply.data?.name ?? ref;
239
+ console.log(c.green(`✓ spawned ${spawned}`));
220
240
  if (i < names.length - 1) {
221
- const joined = await mgr.waitForPresence(name);
222
- console.log(c.dim(joined ? ` ${name} joined; starting next` : ` ${name} still starting; continuing`));
241
+ const joined = await mgr.waitForPresence(spawned);
242
+ console.log(c.dim(joined ? ` ${spawned} joined; starting next` : ` ${spawned} still starting; continuing`));
223
243
  }
224
244
  }
225
245
  }
226
246
  await new Promise(() => { });
227
247
  }
228
- /** One-command cmux onboarding (the built-in, generalized `launch.sh --drive`): from a
229
- * cmux pane, install the plugin, bring up the mesh, open the manager in its own tab, and
230
- * open a workspace with the console + a ready driving session. Orchestrates, then exits. */
231
- async function runDrive(argv) {
232
- const v = parse(argv);
233
- const space = spaceFor(v);
234
- const name = v.name ?? "me";
235
- const server = v.server ?? DEFAULT_SERVER;
236
- // name/space get interpolated into the cmux pane's `bash -lc '…'` command; keep them bare
237
- // tokens so they can't break out of the quoting.
238
- for (const [label, val] of [["name", name], ["space", space]])
239
- if (!/^[A-Za-z0-9_.-]+$/.test(val))
240
- throw new Error(`cotal cmux go: unsafe ${label} ${JSON.stringify(val)} (allowed: letters, digits, _ . -)`);
241
- const root = findWorkspaceRoot();
242
- const tsx = join(root, "node_modules", ".bin", "tsx");
243
- const cmuxCli = join(root, "extensions", "cmux", "src", "cli.ts");
244
- const cotalBin = join(root, "bin", "cotal.ts");
245
- // `cotal cmux go` drives a dev clone directly (tsx + repo source paths). A packaged install
246
- // has none of those, so fail clearly instead of crashing on a missing path — the packaged
247
- // onboarding is `cotal setup` (what bare `cotal` / `npx cotal-ai` runs; inside a cmux pane it
248
- // opens the same session).
249
- if (![tsx, cmuxCli, cotalBin].every(existsSync)) {
250
- console.error(c.red("✗ `cotal cmux go` needs a cotal dev clone — it runs the repo source directly.") +
251
- c.dim("\n In a packaged install, run `cotal setup` instead (from a cmux pane it opens the same session)."));
252
- process.exit(1);
253
- }
254
- // A cmux terminal leaf running a cotal subcommand (panes open in the login shell, which
255
- // may be nushell — wrap in `bash -lc` like launch.sh; `exec` so pgrep sees the real cmd).
256
- const leaf = (sub) => ({
257
- pane: {
258
- surfaces: [{ type: "terminal", command: `bash -lc 'cd ${root} && exec ${tsx} ${cotalBin} ${sub}'` }],
259
- },
260
- });
261
- // A driving pane that auto-accepts Claude's one-time dev-channels prompt by pressing Enter on
262
- // its own cmux surface a few times — so the session joins the mesh with no manual keypress.
263
- const enterLoop = '( [ -n "$CMUX_SURFACE_ID" ] && [ -n "$CMUX_BUNDLED_CLI_PATH" ] && ' +
264
- 'for _ in 1 2 3 4 5; do sleep 1; "$CMUX_BUNDLED_CLI_PATH" send-key --surface "$CMUX_SURFACE_ID" enter >/dev/null 2>&1; done ) &';
265
- const leafConfirm = (sub) => ({
266
- pane: {
267
- surfaces: [
268
- { type: "terminal", command: `bash -lc 'cd ${root} || exit 1; ${enterLoop} exec ${tsx} ${cotalBin} ${sub}'` },
269
- ],
270
- },
271
- });
272
- const openWs = (wsName, layout) => execFileSync(tsx, [cmuxCli, "open", wsName, JSON.stringify(layout)], { stdio: "ignore" });
273
- const cmuxBin = process.env.CMUX_BUNDLED_CLI_PATH;
274
- const workspaceExists = (wsName) => {
275
- if (!cmuxBin)
276
- return false;
277
- try {
278
- return execFileSync(cmuxBin, ["list-workspaces"], { encoding: "utf8" })
279
- .split("\n")
280
- .some((l) => l.includes(wsName));
281
- }
282
- catch {
283
- return false;
284
- }
285
- };
286
- // Must run inside a live cmux surface (cmux authorizes its socket only from a real pane).
287
- try {
288
- execFileSync(tsx, [cmuxCli, "check"], { stdio: "ignore" });
289
- }
290
- catch {
291
- console.error(c.red("✗ can't reach cmux — run `cotal cmux go` from inside a cmux terminal."));
292
- process.exit(1);
293
- }
294
- // Plugin (idempotent) so the spawned Claude sessions have the cotal_* tools.
295
- // `--yes` runs the guided setup non-interactively (cmux go is one-shot onboarding).
296
- execFileSync(tsx, [cotalBin, "setup", "--yes"], { cwd: root, stdio: "inherit" });
297
- // Mesh: start it in the background if it isn't already up (cotal up blocks in the foreground).
298
- if (!(await isReachable(server))) {
299
- console.log(c.dim("Starting the mesh (cotal up --open)…"));
300
- spawn(tsx, [cotalBin, "up", "--open"], { cwd: root, detached: true, stdio: "ignore" }).unref();
301
- for (let i = 0; i < 40 && !(await isReachable(server)); i++)
302
- await new Promise((r) => setTimeout(r, 250));
303
- if (!(await isReachable(server))) {
304
- console.error(c.red("✗ mesh did not come up — try `cotal up --open` manually."));
305
- process.exit(1);
306
- }
307
- }
308
- console.log(c.green(`✓ mesh up at ${server}`));
309
- // A prior interactive `cotal setup` may have left a detached (pty) manager; cmux go wants its
310
- // own cmux-runtime manager, so stop that one first — queue-grouped control would otherwise split
311
- // spawns between the two.
312
- const pidFile = join(root, ".cotal", "manager.pid");
313
- if (existsSync(pidFile)) {
314
- const pid = Number(readFileSync(pidFile, "utf8").trim());
315
- try {
316
- process.kill(pid, "SIGTERM");
317
- console.log(c.dim(`stopped a background manager (pid ${pid}) to use cmux tabs`));
318
- }
319
- catch {
320
- /* already gone */
321
- }
322
- rmSync(pidFile);
323
- }
324
- // Manager in its own tab (skip if one is already running for this space).
325
- let mgrRunning = false;
326
- try {
327
- execFileSync("pgrep", ["-f", `cotal.ts cmux --space ${space}`], { stdio: "ignore" });
328
- mgrRunning = true;
329
- }
330
- catch {
331
- /* none running */
332
- }
333
- if (mgrRunning) {
334
- console.log(c.dim(`✓ manager already running for space "${space}" — to pick up code changes, restart it: ` +
335
- `Ctrl-C its tab or \`pkill -f "cotal.ts cmux --space ${space}"\`, then re-run.`));
336
- }
337
- else {
338
- openWs("cotal-manager", leaf(`cmux --space ${space}`));
339
- console.log(c.green("✓ opened the manager tab (cotal-manager)"));
340
- }
341
- // Work workspace: console on top, a ready driving session below (skip if already open).
342
- if (workspaceExists(`cotal-${space}`)) {
343
- console.log(c.dim(`✓ workspace cotal-${space} already open`));
344
- }
345
- else {
346
- openWs(`cotal-${space}`, {
347
- direction: "vertical",
348
- split: 0.4,
349
- children: [leaf(`console --space ${space}`), leafConfirm(`spawn ${name} --space ${space}`)],
350
- });
351
- console.log(c.green(`✓ opened the cotal-${space} workspace (console + ${name})`));
352
- }
353
- console.log(c.dim(`\nSwitch to the "${name}" pane, then drive: cotal_persona · cotal_spawn · cotal_despawn.`));
354
- }
355
- /** The manager's control-plane commands — the daemon runners (`supervise`/`cmux`)
356
- * plus thin NATS request/reply clients that drive a running manager. Self-registered
357
- * on import; the `cotal` binary resolves them from the registry. */
248
+ /** The manager's control-plane commands the `supervise` daemon runner plus thin NATS
249
+ * request/reply clients that drive a running manager. Self-registered on import; the `cotal`
250
+ * binary resolves them from the registry. */
358
251
  const managerCommands = [
359
252
  {
360
253
  kind: "command",
361
254
  name: "supervise",
362
255
  group: "Manager",
363
- summary: "run a manager (terminal / pty runtime) [--space <s>] [--server <url>] [--console-port <n>] [--roster <file>]",
256
+ summary: "run a manager [--runtime <pty|tmux|cmux>] (default auto-detect; cmux gives each teammate its own cmux tab) [--space <s>] [--server <url>] [--console-port <n>] [--roster <file>]",
364
257
  run: (argv) => runManager(argv, "auto"),
365
258
  },
366
- {
367
- kind: "command",
368
- name: "cmux",
369
- group: "Manager",
370
- summary: "run a manager that spawns each teammate into its own cmux tab — [--space <s>] [--server <url>]; " +
371
- "`cotal cmux go` = one-command onboarding (plugin + mesh + manager + console/driving session)",
372
- run: (argv) => (argv[0] === "go" ? runDrive(argv.slice(1)) : runManager(argv, "cmux")),
373
- },
374
259
  {
375
260
  kind: "command",
376
261
  name: "start",
377
262
  group: "Control plane",
378
- summary: "ask the manager to spawn an agent — --name <n> [--role <r>] [--agent <a>] [--config <file>] (auto-discovers .cotal/agents/<n>.md)",
263
+ summary: "ask the manager to spawn a persona — --name <persona> [--role <r>] [--agent <a>] [--config <file>] [--model <m>] (loads .cotal/agents/<persona>.md; the peer joins under its name:)",
379
264
  run: start,
380
265
  },
381
266
  {
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/manager.d.ts CHANGED
@@ -13,12 +13,18 @@ export interface ManagerOptions {
13
13
  /** A spawn request, typed. The control-plane `start` op parses one of these out of an
14
14
  * untyped request; roster boot constructs them directly. Both funnel into {@link Manager.startAgent}. */
15
15
  export interface StartAgentOpts {
16
+ /** The persona REF to spawn — a filename in `.cotal/agents` (the unique spawn key), discovered as
17
+ * `.cotal/agents/<name>.md`. NOT the mesh identity: the spawned peer presents under the file's
18
+ * own `name:` (auto-numbered on collision). The file must exist (no silent default-ACL fallback). */
16
19
  name: string;
17
20
  /** Connector / agent type — resolved from the registry. Defaults to `"cotal"`. */
18
21
  agent?: string;
19
22
  role?: string;
20
- /** Explicit agent-file name-or-path; otherwise `.cotal/agents/<name>.md` is discovered if present. */
23
+ /** Explicit agent-file path that overrides the `name` ref for *which file to load* (identity still
24
+ * comes from that file's `name:`). The file must exist. */
21
25
  config?: string;
26
+ /** Model override (the `--model` flag). Takes precedence over the agent file's `model:`. */
27
+ model?: string;
22
28
  /** Mirror the session's transcript to `tr-<name>`. Defaults to off; `true` (the
23
29
  * `--transcript` flag) opts in. */
24
30
  transcript?: boolean;
@@ -66,25 +72,6 @@ export declare class Manager {
66
72
  * hitting another agent. Non-managed callers (human CLI, the manager itself, observers) find
67
73
  * no match and get a loud error, not a silent no-op. */
68
74
  private opStopSelf;
69
- /** Plane-3 durable JOIN (SPEC §8): privileged-write the caller's `durable-active` membership for ONE
70
- * concrete channel + run activation catch-up. The caller is the authenticated id (non-forgeable in
71
- * auth), so this only ever resolves to its own managed entry; an unmanaged caller gets a loud error.
72
- * Validation: valid + concrete channel, ⊆ allowSubscribe. Durable membership is per-concrete-channel
73
- * (a wildcard ACL grants live breadth + concrete-durable-opt-in, never wildcard-durable). The KV
74
- * write + cursors + catch-up run with the manager's privileged creds. */
75
- private opDurableJoin;
76
- /** Plane-3 durable LEAVE (SPEC §7 leave = hard read boundary for the backstop): tombstone the
77
- * caller's membership at the leave cursor. A pre-leave entry stays deliverable; `seq > leaveCursor`
78
- * is denied at the trusted reader. Fail-closed: same validation as join, and a finite `generation`
79
- * (the caller's join epoch) is REQUIRED — a leave omitting it could otherwise tombstone a newer
80
- * rejoin via the exposed self-service op (the stale-leave primitive). */
81
- private opDurableLeave;
82
- /** Plane-3 self-service: the caller's CURRENT (activated, non-tombstoned) durable memberships as
83
- * `{channel, generation}`, so a freshly connected agent can hydrate its leave-generation mirror for
84
- * BOOT durable channels — the agent holds no read on the privileged members KV. Strictly own-scoped:
85
- * the op takes no owner arg and reads `callerId` (authenticated, non-forgeable), so it can only ever
86
- * return the caller's own records. Read-only. */
87
- private opListMemberships;
88
75
  /** Drop a live agent's slot. When `floor` is set and the agent died young (lived less than
89
76
  * MIN_LIFETIME), push a cooling stamp so the freed slot still counts toward the ceiling until it
90
77
  * expires — flooring the RECYCLE, not the call, so both free paths (despawn + exit/reap) are
@@ -106,8 +93,9 @@ export declare class Manager {
106
93
  * in-flight (reserved) slots. Lets a colliding spawn auto-number instead of being rejected, so
107
94
  * callers never have to invent a unique name. */
108
95
  private uniqueName;
109
- /** Spawn a teammate by name (loads `.cotal/agents/<name>.md`), as if a peer asked via the
110
- * control plane. Used to pre-spawn the demo's experts at startup so the manager owns them. */
96
+ /** Spawn a teammate by persona ref (`name` loads `.cotal/agents/<name>.md`; the peer presents
97
+ * under that file's own `name:`), as if a peer asked via the control plane. Used to pre-spawn the
98
+ * demo's experts at startup so the manager owns them. */
111
99
  startByName(name: string): Promise<ControlReply>;
112
100
  /** Resolve once `name` shows up on the mesh roster (presence registered), or after `timeoutMs`.
113
101
  * Lets the pre-spawn loop stagger heavy agent cold-starts so they don't all boot at once.
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
package/dist/manager.js CHANGED
@@ -1,6 +1,6 @@
1
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
- import { join, dirname } from "node:path";
3
- import { CotalEndpoint, DEFAULT_SERVER, agentFilePath, assertValidChannel, authDir, channelInAllow, clearSpaceHistory, connectorServers, findCotalRoot, firstFreeName, isConcreteChannel, loadAgentFile, loadCotalConfig, loadSpaceAuth, mintCreds, newIdentity, provisionAgent, registry, saveAgentFile, subjectMatches, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, } from "@cotal-ai/core";
1
+ import { accessSync, constants, existsSync, mkdirSync, writeFileSync } from "node:fs";
2
+ import { join, dirname, delimiter } from "node:path";
3
+ import { CotalEndpoint, DEFAULT_SERVER, agentFilePath, authDir, clearSpaceHistory, connectorServers, findCotalRoot, firstFreeName, loadAgentFile, loadCotalConfig, loadSpaceAuth, mintCreds, newIdentity, provisionAgent, registry, saveAgentFile, subjectMatches, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, } from "@cotal-ai/core";
4
4
  import { createRuntime, } from "./runtime/index.js";
5
5
  import { AttachEndpoint } from "./attach-endpoint.js";
6
6
  /** Concurrency ceiling — the manager refuses to hold more than this many live + in-flight +
@@ -10,6 +10,33 @@ const MAX_AGENTS = 50;
10
10
  * before living this long leaves a cooling stamp that still counts toward the ceiling until it
11
11
  * expires — so churn (spawn↔despawn or spawn↔fast-exit) can't outrun the concurrency bound. */
12
12
  const MIN_LIFETIME = 10_000;
13
+ /** Is `bin` an executable on PATH? A side-effect-free preflight for a connector's `requires` —
14
+ * scans PATH directly with `accessSync(X_OK)` rather than shelling out to `which`, so it can't
15
+ * hang or run the harness. An absolute/relative path is checked as-is; a bare name is looked up
16
+ * across PATH entries (empty entries skipped). POSIX-only (macOS/Linux); no PATHEXT handling. */
17
+ function binOnPath(bin) {
18
+ if (bin.includes("/")) {
19
+ try {
20
+ accessSync(bin, constants.X_OK);
21
+ return true;
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
27
+ for (const dir of (process.env.PATH ?? "").split(delimiter)) {
28
+ if (!dir)
29
+ continue;
30
+ try {
31
+ accessSync(join(dir, bin), constants.X_OK);
32
+ return true;
33
+ }
34
+ catch {
35
+ // not here — keep scanning
36
+ }
37
+ }
38
+ return false;
39
+ }
13
40
  /**
14
41
  * The agent supervisor: a long-lived mesh node that owns agent process lifecycle.
15
42
  * It serves control requests on the "manager" service and spawns/kills agents
@@ -91,11 +118,11 @@ export class Manager {
91
118
  this.ep.serveControl(CONTROL_PRIVILEGED, (req) => this.handle(req, CONTROL_PRIVILEGED));
92
119
  this.ep.serveControl(CONTROL_SELF_SERVICE, (req) => this.handle(req, CONTROL_SELF_SERVICE));
93
120
  this.ep.serveControl(CONTROL_ADMIN, (req) => this.handle(req, CONTROL_ADMIN));
94
- // Plane-3 (SPEC §8): host the fan-out writer + trusted reader. The reader re-authorizes each
95
- // durable-backstop entry against the owner's CURRENT read ACL supplied from the managed set
96
- // (the same `allowSubscribe` opDurableJoin/opDurableLeave validate against). Auth mode only.
97
- if (this.auth)
98
- await this.ep.startPlane3((id) => [...this.agents.values()].find((a) => a.id === id)?.allowSubscribe);
121
+ // Plane-3 (durable backstop) is NOT the manager's job the manager only manages agent lifecycle.
122
+ // The server-side delivery daemon hosts the fan-out writer + trusted reader, owns the durable
123
+ // membership registry, and serves the runtime durable join/leave/list ops (on `ctl.delivery`). The
124
+ // manager records each agent's read ACL at spawn (`commitAcl`, in provisionAgent) so the daemon can
125
+ // re-authorize it; that is the only Plane-3 state the manager touches, and it rides minting.
99
126
  }
100
127
  async stop() {
101
128
  await this.ep.stop();
@@ -114,15 +141,9 @@ export class Manager {
114
141
  // subject; this gates WHAT each subject will honor, fail-closed. A privileged op arriving on
115
142
  // the self-service subject (publishable by all) must be rejected or the split does nothing.
116
143
  if (tier === CONTROL_SELF_SERVICE) {
117
- // Self-service honors self-ops only: a no-name stop (self-despawn) and Plane-3 durableJoin/
118
- // durableLeave (the caller adding/removing its OWN durable backstop, within its allowSubscribe).
119
- // Anything else — including a named stop (belongs on privileged/admin) is a misroute, rejected.
120
- if (req.op === "durableJoin")
121
- return this.opDurableJoin(caller, args);
122
- if (req.op === "durableLeave")
123
- return this.opDurableLeave(caller, args);
124
- if (req.op === "listMemberships")
125
- return this.opListMemberships(caller);
144
+ // Self-service honors self-ops only: a no-name stop (self-despawn). Durable join/leave/list moved
145
+ // OFF the manager onto the server-side delivery daemon's `ctl.delivery` service (the manager is
146
+ // lifecycle-only). A named stop (belongs on privileged/admin) or anything else is a misroute.
126
147
  if (req.op !== "stop")
127
148
  return { ok: false, error: `op "${req.op}" not allowed on self-service control subject` };
128
149
  if (name)
@@ -186,76 +207,10 @@ export class Manager {
186
207
  this.freeSlot(target, true); // self-despawn is rate-floored (recycle churn)
187
208
  return { ok: true, data: { name: target.name, stopped: true, graceful } };
188
209
  }
189
- /** Plane-3 durable JOIN (SPEC §8): privileged-write the caller's `durable-active` membership for ONE
190
- * concrete channel + run activation catch-up. The caller is the authenticated id (non-forgeable in
191
- * auth), so this only ever resolves to its own managed entry; an unmanaged caller gets a loud error.
192
- * Validation: valid + concrete channel, allowSubscribe. Durable membership is per-concrete-channel
193
- * (a wildcard ACL grants live breadth + concrete-durable-opt-in, never wildcard-durable). The KV
194
- * write + cursors + catch-up run with the manager's privileged creds. */
195
- async opDurableJoin(callerId, args) {
196
- const target = [...this.agents.values()].find((a) => a.id === callerId);
197
- if (!target)
198
- return { ok: false, error: `durableJoin: caller ${callerId} is not an agent this manager spawned` };
199
- const channel = typeof args.channel === "string" ? args.channel.trim() : "";
200
- if (!channel)
201
- return { ok: false, error: "durableJoin: channel must be a non-blank string" };
202
- try {
203
- assertValidChannel(channel);
204
- }
205
- catch (e) {
206
- return { ok: false, error: e.message };
207
- }
208
- if (!isConcreteChannel(channel))
209
- return { ok: false, error: `durableJoin: "${channel}" must be a concrete channel (durable membership is per-concrete-channel, not wildcard)` };
210
- if (!channelInAllow(target.allowSubscribe, channel))
211
- return { ok: false, error: `channel "${channel}" is not within allowSubscribe [${target.allowSubscribe.join(", ")}]` };
212
- try {
213
- return { ok: true, data: await this.ep.durableJoinFor(callerId, channel) };
214
- }
215
- catch (e) {
216
- return { ok: false, error: e.message };
217
- }
218
- }
219
- /** Plane-3 durable LEAVE (SPEC §7 leave = hard read boundary for the backstop): tombstone the
220
- * caller's membership at the leave cursor. A pre-leave entry stays deliverable; `seq > leaveCursor`
221
- * is denied at the trusted reader. Fail-closed: same validation as join, and a finite `generation`
222
- * (the caller's join epoch) is REQUIRED — a leave omitting it could otherwise tombstone a newer
223
- * rejoin via the exposed self-service op (the stale-leave primitive). */
224
- async opDurableLeave(callerId, args) {
225
- const target = [...this.agents.values()].find((a) => a.id === callerId);
226
- if (!target)
227
- return { ok: false, error: `durableLeave: caller ${callerId} is not an agent this manager spawned` };
228
- const channel = typeof args.channel === "string" ? args.channel.trim() : "";
229
- if (!channel)
230
- return { ok: false, error: "durableLeave: channel must be a non-blank string" };
231
- try {
232
- assertValidChannel(channel);
233
- }
234
- catch (e) {
235
- return { ok: false, error: e.message };
236
- }
237
- if (!isConcreteChannel(channel))
238
- return { ok: false, error: `durableLeave: "${channel}" must be a concrete channel` };
239
- if (!channelInAllow(target.allowSubscribe, channel))
240
- return { ok: false, error: `channel "${channel}" is not within allowSubscribe [${target.allowSubscribe.join(", ")}]` };
241
- if (typeof args.generation !== "number" || !Number.isFinite(args.generation))
242
- return { ok: false, error: "durableLeave: a finite generation is required (fail-closed stale-leave guard)" };
243
- try {
244
- await this.ep.durableLeaveFor(callerId, channel, args.generation);
245
- }
246
- catch (e) {
247
- return { ok: false, error: e.message };
248
- }
249
- return { ok: true, data: { channel } };
250
- }
251
- /** Plane-3 self-service: the caller's CURRENT (activated, non-tombstoned) durable memberships as
252
- * `{channel, generation}`, so a freshly connected agent can hydrate its leave-generation mirror for
253
- * BOOT durable channels — the agent holds no read on the privileged members KV. Strictly own-scoped:
254
- * the op takes no owner arg and reads `callerId` (authenticated, non-forgeable), so it can only ever
255
- * return the caller's own records. Read-only. */
256
- async opListMemberships(callerId) {
257
- return { ok: true, data: { memberships: await this.ep.ownerMemberships(callerId) } };
258
- }
210
+ // Plane-3 durable join/leave/list ops moved OFF the manager onto the server-side delivery daemon's
211
+ // `ctl.delivery` control service (endpoint.startPlane3 → handleDeliveryControl). The manager is
212
+ // lifecycle-only; it records each agent's read ACL at spawn (commitAcl) so the daemon can validate
213
+ // those ops against the durable ACL registry the single source of truth, no in-memory ledger.
259
214
  /** Drop a live agent's slot. When `floor` is set and the agent died young (lived less than
260
215
  * MIN_LIFETIME), push a cooling stamp so the freed slot still counts toward the ceiling until it
261
216
  * expires — flooring the RECYCLE, not the call, so both free paths (despawn + exit/reap) are
@@ -300,8 +255,9 @@ export class Manager {
300
255
  uniqueName(base) {
301
256
  return firstFreeName(base, (n) => this.agents.has(n) || this.reserved.has(n));
302
257
  }
303
- /** Spawn a teammate by name (loads `.cotal/agents/<name>.md`), as if a peer asked via the
304
- * control plane. Used to pre-spawn the demo's experts at startup so the manager owns them. */
258
+ /** Spawn a teammate by persona ref (`name` loads `.cotal/agents/<name>.md`; the peer presents
259
+ * under that file's own `name:`), as if a peer asked via the control plane. Used to pre-spawn the
260
+ * demo's experts at startup so the manager owns them. */
305
261
  async startByName(name) {
306
262
  return this.startAgent({ name });
307
263
  }
@@ -326,6 +282,7 @@ export class Manager {
326
282
  agent: args.agent ? String(args.agent) : undefined,
327
283
  role: args.role ? String(args.role) : undefined,
328
284
  config: args.config ? String(args.config) : undefined,
285
+ model: args.model ? String(args.model) : undefined,
329
286
  transcript: typeof args.transcript === "boolean" ? args.transcript : undefined,
330
287
  }, caller);
331
288
  }
@@ -336,96 +293,117 @@ export class Manager {
336
293
  * defaulting to the manager's own id for roster/pre-spawn — recorded for the spawner
337
294
  * ledger (own-children despawn + reap-on-parent-exit). */
338
295
  async startAgent(opts, spawner) {
339
- const base = opts.name.trim();
340
- if (!base)
296
+ // The spawn argument is a persona REF — a filename in `.cotal/agents` (the unique spawn KEY), or
297
+ // a path via `--config`. It is NOT the mesh identity: the identity comes from inside the file
298
+ // (`name:`), so a persona can be filed descriptively (review-critic.md) yet present under a
299
+ // free-form name (socrates) — the same model `cotal spawn` already uses. You always spawn by
300
+ // filename (unique on disk); two files can't collide on the key.
301
+ const ref = opts.name.trim();
302
+ if (!ref)
341
303
  return { ok: false, error: "name required" };
342
- const nameErr = this.nameError(base);
343
- if (nameErr)
344
- return { ok: false, error: nameErr };
304
+ // A bare ref maps to `.cotal/agents/<ref>.md`, so it must be a safe token (no path traversal); a
305
+ // `--config` path is validated by existsSync below instead.
306
+ if (!opts.config) {
307
+ const refErr = this.nameError(ref);
308
+ if (refErr)
309
+ return { ok: false, error: refErr };
310
+ }
345
311
  const agent = opts.agent ?? "cotal";
346
- // Synchronous availability gate (P4a/P4c) the free-name pick and the reserve run in one tick
347
- // BEFORE any await, so two concurrent spawns can't land on the same name (no TOCTOU between the
348
- // pick and the reserve), and the ceiling can't be overshot by fan-out racing the provision await.
312
+ // Capacity check first (cheap, fail-fast). Everything from here to the reserve below is
313
+ // SYNCHRONOUS (existsSync / registry / accessSync / readFileSync no await), so the gate stays
314
+ // atomic: the capacity snapshot and the reserve land in one tick (P4a/P4c), and two concurrent
315
+ // spawns can't overshoot the ceiling or pick the same name.
349
316
  const cooling = this.coolingCount(); // prune expired stamps, then count live cooling slots
350
317
  if (this.agents.size + this.reserved.size + cooling >= MAX_AGENTS)
351
318
  return { ok: false, error: `at capacity (${MAX_AGENTS} agents incl. in-flight + cooling); despawn one or wait` };
352
- // A taken name auto-numbers (reviewer reviewer-2 reviewer-3…) so callers never collide; the
353
- // persona file is still discovered from the requested base name below, so reviewer-2 wears it.
354
- // Deliberate semantics: this is create-new, not ensure-exists — a retried/redelivered identical
355
- // spawn from the same caller yields a fresh numbered agent, not a no-op. Accepted (MAX_AGENTS
356
- // bounds the blast radius). Follow-up: add a short per-(spawner,base,role) idempotency window if
357
- // autonomous orchestration ever produces phantom spawns.
358
- const name = this.uniqueName(base);
319
+ // Resolve the persona file (fail loud NO silent default-ACL fallback). A missing persona used
320
+ // to mint DEFAULT creds (read `general` only, default-deny publish, no capabilities), so a
321
+ // typo'd / renamed / spawned-by-display-name agent became live with silently-wrong ACLs — a
322
+ // behavioral/security bug. Fail loud instead, matching `cotal spawn` (loadAgentFile throws).
323
+ let configPath;
324
+ if (opts.config) {
325
+ configPath = agentFilePath(this.workspaceRoot, opts.config);
326
+ if (!existsSync(configPath))
327
+ return { ok: false, error: `agent file not found: ${configPath}` };
328
+ }
329
+ else {
330
+ configPath = agentFilePath(this.workspaceRoot, ref);
331
+ if (!existsSync(configPath))
332
+ return { ok: false, error: `no persona "${ref}" — ${configPath} not found; create it or pass --config (see \`cotal personas list\`)` };
333
+ }
334
+ // Connector + harness preflight before reserving a slot or minting — a missing connector or a
335
+ // missing `claude`/`opencode` binary fails here with a clear name, not obscurely at process
336
+ // spawn. No fallback. All synchronous, so the reserve gate stays atomic.
337
+ let connector;
338
+ try {
339
+ connector = registry.resolve("connector", agent);
340
+ }
341
+ catch (e) {
342
+ return { ok: false, error: e.message };
343
+ }
344
+ const missing = (connector.requires ?? []).filter((bin) => !binOnPath(bin));
345
+ if (missing.length)
346
+ return { ok: false, error: `${agent} harness needs ${missing.join(", ")} on PATH — not found` };
347
+ // Load the persona. IDENTITY = its free-form `name:`, validated as a safe mesh/creds-file token;
348
+ // role + read/post ACL come from the file too (`--role` overrides). The number rides the IDENTITY
349
+ // (socrates → socrates-2), not the file ref — a redelivered identical spawn yields a fresh
350
+ // numbered agent (create-new, not ensure-exists; MAX_AGENTS bounds the blast radius).
351
+ let def;
352
+ try {
353
+ def = loadAgentFile(configPath);
354
+ }
355
+ catch (e) {
356
+ return { ok: false, error: e.message };
357
+ }
358
+ const idErr = this.nameError(def.name);
359
+ if (idErr)
360
+ return { ok: false, error: `persona ${configPath}: ${idErr}` };
361
+ const role = opts.role ?? def.role;
362
+ // The agent's read ACL, defaulted the same way the loader/provisioner do — minted into the
363
+ // creds below (the broker boundary); runtime durable joins are re-authorized against it by the
364
+ // delivery daemon, which reads the committed ACL, so the manager keeps no copy on its record.
365
+ const allowSubscribe = def.allowSubscribe ?? def.subscribe ?? ["general"];
366
+ const name = this.uniqueName(def.name);
359
367
  this.reserved.add(name);
360
368
  try {
361
- // Resolve an agent file from the manager's own workspace — an explicit
362
- // --config must exist; otherwise discover .cotal/agents/<name>.md if present.
363
- let configPath;
364
- if (opts.config) {
365
- configPath = agentFilePath(this.workspaceRoot, opts.config);
366
- if (!existsSync(configPath))
367
- return { ok: false, error: `agent file not found: ${configPath}` };
368
- }
369
- else {
370
- const f = agentFilePath(this.workspaceRoot, base);
371
- if (existsSync(f))
372
- configPath = f;
373
- }
374
- // --role overrides the file; the file fills it in for bookkeeping otherwise.
375
- let role = opts.role;
376
- // A stable nkey identity assigned at spawn: the public key is the agent's card.id
377
- // (threaded via COTAL_ID); the seed is retained to mint matching creds later.
369
+ // A stable nkey identity assigned at spawn: the public key is the agent's card.id (threaded via
370
+ // COTAL_ID); the seed is retained to mint matching creds later.
378
371
  const identity = newIdentity();
379
- // The agent's read ACL, defaulted the same way the loader/provisioner do retained on the
380
- // managed record so the mediated join/leave op can validate channels allowSubscribe.
381
- let allowSubscribe = ["general"];
382
- let handle;
383
- try {
384
- const connector = registry.resolve("connector", agent);
385
- const def = configPath ? loadAgentFile(configPath) : undefined;
386
- if (!role)
387
- role = def?.role;
388
- allowSubscribe = def?.allowSubscribe ?? def?.subscribe ?? ["general"];
389
- // In auth mode, mint the agent's creds from the space signing key and write them where the
390
- // spawned session reads them (COTAL_CREDS path). Open mesh → no creds. Read scope = the
391
- // file's subscribe/allowSubscribe; post scope = its allowPublish (default-deny).
392
- let credsPath;
393
- if (this.auth) {
394
- // Pre-create the agent's bind-only chat (+ DM + role TASK) durables and mint its scoped
395
- // creds — the shared onboarding step (provisionAgent), the manager just supplies its
396
- // own connected endpoint as the privileged provisioner.
397
- const creds = await provisionAgent(this.ep, this.auth, identity, {
398
- subscribe: def?.subscribe,
399
- allowSubscribe,
400
- allowPublish: def?.allowPublish,
401
- role,
402
- capabilities: def?.capabilities,
403
- });
404
- credsPath = join(authDir(this.workspaceRoot), "creds", `${name}.creds`);
405
- mkdirSync(dirname(credsPath), { recursive: true });
406
- writeFileSync(credsPath, creds, { mode: 0o600 });
407
- }
408
- // Personal MCP servers the operator opted to share with manager-spawned agents of this
409
- // type (cotal config; default none → isolated, the memory-safe default this guards).
410
- const mcpServers = connectorServers(loadCotalConfig(this.workspaceRoot), agent);
411
- const spec = connector.buildLaunch({
412
- space: this.space,
413
- name,
372
+ // In auth mode, mint the agent's creds from the space signing key and write them where the
373
+ // spawned session reads them (COTAL_CREDS path). Open mesh no creds. Read scope = the file's
374
+ // subscribe/allowSubscribe; post scope = its allowPublish (default-deny).
375
+ let credsPath;
376
+ if (this.auth) {
377
+ // Pre-create the agent's bind-only chat (+ DM + role TASK) durables and mint its scoped creds
378
+ // the shared onboarding step (provisionAgent); the manager supplies its own connected
379
+ // endpoint as the privileged provisioner.
380
+ const creds = await provisionAgent(this.ep, this.auth, identity, {
381
+ subscribe: def.subscribe,
382
+ allowSubscribe,
383
+ allowPublish: def.allowPublish,
414
384
  role,
415
- id: identity.id,
416
- creds: credsPath,
417
- servers: this.servers,
418
- configPath,
419
- transcript: opts.transcript,
420
- mcpServers,
385
+ capabilities: def.capabilities,
421
386
  });
422
- handle = this.runtime.spawn(name, spec, this.workspaceRoot);
423
- }
424
- catch (e) {
425
- // Pre-set failure: the slot was never live, so no cold-start was paid — the reserved
426
- // rollback (finally) is enough, no cooling stamp.
427
- return { ok: false, error: e.message };
387
+ credsPath = join(authDir(this.workspaceRoot), "creds", `${name}.creds`);
388
+ mkdirSync(dirname(credsPath), { recursive: true });
389
+ writeFileSync(credsPath, creds, { mode: 0o600 });
428
390
  }
391
+ // Personal MCP servers the operator opted to share with manager-spawned agents of this type
392
+ // (cotal config; default none → isolated, the memory-safe default this guards).
393
+ const mcpServers = connectorServers(loadCotalConfig(this.workspaceRoot), agent);
394
+ const spec = connector.buildLaunch({
395
+ space: this.space,
396
+ name,
397
+ role,
398
+ id: identity.id,
399
+ creds: credsPath,
400
+ servers: this.servers,
401
+ configPath,
402
+ model: opts.model,
403
+ transcript: opts.transcript,
404
+ mcpServers,
405
+ });
406
+ const handle = this.runtime.spawn(name, spec, this.workspaceRoot);
429
407
  const managed = {
430
408
  name,
431
409
  role,
@@ -435,7 +413,6 @@ export class Manager {
435
413
  spawner: spawner ?? this.ep.ref().id,
436
414
  startedAt: Date.now(),
437
415
  handle,
438
- allowSubscribe,
439
416
  };
440
417
  this.agents.set(name, managed);
441
418
  // Wire the runtime exit signal so a natural exit (crash / /exit / finished) frees the slot
@@ -443,6 +420,11 @@ export class Manager {
443
420
  this.watchExit(managed);
444
421
  return { ok: true, data: { name, role, agent, id: identity.id, mode: handle.kind } };
445
422
  }
423
+ catch (e) {
424
+ // Failure after reserve (provision / launch threw): the slot was never live, so no cold-start
425
+ // was paid — the reserved rollback (finally) is enough, no cooling stamp.
426
+ return { ok: false, error: e.message };
427
+ }
446
428
  finally {
447
429
  this.reserved.delete(name);
448
430
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
package/dist/roster.d.ts CHANGED
@@ -9,8 +9,9 @@ import type { StartAgentOpts } from "./manager.js";
9
9
  *
10
10
  * Each entry maps 1:1 to a {@link Manager.startAgent} call — the same spawn path the
11
11
  * control-plane `start` op uses. `agent` is required (the connector type; there is no
12
- * default connector). `role`/`config` are optional; persona/model come from the agent
13
- * file the manager discovers at `.cotal/agents/<name>.md`.
12
+ * default connector). `name` is the persona REF (the file `.cotal/agents/<name>.md`, which
13
+ * must exist); the booted peer presents under that file's own `name:`. `role`/`config` are
14
+ * optional; persona/model come from the same file.
14
15
  */
15
16
  export declare function loadRoster(path: string): StartAgentOpts[];
16
17
  //# sourceMappingURL=roster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roster.d.ts","sourceRoot":"","sources":["../src/roster.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAsBzD"}
1
+ {"version":3,"file":"roster.d.ts","sourceRoot":"","sources":["../src/roster.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAsBzD"}
package/dist/roster.js CHANGED
@@ -10,8 +10,9 @@ import { parse } from "yaml";
10
10
  *
11
11
  * Each entry maps 1:1 to a {@link Manager.startAgent} call — the same spawn path the
12
12
  * control-plane `start` op uses. `agent` is required (the connector type; there is no
13
- * default connector). `role`/`config` are optional; persona/model come from the agent
14
- * file the manager discovers at `.cotal/agents/<name>.md`.
13
+ * default connector). `name` is the persona REF (the file `.cotal/agents/<name>.md`, which
14
+ * must exist); the booted peer presents under that file's own `name:`. `role`/`config` are
15
+ * optional; persona/model come from the same file.
15
16
  */
16
17
  export function loadRoster(path) {
17
18
  const doc = parse(readFileSync(path, "utf8"));
@@ -1 +1 @@
1
- {"version":3,"file":"roster.js","sourceRoot":"","sources":["../src/roster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAG7B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,GAAG,GAAY,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,GAA4B,CAAC,MAAM,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,uCAAuC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAI,GAA6B,CAAC,MAAM,CAAC;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAsB,EAAE;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACtC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,4CAA4C,CAAC,CAAC;QACxF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"roster.js","sourceRoot":"","sources":["../src/roster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAG7B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,GAAG,GAAY,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,GAA4B,CAAC,MAAM,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,uCAAuC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAI,GAA6B,CAAC,MAAM,CAAC;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAsB,EAAE;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACtC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,4CAA4C,CAAC,CAAC;QACxF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/manager",
3
3
  "description": "Cotal agent supervisor: spawns and manages mesh nodes via a pluggable runtime (pty/tmux/cmux).",
4
- "version": "0.5.0",
4
+ "version": "0.7.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -24,11 +24,11 @@
24
24
  "@xterm/xterm": "^5.5.0",
25
25
  "ws": "^8.21.0",
26
26
  "yaml": "^2.9.0",
27
- "@cotal-ai/core": "0.5.0"
27
+ "@cotal-ai/core": "0.7.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/ws": "^8.18.1",
31
- "@cotal-ai/connector-core": "0.5.0"
31
+ "@cotal-ai/connector-core": "0.7.0"
32
32
  },
33
33
  "files": [
34
34
  "dist"