@cotal-ai/cli 0.10.0 → 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.
Files changed (142) hide show
  1. package/dist/command.d.ts.map +1 -1
  2. package/dist/command.js +11 -3
  3. package/dist/command.js.map +1 -1
  4. package/dist/commands/agents.d.ts.map +1 -1
  5. package/dist/commands/agents.js +30 -13
  6. package/dist/commands/agents.js.map +1 -1
  7. package/dist/commands/channels.d.ts.map +1 -1
  8. package/dist/commands/channels.js +16 -6
  9. package/dist/commands/channels.js.map +1 -1
  10. package/dist/commands/completion.js +5 -5
  11. package/dist/commands/console.d.ts +1 -1
  12. package/dist/commands/console.d.ts.map +1 -1
  13. package/dist/commands/console.js +17 -11
  14. package/dist/commands/console.js.map +1 -1
  15. package/dist/commands/doctor.d.ts +14 -0
  16. package/dist/commands/doctor.d.ts.map +1 -0
  17. package/dist/commands/doctor.js +171 -0
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/down-manifest.js +15 -15
  20. package/dist/commands/down.d.ts.map +1 -1
  21. package/dist/commands/down.js +42 -5
  22. package/dist/commands/down.js.map +1 -1
  23. package/dist/commands/ext.js +11 -11
  24. package/dist/commands/feedback.js +2 -2
  25. package/dist/commands/history.d.ts.map +1 -1
  26. package/dist/commands/history.js +7 -3
  27. package/dist/commands/history.js.map +1 -1
  28. package/dist/commands/join.d.ts.map +1 -1
  29. package/dist/commands/join.js +14 -7
  30. package/dist/commands/join.js.map +1 -1
  31. package/dist/commands/meshes.js +2 -2
  32. package/dist/commands/mint.d.ts.map +1 -1
  33. package/dist/commands/mint.js +16 -5
  34. package/dist/commands/mint.js.map +1 -1
  35. package/dist/commands/models.d.ts +29 -0
  36. package/dist/commands/models.d.ts.map +1 -0
  37. package/dist/commands/models.js +54 -0
  38. package/dist/commands/models.js.map +1 -0
  39. package/dist/commands/personas.js +4 -4
  40. package/dist/commands/send.js +1 -1
  41. package/dist/commands/setup.js +25 -25
  42. package/dist/commands/setup.js.map +1 -1
  43. package/dist/commands/spawn-manifest.d.ts.map +1 -1
  44. package/dist/commands/spawn-manifest.js +47 -25
  45. package/dist/commands/spawn-manifest.js.map +1 -1
  46. package/dist/commands/spawn.d.ts +11 -0
  47. package/dist/commands/spawn.d.ts.map +1 -1
  48. package/dist/commands/spawn.js +276 -47
  49. package/dist/commands/spawn.js.map +1 -1
  50. package/dist/commands/status.d.ts +15 -0
  51. package/dist/commands/status.d.ts.map +1 -0
  52. package/dist/commands/status.js +237 -0
  53. package/dist/commands/status.js.map +1 -0
  54. package/dist/commands/topology.js +2 -2
  55. package/dist/commands/up.d.ts +5 -0
  56. package/dist/commands/up.d.ts.map +1 -1
  57. package/dist/commands/up.js +269 -48
  58. package/dist/commands/up.js.map +1 -1
  59. package/dist/commands/use.js +1 -1
  60. package/dist/console/commands.js +2 -2
  61. package/dist/console/mesh.js +1 -1
  62. package/dist/console/mesh.js.map +1 -1
  63. package/dist/console/root.d.ts +15 -3
  64. package/dist/console/root.d.ts.map +1 -1
  65. package/dist/console/root.js +12 -7
  66. package/dist/console/root.js.map +1 -1
  67. package/dist/console/ui/Confirm.js +1 -1
  68. package/dist/console/ui/Confirm.js.map +1 -1
  69. package/dist/console/ui/Feed.js +1 -1
  70. package/dist/console/ui/Feed.js.map +1 -1
  71. package/dist/console/ui/Help.js +2 -2
  72. package/dist/console/ui/Help.js.map +1 -1
  73. package/dist/console/ui/NeedsYou.js +1 -1
  74. package/dist/console/ui/NeedsYou.js.map +1 -1
  75. package/dist/console/ui/SpacePicker.js +1 -1
  76. package/dist/console/ui/SpacePicker.js.map +1 -1
  77. package/dist/console/ui/Tiles.js +1 -1
  78. package/dist/console/ui/topo/Map.js +1 -1
  79. package/dist/console/ui/topo/Map.js.map +1 -1
  80. package/dist/console/ui/topo/Matrix.js +2 -2
  81. package/dist/console/ui/topo/Matrix.js.map +1 -1
  82. package/dist/console/ui/topo/Sequence.js +1 -1
  83. package/dist/console/ui/topo/Sequence.js.map +1 -1
  84. package/dist/ext-loader.js +8 -8
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +48 -17
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/attach-client.js +1 -1
  89. package/dist/lib/auth-proc.d.ts +19 -0
  90. package/dist/lib/auth-proc.d.ts.map +1 -0
  91. package/dist/lib/auth-proc.js +81 -0
  92. package/dist/lib/auth-proc.js.map +1 -0
  93. package/dist/lib/connect.d.ts +1 -1
  94. package/dist/lib/connect.d.ts.map +1 -1
  95. package/dist/lib/connect.js +2 -2
  96. package/dist/lib/connect.js.map +1 -1
  97. package/dist/lib/control.d.ts +14 -6
  98. package/dist/lib/control.d.ts.map +1 -1
  99. package/dist/lib/control.js +23 -11
  100. package/dist/lib/control.js.map +1 -1
  101. package/dist/lib/delivery-proc.js +2 -2
  102. package/dist/lib/manifest/apply.d.ts +3 -2
  103. package/dist/lib/manifest/apply.d.ts.map +1 -1
  104. package/dist/lib/manifest/apply.js +12 -2
  105. package/dist/lib/manifest/apply.js.map +1 -1
  106. package/dist/lib/manifest/ledger.js +4 -4
  107. package/dist/lib/manifest/live.d.ts +23 -9
  108. package/dist/lib/manifest/live.d.ts.map +1 -1
  109. package/dist/lib/manifest/live.js +22 -12
  110. package/dist/lib/manifest/live.js.map +1 -1
  111. package/dist/lib/manifest/model.d.ts +6 -1
  112. package/dist/lib/manifest/model.d.ts.map +1 -1
  113. package/dist/lib/manifest/prepare.d.ts +4 -1
  114. package/dist/lib/manifest/prepare.d.ts.map +1 -1
  115. package/dist/lib/manifest/prepare.js +8 -3
  116. package/dist/lib/manifest/prepare.js.map +1 -1
  117. package/dist/lib/manifest/render.d.ts.map +1 -1
  118. package/dist/lib/manifest/render.js +14 -13
  119. package/dist/lib/manifest/render.js.map +1 -1
  120. package/dist/lib/manifest/resolve.js +20 -6
  121. package/dist/lib/manifest/resolve.js.map +1 -1
  122. package/dist/lib/manifest/schema.d.ts +6 -1
  123. package/dist/lib/manifest/schema.d.ts.map +1 -1
  124. package/dist/lib/manifest/schema.js +12 -3
  125. package/dist/lib/manifest/schema.js.map +1 -1
  126. package/dist/lib/self-exec.d.ts +7 -2
  127. package/dist/lib/self-exec.d.ts.map +1 -1
  128. package/dist/lib/self-exec.js +14 -3
  129. package/dist/lib/self-exec.js.map +1 -1
  130. package/dist/lib/setup-log.js +1 -1
  131. package/dist/lib/status.d.ts +1 -1
  132. package/dist/lib/status.d.ts.map +1 -1
  133. package/dist/lib/status.js +22 -5
  134. package/dist/lib/status.js.map +1 -1
  135. package/dist/lib/transient.d.ts +8 -10
  136. package/dist/lib/transient.d.ts.map +1 -1
  137. package/dist/lib/transient.js +11 -11
  138. package/dist/lib/transient.js.map +1 -1
  139. package/dist/render.js +2 -2
  140. package/dist/ui.js +1 -1
  141. package/dist/ui.js.map +1 -1
  142. package/package.json +3 -3
@@ -0,0 +1,29 @@
1
+ import { type CompletionResult, type ParsedArgs } from "@cotal-ai/core";
2
+ export declare const modelsFlags: readonly [{
3
+ readonly name: "space";
4
+ readonly type: "string";
5
+ readonly value: "<s>";
6
+ readonly description: "target space (default: the resolved mesh)";
7
+ }, {
8
+ readonly name: "server";
9
+ readonly type: "string";
10
+ readonly value: "<url>";
11
+ readonly description: "broker URL (overrides the mesh registry entry)";
12
+ }, {
13
+ readonly name: "creds";
14
+ readonly type: "string";
15
+ readonly value: "<path>";
16
+ readonly description: "creds file for an off-registry connection";
17
+ }, {
18
+ readonly name: "agent";
19
+ readonly type: "string";
20
+ readonly value: "<connector>";
21
+ readonly description: "connector to inspect (default: all registered connectors)";
22
+ }, {
23
+ readonly name: "refresh";
24
+ readonly type: "boolean";
25
+ readonly description: "ask the connector to refresh its provider cache";
26
+ }];
27
+ export declare function modelsComplete(argv: string[]): CompletionResult;
28
+ export declare function models(args: ParsedArgs): Promise<void>;
29
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,gBAAgB,EAA8F,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMlM,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAIgB,CAAC;AAEzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAM/D;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5D"}
@@ -0,0 +1,54 @@
1
+ import { CONTROL_PRIVILEGED, registry } from "@cotal-ai/core";
2
+ import { loadMeshes, targetFlags } from "@cotal-ai/workspace";
3
+ import { c } from "../ui.js";
4
+ import { askManager, failIfNotOk, resolveControlTarget } from "../lib/control.js";
5
+ import { completingFlagValue } from "../lib/completion.js";
6
+ export const modelsFlags = [
7
+ ...targetFlags,
8
+ { name: "agent", type: "string", value: "<connector>", description: "connector to inspect (default: all registered connectors)" },
9
+ { name: "refresh", type: "boolean", description: "ask the connector to refresh its provider cache" },
10
+ ];
11
+ export function modelsComplete(argv) {
12
+ const flag = completingFlagValue(argv, modelsFlags);
13
+ if (flag?.name === "space")
14
+ return { items: loadMeshes().map((m) => ({ value: m.space })), directive: "nofiles" };
15
+ if (flag?.name === "agent")
16
+ return { items: registry.all("connector").map((c) => ({ value: c.name })), directive: "nofiles" };
17
+ if (flag?.name === "creds")
18
+ return { items: [], directive: "default" };
19
+ return { items: [], directive: "nofiles" };
20
+ }
21
+ export async function models(args) {
22
+ const v = args.values;
23
+ const t = await resolveControlTarget(v, "control-caller-privileged");
24
+ const reply = await askManager(t.space, t.server, "models", { agent: v.agent, refresh: v.refresh === true }, t.auth, CONTROL_PRIVILEGED);
25
+ failIfNotOk(reply);
26
+ const rows = Array.isArray(reply.data) ? reply.data : [reply.data];
27
+ for (const row of rows)
28
+ renderCatalog(row);
29
+ }
30
+ function renderCatalog(row) {
31
+ if (!row.supported) {
32
+ console.log(`${c.bold(row.agent)} ${c.dim("no model catalog exposed")}`);
33
+ return;
34
+ }
35
+ if (row.error) {
36
+ console.log(`${c.bold(row.agent)} ${c.red(row.error)}`);
37
+ return;
38
+ }
39
+ console.log(c.bold(row.agent) + (row.source ? c.dim(` ${row.source}`) : ""));
40
+ if (!row.models.length) {
41
+ console.log(c.dim(" (no models reported)"));
42
+ return;
43
+ }
44
+ const pad = Math.max(...row.models.map((m) => m.id.length));
45
+ for (const model of row.models)
46
+ renderModel(model, pad);
47
+ }
48
+ function renderModel(model, pad) {
49
+ const name = model.name && model.name !== model.id ? c.dim(` ${model.name}`) : "";
50
+ console.log(` ${model.id.padEnd(pad)}${name}`);
51
+ if (model.variants?.length)
52
+ console.log(c.dim(` ${"".padEnd(pad)} variants: ${model.variants.map((v) => v.name).join(", ")}`));
53
+ }
54
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ function edit(name) {
144
144
  return notFound(name, path);
145
145
  const editor = process.env.VISUAL || process.env.EDITOR;
146
146
  if (!editor) {
147
- console.error(c.red("no editor set export EDITOR (or VISUAL), e.g. export EDITOR=vim"));
147
+ console.error(c.red("no editor set - export EDITOR (or VISUAL), e.g. export EDITOR=vim"));
148
148
  process.exit(1);
149
149
  }
150
150
  // Hand the terminal to the editor (inherit stdio so it draws). $EDITOR may carry flags
@@ -155,7 +155,7 @@ function edit(name) {
155
155
  process.exit(1);
156
156
  }
157
157
  if (res.status !== 0) {
158
- console.error(c.red(`editor exited ${res.signal ? `on ${res.signal}` : `with status ${res.status}`} not saved`));
158
+ console.error(c.red(`editor exited ${res.signal ? `on ${res.signal}` : `with status ${res.status}`} - not saved`));
159
159
  process.exit(1);
160
160
  }
161
161
  // Re-validate: a save that breaks the frontmatter must fail loud, not ship a broken card.
@@ -163,7 +163,7 @@ function edit(name) {
163
163
  loadAgentFile(path);
164
164
  }
165
165
  catch (e) {
166
- console.error(c.red(`⨯ "${name}" is now unparseable fix it:`));
166
+ console.error(c.red(`⨯ "${name}" is now unparseable - fix it:`));
167
167
  console.error(c.dim(` ${e.message}`));
168
168
  process.exit(1);
169
169
  }
@@ -179,7 +179,7 @@ function create(name, v) {
179
179
  assertValidName(name); // shared reserved-character guard (also rejects "/")
180
180
  const path = agentFilePath(cotalRoot(), name);
181
181
  if (existsSync(path) && !v.force) {
182
- console.error(c.red(`persona "${name}" already exists pass --force to overwrite`));
182
+ console.error(c.red(`persona "${name}" already exists - pass --force to overwrite`));
183
183
  console.error(c.dim(path));
184
184
  process.exit(1);
185
185
  }
@@ -40,7 +40,7 @@ async function dm(values, positionals) {
40
40
  catch (e) {
41
41
  if (!(e instanceof AmbiguousPeerError))
42
42
  throw e;
43
- console.error(c.red(`"${target}" is ambiguous DM by instance id instead:`));
43
+ console.error(c.red(`"${target}" is ambiguous - DM by instance id instead:`));
44
44
  for (const cand of e.candidates)
45
45
  console.error(c.dim(` ${cand.name} (${cand.status}) ${cand.id}`));
46
46
  await ep.stop();
@@ -16,7 +16,7 @@ import { cotalOnPath, displayCmd, isNpx, selfArgv } from "../lib/self-exec.js";
16
16
  import { cotalPath } from "../lib/paths.js";
17
17
  const ONBOARD_VERSION = "2";
18
18
  const README_URL = "https://github.com/Cotal-AI/Cotal/blob/main/README.md";
19
- const CC_DOCS_URL = "https://github.com/Cotal-AI/Cotal/blob/main/docs/claude-code-integration.md";
19
+ const CC_DOCS_URL = "https://github.com/Cotal-AI/Cotal/blob/main/docs/connect-claude.md";
20
20
  const NATS_RELEASES_URL = "https://github.com/nats-io/nats-server/releases";
21
21
  /** `cotal setup`'s grammar — configure-only knobs. The old `--auth`/`--open` flags configured the
22
22
  * MESH MODE at setup-launch time; setup no longer launches anything, so both are gone here —
@@ -70,7 +70,7 @@ async function runFirstRun(yes, demo) {
70
70
  {
71
71
  name: "nats-binary",
72
72
  title: "Locate the NATS server",
73
- explain: "Cotal runs on NATS + JetStream, the wire your agents speak over. (Located only `cotal up` starts it.)",
73
+ explain: "Cotal runs on NATS + JetStream, the wire your agents speak over. (Located only - `cotal up` starts it.)",
74
74
  context: [NATS_RELEASES_URL, README_URL],
75
75
  async run() {
76
76
  const r = await resolveNatsServer();
@@ -99,7 +99,7 @@ async function runFirstRun(yes, demo) {
99
99
  // Your agent: the generic `default` persona a bare `cotal spawn` launches — one agent, yours to
100
100
  // shape. This is the whole first-run default; the guided expert team is opt-in right below.
101
101
  seedDefaultAgent();
102
- p.log.success("Seeded your agent (.cotal/agents/default.md) spawn it with `cotal spawn` once your mesh is up");
102
+ p.log.success("Seeded your agent (.cotal/agents/default.md) - spawn it with `cotal spawn` once your mesh is up");
103
103
  log.line("default-agent: wrote default.md");
104
104
  // The guided expert team (david the engineer + sven the guide + me, your session) is opt-in:
105
105
  // `cotal setup --demo` (or `--full`). Keeps the default first run to one agent, not a crowd.
@@ -127,13 +127,13 @@ async function runFirstRun(yes, demo) {
127
127
  `${ok("✓")} stop everything ${dim(`${cmd} down`)}`,
128
128
  ];
129
129
  const tail = demo
130
- ? [dim(`Visual dashboard: ${cmd} ext add cotal-web · then ${cmd} web`)]
130
+ ? [dim(`Visual dashboard: ${cmd} ext add @cotal-ai/web · then ${cmd} web`)]
131
131
  : [
132
- dim(`Want a visual dashboard? ${cmd} ext add cotal-web · then ${cmd} web`),
132
+ dim(`Want a visual dashboard? ${cmd} ext add @cotal-ai/web · then ${cmd} web`),
133
133
  dim(`Want a guided team (david the engineer, sven the guide)? ${cmd} setup --demo`),
134
134
  ];
135
135
  note([
136
- "Everything is configured nothing has been started. Bring your mesh up when you're ready:",
136
+ "Everything is configured - nothing has been started. Bring your mesh up when you're ready:",
137
137
  "",
138
138
  ...driveLines,
139
139
  "",
@@ -156,7 +156,7 @@ export async function offerGlobalInstall(yes) {
156
156
  if (!yes && process.stdin.isTTY) {
157
157
  const go = abortIfCancel(await p.confirm({ message: "Install `cotal` globally so you can just type `cotal`?", initialValue: true }));
158
158
  if (!go) {
159
- p.log.info(`No problem keep using ${dim("npx cotal-ai")}. Install later with ${dim("npm i -g cotal-ai")}.`);
159
+ p.log.info(`No problem - keep using ${dim("npx cotal-ai")}. Install later with ${dim("npm i -g cotal-ai")}.`);
160
160
  return;
161
161
  }
162
162
  }
@@ -165,7 +165,7 @@ export async function offerGlobalInstall(yes) {
165
165
  s.start("Installing cotal globally");
166
166
  const r = spawnSync("npm", ["install", "-g", pkg], { encoding: "utf8" });
167
167
  if (r.status === 0) {
168
- s.stop("Installed you can now run `cotal`");
168
+ s.stop("Installed - you can now run `cotal`");
169
169
  }
170
170
  else {
171
171
  s.stop("Couldn't install globally");
@@ -235,7 +235,7 @@ async function runEnsure(demo) {
235
235
  await readyCard(process.cwd());
236
236
  }
237
237
  /** True when an installed extension contributes the `web` command (the dashboard moved out to
238
- * `cotal-web` in stage 4) — decides whether the ready-card says "start it" or "install it". */
238
+ * `@cotal-ai/web` in stage 4) — decides whether the ready-card says "start it" or "install it". */
239
239
  function webInstalled() {
240
240
  try {
241
241
  return loadExtensionsManifest().extensions.some((e) => e.commands.some((cm) => cm.name === "web"));
@@ -246,7 +246,7 @@ function webInstalled() {
246
246
  }
247
247
  /** Install the dashboard extension once, without turning setup into a launch command. This reuses the
248
248
  * public `ext add` path in a child process so package install, peer linking, command verification,
249
- * and manifest writes stay identical to an explicit `cotal ext add cotal-web`. Best-effort: setup is
249
+ * and manifest writes stay identical to an explicit `cotal ext add @cotal-ai/web`. Best-effort: setup is
250
250
  * still useful on locked-down machines where npm/registry access is unavailable. */
251
251
  async function ensureWebExtension() {
252
252
  if (webInstalled())
@@ -266,11 +266,11 @@ async function ensureWebExtension() {
266
266
  }
267
267
  s.stop("Couldn't install the web dashboard extension");
268
268
  const tail = `${r.stdout ?? ""}${r.stderr ?? ""}`.trim().split("\n").slice(-6).join("\n");
269
- p.log.warn(`${tail ? `${tail}\n\n` : ""}Install it later with ${dim(`${displayCmd()} ext add cotal-web`)}.`);
269
+ p.log.warn(`${tail ? `${tail}\n\n` : ""}Install it later with ${dim(`${displayCmd()} ext add @cotal-ai/web`)}.`);
270
270
  }
271
271
  function defaultWebExtensionSpec() {
272
272
  const local = join(import.meta.dirname, "..", "..", "..", "web");
273
- return existsSync(join(local, "package.json")) ? local : "cotal-web";
273
+ return existsSync(join(local, "package.json")) ? local : "@cotal-ai/web";
274
274
  }
275
275
  /** The `cotal · status` one-glance card: machine + mesh + web + manager status (read-only
276
276
  * probes — displaying state is not depending on it), plus the key commands. */
@@ -285,9 +285,9 @@ async function readyCard(cwd) {
285
285
  note([
286
286
  line(m.nats !== "missing", `NATS ${dim(m.nats === "missing" ? "missing" : m.nats)}`),
287
287
  line(m.claudePlugin, `plugin ${dim(m.claudePlugin ? "installed" : "not installed")}`),
288
- line(mesh.reachable, `mesh ${dim(mesh.reachable ? `${mesh.server} · space ${mesh.space}` : `down start: ${cmd} up --detach`)}`),
289
- line(web, `web ${dim(web ? WEB_URL : webInstalled() ? `down start: ${cmd} web` : `not installed retry: ${cmd} setup`)}`),
290
- line(mgr, `manager ${dim(mgr ? "running" : `not running start: ${cmd} up, or: ${cmd} supervise`)}`),
288
+ line(mesh.reachable, `mesh ${dim(mesh.reachable ? `${mesh.server} · space ${mesh.space}` : `down · start: ${cmd} up --detach`)}`),
289
+ line(web, `web ${dim(web ? WEB_URL : webInstalled() ? `down · start: ${cmd} web` : `not installed · retry: ${cmd} setup`)}`),
290
+ line(mgr, `manager ${dim(mgr ? "running" : `not running · start: ${cmd} up, or: ${cmd} supervise`)}`),
291
291
  "",
292
292
  `start the mesh: ${dim(`${cmd} up --detach`)}`,
293
293
  // Match the hint to what's actually on disk: the guided team (with --demo) vs the one default agent.
@@ -375,7 +375,7 @@ allowPublish: [">"]
375
375
  capabilities: [spawn]
376
376
  ---
377
377
 
378
- You are an agent on the Cotal mesh a shared space where agents join, see who's around, and
378
+ You are an agent on the Cotal mesh - a shared space where agents join, see who's around, and
379
379
  coordinate as peers rather than working in silos. Use the Cotal tools available to you to find
380
380
  your peers and work with them. Edit this file to give yourself a name, role, and purpose.
381
381
  `;
@@ -399,12 +399,12 @@ function seedDemoTeam(log) {
399
399
  for (const [name, body] of Object.entries(DEMO_AGENTS)) {
400
400
  writeDemoAgent(cotalPath("agents", `${name}.md`), body);
401
401
  }
402
- p.log.success("Added the guided team david (the engineer), sven (the guide), and your session (me); spawn them when your mesh is up");
402
+ p.log.success("Added the guided team - david (the engineer), sven (the guide), and your session (me); spawn them when your mesh is up");
403
403
  log?.line("demo-agents: wrote david + sven + me");
404
404
  }
405
405
  const DEMO_AGENTS = {
406
406
  david: `---
407
- ${MANAGED_MARKER} edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
407
+ ${MANAGED_MARKER} - edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
408
408
  name: david
409
409
  role: cotal-tech
410
410
  description: "the engineer: how Cotal works (the wire, NATS, connectors, integration)."
@@ -417,16 +417,16 @@ You are david, Cotal's engineer, live on the web for agents with the operator wh
417
417
  up. You help them set up and experiment. Your topic is how Cotal works: the wire contract (subjects,
418
418
  message schemas, presence), NATS and JetStream underneath, the endpoint/connector model, the
419
419
  delivery modes (multicast, unicast, anycast), and how to get any agent or framework onto the mesh.
420
- You ground every answer in the real thing, never a guess. Start from \`docs/OVERVIEW.md\` (what Cotal
421
- is and its core primitives) and \`docs/getting-started.md\`, then read the source for your topic
422
- \`docs/architecture.md\`, \`docs/claude-code-integration.md\`, \`docs/setup-internals.md\`, and, in a
420
+ You ground every answer in the real thing, never a guess. Start from \`docs/what-is-cotal.md\` (what Cotal
421
+ is and its core primitives) and \`docs/getting-started.md\`, then read the source for your topic:
422
+ \`docs/architecture.md\`, \`docs/connect-claude.md\`, \`docs/setup-internals.md\`, and, in a
423
423
  source checkout, \`packages/\` and \`extensions/\`. Quote the exact subjects, message kinds, config, and
424
424
  commands; if the docs don't cover it, say so rather than inventing. If they aren't on disk, look
425
425
  them up at https://github.com/Cotal-AI/Cotal. If a question is really about use-cases or what to
426
426
  build, hand it to your peer sven.
427
427
  `,
428
428
  sven: `---
429
- ${MANAGED_MARKER} edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
429
+ ${MANAGED_MARKER} - edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
430
430
  name: sven
431
431
  role: cotal-guide
432
432
  description: "the guide: what to build with Cotal (examples, setups, getting the most out of it)."
@@ -437,8 +437,8 @@ allowPublish: [general]
437
437
 
438
438
  You are sven, Cotal's guide, live on the web for agents with the operator who just set Cotal up.
439
439
  You help them set up and experiment. You design multi-agent setups: who should be on a space, how
440
- they'd coordinate, what's worth trying grounded in what Cotal can actually do, never made-up
441
- features. Start from \`docs/OVERVIEW.md\` (what Cotal is and its core primitives channels, anycast,
440
+ they'd coordinate, what's worth trying - grounded in what Cotal can actually do, never made-up
441
+ features. Start from \`docs/what-is-cotal.md\` (what Cotal is and its core primitives - channels, anycast,
442
442
  presence, spawn, personas, delivery modes) and \`docs/getting-started.md\`; read the matching example
443
443
  in \`examples/*/README.md\` (indexed in \`docs/examples.md\`) before sketching, and reach for
444
444
  \`docs/architecture.md\` when you need a primitive to design something new. Cite the example or
@@ -446,7 +446,7 @@ primitive you're drawing on. If they aren't on disk, look them up at https://git
446
446
  For deep how-it-works or integration details, pull in your peer david.
447
447
  `,
448
448
  me: `---
449
- ${MANAGED_MARKER} edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
449
+ ${MANAGED_MARKER} - edit DEMO_AGENTS in the cotal CLI; delete this line to keep local changes
450
450
  name: me
451
451
  role: operator
452
452
  description: "your own session on the Cotal mesh."
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-manifest.d.ts","sourceRoot":"","sources":["../../src/commands/spawn-manifest.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAQD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwM1F"}
1
+ {"version":3,"file":"spawn-manifest.d.ts","sourceRoot":"","sources":["../../src/commands/spawn-manifest.ts"],"names":[],"mappings":"AAyCA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAQD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8N1F"}
@@ -14,10 +14,10 @@
14
14
  */
15
15
  import { readFileSync } from "node:fs";
16
16
  import { resolve } from "node:path";
17
- import { DEFAULT_SERVER, MANAGER_LEASE_TTL_MS, mintCreds, newIdentity, readChannelRegistry, seedChannelRegistry, } from "@cotal-ai/core";
17
+ import { DEFAULT_SERVER, MANAGER_LEASE_TTL_MS, mintCreds, newIdentity, readChannelRegistry, seedChannelRegistry, CONTROL_ADMIN, CONTROL_PRIVILEGED, } from "@cotal-ai/core";
18
18
  import { c } from "../ui.js";
19
19
  import { cotalRoot } from "../lib/paths.js";
20
- import { connectOrExit } from "../lib/connect.js";
20
+ import { connectOrExit, userViewAuthOrExit } from "../lib/connect.js";
21
21
  import { startManagerDetached } from "../lib/manager-proc.js";
22
22
  import { loadManifest } from "../lib/manifest/index.js";
23
23
  import { buildLaunchSpec, channelsSeed, genRunId, preflightConnectors, writeLaunchSpec } from "../lib/manifest/apply.js";
@@ -40,7 +40,7 @@ export async function spawnManifest(file, flags) {
40
40
  failManifest(e);
41
41
  }
42
42
  if (flags.runtime && !RUNTIMES.includes(flags.runtime)) {
43
- console.error(c.red(`✗ unknown --runtime "${flags.runtime}" expected ${RUNTIMES.join(", ")}`));
43
+ console.error(c.red(`✗ unknown --runtime "${flags.runtime}" - expected ${RUNTIMES.join(", ")}`));
44
44
  process.exit(1);
45
45
  }
46
46
  const eff = applyOverrides(prepared, flags);
@@ -55,10 +55,18 @@ export async function spawnManifest(file, flags) {
55
55
  }
56
56
  // spawn -f deploys onto a RUNNING mesh — the broker MUST be reachable (opposite of up -f). Resolve
57
57
  // the mesh + mint a scoped `deployer` cred from the local registry/auth (same-checkout): the one
58
- // connectProbe endpoint below reads live state (roster/registry/membership/lease) AND admin-control
58
+ // connectProbe endpoint below reads live state (roster/registry/membership/lease) AND control-
59
59
  // calls the manager's `launch`/`ps` — no `$JS.>`, no STREAM.DELETE, no DM read, no self-post. The
60
60
  // channel SEED rides a separate `channel-writer` cred (below), so the deploy cred writes no KV.
61
+ //
62
+ // USER MODE: the same read/probe surface rides a "deployer" VIEW bearer — exchange-gated on
63
+ // ledger scope "spawn" (deploying YOUR OWN team is spawn-grade, the own-agent owner-domain
64
+ // model) — with the control calls on the PRIVILEGED tier, where the manager enforces that the
65
+ // launch spec's stamped owner equals the caller's owner. The channel seed alone stays
66
+ // operator-grade (a "channel-writer" view, scope "admin", below).
61
67
  const connection = await connectOrExit({ server: m.broker?.servers ?? flags.server, space }, "deployer");
68
+ const user = connection.bearer ? await userViewAuthOrExit(connection, "deployer") : undefined;
69
+ const tier = user ? CONTROL_PRIVILEGED : CONTROL_ADMIN;
62
70
  const root = cotalRoot();
63
71
  // Same-checkout invariant (security/UX): the launch spec, the ledger, and the manager `spawn -f`
64
72
  // drives all live under THIS checkout's `.cotal`. Deploying onto a mesh recorded by a different
@@ -66,11 +74,11 @@ export async function spawnManifest(file, flags) {
66
74
  // resolved mesh is registered to this root; a raw off-registry target (no recorded root) isn't
67
75
  // supported for a manifest deploy.
68
76
  if (!connection.root) {
69
- console.error(c.red(`✗ spawn -f needs a mesh registered to this checkout a raw off-registry target (--server/--space) isn't supported for a manifest deploy`));
77
+ console.error(c.red(`✗ spawn -f needs a mesh registered to this checkout - a raw off-registry target (--server/--space) isn't supported for a manifest deploy`));
70
78
  process.exit(1);
71
79
  }
72
80
  if (resolve(connection.root) !== resolve(root)) {
73
- console.error(c.red(`✗ mesh "${space}" belongs to a different checkout (${connection.root}) \`spawn -f\` / \`down -f\` are same-checkout; run them from ${connection.root}`));
81
+ console.error(c.red(`✗ mesh "${space}" belongs to a different checkout (${connection.root}) - \`spawn -f\` / \`down -f\` are same-checkout; run them from ${connection.root}`));
74
82
  process.exit(1);
75
83
  }
76
84
  const manifestHash = hashManifestSource(readFileSync(abs, "utf8"));
@@ -85,7 +93,7 @@ export async function spawnManifest(file, flags) {
85
93
  process.exit(1);
86
94
  }
87
95
  if (priors.length > 1) {
88
- console.error(c.red(`✗ ${priors.length} runs already deployed this manifest (${priors.map((p) => p.ledger.runId).join(", ")}) tear one down first: \`cotal down -f ${file} --run <id>\``));
96
+ console.error(c.red(`✗ ${priors.length} runs already deployed this manifest (${priors.map((p) => p.ledger.runId).join(", ")}) - tear one down first: \`cotal down -f ${file} --run <id>\``));
89
97
  process.exit(1);
90
98
  }
91
99
  const prior = priors[0]?.ledger;
@@ -93,8 +101,17 @@ export async function spawnManifest(file, flags) {
93
101
  const ownedKeys = new Set(prior?.created.channels ?? []);
94
102
  const ownedIds = new Set((prior?.created.agents ?? []).map((a) => a.id));
95
103
  const ownedNames = new Set((prior?.created.agents ?? []).map((a) => a.name));
96
- const liveRegistry = await readChannelRegistry({ servers: connection.server, space, creds: connection.creds });
97
- const ep = await connectProbe({ space, server: connection.server, creds: connection.creds });
104
+ const liveRegistry = await readChannelRegistry({
105
+ servers: connection.server,
106
+ space,
107
+ ...(user ? { bearer: user.bearer, sentinelCreds: user.sentinelCreds } : { creds: connection.creds }),
108
+ });
109
+ const ep = await connectProbe({
110
+ space,
111
+ server: connection.server,
112
+ creds: connection.creds,
113
+ user: user ? { source: user.source, sentinelCreds: user.sentinelCreds, owner: user.owner, actor: user.actor } : undefined,
114
+ });
98
115
  try {
99
116
  const roster = await settleRoster(ep);
100
117
  const membership = await ep.readMembership().catch((e) => {
@@ -117,7 +134,7 @@ export async function spawnManifest(file, flags) {
117
134
  const allow = new Set(flags.allowStale ?? []);
118
135
  const unwaived = agentPlan.stale.filter((e) => !allow.has(e.agent.name));
119
136
  if (unwaived.length) {
120
- console.error(c.red(`✗ ${unwaived.length} declared agent(s) are stale (policy changed) restart required:`));
137
+ console.error(c.red(`✗ ${unwaived.length} declared agent(s) are stale (policy changed) - restart required:`));
121
138
  for (const e of unwaived)
122
139
  console.error(c.red(` ${e.agent.name}: ${e.prior?.name} hash ${e.prior?.hash.slice(0, 8)} → ${e.hash.slice(0, 8)}`));
123
140
  console.error(c.dim(` Waive (they keep running the OLD policy until restarted): --allow-stale ${unwaived.map((e) => e.agent.name).join(",")}`));
@@ -126,12 +143,15 @@ export async function spawnManifest(file, flags) {
126
143
  console.log(renderSpawnPlan(eff, channelPlan, agentPlan, unmanaged, { server: connection.server, runId, dryRun: false }), "\n");
127
144
  // 1) Seed ONLY brand-new channel keys — no defaults, no pre-existing/unmanaged card mutation. The
128
145
  // write rides a SEPARATE, narrow `channel-writer` cred (the `deployer` cred writes no KV); open/raw
129
- // meshes have no signing seed → fall back to the connection creds.
146
+ // meshes have no signing seed → fall back to the connection creds. USER MODE: the seed is
147
+ // space-level infrastructure — a one-shot "channel-writer" VIEW (ledger scope "admin"); a
148
+ // channel-declaring manifest under a spawn-only caller refuses HERE, naming the exact
149
+ // re-grant, before any write (deploying without channel declarations needs only "spawn").
130
150
  if (channelPlan.create.length) {
131
- const seedCreds = connection.auth
132
- ? await mintCreds(connection.auth, newIdentity(), "channel-writer")
133
- : connection.creds;
134
- await seedChannelRegistry({ servers: connection.server, space, creds: seedCreds, file: channelsSeed(channelPlan.create) });
151
+ const seedAuth = user
152
+ ? await userViewAuthOrExit(connection, "channel-writer").then((p) => ({ bearer: p.bearer, sentinelCreds: p.sentinelCreds }))
153
+ : { creds: connection.auth ? await mintCreds(connection.auth, newIdentity(), "channel-writer") : connection.creds };
154
+ await seedChannelRegistry({ servers: connection.server, space, ...seedAuth, file: channelsSeed(channelPlan.create) });
135
155
  }
136
156
  // 2-4) Boot the will-create agents through the workspace-local manager's admin `launch` op,
137
157
  // capturing the SPAWNED name + id the ledger keys on (creds are filed under the
@@ -140,8 +160,10 @@ export async function spawnManifest(file, flags) {
140
160
  const agents = [...(prior?.created.agents ?? [])];
141
161
  const launchedNow = [];
142
162
  if (agentPlan.willCreate.length) {
143
- // The manager reads the run spec by runId on each `launch`.
144
- writeLaunchSpec(root, buildLaunchSpec(eff, runId), { update: Boolean(prior) });
163
+ // The manager reads the run spec by runId on each `launch`. USER MODE stamps the deploy's
164
+ // owner (the login's derived owner, read from the deployer-view bearer) into the spec — the
165
+ // manager launches the agents under it AND enforces it equals the launch caller's owner.
166
+ writeLaunchSpec(root, buildLaunchSpec(eff, runId, user?.owner), { update: Boolean(prior) });
145
167
  // Ensure a manager is SERVING this space, then validate it's ours — the lease is the authoritative
146
168
  // owner record. A held lease alone is not proof a manager is alive (a crashed holder's key lingers
147
169
  // until the bucket TTL, MANAGER_LEASE_TTL_MS), so read it (fast) and, when one exists, PROBE control to tell
@@ -152,12 +174,12 @@ export async function spawnManifest(file, flags) {
152
174
  // Nobody owns the space — stand up a manager (it acquires the lease on boot).
153
175
  startManagerDetached({ space, server: connection.server, runtime });
154
176
  }
155
- else if (!(await waitManagerReady(ep, MANAGER_PROBE_MS))) {
177
+ else if (!(await waitManagerReady(ep, MANAGER_PROBE_MS, tier))) {
156
178
  // A lease exists but its holder doesn't answer control — a STALE key a crashed manager left. It
157
179
  // blocks a replacement's acquire until the bucket TTL expires; wait it out, then stand one up.
158
180
  console.log(c.dim(` ~ a manager lease for "${space}" is present but unanswered (holder pid ${held.pid}); waiting up to ${Math.ceil(MANAGER_LEASE_TTL_MS / 1000)}s for it to expire…`));
159
181
  if (!(await waitLeaseGone(ep, MANAGER_LEASE_TTL_MS + 5_000))) {
160
- console.error(c.red(`✗ a manager lease for "${space}" is still held by an unresponsive holder (pid ${held.pid}) after its TTL stop it or check .cotal/manager.log`));
182
+ console.error(c.red(`✗ a manager lease for "${space}" is still held by an unresponsive holder (pid ${held.pid}) after its TTL - stop it or check .cotal/manager.log`));
161
183
  process.exit(1);
162
184
  }
163
185
  startManagerDetached({ space, server: connection.server, runtime });
@@ -166,25 +188,25 @@ export async function spawnManifest(file, flags) {
166
188
  // serving, then validate THE HOLDER THAT ACTUALLY ANSWERED by re-reading the CURRENT lease (not the
167
189
  // `held` snapshot, which can turn over during the probe / a concurrent start — TOCTOU). Fail LOUD if
168
190
  // a foreign-checkout or wrong-runtime manager won the space before we launch into it.
169
- if (!(await waitManagerReady(ep))) {
170
- console.error(c.red("✗ manager did not become ready for control see .cotal/manager.log"));
191
+ if (!(await waitManagerReady(ep, undefined, tier))) {
192
+ console.error(c.red("✗ manager did not become ready for control - see .cotal/manager.log"));
171
193
  process.exit(1);
172
194
  }
173
195
  const live = await ep.readManagerLease();
174
196
  if (!live) {
175
- console.error(c.red(`✗ "${space}" has no manager lease after the manager became ready re-run \`cotal spawn -f\``));
197
+ console.error(c.red(`✗ "${space}" has no manager lease after the manager became ready - re-run \`cotal spawn -f\``));
176
198
  process.exit(1);
177
199
  }
178
200
  if (resolve(live.root) !== resolve(root)) {
179
- console.error(c.red(`✗ a manager from a different checkout serves "${space}" (root ${live.root}) stop it, or run spawn -f from there`));
201
+ console.error(c.red(`✗ a manager from a different checkout serves "${space}" (root ${live.root}) - stop it, or run spawn -f from there`));
180
202
  process.exit(1);
181
203
  }
182
204
  if (live.runtime !== runtime) {
183
- console.error(c.red(`✗ a ${live.runtime} manager already serves "${space}" but runtime ${runtime} was requested stop it, or match it with --runtime ${live.runtime}`));
205
+ console.error(c.red(`✗ a ${live.runtime} manager already serves "${space}" but runtime ${runtime} was requested - stop it, or match it with --runtime ${live.runtime}`));
184
206
  process.exit(1);
185
207
  }
186
208
  for (const e of agentPlan.willCreate) {
187
- const reply = await launchAgent(ep, runId, e.agent.name);
209
+ const reply = await launchAgent(ep, runId, e.agent.name, tier);
188
210
  if (!reply.ok) {
189
211
  console.error(c.red(`✗ ${e.agent.name}: ${reply.error ?? "launch failed"}`));
190
212
  continue;