@claudexor/cli 1.0.1 → 2.1.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/acp-surface-runner.d.ts +17 -0
- package/dist/acp-surface-runner.d.ts.map +1 -0
- package/dist/acp-surface-runner.js +187 -0
- package/dist/acp-surface-runner.js.map +1 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js.map +1 -1
- package/dist/bridge-serve.d.ts +3 -0
- package/dist/bridge-serve.d.ts.map +1 -0
- package/dist/bridge-serve.js +39 -0
- package/dist/bridge-serve.js.map +1 -0
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +12 -3
- package/dist/capabilities.js.map +1 -1
- package/dist/claude-oauth-usage.d.ts +33 -0
- package/dist/claude-oauth-usage.d.ts.map +1 -0
- package/dist/claude-oauth-usage.js +190 -0
- package/dist/claude-oauth-usage.js.map +1 -0
- package/dist/claude-statusline.d.ts +25 -0
- package/dist/claude-statusline.d.ts.map +1 -0
- package/dist/claude-statusline.js +259 -0
- package/dist/claude-statusline.js.map +1 -0
- package/dist/claudexord.js +346 -543
- package/dist/claudexord.js.map +1 -1
- package/dist/cli-io.d.ts +8 -9
- package/dist/cli-io.d.ts.map +1 -1
- package/dist/cli-io.js +11 -7
- package/dist/cli-io.js.map +1 -1
- package/dist/cli.js +475 -516
- package/dist/cli.js.map +1 -1
- package/dist/codex-quota-source.d.ts +11 -0
- package/dist/codex-quota-source.d.ts.map +1 -0
- package/dist/codex-quota-source.js +181 -0
- package/dist/codex-quota-source.js.map +1 -0
- package/dist/command-flags.d.ts +18 -0
- package/dist/command-flags.d.ts.map +1 -0
- package/dist/command-flags.js +124 -0
- package/dist/command-flags.js.map +1 -0
- package/dist/command-registry.d.ts +2 -40
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +74 -164
- package/dist/command-registry.js.map +1 -1
- package/dist/control-services.d.ts +2483 -0
- package/dist/control-services.d.ts.map +1 -0
- package/dist/control-services.js +437 -0
- package/dist/control-services.js.map +1 -0
- package/dist/credential-commands.d.ts +9 -0
- package/dist/credential-commands.d.ts.map +1 -0
- package/dist/credential-commands.js +224 -0
- package/dist/credential-commands.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +7 -3
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +40 -12
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-run.d.ts +2 -0
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +62 -14
- package/dist/daemon-run.js.map +1 -1
- package/dist/daemon-runtime-shutdown.d.ts +58 -0
- package/dist/daemon-runtime-shutdown.d.ts.map +1 -0
- package/dist/daemon-runtime-shutdown.js +142 -0
- package/dist/daemon-runtime-shutdown.js.map +1 -0
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +12 -3
- package/dist/decision.js.map +1 -1
- package/dist/live.d.ts +29 -0
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +117 -6
- package/dist/live.js.map +1 -1
- package/dist/local-attachment.d.ts +14 -0
- package/dist/local-attachment.d.ts.map +1 -0
- package/dist/local-attachment.js +67 -0
- package/dist/local-attachment.js.map +1 -0
- package/dist/mcp-runner.d.ts +4 -15
- package/dist/mcp-runner.d.ts.map +1 -1
- package/dist/mcp-runner.js +273 -145
- package/dist/mcp-runner.js.map +1 -1
- package/dist/native-login.d.ts +21 -0
- package/dist/native-login.d.ts.map +1 -0
- package/dist/native-login.js +111 -0
- package/dist/native-login.js.map +1 -0
- package/dist/ops-commands.d.ts +8 -6
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +250 -168
- package/dist/ops-commands.js.map +1 -1
- package/dist/orchestrate-options.d.ts.map +1 -1
- package/dist/orchestrate-options.js +1 -1
- package/dist/orchestrate-options.js.map +1 -1
- package/dist/orphan-reaper.d.ts +4 -5
- package/dist/orphan-reaper.d.ts.map +1 -1
- package/dist/orphan-reaper.js +29 -56
- package/dist/orphan-reaper.js.map +1 -1
- package/dist/orphan-sweeper.d.ts +1 -2
- package/dist/orphan-sweeper.d.ts.map +1 -1
- package/dist/orphan-sweeper.js +29 -48
- package/dist/orphan-sweeper.js.map +1 -1
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +196 -64
- package/dist/plugins.js.map +1 -1
- package/dist/primary-output.d.ts.map +1 -1
- package/dist/primary-output.js.map +1 -1
- package/dist/profile-registration.d.ts +15 -0
- package/dist/profile-registration.d.ts.map +1 -0
- package/dist/profile-registration.js +68 -0
- package/dist/profile-registration.js.map +1 -0
- package/dist/project-command.d.ts +3 -0
- package/dist/project-command.d.ts.map +1 -0
- package/dist/project-command.js +87 -0
- package/dist/project-command.js.map +1 -0
- package/dist/quota-command.d.ts +3 -0
- package/dist/quota-command.d.ts.map +1 -0
- package/dist/quota-command.js +59 -0
- package/dist/quota-command.js.map +1 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +16 -4
- package/dist/registry.js.map +1 -1
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +15 -3
- package/dist/release.js.map +1 -1
- package/dist/repl.d.ts +3 -8
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +23 -122
- package/dist/repl.js.map +1 -1
- package/dist/request-preflight.d.ts +13 -0
- package/dist/request-preflight.d.ts.map +1 -0
- package/dist/request-preflight.js +81 -0
- package/dist/request-preflight.js.map +1 -0
- package/dist/retention-service.d.ts +24 -0
- package/dist/retention-service.d.ts.map +1 -0
- package/dist/retention-service.js +100 -0
- package/dist/retention-service.js.map +1 -0
- package/dist/retry-command-specs.d.ts +3 -0
- package/dist/retry-command-specs.d.ts.map +1 -0
- package/dist/retry-command-specs.js +21 -0
- package/dist/retry-command-specs.js.map +1 -0
- package/dist/retry-command.d.ts +4 -0
- package/dist/retry-command.d.ts.map +1 -0
- package/dist/retry-command.js +57 -0
- package/dist/retry-command.js.map +1 -0
- package/dist/review-command.d.ts.map +1 -1
- package/dist/review-command.js +47 -12
- package/dist/review-command.js.map +1 -1
- package/dist/run-options.d.ts +2 -2
- package/dist/run-options.d.ts.map +1 -1
- package/dist/run-options.js +27 -5
- package/dist/run-options.js.map +1 -1
- package/dist/settings-command.d.ts.map +1 -1
- package/dist/settings-command.js +143 -188
- package/dist/settings-command.js.map +1 -1
- package/dist/settings-service.d.ts +50 -0
- package/dist/settings-service.d.ts.map +1 -1
- package/dist/settings-service.js +67 -1
- package/dist/settings-service.js.map +1 -1
- package/dist/setup-job-reducer.d.ts +9 -0
- package/dist/setup-job-reducer.d.ts.map +1 -0
- package/dist/setup-job-reducer.js +290 -0
- package/dist/setup-job-reducer.js.map +1 -0
- package/dist/setup-job-store.d.ts +250 -0
- package/dist/setup-job-store.d.ts.map +1 -0
- package/dist/setup-job-store.js +359 -0
- package/dist/setup-job-store.js.map +1 -0
- package/dist/setup-job-support.d.ts +27 -0
- package/dist/setup-job-support.d.ts.map +1 -0
- package/dist/setup-job-support.js +141 -0
- package/dist/setup-job-support.js.map +1 -0
- package/dist/setup-jobs.d.ts +437 -22
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +813 -423
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-lifecycle-binding.d.ts +40 -0
- package/dist/setup-lifecycle-binding.d.ts.map +1 -0
- package/dist/setup-lifecycle-binding.js +159 -0
- package/dist/setup-lifecycle-binding.js.map +1 -0
- package/dist/setup-login-protocol.d.ts +13 -0
- package/dist/setup-login-protocol.d.ts.map +1 -0
- package/dist/setup-login-protocol.js +179 -0
- package/dist/setup-login-protocol.js.map +1 -0
- package/dist/setup-login-runner.d.ts +20 -0
- package/dist/setup-login-runner.d.ts.map +1 -0
- package/dist/setup-login-runner.js +225 -0
- package/dist/setup-login-runner.js.map +1 -0
- package/dist/setup-supervisor.d.ts +53 -0
- package/dist/setup-supervisor.d.ts.map +1 -0
- package/dist/setup-supervisor.js +177 -0
- package/dist/setup-supervisor.js.map +1 -0
- package/dist/spec.d.ts +9 -20
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +49 -21
- package/dist/spec.js.map +1 -1
- package/dist/thread-delivery.d.ts +18 -0
- package/dist/thread-delivery.d.ts.map +1 -0
- package/dist/thread-delivery.js +67 -0
- package/dist/thread-delivery.js.map +1 -0
- package/dist/thread-select.d.ts +9 -0
- package/dist/thread-select.d.ts.map +1 -0
- package/dist/thread-select.js +12 -0
- package/dist/thread-select.js.map +1 -0
- package/dist/trust-command.d.ts.map +1 -1
- package/dist/trust-command.js +69 -61
- package/dist/trust-command.js.map +1 -1
- package/dist/trust-services.d.ts +5 -6
- package/dist/trust-services.d.ts.map +1 -1
- package/dist/trust-services.js +42 -13
- package/dist/trust-services.js.map +1 -1
- package/package.json +24 -22
- package/dist/attachment-resolver.d.ts +0 -11
- package/dist/attachment-resolver.d.ts.map +0 -1
- package/dist/attachment-resolver.js +0 -61
- package/dist/attachment-resolver.js.map +0 -1
- package/dist/settings-display.d.ts +0 -3
- package/dist/settings-display.d.ts.map +0 -1
- package/dist/settings-display.js +0 -33
- package/dist/settings-display.js.map +0 -1
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOjE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE;IACtD,MAAM,QAAQ,GAAoB,IAAI,GAAG,EAAE,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI;QACpB,kBAAkB,EAAE;QACpB,mBAAmB,EAAE;QACrB,mBAAmB,EAAE;QACrB,qBAAqB,EAAE;QACvB,mBAAmB,EAAE;QACrB,mBAAmB,CAAC;YAClB,EAAE,EAAE,YAAY;YAChB,cAAc,EAAE,SAAS;YACzB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,8BAA8B;YACpF,MAAM,EAAE,oBAAoB;YAC5B,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,gBAAgB;SACzE,CAAC;KACH,EAAE,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,UAAU;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE;IACrD,OAAO,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/release.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAC5D,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAC5D,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAkClE"}
|
package/dist/release.js
CHANGED
|
@@ -19,13 +19,25 @@ export async function checkName(name) {
|
|
|
19
19
|
const npm = await head(`https://registry.npmjs.org/${encodeURIComponent(lc)}`);
|
|
20
20
|
checks.push({ registry: "npm", availability: availability(npm), detail: status(npm) });
|
|
21
21
|
const npmScoped = await head(`https://registry.npmjs.org/${encodeURIComponent("@" + lc + "/cli")}`);
|
|
22
|
-
checks.push({
|
|
22
|
+
checks.push({
|
|
23
|
+
registry: "npm (@scope/cli)",
|
|
24
|
+
availability: availability(npmScoped),
|
|
25
|
+
detail: status(npmScoped),
|
|
26
|
+
});
|
|
23
27
|
const pypi = await head(`https://pypi.org/pypi/${encodeURIComponent(lc)}/json`);
|
|
24
28
|
checks.push({ registry: "pypi", availability: availability(pypi), detail: status(pypi) });
|
|
25
29
|
const crates = await head(`https://crates.io/api/v1/crates/${encodeURIComponent(lc)}`);
|
|
26
|
-
checks.push({
|
|
30
|
+
checks.push({
|
|
31
|
+
registry: "crates.io",
|
|
32
|
+
availability: availability(crates),
|
|
33
|
+
detail: status(crates),
|
|
34
|
+
});
|
|
27
35
|
const ghUser = await head(`https://github.com/${encodeURIComponent(lc)}`);
|
|
28
|
-
checks.push({
|
|
36
|
+
checks.push({
|
|
37
|
+
registry: "github org/user",
|
|
38
|
+
availability: availability(ghUser),
|
|
39
|
+
detail: status(ghUser),
|
|
40
|
+
});
|
|
29
41
|
return checks;
|
|
30
42
|
}
|
|
31
43
|
function availability(code) {
|
package/dist/release.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAOA,KAAK,UAAU,IAAI,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,8BAA8B,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEvF,MAAM,SAAS,GAAG,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAOA,KAAK,UAAU,IAAI,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,8BAA8B,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEvF,MAAM,SAAS,GAAG,MAAM,IAAI,CAC1B,8BAA8B,kBAAkB,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,CACtE,CAAC;IACF,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;KAC1B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mCAAmC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACjC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACjD,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,YAAY,CAAC;IACtC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,aAAa,CAAC;IACvC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,wCAAwC,CAAC;IAClE,OAAO,QAAQ,IAAI,YAAY,CAAC;AAClC,CAAC"}
|
package/dist/repl.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type { ModeKind } from "@claudexor/schema";
|
|
2
|
-
/** Does this REPL turn mode mutate the tree? (such turns are daemon-only.) */
|
|
3
|
-
export declare function replModeIsMutating(mode: ModeKind): boolean;
|
|
4
2
|
interface ReplTurnSpec {
|
|
5
3
|
mode: ModeKind;
|
|
6
4
|
prompt: string;
|
|
@@ -14,12 +12,9 @@ declare function parseReplLine(line: string): ReplTurnSpec | {
|
|
|
14
12
|
* Interactive REPL: `claudexor` with no arguments. A thread of turns over the
|
|
15
13
|
* project in the current directory. The REPL is a THIN CLIENT of the control
|
|
16
14
|
* API — threads live in the daemon SSOT and appear in the macOS app; turns
|
|
17
|
-
* stream live through the same follow pipeline. If no daemon is up
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* in-process engine — and that fallback serves READ-ONLY turns only; a mutating
|
|
21
|
-
* (agent) turn there FAILS LOUDLY rather than silently running an in-process
|
|
22
|
-
* Orchestrator that mutates the tree but no daemon tracks (un-unblockable).
|
|
15
|
+
* stream live through the same follow pipeline. If no daemon is up, the CLI
|
|
16
|
+
* starts the managed daemon; startup failure is surfaced instead of creating a
|
|
17
|
+
* second in-process thread/run authority.
|
|
23
18
|
*/
|
|
24
19
|
export declare function runRepl(repoRoot: string): Promise<number>;
|
|
25
20
|
export { parseReplLine };
|
package/dist/repl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AASlD,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iBAAS,aAAa,CACpB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG;IAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BrF;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU/D;AAiID,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/repl.js
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import { createInterface } from "node:readline";
|
|
2
2
|
import process from "node:process";
|
|
3
|
-
import { Orchestrator } from "@claudexor/orchestrator";
|
|
4
|
-
import { buildRegistry } from "./registry.js";
|
|
5
3
|
import { renderReplHelp } from "./command-registry.js";
|
|
6
|
-
import {
|
|
4
|
+
import { controlApiFetch, followRun } from "./live.js";
|
|
7
5
|
import { ensureDaemon } from "./daemon-run.js";
|
|
8
|
-
/** REPL turn modes that MUTATE the tree. These are ALWAYS daemon-tracked —
|
|
9
|
-
* there is NO in-process fallback for a mutating run (a run no daemon tracks is
|
|
10
|
-
* un-unblockable by the apply gate). Read-only turns (ask/plan/audit, and
|
|
11
|
-
* orchestrate which only plans in the REPL — no --autonomy surface here) may run
|
|
12
|
-
* locally when the daemon cannot be started. */
|
|
13
|
-
const MUTATING_REPL_MODES = new Set(["agent"]);
|
|
14
|
-
/** Does this REPL turn mode mutate the tree? (such turns are daemon-only.) */
|
|
15
|
-
export function replModeIsMutating(mode) {
|
|
16
|
-
return MUTATING_REPL_MODES.has(mode);
|
|
17
|
-
}
|
|
18
6
|
// Rendered from the command registry (REPL_COMMANDS) — the same one owner
|
|
19
7
|
// as the main CLI help.
|
|
20
8
|
const REPL_HELP = renderReplHelp();
|
|
@@ -50,47 +38,32 @@ function parseReplLine(line) {
|
|
|
50
38
|
return { command: "help" };
|
|
51
39
|
}
|
|
52
40
|
}
|
|
53
|
-
/** Daemon control-api reachable right now? (threads SSOT lives there). */
|
|
54
|
-
async function daemonAddress() {
|
|
55
|
-
try {
|
|
56
|
-
const addr = controlApiAddress();
|
|
57
|
-
const res = await fetch(`${addr.baseUrl}/healthz`, { signal: AbortSignal.timeout(1500) });
|
|
58
|
-
return res.ok ? addr : null;
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
41
|
/**
|
|
65
42
|
* Interactive REPL: `claudexor` with no arguments. A thread of turns over the
|
|
66
43
|
* project in the current directory. The REPL is a THIN CLIENT of the control
|
|
67
44
|
* API — threads live in the daemon SSOT and appear in the macOS app; turns
|
|
68
|
-
* stream live through the same follow pipeline. If no daemon is up
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* in-process engine — and that fallback serves READ-ONLY turns only; a mutating
|
|
72
|
-
* (agent) turn there FAILS LOUDLY rather than silently running an in-process
|
|
73
|
-
* Orchestrator that mutates the tree but no daemon tracks (un-unblockable).
|
|
45
|
+
* stream live through the same follow pipeline. If no daemon is up, the CLI
|
|
46
|
+
* starts the managed daemon; startup failure is surfaced instead of creating a
|
|
47
|
+
* second in-process thread/run authority.
|
|
74
48
|
*/
|
|
75
49
|
export async function runRepl(repoRoot) {
|
|
76
|
-
const reachable = await daemonAddress();
|
|
77
|
-
if (reachable)
|
|
78
|
-
return runDaemonRepl(repoRoot, reachable);
|
|
79
|
-
// No daemon reachable: auto-start it (mutating REPL turns MUST be daemon-tracked).
|
|
80
50
|
try {
|
|
81
51
|
const { addr } = await ensureDaemon();
|
|
82
52
|
return runDaemonRepl(repoRoot, addr);
|
|
83
53
|
}
|
|
84
54
|
catch (err) {
|
|
85
|
-
process.
|
|
86
|
-
|
|
87
|
-
return runLocalRepl(repoRoot);
|
|
55
|
+
process.stderr.write(`claudexor: could not start the daemon (${err instanceof Error ? err.message : String(err)})\n`);
|
|
56
|
+
return 1;
|
|
88
57
|
}
|
|
89
58
|
}
|
|
90
59
|
async function runDaemonRepl(repoRoot, addr) {
|
|
91
60
|
const headers = { Authorization: `Bearer ${addr.token}`, "content-type": "application/json" };
|
|
92
61
|
const api = async (method, path, body) => {
|
|
93
|
-
const res = await
|
|
62
|
+
const res = await controlApiFetch(addr, path, {
|
|
63
|
+
method,
|
|
64
|
+
headers,
|
|
65
|
+
body: body === undefined ? undefined : JSON.stringify(body),
|
|
66
|
+
});
|
|
94
67
|
const text = await res.text();
|
|
95
68
|
const json = text ? JSON.parse(text) : {};
|
|
96
69
|
if (!res.ok)
|
|
@@ -107,13 +80,20 @@ async function runDaemonRepl(repoRoot, addr) {
|
|
|
107
80
|
const ensureThread = async (title) => {
|
|
108
81
|
if (!thread) {
|
|
109
82
|
const effectiveTitle = title ?? pendingTitle;
|
|
110
|
-
thread = await api("POST", "/threads", {
|
|
83
|
+
thread = await api("POST", "/threads", {
|
|
84
|
+
...(effectiveTitle ? { title: effectiveTitle } : {}),
|
|
85
|
+
scope: { kind: "project", root: repoRoot },
|
|
86
|
+
});
|
|
111
87
|
pendingTitle = undefined;
|
|
112
88
|
}
|
|
113
89
|
return thread;
|
|
114
90
|
};
|
|
115
91
|
process.stdout.write(`claudexor REPL on ${repoRoot} (daemon-backed; the thread appears in the app on your first message)\nType /help for commands.\n`);
|
|
116
|
-
const rl = createInterface({
|
|
92
|
+
const rl = createInterface({
|
|
93
|
+
input: process.stdin,
|
|
94
|
+
output: process.stdout,
|
|
95
|
+
prompt: "claudexor> ",
|
|
96
|
+
});
|
|
117
97
|
rl.prompt();
|
|
118
98
|
for await (const line of rl) {
|
|
119
99
|
const parsed = parseReplLine(line);
|
|
@@ -132,7 +112,9 @@ async function runDaemonRepl(repoRoot, addr) {
|
|
|
132
112
|
// the empty-thread litter `/new` then quit was meant to avoid.
|
|
133
113
|
thread = null;
|
|
134
114
|
pendingTitle = parsed.arg || undefined;
|
|
135
|
-
process.stdout.write(pendingTitle
|
|
115
|
+
process.stdout.write(pendingTitle
|
|
116
|
+
? `new thread (will be titled on your first message)\n`
|
|
117
|
+
: "new thread (starts on your next message)\n");
|
|
136
118
|
}
|
|
137
119
|
if (parsed.command === "thread") {
|
|
138
120
|
if (!thread) {
|
|
@@ -192,86 +174,5 @@ async function runDaemonRepl(repoRoot, addr) {
|
|
|
192
174
|
process.stdout.write("bye\n");
|
|
193
175
|
return 0;
|
|
194
176
|
}
|
|
195
|
-
async function runLocalRepl(repoRoot) {
|
|
196
|
-
// No daemon (and it could not be auto-started): in-process engine with
|
|
197
|
-
// EPHEMERAL, in-memory continuity. There is no durable thread store here (the
|
|
198
|
-
// daemon owns threads.json single-writer); native session ids are kept in
|
|
199
|
-
// memory for this process so plan->continue still resumes within the session,
|
|
200
|
-
// and nothing is persisted/shared. This path is READ-ONLY — mutating
|
|
201
|
-
// (agent) turns are refused, never run in-process and left un-unblockable.
|
|
202
|
-
const orch = new Orchestrator({ registry: buildRegistry() });
|
|
203
|
-
let sessions = new Map();
|
|
204
|
-
const localTurns = [];
|
|
205
|
-
process.stdout.write(`claudexor REPL on ${repoRoot} (local engine; READ-ONLY ephemeral thread — start the daemon for write turns and to persist/share with the app)\nType /help for commands.\n`);
|
|
206
|
-
const rl = createInterface({ input: process.stdin, output: process.stdout, prompt: "claudexor> " });
|
|
207
|
-
rl.prompt();
|
|
208
|
-
for await (const line of rl) {
|
|
209
|
-
const parsed = parseReplLine(line);
|
|
210
|
-
if (!parsed) {
|
|
211
|
-
rl.prompt();
|
|
212
|
-
continue;
|
|
213
|
-
}
|
|
214
|
-
if ("command" in parsed) {
|
|
215
|
-
if (parsed.command === "quit")
|
|
216
|
-
break;
|
|
217
|
-
if (parsed.command === "help")
|
|
218
|
-
process.stdout.write(REPL_HELP + "\n");
|
|
219
|
-
if (parsed.command === "new") {
|
|
220
|
-
sessions = new Map();
|
|
221
|
-
localTurns.length = 0;
|
|
222
|
-
process.stdout.write("new ephemeral thread\n");
|
|
223
|
-
}
|
|
224
|
-
if (parsed.command === "thread") {
|
|
225
|
-
process.stdout.write(`ephemeral thread — ${localTurns.length} turn(s)\n`);
|
|
226
|
-
for (const t of localTurns)
|
|
227
|
-
process.stdout.write(` run=${t.runId ?? "-"} [${t.status}] :: ${t.prompt.slice(0, 80)}\n`);
|
|
228
|
-
for (const [harnessId, nativeId] of sessions)
|
|
229
|
-
process.stdout.write(` session ${harnessId} native=${nativeId}\n`);
|
|
230
|
-
}
|
|
231
|
-
rl.prompt();
|
|
232
|
-
continue;
|
|
233
|
-
}
|
|
234
|
-
if (!parsed.prompt) {
|
|
235
|
-
process.stdout.write("(empty prompt)\n");
|
|
236
|
-
rl.prompt();
|
|
237
|
-
continue;
|
|
238
|
-
}
|
|
239
|
-
// a mutating turn must be daemon-tracked. The local engine cannot
|
|
240
|
-
// produce an applicable/unblockable run, so refuse it loudly here instead of
|
|
241
|
-
// silently mutating the tree with a run no daemon owns.
|
|
242
|
-
if (replModeIsMutating(parsed.mode)) {
|
|
243
|
-
process.stdout.write("write turns require the daemon (start it with `claudexor daemon start`, then retry); this local REPL serves read-only turns (/ask, /plan, /audit, /orchestrate) only\n");
|
|
244
|
-
rl.prompt();
|
|
245
|
-
continue;
|
|
246
|
-
}
|
|
247
|
-
try {
|
|
248
|
-
const res = await orch.run({
|
|
249
|
-
repoRoot,
|
|
250
|
-
prompt: parsed.prompt,
|
|
251
|
-
mode: parsed.mode,
|
|
252
|
-
n: parsed.race ? 2 : undefined,
|
|
253
|
-
resumeSessions: Object.fromEntries(sessions),
|
|
254
|
-
onSessionObserved: (harnessId, nativeSessionId) => sessions.set(harnessId, nativeSessionId),
|
|
255
|
-
onHarnessEvent: (ev) => {
|
|
256
|
-
if (ev.type === "message" && ev.text)
|
|
257
|
-
process.stdout.write(ev.text.endsWith("\n") ? ev.text : ev.text + "\n");
|
|
258
|
-
else if (ev.type === "tool_call" && ev.tool)
|
|
259
|
-
process.stdout.write(` [tool] ${ev.tool.name}${ev.tool.target ? `: ${ev.tool.target}` : ""}\n`);
|
|
260
|
-
else if (ev.type === "error" && ev.error)
|
|
261
|
-
process.stdout.write(` [error] ${ev.error}\n`);
|
|
262
|
-
},
|
|
263
|
-
});
|
|
264
|
-
localTurns.push({ runId: res.runId, status: res.status, prompt: parsed.prompt });
|
|
265
|
-
process.stdout.write(`\n[turn done] status=${res.status} run=${res.runId}\n${res.summary ? res.summary.split("\n").slice(0, 6).join("\n") + "\n" : ""}`);
|
|
266
|
-
}
|
|
267
|
-
catch (err) {
|
|
268
|
-
process.stdout.write(`turn failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
269
|
-
}
|
|
270
|
-
rl.prompt();
|
|
271
|
-
}
|
|
272
|
-
rl.close();
|
|
273
|
-
process.stdout.write("bye\n");
|
|
274
|
-
return 0;
|
|
275
|
-
}
|
|
276
177
|
export { parseReplLine };
|
|
277
178
|
//# sourceMappingURL=repl.js.map
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AdapterRegistry } from "@claudexor/core";
|
|
2
|
+
import type { ResourceStore } from "@claudexor/daemon";
|
|
3
|
+
import type { HarnessStatus } from "@claudexor/gateway";
|
|
4
|
+
import type { AccessProfile, ControlRunStartRequest } from "@claudexor/schema";
|
|
5
|
+
interface RunRequirementsPreflightDependencies {
|
|
6
|
+
statusAll?: (cwd: string) => Promise<Array<Pick<HarnessStatus, "id" | "status" | "enabledIntents">>>;
|
|
7
|
+
registry?: AdapterRegistry;
|
|
8
|
+
accessDefault?: (cwd: string) => AccessProfile;
|
|
9
|
+
}
|
|
10
|
+
/** Refuse requests that no selected lane can satisfy before a run or turn is created. */
|
|
11
|
+
export declare function createRunRequirementsPreflight(resources: Pick<ResourceStore, "resolve">, noProjectRoot: string, dependencies?: RunRequirementsPreflightDependencies): (request: ControlRunStartRequest) => Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=request-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-preflight.d.ts","sourceRoot":"","sources":["../src/request-preflight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAU,MAAM,mBAAmB,CAAC;AAWvF,UAAU,oCAAoC;IAC5C,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;CAChD;AAED,yFAAyF;AACzF,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EACzC,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,oCAAyC,GACtD,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAgFpD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { loadConfig } from "@claudexor/config";
|
|
2
|
+
import { RequestRequirementsResolver } from "@claudexor/orchestrator";
|
|
3
|
+
import { buildGateway, buildRegistry } from "./registry.js";
|
|
4
|
+
const modeIntent = {
|
|
5
|
+
agent: "implement",
|
|
6
|
+
ask: "explain",
|
|
7
|
+
plan: "plan",
|
|
8
|
+
audit: "audit",
|
|
9
|
+
orchestrate: "orchestrate",
|
|
10
|
+
};
|
|
11
|
+
/** Refuse requests that no selected lane can satisfy before a run or turn is created. */
|
|
12
|
+
export function createRunRequirementsPreflight(resources, noProjectRoot, dependencies = {}) {
|
|
13
|
+
const requirements = new RequestRequirementsResolver();
|
|
14
|
+
return async (request) => {
|
|
15
|
+
if ((request.attachments?.length ?? 0) === 0 && request.browser !== true)
|
|
16
|
+
return;
|
|
17
|
+
const cwd = request.scope.kind === "project" ? request.scope.root : noProjectRoot;
|
|
18
|
+
const explicitPool = (request.harnesses?.length ?? 0) > 0;
|
|
19
|
+
const intent = modeIntent[request.mode ?? "agent"];
|
|
20
|
+
let harnessIds = request.harnesses ?? [];
|
|
21
|
+
if (harnessIds.length === 0) {
|
|
22
|
+
const statuses = dependencies.statusAll
|
|
23
|
+
? await dependencies.statusAll(cwd)
|
|
24
|
+
: await buildGateway({ includeFakes: false }).statusAll({ cwd });
|
|
25
|
+
harnessIds = statuses
|
|
26
|
+
.filter((status) => status.status === "ok" && status.enabledIntents.includes(intent))
|
|
27
|
+
.map((status) => status.id);
|
|
28
|
+
}
|
|
29
|
+
if (harnessIds.length === 0) {
|
|
30
|
+
throw requestError("no eligible harness lane can satisfy this request", 400, "request_requirements_unavailable");
|
|
31
|
+
}
|
|
32
|
+
const registry = dependencies.registry ?? buildRegistry({ includeFakes: true });
|
|
33
|
+
const attachments = resources.resolve(request.attachments ?? []);
|
|
34
|
+
const manifests = await Promise.all(harnessIds.map(async (harnessId) => {
|
|
35
|
+
const adapter = registry.get(harnessId);
|
|
36
|
+
if (!adapter)
|
|
37
|
+
throw requestError(`unknown harness lane: ${harnessId}`, 400, "harness_unavailable");
|
|
38
|
+
return { harnessId, manifest: await adapter.discover() };
|
|
39
|
+
}));
|
|
40
|
+
const compatibleManifests = [];
|
|
41
|
+
for (const { harnessId, manifest } of manifests) {
|
|
42
|
+
const refusal = requirements.attachmentRefusal(harnessId, attachments, manifest.capability_profile.attachment_inputs);
|
|
43
|
+
if (refusal) {
|
|
44
|
+
if (explicitPool)
|
|
45
|
+
throw requestError(refusal, 400, "attachment_pool_unsupported");
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
compatibleManifests.push({ harnessId, manifest });
|
|
49
|
+
}
|
|
50
|
+
if (compatibleManifests.length === 0) {
|
|
51
|
+
throw requestError("no eligible harness lane can receive every required attachment", 400, "attachment_pool_unsupported");
|
|
52
|
+
}
|
|
53
|
+
if (request.browser !== true)
|
|
54
|
+
return;
|
|
55
|
+
const access = intent === "implement"
|
|
56
|
+
? (request.access ??
|
|
57
|
+
(dependencies.accessDefault
|
|
58
|
+
? dependencies.accessDefault(cwd)
|
|
59
|
+
: loadConfig(cwd).trust.access_default))
|
|
60
|
+
: "readonly";
|
|
61
|
+
const resolutions = compatibleManifests.map(({ harnessId, manifest }) => requirements.resolveBrowser({
|
|
62
|
+
harnessId,
|
|
63
|
+
requested: true,
|
|
64
|
+
manifestCapable: manifest.capabilities.browser_tool,
|
|
65
|
+
webPolicy: request.externalContextPolicy ?? request.web ?? "auto",
|
|
66
|
+
access,
|
|
67
|
+
}));
|
|
68
|
+
try {
|
|
69
|
+
requirements.requireEffectiveBrowser(true, resolutions);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw Object.assign(error instanceof Error ? error : new Error(String(error)), {
|
|
73
|
+
status: 400,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function requestError(message, status, code) {
|
|
79
|
+
return Object.assign(new Error(message), { status, code });
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=request-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-preflight.js","sourceRoot":"","sources":["../src/request-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ProjectPartitions, ProjectStore } from "@claudexor/daemon";
|
|
2
|
+
import type { ControlGcReceipt, ControlGcRequest } from "@claudexor/schema";
|
|
3
|
+
export interface RetentionRunnerDeps {
|
|
4
|
+
projects: () => ProjectStore;
|
|
5
|
+
threads: ProjectPartitions;
|
|
6
|
+
daemonJobs: () => Promise<Array<{
|
|
7
|
+
runId?: string;
|
|
8
|
+
state: string;
|
|
9
|
+
finishedAt?: string;
|
|
10
|
+
}>>;
|
|
11
|
+
}
|
|
12
|
+
export type RetentionRunner = (request: ControlGcRequest) => Promise<ControlGcReceipt>;
|
|
13
|
+
export declare function createRetentionRunner(deps: RetentionRunnerDeps): RetentionRunner;
|
|
14
|
+
/**
|
|
15
|
+
* SCHEDULE one bounded retention pass after ownership+ready (W3.6) — it never
|
|
16
|
+
* blocks boot, and the unref'd timer never keeps a stopping daemon alive.
|
|
17
|
+
* Failures are logged, never fatal.
|
|
18
|
+
*/
|
|
19
|
+
export declare function scheduleStartupRetention(runner: RetentionRunner, opts: {
|
|
20
|
+
logPath: string;
|
|
21
|
+
shuttingDown: () => boolean;
|
|
22
|
+
delayMs?: number;
|
|
23
|
+
}): void;
|
|
24
|
+
//# sourceMappingURL=retention-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention-service.d.ts","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC1F;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA4EhF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,IAAI,CAkBN"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition of the daemon-owned retention service (W3.6): binds the
|
|
3
|
+
* control-api retention pass to the daemon's live truth — the project
|
|
4
|
+
* registry, thread lineage references, and journal-projected job records —
|
|
5
|
+
* and schedules the bounded startup maintenance pass. `claudexor gc` and the
|
|
6
|
+
* control route are thin callers of the runner built here.
|
|
7
|
+
*/
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { ArtifactStore } from "@claudexor/artifact-store";
|
|
10
|
+
import { runRetentionPass } from "@claudexor/control-api";
|
|
11
|
+
import { loadConfig } from "@claudexor/config";
|
|
12
|
+
import { noProjectRepoRoot } from "@claudexor/util";
|
|
13
|
+
import { logLine } from "./daemon-lifecycle.js";
|
|
14
|
+
export function createRetentionRunner(deps) {
|
|
15
|
+
const noProjectRoot = noProjectRepoRoot();
|
|
16
|
+
// Serialize passes (review sol #7): the startup pass and any concurrent
|
|
17
|
+
// `claudexor gc` / control-op invocation must not interleave rmSync +
|
|
18
|
+
// tombstone writes on the same candidates, which would double-count
|
|
19
|
+
// freed_bytes and cross-report deletions between receipts.
|
|
20
|
+
let inFlight = null;
|
|
21
|
+
const runOnce = async (request) => {
|
|
22
|
+
// Policy is read fresh per pass (configurable without restart); the
|
|
23
|
+
// reference set spans EVERY non-purged thread's full run lineage.
|
|
24
|
+
const retention = loadConfig(noProjectRoot).global.retention;
|
|
25
|
+
const jobs = await deps.daemonJobs();
|
|
26
|
+
const records = jobs
|
|
27
|
+
.filter((job) => Boolean(job.runId))
|
|
28
|
+
.map((job) => ({ runId: job.runId, state: job.state, finishedAt: job.finishedAt }));
|
|
29
|
+
const referencedRunIds = () => {
|
|
30
|
+
const referenced = new Set();
|
|
31
|
+
for (const thread of deps.threads.listThreads()) {
|
|
32
|
+
for (const id of thread.run_ids)
|
|
33
|
+
referenced.add(id);
|
|
34
|
+
if (thread.head_run_id)
|
|
35
|
+
referenced.add(thread.head_run_id);
|
|
36
|
+
for (const turn of deps.threads.turnsFor(thread.id)) {
|
|
37
|
+
for (const id of [turn.run_id, turn.parent_run_id, turn.plan_run_id]) {
|
|
38
|
+
if (id)
|
|
39
|
+
referenced.add(id);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return referenced;
|
|
44
|
+
};
|
|
45
|
+
// Fail CLOSED on a quarantined partition (review sol #6/#7): the
|
|
46
|
+
// reference set (listThreads/turnsFor) and job records both come ONLY
|
|
47
|
+
// from ready partitions. A project whose partition journal is not ready
|
|
48
|
+
// contributes an EMPTY reference set — GC'ing its runs against that would
|
|
49
|
+
// delete runs a live thread still references. So GC only project roots
|
|
50
|
+
// whose partition is ready; a quarantined project's runs are protected
|
|
51
|
+
// until it recovers. The no-project root has no partition and is always
|
|
52
|
+
// eligible.
|
|
53
|
+
const healthyRoots = new Set(deps.threads.healthyProjectRoots());
|
|
54
|
+
const roots = [
|
|
55
|
+
...new Set([
|
|
56
|
+
...deps
|
|
57
|
+
.projects()
|
|
58
|
+
.list()
|
|
59
|
+
.map((p) => p.root)
|
|
60
|
+
.filter((root) => healthyRoots.has(root)),
|
|
61
|
+
noProjectRoot,
|
|
62
|
+
]),
|
|
63
|
+
];
|
|
64
|
+
const gcProjects = roots.map((root) => ({
|
|
65
|
+
root,
|
|
66
|
+
runsDir: new ArtifactStore(root).runsDir(),
|
|
67
|
+
// Standalone diff-review debris lives in the user's repo; the
|
|
68
|
+
// no-project root has none.
|
|
69
|
+
reviewsDir: root === noProjectRoot ? null : join(root, ".claudexor", "reviews"),
|
|
70
|
+
}));
|
|
71
|
+
return runRetentionPass({
|
|
72
|
+
runsMaxAgeDays: retention.runs_max_age_days,
|
|
73
|
+
reviewsMaxAgeDays: retention.reviews_max_age_days,
|
|
74
|
+
keepLastRunsPerProject: retention.keep_last_runs_per_project,
|
|
75
|
+
}, request, { projects: () => gcProjects, records: () => records, referencedRunIds });
|
|
76
|
+
};
|
|
77
|
+
return (request) => {
|
|
78
|
+
const chained = (inFlight ?? Promise.resolve()).then(() => runOnce(request), () => runOnce(request));
|
|
79
|
+
inFlight = chained;
|
|
80
|
+
return chained.finally(() => {
|
|
81
|
+
if (inFlight === chained)
|
|
82
|
+
inFlight = null;
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* SCHEDULE one bounded retention pass after ownership+ready (W3.6) — it never
|
|
88
|
+
* blocks boot, and the unref'd timer never keeps a stopping daemon alive.
|
|
89
|
+
* Failures are logged, never fatal.
|
|
90
|
+
*/
|
|
91
|
+
export function scheduleStartupRetention(runner, opts) {
|
|
92
|
+
const timer = setTimeout(() => {
|
|
93
|
+
if (opts.shuttingDown())
|
|
94
|
+
return;
|
|
95
|
+
void runner({ dry_run: false }).then((receipt) => logLine(opts.logPath, `retention: freed ${receipt.freed_bytes} bytes (${receipt.deleted_runs.length} runs, ` +
|
|
96
|
+
`${receipt.deleted_reviews.length} reviews, ${receipt.errors.length} errors)`), (error) => logLine(opts.logPath, `retention FAILED: ${error instanceof Error ? error.message : String(error)}`));
|
|
97
|
+
}, opts.delayMs ?? 60_000);
|
|
98
|
+
timer.unref?.();
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=retention-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention-service.js","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-command-specs.d.ts","sourceRoot":"","sources":["../src/retry-command-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,EAAE,SAAS,cAAc,EAmBxD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const RETRY_COMMAND_SPECS = [
|
|
2
|
+
{
|
|
3
|
+
id: "retry",
|
|
4
|
+
usageArgs: "<run_id>",
|
|
5
|
+
summary: "Exact Retry with the immutable original request and fresh preflight",
|
|
6
|
+
flags: ["json"],
|
|
7
|
+
mutability: "write",
|
|
8
|
+
stability: "stable",
|
|
9
|
+
recovery: true,
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "run-again",
|
|
13
|
+
usageArgs: "<run_id>",
|
|
14
|
+
summary: "Print an editable draft copied from a prior run",
|
|
15
|
+
flags: ["json"],
|
|
16
|
+
mutability: "read",
|
|
17
|
+
stability: "stable",
|
|
18
|
+
recovery: true,
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=retry-command-specs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-command-specs.js","sourceRoot":"","sources":["../src/retry-command-specs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAA8B;IAC5D;QACE,EAAE,EAAE,OAAO;QACX,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,qEAAqE;QAC9E,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,WAAW;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,iDAAiD;QAC1D,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-command.d.ts","sourceRoot":"","sources":["../src/retry-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAK5C,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BtF"}
|