@cotal-ai/cli 0.13.1 → 0.13.2

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 (43) hide show
  1. package/dist/command.d.ts.map +1 -1
  2. package/dist/command.js +4 -0
  3. package/dist/command.js.map +1 -1
  4. package/dist/commands/clean.d.ts.map +1 -1
  5. package/dist/commands/clean.js +15 -11
  6. package/dist/commands/clean.js.map +1 -1
  7. package/dist/commands/doctor.d.ts.map +1 -1
  8. package/dist/commands/doctor.js +40 -8
  9. package/dist/commands/doctor.js.map +1 -1
  10. package/dist/commands/ext.d.ts +3 -0
  11. package/dist/commands/ext.d.ts.map +1 -1
  12. package/dist/commands/ext.js +95 -30
  13. package/dist/commands/ext.js.map +1 -1
  14. package/dist/commands/setup.d.ts.map +1 -1
  15. package/dist/commands/setup.js +6 -32
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/commands/status.d.ts.map +1 -1
  18. package/dist/commands/status.js +9 -4
  19. package/dist/commands/status.js.map +1 -1
  20. package/dist/commands/up.d.ts.map +1 -1
  21. package/dist/commands/up.js +8 -5
  22. package/dist/commands/up.js.map +1 -1
  23. package/dist/commands/update.d.ts +36 -0
  24. package/dist/commands/update.d.ts.map +1 -0
  25. package/dist/commands/update.js +342 -0
  26. package/dist/commands/update.js.map +1 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +12 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/lib/ext-mutation.d.ts +9 -7
  32. package/dist/lib/ext-mutation.d.ts.map +1 -1
  33. package/dist/lib/ext-mutation.js +11 -12
  34. package/dist/lib/ext-mutation.js.map +1 -1
  35. package/dist/seed/paths.d.ts +2 -1
  36. package/dist/seed/paths.d.ts.map +1 -1
  37. package/dist/seed/paths.js +9 -8
  38. package/dist/seed/paths.js.map +1 -1
  39. package/dist/seed/reconcile.d.ts +1 -0
  40. package/dist/seed/reconcile.d.ts.map +1 -1
  41. package/dist/seed/reconcile.js +20 -15
  42. package/dist/seed/reconcile.js.map +1 -1
  43. package/package.json +3 -3
@@ -0,0 +1,342 @@
1
+ import { spawn, spawnSync } from "node:child_process";
2
+ import { readFileSync, realpathSync } from "node:fs";
3
+ import { isAbsolute, join, relative, resolve, sep } from "node:path";
4
+ import { cmdSpawnSpec, beginGlobalUpdateChild, claimGlobalNpmUpdateLock, loadExtensionsManifest, SEEDED_EXTENSIONS, } from "@cotal-ai/workspace";
5
+ import { EXT_UPDATE_PARENT_ENV } from "./ext.js";
6
+ import { claimExtensionUpdatePass } from "../lib/ext-mutation.js";
7
+ import { selfArgv } from "../lib/self-exec.js";
8
+ import { cliVersion } from "../lib/version.js";
9
+ import { runSeed, compareSemver } from "../seed/reconcile.js";
10
+ import { c } from "../ui.js";
11
+ const UPDATE_TARGET_ENV = "COTAL_UPDATE_TARGET_VERSION";
12
+ const UPDATE_PARENT_ENV = "COTAL_UPDATE_PARENT";
13
+ export const updateFlags = [
14
+ { name: "self", type: "boolean", description: "install the validated latest cotal-ai globally, then reconcile through it" },
15
+ ];
16
+ const runtime = {
17
+ env: process.env,
18
+ pid: process.pid,
19
+ parentPid: process.ppid,
20
+ nodePath: process.execPath,
21
+ version: cliVersion,
22
+ reconcile: () => runSeed({ force: true }),
23
+ extensions: () => loadExtensionsManifest().extensions,
24
+ claimUpdatePass: () => claimExtensionUpdatePass(),
25
+ claimGlobalUpdate: (root) => claimGlobalNpmUpdateLock(root),
26
+ selfArgv,
27
+ npm: runNpm,
28
+ spawn: runProcess,
29
+ spawnGlobal: runGlobalProcess,
30
+ verifyGlobalEntry,
31
+ out: console.log,
32
+ err: console.error,
33
+ stdout: (message) => void process.stdout.write(message),
34
+ stderr: (message) => void process.stderr.write(message),
35
+ };
36
+ export async function update(args, rt = runtime) {
37
+ const code = await executeUpdate(Boolean(args.values.self), rt);
38
+ if (code !== 0)
39
+ process.exitCode = code;
40
+ }
41
+ /** Injectable command body: production keeps one process seam; the smoke covers every decision branch. */
42
+ export async function executeUpdate(self, rt = runtime) {
43
+ const current = rt.version();
44
+ const child = childBinding(rt);
45
+ if (child.kind === "invalid") {
46
+ rt.err(c.red(`✗ invalid global update child binding: ${child.reason}; refusing to mutate extensions`));
47
+ return 1;
48
+ }
49
+ if (child.kind === "bound") {
50
+ if (current !== child.target) {
51
+ rt.err(c.red(`✗ global update child is cotal-ai ${current}, expected ${child.target}; refusing to mutate extensions`));
52
+ return 1;
53
+ }
54
+ return reconcileCurrent(current, rt, (ok) => ok ? 0 : 1);
55
+ }
56
+ if (self) {
57
+ const latest = latestVersion(rt);
58
+ if (latest.ok && compareSemver(latest.version, current) > 0)
59
+ return upgradeAndReconcile(latest.version, current, rt);
60
+ return reconcileCurrent(current, rt, (reconciled) => {
61
+ if (!latest.ok) {
62
+ rt.err(c.red(`✗ cotal-ai version check failed: ${latest.error}`));
63
+ return 1;
64
+ }
65
+ reportVersion(current, latest.version, rt);
66
+ return reconciled ? 0 : 1;
67
+ });
68
+ }
69
+ return reconcileCurrent(current, rt, (reconciled) => {
70
+ const latest = latestVersion(rt);
71
+ if (!latest.ok) {
72
+ rt.err(c.red(`✗ cotal-ai version check failed: ${latest.error}`));
73
+ return 1;
74
+ }
75
+ reportVersion(current, latest.version, rt);
76
+ return reconciled ? 0 : 1;
77
+ });
78
+ }
79
+ async function reconcileCurrent(current, rt, finish) {
80
+ rt.out(c.bold("Built-in connectors"));
81
+ try {
82
+ await rt.reconcile();
83
+ }
84
+ catch (e) {
85
+ rt.err(c.red(`✗ built-in connectors: ${message(e)}`));
86
+ return finish(false);
87
+ }
88
+ let releaseMutation;
89
+ try {
90
+ releaseMutation = rt.claimUpdatePass();
91
+ }
92
+ catch (e) {
93
+ rt.err(c.red(`✗ could not reserve the extension update pass: ${message(e)}`));
94
+ return finish(false);
95
+ }
96
+ try {
97
+ let ok = true;
98
+ rt.out(c.bold("Operator extensions"));
99
+ let entries;
100
+ try {
101
+ // Exclude every seeded built-in (the connectors AND the bundled web dashboard) — runSeed already
102
+ // reconciled them from the bundled store; letting web fall through here reinstalls it from npm on
103
+ // top of the seed, drops its seeded marker, and makes `cotal update` fail offline on a bundled pkg.
104
+ const builtIns = new Set(Object.values(SEEDED_EXTENSIONS).map((e) => e.pkg));
105
+ entries = rt.extensions().filter((entry) => !builtIns.has(entry.pkg));
106
+ }
107
+ catch (e) {
108
+ rt.err(c.red(`✗ could not read installed extensions: ${message(e)}`));
109
+ return finish(false);
110
+ }
111
+ if (!entries.length) {
112
+ rt.out(c.dim("operator extensions: none installed"));
113
+ return finish(ok);
114
+ }
115
+ for (const entry of entries) {
116
+ if (!entry.pkg.startsWith("@cotal-ai/")) {
117
+ rt.out(c.dim(`${entry.pkg}@${entry.version} - not auto-updated in v1 (recorded spec: ${entry.spec})`));
118
+ continue;
119
+ }
120
+ const spec = `${entry.pkg}@${current}`;
121
+ const [bin, ...argv] = rt.selfArgv();
122
+ const env = {
123
+ ...rt.env,
124
+ COTAL_SKIP_CONNECTOR_SEED: "1",
125
+ [EXT_UPDATE_PARENT_ENV]: String(rt.pid),
126
+ };
127
+ delete env[UPDATE_TARGET_ENV];
128
+ delete env[UPDATE_PARENT_ENV];
129
+ const result = rt.spawn(bin, [...argv, "ext", "__update-add", entry.pkg, spec], env);
130
+ writeChildOutput(result);
131
+ if (result.status !== 0) {
132
+ rt.err(c.red(`✗ ${entry.pkg}: ${failure(result)}`));
133
+ ok = false;
134
+ if (result.status === null) {
135
+ rt.err(c.red("✗ extension replay process ended abnormally; refusing to start another package mutation"));
136
+ break;
137
+ }
138
+ continue;
139
+ }
140
+ rt.out(c.green(`✓ ${entry.pkg}@${current}`) + c.dim(` - current generation (recorded spec: ${entry.spec})`));
141
+ }
142
+ return finish(ok);
143
+ }
144
+ finally {
145
+ releaseMutation();
146
+ }
147
+ function writeChildOutput(result) {
148
+ if (result.stderr)
149
+ rt.stderr(result.stderr);
150
+ if (result.stdout)
151
+ rt.stdout(result.stdout);
152
+ }
153
+ }
154
+ function latestVersion(rt) {
155
+ const result = rt.npm(["view", "cotal-ai@latest", "version", "--json"]);
156
+ if (result.status !== 0)
157
+ return { ok: false, error: failure(result) };
158
+ try {
159
+ return { ok: true, version: parseNpmVersion(result.stdout) };
160
+ }
161
+ catch (e) {
162
+ return { ok: false, error: message(e) };
163
+ }
164
+ }
165
+ async function upgradeAndReconcile(target, current, rt) {
166
+ const rootResult = rt.npm(["root", "-g"]);
167
+ if (rootResult.status !== 0) {
168
+ rt.err(c.red(`✗ could not resolve npm's global root before install: ${failure(rootResult)}`));
169
+ return 1;
170
+ }
171
+ const root = rootResult.stdout.trim();
172
+ if (!root || /[\r\n]/.test(root)) {
173
+ rt.err(c.red(`✗ npm returned an invalid global root: ${JSON.stringify(rootResult.stdout)}`));
174
+ return 1;
175
+ }
176
+ let releaseGlobal;
177
+ try {
178
+ releaseGlobal = rt.claimGlobalUpdate(root);
179
+ }
180
+ catch (e) {
181
+ rt.err(c.red(`✗ could not reserve npm's global root for update: ${message(e)}`));
182
+ return 1;
183
+ }
184
+ try {
185
+ rt.out(c.bold("cotal-ai binary"));
186
+ rt.out(c.dim(`installing cotal-ai@${target} into npm's global installation; this ${current} process remains loaded until the verified global copy takes over`));
187
+ const npmInstall = cmdSpawnSpec("npm", ["install", "-g", `cotal-ai@${target}`]);
188
+ const installed = await rt.spawnGlobal(root, "install", npmInstall.file, npmInstall.args, rt.env, true, npmInstall.windowsVerbatimArguments);
189
+ if (installed.status !== 0) {
190
+ rt.err(c.red(`✗ global cotal-ai@${target} install failed: ${failure(installed)}`));
191
+ return 1;
192
+ }
193
+ let entry;
194
+ try {
195
+ entry = rt.verifyGlobalEntry(root, target);
196
+ }
197
+ catch (e) {
198
+ rt.err(c.red(`✗ installed global cotal-ai could not be verified: ${message(e)}`));
199
+ return 1;
200
+ }
201
+ const env = {
202
+ ...rt.env,
203
+ [UPDATE_TARGET_ENV]: target,
204
+ [UPDATE_PARENT_ENV]: String(rt.pid),
205
+ };
206
+ delete env[EXT_UPDATE_PARENT_ENV];
207
+ const child = await rt.spawnGlobal(root, "reconcile", rt.nodePath, [entry, "update"], env, true);
208
+ if (child.stderr)
209
+ rt.stderr(child.stderr);
210
+ if (child.stdout)
211
+ rt.stdout(child.stdout);
212
+ if (child.status !== 0) {
213
+ rt.err(c.red(`✗ cotal-ai@${target} installed globally, but its reconcile failed: ${failure(child)}`));
214
+ return child.status ?? 1;
215
+ }
216
+ rt.out(c.green(`✓ cotal-ai@${target} installed globally and reconciled`));
217
+ return 0;
218
+ }
219
+ finally {
220
+ releaseGlobal();
221
+ }
222
+ }
223
+ function reportVersion(current, latest, rt) {
224
+ rt.out(c.bold("cotal-ai binary"));
225
+ if (compareSemver(latest, current) > 0) {
226
+ rt.out(c.yellow(`! cotal-ai ${current} -> ${latest} available`) + c.dim(" - run: cotal update --self"));
227
+ }
228
+ else {
229
+ rt.out(c.green(`✓ cotal-ai ${current} is up to date`));
230
+ }
231
+ }
232
+ function childBinding(rt) {
233
+ const target = rt.env[UPDATE_TARGET_ENV];
234
+ const parent = rt.env[UPDATE_PARENT_ENV];
235
+ if (target === undefined && parent === undefined)
236
+ return { kind: "none" };
237
+ if (!target || !STRICT_SEMVER.test(target))
238
+ return { kind: "invalid", reason: "target version is missing or invalid" };
239
+ if (!parent || !/^\d+$/.test(parent))
240
+ return { kind: "invalid", reason: "parent pid is missing or invalid" };
241
+ if (Number(parent) !== rt.parentPid)
242
+ return { kind: "invalid", reason: "parent pid does not match the launching process" };
243
+ return { kind: "bound", target };
244
+ }
245
+ export function parseNpmVersion(output) {
246
+ const parsed = JSON.parse(output.trim());
247
+ if (typeof parsed !== "string" || !STRICT_SEMVER.test(parsed))
248
+ throw new Error(`npm returned an invalid cotal-ai version: ${JSON.stringify(parsed)}`);
249
+ compareSemver(parsed, parsed);
250
+ return parsed;
251
+ }
252
+ const PRE = "(?:0|[1-9]\\d*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)";
253
+ const BUILD = "[0-9A-Za-z-]+";
254
+ const STRICT_SEMVER = new RegExp(`^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-${PRE}(?:\\.${PRE})*)?(?:\\+${BUILD}(?:\\.${BUILD})*)?$`);
255
+ export function verifyGlobalEntry(root, expectedVersion) {
256
+ const packageDir = realpathSync(join(resolve(root), "cotal-ai"));
257
+ const meta = JSON.parse(readFileSync(join(packageDir, "package.json"), "utf8"));
258
+ if (meta.name !== "cotal-ai" || meta.version !== expectedVersion)
259
+ throw new Error(`expected cotal-ai@${expectedVersion}, found ${meta.name ?? "unnamed"}@${meta.version ?? "unknown"}`);
260
+ const declared = typeof meta.bin === "string" ? meta.bin : meta.bin?.cotal;
261
+ if (!declared)
262
+ throw new Error("the installed package declares no cotal executable");
263
+ const entry = realpathSync(resolve(packageDir, declared));
264
+ const rel = relative(packageDir, entry);
265
+ if (rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute(rel))
266
+ throw new Error(`the installed cotal executable escapes its package: ${entry}`);
267
+ return entry;
268
+ }
269
+ function runNpm(args, inherit = false) {
270
+ try {
271
+ const { file, args: spawnArgs, windowsVerbatimArguments } = cmdSpawnSpec("npm", args);
272
+ const result = spawnSync(file, spawnArgs, inherit
273
+ ? { stdio: "inherit", windowsVerbatimArguments }
274
+ : { encoding: "utf8", windowsVerbatimArguments });
275
+ return {
276
+ status: result.status,
277
+ stdout: `${result.stdout ?? ""}`,
278
+ stderr: `${result.stderr ?? ""}`,
279
+ error: result.error?.message,
280
+ };
281
+ }
282
+ catch (e) {
283
+ return { status: null, stdout: "", stderr: "", error: message(e) };
284
+ }
285
+ }
286
+ function runProcess(file, args, env, inherit = false) {
287
+ const result = spawnSync(file, args, inherit ? { stdio: "inherit", env } : { encoding: "utf8", env });
288
+ return {
289
+ status: result.status,
290
+ stdout: `${result.stdout ?? ""}`,
291
+ stderr: `${result.stderr ?? ""}`,
292
+ error: result.error?.message,
293
+ };
294
+ }
295
+ async function runGlobalProcess(root, operation, file, args, env, inherit = false, windowsVerbatimArguments = false) {
296
+ const mutation = beginGlobalUpdateChild(root, operation);
297
+ let published = false;
298
+ let preservePending = false;
299
+ try {
300
+ const child = spawn(file, args, {
301
+ env,
302
+ windowsVerbatimArguments,
303
+ ...(inherit ? { stdio: "inherit" } : {}),
304
+ });
305
+ let error = "";
306
+ let stdout = "";
307
+ let stderr = "";
308
+ child.stdout?.on("data", (chunk) => { stdout += chunk.toString(); });
309
+ child.stderr?.on("data", (chunk) => { stderr += chunk.toString(); });
310
+ child.once("error", (e) => { error = e.message; });
311
+ if (child.pid !== undefined) {
312
+ try {
313
+ mutation.markLive(child.pid);
314
+ published = true;
315
+ }
316
+ catch (e) {
317
+ error = `could not journal ${operation} child ${child.pid}: ${e.message}`;
318
+ preservePending = true;
319
+ }
320
+ }
321
+ const closed = await new Promise((resolveClose) => child.once("close", (status, signal) => resolveClose({ status, signal })));
322
+ if (published)
323
+ mutation.complete(closed.status, closed.signal, closed.signal !== null
324
+ ? `${operation} child terminated by ${closed.signal}`
325
+ : `Windows npm intermediary exited ${closed.status}; descendant completion is unproved`);
326
+ return { status: error ? null : closed.status, stdout, stderr, ...(error ? { error } : {}) };
327
+ }
328
+ catch (e) {
329
+ return { status: null, stdout: "", stderr: "", error: message(e) };
330
+ }
331
+ finally {
332
+ if (!published && !preservePending)
333
+ mutation.clear();
334
+ }
335
+ }
336
+ function failure(result) {
337
+ return [result.error, result.stderr.trim(), result.stdout.trim()].filter(Boolean).join("\n") || `process exited ${result.status}`;
338
+ }
339
+ function message(value) {
340
+ return value instanceof Error ? value.message : String(value);
341
+ }
342
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { runCli } from "./command.js";
2
2
  export { c, statusBadge } from "./ui.js";
3
3
  export { spawnFlags } from "./commands/spawn.js";
4
+ export { updateFlags } from "./commands/update.js";
4
5
  export { START_TIMEOUT_MS } from "./lib/control.js";
5
6
  export { launchAgent } from "./lib/manifest/live.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2aA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAobA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ import { status, statusFlags } from "./commands/status.js";
26
26
  import { doctor, doctorFlags } from "./commands/doctor.js";
27
27
  import { endpoints } from "./commands/endpoints.js";
28
28
  import { backup, backupComplete, backupFlags } from "./commands/backup.js";
29
+ import { update, updateFlags } from "./commands/update.js";
29
30
  /** The minimal mesh CLI: thin NATS clients (up/join/console), plus `spawn` — an agent launch
30
31
  * (foreground or --detach) that reuses the connector's launch recipe. Self-registers on import;
31
32
  * heavier surfaces (the manager daemon, delivery) register the same way and are composed at a
@@ -48,8 +49,8 @@ const baseCommands = [
48
49
  name: "ext",
49
50
  group: "Setup",
50
51
  summary: "operator-installed extensions - add commands, runtimes, and local process providers",
51
- usage: "ext <add <npm-package> | remove <name> | list | seed [--repair|--reset|--force]>",
52
- positionals: "<add <npm-package> | remove <name> | list | seed>",
52
+ usage: "ext [add <npm-package> | remove <name> | list | root | seed [--repair|--reset|--force]]",
53
+ positionals: "[add <npm-package> | remove <name> | list | root | seed]",
53
54
  flags: [
54
55
  { name: "repair", type: "boolean", description: "seed: recover a lost ever-seeded authority from its durable backup" },
55
56
  { name: "reset", type: "boolean", description: "seed: discard the authority and re-seed all built-in connectors (resurrects removed ones)" },
@@ -57,6 +58,14 @@ const baseCommands = [
57
58
  ],
58
59
  run: ext,
59
60
  },
61
+ {
62
+ kind: "command",
63
+ name: "update",
64
+ group: "Setup",
65
+ summary: "reconcile first-party extensions and check for a coherent cotal-ai upgrade",
66
+ flags: updateFlags,
67
+ run: update,
68
+ },
60
69
  {
61
70
  kind: "command",
62
71
  name: "completion",
@@ -416,6 +425,7 @@ export { runCli } from "./command.js";
416
425
  export { c, statusBadge } from "./ui.js";
417
426
  // The full spawn grammar, for the composition root's launch-parity smoke (grammar ⊆ start-op ⊆ MCP).
418
427
  export { spawnFlags } from "./commands/spawn.js";
428
+ export { updateFlags } from "./commands/update.js";
419
429
  // The launch-client timeout + the manifest launch client, for the same smoke: every launch door
420
430
  // must outlive the manager's readiness wait (#159 B1).
421
431
  export { START_TIMEOUT_MS } from "./lib/control.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
+ import { claimExtensionUpdatePass, extensionUpdatePassOwnedBy } from "@cotal-ai/workspace";
1
2
  /**
2
- * The extension-prefix writer lock: serializes every `cotal ext` mutation (add/remove) AND the
3
- * built-in seeding reconcile against each other, over the shared crash-safe advisory-lock primitive
4
- * (atomic hard-link publish, PID + process-start liveness, bounded wait, nonce-guarded release). Lives
5
- * in its own lib so both `commands/ext.ts` and the `seed/` reconcile hold it without an import cycle:
6
- * the reconcile keeps it for its WHOLE run (across every seed child) so an operator `ext add`/`remove`
7
- * can't interleave between children and strand a stale refresh decision; each seed child skips
8
- * claiming it (its parent already holds it — see `commands/ext.ts`).
3
+ * Extension mutations use a pass guard followed by the prefix writer lock. Ordinary add/remove and
4
+ * seeding hold both; `cotal update` holds the pass guard across its whole inventory and npm check,
5
+ * while each isolated child owns the writer lock for its actual npm transaction. Both use the shared
6
+ * crash-safe advisory primitive. This lives outside commands/seed so every path shares one lock order.
9
7
  */
10
8
  /** Claim the extension-prefix writer lock. `waitMs` defaults to 0 — an interactive operator `cotal
11
9
  * ext` fails FAST on a live holder ("retry once it finishes"), never a 5-minute wait; a dead owner is
@@ -13,5 +11,9 @@
13
11
  * the boot-gate. */
14
12
  export declare function claimExtensionMutation(opts?: {
15
13
  waitMs?: number;
14
+ borrowUpdateParent?: number;
16
15
  }): () => void;
16
+ /** Reserve a whole multi-child update pass. Children borrow this guard but own the normal mutation
17
+ * lock while touching npm state, so an orphan still blocks concurrent writers after its parent dies. */
18
+ export { claimExtensionUpdatePass, extensionUpdatePassOwnedBy };
17
19
  //# sourceMappingURL=ext-mutation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ext-mutation.d.ts","sourceRoot":"","sources":["../../src/lib/ext-mutation.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH;;;qBAGqB;AACrB,wBAAgB,sBAAsB,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,IAAI,CAOjF"}
1
+ {"version":3,"file":"ext-mutation.d.ts","sourceRoot":"","sources":["../../src/lib/ext-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH;;;qBAGqB;AACrB,wBAAgB,sBAAsB,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,IAAI,CAM9G;AAED;wGACwG;AACxG,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,23 +1,22 @@
1
- import { acquireLock, extensionMutationLockPath } from "@cotal-ai/workspace";
1
+ import { claimExtensionMutationLock, claimExtensionUpdatePass, extensionUpdatePassOwnedBy, } from "@cotal-ai/workspace";
2
2
  /**
3
- * The extension-prefix writer lock: serializes every `cotal ext` mutation (add/remove) AND the
4
- * built-in seeding reconcile against each other, over the shared crash-safe advisory-lock primitive
5
- * (atomic hard-link publish, PID + process-start liveness, bounded wait, nonce-guarded release). Lives
6
- * in its own lib so both `commands/ext.ts` and the `seed/` reconcile hold it without an import cycle:
7
- * the reconcile keeps it for its WHOLE run (across every seed child) so an operator `ext add`/`remove`
8
- * can't interleave between children and strand a stale refresh decision; each seed child skips
9
- * claiming it (its parent already holds it — see `commands/ext.ts`).
3
+ * Extension mutations use a pass guard followed by the prefix writer lock. Ordinary add/remove and
4
+ * seeding hold both; `cotal update` holds the pass guard across its whole inventory and npm check,
5
+ * while each isolated child owns the writer lock for its actual npm transaction. Both use the shared
6
+ * crash-safe advisory primitive. This lives outside commands/seed so every path shares one lock order.
10
7
  */
11
8
  /** Claim the extension-prefix writer lock. `waitMs` defaults to 0 — an interactive operator `cotal
12
9
  * ext` fails FAST on a live holder ("retry once it finishes"), never a 5-minute wait; a dead owner is
13
10
  * still reclaimed. The reconcile passes a modest wait so a brief concurrent operator op doesn't fail
14
11
  * the boot-gate. */
15
12
  export function claimExtensionMutation(opts = {}) {
16
- const held = acquireLock(extensionMutationLockPath(), {
13
+ return claimExtensionMutationLock({
14
+ ...opts,
17
15
  label: "a `cotal ext` mutation",
18
- waitMs: opts.waitMs ?? 0,
19
- onTimeout: (owner) => new Error(`another \`cotal ext\` mutation is in progress (pid ${owner.pid}) - retry once it finishes`),
16
+ timeoutMessage: (pid) => `another \`cotal ext\` mutation is in progress (pid ${pid}) - retry once it finishes`,
20
17
  });
21
- return () => held.release();
22
18
  }
19
+ /** Reserve a whole multi-child update pass. Children borrow this guard but own the normal mutation
20
+ * lock while touching npm state, so an orphan still blocks concurrent writers after its parent dies. */
21
+ export { claimExtensionUpdatePass, extensionUpdatePassOwnedBy };
23
22
  //# sourceMappingURL=ext-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ext-mutation.js","sourceRoot":"","sources":["../../src/lib/ext-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE7E;;;;;;;;GAQG;AACH;;;qBAGqB;AACrB,MAAM,UAAU,sBAAsB,CAAC,OAA4B,EAAE;IACnE,MAAM,IAAI,GAAG,WAAW,CAAC,yBAAyB,EAAE,EAAE;QACpD,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,sDAAsD,KAAK,CAAC,GAAG,4BAA4B,CAAC;KAC7H,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"ext-mutation.js","sourceRoot":"","sources":["../../src/lib/ext-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH;;;qBAGqB;AACrB,MAAM,UAAU,sBAAsB,CAAC,OAAyD,EAAE;IAChG,OAAO,0BAA0B,CAAC;QAChC,GAAG,IAAI;QACP,KAAK,EAAE,wBAAwB;QAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,sDAAsD,GAAG,4BAA4B;KAC/G,CAAC,CAAC;AACL,CAAC;AAED;wGACwG;AACxG,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC"}
@@ -8,7 +8,8 @@
8
8
  * copy each shipped connector payload into `store/<generation>/<name>` and `ext add` from THAT stable
9
9
  * path, keyed by the binary's version so a `cotal-ai` upgrade lands a fresh generation.
10
10
  */
11
- /** The four first-party connectors, in a stable seed order. Keys of {@link OFFICIAL_CONNECTORS}. */
11
+ /** The first-party seeded extensions, in a stable seed order: the connectors plus the web dashboard.
12
+ * Keys of {@link SEEDED_EXTENSIONS}. */
12
13
  export declare const SEED_BUILTINS: readonly string[];
13
14
  /** `<config>/cotal/seed` — the seed engine's own state root (NOT inside the npm prefix). */
14
15
  export declare function seedDir(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/seed/paths.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH,oGAAoG;AACpG,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAqC,CAAC;AAEjF,4FAA4F;AAC5F,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;wGACwG;AACxG,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;oFACoF;AACpF,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;sFACsF;AACtF,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;iEACiE;AACjE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;+FAC+F;AAC/F,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;iEAEiE;AACjE,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;wEAGwE;AACxE,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAaD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED;yFACyF;AACzF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,SAAQ,GAAG,IAAI,CAMhF;AAED;sGACsG;AACtG,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAa3D"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/seed/paths.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH;yCACyC;AACzC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAmC,CAAC;AAE/E,4FAA4F;AAC5F,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;wGACwG;AACxG,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;oFACoF;AACpF,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;sFACsF;AACtF,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;iEACiE;AACjE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;+FAC+F;AAC/F,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;iEAEiE;AACjE,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;wEAGwE;AACxE,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAaD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED;yFACyF;AACzF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,SAAQ,GAAG,IAAI,CAMhF;AAED;sGACsG;AACtG,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAa3D"}
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFil
2
2
  import { randomBytes } from "node:crypto";
3
3
  import { basename, dirname, join } from "node:path";
4
4
  import { globalConfigDir } from "@cotal-ai/core";
5
- import { OFFICIAL_CONNECTORS } from "@cotal-ai/workspace";
5
+ import { SEEDED_EXTENSIONS } from "@cotal-ai/workspace";
6
6
  /**
7
7
  * Filesystem layout + version identity for the connector seeding engine. Everything the reconcile
8
8
  * writes lives under `<config>/cotal/seed/`, a sibling of the `extensions/` npm prefix — the prefix
@@ -13,8 +13,9 @@ import { OFFICIAL_CONNECTORS } from "@cotal-ai/workspace";
13
13
  * copy each shipped connector payload into `store/<generation>/<name>` and `ext add` from THAT stable
14
14
  * path, keyed by the binary's version so a `cotal-ai` upgrade lands a fresh generation.
15
15
  */
16
- /** The four first-party connectors, in a stable seed order. Keys of {@link OFFICIAL_CONNECTORS}. */
17
- export const SEED_BUILTINS = Object.keys(OFFICIAL_CONNECTORS);
16
+ /** The first-party seeded extensions, in a stable seed order: the connectors plus the web dashboard.
17
+ * Keys of {@link SEEDED_EXTENSIONS}. */
18
+ export const SEED_BUILTINS = Object.keys(SEEDED_EXTENSIONS);
18
19
  /** `<config>/cotal/seed` — the seed engine's own state root (NOT inside the npm prefix). */
19
20
  export function seedDir() {
20
21
  return join(globalConfigDir(), "seed");
@@ -125,16 +126,16 @@ function repoRootFromHere() {
125
126
  * connectors.
126
127
  */
127
128
  export function shippedSourceDir(name) {
128
- const pkg = OFFICIAL_CONNECTORS[name];
129
- if (!pkg)
130
- throw new Error(`"${name}" is not a first-party connector; only ${SEED_BUILTINS.join(", ")} are seeded`);
131
- const devDir = join(repoRootFromHere(), "extensions", pkg.split("/")[1]);
129
+ const ext = SEEDED_EXTENSIONS[name];
130
+ if (!ext)
131
+ throw new Error(`"${name}" is not a first-party seeded extension; only ${SEED_BUILTINS.join(", ")} are seeded`);
132
+ const devDir = join(repoRootFromHere(), ext.srcDir);
132
133
  if (existsSync(join(devDir, "package.json")))
133
134
  return devDir;
134
135
  const pubDir = join(dirname(entryScript()), "..", "seeded-connectors", name);
135
136
  if (existsSync(join(pubDir, "package.json")))
136
137
  return pubDir;
137
- throw new Error(`no shipped payload for connector "${name}" (looked in ${devDir} and ${pubDir}) - this cotal-ai build is missing its seeded connectors`);
138
+ throw new Error(`no shipped payload for extension "${name}" (looked in ${devDir} and ${pubDir}) - this cotal-ai build is missing its seeded extensions`);
138
139
  }
139
140
  /** Atomically write JSON (temp-then-rename, exclusive temp — never follows a pre-planted symlink),
140
141
  * the same durability `writeLaunchSpec`/manifest writes use. Creates the parent dir. */