@claudexor/orchestrator 5.0.2 → 5.1.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-evidence.d.ts +7 -0
- package/dist/account-evidence.d.ts.map +1 -1
- package/dist/account-evidence.js +12 -0
- package/dist/account-evidence.js.map +1 -1
- package/dist/account-pool.d.ts +4 -0
- package/dist/account-pool.d.ts.map +1 -1
- package/dist/account-pool.js +8 -1
- package/dist/account-pool.js.map +1 -1
- package/dist/account-resolution.d.ts.map +1 -1
- package/dist/account-resolution.js +7 -5
- package/dist/account-resolution.js.map +1 -1
- package/dist/attemptFinalize.d.ts +22 -7
- package/dist/attemptFinalize.d.ts.map +1 -1
- package/dist/attemptFinalize.js +29 -7
- package/dist/attemptFinalize.js.map +1 -1
- package/dist/attemptTelemetry.d.ts +19 -18
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +32 -79
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/attemptUsage.d.ts.map +1 -1
- package/dist/attemptUsage.js +6 -14
- package/dist/attemptUsage.js.map +1 -1
- package/dist/attemptUsageCost.d.ts +11 -2
- package/dist/attemptUsageCost.d.ts.map +1 -1
- package/dist/attemptUsageCost.js +16 -3
- package/dist/attemptUsageCost.js.map +1 -1
- package/dist/candidateEvidence.d.ts +25 -8
- package/dist/candidateEvidence.d.ts.map +1 -1
- package/dist/candidateEvidence.js +45 -13
- package/dist/candidateEvidence.js.map +1 -1
- package/dist/candidateReview.d.ts.map +1 -1
- package/dist/candidateReview.js +4 -2
- package/dist/candidateReview.js.map +1 -1
- package/dist/candidateTerminals.d.ts +10 -0
- package/dist/candidateTerminals.d.ts.map +1 -1
- package/dist/candidateTerminals.js +28 -2
- package/dist/candidateTerminals.js.map +1 -1
- package/dist/carrier-planner.d.ts +5 -2
- package/dist/carrier-planner.d.ts.map +1 -1
- package/dist/carrier-planner.js +6 -3
- package/dist/carrier-planner.js.map +1 -1
- package/dist/command-telemetry.d.ts +15 -0
- package/dist/command-telemetry.d.ts.map +1 -0
- package/dist/command-telemetry.js +27 -0
- package/dist/command-telemetry.js.map +1 -0
- package/dist/continuation-evidence-io.d.ts +13 -3
- package/dist/continuation-evidence-io.d.ts.map +1 -1
- package/dist/continuation-evidence-io.js +36 -4
- package/dist/continuation-evidence-io.js.map +1 -1
- package/dist/continuation-evidence.d.ts +13 -2
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +23 -4
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-later.d.ts.map +1 -1
- package/dist/continuation-later.js +6 -6
- package/dist/continuation-later.js.map +1 -1
- package/dist/continuity-facts.d.ts +25 -1
- package/dist/continuity-facts.d.ts.map +1 -1
- package/dist/continuity-facts.js +71 -4
- package/dist/continuity-facts.js.map +1 -1
- package/dist/continuity-notice.d.ts.map +1 -1
- package/dist/continuity-notice.js +2 -1
- package/dist/continuity-notice.js.map +1 -1
- package/dist/continuity-summary.d.ts +4 -1
- package/dist/continuity-summary.d.ts.map +1 -1
- package/dist/continuity-summary.js +30 -12
- package/dist/continuity-summary.js.map +1 -1
- package/dist/continuity.d.ts +36 -8
- package/dist/continuity.d.ts.map +1 -1
- package/dist/continuity.js +96 -21
- package/dist/continuity.js.map +1 -1
- package/dist/credential-cooldown.d.ts +7 -0
- package/dist/credential-cooldown.d.ts.map +1 -1
- package/dist/credential-cooldown.js +31 -5
- package/dist/credential-cooldown.js.map +1 -1
- package/dist/credential-differential.d.ts +15 -1
- package/dist/credential-differential.d.ts.map +1 -1
- package/dist/credential-differential.js +32 -17
- package/dist/credential-differential.js.map +1 -1
- package/dist/credential-execution.d.ts.map +1 -1
- package/dist/credential-execution.js +14 -15
- package/dist/credential-execution.js.map +1 -1
- package/dist/credential-preflight.js +1 -1
- package/dist/credential-preflight.js.map +1 -1
- package/dist/credential-profile-rotation.d.ts +1 -0
- package/dist/credential-profile-rotation.d.ts.map +1 -1
- package/dist/credential-profile-rotation.js +1 -1
- package/dist/credential-profile-rotation.js.map +1 -1
- package/dist/deepScanReducer.d.ts.map +1 -1
- package/dist/deepScanReducer.js +8 -18
- package/dist/deepScanReducer.js.map +1 -1
- package/dist/delegatedHome.d.ts +6 -4
- package/dist/delegatedHome.d.ts.map +1 -1
- package/dist/delegatedHome.js.map +1 -1
- package/dist/delegationFailure.d.ts +4 -4
- package/dist/directoryCandidate.d.ts.map +1 -1
- package/dist/directoryCandidate.js +35 -5
- package/dist/directoryCandidate.js.map +1 -1
- package/dist/harnessFailure.d.ts +6 -5
- package/dist/harnessFailure.d.ts.map +1 -1
- package/dist/harnessFailure.js +7 -6
- package/dist/harnessFailure.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/inrun-continuity-carrier.d.ts +4 -1
- package/dist/inrun-continuity-carrier.d.ts.map +1 -1
- package/dist/inrun-continuity-carrier.js +2 -0
- package/dist/inrun-continuity-carrier.js.map +1 -1
- package/dist/inrun-continuity.d.ts +2 -2
- package/dist/inrun-continuity.d.ts.map +1 -1
- package/dist/inrun-continuity.js +22 -19
- package/dist/inrun-continuity.js.map +1 -1
- package/dist/inrun-retained-output.d.ts +18 -4
- package/dist/inrun-retained-output.d.ts.map +1 -1
- package/dist/inrun-retained-output.js +39 -8
- package/dist/inrun-retained-output.js.map +1 -1
- package/dist/laneStreamEvents.d.ts +9 -10
- package/dist/laneStreamEvents.d.ts.map +1 -1
- package/dist/laneStreamEvents.js +21 -7
- package/dist/laneStreamEvents.js.map +1 -1
- package/dist/modelGovernance.d.ts +10 -4
- package/dist/modelGovernance.d.ts.map +1 -1
- package/dist/modelGovernance.js +21 -1
- package/dist/modelGovernance.js.map +1 -1
- package/dist/native-retry-telemetry.d.ts +4 -1
- package/dist/native-retry-telemetry.d.ts.map +1 -1
- package/dist/native-retry-telemetry.js +6 -1
- package/dist/native-retry-telemetry.js.map +1 -1
- package/dist/orchestrator.d.ts +7 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +86 -102
- package/dist/orchestrator.js.map +1 -1
- package/dist/planRun.js +4 -4
- package/dist/planRun.js.map +1 -1
- package/dist/plannerAttempt.d.ts +1 -0
- package/dist/plannerAttempt.d.ts.map +1 -1
- package/dist/plannerAttempt.js +14 -19
- package/dist/plannerAttempt.js.map +1 -1
- package/dist/pool-attempt-evidence.d.ts +3 -1
- package/dist/pool-attempt-evidence.d.ts.map +1 -1
- package/dist/pool-attempt-evidence.js +16 -3
- package/dist/pool-attempt-evidence.js.map +1 -1
- package/dist/quota-refusal-scope.d.ts +1 -0
- package/dist/quota-refusal-scope.d.ts.map +1 -1
- package/dist/quota-refusal-scope.js +29 -1
- package/dist/quota-refusal-scope.js.map +1 -1
- package/dist/rawPatchLane.d.ts +42 -0
- package/dist/rawPatchLane.d.ts.map +1 -0
- package/dist/rawPatchLane.js +79 -0
- package/dist/rawPatchLane.js.map +1 -0
- package/dist/readonlyTerminals.d.ts +0 -3
- package/dist/readonlyTerminals.d.ts.map +1 -1
- package/dist/readonlyTerminals.js +30 -10
- package/dist/readonlyTerminals.js.map +1 -1
- package/dist/requestRequirements.d.ts +5 -4
- package/dist/requestRequirements.d.ts.map +1 -1
- package/dist/requestRequirements.js +6 -5
- package/dist/requestRequirements.js.map +1 -1
- package/dist/retainedOutput.d.ts +19 -2
- package/dist/retainedOutput.d.ts.map +1 -1
- package/dist/retainedOutput.js +83 -12
- package/dist/retainedOutput.js.map +1 -1
- package/dist/reviewerInventory.d.ts +2 -8
- package/dist/reviewerInventory.d.ts.map +1 -1
- package/dist/reviewerInventory.js +2 -3
- package/dist/reviewerInventory.js.map +1 -1
- package/dist/reviewerPanel.d.ts +1 -1
- package/dist/reviewerPanel.d.ts.map +1 -1
- package/dist/reviewerPanel.js +9 -4
- package/dist/reviewerPanel.js.map +1 -1
- package/dist/route-admission.d.ts.map +1 -1
- package/dist/route-admission.js +3 -1
- package/dist/route-admission.js.map +1 -1
- package/dist/routeControls.d.ts +32 -0
- package/dist/routeControls.d.ts.map +1 -0
- package/dist/routeControls.js +47 -0
- package/dist/routeControls.js.map +1 -0
- package/dist/run-input-resolution.d.ts +5 -0
- package/dist/run-input-resolution.d.ts.map +1 -1
- package/dist/run-input-resolution.js +12 -6
- package/dist/run-input-resolution.js.map +1 -1
- package/dist/run-runtime-root.d.ts +16 -0
- package/dist/run-runtime-root.d.ts.map +1 -0
- package/dist/run-runtime-root.js +16 -0
- package/dist/run-runtime-root.js.map +1 -0
- package/dist/runAdmission.d.ts.map +1 -1
- package/dist/runAdmission.js +2 -1
- package/dist/runAdmission.js.map +1 -1
- package/dist/runFacts.d.ts +5 -2
- package/dist/runFacts.d.ts.map +1 -1
- package/dist/runFacts.js +11 -11
- package/dist/runFacts.js.map +1 -1
- package/dist/runScope.d.ts +2 -0
- package/dist/runScope.d.ts.map +1 -1
- package/dist/runScope.js +3 -2
- package/dist/runScope.js.map +1 -1
- package/dist/runSupport.d.ts +3 -1
- package/dist/runSupport.d.ts.map +1 -1
- package/dist/runSupport.js +3 -1
- package/dist/runSupport.js.map +1 -1
- package/dist/runTelemetryWriter.d.ts +18 -5
- package/dist/runTelemetryWriter.d.ts.map +1 -1
- package/dist/runTelemetryWriter.js +7 -2
- package/dist/runTelemetryWriter.js.map +1 -1
- package/dist/runTerminalResults.d.ts.map +1 -1
- package/dist/runTerminalResults.js +22 -7
- package/dist/runTerminalResults.js.map +1 -1
- package/dist/runTerminals.d.ts.map +1 -1
- package/dist/runTerminals.js +13 -5
- package/dist/runTerminals.js.map +1 -1
- package/dist/secretDiff.d.ts.map +1 -1
- package/dist/secretDiff.js +2 -1
- package/dist/secretDiff.js.map +1 -1
- package/dist/transientClassify.d.ts +17 -9
- package/dist/transientClassify.d.ts.map +1 -1
- package/dist/transientClassify.js +33 -9
- package/dist/transientClassify.js.map +1 -1
- package/dist/webEvidence.d.ts +41 -0
- package/dist/webEvidence.d.ts.map +1 -0
- package/dist/webEvidence.js +99 -0
- package/dist/webEvidence.js.map +1 -0
- package/dist/workReportEnvelope.d.ts +12 -0
- package/dist/workReportEnvelope.d.ts.map +1 -1
- package/dist/workReportEnvelope.js +19 -0
- package/dist/workReportEnvelope.js.map +1 -1
- package/package.json +17 -17
- package/dist/continuation-chain.test-support.d.ts +0 -473
- package/dist/continuation-chain.test-support.d.ts.map +0 -1
- package/dist/continuation-chain.test-support.js +0 -206
- package/dist/continuation-chain.test-support.js.map +0 -1
- package/dist/inrun-continuity.test-support.d.ts +0 -504
- package/dist/inrun-continuity.test-support.d.ts.map +0 -1
- package/dist/inrun-continuity.test-support.js +0 -212
- package/dist/inrun-continuity.test-support.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { makeOutcomeFacts } from "@claudexor/schema";
|
|
3
|
-
import { readOnlyNoSuccessTerminal } from "./attemptFinalize.js";
|
|
3
|
+
import { attemptInterruption, readOnlyNoSuccessTerminal, } from "./attemptFinalize.js";
|
|
4
4
|
import { budgetFailureRecord, classifyBudgetFailure } from "./budgetFailure.js";
|
|
5
5
|
import { unanimousDeclaredFailure } from "./candidateEvidence.js";
|
|
6
6
|
import { carryingAttempts, resumableTerminal, } from "./continuity-terminal.js";
|
|
@@ -19,6 +19,8 @@ export function readOnlyChainFailureResult(input) {
|
|
|
19
19
|
const budgetMapping = budgetStopped && !webBlocked
|
|
20
20
|
? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
|
|
21
21
|
: null;
|
|
22
|
+
// A typed limit that ended the last attempt is its outcome (#299), below budget and web.
|
|
23
|
+
const interruption = budgetMapping || webBlocked ? null : attemptInterruption(last?.telemetry);
|
|
22
24
|
const { message: singleError, poolAttempts } = poolFailure(budgetMapping?.safeMessage ??
|
|
23
25
|
last?.error ??
|
|
24
26
|
(budgetStopped ? "budget exhausted before any attempt" : "harness failed"), attempts);
|
|
@@ -32,7 +34,7 @@ export function readOnlyChainFailureResult(input) {
|
|
|
32
34
|
}
|
|
33
35
|
const partialReport = [...attempts].reverse().find((a) => a.report)?.report ?? "";
|
|
34
36
|
input.writeTelemetry();
|
|
35
|
-
store.writeText(join(paths.contextDir, "context_error.md"), `# ${budgetMapping ? "Budget Denied" : "Harness Error"}\n\n${singleError}\n`);
|
|
37
|
+
store.writeText(join(paths.contextDir, "context_error.md"), `# ${budgetMapping ? "Budget Denied" : interruption ? "Interrupted" : "Harness Error"}\n\n${singleError}\n`);
|
|
36
38
|
const roEventRefs = attempts.map((a) => `attempts/${a.attemptId}/events.jsonl`);
|
|
37
39
|
if (budgetMapping) {
|
|
38
40
|
writeFailure(store, paths, {
|
|
@@ -62,7 +64,9 @@ export function readOnlyChainFailureResult(input) {
|
|
|
62
64
|
quotaRefusal: roDeclared?.quotaRefusal,
|
|
63
65
|
vendorFailure: attemptVendorFailure(attemptTelemetries, last?.attemptId),
|
|
64
66
|
poolAttempts,
|
|
65
|
-
nextActions:
|
|
67
|
+
nextActions: interruption
|
|
68
|
+
? interruptionNextActions(interruption)
|
|
69
|
+
: harnessFailureNextActions(roCategory),
|
|
66
70
|
});
|
|
67
71
|
}
|
|
68
72
|
// QA-036: re-check the DELIVERABLE through the shared finalizer helper —
|
|
@@ -74,10 +78,12 @@ export function readOnlyChainFailureResult(input) {
|
|
|
74
78
|
budgetStopped,
|
|
75
79
|
attemptsCount: attempts.length,
|
|
76
80
|
});
|
|
77
|
-
const terminalFacts =
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
const terminalFacts = interruption
|
|
82
|
+
? makeOutcomeFacts("interrupted", { reason: interruption })
|
|
83
|
+
: makeOutcomeFacts(roTerminal.lifecycle, {
|
|
84
|
+
...(roTerminal.review ? { review: roTerminal.review } : {}),
|
|
85
|
+
reason: budgetMapping?.reason ?? roTerminal.reason,
|
|
86
|
+
});
|
|
81
87
|
const terminalHarnessId = budgetMapping?.harnessId ?? last?.harnessId;
|
|
82
88
|
store.writeText(join(paths.finalDir, "summary.md"), `# Run ${runId} (${mode})\n\n- Harness: ${terminalHarnessId ?? "none"}\n- Lifecycle: ${terminalFacts.lifecycle}${terminalFacts.reason ? ` (${terminalFacts.reason})` : ""}\n\n${singleError}\n`);
|
|
83
89
|
log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
|
|
@@ -131,10 +137,12 @@ export function deepScanFailureResult(input) {
|
|
|
131
137
|
const scanBudgetMapping = budgetStopped && !blocked && attempts.every((a) => a.budgetDenied === true)
|
|
132
138
|
? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
|
|
133
139
|
: null;
|
|
134
|
-
// D-16 r8: ALL scouts
|
|
135
|
-
|
|
140
|
+
// D-16 r8: ALL scouts stopped by a typed limit (context or the max-turns cap,
|
|
141
|
+
// also when the vendor then exited non-zero) → the aggregate is interrupted.
|
|
142
|
+
const limits = attempts.map((a) => attemptInterruption(a.telemetry));
|
|
143
|
+
const allInterrupted = attempts.length > 0 && limits.every((limit) => limit !== null);
|
|
136
144
|
const scanFailFacts = allInterrupted
|
|
137
|
-
? makeOutcomeFacts("interrupted", { reason:
|
|
145
|
+
? makeOutcomeFacts("interrupted", { reason: limits[0] })
|
|
138
146
|
: makeOutcomeFacts("failed", {
|
|
139
147
|
reason: scanBudgetMapping ? scanBudgetMapping.reason : "harness_failed",
|
|
140
148
|
});
|
|
@@ -204,4 +212,16 @@ export function deepScanFailureResult(input) {
|
|
|
204
212
|
})),
|
|
205
213
|
};
|
|
206
214
|
}
|
|
215
|
+
/** Remediation of a run a typed limit stopped: its partial output is evidence, never an answer. */
|
|
216
|
+
function interruptionNextActions(interruption) {
|
|
217
|
+
return interruption === "turn_limit_reached"
|
|
218
|
+
? [
|
|
219
|
+
"Inspect the retained partial output (final/retained-output.md)",
|
|
220
|
+
"Continue this run (continueFrom) for more turns, or re-run without a max-turns limit",
|
|
221
|
+
]
|
|
222
|
+
: [
|
|
223
|
+
"Inspect the retained partial output (final/retained-output.md)",
|
|
224
|
+
"Re-run with a narrower scope",
|
|
225
|
+
];
|
|
226
|
+
}
|
|
207
227
|
//# sourceMappingURL=readonlyTerminals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readonlyTerminals.js","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,gBAAgB,EAAiB,MAAM,mBAAmB,CAAC;AAGpE,OAAO,
|
|
1
|
+
{"version":3,"file":"readonlyTerminals.js","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,10 +47,11 @@ export declare class RequestRequirementsError extends HarnessUnavailableError {
|
|
|
47
47
|
export declare class RequestRequirementsResolver {
|
|
48
48
|
/** Patch producers only read; the engine owns materialization and delivery. */
|
|
49
49
|
adapterAccess(intent: Intent, implementationTransport: ImplementationTransport, requestedAccess: AccessProfile): AccessProfile;
|
|
50
|
-
/** Project-scoped Ask
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* a
|
|
50
|
+
/** Project-scoped Ask and Plan are answered by the harness reading the project
|
|
51
|
+
* itself: their prompt carries a path atlas, never file contents (#133, #137). A
|
|
52
|
+
* lane that may play them but cannot read files is refused before dispatch, which
|
|
53
|
+
* holds a Council's drafts and its merge too; work without a project needs no
|
|
54
|
+
* file access. Null = admitted, or another check speaks. */
|
|
54
55
|
projectReadRefusal(intent: Intent, input: {
|
|
55
56
|
repoRoot: string;
|
|
56
57
|
}, status: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,MAAM,EACN,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,yBAAyB,GACnC,UAAU,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEjF,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED,qBAAa,wBAAyB,SAAQ,uBAAuB;IAKjE,QAAQ,CAAC,WAAW,EAAE,4BAA4B,EAAE;IAJtD,QAAQ,CAAC,IAAI,yBAAyB;IAEtC,YACE,OAAO,EAAE,MAAM,EACN,WAAW,EAAE,4BAA4B,EAAE,EAGrD;CACF;AAED,4EAA4E;AAC5E,qBAAa,2BAA2B;IACtC,+EAA+E;IAC/E,aAAa,CACX,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,aAAa,GAC7B,aAAa,CAKf;IAED
|
|
1
|
+
{"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,12 +22,13 @@ export class RequestRequirementsResolver {
|
|
|
22
22
|
? "readonly"
|
|
23
23
|
: requestedAccess;
|
|
24
24
|
}
|
|
25
|
-
/** Project-scoped Ask
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* a
|
|
25
|
+
/** Project-scoped Ask and Plan are answered by the harness reading the project
|
|
26
|
+
* itself: their prompt carries a path atlas, never file contents (#133, #137). A
|
|
27
|
+
* lane that may play them but cannot read files is refused before dispatch, which
|
|
28
|
+
* holds a Council's drafts and its merge too; work without a project needs no
|
|
29
|
+
* file access. Null = admitted, or another check speaks. */
|
|
29
30
|
projectReadRefusal(intent, input, status) {
|
|
30
|
-
return intent === "explain" &&
|
|
31
|
+
return (intent === "explain" || intent === "plan" || intent === "spec") &&
|
|
31
32
|
input.repoRoot !== NO_PROJECT_ROOT &&
|
|
32
33
|
status.enabledIntents.includes(intent) &&
|
|
33
34
|
status.manifest?.capabilities.read_files === false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;AA8C5C,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,OAAO,MAAM,KAAK,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,uBAAuB;IAKxD,WAAW;IAJb,IAAI,GAAG,qBAAqB,CAAC;IAEtC,YACE,OAAe,EACN,WAA2C;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC;2BAFN,WAAW;IAGtB,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,OAAO,2BAA2B;IACtC,+EAA+E;IAC/E,aAAa,CACX,MAAc,EACd,uBAAgD,EAChD,eAA8B;QAE9B,OAAO,uBAAuB,KAAK,oBAAoB;YACrD,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,YAAY,CAAC;YACnD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,eAAe,CAAC;IACtB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
|
package/dist/retainedOutput.d.ts
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import type { AnnouncedRunContext } from "./runTerminalContext.js";
|
|
2
|
-
/** A readable projection is independent of acceptance and never masks the original
|
|
3
|
-
|
|
2
|
+
/** A readable projection is independent of acceptance and never masks the original
|
|
3
|
+
* terminal. Returns the path it announced (`output.ready`), else null. A failed
|
|
4
|
+
* terminal's record then names it (a cancellation keeps its own): an optional
|
|
5
|
+
* step after the announcement, whose own failure cannot undo it. */
|
|
6
|
+
export declare function publishRetainedOutput(context: AnnouncedRunContext, succeeded: boolean, failed?: boolean): string | null;
|
|
7
|
+
/** A failure record's message and references once they name the retained
|
|
8
|
+
* output at `path`. The notice that the file holds retained text, not an
|
|
9
|
+
* accepted final answer, follows the message's first line (the cause route
|
|
10
|
+
* health groups by) and precedes the rest of the original message, such as its
|
|
11
|
+
* account attempts, so a reader that bounds the message after a cause line of
|
|
12
|
+
* ordinary length still meets it; a very long cause line can still push it past
|
|
13
|
+
* such a bound. The original text is otherwise unchanged around it, and
|
|
14
|
+
* `logRefs` (run-relative, beside `runDir`) is the address. Only the failure
|
|
15
|
+
* record carries it: the terminal's event error and summaries keep their own
|
|
16
|
+
* text. */
|
|
17
|
+
export declare function namingRetainedOutput(safeMessage: string, logRefs: readonly string[], path: string): {
|
|
18
|
+
safeMessage: string;
|
|
19
|
+
logRefs: string[];
|
|
20
|
+
};
|
|
4
21
|
//# sourceMappingURL=retainedOutput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retainedOutput.d.ts","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retainedOutput.d.ts","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;oEAGoE;AACpE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,OAAO,EAClB,MAAM,UAAQ,GACb,MAAM,GAAG,IAAI,CAmCf;AAED;;;;;;;;;WASW;AACX,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAS5C"}
|
package/dist/retainedOutput.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { renameSync, rmSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
1
4
|
import { writeRetainedOutput } from "@claudexor/event-log";
|
|
2
5
|
import { redactSecrets } from "@claudexor/util";
|
|
3
|
-
/** A readable projection is independent of acceptance and never masks the original
|
|
4
|
-
|
|
6
|
+
/** A readable projection is independent of acceptance and never masks the original
|
|
7
|
+
* terminal. Returns the path it announced (`output.ready`), else null. A failed
|
|
8
|
+
* terminal's record then names it (a cancellation keeps its own): an optional
|
|
9
|
+
* step after the announcement, whose own failure cannot undo it. */
|
|
10
|
+
export function publishRetainedOutput(context, succeeded, failed = false) {
|
|
11
|
+
let path;
|
|
5
12
|
try {
|
|
6
13
|
const source = context.log.readAll();
|
|
7
|
-
|
|
14
|
+
path = writeRetainedOutput(context.paths.root, source, succeeded);
|
|
8
15
|
if (!path)
|
|
9
|
-
return;
|
|
16
|
+
return null;
|
|
10
17
|
const lastOutput = source.events.findLast((event) => event.type === "output.ready");
|
|
11
18
|
context.log.emit("output.ready", {
|
|
12
19
|
kind: "report",
|
|
@@ -15,17 +22,81 @@ export function publishRetainedOutput(context, succeeded) {
|
|
|
15
22
|
});
|
|
16
23
|
}
|
|
17
24
|
catch (error) {
|
|
25
|
+
status(context, "Retained output could not be saved", `Retained output could not be saved: ${String(error)}`, {
|
|
26
|
+
retained_output_failed: true,
|
|
27
|
+
});
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (failed) {
|
|
18
31
|
try {
|
|
19
|
-
context
|
|
20
|
-
type: "status",
|
|
21
|
-
title: "Retained output could not be saved",
|
|
22
|
-
text: redactSecrets(`Retained output could not be saved: ${String(error)}`),
|
|
23
|
-
payload: { retained_output_failed: true },
|
|
24
|
-
});
|
|
32
|
+
referenceFromFailure(context, path);
|
|
25
33
|
}
|
|
26
|
-
catch {
|
|
27
|
-
|
|
34
|
+
catch (error) {
|
|
35
|
+
status(context, "Failure record not updated", `The failure record could not name ${path}: ${String(error)}; the original record is unchanged.`);
|
|
28
36
|
}
|
|
29
37
|
}
|
|
38
|
+
return path;
|
|
39
|
+
}
|
|
40
|
+
/** A failure record's message and references once they name the retained
|
|
41
|
+
* output at `path`. The notice that the file holds retained text, not an
|
|
42
|
+
* accepted final answer, follows the message's first line (the cause route
|
|
43
|
+
* health groups by) and precedes the rest of the original message, such as its
|
|
44
|
+
* account attempts, so a reader that bounds the message after a cause line of
|
|
45
|
+
* ordinary length still meets it; a very long cause line can still push it past
|
|
46
|
+
* such a bound. The original text is otherwise unchanged around it, and
|
|
47
|
+
* `logRefs` (run-relative, beside `runDir`) is the address. Only the failure
|
|
48
|
+
* record carries it: the terminal's event error and summaries keep their own
|
|
49
|
+
* text. */
|
|
50
|
+
export function namingRetainedOutput(safeMessage, logRefs, path) {
|
|
51
|
+
const notice = `The assistant text this run retained (not an accepted final answer) is in ${path}.`;
|
|
52
|
+
const lineEnd = safeMessage.search(/\r?\n/);
|
|
53
|
+
const cause = lineEnd < 0 ? safeMessage : safeMessage.slice(0, lineEnd);
|
|
54
|
+
const rest = lineEnd < 0 ? "" : safeMessage.slice(lineEnd);
|
|
55
|
+
return {
|
|
56
|
+
safeMessage: safeMessage ? `${cause}\n\n${notice}${rest}` : notice,
|
|
57
|
+
logRefs: logRefs.includes(path) ? [...logRefs] : [...logRefs, path],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The failure record the terminal wrote before this publication names the
|
|
62
|
+
* written projection (`namingRetainedOutput`), once. The record is replaced
|
|
63
|
+
* atomically, through a temporary file and a rename as the projection itself is
|
|
64
|
+
* published, so a failed write or rename leaves the original record whole.
|
|
65
|
+
*/
|
|
66
|
+
function referenceFromFailure(context, path) {
|
|
67
|
+
const file = join(context.paths.finalDir, "failure.yaml");
|
|
68
|
+
const failure = context.store.readYaml(file);
|
|
69
|
+
if (!failure || typeof failure !== "object" || Array.isArray(failure))
|
|
70
|
+
return;
|
|
71
|
+
const logRefs = Array.isArray(failure["logRefs"])
|
|
72
|
+
? failure["logRefs"].filter((ref) => typeof ref === "string")
|
|
73
|
+
: [];
|
|
74
|
+
if (logRefs.includes(path))
|
|
75
|
+
return;
|
|
76
|
+
const message = typeof failure["safeMessage"] === "string" ? failure["safeMessage"] : "";
|
|
77
|
+
const temporary = join(context.paths.finalDir, `.failure-${randomUUID()}.tmp`);
|
|
78
|
+
try {
|
|
79
|
+
context.store.writeYaml(temporary, {
|
|
80
|
+
...failure,
|
|
81
|
+
...namingRetainedOutput(message, logRefs, path),
|
|
82
|
+
});
|
|
83
|
+
renameSync(temporary, file);
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
rmSync(temporary, { force: true });
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function status(context, title, text, payload) {
|
|
90
|
+
try {
|
|
91
|
+
context.log.emit("harness.event", {
|
|
92
|
+
type: "status",
|
|
93
|
+
title,
|
|
94
|
+
text: redactSecrets(text),
|
|
95
|
+
...(payload ? { payload } : {}),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
/* Preserve the original terminal even when its log is unwritable. */
|
|
100
|
+
}
|
|
30
101
|
}
|
|
31
102
|
//# sourceMappingURL=retainedOutput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retainedOutput.js","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD
|
|
1
|
+
{"version":3,"file":"retainedOutput.js","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* How the reviewer panels read a reviewer's live model inventory: the explicit
|
|
3
|
-
* panel's read with one retry and the automatic panel's zero-cost read.
|
|
4
|
-
* answer keeps the typed catalog read behind it, whose credential the review
|
|
5
|
-
* request then sends (#393 x #147): no second read, the same checked key.
|
|
3
|
+
* panel's read with one retry and the automatic panel's zero-cost read.
|
|
6
4
|
*/
|
|
7
5
|
import type { AuthPreference, CredentialProfile, ModelInventoryAbsence } from "@claudexor/schema";
|
|
8
|
-
import type { HarnessAdapter, ModelCatalogFailure
|
|
6
|
+
import type { HarnessAdapter, ModelCatalogFailure } from "@claudexor/core";
|
|
9
7
|
export type AutoModelInventory = {
|
|
10
8
|
status: "available";
|
|
11
9
|
ids: Set<string>;
|
|
12
10
|
source: "api" | "manifest";
|
|
13
11
|
catalogRead: boolean;
|
|
14
|
-
/** The typed read behind the ids, which carries the key it checked. */
|
|
15
|
-
read?: ModelCatalogObservation;
|
|
16
12
|
} | {
|
|
17
13
|
status: "unknown";
|
|
18
14
|
reason: string;
|
|
@@ -39,9 +35,7 @@ export declare function listModelIdsWithRetry(adapter: HarnessAdapter, input: {
|
|
|
39
35
|
}): Promise<{
|
|
40
36
|
ids: Set<string>;
|
|
41
37
|
catalogRead: boolean;
|
|
42
|
-
read?: ModelCatalogObservation;
|
|
43
38
|
} | {
|
|
44
39
|
failure: ModelCatalogFailure;
|
|
45
|
-
read: ModelCatalogObservation;
|
|
46
40
|
}>;
|
|
47
41
|
//# sourceMappingURL=reviewerInventory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewerInventory.d.ts","sourceRoot":"","sources":["../src/reviewerInventory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reviewerInventory.d.ts","sourceRoot":"","sources":["../src/reviewerInventory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAU3E,MAAM,MAAM,kBAAkB,GAC1B;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,UAAU,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED;;;;;;;;;8DAS8D;AAC9D,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GACA,OAAO,CAAC;IAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAgCxF"}
|
|
@@ -19,7 +19,6 @@ export async function readAutoModelInventory(adapter, input) {
|
|
|
19
19
|
ids,
|
|
20
20
|
source: "api",
|
|
21
21
|
catalogRead: !read.failSoft,
|
|
22
|
-
...(read.failSoft ? {} : { read }),
|
|
23
22
|
};
|
|
24
23
|
}
|
|
25
24
|
catch (error) {
|
|
@@ -48,12 +47,12 @@ export async function listModelIdsWithRetry(adapter, input) {
|
|
|
48
47
|
});
|
|
49
48
|
if (read.status === "unavailable") {
|
|
50
49
|
if (attempt === 1)
|
|
51
|
-
return { failure: read.failure
|
|
50
|
+
return { failure: read.failure };
|
|
52
51
|
throw new Error(modelCatalogFailureText(read.failure));
|
|
53
52
|
}
|
|
54
53
|
const ids = new Set(read.models.map((m) => m.id));
|
|
55
54
|
if (!read.failSoft)
|
|
56
|
-
return { ids, catalogRead: true
|
|
55
|
+
return { ids, catalogRead: true };
|
|
57
56
|
if (ids.size === 0) {
|
|
58
57
|
if (input.absence === "advisory")
|
|
59
58
|
return { ids, catalogRead: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewerInventory.js","sourceRoot":"","sources":["../src/reviewerInventory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reviewerInventory.js","sourceRoot":"","sources":["../src/reviewerInventory.ts"],"names":[],"mappings":"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"}
|
package/dist/reviewerPanel.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { AuthPreference, ControlReviewerPanelEntry, CredentialProfile, EffortHint, ProviderFamily } from "@claudexor/schema";
|
|
20
20
|
import type { HarnessAdapter } from "@claudexor/core";
|
|
21
|
-
import type
|
|
21
|
+
import { type ReviewerSpec } from "@claudexor/review";
|
|
22
22
|
interface PanelHarnessSettings {
|
|
23
23
|
enabled?: boolean;
|
|
24
24
|
default_model?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EACzB,iBAAiB,EACjB,UAAU,EAEV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EACzB,iBAAiB,EACjB,UAAU,EAEV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAStD,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAS7F,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACzD,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,cAAc,CAAC;QAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KAC1C,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxC;;sEAEkE;IAClE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAUD,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAoPzB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,0BAA+B,GACzC,OAAO,CAAC,YAAY,EAAE,CAAC,CA+KzB"}
|
package/dist/reviewerPanel.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ConformanceReport, estimateEffectiveAuthRoute, knownModelIdsForRoute, } from "@claudexor/schema";
|
|
2
2
|
import { HarnessUnavailableError, ModelCatalogUnavailableError, hasModelInventoryForRoute, validateModel, validateModelOnUnreadCatalog, } from "@claudexor/core";
|
|
3
3
|
import { WorkspaceManager } from "@claudexor/workspace";
|
|
4
|
+
import { CANNOT_READ_EVIDENCE, admitFileReader } from "@claudexor/review";
|
|
4
5
|
import { reviewerEffortVerdict } from "./reviewerEffort.js";
|
|
5
6
|
import { listModelIdsWithRetry, readAutoModelInventory, } from "./reviewerInventory.js";
|
|
6
7
|
import { safeErrorMessage } from "./runSupport.js";
|
|
@@ -100,6 +101,10 @@ export async function resolveExplicitReviewerPanel(deps, panel) {
|
|
|
100
101
|
if (manifest.kind === "fake") {
|
|
101
102
|
throw new HarnessUnavailableError(`reviewer harness '${entry.harness}' is a fake harness and cannot be used in reviewer panels`);
|
|
102
103
|
}
|
|
104
|
+
// After the account and any doctor probe above; before the doctor verdict and any model check.
|
|
105
|
+
if (!admitFileReader(adapter, manifest)) {
|
|
106
|
+
throw new HarnessUnavailableError(`reviewer harness '${entry.harness}' ${CANNOT_READ_EVIDENCE}`);
|
|
107
|
+
}
|
|
103
108
|
if (status.status !== "ok") {
|
|
104
109
|
const reason = status.reasons.length > 0 ? `: ${status.reasons.join("; ")}` : "";
|
|
105
110
|
throw new HarnessUnavailableError(`reviewer harness '${entry.harness}' is not doctor-ok${reason}`);
|
|
@@ -196,7 +201,6 @@ export async function resolveExplicitReviewerPanel(deps, panel) {
|
|
|
196
201
|
authPreference,
|
|
197
202
|
processingPreference: entry.processingPreference,
|
|
198
203
|
...(deps.resolveReviewerProfile ? { credentialProfile, profilePinned } : {}),
|
|
199
|
-
catalog: requestedModel ? modelInventory.get(inventoryKey)?.read : undefined,
|
|
200
204
|
});
|
|
201
205
|
break;
|
|
202
206
|
}
|
|
@@ -239,6 +243,10 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
|
|
|
239
243
|
discloseAutoSkip(deps, adapter.id, "fake harness");
|
|
240
244
|
continue;
|
|
241
245
|
}
|
|
246
|
+
if (!admitFileReader(adapter, m)) {
|
|
247
|
+
discloseAutoSkip(deps, adapter.id, `it ${CANNOT_READ_EVIDENCE}`);
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
242
250
|
if (seen.has(m.provider_family))
|
|
243
251
|
continue;
|
|
244
252
|
// Per-harness settings gate reviewers before doctor/model probes: a disabled
|
|
@@ -303,7 +311,6 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
|
|
|
303
311
|
// STRICT: the auto panel skips a family whose truth source does not
|
|
304
312
|
// list the model, at zero cost. It does NOT inherit the explicit panel's
|
|
305
313
|
// advisory forward (INV-104): nobody asked for this family by name.
|
|
306
|
-
let catalog;
|
|
307
314
|
if (requestedModel) {
|
|
308
315
|
const route = credentialProfile
|
|
309
316
|
? credentialProfileAuthRoute(credentialProfile)
|
|
@@ -333,7 +340,6 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
|
|
|
333
340
|
discloseAutoSkip(deps, adapter.id, inventory.reason);
|
|
334
341
|
continue familyLoop;
|
|
335
342
|
}
|
|
336
|
-
catalog = inventory.read;
|
|
337
343
|
// Locked: automatic selection never spawns on a guess, whatever the
|
|
338
344
|
// harness declares, so absence is judged authoritative here.
|
|
339
345
|
const check = validateModel(requestedModel, [...inventory.ids], inventory.source, "authoritative", {
|
|
@@ -371,7 +377,6 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
|
|
|
371
377
|
requestedEffort,
|
|
372
378
|
authPreference,
|
|
373
379
|
...(deps.resolveReviewerProfile ? { credentialProfile, profilePinned: false } : {}),
|
|
374
|
-
catalog,
|
|
375
380
|
});
|
|
376
381
|
break;
|
|
377
382
|
}
|