@cotal-ai/cli 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.
Files changed (90) hide show
  1. package/dist/command.d.ts.map +1 -1
  2. package/dist/command.js +3 -2
  3. package/dist/command.js.map +1 -1
  4. package/dist/commands/channels.d.ts +4 -2
  5. package/dist/commands/channels.d.ts.map +1 -1
  6. package/dist/commands/channels.js +17 -18
  7. package/dist/commands/channels.js.map +1 -1
  8. package/dist/commands/completion.d.ts.map +1 -1
  9. package/dist/commands/completion.js +5 -1
  10. package/dist/commands/completion.js.map +1 -1
  11. package/dist/commands/console.d.ts.map +1 -1
  12. package/dist/commands/console.js +13 -29
  13. package/dist/commands/console.js.map +1 -1
  14. package/dist/commands/down.d.ts +1 -1
  15. package/dist/commands/down.d.ts.map +1 -1
  16. package/dist/commands/down.js +13 -1
  17. package/dist/commands/down.js.map +1 -1
  18. package/dist/commands/history.d.ts.map +1 -1
  19. package/dist/commands/history.js +6 -13
  20. package/dist/commands/history.js.map +1 -1
  21. package/dist/commands/join.d.ts.map +1 -1
  22. package/dist/commands/join.js +20 -7
  23. package/dist/commands/join.js.map +1 -1
  24. package/dist/commands/meshes.d.ts +5 -0
  25. package/dist/commands/meshes.d.ts.map +1 -0
  26. package/dist/commands/meshes.js +25 -0
  27. package/dist/commands/meshes.js.map +1 -0
  28. package/dist/commands/mint.d.ts +4 -1
  29. package/dist/commands/mint.d.ts.map +1 -1
  30. package/dist/commands/mint.js +26 -3
  31. package/dist/commands/mint.js.map +1 -1
  32. package/dist/commands/send.d.ts +8 -15
  33. package/dist/commands/send.d.ts.map +1 -1
  34. package/dist/commands/send.js +41 -24
  35. package/dist/commands/send.js.map +1 -1
  36. package/dist/commands/setup.d.ts.map +1 -1
  37. package/dist/commands/setup.js +23 -18
  38. package/dist/commands/setup.js.map +1 -1
  39. package/dist/commands/spawn.d.ts +4 -2
  40. package/dist/commands/spawn.d.ts.map +1 -1
  41. package/dist/commands/spawn.js +54 -22
  42. package/dist/commands/spawn.js.map +1 -1
  43. package/dist/commands/up.d.ts.map +1 -1
  44. package/dist/commands/up.js +133 -6
  45. package/dist/commands/up.js.map +1 -1
  46. package/dist/commands/use.d.ts +7 -0
  47. package/dist/commands/use.d.ts.map +1 -0
  48. package/dist/commands/use.js +27 -0
  49. package/dist/commands/use.js.map +1 -0
  50. package/dist/commands/web.d.ts.map +1 -1
  51. package/dist/commands/web.js +57 -27
  52. package/dist/commands/web.js.map +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +24 -37
  55. package/dist/index.js.map +1 -1
  56. package/dist/lib/connect.d.ts +72 -0
  57. package/dist/lib/connect.d.ts.map +1 -0
  58. package/dist/lib/connect.js +115 -0
  59. package/dist/lib/connect.js.map +1 -0
  60. package/dist/lib/delivery-proc.d.ts +35 -0
  61. package/dist/lib/delivery-proc.d.ts.map +1 -0
  62. package/dist/lib/delivery-proc.js +128 -0
  63. package/dist/lib/delivery-proc.js.map +1 -0
  64. package/dist/lib/manager-proc.d.ts +11 -2
  65. package/dist/lib/manager-proc.d.ts.map +1 -1
  66. package/dist/lib/manager-proc.js +43 -3
  67. package/dist/lib/manager-proc.js.map +1 -1
  68. package/dist/lib/meshes.d.ts +8 -0
  69. package/dist/lib/meshes.d.ts.map +1 -0
  70. package/dist/lib/meshes.js +15 -0
  71. package/dist/lib/meshes.js.map +1 -0
  72. package/dist/lib/onboard.js +6 -6
  73. package/dist/lib/onboard.js.map +1 -1
  74. package/dist/lib/transient.d.ts +7 -6
  75. package/dist/lib/transient.d.ts.map +1 -1
  76. package/dist/lib/transient.js +6 -25
  77. package/dist/lib/transient.js.map +1 -1
  78. package/dist/render.js +1 -1
  79. package/dist/web/graph.html +204 -0
  80. package/dist/web/graph.js +453 -0
  81. package/dist/web/index.html +6 -0
  82. package/package.json +2 -2
  83. package/dist/commands/signer.d.ts +0 -6
  84. package/dist/commands/signer.d.ts.map +0 -1
  85. package/dist/commands/signer.js +0 -30
  86. package/dist/commands/signer.js.map +0 -1
  87. package/dist/commands/watch.d.ts +0 -4
  88. package/dist/commands/watch.d.ts.map +0 -1
  89. package/dist/commands/watch.js +0 -7
  90. package/dist/commands/watch.js.map +0 -1
@@ -1,11 +1,14 @@
1
1
  import { mkdirSync, writeFileSync, existsSync } from "node:fs";
2
2
  import { resolve, join, dirname } from "node:path";
3
3
  import { parseArgs } from "node:util";
4
- import { authDir, agentFilePath, loadAgentFile, loadSpaceAuth, mintCreds, newIdentity, } from "@cotal-ai/core";
4
+ import { authDir, agentFilePath, loadAgentFile, loadSpaceAuth, mintCreds, newIdentity, stripSpaceAuth, } from "@cotal-ai/core";
5
5
  import { cotalRoot } from "../lib/paths.js";
6
6
  import { c } from "../ui.js";
7
7
  /** Out-of-band cred minting: generate an identity, sign a profile-scoped user JWT with the
8
- * space's account signing key, and write a creds file the agent/observer loads to join. */
8
+ * space's account signing key, and write a creds file the agent/observer loads to join.
9
+ * `--signer` instead emits a stripped signer file — only the account signing material
10
+ * (`space` + `account.pub` + `account.signingSeed`), no operator root-of-trust — to mount into a
11
+ * containerized manager so it can mint per-agent creds without holding the account-minting key. */
9
12
  export async function mint(argv) {
10
13
  const { values, positionals } = parseArgs({
11
14
  args: argv,
@@ -13,10 +16,31 @@ export async function mint(argv) {
13
16
  options: {
14
17
  profile: { type: "string" },
15
18
  out: { type: "string" },
19
+ signer: { type: "boolean" }, // emit a stripped signer file instead of agent/observer creds
20
+ force: { type: "boolean" }, // (--signer) overwrite an existing signer file
16
21
  "allow-subscribe": { type: "string" }, // read ACL override (comma-separated)
17
22
  "allow-publish": { type: "string" }, // post ACL override (comma-separated)
18
23
  },
19
24
  });
25
+ const dir = authDir(cotalRoot());
26
+ // `--signer`: no identity, no name — strip this space's auth.json to its account signing material.
27
+ if (values.signer) {
28
+ const auth = loadSpaceAuth(dir);
29
+ if (!auth) {
30
+ console.error(c.red("no space auth found here — run `cotal up` first"));
31
+ process.exit(1);
32
+ }
33
+ const out = resolve(values.out ?? "signer.json");
34
+ if (existsSync(out) && !values.force) {
35
+ console.error(c.red(`${out} already exists — pass --force to overwrite`));
36
+ process.exit(1);
37
+ }
38
+ writeFileSync(out, JSON.stringify(stripSpaceAuth(auth), null, 2), { mode: 0o600 });
39
+ console.log(c.green(`✓ wrote signer for space "${auth.space}"`));
40
+ console.log(c.dim(` ${out}`));
41
+ console.log(c.dim(" mount read-only at /workspace/.cotal/auth/auth.json in the container"));
42
+ return;
43
+ }
20
44
  const name = positionals[0];
21
45
  if (!name) {
22
46
  console.error(c.red("usage: cotal mint <name> --profile <agent|observer|admin> [--allow-subscribe a,b] [--allow-publish a,b] [--out <path>]"));
@@ -28,7 +52,6 @@ export async function mint(argv) {
28
52
  console.error(c.red(`unknown profile "${profile}" — expected agent, observer, or admin`));
29
53
  process.exit(1);
30
54
  }
31
- const dir = authDir(cotalRoot());
32
55
  const auth = loadSpaceAuth(dir);
33
56
  if (!auth) {
34
57
  console.error(c.red("no space auth found here — run `cotal up` first"));
@@ -1 +1 @@
1
- {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../src/commands/mint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../src/commands/mint.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,10 @@
1
1
  import { type CompletionResult } from "@cotal-ai/core";
2
- /** `cotal dm <agent> "<text>"` — one unicast to a peer by name, then exit. */
3
- export declare function dm(argv: string[]): Promise<void>;
4
- /** `cotal msg <channel> "<text>"` one broadcast to a channel, then exit. */
5
- export declare function msg(argv: string[]): Promise<void>;
6
- /** `cotal ask <role> "<text>"` one anycast to a role/service (exactly one instance), then exit. */
7
- export declare function ask(argv: string[]): Promise<void>;
8
- /** Complete `cotal msg <channel>` from the channels the local persona files *declare* — never the
9
- * live broker (a <TAB> stays offline by contract). The label says "declared" because these are
10
- * workspace intent, not a claim about what exists on the mesh. Only the channel position
11
- * completes; the message text offers nothing. Fail-closed: a malformed agent file throws, so the
12
- * completer declines rather than offering a silently-partial set (see {@link listDeclaredChannels}). */
13
- export declare function msgComplete(argv: string[]): CompletionResult;
14
- /** Complete `cotal ask <role>` from the roles the local persona files declare — same local-only,
15
- * fail-closed contract as {@link msgComplete}. */
16
- export declare function askComplete(argv: string[]): CompletionResult;
2
+ /** `cotal send <dm|msg|ask> …`dispatch one-shot send by delivery mode, then exit. */
3
+ export declare function send(argv: string[]): Promise<void>;
4
+ /** Complete `cotal send <dm|msg|ask> …`. Word 0 offers the sub-verbs; `msg`/`ask` then complete
5
+ * their target from the channels/roles the local persona files declare never the live broker (a
6
+ * <TAB> stays offline by contract), and fail-closed (a malformed agent file makes the completer
7
+ * decline rather than offer a silently-partial set; see {@link listDeclaredChannels}). `dm` offers
8
+ * nothing: peer presence is live, so it can't be completed offline. */
9
+ export declare function sendComplete(argv: string[]): CompletionResult;
17
10
  //# sourceMappingURL=send.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAyBxB,8EAA8E;AAC9E,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCtD;AAED,8EAA8E;AAC9E,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvD;AAED,qGAAqG;AACrG,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvD;AAED;;;;yGAIyG;AACzG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAO5D;AAED;mDACmD;AACnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAO5D"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAyBxB,wFAAwF;AACxF,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;AAiED;;;;wEAIwE;AACxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAsB7D"}
@@ -5,9 +5,9 @@ import { openTransient } from "../lib/transient.js";
5
5
  import { listDeclaredChannels, listDeclaredRoles } from "../lib/personas.js";
6
6
  import { mentionsIn } from "../lib/mentions.js";
7
7
  /**
8
- * One-shot send commands — `cotal dm` / `cotal msg` / `cotal ask` — the headless equivalents of the
9
- * console's `:dm` / `:msg` / `:ask`. Each connects, sends one message over the matching delivery
10
- * mode (`unicast` / `multicast` / `anycast`), and exits. Fire-and-forget: no reply waiting.
8
+ * One-shot send command — `cotal send <dm|msg|ask>` — the headless equivalent of the console's
9
+ * `:dm` / `:msg` / `:ask`. The sub-verb picks the delivery mode (`unicast` / `multicast` /
10
+ * `anycast`); each connects, sends one message, and exits. Fire-and-forget: no reply waiting.
11
11
  */
12
12
  const SEND_OPTS = {
13
13
  space: { type: "string" },
@@ -18,12 +18,24 @@ const SEND_OPTS = {
18
18
  function targetAndText(positionals, strip) {
19
19
  return { target: positionals[0]?.replace(strip, ""), text: positionals.slice(1).join(" ").trim() };
20
20
  }
21
- /** `cotal dm <agent> "<text>"` — one unicast to a peer by name, then exit. */
22
- export async function dm(argv) {
21
+ /** `cotal send <dm|msg|ask> …`dispatch one-shot send by delivery mode, then exit. */
22
+ export async function send(argv) {
23
+ const [mode, ...rest] = argv;
24
+ if (mode === "dm")
25
+ return dm(rest);
26
+ if (mode === "msg")
27
+ return msg(rest);
28
+ if (mode === "ask")
29
+ return ask(rest);
30
+ console.error('usage: cotal send <dm <agent> | msg <channel> | ask <role>> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
31
+ process.exit(1);
32
+ }
33
+ /** `cotal send dm <agent> "<text>"` — one unicast to a peer by name, then exit. */
34
+ async function dm(argv) {
23
35
  const { values, positionals } = parseArgs({ args: argv, allowPositionals: true, options: SEND_OPTS });
24
36
  const { target, text } = targetAndText(positionals, /^@/);
25
37
  if (!target || !text) {
26
- console.error('usage: cotal dm <agent> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
38
+ console.error('usage: cotal send dm <agent> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
27
39
  process.exit(1);
28
40
  }
29
41
  const { ep, space } = await openTransient(values, "send");
@@ -55,12 +67,12 @@ export async function dm(argv) {
55
67
  console.log(c.green(`→ ${peer.card.name}`) + c.dim(` ${text}`));
56
68
  await ep.stop();
57
69
  }
58
- /** `cotal msg <channel> "<text>"` — one broadcast to a channel, then exit. */
59
- export async function msg(argv) {
70
+ /** `cotal send msg <channel> "<text>"` — one broadcast to a channel, then exit. */
71
+ async function msg(argv) {
60
72
  const { values, positionals } = parseArgs({ args: argv, allowPositionals: true, options: SEND_OPTS });
61
73
  const { target: channel, text } = targetAndText(positionals, /^#/);
62
74
  if (!channel || !text) {
63
- console.error('usage: cotal msg <channel> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
75
+ console.error('usage: cotal send msg <channel> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
64
76
  process.exit(1);
65
77
  }
66
78
  const { ep } = await openTransient(values, "send");
@@ -68,12 +80,12 @@ export async function msg(argv) {
68
80
  console.log(c.green(`→ #${channel}`) + c.dim(` ${text}`));
69
81
  await ep.stop();
70
82
  }
71
- /** `cotal ask <role> "<text>"` — one anycast to a role/service (exactly one instance), then exit. */
72
- export async function ask(argv) {
83
+ /** `cotal send ask <role> "<text>"` — one anycast to a role/service (exactly one instance), exit. */
84
+ async function ask(argv) {
73
85
  const { values, positionals } = parseArgs({ args: argv, allowPositionals: true, options: SEND_OPTS });
74
86
  const { target: role, text } = targetAndText(positionals, /^@/);
75
87
  if (!role || !text) {
76
- console.error('usage: cotal ask <role> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
88
+ console.error('usage: cotal send ask <role> "<text>" [--space <s>] [--server <url>] [--creds <path>]');
77
89
  process.exit(1);
78
90
  }
79
91
  const { ep } = await openTransient(values, "send");
@@ -81,23 +93,28 @@ export async function ask(argv) {
81
93
  console.log(c.green(`→ @${role}`) + c.dim(` ${text}`));
82
94
  await ep.stop();
83
95
  }
84
- /** Complete `cotal msg <channel>` from the channels the local persona files *declare* — never the
85
- * live broker (a <TAB> stays offline by contract). The label says "declared" because these are
86
- * workspace intent, not a claim about what exists on the mesh. Only the channel position
87
- * completes; the message text offers nothing. Fail-closed: a malformed agent file throws, so the
88
- * completer declines rather than offering a silently-partial set (see {@link listDeclaredChannels}). */
89
- export function msgComplete(argv) {
96
+ /** Complete `cotal send <dm|msg|ask> …`. Word 0 offers the sub-verbs; `msg`/`ask` then complete
97
+ * their target from the channels/roles the local persona files declare never the live broker (a
98
+ * <TAB> stays offline by contract), and fail-closed (a malformed agent file makes the completer
99
+ * decline rather than offer a silently-partial set; see {@link listDeclaredChannels}). `dm` offers
100
+ * nothing: peer presence is live, so it can't be completed offline. */
101
+ export function sendComplete(argv) {
90
102
  if (argv.length <= 1)
103
+ return {
104
+ items: [
105
+ { value: "dm", description: "unicast to a peer" },
106
+ { value: "msg", description: "broadcast to a channel" },
107
+ { value: "ask", description: "anycast to a role" },
108
+ ],
109
+ directive: "nofiles",
110
+ };
111
+ const [mode, ...rest] = argv;
112
+ if (mode === "msg" && rest.length <= 1)
91
113
  return {
92
114
  items: listDeclaredChannels().map((value) => ({ value, description: "declared channel" })),
93
115
  directive: "nofiles",
94
116
  };
95
- return { items: [], directive: "nofiles" };
96
- }
97
- /** Complete `cotal ask <role>` from the roles the local persona files declare — same local-only,
98
- * fail-closed contract as {@link msgComplete}. */
99
- export function askComplete(argv) {
100
- if (argv.length <= 1)
117
+ if (mode === "ask" && rest.length <= 1)
101
118
  return {
102
119
  items: listDeclaredRoles().map((value) => ({ value, description: "declared role" })),
103
120
  directive: "nofiles",
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAuCA;;4FAE4F;AAC5F,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAczD;AAED;;0EAE0E;AAC1E,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;AAsID;;;gGAGgG;AAChG,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BpE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAwCA;;4FAE4F;AAC5F,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzD;AAED;;0EAE0E;AAC1E,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;AAwID;;;gGAGgG;AAChG,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BpE"}
@@ -15,7 +15,8 @@ import { isOnboarded, markOnboarded } from "../lib/onboard.js";
15
15
  import { machineStatus, meshStatus, onPath, resolveSpace } from "../lib/status.js";
16
16
  import { startMeshDetached, up } from "./up.js";
17
17
  import { ensureWeb, webUp, WEB_URL } from "./web.js";
18
- import { cmuxManagerRunning, ensureManager, managerUp, pgrepMatches, stopManager } from "../lib/manager-proc.js";
18
+ import { cmuxManagerRunning, managerUp, pgrepMatches, stopManager } from "../lib/manager-proc.js";
19
+ import { ensureControlPlane } from "../lib/delivery-proc.js";
19
20
  import { cotalOnPath, displayCmd, isNpx, selfArgv } from "../lib/self-exec.js";
20
21
  import { cotalPath, cotalRoot } from "../lib/paths.js";
21
22
  import { spawn } from "./spawn.js";
@@ -36,13 +37,15 @@ export async function setup(argv) {
36
37
  options: {
37
38
  full: { type: "boolean" },
38
39
  yes: { type: "boolean", short: "y" },
39
- auth: { type: "boolean" }, // opt into an authed mesh (JWT/ACLs); default is an open local mesh
40
+ auth: { type: "boolean" }, // (now the DEFAULT; kept for back-compat / explicitness)
41
+ open: { type: "boolean" }, // opt OUT of auth — a frictionless loopback-only open mesh (no JWT/ACLs, no durable backstop)
40
42
  },
41
43
  });
42
- // `--yes` (agents/CI) always runs the full flow non-interactively. The local mesh is open by
43
- // default (frictionless, loopback-only); `--auth` opts into JWT auth for shared/cross-machine use.
44
+ // `--yes` (agents/CI) always runs the full flow non-interactively. The mesh is AUTHED by default
45
+ // (JWT/ACLs the trust-first default, and what the server-side delivery daemon needs to run); `--open`
46
+ // opts out to a frictionless loopback-only open mesh with no auth (and so no durable backstop).
44
47
  if (!isOnboarded() || values.full || values.yes)
45
- await runFirstRun(Boolean(values.yes), !values.auth);
48
+ await runFirstRun(Boolean(values.yes), Boolean(values.open));
46
49
  else
47
50
  await runEnsure();
48
51
  }
@@ -52,8 +55,9 @@ export async function setup(argv) {
52
55
  export async function go(argv) {
53
56
  return setup(argv);
54
57
  }
55
- /** The full, narrated first-run experience. `yes` = non-interactive accept-all; `open` = run the
56
- * mesh without auth (the frictionless local default; `--auth` flips it off). */
58
+ /** The full, narrated first-run experience. `yes` = non-interactive accept-all; `open` = run the mesh
59
+ * WITHOUT auth (the `--open` opt-out; auth is the default). Auth mode also brings up the server-side
60
+ * delivery daemon (durable backstop); open mode is live-only. */
57
61
  async function runFirstRun(yes, open) {
58
62
  splash();
59
63
  p.intro(brandBold("Welcome to Cotal"));
@@ -162,9 +166,10 @@ async function runFirstRun(yes, open) {
162
166
  if (!yes)
163
167
  await offerDemo(found.claude);
164
168
  else {
165
- // Agents/CI: bring up the control plane so cotal_spawn / despawn / purge work right away.
169
+ // Agents/CI: bring up the control plane (delivery daemon, auth only manager) so cotal_spawn /
170
+ // despawn / purge work right away.
166
171
  try {
167
- ensureManager({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER });
172
+ await ensureControlPlane({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER });
168
173
  }
169
174
  catch {
170
175
  /* non-fatal */
@@ -276,8 +281,8 @@ async function offerDemo(haveClaude) {
276
281
  return;
277
282
  }
278
283
  // Non-cmux: a background pty manager pre-spawns david/sven (managed, despawnable), then we
279
- // hand this terminal to the driving session.
280
- ensureManager({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER, spawn: [...DEMO_TEAM] });
284
+ // hand this terminal to the driving session. (auth → delivery daemon first, then the manager.)
285
+ await ensureControlPlane({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER, spawn: [...DEMO_TEAM] });
281
286
  p.outro(brand("Launching your session... david and sven are warming up in the background."));
282
287
  await spawn(["me", "--prompt", ME_GREETING]);
283
288
  process.exit(0);
@@ -286,10 +291,10 @@ async function offerDemo(haveClaude) {
286
291
  else if (isTTY && haveAgents && !haveClaude) {
287
292
  p.log.info(`The demo needs Claude Code. Install it (https://claude.com/claude-code), then run \`${displayCmd()} go\`.`);
288
293
  }
289
- // Declined, or no Claude: start the background (pty) control plane so cotal_spawn / despawn /
290
- // purge still work, then leave them the quick-reference card.
294
+ // Declined, or no Claude: start the background control plane (delivery daemon, auth only → pty
295
+ // manager) so cotal_spawn / despawn / purge still work, then leave them the quick-reference card.
291
296
  try {
292
- ensureManager({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER });
297
+ await ensureControlPlane({ space: resolveSpace(process.cwd()), server: DEFAULT_SERVER });
293
298
  }
294
299
  catch {
295
300
  /* non-fatal: the card still shows how to start it */
@@ -328,8 +333,8 @@ function ensureCmuxSession(cwd) {
328
333
  const cotal = selfArgv();
329
334
  const run = (...args) => ({ command: cotal[0], args: [...cotal.slice(1), ...args], cwd });
330
335
  const space = resolveSpace(cwd);
331
- // `space` reaches the panes as a discrete argv token, but keep it a bare token anyway (the same
332
- // guard `cotal cmux go` uses) so it can't confuse downstream parsing.
336
+ // `space` reaches the panes as a discrete argv token, but keep it a bare token anyway so it can't
337
+ // confuse downstream parsing.
333
338
  if (!/^[A-Za-z0-9_.-]+$/.test(space))
334
339
  throw new Error(`cotal setup: unsafe space ${JSON.stringify(space)} (allowed: letters, digits, _ . -)`);
335
340
  // Control plane: a cmux-runtime manager that pre-spawns david/sven into their own tabs and owns
@@ -340,7 +345,7 @@ function ensureCmuxSession(cwd) {
340
345
  if (!cmuxManagerRunning(space)) {
341
346
  for (const label of ["cotal-manager", ...DEMO_TEAM.map((n) => `cotal-${n}`)])
342
347
  closeStaleTabs(term, label);
343
- term.open("cotal-manager", { panes: [run("cmux", "--space", space, "--spawn", DEMO_TEAM.join(","))] }, { focus: false });
348
+ term.open("cotal-manager", { panes: [run("supervise", "--runtime", "cmux", "--space", space, "--spawn", DEMO_TEAM.join(","))] }, { focus: false });
344
349
  }
345
350
  // Your focused driver: console + the "me" session. Gate on the live driving session (not the
346
351
  // persistent tab) so a session you're driving is never disturbed; a dead/closed one gets its stale
@@ -397,7 +402,7 @@ async function runEnsure() {
397
402
  if (inCmuxSurface())
398
403
  ensureCmuxSession(cotalRoot());
399
404
  else
400
- ensureManager({ space: mesh.space, server: mesh.server });
405
+ await ensureControlPlane({ space: mesh.space, server: mesh.server });
401
406
  }
402
407
  catch {
403
408
  /* non-fatal */
@@ -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,6 +1,8 @@
1
1
  import { type CompletionResult } from "@cotal-ai/core";
2
- /** Completion for `cotal spawn <name>` the first positional is a persona; the rest are flags
3
- * we leave to the shell. Filesystem-only (the persona catalog), so it never opens the mesh. */
2
+ /** Completion for `cotal spawn` — `--space <TAB>` lists the running meshes, and the first positional
3
+ * is a persona from the mesh this spawn would target. Resolved OFFLINE (registry + `current`, no
4
+ * probe — a <TAB> must stay cheap and never open the network), so it lists the *target* mesh's
5
+ * personas, not the cwd's. */
4
6
  export declare function spawnComplete(argv: string[]): CompletionResult;
5
7
  export declare function spawn(argv: string[]): Promise<void>;
6
8
  //# sourceMappingURL=spawn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/commands/spawn.ts"],"names":[],"mappings":"AAIA,OAAO,EAiBL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AAKxB;gGACgG;AAChG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAI9D;AA8DD,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJzD"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/commands/spawn.ts"],"names":[],"mappings":"AAIA,OAAO,EAiBL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AAKxB;;;+BAG+B;AAC/B,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAe9D;AAmED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKzD"}
@@ -2,15 +2,29 @@ import { spawn as spawnProcess } from "node:child_process";
2
2
  import { mkdirSync, writeFileSync } from "node:fs";
3
3
  import { join, dirname } from "node:path";
4
4
  import { parseArgs } from "node:util";
5
- import { DEFAULT_SERVER, agentFilePath, authDir, connectorServers, firstFreeName, isReachable, loadAgentFile, loadCotalConfig, loadSpaceAuth, mintCreds, newIdentity, parseShareSelection, provisionAgent, registry, CotalEndpoint, } from "@cotal-ai/core";
6
- import { cotalRoot } from "../lib/paths.js";
7
- import { listPersonaNames } from "../lib/personas.js";
8
- import { resolveSpace } from "../lib/status.js";
9
- /** Completion for `cotal spawn <name>` the first positional is a persona; the rest are flags
10
- * we leave to the shell. Filesystem-only (the persona catalog), so it never opens the mesh. */
5
+ import { agentFilePath, authDir, connectorServers, firstFreeName, isReachable, loadAgentFile, loadCotalConfig, loadMeshes, mintCreds, newIdentity, parseShareSelection, provisionAgent, registry, resolveMeshTarget, CotalEndpoint, } from "@cotal-ai/core";
6
+ import { c } from "../ui.js";
7
+ import { preflightOrExit, resolveTargetOrExit } from "../lib/connect.js";
8
+ import { listPersonas } from "../lib/personas.js";
9
+ /** Completion for `cotal spawn` — `--space <TAB>` lists the running meshes, and the first positional
10
+ * is a persona from the mesh this spawn would target. Resolved OFFLINE (registry + `current`, no
11
+ * probe — a <TAB> must stay cheap and never open the network), so it lists the *target* mesh's
12
+ * personas, not the cwd's. */
11
13
  export function spawnComplete(argv) {
12
- if (argv.length <= 1)
13
- return { items: listPersonaNames().map((value) => ({ value })), directive: "nofiles" };
14
+ if (argv[argv.length - 2] === "--space")
15
+ return { items: loadMeshes().map((m) => ({ value: m.space })), directive: "nofiles" };
16
+ // Only the first word after `spawn` is the persona positional; once it's typed, defer to the shell.
17
+ if (argv.length <= 1) {
18
+ try {
19
+ const target = resolveMeshTarget(process.cwd());
20
+ return { items: listPersonas(target.root).map((p) => ({ value: p.name })), directive: "nofiles" };
21
+ }
22
+ catch {
23
+ // No single target (no mesh, or several with no `current`) — fail CLOSED: offer no personas
24
+ // rather than throw. `cotal spawn --space <TAB>` still lists the running meshes.
25
+ return { items: [], directive: "nofiles" };
26
+ }
27
+ }
14
28
  return { items: [], directive: "nofiles" };
15
29
  }
16
30
  /**
@@ -25,6 +39,10 @@ export function spawnComplete(argv) {
25
39
  * shared with the manager); only *how the spec runs* differs — foreground exec
26
40
  * here vs. a supervised runtime in the manager. The connector is resolved from
27
41
  * the registry by agent type, composed at the root.
42
+ *
43
+ * The mesh it joins — creds and personas together — is resolved by {@link resolveMeshTarget}, so a
44
+ * bare `cotal spawn <persona>` from any directory finds the running mesh (one up, or the `current`
45
+ * default) instead of mistaking `~/.cotal` for a space.
28
46
  */
29
47
  /**
30
48
  * Auto-number `requested` past any peer already present on the mesh (foo → foo-2 → foo-3) — the same
@@ -94,34 +112,48 @@ export async function spawn(argv) {
94
112
  // Transcript mirroring to `tr-<name>` is OFF by default; `--transcript` opts in
95
113
  // (`--no-transcript` is accepted too, to be explicit about the default).
96
114
  const transcript = values.transcript ? true : values["no-transcript"] ? false : false;
115
+ // Which mesh this spawn joins — creds + personas together, resolved from --server/--space, a local
116
+ // project, or the registry (the running mesh / the `current` default).
117
+ const target = await resolveTargetOrExit({ server: values.server, space: values.space });
118
+ const { space, server, auth } = target;
97
119
  // Where the config lives: --config, else the positional <name-or-path>, else --name
98
- // (.cotal/agents/<name>.md). With none of those, fall back to the seeded `default` persona:
99
- // `cotal spawn` with no args launches `.cotal/agents/default.md` (same flags as `cotal start`).
120
+ // (.cotal/agents/<name>.md under the TARGET mesh's root). With none, fall back to its `default`
121
+ // persona — `cotal spawn` with no args launches `<root>/.cotal/agents/default.md`.
100
122
  const ref = values.config ?? positionals[0] ?? values.name ?? "default";
101
- const path = agentFilePath(cotalRoot(), ref);
123
+ const path = agentFilePath(target.root, ref);
102
124
  let def;
103
125
  try {
104
126
  def = loadAgentFile(path);
105
127
  }
106
128
  catch (e) {
107
- const noDefault = ref === "default" && e.code === "ENOENT";
108
- console.error(noDefault
109
- ? "✗ no default persona yet — run `cotal setup` to seed one, or name a persona: `cotal spawn <name>`"
110
- : `✗ ${e.message}`);
129
+ const code = e.code;
130
+ if (code === "ENOENT") {
131
+ console.error(c.red(ref === "default"
132
+ ? "✗ no default persona yet — run `cotal setup` to seed one, or name a persona: `cotal spawn <name>`"
133
+ : `✗ no persona "${ref}" in ${target.space}'s ${target.personaRoot} — use \`--config <path>\` for a file elsewhere`));
134
+ }
135
+ else {
136
+ console.error(c.red(`✗ ${e.message}`));
137
+ }
111
138
  process.exit(1);
112
139
  }
113
140
  // --name / --role override the file (name defaults from the file's frontmatter).
114
141
  const requested = values.name ?? def.name;
115
142
  const role = values.role ?? def.role;
116
- const space = values.space ?? resolveSpace(process.cwd());
117
- const server = values.server ?? DEFAULT_SERVER;
118
- const auth = loadSpaceAuth(authDir(cotalRoot()));
143
+ // Preflight: fail with one sentence if the mesh is down or won't take our creds, instead of
144
+ // crashing mid-connect with a raw NATS Authorization Violation.
145
+ await preflightOrExit(target);
119
146
  // A second `cotal spawn` of the same agent would otherwise join under a duplicate mesh identity:
120
147
  // auto-number the name past anyone already present (best-effort — this path bypasses the manager's
121
148
  // race-free reservation; see uniqueMeshName). Everything below (creds path, launch) uses `name`.
122
149
  const name = await uniqueMeshName(requested, { space, server, auth });
123
150
  if (name !== requested)
124
151
  console.error(`"${requested}" is already on the mesh — spawning as ${name} instead`);
152
+ // When the target was auto-resolved (one mesh up, or the `current` default), say which mesh we
153
+ // picked — it isn't obvious from the cwd. An explicit --space/--server or a local project is
154
+ // self-evident, so stay quiet there.
155
+ if (target.source === "registry" || target.source === "current")
156
+ console.error(c.dim(`→ joining mesh ${space} (${server}) as ${name}`));
125
157
  // Auth mode (`.cotal/auth` present): mint a stable identity + scoped creds for this agent
126
158
  // and pre-create its bind-only durables, via a short-lived privileged provisioner — the
127
159
  // same onboarding the manager does, so the foreground launch joins the authed mesh too.
@@ -157,17 +189,17 @@ export async function spawn(argv) {
157
189
  durableMembership: false,
158
190
  });
159
191
  await prov.stop();
160
- credsPath = join(authDir(cotalRoot()), "creds", `${name}.creds`);
192
+ credsPath = join(authDir(target.root), "creds", `${name}.creds`);
161
193
  mkdirSync(dirname(credsPath), { recursive: true });
162
194
  writeFileSync(credsPath, creds, { mode: 0o600 });
163
195
  id = identity.id;
164
196
  console.error(`minted creds for ${name} (auth mode) → ${credsPath}`);
165
197
  }
166
198
  // Which of the operator's personal MCP servers to share with this agent: declared in the cotal
167
- // config (global ~/.config/cotal + space-local .cotal), narrowed by an optional --share-tools
168
- // selection. Default (no config) is none — the connector launches isolated.
199
+ // config (global ~/.config/cotal + the target mesh's .cotal), narrowed by an optional
200
+ // --share-tools selection. Default (no config) is none — the connector launches isolated.
169
201
  const agentType = values.agent ?? "claude";
170
- const mcpServers = connectorServers(loadCotalConfig(cotalRoot()), agentType, parseShareSelection(values["share-tools"]));
202
+ const mcpServers = connectorServers(loadCotalConfig(target.root), agentType, parseShareSelection(values["share-tools"]));
171
203
  const connector = registry.resolve("connector", agentType);
172
204
  const spec = connector.buildLaunch({
173
205
  space,