@claudexor/cli 3.23.2 → 3.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-observations.d.ts +7 -3
- package/dist/account-observations.d.ts.map +1 -1
- package/dist/account-observations.js +16 -4
- package/dist/account-observations.js.map +1 -1
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +6 -1
- package/dist/claudexord.js.map +1 -1
- package/dist/command-flags.d.ts.map +1 -1
- package/dist/command-flags.js +2 -0
- package/dist/command-flags.js.map +1 -1
- package/dist/harness-command-specs.d.ts.map +1 -1
- package/dist/harness-command-specs.js +11 -4
- package/dist/harness-command-specs.js.map +1 -1
- package/dist/harness-command.d.ts.map +1 -1
- package/dist/harness-command.js +5 -0
- package/dist/harness-command.js.map +1 -1
- package/dist/harness-install-proof.d.ts +9 -0
- package/dist/harness-install-proof.d.ts.map +1 -1
- package/dist/harness-install-proof.js +60 -8
- package/dist/harness-install-proof.js.map +1 -1
- package/dist/harness-install-recipes.d.ts +24 -1
- package/dist/harness-install-recipes.d.ts.map +1 -1
- package/dist/harness-install-recipes.js +54 -2
- package/dist/harness-install-recipes.js.map +1 -1
- package/dist/harness-install-runtime.d.ts +29 -0
- package/dist/harness-install-runtime.d.ts.map +1 -0
- package/dist/harness-install-runtime.js +51 -0
- package/dist/harness-install-runtime.js.map +1 -0
- package/dist/harness-installer.d.ts +19 -65
- package/dist/harness-installer.d.ts.map +1 -1
- package/dist/harness-installer.js +46 -48
- package/dist/harness-installer.js.map +1 -1
- package/dist/harness-maintenance-service.d.ts +473 -0
- package/dist/harness-maintenance-service.d.ts.map +1 -0
- package/dist/harness-maintenance-service.js +429 -0
- package/dist/harness-maintenance-service.js.map +1 -0
- package/dist/harness-maintenance.d.ts +62 -0
- package/dist/harness-maintenance.d.ts.map +1 -0
- package/dist/harness-maintenance.js +353 -0
- package/dist/harness-maintenance.js.map +1 -0
- package/dist/model-services.d.ts +9 -1
- package/dist/model-services.d.ts.map +1 -1
- package/dist/model-services.js +39 -10
- package/dist/model-services.js.map +1 -1
- package/package.json +25 -25
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `claudexor harness inspect|update` — the CLI-first maintenance primitive the
|
|
3
|
+
* daemon's durable operation runs in a child process (so the blocking install
|
|
4
|
+
* never runs on the daemon's event loop and its process tree stays cancellable).
|
|
5
|
+
*
|
|
6
|
+
* - inspect reads facts only: the program the harness actually selects (an
|
|
7
|
+
* explicit CLAUDEXOR_<HARNESS>_BIN override wins verbatim), its own
|
|
8
|
+
* `--version`, the managed npm copy, and the release-tested pin as a separate
|
|
9
|
+
* fact. It never logs in, provisions or installs; `--latest` adds one
|
|
10
|
+
* registry read of the newest published version.
|
|
11
|
+
* - update performs exactly ONE step through the recipe's mechanism: an exact
|
|
12
|
+
* managed npm install (latest resolved once to an exact version first), or
|
|
13
|
+
* the vendor's own `update` on the canonical host-home launcher it rewrites.
|
|
14
|
+
* The vendor resolves latest itself, so an unchanged version afterwards is
|
|
15
|
+
* reported as no observed change, never as a new version.
|
|
16
|
+
*/
|
|
17
|
+
import { realpathSync } from "node:fs";
|
|
18
|
+
import { isAbsolute, relative, sep } from "node:path";
|
|
19
|
+
import { prepareHarnessCommand, resolveHarnessBinary } from "@claudexor/core";
|
|
20
|
+
import { ControlProblem } from "@claudexor/schema";
|
|
21
|
+
import { flagBool, flagStr } from "./args.js";
|
|
22
|
+
import { print, printJson, printUsageError } from "./cli-io.js";
|
|
23
|
+
import { acquireHarnessInstallLease, HARNESS_INSTALL_LOCK_TIMEOUT_MS, } from "./harness-install-lease.js";
|
|
24
|
+
import { EXACT_VENDOR_VERSION, exactSemverTokens, managedNpmPackageVersion, proveInstalledNpm, proveInstalledScriptVendor, } from "./harness-install-proof.js";
|
|
25
|
+
import { HARNESS_BINARY_OVERRIDE_ENV, harnessMaintenanceRecipe, isInstallableHarness, NPM_PINS, selectedHarnessCommand, TARGET_LAYOUTS, } from "./harness-install-recipes.js";
|
|
26
|
+
import { installerRuntime } from "./harness-install-runtime.js";
|
|
27
|
+
import { confirmOnTty, localPlatformRefusal, runHarnessInstaller } from "./harness-installer.js";
|
|
28
|
+
import { INSTALLABLE_HARNESSES } from "./harness-command-specs.js";
|
|
29
|
+
import { embeddedNpmCli } from "@claudexor/core";
|
|
30
|
+
const LATEST_TIMEOUT_MS = 30_000;
|
|
31
|
+
function runtimeFor(options) {
|
|
32
|
+
return installerRuntime({ ...options, target: "local" });
|
|
33
|
+
}
|
|
34
|
+
function contained(root, candidate) {
|
|
35
|
+
try {
|
|
36
|
+
const rest = relative(realpathSync(root), realpathSync(candidate));
|
|
37
|
+
return rest !== "" && !rest.startsWith(`..${sep}`) && rest !== ".." && !isAbsolute(rest);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** The selected program's own version answer: its exact semver token when it
|
|
44
|
+
* prints one, else its bounded first line; null when it does not answer. */
|
|
45
|
+
function selectedVersion(binary, runtime) {
|
|
46
|
+
if (!binary)
|
|
47
|
+
return null;
|
|
48
|
+
const probe = proveInstalledScriptVendor(binary, runtime);
|
|
49
|
+
if (!probe.ok)
|
|
50
|
+
return null;
|
|
51
|
+
return exactSemverTokens(probe.proof.installedVersion)[0] ?? probe.proof.installedVersion;
|
|
52
|
+
}
|
|
53
|
+
function selection(harness, runtime) {
|
|
54
|
+
const overrideEnv = HARNESS_BINARY_OVERRIDE_ENV[harness];
|
|
55
|
+
const override = runtime.resolutionSource[overrideEnv]?.trim() || null;
|
|
56
|
+
const resolveOnPath = (bin) => resolveHarnessBinary(bin, runtime.resolutionSource, runtime.runnerNodePath, runtime.platform);
|
|
57
|
+
const binary = resolveOnPath(selectedHarnessCommand(harness, runtime.resolutionSource, resolveOnPath));
|
|
58
|
+
const managed = binary !== null && contained(TARGET_LAYOUTS.local.root(runtime.home), binary);
|
|
59
|
+
return {
|
|
60
|
+
kind: override ? "override" : binary === null ? "missing" : managed ? "managed" : "path",
|
|
61
|
+
binary,
|
|
62
|
+
version: selectedVersion(binary, runtime),
|
|
63
|
+
overrideEnv: override ? overrideEnv : null,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** One registry read of the newest published version, through the embedded
|
|
67
|
+
* npm and the clean vendor environment (no credentials). */
|
|
68
|
+
export function resolveLatestNpmVersion(harness, runtime) {
|
|
69
|
+
const pin = NPM_PINS[harness];
|
|
70
|
+
if (!pin)
|
|
71
|
+
return { problem: { code: "latest_unsupported", message: `${harness} has no npm recipe` } };
|
|
72
|
+
const result = runtime.spawn(runtime.runnerNodePath, [
|
|
73
|
+
embeddedNpmCli(runtime.runnerNodePath, runtime.platform),
|
|
74
|
+
"view",
|
|
75
|
+
`${pin.npmPackage}@latest`,
|
|
76
|
+
"version",
|
|
77
|
+
"--json",
|
|
78
|
+
], {
|
|
79
|
+
env: runtime.environment,
|
|
80
|
+
encoding: "utf8",
|
|
81
|
+
timeout: LATEST_TIMEOUT_MS,
|
|
82
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
83
|
+
});
|
|
84
|
+
let value = null;
|
|
85
|
+
try {
|
|
86
|
+
value = JSON.parse(String(result.stdout ?? "").trim());
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
value = null;
|
|
90
|
+
}
|
|
91
|
+
return result.status === 0 && typeof value === "string" && EXACT_VENDOR_VERSION.test(value)
|
|
92
|
+
? { version: value }
|
|
93
|
+
: {
|
|
94
|
+
problem: {
|
|
95
|
+
code: "latest_unavailable",
|
|
96
|
+
message: `the registry did not answer one exact latest version for ${pin.npmPackage} (npm exit ${result.status ?? "none"})`,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export function inspectHarness(harness, options = {}) {
|
|
101
|
+
const runtime = runtimeFor(options);
|
|
102
|
+
const now = (options.now ?? (() => new Date()))().toISOString();
|
|
103
|
+
const recipe = harnessMaintenanceRecipe(harness, runtime.platform);
|
|
104
|
+
const pin = NPM_PINS[harness];
|
|
105
|
+
const selected = selection(harness, runtime);
|
|
106
|
+
const root = TARGET_LAYOUTS.local.root(runtime.home);
|
|
107
|
+
const declared = pin ? managedNpmPackageVersion(root, pin.npmPackage, runtime.platform) : null;
|
|
108
|
+
const proof = pin && declared
|
|
109
|
+
? proveInstalledNpm({
|
|
110
|
+
vendorRoot: root,
|
|
111
|
+
npmPackage: pin.npmPackage,
|
|
112
|
+
binaryNames: pin.binaryNames,
|
|
113
|
+
expectedVersion: declared,
|
|
114
|
+
}, runtime)
|
|
115
|
+
: null;
|
|
116
|
+
let remedy = null;
|
|
117
|
+
if (recipe.mechanism === "vendor_script") {
|
|
118
|
+
remedy = `${harness} has no engine-run updater on this platform; update it with the vendor's own installer or updater`;
|
|
119
|
+
}
|
|
120
|
+
else if (recipe.mechanism === "managed_npm") {
|
|
121
|
+
const refusal = localPlatformRefusal(harness, runtime.platform, runtime.arch);
|
|
122
|
+
if (refusal)
|
|
123
|
+
remedy = refusal.refusal ?? "unsupported platform";
|
|
124
|
+
else if (selected.kind === "override")
|
|
125
|
+
remedy = `${selected.overrideEnv} selects ${selected.binary ?? "an unresolvable program"}; update that program yourself or unset the override to use the managed copy`;
|
|
126
|
+
else if (selected.kind === "path")
|
|
127
|
+
remedy = `${selected.binary} is installed outside Claudexor's managed prefix; update it with the tool that installed it (a managed install would silently take over the selection)`;
|
|
128
|
+
}
|
|
129
|
+
else if (!selected.binary || !recipe.launchers(runtime.home).includes(selected.binary)) {
|
|
130
|
+
// The vendor updater rewrites the launchers under the installation HOME the
|
|
131
|
+
// engine runs with (and passes on to it); a copied/pinned launcher elsewhere
|
|
132
|
+
// would stay unchanged while another one is updated.
|
|
133
|
+
remedy = selected.binary
|
|
134
|
+
? `${selected.binary} is not the launcher ${harness}'s own updater maintains under ${runtime.home}/.local/bin; update it with the tool that installed it`
|
|
135
|
+
: `${harness} is not installed; install it with \`claudexor harness install ${harness}\``;
|
|
136
|
+
}
|
|
137
|
+
const canCheckLatest = recipe.mechanism === "managed_npm";
|
|
138
|
+
const latest = !options.latest
|
|
139
|
+
? null
|
|
140
|
+
: canCheckLatest
|
|
141
|
+
? resolveLatestNpmVersion(harness, runtime)
|
|
142
|
+
: {
|
|
143
|
+
problem: {
|
|
144
|
+
code: "latest_check_unsupported",
|
|
145
|
+
message: `${harness}'s ${recipe.mechanism} mechanism has no implemented newest-release check; Update still asks the vendor for its latest release`,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
return {
|
|
149
|
+
harness,
|
|
150
|
+
mechanism: recipe.mechanism,
|
|
151
|
+
maintainable: remedy === null,
|
|
152
|
+
canCheckLatest,
|
|
153
|
+
targets: remedy === null ? [...recipe.targets] : [],
|
|
154
|
+
remedy,
|
|
155
|
+
selection: selected,
|
|
156
|
+
installed: {
|
|
157
|
+
version: declared,
|
|
158
|
+
binary: proof?.ok ? proof.proof.installedBinary : null,
|
|
159
|
+
proved: proof?.ok === true,
|
|
160
|
+
},
|
|
161
|
+
releaseTested: { version: pin?.version ?? null, verification: pin?.verification ?? null },
|
|
162
|
+
available: latest && "version" in latest ? { version: latest.version, observedAt: now } : null,
|
|
163
|
+
availableProblem: latest && "problem" in latest
|
|
164
|
+
? ControlProblem.parse({
|
|
165
|
+
...latest.problem,
|
|
166
|
+
retryable: latest.problem.code !== "latest_check_unsupported",
|
|
167
|
+
})
|
|
168
|
+
: null,
|
|
169
|
+
observedAt: now,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/** Exactly one maintenance step. `requested` is an exact version, "latest", or
|
|
173
|
+
* omitted (latest for either mechanism). */
|
|
174
|
+
export function runHarnessUpdate(harness, requested, options = {}) {
|
|
175
|
+
const before = inspectHarness(harness, options);
|
|
176
|
+
const runtime = runtimeFor(options);
|
|
177
|
+
const base = {
|
|
178
|
+
harness,
|
|
179
|
+
mechanism: before.mechanism,
|
|
180
|
+
requestedVersion: requested ?? null,
|
|
181
|
+
resolvedVersion: null,
|
|
182
|
+
previousVersion: null,
|
|
183
|
+
before: {
|
|
184
|
+
version: before.mechanism === "managed_npm" ? before.installed.version : before.selection.version,
|
|
185
|
+
binary: before.mechanism === "managed_npm" ? before.installed.binary : before.selection.binary,
|
|
186
|
+
selection: before.selection.kind,
|
|
187
|
+
proved: before.mechanism === "managed_npm"
|
|
188
|
+
? before.installed.proved
|
|
189
|
+
: before.selection.version !== null,
|
|
190
|
+
},
|
|
191
|
+
after: null,
|
|
192
|
+
limitations: ["in_place_replacement", "new_starts_may_fail"],
|
|
193
|
+
};
|
|
194
|
+
const refuse = (code, refusal) => ({
|
|
195
|
+
...base,
|
|
196
|
+
ok: false,
|
|
197
|
+
exitCode: 1,
|
|
198
|
+
code,
|
|
199
|
+
refusal: `${refusal}; nothing was executed`,
|
|
200
|
+
mutation: "none",
|
|
201
|
+
});
|
|
202
|
+
if (!before.maintainable)
|
|
203
|
+
return refuse("harness_not_maintainable", before.remedy ?? "not maintainable");
|
|
204
|
+
if (before.mechanism === "vendor_updater") {
|
|
205
|
+
if (requested !== undefined && requested !== "latest")
|
|
206
|
+
return refuse("version_selection_unsupported", `${harness}'s own updater installs only its latest release`);
|
|
207
|
+
return vendorUpdate(harness, runtime, base, options);
|
|
208
|
+
}
|
|
209
|
+
let exact = requested ?? "latest";
|
|
210
|
+
if (exact === "latest") {
|
|
211
|
+
const latest = resolveLatestNpmVersion(harness, runtime);
|
|
212
|
+
if ("problem" in latest)
|
|
213
|
+
return refuse(latest.problem.code, latest.problem.message);
|
|
214
|
+
exact = latest.version;
|
|
215
|
+
}
|
|
216
|
+
if (!EXACT_VENDOR_VERSION.test(exact))
|
|
217
|
+
return refuse("invalid_vendor_version", `${exact} is not one exact version`);
|
|
218
|
+
const result = runHarnessInstaller(harness, {
|
|
219
|
+
...options,
|
|
220
|
+
...runtime,
|
|
221
|
+
target: "local",
|
|
222
|
+
version: exact,
|
|
223
|
+
json: options.json,
|
|
224
|
+
});
|
|
225
|
+
const attempted = "previousVersion" in result;
|
|
226
|
+
const after = selection(harness, runtime);
|
|
227
|
+
const ok = result.exitCode === 0 && result.refusal === undefined;
|
|
228
|
+
return {
|
|
229
|
+
...base,
|
|
230
|
+
ok,
|
|
231
|
+
exitCode: ok ? 0 : result.exitCode || 1,
|
|
232
|
+
...(result.code ? { code: result.code } : {}),
|
|
233
|
+
...(result.refusal ? { refusal: result.refusal } : {}),
|
|
234
|
+
resolvedVersion: exact,
|
|
235
|
+
previousVersion: attempted ? (result.previousVersion ?? null) : base.before.version,
|
|
236
|
+
after: {
|
|
237
|
+
version: ok ? (result.installedVersion ?? null) : null,
|
|
238
|
+
binary: result.installedBinary ?? null,
|
|
239
|
+
selected: ok && after.kind === "managed",
|
|
240
|
+
proved: ok,
|
|
241
|
+
},
|
|
242
|
+
mutation: ok ? (attempted ? "applied" : "none") : attempted ? "unknown" : "none",
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
function vendorUpdate(harness, runtime, base, options) {
|
|
246
|
+
const binary = base.before.binary;
|
|
247
|
+
let lease = null;
|
|
248
|
+
try {
|
|
249
|
+
if (options.lock !== false)
|
|
250
|
+
lease = acquireHarnessInstallLease(runtime.home, HARNESS_INSTALL_LOCK_TIMEOUT_MS);
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
const code = error.code;
|
|
254
|
+
return {
|
|
255
|
+
...base,
|
|
256
|
+
ok: false,
|
|
257
|
+
exitCode: 1,
|
|
258
|
+
code: typeof code === "string" ? code : "install_lock_failed",
|
|
259
|
+
refusal: `${error instanceof Error ? error.message : String(error)}; nothing was executed`,
|
|
260
|
+
mutation: "none",
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
try {
|
|
264
|
+
const invocation = prepareHarnessCommand(binary, ["update"], runtime.environment, runtime.platform);
|
|
265
|
+
const result = runtime.spawn(invocation.binary, invocation.args, {
|
|
266
|
+
env: invocation.env,
|
|
267
|
+
stdio: options.json ? [0, 2, 2] : "inherit",
|
|
268
|
+
});
|
|
269
|
+
const after = selection(harness, runtime);
|
|
270
|
+
const changed = after.version !== null && after.version !== base.before.version;
|
|
271
|
+
const limitations = [
|
|
272
|
+
...base.limitations,
|
|
273
|
+
"vendor_resolves_latest",
|
|
274
|
+
...(result.status === 0 && !changed ? ["no_version_change_observed"] : []),
|
|
275
|
+
];
|
|
276
|
+
return {
|
|
277
|
+
...base,
|
|
278
|
+
ok: result.status === 0 && after.version !== null,
|
|
279
|
+
exitCode: result.status === 0 ? (after.version !== null ? 0 : 1) : (result.status ?? 1),
|
|
280
|
+
...(result.status !== 0
|
|
281
|
+
? { code: result.signal ? "installer_terminated" : "vendor_update_failed" }
|
|
282
|
+
: after.version === null
|
|
283
|
+
? { code: "install_verification_failed" }
|
|
284
|
+
: {}),
|
|
285
|
+
resolvedVersion: changed ? after.version : null,
|
|
286
|
+
previousVersion: base.before.version,
|
|
287
|
+
after: {
|
|
288
|
+
version: after.version,
|
|
289
|
+
binary: after.binary,
|
|
290
|
+
selected: after.binary === binary,
|
|
291
|
+
proved: after.version !== null,
|
|
292
|
+
},
|
|
293
|
+
mutation: result.status === 0 && after.version !== null ? (changed ? "applied" : "none") : "unknown",
|
|
294
|
+
limitations,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
finally {
|
|
298
|
+
lease?.release();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
const INSPECT_USAGE = `usage: claudexor harness inspect [<${INSTALLABLE_HARNESSES.join("|")}>] [--latest]`;
|
|
302
|
+
const UPDATE_USAGE = `usage: claudexor harness update <${INSTALLABLE_HARNESSES.join("|")}> [--vendor-version <exact|latest>] [--yes]`;
|
|
303
|
+
export function harnessInspectCommand(args, json, options = {}) {
|
|
304
|
+
const only = args._[2];
|
|
305
|
+
if ((only !== undefined && !isInstallableHarness(only)) || args._.length > 3)
|
|
306
|
+
return printUsageError(json, INSPECT_USAGE);
|
|
307
|
+
const ids = only ? [only] : [...INSTALLABLE_HARNESSES];
|
|
308
|
+
const rows = ids.map((id) => inspectHarness(id, { ...options, latest: flagBool(args, "latest") }));
|
|
309
|
+
if (json)
|
|
310
|
+
printJson({ observedAt: rows[0]?.observedAt ?? new Date().toISOString(), harnesses: rows });
|
|
311
|
+
else
|
|
312
|
+
for (const row of rows)
|
|
313
|
+
print(`${row.harness}: ${row.selection.kind} ${row.selection.binary ?? "-"} ${row.selection.version ?? "version unknown"}` +
|
|
314
|
+
(row.maintainable ? ` (maintainable: ${row.targets.join(", ")})` : ` (${row.remedy})`));
|
|
315
|
+
return 0;
|
|
316
|
+
}
|
|
317
|
+
export function harnessUpdateCommand(args, json, options = {}) {
|
|
318
|
+
const harness = args._[2] ?? "";
|
|
319
|
+
if (!isInstallableHarness(harness) || args._.length !== 3)
|
|
320
|
+
return printUsageError(json, UPDATE_USAGE);
|
|
321
|
+
const requested = flagStr(args, "vendor-version");
|
|
322
|
+
if (!flagBool(args, "yes")) {
|
|
323
|
+
if (json || !process.stdin.isTTY) {
|
|
324
|
+
if (json)
|
|
325
|
+
printJson({ ok: false, exitCode: 1, code: "confirmation_required", harness });
|
|
326
|
+
else
|
|
327
|
+
print("Not updating: confirm with --yes, or run on an interactive terminal to be asked.");
|
|
328
|
+
return 1;
|
|
329
|
+
}
|
|
330
|
+
if (!confirmOnTty(`Update ${harness} to ${requested ?? "latest"}? [y/N] `))
|
|
331
|
+
return 1;
|
|
332
|
+
}
|
|
333
|
+
// A cancelled operation's TERM reaches this process and npm together: stay
|
|
334
|
+
// alive until npm is reaped so the lease is released and a receipt prints.
|
|
335
|
+
const onSignal = () => undefined;
|
|
336
|
+
process.on("SIGTERM", onSignal);
|
|
337
|
+
process.on("SIGINT", onSignal);
|
|
338
|
+
try {
|
|
339
|
+
const receipt = runHarnessUpdate(harness, requested, { ...options, json });
|
|
340
|
+
if (json)
|
|
341
|
+
printJson(receipt);
|
|
342
|
+
else
|
|
343
|
+
print(receipt.ok
|
|
344
|
+
? `${harness}: ${receipt.before.version ?? "none"} -> ${receipt.after?.version ?? "unknown"}${receipt.mutation === "none" ? " (no change)" : ""}`
|
|
345
|
+
: `${harness} update failed: ${receipt.refusal ?? receipt.code ?? `exit ${receipt.exitCode}`}`);
|
|
346
|
+
return receipt.ok ? 0 : receipt.exitCode || 1;
|
|
347
|
+
}
|
|
348
|
+
finally {
|
|
349
|
+
process.off("SIGTERM", onSignal);
|
|
350
|
+
process.off("SIGINT", onSignal);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
//# sourceMappingURL=harness-maintenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-maintenance.js","sourceRoot":"","sources":["../src/harness-maintenance.ts"],"names":[],"mappings":"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"}
|
package/dist/model-services.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare function createModelServices(deps: Dependencies): {
|
|
|
38
38
|
accountCatalog?: boolean | undefined;
|
|
39
39
|
}[];
|
|
40
40
|
}>;
|
|
41
|
-
modelCatalog: (sourceId: string, credentialProfileId?: string, requestedModel?: string) => Promise<{
|
|
41
|
+
modelCatalog: (sourceId: string, credentialProfileId?: string, requestedModel?: string, includeAdmission?: boolean) => Promise<{
|
|
42
42
|
source: string;
|
|
43
43
|
credentialProfileId: string;
|
|
44
44
|
accountFingerprint: string | null;
|
|
@@ -46,6 +46,10 @@ export declare function createModelServices(deps: Dependencies): {
|
|
|
46
46
|
provenance: string;
|
|
47
47
|
clientVersion: string | null;
|
|
48
48
|
clientVersionSource: "installed_cli" | "verified_transport" | null;
|
|
49
|
+
admission?: {
|
|
50
|
+
requestedModel: string;
|
|
51
|
+
inventoryAbsence: "advisory" | "authoritative";
|
|
52
|
+
} | undefined;
|
|
49
53
|
models: {
|
|
50
54
|
id: string;
|
|
51
55
|
label: string | null;
|
|
@@ -83,6 +87,10 @@ export declare function createModelServices(deps: Dependencies): {
|
|
|
83
87
|
provenance: string;
|
|
84
88
|
clientVersion: string | null;
|
|
85
89
|
clientVersionSource: "installed_cli" | "verified_transport" | null;
|
|
90
|
+
admission?: {
|
|
91
|
+
requestedModel: string;
|
|
92
|
+
inventoryAbsence: "advisory" | "authoritative";
|
|
93
|
+
} | undefined;
|
|
86
94
|
models: {
|
|
87
95
|
id: string;
|
|
88
96
|
label: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-services.d.ts","sourceRoot":"","sources":["../src/model-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAIL,YAAY,EAIb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AAErE,UAAU,WAAW;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,YAAa,SAAQ,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAChG,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IACjD,KAAK,EAAE,MAAM,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,qBAAqB,CAAC;CAC9C;AAMD;kFACkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY;;;
|
|
1
|
+
{"version":3,"file":"model-services.d.ts","sourceRoot":"","sources":["../src/model-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAIL,YAAY,EAIb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AAErE,UAAU,WAAW;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,YAAa,SAAQ,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAChG,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IACjD,KAAK,EAAE,MAAM,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,qBAAqB,CAAC;CAC9C;AAMD;kFACkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY;;;QAqWhD,YAAY,UAAgB,UAAU;;;;;;;;;QAUtC,YAAY,aACA,MAAM,wBACM,MAAM,mBACX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyBzB,mBAAmB,aAAmB,MAAM,wBAAwB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4B1E,oBAAoB;QACpB,iBAAiB,OAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QACpC,eAAe,OAAa,MAAM;;;;QAClC,sBAAsB,OAAa,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEzD,oBAAoB;;yBAGd,eAAe,KAAG,eAAe;;EAa5C"}
|
package/dist/model-services.js
CHANGED
|
@@ -88,8 +88,8 @@ export function createModelServices(deps) {
|
|
|
88
88
|
}
|
|
89
89
|
const excluded = new Set();
|
|
90
90
|
const catalogRefusals = new Map();
|
|
91
|
-
//
|
|
92
|
-
//
|
|
91
|
+
// Exact-account discovery follows the raw source's absence declaration.
|
|
92
|
+
// Actual catalog failures retain their causes; this loop never generates.
|
|
93
93
|
while (true) {
|
|
94
94
|
signal.throwIfAborted();
|
|
95
95
|
const currentQuota = quotaEvidence();
|
|
@@ -140,7 +140,9 @@ export function createModelServices(deps) {
|
|
|
140
140
|
? "auth"
|
|
141
141
|
: refusal.code === "subscription_window_exhausted"
|
|
142
142
|
? "quota"
|
|
143
|
-
: "
|
|
143
|
+
: refusal.code === "model_unavailable"
|
|
144
|
+
? "model"
|
|
145
|
+
: "unavailable");
|
|
144
146
|
if (refusal.code === "subscription_window_exhausted")
|
|
145
147
|
resets.push(typeof refusal.context.resetsAt === "string" ? refusal.context.resetsAt : null);
|
|
146
148
|
}
|
|
@@ -148,14 +150,14 @@ export function createModelServices(deps) {
|
|
|
148
150
|
? "quota"
|
|
149
151
|
: causes.size === 1 && causes.has("auth")
|
|
150
152
|
? "auth"
|
|
151
|
-
: causes.size
|
|
153
|
+
: causes.size === 2 && causes.has("auth") && causes.has("quota")
|
|
152
154
|
? "mixed"
|
|
153
155
|
: "unavailable";
|
|
154
156
|
const code = poolCause === "quota"
|
|
155
157
|
? "subscription_window_exhausted"
|
|
156
158
|
: poolCause === "auth"
|
|
157
159
|
? "auth_required"
|
|
158
|
-
:
|
|
160
|
+
: causes.size === 1 && causes.has("model")
|
|
159
161
|
? "model_unavailable"
|
|
160
162
|
: "credential_pool_exhausted";
|
|
161
163
|
const message = poolCause === "quota"
|
|
@@ -163,7 +165,8 @@ export function createModelServices(deps) {
|
|
|
163
165
|
: poolCause === "auth"
|
|
164
166
|
? "Every available model account requires sign-in"
|
|
165
167
|
: "No managed account can currently serve this model request";
|
|
166
|
-
const resetsAt =
|
|
168
|
+
const resetsAt = poolCause !== "unavailable" &&
|
|
169
|
+
resets.length > 0 &&
|
|
167
170
|
resets.every((at) => at !== null && Number.isFinite(Date.parse(at)))
|
|
168
171
|
? resets.reduce((earliest, at) => Date.parse(at) < Date.parse(earliest) ? at : earliest)
|
|
169
172
|
: null;
|
|
@@ -231,10 +234,25 @@ export function createModelServices(deps) {
|
|
|
231
234
|
throw modelError("model_catalog_identity_mismatch", "The model catalog does not identify the selected account");
|
|
232
235
|
if (catalog.provenance === "provider_http" && catalog.observedAt)
|
|
233
236
|
evidence.honorCatalog(catalog.observedAt);
|
|
234
|
-
if (model === null ||
|
|
237
|
+
if (model === null ||
|
|
238
|
+
source.adapter.inventoryAbsence === "advisory" ||
|
|
239
|
+
catalog.models.some((entry) => entry.id === model))
|
|
235
240
|
return { profile, catalog };
|
|
241
|
+
const refusal = ControlProblem.parse({
|
|
242
|
+
code: "model_unavailable",
|
|
243
|
+
message: `The selected account does not advertise the requested model in its catalog as served to ${describeCodexClientVersion(catalog)}`,
|
|
244
|
+
retryable: false,
|
|
245
|
+
context: {
|
|
246
|
+
source: source.adapter.id,
|
|
247
|
+
credentialProfileId: profile.profile_id,
|
|
248
|
+
requestedModel: model,
|
|
249
|
+
clientVersion: catalog.clientVersion,
|
|
250
|
+
clientVersionSource: catalog.clientVersionSource,
|
|
251
|
+
},
|
|
252
|
+
});
|
|
236
253
|
if (account.mode === "pin")
|
|
237
|
-
throw modelError(
|
|
254
|
+
throw Object.assign(modelError(refusal.code, refusal.message), { problem: refusal });
|
|
255
|
+
catalogRefusals.set(profile.profile_id, refusal);
|
|
238
256
|
excluded.add(profile.profile_id);
|
|
239
257
|
}
|
|
240
258
|
};
|
|
@@ -322,10 +340,21 @@ export function createModelServices(deps) {
|
|
|
322
340
|
: {}),
|
|
323
341
|
})),
|
|
324
342
|
}),
|
|
325
|
-
modelCatalog: async (sourceId, credentialProfileId, requestedModel) => {
|
|
326
|
-
|
|
343
|
+
modelCatalog: async (sourceId, credentialProfileId, requestedModel, includeAdmission = false) => {
|
|
344
|
+
if (includeAdmission && !requestedModel)
|
|
345
|
+
throw modelError("invalid_request", "Admission observation requires requestedModel", 400);
|
|
346
|
+
const source = getSource(sourceId);
|
|
347
|
+
const { catalog } = await resolve(source, credentialProfileId ? { mode: "pin", profileId: credentialProfileId } : { mode: "auto" }, requestedModel ?? null, lifetime.signal);
|
|
327
348
|
return {
|
|
328
349
|
...catalog,
|
|
350
|
+
...(includeAdmission
|
|
351
|
+
? {
|
|
352
|
+
admission: {
|
|
353
|
+
requestedModel: requestedModel,
|
|
354
|
+
inventoryAbsence: source.adapter.inventoryAbsence ?? "authoritative",
|
|
355
|
+
},
|
|
356
|
+
}
|
|
357
|
+
: {}),
|
|
329
358
|
models: catalog.models.map(({ processing: _processing, ...model }) => model),
|
|
330
359
|
};
|
|
331
360
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-services.js","sourceRoot":"","sources":["../src/model-services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-services.js","sourceRoot":"","sources":["../src/model-services.ts"],"names":[],"mappings":"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"}
|