@cotal-ai/cli 0.11.2 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command.d.ts.map +1 -1
- package/dist/command.js +58 -0
- package/dist/command.js.map +1 -1
- package/dist/commands/ext.d.ts +6 -0
- package/dist/commands/ext.d.ts.map +1 -1
- package/dist/commands/ext.js +50 -47
- package/dist/commands/ext.js.map +1 -1
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +3 -2
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/runtimes.d.ts +9 -0
- package/dist/commands/runtimes.d.ts.map +1 -0
- package/dist/commands/runtimes.js +52 -0
- package/dist/commands/runtimes.js.map +1 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +24 -7
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/spawn-manifest.js +1 -1
- package/dist/commands/spawn-manifest.js.map +1 -1
- package/dist/commands/spawn.d.ts +7 -1
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +11 -0
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/up.d.ts +10 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +66 -10
- package/dist/commands/up.js.map +1 -1
- package/dist/ext-loader.d.ts +12 -1
- package/dist/ext-loader.d.ts.map +1 -1
- package/dist/ext-loader.js +36 -62
- package/dist/ext-loader.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -18
- package/dist/index.js.map +1 -1
- package/dist/lib/auth-proc.d.ts.map +1 -1
- package/dist/lib/auth-proc.js +3 -0
- package/dist/lib/auth-proc.js.map +1 -1
- package/dist/lib/delivery-proc.d.ts.map +1 -1
- package/dist/lib/delivery-proc.js +3 -1
- package/dist/lib/delivery-proc.js.map +1 -1
- package/dist/lib/ext-mutation.d.ts +17 -0
- package/dist/lib/ext-mutation.d.ts.map +1 -0
- package/dist/lib/ext-mutation.js +23 -0
- package/dist/lib/ext-mutation.js.map +1 -0
- package/dist/lib/manager-proc.d.ts.map +1 -1
- package/dist/lib/manager-proc.js +3 -1
- package/dist/lib/manager-proc.js.map +1 -1
- package/dist/lib/manifest/apply.d.ts +4 -3
- package/dist/lib/manifest/apply.d.ts.map +1 -1
- package/dist/lib/manifest/apply.js +9 -7
- package/dist/lib/manifest/apply.js.map +1 -1
- package/dist/lib/up-report.d.ts +9 -0
- package/dist/lib/up-report.d.ts.map +1 -0
- package/dist/lib/up-report.js +12 -0
- package/dist/lib/up-report.js.map +1 -0
- package/dist/seed/authority.d.ts +54 -0
- package/dist/seed/authority.d.ts.map +1 -0
- package/dist/seed/authority.js +94 -0
- package/dist/seed/authority.js.map +1 -0
- package/dist/seed/lock.d.ts +109 -0
- package/dist/seed/lock.d.ts.map +1 -0
- package/dist/seed/lock.js +168 -0
- package/dist/seed/lock.js.map +1 -0
- package/dist/seed/paths.d.ts +66 -0
- package/dist/seed/paths.d.ts.map +1 -0
- package/dist/seed/paths.js +149 -0
- package/dist/seed/paths.js.map +1 -0
- package/dist/seed/reconcile.d.ts +16 -0
- package/dist/seed/reconcile.d.ts.map +1 -0
- package/dist/seed/reconcile.js +431 -0
- package/dist/seed/reconcile.js.map +1 -0
- package/dist/seed/store.d.ts +18 -0
- package/dist/seed/store.d.ts.map +1 -0
- package/dist/seed/store.js +58 -0
- package/dist/seed/store.js.map +1 -0
- package/package.json +3 -3
package/dist/command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsG7F,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B;;;oCAGgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;uFAEuF;AACvF,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFxG"}
|
package/dist/command.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { commandUsage, parseCommandArgs } from "@cotal-ai/core";
|
|
2
2
|
import { c, staleStoreHint } from "./ui.js";
|
|
3
3
|
import { isExtensionStub, materializeExtension, materializeExtensionCommand, overlayExtensions, setCommandSurface, setInstalledExtensionsEnabled, } from "./ext-loader.js";
|
|
4
|
+
import { reconcileSeededConnectors } from "./seed/reconcile.js";
|
|
5
|
+
import { isAuthenticSeedChild } from "./seed/lock.js";
|
|
4
6
|
/** Display order for the help groups — an explicit ranking, NOT registration order: modules
|
|
5
7
|
* self-register on import and the dev runner (tsx) doesn't guarantee entry-import evaluation
|
|
6
8
|
* order, so the daemon surface could otherwise print above Setup. Groups not listed here
|
|
@@ -45,6 +47,49 @@ function commandHelp(cmd) {
|
|
|
45
47
|
console.log(c.bold("flags:"));
|
|
46
48
|
flags.forEach((f, i) => console.log(` ${left[i].padEnd(pad)} ${c.dim(f.description ?? "")}`));
|
|
47
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The connector-seeding boot gate. Returns `true` iff it fully handled the command (maintenance
|
|
52
|
+
* `ext seed`), so the caller returns without the normal dispatch.
|
|
53
|
+
*
|
|
54
|
+
* - `ext seed [--repair|--reset|--force]` is dispatched HERE, before the manifest overlay, so repair
|
|
55
|
+
* survives a corrupt manifest.
|
|
56
|
+
* - every other real command reconciles first (so `npm i -g cotal-ai && cotal ext list` shows the
|
|
57
|
+
* four, and a first-command `ext add` still seeds), EXCEPT completion/help and an AUTHENTIC seed
|
|
58
|
+
* CHILD — an `ext add` whose `COTAL_EXT_SEEDING` nonce + parent PID match the live reconcile lock
|
|
59
|
+
* (a forged marker no longer skips, so it can't bypass the recursive-reconcile guard or the lock).
|
|
60
|
+
*/
|
|
61
|
+
async function seedBoot(registry, argv) {
|
|
62
|
+
const [name, sub] = argv;
|
|
63
|
+
if (name === "ext" && sub === "seed") {
|
|
64
|
+
const extCmd = registry.all("command").find((cmd) => cmd.name === "ext");
|
|
65
|
+
if (!extCmd)
|
|
66
|
+
throw new Error("internal error: the `ext` command is not registered");
|
|
67
|
+
await extCmd.run(parseCommandArgs(extCmd, argv.slice(1)));
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (skipAutoReconcile(argv))
|
|
71
|
+
return false;
|
|
72
|
+
await reconcileSeededConnectors();
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
function skipAutoReconcile(argv) {
|
|
76
|
+
const [name, sub] = argv;
|
|
77
|
+
if (name === undefined || name === "help" || name === "-h" || name === "--help" || name === "__complete")
|
|
78
|
+
return true;
|
|
79
|
+
if (argv.includes("--help") || argv.includes("-h"))
|
|
80
|
+
return true; // command-specific help must not mutate state
|
|
81
|
+
// The seed is skipped for an INTERNAL CHILD re-exec — the `up`/`spawn` that spawns the delivery
|
|
82
|
+
// daemon / manager / auth service sets COTAL_SKIP_CONNECTOR_SEED=1 in their env AFTER it reconciled,
|
|
83
|
+
// so the child doesn't redo the seed on boot. A USER running the same public command directly (e.g.
|
|
84
|
+
// `cotal supervise --roster`, the agent supervisor + container entrypoint) still seeds on first run.
|
|
85
|
+
if (process.env.COTAL_SKIP_CONNECTOR_SEED === "1")
|
|
86
|
+
return true;
|
|
87
|
+
if (name === "ext" && sub === "seed")
|
|
88
|
+
return true; // the explicit maintenance command self-reconciles
|
|
89
|
+
if (name === "ext" && sub === "add" && isAuthenticSeedChild())
|
|
90
|
+
return true; // a seed child must not recurse
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
48
93
|
/** node's parseArgs throws these for unknown/malformed flags; treat as a usage error. */
|
|
49
94
|
function isArgError(e) {
|
|
50
95
|
const code = e?.code;
|
|
@@ -55,6 +100,19 @@ function isArgError(e) {
|
|
|
55
100
|
* Parsing happens HERE, from the command's declared specs; `run` gets parsed args. */
|
|
56
101
|
export async function runCli(registry, argv, opts = {}) {
|
|
57
102
|
setInstalledExtensionsEnabled(Boolean(opts.extensions));
|
|
103
|
+
// On the published binary, keep the four built-in connectors seeded (first run + version bump)
|
|
104
|
+
// through the SAME `ext add` path a third party uses. This runs BEFORE the manifest overlay so
|
|
105
|
+
// `ext seed --repair` can fix a corrupt manifest (the overlay is fatal on corrupt JSON).
|
|
106
|
+
if (opts.extensions) {
|
|
107
|
+
try {
|
|
108
|
+
if (await seedBoot(registry, argv))
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
console.error(c.red(`✗ ${e.message}`));
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
58
116
|
let commands;
|
|
59
117
|
try {
|
|
60
118
|
commands = opts.extensions ? overlayExtensions(registry) : registry.all("command");
|
package/dist/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA+B,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ext.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { type ParsedArgs } from "@cotal-ai/core";
|
|
2
|
+
/** Classify a `cotal ext add` spec as a local path (vs a registry name). A path is a relative `.`/`./`/
|
|
3
|
+
* `.\` spec or an absolute one on the NATIVE platform — POSIX `/…`, Windows drive `C:\…` / `C:/…`, or
|
|
4
|
+
* UNC `\\…`. A POSIX-only test misclassified a Windows absolute path (it starts with a drive letter,
|
|
5
|
+
* not `/`) as a registry name, which broke first-run seeding on Windows (the seed-store spec is always
|
|
6
|
+
* absolute). `absolute` is injectable so the classification is unit-testable for both platforms. */
|
|
7
|
+
export declare function isPathSpec(spec: string, absolute?: (p: string) => boolean): boolean;
|
|
2
8
|
/**
|
|
3
9
|
* `cotal ext` — operator-installed extensions. `add` installs an npm package into the
|
|
4
10
|
* cotal-owned prefix (never the user's project), imports it ONCE so it self-registers into the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/commands/ext.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/commands/ext.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA8BzE;;;;qGAIqG;AACrG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAE/F;AAED;;;;;;;;;;;;;;GAcG;AAEH,wBAAsB,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzD"}
|
package/dist/commands/ext.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
2
|
import { closeSync, cpSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, renameSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { dirname, isAbsolute, join, resolve, sep } from "node:path";
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
5
|
import { registry } from "@cotal-ai/core";
|
|
6
|
-
import { cacheCommand, cacheExtension, cacheLocalProcess, extensionPackageDir, extensionLocalProcesses,
|
|
6
|
+
import { cacheCommand, cacheExtension, cacheLocalProcess, cmdSpawnSpec, extensionPackageDir, extensionLocalProcesses, extensionProvides, extensionsDir, extensionsManifestPath, loadMeshes, localProcessPath, installedExtensionVersion, loadExtensionsManifest, provenance, RESERVED_CONNECTOR_NAMES, saveExtensionsManifest, } from "@cotal-ai/workspace";
|
|
7
7
|
import { c } from "../ui.js";
|
|
8
8
|
import { cotalRoot } from "../lib/paths.js";
|
|
9
9
|
import { resolveSpace } from "../lib/status.js";
|
|
10
|
+
import { claimExtensionMutation } from "../lib/ext-mutation.js";
|
|
11
|
+
import { runSeed } from "../seed/reconcile.js";
|
|
12
|
+
import { isAuthenticSeedChild, markSeedChildLive, clearChildMarker } from "../seed/lock.js";
|
|
13
|
+
import { seedStoreDir } from "../seed/paths.js";
|
|
14
|
+
/** Classify a `cotal ext add` spec as a local path (vs a registry name). A path is a relative `.`/`./`/
|
|
15
|
+
* `.\` spec or an absolute one on the NATIVE platform — POSIX `/…`, Windows drive `C:\…` / `C:/…`, or
|
|
16
|
+
* UNC `\\…`. A POSIX-only test misclassified a Windows absolute path (it starts with a drive letter,
|
|
17
|
+
* not `/`) as a registry name, which broke first-run seeding on Windows (the seed-store spec is always
|
|
18
|
+
* absolute). `absolute` is injectable so the classification is unit-testable for both platforms. */
|
|
19
|
+
export function isPathSpec(spec, absolute = isAbsolute) {
|
|
20
|
+
return spec.startsWith(".") || absolute(spec);
|
|
21
|
+
}
|
|
10
22
|
/**
|
|
11
23
|
* `cotal ext` — operator-installed extensions. `add` installs an npm package into the
|
|
12
24
|
* cotal-owned prefix (never the user's project), imports it ONCE so it self-registers into the
|
|
@@ -30,7 +42,11 @@ export async function ext(args) {
|
|
|
30
42
|
return remove(rest[0]);
|
|
31
43
|
if (sub === "list" && !rest.length)
|
|
32
44
|
return list();
|
|
33
|
-
|
|
45
|
+
if (sub === "seed" && !rest.length) {
|
|
46
|
+
const { repair, reset, force } = args.values;
|
|
47
|
+
return runSeed({ repair, reset, force });
|
|
48
|
+
}
|
|
49
|
+
console.error(c.red("usage: cotal ext <add <npm-package> | remove <name> | list | seed [--repair|--reset|--force]>"));
|
|
34
50
|
process.exit(1);
|
|
35
51
|
}
|
|
36
52
|
/** Resolve the running binary's @cotal-ai/core package dir — the ONE core instance every
|
|
@@ -53,9 +69,15 @@ function ourPackageDir(name) {
|
|
|
53
69
|
}
|
|
54
70
|
}
|
|
55
71
|
function npm(args, cwd) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
// On Windows `npm` is `npm.cmd`; Node refuses to spawn a `.cmd` without a shell (CVE-2024-27980),
|
|
73
|
+
// and a naive shell re-parses cmd metachars, so run it through cmd.exe with a byte-for-byte command
|
|
74
|
+
// line (shared with the manager's PtyRuntime launch).
|
|
75
|
+
const { file, args: spawnArgs, windowsVerbatimArguments } = cmdSpawnSpec("npm", args);
|
|
76
|
+
const r = spawnSync(file, spawnArgs, { cwd, encoding: "utf8", windowsVerbatimArguments });
|
|
77
|
+
// Fold r.error (a spawn failure — ENOENT, EINVAL, …) into the output: it is the ONLY signal when a
|
|
78
|
+
// launch fails before the child runs (status null, empty stdio), so it can't produce a blank error.
|
|
79
|
+
const output = `${r.error ? `spawn error: ${r.error.message}\n` : ""}${r.stdout ?? ""}${r.stderr ?? ""}`.trim();
|
|
80
|
+
return { status: r.status, output };
|
|
59
81
|
}
|
|
60
82
|
/** Import an installed extension package (its declared entry) so it self-registers. */
|
|
61
83
|
async function importExtension(pkg) {
|
|
@@ -106,45 +128,6 @@ function linkExtensionPeers(packages, operationPkg) {
|
|
|
106
128
|
}
|
|
107
129
|
}
|
|
108
130
|
}
|
|
109
|
-
/** Serialize prefix mutations. A dead owner's lock is reclaimed; a live owner fails loud. */
|
|
110
|
-
function claimExtensionMutation() {
|
|
111
|
-
const lock = extensionMutationLockPath();
|
|
112
|
-
mkdirSync(dirname(lock), { recursive: true });
|
|
113
|
-
for (;;) {
|
|
114
|
-
let fd;
|
|
115
|
-
try {
|
|
116
|
-
fd = openSync(lock, "wx", 0o600);
|
|
117
|
-
}
|
|
118
|
-
catch (e) {
|
|
119
|
-
if (e.code !== "EEXIST")
|
|
120
|
-
throw e;
|
|
121
|
-
const status = extensionMutationLockState();
|
|
122
|
-
if (status.state === "absent")
|
|
123
|
-
continue; // raced with the owner's cleanup
|
|
124
|
-
if (status.state === "active")
|
|
125
|
-
throw new Error(`another \`cotal ext\` mutation is in progress (pid ${status.owner})`);
|
|
126
|
-
rmSync(lock, { force: true });
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
try {
|
|
130
|
-
writeFileSync(fd, String(process.pid));
|
|
131
|
-
}
|
|
132
|
-
finally {
|
|
133
|
-
closeSync(fd);
|
|
134
|
-
}
|
|
135
|
-
let released = false;
|
|
136
|
-
return () => {
|
|
137
|
-
if (released)
|
|
138
|
-
return;
|
|
139
|
-
released = true;
|
|
140
|
-
try {
|
|
141
|
-
if (readFileSync(lock, "utf8").trim() === String(process.pid))
|
|
142
|
-
rmSync(lock, { force: true });
|
|
143
|
-
}
|
|
144
|
-
catch { /* already reclaimed/removed */ }
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
131
|
async function add(spec) {
|
|
149
132
|
const dir = extensionsDir();
|
|
150
133
|
mkdirSync(dir, { recursive: true });
|
|
@@ -153,17 +136,29 @@ async function add(spec) {
|
|
|
153
136
|
provenance.wrote("extensions prefix", join(dir, "package.json"));
|
|
154
137
|
}
|
|
155
138
|
// A file:/path spec is resolved to an absolute path so the prefix install works from any cwd.
|
|
156
|
-
const isPath =
|
|
139
|
+
const isPath = isPathSpec(spec);
|
|
157
140
|
const resolved = isPath ? resolve(spec) : spec;
|
|
158
141
|
// The installed NAME is known BEFORE npm runs — never recovered afterwards by diffing the prefix
|
|
159
142
|
// dependencies (a heuristic that binds to the wrong key if the prefix ever drifted, and that made
|
|
160
143
|
// re-adding an installed extension impossible).
|
|
161
144
|
const pkg = packageNameFromSpec(resolved, isPath);
|
|
162
|
-
|
|
145
|
+
// A seed child runs UNDER the reconcile's mutation lock (its parent already holds it for the whole
|
|
146
|
+
// run); claiming again would deadlock against the parent's live PID. It skips the claim, records a
|
|
147
|
+
// liveness marker (so a post-crash repair won't race it), and stamps its entry `source:"seeded"`.
|
|
148
|
+
// Authenticated: only an `ext add` whose marker matches the LIVE reconcile lock AND whose spec is a
|
|
149
|
+
// staged official-connector path qualifies — a forged `COTAL_EXT_SEEDING` can't skip the lock.
|
|
150
|
+
const seeding = isAuthenticSeedChild() && isPath && resolved.startsWith(seedStoreDir() + sep);
|
|
151
|
+
const releaseMutation = seeding ? () => { } : claimExtensionMutation();
|
|
152
|
+
// Upgrade the parent's pending marker to a live one carrying this child's PID, as the first act — so
|
|
153
|
+
// a repair after a parent SIGKILL sees the exact orphan identity and refuses to race it.
|
|
154
|
+
if (seeding)
|
|
155
|
+
markSeedChildLive(process.env.COTAL_EXT_SEEDING, Number(process.env.COTAL_EXT_SEEDING_PARENT));
|
|
163
156
|
try {
|
|
164
157
|
await addTransaction();
|
|
165
158
|
}
|
|
166
159
|
finally {
|
|
160
|
+
if (seeding)
|
|
161
|
+
clearChildMarker();
|
|
167
162
|
releaseMutation();
|
|
168
163
|
}
|
|
169
164
|
async function addTransaction() {
|
|
@@ -202,6 +197,8 @@ async function add(spec) {
|
|
|
202
197
|
};
|
|
203
198
|
const interrupted = () => {
|
|
204
199
|
restore();
|
|
200
|
+
if (seeding)
|
|
201
|
+
clearChildMarker();
|
|
205
202
|
releaseMutation();
|
|
206
203
|
process.exit(130);
|
|
207
204
|
};
|
|
@@ -281,6 +278,11 @@ async function add(spec) {
|
|
|
281
278
|
if (!contributed.length) {
|
|
282
279
|
fail(pkg, `imported cleanly but registered no extensions in THIS CLI's registry - if it bundles its own @cotal-ai/core, make core a peerDependency`);
|
|
283
280
|
}
|
|
281
|
+
// `cotal` is reserved (the binary's own name — there is no runtime alias anymore); a connector must
|
|
282
|
+
// never claim it, or `--agent cotal` would be ambiguous with the CLI.
|
|
283
|
+
const reserved = contributed.find((ext) => ext.kind === "connector" && RESERVED_CONNECTOR_NAMES.includes(ext.name));
|
|
284
|
+
if (reserved)
|
|
285
|
+
fail(pkg, `contributes connector "${reserved.name}", which is a reserved name - a connector cannot be named ${RESERVED_CONNECTOR_NAMES.join(", ")}`);
|
|
284
286
|
// Builtin collisions can't happen here (registry.register throws on a duplicate, surfacing as
|
|
285
287
|
// failed-to-import above, naming the extension). OTHER installed extensions are invisible to the
|
|
286
288
|
// registry during this add (they aren't imported), so their CACHED names are checked explicitly —
|
|
@@ -298,6 +300,7 @@ async function add(spec) {
|
|
|
298
300
|
pkg,
|
|
299
301
|
version,
|
|
300
302
|
spec: resolved,
|
|
303
|
+
...(seeding ? { source: "seeded" } : {}),
|
|
301
304
|
provides: contributed.map(cacheExtension),
|
|
302
305
|
commands: commands.map(cacheCommand),
|
|
303
306
|
localProcesses: localProcesses.map(cacheLocalProcess),
|
package/dist/commands/ext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.js","sourceRoot":"","sources":["../../src/commands/ext.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ext.js","sourceRoot":"","sources":["../../src/commands/ext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAA8E,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAOxK,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"}
|
package/dist/commands/models.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { CONTROL_PRIVILEGED
|
|
1
|
+
import { CONTROL_PRIVILEGED } from "@cotal-ai/core";
|
|
2
2
|
import { loadMeshes, targetFlags } from "@cotal-ai/workspace";
|
|
3
3
|
import { c } from "../ui.js";
|
|
4
|
+
import { extensionNames } from "../ext-loader.js";
|
|
4
5
|
import { askManager, failIfNotOk, resolveControlTarget } from "../lib/control.js";
|
|
5
6
|
import { completingFlagValue } from "../lib/completion.js";
|
|
6
7
|
export const modelsFlags = [
|
|
@@ -13,7 +14,7 @@ export function modelsComplete(argv) {
|
|
|
13
14
|
if (flag?.name === "space")
|
|
14
15
|
return { items: loadMeshes().map((m) => ({ value: m.space })), directive: "nofiles" };
|
|
15
16
|
if (flag?.name === "agent")
|
|
16
|
-
return { items:
|
|
17
|
+
return { items: extensionNames("connector").map((name) => ({ value: name })), directive: "nofiles" };
|
|
17
18
|
if (flag?.name === "creds")
|
|
18
19
|
return { items: [], directive: "default" };
|
|
19
20
|
return { items: [], directive: "nofiles" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cotal runtimes` — the agent runtimes the manager can spawn agents through: the built-in `pty`,
|
|
3
|
+
* the official providers (installed, or one `cotal ext add` away), and any custom installed provider.
|
|
4
|
+
* Each installed provider is imported and probed via `available()` so the operator sees which are
|
|
5
|
+
* actually reachable on this machine BEFORE selecting one with `up`/`spawn --runtime <name>` — no
|
|
6
|
+
* silent fallback: an unreachable runtime is shown as such, and requesting it later fails loud.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runtimes(): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=runtimes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/commands/runtimes.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAuC9C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { registry } from "@cotal-ai/core";
|
|
2
|
+
import { extensionProvides, loadExtensionsManifest } from "@cotal-ai/workspace";
|
|
3
|
+
import { c } from "../ui.js";
|
|
4
|
+
import { OFFICIAL_RUNTIMES, materializeExtension } from "../ext-loader.js";
|
|
5
|
+
/**
|
|
6
|
+
* `cotal runtimes` — the agent runtimes the manager can spawn agents through: the built-in `pty`,
|
|
7
|
+
* the official providers (installed, or one `cotal ext add` away), and any custom installed provider.
|
|
8
|
+
* Each installed provider is imported and probed via `available()` so the operator sees which are
|
|
9
|
+
* actually reachable on this machine BEFORE selecting one with `up`/`spawn --runtime <name>` — no
|
|
10
|
+
* silent fallback: an unreachable runtime is shown as such, and requesting it later fails loud.
|
|
11
|
+
*/
|
|
12
|
+
export async function runtimes() {
|
|
13
|
+
// name → owning package, for every runtime provider an installed extension advertises (read from
|
|
14
|
+
// the manifest; no import yet). A provider already registered in core (a library build) is added
|
|
15
|
+
// below with no package name.
|
|
16
|
+
const providers = new Map();
|
|
17
|
+
for (const ext of loadExtensionsManifest().extensions)
|
|
18
|
+
for (const ref of extensionProvides(ext))
|
|
19
|
+
if (ref.kind === "runtime")
|
|
20
|
+
providers.set(ref.name, ext.pkg);
|
|
21
|
+
for (const ext of registry.all())
|
|
22
|
+
if (ext.kind === "runtime" && !providers.has(ext.name))
|
|
23
|
+
providers.set(ext.name, undefined);
|
|
24
|
+
const rows = [{ name: "pty", state: c.dim("built in") }];
|
|
25
|
+
// Officials first in a stable order, then any custom (non-official) installed/registered provider.
|
|
26
|
+
// `pty` is the built-in row above; a stray extension advertising `runtime:pty` must not add a second,
|
|
27
|
+
// unusable row (both preflightRuntime and the manager's createRuntime special-case pty and never
|
|
28
|
+
// resolve such a provider).
|
|
29
|
+
const names = [...Object.keys(OFFICIAL_RUNTIMES), ...[...providers.keys()].filter((name) => name !== "pty" && !(name in OFFICIAL_RUNTIMES))];
|
|
30
|
+
for (const name of names) {
|
|
31
|
+
if (providers.has(name)) {
|
|
32
|
+
const pkg = providers.get(name) ?? OFFICIAL_RUNTIMES[name];
|
|
33
|
+
let reach;
|
|
34
|
+
try {
|
|
35
|
+
const provider = await materializeExtension({ kind: "runtime", name });
|
|
36
|
+
reach = provider.available() ? c.green("reachable") : c.yellow("unreachable");
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
reach = c.red(`load failed: ${e.message}`);
|
|
40
|
+
}
|
|
41
|
+
rows.push({ name, state: `${c.dim("installed ·")} ${reach}${pkg ? c.dim(` ${pkg}`) : ""}` });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// Official but not installed: one `cotal ext add` away.
|
|
45
|
+
rows.push({ name, state: `${c.dim("available ·")} ${c.dim(`cotal ext add ${OFFICIAL_RUNTIMES[name]}`)}` });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const width = Math.max(...rows.map((row) => row.name.length));
|
|
49
|
+
for (const row of rows)
|
|
50
|
+
console.log(`${c.bold(row.name.padEnd(width))} ${row.state}`);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=runtimes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/commands/runtimes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkD,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAmBjG;;;yFAGyF;AACzF,eAAO,MAAM,UAAU;;;;;;;;;;;;;EAIiB,CAAC;AAEzC;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;AAiHD;;;gGAGgG;AAChG,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BpE"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -2,8 +2,9 @@ import { spawnSync } from "node:child_process";
|
|
|
2
2
|
import { cpSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import * as p from "@clack/prompts";
|
|
5
|
-
import {
|
|
5
|
+
import {} from "@cotal-ai/core";
|
|
6
6
|
import { homeCotalDir, installedExtensionVersion, loadExtensionsManifest, provenance } from "@cotal-ai/workspace";
|
|
7
|
+
import { materializeExtension } from "../ext-loader.js";
|
|
7
8
|
import { brand, brandBold, dim, ok, note, splash } from "../lib/theme.js";
|
|
8
9
|
import { runSteps } from "../lib/steps.js";
|
|
9
10
|
import { abortIfCancel } from "../lib/cancel.js";
|
|
@@ -219,7 +220,17 @@ function claudePluginStep() {
|
|
|
219
220
|
explain: "Lets a Claude Code session join the web and wake on peer messages.",
|
|
220
221
|
context: [join(homeCotalDir(), "claude-plugin"), CC_DOCS_URL],
|
|
221
222
|
async run() {
|
|
222
|
-
|
|
223
|
+
// The claude connector is a seeded/`ext add`ed plugin now, not a static import — materialize it
|
|
224
|
+
// for its `pluginRoot`. If the operator removed it, skip the plugin (with a hint), never crash
|
|
225
|
+
// the guided flow.
|
|
226
|
+
let claude;
|
|
227
|
+
try {
|
|
228
|
+
claude = await materializeExtension({ kind: "connector", name: "claude" });
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
return "claude connector not installed - skipping the plugin (re-add it: cotal ext add @cotal-ai/connector-claude-code)";
|
|
232
|
+
}
|
|
233
|
+
installClaudePlugin(claude);
|
|
223
234
|
return "cotal@cotal-mesh (local scope)";
|
|
224
235
|
},
|
|
225
236
|
};
|
|
@@ -301,10 +312,10 @@ async function readyCard(cwd) {
|
|
|
301
312
|
/** Materialize a stable plugin marketplace under ~/.cotal/claude-plugin (surviving
|
|
302
313
|
* npx cache eviction) and install the plugin from it. The marketplace name must stay
|
|
303
314
|
* `cotal-mesh` (the connector's channel ref `plugin:cotal@cotal-mesh` depends on it). */
|
|
304
|
-
function installClaudePlugin() {
|
|
305
|
-
const { pluginRoot } =
|
|
315
|
+
function installClaudePlugin(claudeConnector) {
|
|
316
|
+
const { pluginRoot } = claudeConnector;
|
|
306
317
|
if (!pluginRoot)
|
|
307
|
-
throw new Error('the
|
|
318
|
+
throw new Error('the "claude" connector ships no plugin assets');
|
|
308
319
|
for (const f of ["dist/mcp.cjs", "dist/hook.cjs", ".claude-plugin/plugin.json", ".mcp.json", "hooks/hooks.json"]) {
|
|
309
320
|
if (!existsSync(join(pluginRoot, f))) {
|
|
310
321
|
throw new Error(`plugin asset missing: ${join(pluginRoot, f)} (in a dev clone, build it with: pnpm --filter @cotal-ai/connector-claude-code bundle)`);
|
|
@@ -364,13 +375,19 @@ function writeDemoAgent(path, body) {
|
|
|
364
375
|
}
|
|
365
376
|
/** The default persona `cotal spawn` (no name) launches: a generic mesh agent, seeded once and
|
|
366
377
|
* then the user's to shape. Unlike the demo team it's never refreshed (seed-if-absent), so any
|
|
367
|
-
* edits stand; deleting it just means the next `cotal setup` writes a fresh copy.
|
|
378
|
+
* edits stand; deleting it just means the next `cotal setup` writes a fresh copy.
|
|
379
|
+
*
|
|
380
|
+
* Read scope is split intentionally: the ACTIVE set (`subscribe`) is just `general`, so a fresh
|
|
381
|
+
* agent isn't firehosed every channel on the mesh at boot, while the read ACL (`allowSubscribe:
|
|
382
|
+
* [">"]`) still PERMITS it to read anything — it just has to `cotal_join` a channel to start
|
|
383
|
+
* receiving it. (`subscribe: [">"]` would auto-subscribe to every channel, the old behavior.) */
|
|
368
384
|
const DEFAULT_AGENT = `---
|
|
369
385
|
name: default_agent
|
|
370
386
|
role: default
|
|
371
387
|
description: An agent on the mesh
|
|
372
388
|
tags: []
|
|
373
|
-
subscribe: [
|
|
389
|
+
subscribe: [general]
|
|
390
|
+
allowSubscribe: [">"]
|
|
374
391
|
allowPublish: [">"]
|
|
375
392
|
capabilities: [spawn]
|
|
376
393
|
---
|