@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.
- package/dist/command.d.ts.map +1 -1
- package/dist/command.js +4 -0
- package/dist/command.js.map +1 -1
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +15 -11
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +40 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/ext.d.ts +3 -0
- package/dist/commands/ext.d.ts.map +1 -1
- package/dist/commands/ext.js +95 -30
- package/dist/commands/ext.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +6 -32
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +9 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +8 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/update.d.ts +36 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +342 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/ext-mutation.d.ts +9 -7
- package/dist/lib/ext-mutation.d.ts.map +1 -1
- package/dist/lib/ext-mutation.js +11 -12
- package/dist/lib/ext-mutation.js.map +1 -1
- package/dist/seed/paths.d.ts +2 -1
- package/dist/seed/paths.d.ts.map +1 -1
- package/dist/seed/paths.js +9 -8
- package/dist/seed/paths.js.map +1 -1
- package/dist/seed/reconcile.d.ts +1 -0
- package/dist/seed/reconcile.d.ts.map +1 -1
- package/dist/seed/reconcile.js +20 -15
- package/dist/seed/reconcile.js.map +1 -1
- 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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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
|
|
52
|
-
positionals: "
|
|
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
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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":"
|
|
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"}
|
package/dist/lib/ext-mutation.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { claimExtensionMutationLock, claimExtensionUpdatePass, extensionUpdatePassOwnedBy, } from "@cotal-ai/workspace";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
-
|
|
13
|
+
return claimExtensionMutationLock({
|
|
14
|
+
...opts,
|
|
17
15
|
label: "a `cotal ext` mutation",
|
|
18
|
-
|
|
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,
|
|
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"}
|
package/dist/seed/paths.d.ts
CHANGED
|
@@ -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
|
|
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;
|
package/dist/seed/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/seed/paths.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH
|
|
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"}
|
package/dist/seed/paths.js
CHANGED
|
@@ -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 {
|
|
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
|
|
17
|
-
|
|
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
|
|
129
|
-
if (!
|
|
130
|
-
throw new Error(`"${name}" is not a first-party
|
|
131
|
-
const devDir = join(repoRootFromHere(),
|
|
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
|
|
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. */
|