@claudexor/orchestrator 3.1.1 → 3.2.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/attemptFinalize.d.ts +14 -11
- package/dist/attemptFinalize.d.ts.map +1 -1
- package/dist/attemptFinalize.js +41 -14
- package/dist/attemptFinalize.js.map +1 -1
- package/dist/attemptTelemetry.d.ts +16 -20
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +38 -70
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/attemptUsageCost.d.ts +47 -0
- package/dist/attemptUsageCost.d.ts.map +1 -0
- package/dist/attemptUsageCost.js +191 -0
- package/dist/attemptUsageCost.js.map +1 -0
- package/dist/budgetFailure.d.ts +3 -1
- package/dist/budgetFailure.d.ts.map +1 -1
- package/dist/budgetFailure.js.map +1 -1
- package/dist/candidateEvidence.d.ts +5 -0
- package/dist/candidateEvidence.d.ts.map +1 -1
- package/dist/candidateEvidence.js +3 -1
- package/dist/candidateEvidence.js.map +1 -1
- package/dist/candidateOutputs.d.ts +19 -0
- package/dist/candidateOutputs.d.ts.map +1 -1
- package/dist/candidateOutputs.js +201 -67
- package/dist/candidateOutputs.js.map +1 -1
- package/dist/credential-profile-rotation.d.ts +145 -0
- package/dist/credential-profile-rotation.d.ts.map +1 -0
- package/dist/credential-profile-rotation.js +315 -0
- package/dist/credential-profile-rotation.js.map +1 -0
- package/dist/credential-profiles.d.ts +35 -134
- package/dist/credential-profiles.d.ts.map +1 -1
- package/dist/credential-profiles.js +73 -295
- package/dist/credential-profiles.js.map +1 -1
- package/dist/decisionBudget.d.ts +43 -0
- package/dist/decisionBudget.d.ts.map +1 -0
- package/dist/decisionBudget.js +84 -0
- package/dist/decisionBudget.js.map +1 -0
- package/dist/decisionTerminalReconciliation.d.ts +18 -0
- package/dist/decisionTerminalReconciliation.d.ts.map +1 -0
- package/dist/decisionTerminalReconciliation.js +26 -0
- package/dist/decisionTerminalReconciliation.js.map +1 -0
- package/dist/deepScanReducer.d.ts +14 -44
- package/dist/deepScanReducer.d.ts.map +1 -1
- package/dist/deepScanReducer.js +240 -128
- package/dist/deepScanReducer.js.map +1 -1
- package/dist/delegation-parent-activation.d.ts +6 -0
- package/dist/delegation-parent-activation.d.ts.map +1 -0
- package/dist/delegation-parent-activation.js +13 -0
- package/dist/delegation-parent-activation.js.map +1 -0
- package/dist/delegationBudgetAuthority.d.ts +30 -0
- package/dist/delegationBudgetAuthority.d.ts.map +1 -0
- package/dist/delegationBudgetAuthority.js +157 -0
- package/dist/delegationBudgetAuthority.js.map +1 -0
- package/dist/delegationFailure.d.ts +58 -0
- package/dist/delegationFailure.d.ts.map +1 -0
- package/dist/delegationFailure.js +184 -0
- package/dist/delegationFailure.js.map +1 -0
- package/dist/delegationToolEvidence.d.ts +20 -0
- package/dist/delegationToolEvidence.d.ts.map +1 -0
- package/dist/delegationToolEvidence.js +46 -0
- package/dist/delegationToolEvidence.js.map +1 -0
- package/dist/git-precondition.d.ts +11 -0
- package/dist/git-precondition.d.ts.map +1 -0
- package/dist/git-precondition.js +69 -0
- package/dist/git-precondition.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +14 -6
- package/dist/interaction.d.ts.map +1 -1
- package/dist/interaction.js +106 -19
- package/dist/interaction.js.map +1 -1
- package/dist/orchestrator.d.ts +62 -115
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +671 -965
- package/dist/orchestrator.js.map +1 -1
- package/dist/plan-prompt.d.ts +3 -0
- package/dist/plan-prompt.d.ts.map +1 -0
- package/dist/plan-prompt.js +28 -0
- package/dist/plan-prompt.js.map +1 -0
- package/dist/planBrief.d.ts +27 -0
- package/dist/planBrief.d.ts.map +1 -0
- package/dist/planBrief.js +42 -0
- package/dist/planBrief.js.map +1 -0
- package/dist/planRun.d.ts +4 -3
- package/dist/planRun.d.ts.map +1 -1
- package/dist/planRun.js +33 -33
- package/dist/planRun.js.map +1 -1
- package/dist/plannerAttempt.d.ts +64 -0
- package/dist/plannerAttempt.d.ts.map +1 -0
- package/dist/plannerAttempt.js +235 -0
- package/dist/plannerAttempt.js.map +1 -0
- package/dist/policyFindings.js.map +1 -1
- package/dist/requestRequirements.d.ts +45 -1
- package/dist/requestRequirements.d.ts.map +1 -1
- package/dist/requestRequirements.js +158 -11
- package/dist/requestRequirements.js.map +1 -1
- package/dist/reviewerPanel.js.map +1 -1
- package/dist/root-ledger.d.ts +13 -0
- package/dist/root-ledger.d.ts.map +1 -0
- package/dist/root-ledger.js +21 -0
- package/dist/root-ledger.js.map +1 -0
- package/dist/routing-failure.d.ts +6 -0
- package/dist/routing-failure.d.ts.map +1 -0
- package/dist/routing-failure.js +12 -0
- package/dist/routing-failure.js.map +1 -0
- package/dist/run-bounded.d.ts +3 -0
- package/dist/run-bounded.d.ts.map +1 -0
- package/dist/run-bounded.js +23 -0
- package/dist/run-bounded.js.map +1 -0
- package/dist/run-input-resolution.d.ts +10 -0
- package/dist/run-input-resolution.d.ts.map +1 -0
- package/dist/run-input-resolution.js +88 -0
- package/dist/run-input-resolution.js.map +1 -0
- package/dist/runEventLog.d.ts +48 -0
- package/dist/runEventLog.d.ts.map +1 -0
- package/dist/runEventLog.js +63 -0
- package/dist/runEventLog.js.map +1 -0
- package/dist/runFacts.d.ts +23 -0
- package/dist/runFacts.d.ts.map +1 -0
- package/dist/runFacts.js +179 -0
- package/dist/runFacts.js.map +1 -0
- package/dist/runFactsBuilder.d.ts +5 -0
- package/dist/runFactsBuilder.d.ts.map +1 -0
- package/dist/runFactsBuilder.js +412 -0
- package/dist/runFactsBuilder.js.map +1 -0
- package/dist/runFactsDeliverable.d.ts +13 -0
- package/dist/runFactsDeliverable.d.ts.map +1 -0
- package/dist/runFactsDeliverable.js +94 -0
- package/dist/runFactsDeliverable.js.map +1 -0
- package/dist/runFactsPresentation.d.ts +7 -0
- package/dist/runFactsPresentation.d.ts.map +1 -0
- package/dist/runFactsPresentation.js +113 -0
- package/dist/runFactsPresentation.js.map +1 -0
- package/dist/runFactsReview.d.ts +7 -0
- package/dist/runFactsReview.d.ts.map +1 -0
- package/dist/runFactsReview.js +63 -0
- package/dist/runFactsReview.js.map +1 -0
- package/dist/runSupport.d.ts +17 -15
- package/dist/runSupport.d.ts.map +1 -1
- package/dist/runSupport.js +16 -0
- package/dist/runSupport.js.map +1 -1
- package/dist/runTelemetryWriter.d.ts +5 -2
- package/dist/runTelemetryWriter.d.ts.map +1 -1
- package/dist/runTelemetryWriter.js +72 -1
- package/dist/runTelemetryWriter.js.map +1 -1
- package/dist/runTerminalContext.d.ts +31 -0
- package/dist/runTerminalContext.d.ts.map +1 -0
- package/dist/runTerminalContext.js +12 -0
- package/dist/runTerminalContext.js.map +1 -0
- package/dist/runTerminalResults.d.ts +55 -0
- package/dist/runTerminalResults.d.ts.map +1 -0
- package/dist/runTerminalResults.js +134 -0
- package/dist/runTerminalResults.js.map +1 -0
- package/dist/runTerminals.d.ts +8 -57
- package/dist/runTerminals.d.ts.map +1 -1
- package/dist/runTerminals.js +423 -135
- package/dist/runTerminals.js.map +1 -1
- package/dist/secretDiff.d.ts +32 -0
- package/dist/secretDiff.d.ts.map +1 -0
- package/dist/secretDiff.js +140 -0
- package/dist/secretDiff.js.map +1 -0
- package/dist/structuredOutput.d.ts.map +1 -1
- package/dist/structuredOutput.js.map +1 -1
- package/dist/task-contract-builder.d.ts +35 -0
- package/dist/task-contract-builder.d.ts.map +1 -0
- package/dist/task-contract-builder.js +114 -0
- package/dist/task-contract-builder.js.map +1 -0
- package/dist/terminalOutcome.d.ts +22 -0
- package/dist/terminalOutcome.d.ts.map +1 -0
- package/dist/terminalOutcome.js +39 -0
- package/dist/terminalOutcome.js.map +1 -0
- package/dist/transientClassify.js.map +1 -1
- package/package.json +17 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTerminalResults.d.ts","sourceRoot":"","sources":["../src/runTerminalResults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAExF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAC5C,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;+CAE2C;IAC3C,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,GACA,IAAI,CAcN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,EACtE,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;AACxB;;4EAE4E;AAC5E,YAAY,CAAC,EAAE,WAAW;AAC1B,4EAA4E;AAC5E,KAAK,CAAC,EAAE,aAAa;AACrB;kEACkE;AAClE,UAAU,CAAC,EAAE,eAAe,GAC3B,kBAAkB,CA6DpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,GAAE;IACX,QAAQ,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;CACzB,GACL,kBAAkB,CA0CpB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { RunFailureCode } from "@claudexor/schema";
|
|
3
|
+
import { redactSecrets } from "@claudexor/util";
|
|
4
|
+
import { terminalOutcomeFacts } from "./terminalOutcome.js";
|
|
5
|
+
export function writeFailure(store, paths, failure) {
|
|
6
|
+
store.writeYaml(join(paths.finalDir, "failure.yaml"), {
|
|
7
|
+
phase: failure.phase,
|
|
8
|
+
category: failure.category,
|
|
9
|
+
code: failure.code ?? null,
|
|
10
|
+
harnessId: failure.harnessId ?? null,
|
|
11
|
+
attemptId: failure.attemptId ?? null,
|
|
12
|
+
safeMessage: redactSecrets(failure.safeMessage),
|
|
13
|
+
rawDetailRef: failure.rawDetailRef ?? null,
|
|
14
|
+
logRefs: failure.logRefs ?? [],
|
|
15
|
+
eventRefs: failure.eventRefs ?? [],
|
|
16
|
+
runDir: failure.runDir ?? paths.root,
|
|
17
|
+
nextActions: failure.nextActions ?? [],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Terminal result for a cancelled run: emits run.failed with status
|
|
22
|
+
* "cancelled" so every mode ends consistently. `writeTelemetry` carries the
|
|
23
|
+
* PARTIAL attempt telemetry collected before the abort — a cancelled run
|
|
24
|
+
* must still account for what it spent and observed; it used to be
|
|
25
|
+
* written only by convergence.
|
|
26
|
+
*/
|
|
27
|
+
export function cancelledResult(log, runId, taskId, mode, runDir, candidates, writeTelemetry, spendUsd,
|
|
28
|
+
/** The abort signal that ended the run: a STRING reason (e.g.
|
|
29
|
+
* `wall_clock_exceeded` from the maxSeconds deadline) is surfaced; a plain
|
|
30
|
+
* user cancel aborts with a DOMException reason and stays a bare cancel. */
|
|
31
|
+
cancelSignal,
|
|
32
|
+
/** Materializes the diagnostic summary the output.ready below announces. */
|
|
33
|
+
store,
|
|
34
|
+
/** A prepared result may already carry independent checks/review/work facts
|
|
35
|
+
* when cancellation wins during the Delegate terminal barrier. */
|
|
36
|
+
priorFacts) {
|
|
37
|
+
if (writeTelemetry) {
|
|
38
|
+
try {
|
|
39
|
+
writeTelemetry();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* partial telemetry is best-effort on the cancel path */
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const cancelReason = typeof cancelSignal?.reason === "string" && cancelSignal.reason
|
|
46
|
+
? cancelSignal.reason
|
|
47
|
+
: undefined;
|
|
48
|
+
const summaryText = cancelReason === "wall_clock_exceeded"
|
|
49
|
+
? "run cancelled: wall-clock deadline (maxSeconds) exceeded"
|
|
50
|
+
: "run cancelled";
|
|
51
|
+
// Materialize the diagnostic summary BEFORE announcing it — output.ready must
|
|
52
|
+
// point at a file that exists (partial-output honesty), and it must precede
|
|
53
|
+
// the terminal in every mode (INV-116).
|
|
54
|
+
let summaryWritten = false;
|
|
55
|
+
if (store) {
|
|
56
|
+
try {
|
|
57
|
+
store.writeText(join(runDir, "final", "summary.md"), `# Run ${runId} (${mode})\n\n- Lifecycle: cancelled\n${cancelReason ? `- Reason: ${cancelReason}\n` : ""}\n${summaryText}\n`);
|
|
58
|
+
summaryWritten = true;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
/* best-effort: a write failure must not mask the cancel terminal */
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// output.ready is EVIDENCE (release wave sol #3): announce the summary only
|
|
65
|
+
// when the file actually materialized — a failed write still gets its
|
|
66
|
+
// terminal below, just without a pointer to a nonexistent artifact.
|
|
67
|
+
if (summaryWritten) {
|
|
68
|
+
log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
|
|
69
|
+
}
|
|
70
|
+
const cancelFacts = terminalOutcomeFacts(priorFacts, "cancelled", cancelReason === "wall_clock_exceeded" ? "wall_clock_exceeded" : "user_cancelled");
|
|
71
|
+
log.emit("run.failed", {
|
|
72
|
+
lifecycle: "cancelled",
|
|
73
|
+
facts: cancelFacts,
|
|
74
|
+
reason: cancelFacts.reason,
|
|
75
|
+
...(cancelReason ? { cancel_reason: cancelReason } : {}),
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
runId,
|
|
79
|
+
taskId,
|
|
80
|
+
mode,
|
|
81
|
+
lifecycle: "cancelled",
|
|
82
|
+
facts: cancelFacts,
|
|
83
|
+
winner: null,
|
|
84
|
+
runDir,
|
|
85
|
+
summary: summaryText,
|
|
86
|
+
candidates,
|
|
87
|
+
...(spendUsd !== undefined ? { spendUsd } : {}),
|
|
88
|
+
...(cancelReason ? { cancelReason } : {}),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Shared post-announce failure terminal. Unexpected throws use its internal
|
|
93
|
+
* defaults; known callers may supply narrow typed provenance. Every run ends
|
|
94
|
+
* with failure.yaml + summary + a terminal run.failed event.
|
|
95
|
+
*/
|
|
96
|
+
export function failTerminally(log, store, paths, runId, taskId, mode, phase, err, spendUsd, failureMeta = {}) {
|
|
97
|
+
const message = redactSecrets(err instanceof Error ? err.message : String(err));
|
|
98
|
+
const parsedCode = RunFailureCode.safeParse(err && typeof err === "object" ? err.code : undefined);
|
|
99
|
+
const failFacts = terminalOutcomeFacts(failureMeta.priorFacts, "failed", "harness_failed");
|
|
100
|
+
store.writeText(join(paths.finalDir, "summary.md"), `# Run ${runId} (${mode})\n\n- Lifecycle: failed\n- Phase: ${phase}\n\n${message}\n`);
|
|
101
|
+
writeFailure(store, paths, {
|
|
102
|
+
phase,
|
|
103
|
+
category: failureMeta.category ?? "internal",
|
|
104
|
+
code: parsedCode.success ? parsedCode.data : null,
|
|
105
|
+
harnessId: failureMeta.harnessId,
|
|
106
|
+
attemptId: failureMeta.attemptId,
|
|
107
|
+
safeMessage: message,
|
|
108
|
+
rawDetailRef: failureMeta.rawDetailRef,
|
|
109
|
+
runDir: paths.root,
|
|
110
|
+
nextActions: failureMeta.nextActions ?? ["Open diagnostics", "Retry the run"],
|
|
111
|
+
});
|
|
112
|
+
log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
|
|
113
|
+
log.emit("run.failed", {
|
|
114
|
+
lifecycle: "failed",
|
|
115
|
+
facts: failFacts,
|
|
116
|
+
reason: failFacts.reason,
|
|
117
|
+
phase,
|
|
118
|
+
error: message,
|
|
119
|
+
failure_ref: "final/failure.yaml",
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
runId,
|
|
123
|
+
taskId,
|
|
124
|
+
mode,
|
|
125
|
+
lifecycle: "failed",
|
|
126
|
+
facts: failFacts,
|
|
127
|
+
winner: null,
|
|
128
|
+
runDir: paths.root,
|
|
129
|
+
summary: message,
|
|
130
|
+
candidates: [],
|
|
131
|
+
...(spendUsd !== undefined ? { spendUsd } : {}),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=runTerminalResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTerminalResults.js","sourceRoot":"","sources":["../src/runTerminalResults.ts"],"names":[],"mappings":"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"}
|
package/dist/runTerminals.d.ts
CHANGED
|
@@ -1,60 +1,8 @@
|
|
|
1
|
-
import type { ModeKind, RunFailureCode } from "@claudexor/schema";
|
|
2
|
-
import type { ArtifactStore } from "@claudexor/artifact-store";
|
|
3
|
-
import type { EventLog } from "@claudexor/event-log";
|
|
4
1
|
import type { OrchestratorResult } from "./orchestrator.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
runId: string;
|
|
10
|
-
taskId: string;
|
|
11
|
-
mode: ModeKind;
|
|
12
|
-
/** Failure phase label when the net has to stamp the terminal. */
|
|
13
|
-
phase: string;
|
|
14
|
-
/** Settled ledger spend snapshot — failure/cancel terminals must account
|
|
15
|
-
* for money already spent exactly like success terminals do. */
|
|
16
|
-
spend?: () => number;
|
|
17
|
-
}
|
|
18
|
-
export declare function writeFailure(store: ArtifactStore, paths: ReturnType<ArtifactStore["runPaths"]>, failure: {
|
|
19
|
-
phase: string;
|
|
20
|
-
category: string;
|
|
21
|
-
/** Machine-readable sub-code (typed budget-denial reason); null/omitted when
|
|
22
|
-
* the category alone is sufficient. Consumed by surfaces to pick remediation
|
|
23
|
-
* without parsing safeMessage (QA-050). */
|
|
24
|
-
code?: RunFailureCode | null;
|
|
25
|
-
safeMessage: string;
|
|
26
|
-
harnessId?: string | null;
|
|
27
|
-
attemptId?: string | null;
|
|
28
|
-
rawDetailRef?: string;
|
|
29
|
-
logRefs?: string[];
|
|
30
|
-
eventRefs?: string[];
|
|
31
|
-
runDir?: string;
|
|
32
|
-
nextActions?: string[];
|
|
33
|
-
}): void;
|
|
34
|
-
/**
|
|
35
|
-
* Terminal result for a cancelled run: emits run.failed with status
|
|
36
|
-
* "cancelled" so every mode ends consistently. `writeTelemetry` carries the
|
|
37
|
-
* PARTIAL attempt telemetry collected before the abort — a cancelled run
|
|
38
|
-
* must still account for what it spent and observed; it used to be
|
|
39
|
-
* written only by convergence.
|
|
40
|
-
*/
|
|
41
|
-
export declare function cancelledResult(log: EventLog, runId: string, taskId: string, mode: ModeKind, runDir: string, candidates: {
|
|
42
|
-
attemptId: string;
|
|
43
|
-
harnessId: string;
|
|
44
|
-
status: string;
|
|
45
|
-
}[], writeTelemetry?: () => void, spendUsd?: number | null,
|
|
46
|
-
/** The abort signal that ended the run: a STRING reason (e.g.
|
|
47
|
-
* `wall_clock_exceeded` from the maxSeconds deadline) is surfaced; a plain
|
|
48
|
-
* user cancel aborts with a DOMException reason and stays a bare cancel. */
|
|
49
|
-
cancelSignal?: AbortSignal,
|
|
50
|
-
/** Materializes the diagnostic summary the output.ready below announces. */
|
|
51
|
-
store?: ArtifactStore): OrchestratorResult;
|
|
52
|
-
/**
|
|
53
|
-
* Terminal safety net for an unexpected throw in a post-announce phase.
|
|
54
|
-
* Every run must end with failure.yaml + summary + a terminal run.failed
|
|
55
|
-
* event.
|
|
56
|
-
*/
|
|
57
|
-
export declare function failTerminally(log: EventLog, store: ArtifactStore, paths: ReturnType<ArtifactStore["runPaths"]>, runId: string, taskId: string, mode: ModeKind, phase: string, err: unknown, spendUsd?: number | null): OrchestratorResult;
|
|
2
|
+
import type { AnnouncedRunContext } from "./runTerminalContext.js";
|
|
3
|
+
import { cancelledResult, failTerminally, writeFailure } from "./runTerminalResults.js";
|
|
4
|
+
export type { AnnouncedRunContext } from "./runTerminalContext.js";
|
|
5
|
+
export { cancelledResult, failTerminally, writeFailure };
|
|
58
6
|
/**
|
|
59
7
|
* Whole-strategy terminal net: run `body`; if it throws AFTER announcing,
|
|
60
8
|
* stamp terminal artifacts instead of orphaning the run. Pre-announce throws
|
|
@@ -63,11 +11,14 @@ export declare function failTerminally(log: EventLog, store: ArtifactStore, path
|
|
|
63
11
|
* internal failure.
|
|
64
12
|
*/
|
|
65
13
|
export declare function guardAnnouncedRun(signal: AbortSignal | undefined, body: (announce: (a: AnnouncedRunContext) => void) => Promise<OrchestratorResult>,
|
|
14
|
+
/** Awaited after strategy work but before a deferred terminal is flushed.
|
|
15
|
+
* Delegate parents use it to fence admission and drain child settlements. */
|
|
16
|
+
beforeTerminal?: (context: AnnouncedRunContext) => void | Promise<void>,
|
|
66
17
|
/**
|
|
67
18
|
* Invoked once with the announced runId when the strategy settles (return OR
|
|
68
19
|
* throw). The single per-run terminalization hook: per-run engine state keyed
|
|
69
20
|
* by runId (e.g. the routing-rationale map) is released HERE so a run that
|
|
70
21
|
* dies before its telemetry writer runs cannot leak it (QA-034 map leak).
|
|
71
22
|
*/
|
|
72
|
-
onSettled?: (runId: string) => void): Promise<OrchestratorResult>;
|
|
23
|
+
onSettled?: (runId: string) => void | Promise<void>): Promise<OrchestratorResult>;
|
|
73
24
|
//# sourceMappingURL=runTerminals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTerminals.d.ts","sourceRoot":"","sources":["../src/runTerminals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runTerminals.d.ts","sourceRoot":"","sources":["../src/runTerminals.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOxF,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAqJzD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,KAAK,OAAO,CAAC,kBAAkB,CAAC;AACjF;6EAC6E;AAC7E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACvE;;;;;GAKG;AACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,kBAAkB,CAAC,CAkW7B"}
|