@cotal-ai/cli 0.6.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/channels.d.ts +4 -2
- package/dist/commands/channels.d.ts.map +1 -1
- package/dist/commands/channels.js +17 -18
- package/dist/commands/channels.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +13 -29
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +7 -0
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +6 -13
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +20 -7
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/meshes.d.ts +5 -0
- package/dist/commands/meshes.d.ts.map +1 -0
- package/dist/commands/meshes.js +25 -0
- package/dist/commands/meshes.js.map +1 -0
- package/dist/commands/spawn.d.ts +4 -2
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +54 -22
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +112 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/use.d.ts +7 -0
- package/dist/commands/use.d.ts.map +1 -0
- package/dist/commands/use.js +27 -0
- package/dist/commands/use.js.map +1 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +57 -27
- package/dist/commands/web.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/connect.d.ts +72 -0
- package/dist/lib/connect.d.ts.map +1 -0
- package/dist/lib/connect.js +115 -0
- package/dist/lib/connect.js.map +1 -0
- package/dist/lib/meshes.d.ts +8 -0
- package/dist/lib/meshes.d.ts.map +1 -0
- package/dist/lib/meshes.js +15 -0
- package/dist/lib/meshes.js.map +1 -0
- package/dist/lib/onboard.js +6 -6
- package/dist/lib/onboard.js.map +1 -1
- package/dist/lib/transient.d.ts +7 -6
- package/dist/lib/transient.d.ts.map +1 -1
- package/dist/lib/transient.js +6 -25
- package/dist/lib/transient.js.map +1 -1
- package/dist/web/graph.html +204 -0
- package/dist/web/graph.js +453 -0
- package/dist/web/index.html +6 -0
- package/package.json +2 -2
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `cotal channels` — inspect and mutate the per-space channel registry (replay policy,
|
|
3
|
-
* description, instructions) while the mesh is up. Writes are privileged:
|
|
4
|
-
* command mints ephemeral manager creds from `.cotal/auth`;
|
|
3
|
+
* description, instructions) while the mesh is up. Writes are privileged: on an auth mesh the
|
|
4
|
+
* command mints ephemeral manager creds from the resolved mesh's `.cotal/auth`; on an open mesh it
|
|
5
|
+
* connects plainly. Works from any directory (resolves the running mesh); `--creds` is a raw
|
|
6
|
+
* off-registry connection.
|
|
5
7
|
*
|
|
6
8
|
* cotal channels list
|
|
7
9
|
* cotal channels set <name> [--replay|--no-replay] [--desc <s>] [--instructions <s>]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/commands/channels.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/commands/channels.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D5D"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { parseArgs } from "node:util";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { resolveSpace } from "../lib/status.js";
|
|
2
|
+
import { seedChannelRegistry, readChannelRegistry, effectiveReplay, } from "@cotal-ai/core";
|
|
3
|
+
import { connectOrExit } from "../lib/connect.js";
|
|
5
4
|
import { c } from "../ui.js";
|
|
6
5
|
/**
|
|
7
6
|
* `cotal channels` — inspect and mutate the per-space channel registry (replay policy,
|
|
8
|
-
* description, instructions) while the mesh is up. Writes are privileged:
|
|
9
|
-
* command mints ephemeral manager creds from `.cotal/auth`;
|
|
7
|
+
* description, instructions) while the mesh is up. Writes are privileged: on an auth mesh the
|
|
8
|
+
* command mints ephemeral manager creds from the resolved mesh's `.cotal/auth`; on an open mesh it
|
|
9
|
+
* connects plainly. Works from any directory (resolves the running mesh); `--creds` is a raw
|
|
10
|
+
* off-registry connection.
|
|
10
11
|
*
|
|
11
12
|
* cotal channels list
|
|
12
13
|
* cotal channels set <name> [--replay|--no-replay] [--desc <s>] [--instructions <s>]
|
|
@@ -19,6 +20,7 @@ export async function channels(argv) {
|
|
|
19
20
|
options: {
|
|
20
21
|
server: { type: "string" },
|
|
21
22
|
space: { type: "string" },
|
|
23
|
+
creds: { type: "string" },
|
|
22
24
|
replay: { type: "boolean" },
|
|
23
25
|
"no-replay": { type: "boolean" },
|
|
24
26
|
window: { type: "string" }, // backfill window, e.g. 24h / 30m / 7d
|
|
@@ -26,12 +28,17 @@ export async function channels(argv) {
|
|
|
26
28
|
instructions: { type: "string" },
|
|
27
29
|
},
|
|
28
30
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
// Validate the subcommand BEFORE connecting, so a typo (or a bare `cotal channels`) prints usage,
|
|
32
|
+
// not "no mesh running" — the same validate-first order as `history`.
|
|
33
|
+
const sub = positionals[0];
|
|
34
|
+
if (sub !== "list" && sub !== "set" && sub !== "default")
|
|
35
|
+
return usage();
|
|
36
|
+
if (sub === "set" && !positionals[1])
|
|
37
|
+
return usage(); // need a channel name before touching the mesh
|
|
31
38
|
// Tri-state replay: --replay → true, --no-replay → false, neither → leave unchanged.
|
|
32
39
|
const replay = values["no-replay"] ? false : values.replay ? true : undefined;
|
|
33
|
-
const creds = await
|
|
34
|
-
switch (
|
|
40
|
+
const { server, space, creds } = await connectOrExit(values, "manager"); // creds undefined ⇒ open mode
|
|
41
|
+
switch (sub) {
|
|
35
42
|
case "list": {
|
|
36
43
|
printRegistry(await readChannelRegistry({ servers: server, space, creds }));
|
|
37
44
|
return;
|
|
@@ -75,14 +82,6 @@ export async function channels(argv) {
|
|
|
75
82
|
return usage();
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
|
-
/** Privileged creds for a registry write: mint ephemeral manager creds from the space auth
|
|
79
|
-
* (auth mode), or undefined to connect open. Throws nothing — open mode is the no-auth dev mesh. */
|
|
80
|
-
async function managerCreds() {
|
|
81
|
-
const auth = loadSpaceAuth(authDir(cotalRoot()));
|
|
82
|
-
if (!auth)
|
|
83
|
-
return undefined;
|
|
84
|
-
return mintCreds(auth, newIdentity(), "manager");
|
|
85
|
-
}
|
|
86
85
|
function printRegistry(reg) {
|
|
87
86
|
const def = reg.defaults?.replay;
|
|
88
87
|
const dw = reg.defaults?.replayWindow;
|
|
@@ -104,7 +103,7 @@ function printRegistry(reg) {
|
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
105
|
function usage() {
|
|
107
|
-
console.error(c.red("usage: cotal channels <list | set <name> [--replay|--no-replay] [--window <dur>] [--desc <s>] [--instructions <s>] | default [--replay|--no-replay] [--window <dur>]> [--space <s>] [--server <url>]"));
|
|
106
|
+
console.error(c.red("usage: cotal channels <list | set <name> [--replay|--no-replay] [--window <dur>] [--desc <s>] [--instructions <s>] | default [--replay|--no-replay] [--window <dur>]> [--space <s>] [--server <url>] [--creds <path>]"));
|
|
108
107
|
process.exit(1);
|
|
109
108
|
}
|
|
110
109
|
//# sourceMappingURL=channels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/commands/channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/commands/channels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E5D"}
|
package/dist/commands/console.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { parseArgs } from "node:util";
|
|
2
|
-
import {
|
|
2
|
+
import { writeSync } from "node:fs";
|
|
3
3
|
import { userInfo } from "node:os";
|
|
4
4
|
import { createElement } from "react";
|
|
5
5
|
import { render } from "ink";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { resolveSpace } from "../lib/status.js";
|
|
6
|
+
import { chatWildcard } from "@cotal-ai/core";
|
|
7
|
+
import { connectOrExit } from "../lib/connect.js";
|
|
9
8
|
import { c } from "../ui.js";
|
|
10
9
|
import { runLog } from "../render.js";
|
|
11
10
|
import { Root, makeObserver } from "../console/root.js";
|
|
@@ -26,29 +25,14 @@ export async function console_(argv) {
|
|
|
26
25
|
creds: { type: "string" },
|
|
27
26
|
},
|
|
28
27
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
if (!creds) {
|
|
38
|
-
const auth = loadSpaceAuth(authDir(cotalRoot()));
|
|
39
|
-
if (auth) {
|
|
40
|
-
if (space && space !== auth.space) {
|
|
41
|
-
console.error(c.red(`Auth here is for space "${auth.space}", not "${space}". Use --space ${auth.space} (or pass --creds).`));
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
space = auth.space;
|
|
45
|
-
creds = await mintCreds(auth, newIdentity(), "admin");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (!(await isReachable(server, { creds }))) {
|
|
49
|
-
console.error(c.red(`Can't reach NATS at ${server}. Run: pnpm cotal up`));
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
28
|
+
// Resolve WHICH running mesh (server + trust material) from any directory — same as `spawn`/`web`.
|
|
29
|
+
// Auth mode self-mints an admin god-view cred (the console shows DMs/anycast, which the narrower
|
|
30
|
+
// `observer` profile denies → NATS Authorization Violation); an authed server hosts exactly one
|
|
31
|
+
// space, so we enter it directly. Open mode connects bare; with no --space, the TTY shows the
|
|
32
|
+
// space overview. An explicit --creds wins.
|
|
33
|
+
const { server, space: resolvedSpace, creds, auth } = await connectOrExit(values, "admin");
|
|
34
|
+
// Auth pins its one space; open mode keeps --space (undefined → the overview picker).
|
|
35
|
+
const space = auth ? resolvedSpace : values.space;
|
|
52
36
|
// Operator identity for sent messages (still off the roster). Open mode or an explicit --creds can
|
|
53
37
|
// write; the self-minted observer cred (auth default) is read-only, so the palette/`D` are inert.
|
|
54
38
|
const operator = (() => {
|
|
@@ -61,9 +45,9 @@ export async function console_(argv) {
|
|
|
61
45
|
})();
|
|
62
46
|
const canWrite = !creds || !!values.creds;
|
|
63
47
|
// No TTY (piped/headless) or --plain → the passive line stream; Ink needs a real terminal, and a
|
|
64
|
-
// stream can't host the picker, so it falls back to the
|
|
48
|
+
// stream can't host the picker, so it falls back to the RESOLVED mesh's space (not the cwd's).
|
|
65
49
|
if (values.plain || process.stdout.isTTY !== true) {
|
|
66
|
-
const s = space ??
|
|
50
|
+
const s = space ?? resolvedSpace;
|
|
67
51
|
await runLog(makeObserver(s, server, creds, operator), s, creds ? chatWildcard(s) : undefined);
|
|
68
52
|
return;
|
|
69
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAMA;yEACyE;AACzE,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB1C"}
|
package/dist/commands/down.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { existsSync, readFileSync, rmSync } from "node:fs";
|
|
2
|
+
import { clearCurrent, getCurrent, removeMesh } from "@cotal-ai/core";
|
|
2
3
|
import { c } from "../ui.js";
|
|
3
4
|
import { cotalPath } from "../lib/paths.js";
|
|
5
|
+
import { resolveSpace } from "../lib/status.js";
|
|
4
6
|
/** Stop the background processes started by `cotal up --detach` / `cotal setup`:
|
|
5
7
|
* the manager, the delivery daemon, the web dashboard, and the mesh. */
|
|
6
8
|
export async function down() {
|
|
@@ -22,6 +24,11 @@ export async function down() {
|
|
|
22
24
|
// marker. Drop them with the processes so a stale creds file / marker never lingers.
|
|
23
25
|
for (const f of ["delivery.creds", "manager.delivery-aware"])
|
|
24
26
|
rmSync(cotalPath(f), { force: true });
|
|
27
|
+
// Drop this folder's mesh from the registry (and the `current` pointer if it was the default).
|
|
28
|
+
const space = resolveSpace(process.cwd());
|
|
29
|
+
removeMesh(space);
|
|
30
|
+
if (getCurrent() === space)
|
|
31
|
+
clearCurrent();
|
|
25
32
|
if (!any) {
|
|
26
33
|
console.error(c.red("Nothing running here (no .cotal/*.pid). Was it started with `cotal up` / `cotal setup`?"));
|
|
27
34
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"down.js","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"down.js","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;yEACyE;AACzE,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,OAAO,GAA4B;QACvC,CAAC,aAAa,EAAE,SAAS,CAAC;QAC1B,CAAC,cAAc,EAAE,iBAAiB,CAAC;QACnC,CAAC,SAAS,EAAE,eAAe,CAAC;QAC5B,CAAC,UAAU,EAAE,aAAa,CAAC;KAC5B,CAAC;IACF,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,GAAG,GAAG,IAAI,CAAC;QACX,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,qGAAqG;IACrG,qFAAqF;IACrF,KAAK,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;QAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,+FAA+F;IAC/F,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE,KAAK,KAAK;QAAE,YAAY,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,KAAa;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAKA;mFACmF;AACnF,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC3D"}
|
package/dist/commands/history.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
1
|
import { parseArgs } from "node:util";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { resolveSpace } from "../lib/status.js";
|
|
2
|
+
import { clearSpaceHistory } from "@cotal-ai/core";
|
|
3
|
+
import { connectOrExit } from "../lib/connect.js";
|
|
6
4
|
import { c } from "../ui.js";
|
|
7
5
|
/** Administrative history operations. Purges JetStream backlog only; live in-process
|
|
8
6
|
* agent buffers may still contain messages already delivered before the purge. */
|
|
@@ -25,9 +23,10 @@ export async function history(argv) {
|
|
|
25
23
|
console.error(c.dim("usage: cotal history clear --force [--dms] [--space <s>] [--server <url>]"));
|
|
26
24
|
process.exit(1);
|
|
27
25
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
// Resolve the running mesh (from any dir) + manager creds — `--creds` is a raw off-registry connect.
|
|
27
|
+
// `history clear` is destructive, so targeting the RIGHT mesh matters: this no longer blindly hits
|
|
28
|
+
// DEFAULT_SERVER + the cwd space.
|
|
29
|
+
const { server, space, creds } = await connectOrExit(values, "manager");
|
|
31
30
|
const result = await clearSpaceHistory({
|
|
32
31
|
servers: server,
|
|
33
32
|
space,
|
|
@@ -37,12 +36,6 @@ export async function history(argv) {
|
|
|
37
36
|
const dm = result.dm === undefined ? "" : `, ${result.dm} DM message${result.dm === 1 ? "" : "s"}`;
|
|
38
37
|
console.log(c.green(`✓ cleared ${result.chat} channel message${result.chat === 1 ? "" : "s"}${dm} from "${space}"`));
|
|
39
38
|
}
|
|
40
|
-
async function managerCreds() {
|
|
41
|
-
const auth = loadSpaceAuth(authDir(cotalRoot()));
|
|
42
|
-
if (!auth)
|
|
43
|
-
return undefined;
|
|
44
|
-
return mintCreds(auth, newIdentity(), "manager");
|
|
45
|
-
}
|
|
46
39
|
function usage() {
|
|
47
40
|
console.error(c.red("usage: cotal history clear --force [--dms] [--space <s>] [--server <url>] [--creds <path>]"));
|
|
48
41
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B;mFACmF;AACnF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC3B;KACF,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,EAAE,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qGAAqG;IACrG,mGAAmG;IACnG,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACrC,OAAO,EAAE,MAAM;QACf,KAAK;QACL,KAAK;QACL,UAAU,EAAE,MAAM,CAAC,GAAG;KACvB,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC,CAAC;IACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAmBA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAmBA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiOxD"}
|
package/dist/commands/join.js
CHANGED
|
@@ -2,8 +2,9 @@ import { parseArgs } from "node:util";
|
|
|
2
2
|
import { userInfo } from "node:os";
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import * as readline from "node:readline";
|
|
5
|
-
import { CotalEndpoint,
|
|
5
|
+
import { CotalEndpoint, parseJoinLink, resolvePeer, AmbiguousPeerError, DEFAULT_SERVER, } from "@cotal-ai/core";
|
|
6
6
|
import { resolveSpace } from "../lib/status.js";
|
|
7
|
+
import { connectOrExit, reachableOrExit } from "../lib/connect.js";
|
|
7
8
|
import { c, statusBadge } from "../ui.js";
|
|
8
9
|
export async function join(argv) {
|
|
9
10
|
const { values } = parseArgs({
|
|
@@ -24,9 +25,7 @@ export async function join(argv) {
|
|
|
24
25
|
});
|
|
25
26
|
// A join link carries server + auth + space; explicit flags still override it.
|
|
26
27
|
const link = values.link ? parseJoinLink(values.link) : undefined;
|
|
27
|
-
const space = values.space ?? link?.space ?? resolveSpace(process.cwd());
|
|
28
28
|
const name = values.name ?? userInfo().username;
|
|
29
|
-
const server = values.server ?? link?.servers ?? DEFAULT_SERVER;
|
|
30
29
|
const channel = values.channel ?? link?.channels?.[0] ?? "general";
|
|
31
30
|
const auth = {
|
|
32
31
|
token: values.token ?? link?.token,
|
|
@@ -35,10 +34,24 @@ export async function join(argv) {
|
|
|
35
34
|
creds: values.creds ? readFileSync(values.creds, "utf8") : undefined,
|
|
36
35
|
tls: values.tls ?? link?.tls ?? false,
|
|
37
36
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
let space;
|
|
38
|
+
let server;
|
|
39
|
+
// An explicit connection (a join link, --token, or --creds) is taken at face value — that's the
|
|
40
|
+
// escape hatch. Otherwise resolve the running mesh from any directory (server + trust material)
|
|
41
|
+
// and self-mint, so a bare `cotal join` works outside the project instead of crashing credless.
|
|
42
|
+
if (link || values.token || values.creds) {
|
|
43
|
+
space = values.space ?? link?.space ?? resolveSpace(process.cwd());
|
|
44
|
+
server = values.server ?? link?.servers ?? DEFAULT_SERVER;
|
|
45
|
+
// Preflight with the ACTUAL auth (probeConnect, not isReachable — which returns true on an auth
|
|
46
|
+
// REJECT, so a bad --creds/token/link would skip the check and crash raw at ep.start()). One
|
|
47
|
+
// sentence on unreachable vs credentials-rejected, then we connect with the same auth.
|
|
48
|
+
await reachableOrExit(server, auth);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const conn = await connectOrExit(values, "manager");
|
|
52
|
+
space = conn.space;
|
|
53
|
+
server = conn.server;
|
|
54
|
+
auth.creds = conn.creds;
|
|
42
55
|
}
|
|
43
56
|
const ep = new CotalEndpoint({
|
|
44
57
|
space,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** `cotal meshes` — list the running meshes (one `cotal up` each), with a `*` on the `current`
|
|
2
|
+
* default. The kubectl `get-contexts` analogue: how you see what a bare `cotal spawn` would join,
|
|
3
|
+
* and which `--space` names are available. Prunes dead entries first. */
|
|
4
|
+
export declare function meshes(): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=meshes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshes.d.ts","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"AAIA;;0EAE0E;AAC1E,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB5C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getCurrent, loadMeshes } from "@cotal-ai/core";
|
|
2
|
+
import { c } from "../ui.js";
|
|
3
|
+
import { pruneStaleMeshes } from "../lib/meshes.js";
|
|
4
|
+
/** `cotal meshes` — list the running meshes (one `cotal up` each), with a `*` on the `current`
|
|
5
|
+
* default. The kubectl `get-contexts` analogue: how you see what a bare `cotal spawn` would join,
|
|
6
|
+
* and which `--space` names are available. Prunes dead entries first. */
|
|
7
|
+
export async function meshes() {
|
|
8
|
+
await pruneStaleMeshes();
|
|
9
|
+
const all = loadMeshes();
|
|
10
|
+
if (all.length === 0) {
|
|
11
|
+
console.log(c.dim("no meshes running — start one with `cotal up`"));
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const current = getCurrent();
|
|
15
|
+
const pad = Math.max(...all.map((m) => m.space.length));
|
|
16
|
+
for (const m of all) {
|
|
17
|
+
const marker = m.space === current ? c.green("*") : " ";
|
|
18
|
+
console.log(`${marker} ${m.space.padEnd(pad)} ${c.dim(`${m.server} ${m.mode} ${m.root}`)}`);
|
|
19
|
+
}
|
|
20
|
+
// A `current` that no longer matches any running mesh (its broker went down) shows no `*` — say
|
|
21
|
+
// why, so a bare `cotal spawn` still reporting "multiple meshes" isn't a mystery.
|
|
22
|
+
if (current && !all.some((m) => m.space === current))
|
|
23
|
+
console.log(c.dim(`\nnote: default "${current}" is not running — \`cotal use <name>\` to set a live one`));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=meshes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshes.js","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;0EAE0E;AAC1E,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,gGAAgG;IAChG,kFAAkF;IAClF,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,OAAO,2DAA2D,CAAC,CAAC,CAAC;AAC/G,CAAC"}
|
package/dist/commands/spawn.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type CompletionResult } from "@cotal-ai/core";
|
|
2
|
-
/** Completion for `cotal spawn <
|
|
3
|
-
*
|
|
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;
|
|
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"}
|
package/dist/commands/spawn.js
CHANGED
|
@@ -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 {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
/** Completion for `cotal spawn <
|
|
10
|
-
*
|
|
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
|
|
13
|
-
return { items:
|
|
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
|
|
99
|
-
// `cotal spawn` with no args launches
|
|
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(
|
|
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
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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(
|
|
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 +
|
|
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(
|
|
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,
|