@claudexor/orchestrator 5.0.2 → 6.0.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.
Files changed (249) hide show
  1. package/dist/account-evidence.d.ts +7 -0
  2. package/dist/account-evidence.d.ts.map +1 -1
  3. package/dist/account-evidence.js +12 -0
  4. package/dist/account-evidence.js.map +1 -1
  5. package/dist/account-pool.d.ts +4 -0
  6. package/dist/account-pool.d.ts.map +1 -1
  7. package/dist/account-pool.js +8 -1
  8. package/dist/account-pool.js.map +1 -1
  9. package/dist/account-resolution.d.ts.map +1 -1
  10. package/dist/account-resolution.js +7 -5
  11. package/dist/account-resolution.js.map +1 -1
  12. package/dist/attemptFinalize.d.ts +22 -7
  13. package/dist/attemptFinalize.d.ts.map +1 -1
  14. package/dist/attemptFinalize.js +29 -7
  15. package/dist/attemptFinalize.js.map +1 -1
  16. package/dist/attemptTelemetry.d.ts +19 -18
  17. package/dist/attemptTelemetry.d.ts.map +1 -1
  18. package/dist/attemptTelemetry.js +33 -79
  19. package/dist/attemptTelemetry.js.map +1 -1
  20. package/dist/attemptUsage.d.ts.map +1 -1
  21. package/dist/attemptUsage.js +6 -14
  22. package/dist/attemptUsage.js.map +1 -1
  23. package/dist/attemptUsageCost.d.ts +11 -2
  24. package/dist/attemptUsageCost.d.ts.map +1 -1
  25. package/dist/attemptUsageCost.js +16 -3
  26. package/dist/attemptUsageCost.js.map +1 -1
  27. package/dist/candidateEvidence.d.ts +33 -8
  28. package/dist/candidateEvidence.d.ts.map +1 -1
  29. package/dist/candidateEvidence.js +58 -24
  30. package/dist/candidateEvidence.js.map +1 -1
  31. package/dist/candidateReview.d.ts.map +1 -1
  32. package/dist/candidateReview.js +4 -2
  33. package/dist/candidateReview.js.map +1 -1
  34. package/dist/candidateTerminals.d.ts +27 -1
  35. package/dist/candidateTerminals.d.ts.map +1 -1
  36. package/dist/candidateTerminals.js +51 -2
  37. package/dist/candidateTerminals.js.map +1 -1
  38. package/dist/carrier-planner.d.ts +5 -2
  39. package/dist/carrier-planner.d.ts.map +1 -1
  40. package/dist/carrier-planner.js +6 -3
  41. package/dist/carrier-planner.js.map +1 -1
  42. package/dist/command-telemetry.d.ts +15 -0
  43. package/dist/command-telemetry.d.ts.map +1 -0
  44. package/dist/command-telemetry.js +27 -0
  45. package/dist/command-telemetry.js.map +1 -0
  46. package/dist/continuation-evidence-io.d.ts +13 -3
  47. package/dist/continuation-evidence-io.d.ts.map +1 -1
  48. package/dist/continuation-evidence-io.js +36 -4
  49. package/dist/continuation-evidence-io.js.map +1 -1
  50. package/dist/continuation-evidence.d.ts +7 -2
  51. package/dist/continuation-evidence.d.ts.map +1 -1
  52. package/dist/continuation-evidence.js +16 -4
  53. package/dist/continuation-evidence.js.map +1 -1
  54. package/dist/continuation-later.d.ts.map +1 -1
  55. package/dist/continuation-later.js +6 -6
  56. package/dist/continuation-later.js.map +1 -1
  57. package/dist/continuity-facts.d.ts +27 -1
  58. package/dist/continuity-facts.d.ts.map +1 -1
  59. package/dist/continuity-facts.js +72 -4
  60. package/dist/continuity-facts.js.map +1 -1
  61. package/dist/continuity-notice.d.ts.map +1 -1
  62. package/dist/continuity-notice.js +2 -1
  63. package/dist/continuity-notice.js.map +1 -1
  64. package/dist/continuity-summary.d.ts +7 -1
  65. package/dist/continuity-summary.d.ts.map +1 -1
  66. package/dist/continuity-summary.js +33 -13
  67. package/dist/continuity-summary.js.map +1 -1
  68. package/dist/continuity.d.ts +36 -8
  69. package/dist/continuity.d.ts.map +1 -1
  70. package/dist/continuity.js +96 -21
  71. package/dist/continuity.js.map +1 -1
  72. package/dist/credential-cooldown.d.ts +7 -0
  73. package/dist/credential-cooldown.d.ts.map +1 -1
  74. package/dist/credential-cooldown.js +31 -5
  75. package/dist/credential-cooldown.js.map +1 -1
  76. package/dist/credential-differential.d.ts +15 -1
  77. package/dist/credential-differential.d.ts.map +1 -1
  78. package/dist/credential-differential.js +32 -17
  79. package/dist/credential-differential.js.map +1 -1
  80. package/dist/credential-execution.d.ts.map +1 -1
  81. package/dist/credential-execution.js +14 -15
  82. package/dist/credential-execution.js.map +1 -1
  83. package/dist/credential-preflight.js +1 -1
  84. package/dist/credential-preflight.js.map +1 -1
  85. package/dist/credential-profile-rotation.d.ts +1 -0
  86. package/dist/credential-profile-rotation.d.ts.map +1 -1
  87. package/dist/credential-profile-rotation.js +1 -1
  88. package/dist/credential-profile-rotation.js.map +1 -1
  89. package/dist/deepScanReducer.d.ts.map +1 -1
  90. package/dist/deepScanReducer.js +8 -18
  91. package/dist/deepScanReducer.js.map +1 -1
  92. package/dist/delegatedHome.d.ts +12 -7
  93. package/dist/delegatedHome.d.ts.map +1 -1
  94. package/dist/delegatedHome.js +16 -4
  95. package/dist/delegatedHome.js.map +1 -1
  96. package/dist/delegationFailure.d.ts +9 -8
  97. package/dist/delegationFailure.d.ts.map +1 -1
  98. package/dist/delegationFailure.js +7 -5
  99. package/dist/delegationFailure.js.map +1 -1
  100. package/dist/directoryCandidate.d.ts.map +1 -1
  101. package/dist/directoryCandidate.js +35 -5
  102. package/dist/directoryCandidate.js.map +1 -1
  103. package/dist/harnessFailure.d.ts +26 -5
  104. package/dist/harnessFailure.d.ts.map +1 -1
  105. package/dist/harnessFailure.js +41 -6
  106. package/dist/harnessFailure.js.map +1 -1
  107. package/dist/index.d.ts +2 -2
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +2 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/inrun-continuity-carrier.d.ts +4 -1
  112. package/dist/inrun-continuity-carrier.d.ts.map +1 -1
  113. package/dist/inrun-continuity-carrier.js +2 -0
  114. package/dist/inrun-continuity-carrier.js.map +1 -1
  115. package/dist/inrun-continuity.d.ts +2 -2
  116. package/dist/inrun-continuity.d.ts.map +1 -1
  117. package/dist/inrun-continuity.js +22 -19
  118. package/dist/inrun-continuity.js.map +1 -1
  119. package/dist/inrun-retained-output.d.ts +18 -4
  120. package/dist/inrun-retained-output.d.ts.map +1 -1
  121. package/dist/inrun-retained-output.js +39 -8
  122. package/dist/inrun-retained-output.js.map +1 -1
  123. package/dist/interaction.d.ts +14 -1
  124. package/dist/interaction.d.ts.map +1 -1
  125. package/dist/interaction.js +91 -22
  126. package/dist/interaction.js.map +1 -1
  127. package/dist/laneStreamEvents.d.ts +9 -10
  128. package/dist/laneStreamEvents.d.ts.map +1 -1
  129. package/dist/laneStreamEvents.js +21 -7
  130. package/dist/laneStreamEvents.js.map +1 -1
  131. package/dist/modelGovernance.d.ts +10 -4
  132. package/dist/modelGovernance.d.ts.map +1 -1
  133. package/dist/modelGovernance.js +21 -1
  134. package/dist/modelGovernance.js.map +1 -1
  135. package/dist/native-retry-telemetry.d.ts +4 -1
  136. package/dist/native-retry-telemetry.d.ts.map +1 -1
  137. package/dist/native-retry-telemetry.js +6 -1
  138. package/dist/native-retry-telemetry.js.map +1 -1
  139. package/dist/orchestrator.d.ts +7 -1
  140. package/dist/orchestrator.d.ts.map +1 -1
  141. package/dist/orchestrator.js +129 -139
  142. package/dist/orchestrator.js.map +1 -1
  143. package/dist/planRun.d.ts.map +1 -1
  144. package/dist/planRun.js +7 -8
  145. package/dist/planRun.js.map +1 -1
  146. package/dist/plannerAttempt.d.ts +1 -0
  147. package/dist/plannerAttempt.d.ts.map +1 -1
  148. package/dist/plannerAttempt.js +14 -19
  149. package/dist/plannerAttempt.js.map +1 -1
  150. package/dist/pool-attempt-evidence.d.ts +5 -1
  151. package/dist/pool-attempt-evidence.d.ts.map +1 -1
  152. package/dist/pool-attempt-evidence.js +36 -4
  153. package/dist/pool-attempt-evidence.js.map +1 -1
  154. package/dist/processing-telemetry.d.ts +3 -1
  155. package/dist/processing-telemetry.d.ts.map +1 -1
  156. package/dist/processing-telemetry.js +11 -0
  157. package/dist/processing-telemetry.js.map +1 -1
  158. package/dist/quota-refusal-scope.d.ts +1 -0
  159. package/dist/quota-refusal-scope.d.ts.map +1 -1
  160. package/dist/quota-refusal-scope.js +29 -1
  161. package/dist/quota-refusal-scope.js.map +1 -1
  162. package/dist/rawPatchLane.d.ts +68 -0
  163. package/dist/rawPatchLane.d.ts.map +1 -0
  164. package/dist/rawPatchLane.js +116 -0
  165. package/dist/rawPatchLane.js.map +1 -0
  166. package/dist/readonlyTerminals.d.ts +0 -3
  167. package/dist/readonlyTerminals.d.ts.map +1 -1
  168. package/dist/readonlyTerminals.js +36 -14
  169. package/dist/readonlyTerminals.js.map +1 -1
  170. package/dist/requestRequirements.d.ts +5 -4
  171. package/dist/requestRequirements.d.ts.map +1 -1
  172. package/dist/requestRequirements.js +6 -5
  173. package/dist/requestRequirements.js.map +1 -1
  174. package/dist/retainedOutput.d.ts +19 -2
  175. package/dist/retainedOutput.d.ts.map +1 -1
  176. package/dist/retainedOutput.js +83 -12
  177. package/dist/retainedOutput.js.map +1 -1
  178. package/dist/reviewerInventory.d.ts +2 -8
  179. package/dist/reviewerInventory.d.ts.map +1 -1
  180. package/dist/reviewerInventory.js +2 -3
  181. package/dist/reviewerInventory.js.map +1 -1
  182. package/dist/reviewerPanel.d.ts +1 -1
  183. package/dist/reviewerPanel.d.ts.map +1 -1
  184. package/dist/reviewerPanel.js +9 -4
  185. package/dist/reviewerPanel.js.map +1 -1
  186. package/dist/route-admission.d.ts.map +1 -1
  187. package/dist/route-admission.js +3 -1
  188. package/dist/route-admission.js.map +1 -1
  189. package/dist/routeControls.d.ts +32 -0
  190. package/dist/routeControls.d.ts.map +1 -0
  191. package/dist/routeControls.js +47 -0
  192. package/dist/routeControls.js.map +1 -0
  193. package/dist/run-input-resolution.d.ts +5 -0
  194. package/dist/run-input-resolution.d.ts.map +1 -1
  195. package/dist/run-input-resolution.js +12 -6
  196. package/dist/run-input-resolution.js.map +1 -1
  197. package/dist/run-runtime-root.d.ts +16 -0
  198. package/dist/run-runtime-root.d.ts.map +1 -0
  199. package/dist/run-runtime-root.js +16 -0
  200. package/dist/run-runtime-root.js.map +1 -0
  201. package/dist/runAdmission.d.ts.map +1 -1
  202. package/dist/runAdmission.js +2 -1
  203. package/dist/runAdmission.js.map +1 -1
  204. package/dist/runFacts.d.ts +5 -2
  205. package/dist/runFacts.d.ts.map +1 -1
  206. package/dist/runFacts.js +11 -11
  207. package/dist/runFacts.js.map +1 -1
  208. package/dist/runScope.d.ts +2 -0
  209. package/dist/runScope.d.ts.map +1 -1
  210. package/dist/runScope.js +3 -2
  211. package/dist/runScope.js.map +1 -1
  212. package/dist/runSupport.d.ts +3 -1
  213. package/dist/runSupport.d.ts.map +1 -1
  214. package/dist/runSupport.js +6 -3
  215. package/dist/runSupport.js.map +1 -1
  216. package/dist/runTelemetryWriter.d.ts +18 -5
  217. package/dist/runTelemetryWriter.d.ts.map +1 -1
  218. package/dist/runTelemetryWriter.js +7 -2
  219. package/dist/runTelemetryWriter.js.map +1 -1
  220. package/dist/runTerminalResults.d.ts.map +1 -1
  221. package/dist/runTerminalResults.js +36 -9
  222. package/dist/runTerminalResults.js.map +1 -1
  223. package/dist/runTerminals.d.ts.map +1 -1
  224. package/dist/runTerminals.js +13 -5
  225. package/dist/runTerminals.js.map +1 -1
  226. package/dist/secretDiff.d.ts.map +1 -1
  227. package/dist/secretDiff.js +2 -1
  228. package/dist/secretDiff.js.map +1 -1
  229. package/dist/transientClassify.d.ts +17 -9
  230. package/dist/transientClassify.d.ts.map +1 -1
  231. package/dist/transientClassify.js +33 -9
  232. package/dist/transientClassify.js.map +1 -1
  233. package/dist/webEvidence.d.ts +41 -0
  234. package/dist/webEvidence.d.ts.map +1 -0
  235. package/dist/webEvidence.js +99 -0
  236. package/dist/webEvidence.js.map +1 -0
  237. package/dist/workReportEnvelope.d.ts +12 -0
  238. package/dist/workReportEnvelope.d.ts.map +1 -1
  239. package/dist/workReportEnvelope.js +19 -0
  240. package/dist/workReportEnvelope.js.map +1 -1
  241. package/package.json +17 -17
  242. package/dist/continuation-chain.test-support.d.ts +0 -473
  243. package/dist/continuation-chain.test-support.d.ts.map +0 -1
  244. package/dist/continuation-chain.test-support.js +0 -206
  245. package/dist/continuation-chain.test-support.js.map +0 -1
  246. package/dist/inrun-continuity.test-support.d.ts +0 -504
  247. package/dist/inrun-continuity.test-support.d.ts.map +0 -1
  248. package/dist/inrun-continuity.test-support.js +0 -212
  249. package/dist/inrun-continuity.test-support.js.map +0 -1
@@ -1,206 +0,0 @@
1
- /**
2
- * A `continueFrom` chain of real Orchestrator runs on one scripted fake
3
- * harness (no vendor calls): each run is labelled (A, B, C...) so a script
4
- * can answer per run and per spawn, and the successor receives exactly the
5
- * continuation facts the daemon runner resolves.
6
- */
7
- import { afterEach } from "vitest";
8
- import { execFileSync } from "node:child_process";
9
- import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
10
- import { tmpdir } from "node:os";
11
- import { join } from "node:path";
12
- import { ConformanceReport, HarnessManifest, } from "@claudexor/schema";
13
- import { Orchestrator } from "./orchestrator.js";
14
- const roots = [];
15
- afterEach(() => roots.splice(0).forEach((root) => rmSync(root, { recursive: true, force: true })));
16
- export const WORK_ORDER = "WORK-ORDER-7f3a: build the dashboard";
17
- /** A movable fake store: sessions live under `<locator>/sessions/<sid>.jsonl`. */
18
- export function movableStore(retire = (file) => rmSync(file)) {
19
- const fileFor = (env, sid) => join(String(env["CLAUDEXOR_PROFILE_LOCATOR"] ?? "/nowhere"), "sessions", `${sid}.jsonl`);
20
- return {
21
- async locate(ref, env) {
22
- const file = fileFor(env, ref.nativeSessionId);
23
- return existsSync(file)
24
- ? { found: true, file, mtimeMs: Date.now(), sidecars: [] }
25
- : { found: false };
26
- },
27
- async move(located, _fromEnv, toEnv) {
28
- const sid = located.nativeSessionId ?? "?";
29
- const target = fileFor(toEnv, sid);
30
- execFileSync("mkdir", ["-p", join(target, "..")]);
31
- writeFileSync(target, readFileSync(located.file));
32
- return { ok: true, resumeRef: { nativeSessionId: sid }, retire: () => retire(located.file) };
33
- },
34
- };
35
- }
36
- export function chainFixture(opts, script) {
37
- const root = mkdtempSync(join(tmpdir(), "cx-chain-"));
38
- roots.push(root);
39
- execFileSync("git", ["init", "-b", "main"], { cwd: root, stdio: "pipe" });
40
- writeFileSync(join(root, "README.md"), "fixture\n");
41
- execFileSync("git", ["add", "README.md"], { cwd: root });
42
- execFileSync("git", ["-c", "user.name=Fixture", "-c", "user.email=fixture@example.test", "commit", "-m", "base"], { cwd: root, stdio: "pipe" });
43
- const stores = Object.fromEntries(opts.profiles.map((id) => [id, join(root, `store-${id}`)]));
44
- writeFileSync(join(process.env.CLAUDEXOR_CONFIG_DIR, "config.yaml"), JSON.stringify({
45
- runtime: {
46
- transient_retry: {
47
- max_retries: opts.maxRetries ?? 0,
48
- initial_delay_ms: 1,
49
- max_delay_ms: 2,
50
- },
51
- },
52
- credential_profiles: opts.profiles.map((id) => ({
53
- profile_id: id,
54
- harness_id: "fake",
55
- display_name: id,
56
- credential_kind: "config_dir_login",
57
- isolation_locator: stores[id],
58
- })),
59
- harnesses: {
60
- fake: {
61
- ...(opts.fallbackModel ? { fallback_model: opts.fallbackModel } : {}),
62
- profile_policy: { limit_action: "rotate" },
63
- },
64
- },
65
- }));
66
- const spawns = [];
67
- const label = { current: "A" };
68
- const adapter = {
69
- id: "fake",
70
- continuity: opts.continuity ?? movableStore(),
71
- async discover() {
72
- return HarnessManifest.parse({
73
- id: "fake",
74
- display_name: "fake",
75
- kind: "local_cli",
76
- provider_family: "local",
77
- capabilities: {
78
- implement: true,
79
- read_files: true,
80
- effort_levels: ["high"],
81
- repair: true,
82
- explain: true,
83
- audit: true,
84
- known_models: ["m1", "m2"],
85
- },
86
- auth_modes: ["local_session"],
87
- access_profiles_supported: ["workspace_write", "readonly"],
88
- });
89
- },
90
- async doctor() {
91
- return ConformanceReport.parse({
92
- harness_id: "fake",
93
- status: "ok",
94
- enabled_intents: ["implement", "repair", "explain", "audit"],
95
- auth_sources: [
96
- { source: "native_session", availability: "available", verification: "passed" },
97
- ],
98
- });
99
- },
100
- async probeCredentialProfile(profile) {
101
- return {
102
- profile_id: profile.profile_id,
103
- harness_id: "fake",
104
- availability: "available",
105
- verification: "passed",
106
- verification_source: "local_store",
107
- last_verified_at: new Date().toISOString(),
108
- };
109
- },
110
- async models() {
111
- return ["m1", "m2"].map((id) => ({ id, label: null, context_window: null, routes: null }));
112
- },
113
- async *run(spec) {
114
- const profile = spec.credential_profile.profile_id;
115
- const ctx = {
116
- label: label.current,
117
- nth: spawns.filter((s) => s.label === label.current).length + 1,
118
- profile,
119
- resume: spec.resume_session_id ?? null,
120
- prompt: spec.prompt,
121
- model: spec.model_hint ?? null,
122
- cwd: spec.cwd,
123
- };
124
- spawns.push(ctx);
125
- const emit = (ev) => ({
126
- session_id: spec.session_id,
127
- ts: new Date().toISOString(),
128
- credential_route: "vendor_native",
129
- credential_profile_id: profile,
130
- ...ev,
131
- });
132
- const seed = (sid) => {
133
- execFileSync("mkdir", ["-p", join(stores[profile], "sessions")]);
134
- writeFileSync(join(stores[profile], "sessions", `${sid}.jsonl`), `{"sid":"${sid}"}\n`);
135
- };
136
- yield* script({ ...ctx, spec, emit, seed });
137
- },
138
- };
139
- return { root, stores, spawns, adapter, label };
140
- }
141
- export async function runLabelled(f, label, input) {
142
- f.label.current = label;
143
- const events = [];
144
- const result = await new Orchestrator({
145
- registry: new Map([["fake", f.adapter]]),
146
- reviewers: [],
147
- }).run({
148
- repoRoot: f.root,
149
- mode: "agent",
150
- prompt: WORK_ORDER,
151
- harnesses: ["fake"],
152
- review: false,
153
- models: { fake: "m1" },
154
- effort: "high",
155
- authPreference: "subscription",
156
- web: "off",
157
- ...input,
158
- onEvent: (event) => events.push(event),
159
- });
160
- const terminal = events.find((e) => ["run.failed", "run.completed", "run.blocked"].includes(e.type));
161
- return {
162
- result,
163
- events,
164
- receipts: events
165
- .filter((e) => e.type === "run.continuity")
166
- .map((e) => e.payload["receipt"]),
167
- resumable: terminal?.payload["resumable"],
168
- };
169
- }
170
- /** The facts the daemon resolves for a successor of `pred` (its own ancestors first). */
171
- export function continuing(pred, workOrder, ancestors = [], over = {}) {
172
- return {
173
- retain: true,
174
- from: {
175
- runId: pred.result.runId,
176
- runDir: pred.result.runDir,
177
- state: pred.result.lifecycle,
178
- workOrder,
179
- preference: "auto",
180
- ancestors: ancestors.map((run) => ({
181
- runId: run.result.runId,
182
- runDir: run.result.runDir,
183
- state: run.result.lifecycle,
184
- })),
185
- ...over,
186
- },
187
- };
188
- }
189
- export const limitStop = (emit) => [
190
- emit({
191
- type: "status",
192
- status: { kind: "api_retry", error_category: "rate_limit" },
193
- rate_limit: {
194
- resets_at: "2026-10-06T21:00:00.000Z",
195
- retry_delay_ms: null,
196
- constraint_id: "five_hour",
197
- },
198
- }),
199
- emit({ type: "error", error: "usage limit reached" }),
200
- emit({ type: "completed" }),
201
- ];
202
- export const crash = (emit) => [
203
- emit({ type: "error", error: "connection reset" }),
204
- emit({ type: "completed", payload: { exit_code: 1, harness_reported_error: true } }),
205
- ];
206
- //# sourceMappingURL=continuation-chain.test-support.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"continuation-chain.test-support.js","sourceRoot":"","sources":["../src/continuation-chain.test-support.ts"],"names":[],"mappings":"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"}