@claudexor/orchestrator 4.8.2 → 5.0.1
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-pool.d.ts +4 -1
- package/dist/account-pool.d.ts.map +1 -1
- package/dist/account-pool.js +25 -19
- package/dist/account-pool.js.map +1 -1
- package/dist/account-resolution.d.ts +1 -4
- package/dist/account-resolution.d.ts.map +1 -1
- package/dist/account-resolution.js +19 -42
- package/dist/account-resolution.js.map +1 -1
- package/dist/attemptOutputMarkers.d.ts +7 -0
- package/dist/attemptOutputMarkers.d.ts.map +1 -1
- package/dist/attemptOutputMarkers.js +1 -1
- package/dist/attemptOutputMarkers.js.map +1 -1
- package/dist/attemptTelemetry.d.ts +4 -1
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +9 -26
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/candidateEvidence.d.ts +12 -9
- package/dist/candidateEvidence.d.ts.map +1 -1
- package/dist/candidateEvidence.js +38 -13
- package/dist/candidateEvidence.js.map +1 -1
- package/dist/candidateOutputs.d.ts +44 -22
- package/dist/candidateOutputs.d.ts.map +1 -1
- package/dist/candidateOutputs.js +116 -72
- package/dist/candidateOutputs.js.map +1 -1
- package/dist/candidateReview.d.ts.map +1 -1
- package/dist/candidateReview.js +44 -8
- package/dist/candidateReview.js.map +1 -1
- package/dist/candidateTerminals.d.ts +1 -0
- package/dist/candidateTerminals.d.ts.map +1 -1
- package/dist/candidateTerminals.js +11 -6
- package/dist/candidateTerminals.js.map +1 -1
- package/dist/candidateWorkProduct.d.ts +2 -1
- package/dist/candidateWorkProduct.d.ts.map +1 -1
- package/dist/candidateWorkProduct.js +6 -3
- package/dist/candidateWorkProduct.js.map +1 -1
- package/dist/captureRefusal.d.ts +29 -1
- package/dist/captureRefusal.d.ts.map +1 -1
- package/dist/captureRefusal.js +114 -8
- package/dist/captureRefusal.js.map +1 -1
- package/dist/continuation-chain.test-support.d.ts +473 -0
- package/dist/continuation-chain.test-support.d.ts.map +1 -0
- package/dist/continuation-chain.test-support.js +206 -0
- package/dist/continuation-chain.test-support.js.map +1 -0
- package/dist/continuation-custody.d.ts +4 -1
- package/dist/continuation-custody.d.ts.map +1 -1
- package/dist/continuation-custody.js +68 -28
- package/dist/continuation-custody.js.map +1 -1
- package/dist/continuation-evidence-io.d.ts +30 -4
- package/dist/continuation-evidence-io.d.ts.map +1 -1
- package/dist/continuation-evidence-io.js +162 -46
- package/dist/continuation-evidence-io.js.map +1 -1
- package/dist/continuation-evidence.d.ts +40 -3
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +85 -11
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-input.d.ts +10 -1
- package/dist/continuation-input.d.ts.map +1 -1
- package/dist/continuation-input.js +21 -20
- package/dist/continuation-input.js.map +1 -1
- package/dist/continuation-later.d.ts +30 -0
- package/dist/continuation-later.d.ts.map +1 -0
- package/dist/continuation-later.js +108 -0
- package/dist/continuation-later.js.map +1 -0
- package/dist/continue-from.d.ts +4 -3
- package/dist/continue-from.d.ts.map +1 -1
- package/dist/continue-from.js +62 -26
- package/dist/continue-from.js.map +1 -1
- package/dist/continuity-notice.d.ts +3 -1
- package/dist/continuity-notice.d.ts.map +1 -1
- package/dist/continuity-notice.js +3 -1
- package/dist/continuity-notice.js.map +1 -1
- package/dist/continuity-terminal.d.ts +16 -0
- package/dist/continuity-terminal.d.ts.map +1 -1
- package/dist/continuity-terminal.js +21 -0
- package/dist/continuity-terminal.js.map +1 -1
- package/dist/continuity.d.ts +1 -1
- package/dist/continuity.d.ts.map +1 -1
- package/dist/contract-gates.d.ts.map +1 -1
- package/dist/contract-gates.js +11 -6
- package/dist/contract-gates.js.map +1 -1
- package/dist/credential-cooldown.d.ts +2 -1
- package/dist/credential-cooldown.d.ts.map +1 -1
- package/dist/credential-cooldown.js +16 -7
- package/dist/credential-cooldown.js.map +1 -1
- package/dist/credential-preflight.d.ts.map +1 -1
- package/dist/credential-preflight.js +10 -7
- package/dist/credential-preflight.js.map +1 -1
- package/dist/credential-profile-rotation.d.ts +10 -3
- package/dist/credential-profile-rotation.d.ts.map +1 -1
- package/dist/credential-profile-rotation.js +28 -26
- package/dist/credential-profile-rotation.js.map +1 -1
- package/dist/deepScanReducer.d.ts +0 -3
- package/dist/deepScanReducer.d.ts.map +1 -1
- package/dist/deepScanReducer.js +22 -26
- package/dist/deepScanReducer.js.map +1 -1
- package/dist/delegationFailure.d.ts +34 -5
- package/dist/delegationFailure.d.ts.map +1 -1
- package/dist/delegationFailure.js +6 -4
- package/dist/delegationFailure.js.map +1 -1
- package/dist/delegationToolEvidence.d.ts +2 -0
- package/dist/delegationToolEvidence.d.ts.map +1 -1
- package/dist/delegationToolEvidence.js +21 -0
- package/dist/delegationToolEvidence.js.map +1 -1
- package/dist/diffReview.d.ts +1 -8
- package/dist/diffReview.d.ts.map +1 -1
- package/dist/diffReview.js +3 -18
- package/dist/diffReview.js.map +1 -1
- package/dist/directoryCandidate.d.ts +1 -1
- package/dist/directoryCandidate.d.ts.map +1 -1
- package/dist/directoryCandidate.js +13 -13
- package/dist/directoryCandidate.js.map +1 -1
- package/dist/inrun-continuity-carrier.d.ts +11 -1
- package/dist/inrun-continuity-carrier.d.ts.map +1 -1
- package/dist/inrun-continuity-carrier.js +32 -10
- package/dist/inrun-continuity-carrier.js.map +1 -1
- package/dist/inrun-continuity-types.d.ts +17 -4
- package/dist/inrun-continuity-types.d.ts.map +1 -1
- package/dist/inrun-continuity.d.ts +8 -3
- package/dist/inrun-continuity.d.ts.map +1 -1
- package/dist/inrun-continuity.js +41 -37
- package/dist/inrun-continuity.js.map +1 -1
- package/dist/inrun-continuity.test-support.d.ts +61 -4
- package/dist/inrun-continuity.test-support.d.ts.map +1 -1
- package/dist/inrun-continuity.test-support.js +12 -2
- package/dist/inrun-continuity.test-support.js.map +1 -1
- package/dist/modelGovernance.d.ts +87 -9
- package/dist/modelGovernance.d.ts.map +1 -1
- package/dist/modelGovernance.js +110 -15
- package/dist/modelGovernance.js.map +1 -1
- package/dist/orchestrator-credentials.d.ts +9 -4
- package/dist/orchestrator-credentials.d.ts.map +1 -1
- package/dist/orchestrator-credentials.js +14 -6
- package/dist/orchestrator-credentials.js.map +1 -1
- package/dist/orchestrator.d.ts +0 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +247 -223
- package/dist/orchestrator.js.map +1 -1
- package/dist/planFinalize.d.ts.map +1 -1
- package/dist/planFinalize.js +3 -7
- package/dist/planFinalize.js.map +1 -1
- package/dist/planRun.js +2 -2
- package/dist/planRun.js.map +1 -1
- package/dist/plannerAttempt.d.ts +0 -2
- package/dist/plannerAttempt.d.ts.map +1 -1
- package/dist/plannerAttempt.js +64 -30
- package/dist/plannerAttempt.js.map +1 -1
- package/dist/policyFindings.d.ts +3 -0
- package/dist/policyFindings.d.ts.map +1 -1
- package/dist/policyFindings.js +11 -1
- package/dist/policyFindings.js.map +1 -1
- package/dist/pool-attempt-evidence.d.ts +1 -1
- package/dist/pool-attempt-evidence.d.ts.map +1 -1
- package/dist/pool-attempt-evidence.js +1 -1
- package/dist/pool-attempt-evidence.js.map +1 -1
- package/dist/primary-divergence.d.ts +7 -2
- package/dist/primary-divergence.d.ts.map +1 -1
- package/dist/primary-divergence.js +13 -5
- package/dist/primary-divergence.js.map +1 -1
- package/dist/quota-refusal-scope.d.ts +39 -1
- package/dist/quota-refusal-scope.d.ts.map +1 -1
- package/dist/quota-refusal-scope.js +95 -1
- package/dist/quota-refusal-scope.js.map +1 -1
- package/dist/readonlyTerminals.d.ts +0 -1
- package/dist/readonlyTerminals.d.ts.map +1 -1
- package/dist/readonlyTerminals.js +5 -3
- package/dist/readonlyTerminals.js.map +1 -1
- package/dist/requestRequirements.d.ts +23 -0
- package/dist/requestRequirements.d.ts.map +1 -1
- package/dist/requestRequirements.js +22 -0
- package/dist/requestRequirements.js.map +1 -1
- package/dist/resultNotice.d.ts +14 -0
- package/dist/resultNotice.d.ts.map +1 -0
- package/dist/resultNotice.js +21 -0
- package/dist/resultNotice.js.map +1 -0
- package/dist/reviewerInventory.d.ts +47 -0
- package/dist/reviewerInventory.d.ts.map +1 -0
- package/dist/reviewerInventory.js +74 -0
- package/dist/reviewerInventory.js.map +1 -0
- package/dist/reviewerPanel.d.ts.map +1 -1
- package/dist/reviewerPanel.js +37 -60
- package/dist/reviewerPanel.js.map +1 -1
- package/dist/routing-failure.d.ts +2 -1
- package/dist/routing-failure.d.ts.map +1 -1
- package/dist/routing-failure.js +2 -0
- package/dist/routing-failure.js.map +1 -1
- package/dist/runAdmission.d.ts.map +1 -1
- package/dist/runAdmission.js +1 -14
- package/dist/runAdmission.js.map +1 -1
- package/dist/runEventLog.js +2 -2
- package/dist/runEventLog.js.map +1 -1
- package/dist/runFactsBuilder.d.ts.map +1 -1
- package/dist/runFactsBuilder.js +18 -10
- package/dist/runFactsBuilder.js.map +1 -1
- package/dist/runFactsDeliverable.d.ts.map +1 -1
- package/dist/runFactsDeliverable.js +7 -1
- package/dist/runFactsDeliverable.js.map +1 -1
- package/dist/runSupport.d.ts +5 -10
- package/dist/runSupport.d.ts.map +1 -1
- package/dist/runSupport.js +38 -40
- package/dist/runSupport.js.map +1 -1
- package/dist/runTerminalResults.d.ts +9 -1
- package/dist/runTerminalResults.d.ts.map +1 -1
- package/dist/runTerminalResults.js +27 -5
- package/dist/runTerminalResults.js.map +1 -1
- package/dist/savedCandidate.d.ts +43 -0
- package/dist/savedCandidate.d.ts.map +1 -0
- package/dist/savedCandidate.js +88 -0
- package/dist/savedCandidate.js.map +1 -0
- package/dist/secretDiff.d.ts +85 -46
- package/dist/secretDiff.d.ts.map +1 -1
- package/dist/secretDiff.js +123 -126
- package/dist/secretDiff.js.map +1 -1
- package/dist/task-contract-builder.d.ts.map +1 -1
- package/dist/task-contract-builder.js +5 -7
- package/dist/task-contract-builder.js.map +1 -1
- package/dist/workReportEnvelope.d.ts.map +1 -1
- package/dist/workReportEnvelope.js +4 -16
- package/dist/workReportEnvelope.js.map +1 -1
- package/package.json +17 -17
- package/dist/persistedPatch.d.ts +0 -55
- package/dist/persistedPatch.d.ts.map +0 -1
- package/dist/persistedPatch.js +0 -132
- package/dist/persistedPatch.js.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { GitObjectResult, PatchViewUnavailable } from "@claudexor/schema";
|
|
2
|
+
import { type UnavailableSavedFile } from "@claudexor/workspace";
|
|
3
|
+
/** A copy of what an unrendered result saved, for as long as its reader needs it. */
|
|
4
|
+
export interface UnrenderedCandidateFiles {
|
|
5
|
+
dir: string;
|
|
6
|
+
/** Paths the result holds that could not be copied, each with the copy's typed
|
|
7
|
+
* fault: named, never read as deleted. */
|
|
8
|
+
unavailable: UnavailableSavedFile[];
|
|
9
|
+
/** The copy failed and holds none of the result's files (each is named): `dir` may
|
|
10
|
+
* be gone, unlistable, or hold what the failed copy could not remove, and no reader
|
|
11
|
+
* reads it. */
|
|
12
|
+
failed: boolean;
|
|
13
|
+
/** Never throws: a copy that cannot be removed stays, with a best-effort record
|
|
14
|
+
* beside it (see `removeCopy`). */
|
|
15
|
+
dispose(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
type UnrenderedRun = {
|
|
18
|
+
result?: GitObjectResult;
|
|
19
|
+
patchViewUnavailable?: PatchViewUnavailable;
|
|
20
|
+
changedPaths?: string[];
|
|
21
|
+
reviewCwd?: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The changed files of a result with no patch view, copied from its saved candidate
|
|
25
|
+
* tree. The workspace is no source: a configured gate has run there since the
|
|
26
|
+
* capture and may have rewritten an output. Null without a saved result (nothing
|
|
27
|
+
* to read); a copy that fails names every changed path it could not provide.
|
|
28
|
+
*/
|
|
29
|
+
export declare function materializeUnrenderedCandidate(run: UnrenderedRun, dir: string, projectRoot: string, repo?: string | undefined): Promise<UnrenderedCandidateFiles | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Synthesis reads each unrendered candidate from such a copy under the run directory,
|
|
32
|
+
* kept until synthesis ends; other candidates are given as they are.
|
|
33
|
+
*/
|
|
34
|
+
export declare function savedForSynthesis<Run extends UnrenderedRun & {
|
|
35
|
+
attemptId: string;
|
|
36
|
+
}>(runs: readonly Run[], runDir: string, projectRoot: string): Promise<{
|
|
37
|
+
candidates: (Run & {
|
|
38
|
+
savedFiles?: UnrenderedCandidateFiles | null;
|
|
39
|
+
})[];
|
|
40
|
+
dispose(): Promise<void>;
|
|
41
|
+
}>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=savedCandidate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savedCandidate.d.ts","sourceRoot":"","sources":["../src/savedCandidate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAExF,qFAAqF;AACrF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ;8CAC0C;IAC1C,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC;;mBAEe;IACf,MAAM,EAAE,OAAO,CAAC;IAChB;uCACmC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAyBF;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,IAAI,qBAAgB,GACnB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAgB1C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,SAAS,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EACvF,IAAI,EAAE,SAAS,GAAG,EAAE,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,UAAU,EAAE,CAAC,GAAG,GAAG;QAAE,UAAU,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IACvE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC,CA+BD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { rm } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { redactSecrets, writeJson } from "@claudexor/util";
|
|
4
|
+
import { materializeSavedFiles } from "@claudexor/workspace";
|
|
5
|
+
/**
|
|
6
|
+
* Remove a copy. One that cannot be removed (a busy file, a disk that fails, a
|
|
7
|
+
* directory that cannot be listed) stays where it is, and a best-effort diagnostic,
|
|
8
|
+
* `<dir>.cleanup-error.json`, says why. When that record cannot be written whole
|
|
9
|
+
* either (a full disk), the leftover stays with its cleanup unconfirmed. Neither
|
|
10
|
+
* replaces its reader's answer.
|
|
11
|
+
*/
|
|
12
|
+
async function removeCopy(dir) {
|
|
13
|
+
try {
|
|
14
|
+
await rm(dir, { recursive: true, force: true });
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
try {
|
|
18
|
+
writeJson(`${dir}.cleanup-error.json`, {
|
|
19
|
+
saved_copy_cleanup: "failed",
|
|
20
|
+
dir,
|
|
21
|
+
error: redactSecrets(error instanceof Error ? error.message : String(error)),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// The record failed too: the copy stays, its cleanup unconfirmed; the answer stands.
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The changed files of a result with no patch view, copied from its saved candidate
|
|
31
|
+
* tree. The workspace is no source: a configured gate has run there since the
|
|
32
|
+
* capture and may have rewritten an output. Null without a saved result (nothing
|
|
33
|
+
* to read); a copy that fails names every changed path it could not provide.
|
|
34
|
+
*/
|
|
35
|
+
export async function materializeUnrenderedCandidate(run, dir, projectRoot, repo = run.reviewCwd) {
|
|
36
|
+
if (!run.result || !repo)
|
|
37
|
+
return null;
|
|
38
|
+
const saved = await materializeSavedFiles({
|
|
39
|
+
repo,
|
|
40
|
+
projectRoot,
|
|
41
|
+
result: run.result,
|
|
42
|
+
changedPaths: run.changedPaths ?? [],
|
|
43
|
+
into: dir,
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
dir,
|
|
47
|
+
unavailable: saved.unavailable,
|
|
48
|
+
// A copy is all or nothing (`SavedFiles`): one that names a file wrote none.
|
|
49
|
+
failed: saved.written.length === 0 && saved.unavailable.length > 0,
|
|
50
|
+
dispose: () => removeCopy(dir),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Synthesis reads each unrendered candidate from such a copy under the run directory,
|
|
55
|
+
* kept until synthesis ends; other candidates are given as they are.
|
|
56
|
+
*/
|
|
57
|
+
export async function savedForSynthesis(runs, runDir, projectRoot) {
|
|
58
|
+
const copies = [];
|
|
59
|
+
const candidates = [];
|
|
60
|
+
const dispose = async () => {
|
|
61
|
+
for (const copy of copies.splice(0))
|
|
62
|
+
await copy.dispose();
|
|
63
|
+
};
|
|
64
|
+
try {
|
|
65
|
+
for (const run of runs) {
|
|
66
|
+
if (!run.patchViewUnavailable) {
|
|
67
|
+
candidates.push(run);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const savedFiles = await materializeUnrenderedCandidate(run, join(runDir, "synthesis-saved-files", run.attemptId), projectRoot);
|
|
71
|
+
if (savedFiles)
|
|
72
|
+
copies.push(savedFiles);
|
|
73
|
+
candidates.push({ ...run, savedFiles });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
await dispose();
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
candidates,
|
|
82
|
+
dispose: async () => {
|
|
83
|
+
await dispose();
|
|
84
|
+
await removeCopy(join(runDir, "synthesis-saved-files"));
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=savedCandidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savedCandidate.js","sourceRoot":"","sources":["../src/savedCandidate.ts"],"names":[],"mappings":"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"}
|
package/dist/secretDiff.d.ts
CHANGED
|
@@ -1,80 +1,119 @@
|
|
|
1
1
|
import type { ArtifactStore } from "@claudexor/artifact-store";
|
|
2
|
-
import {
|
|
3
|
-
import type { HarnessEvent, WorkspaceEnvelope } from "@claudexor/schema";
|
|
2
|
+
import type { ActiveTaskContract, CaptureChangeInventory, GitDeliveryPair, GitObjectResult, PatchViewUnavailable, WorkspaceEnvelope } from "@claudexor/schema";
|
|
4
3
|
import { type WorkspaceManager, type CapturedWorkspaceDiff } from "@claudexor/workspace";
|
|
5
|
-
import {
|
|
4
|
+
import { type ProducedOmission } from "./candidateOutputs.js";
|
|
6
5
|
import { type CaptureRefusal } from "./captureRefusal.js";
|
|
7
6
|
export { captureInspectionActions, captureRefusalNextActions, type CaptureRefusal, } from "./captureRefusal.js";
|
|
8
7
|
/** Shared by post-try attribution and final-only capture. Errors remain workspace
|
|
9
8
|
* evidence, allowing answer assembly and observed cost to finish normally. */
|
|
10
|
-
export declare function captureCandidateDiff(wsm: WorkspaceManager, envelope: WorkspaceEnvelope
|
|
9
|
+
export declare function captureCandidateDiff(wsm: WorkspaceManager, envelope: WorkspaceEnvelope,
|
|
10
|
+
/** The run directory: while it exists, the result's objects stay in the store. */
|
|
11
|
+
owner?: string): Promise<CapturedWorkspaceDiff>;
|
|
11
12
|
/** An incomplete observation is unknown, never an empty exact patch. */
|
|
12
13
|
export declare function capturedDiff(capture: CapturedWorkspaceDiff | undefined): string | undefined;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
export { hasCandidateChanges } from "./candidateEvidence.js";
|
|
15
|
+
/** A try left the tree as it found it: never true for an unknown (incomplete) capture. */
|
|
16
|
+
export declare function captureUnchanged(capture: CapturedWorkspaceDiff | undefined): boolean;
|
|
17
|
+
/** What a delivery receives: the object result with its rendered view, or a legacy patch. */
|
|
18
|
+
export declare function deliverableOf(run: Pick<CandidateCapture, "diff" | "result" | "patchViewUnavailable">): string | {
|
|
19
|
+
result: GitObjectResult;
|
|
20
|
+
renderedPatch: string | null;
|
|
21
|
+
};
|
|
22
|
+
/** Identity of a capture for stability and stuck checks: digest v1, or the legacy patch digest. */
|
|
23
|
+
export declare function captureIdentity(capture: Pick<CandidateCapture, "diff" | "result">): string;
|
|
24
|
+
/** The revert handles of one run: Git reads where it executed; its project keeps them. */
|
|
25
|
+
export declare function revertAnchors(execRoot: string, projectRoot: string): {
|
|
26
|
+
/** An in-place turn's pair, from its pre/post snapshots. */
|
|
27
|
+
turn: (preTurnSha: string | null, postTurnSha: string | null) => Promise<string | null>;
|
|
28
|
+
/** After a protected adoption: the actual delivery pair when one was written,
|
|
29
|
+
* else the legacy exact-patch anchor. */
|
|
30
|
+
after: (run: Pick<CandidateCapture, "diff" | "result">, delivered: {
|
|
31
|
+
deliveryPair?: GitDeliveryPair;
|
|
32
|
+
}) => Promise<string | null>;
|
|
33
|
+
};
|
|
34
|
+
/** Diffstat of a work product: counted from the view, or files only for an unrendered result. */
|
|
35
|
+
export declare function resultDiffStats(run: Pick<CandidateCapture, "diff" | "patchViewUnavailable" | "changedPaths">): {
|
|
36
|
+
paths: string[];
|
|
37
|
+
additions: number | null;
|
|
38
|
+
deletions: number | null;
|
|
39
|
+
};
|
|
40
|
+
/** Object-backed facts of a Git capture (#535), carried from capture to every consumer. */
|
|
41
|
+
export interface CandidateObjectFacts {
|
|
42
|
+
/** The exact candidate as Git objects: canonical whenever present. */
|
|
43
|
+
result?: GitObjectResult;
|
|
44
|
+
/** Present when no patch view was rendered; the result stays exact. */
|
|
45
|
+
patchViewUnavailable?: PatchViewUnavailable;
|
|
46
|
+
inventory?: CaptureChangeInventory;
|
|
47
|
+
/** Every changed path of an unrendered result, and those whose old side existed. */
|
|
48
|
+
changedPaths?: string[];
|
|
49
|
+
existingPaths?: string[];
|
|
24
50
|
}
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
51
|
+
/** The object facts of a capture, unchanged. */
|
|
52
|
+
export declare function objectFactsOf(captured: CandidateObjectFacts): CandidateObjectFacts;
|
|
53
|
+
export interface CandidateCapture extends CandidateObjectFacts {
|
|
54
|
+
/** The EXACT rendered patch view of `result` ("" when unrendered), or a legacy
|
|
55
|
+
* exact patch when no object result exists: review, synthesis and the saved
|
|
56
|
+
* copy read it; apply, digests and gates read `result` when present. */
|
|
30
57
|
diff: string;
|
|
31
|
-
/** The saved copy, present only when it differs from the exact patch. */
|
|
32
|
-
persistedDiff?: string;
|
|
33
|
-
secretLike?: SecretLikeFinding;
|
|
34
58
|
captureRefusal?: CaptureRefusal;
|
|
35
|
-
/** Set when
|
|
36
|
-
*
|
|
59
|
+
/** Set when an incomplete isolated capture kept its envelope: this is where
|
|
60
|
+
* the bytes still are. */
|
|
37
61
|
exactBytesRetainedAt?: string;
|
|
38
|
-
/** Untracked nested repositories the capture left out of `diff
|
|
39
|
-
*
|
|
40
|
-
* every other disclosed path). */
|
|
62
|
+
/** Untracked nested repositories the capture left out of `diff`; the attempt
|
|
63
|
+
* record and the final work product disclose them. */
|
|
41
64
|
excludedNestedRepositories?: string[];
|
|
42
65
|
}
|
|
66
|
+
/** The attempt artifact writer's view of a capture (the exact patch or its typed absence). */
|
|
67
|
+
export declare function attemptPatchInput(capture: CandidateCapture): {
|
|
68
|
+
diff: string;
|
|
69
|
+
patchViewUnavailable?: {
|
|
70
|
+
reason: "exceeds_view_limit" | "render_failed";
|
|
71
|
+
limitBytes: number;
|
|
72
|
+
estimatedBytes: number | null;
|
|
73
|
+
} | undefined;
|
|
74
|
+
changedPaths?: string[] | undefined;
|
|
75
|
+
};
|
|
43
76
|
/** Disclosure fields of one attempt record (`attempt.yaml`). */
|
|
44
77
|
export declare function attemptDisclosure(capture: CandidateCapture): Record<string, unknown>;
|
|
45
78
|
/**
|
|
46
|
-
* Capture a candidate's changes
|
|
47
|
-
*
|
|
48
|
-
*
|
|
79
|
+
* Capture a candidate's changes. Credential-shaped content is ordinary work:
|
|
80
|
+
* the tree, the result's objects, the diff, every saved copy and the reviewer
|
|
81
|
+
* all see the real bytes.
|
|
49
82
|
*/
|
|
50
83
|
export declare function captureCandidateWorkspace(input: {
|
|
51
84
|
wsm: WorkspaceManager;
|
|
52
85
|
envelope: WorkspaceEnvelope;
|
|
53
86
|
inPlace: boolean;
|
|
54
|
-
/** Project root owning the private exact patch object store. */
|
|
55
|
-
projectRoot: string;
|
|
56
87
|
holder: {
|
|
57
88
|
runId: string;
|
|
58
89
|
runDir: string;
|
|
59
90
|
};
|
|
60
|
-
|
|
61
|
-
|
|
91
|
+
/** Its configured checks and review intent: a refusal's receipt names what it skips. */
|
|
92
|
+
contract: Pick<ActiveTaskContract, "tests" | "review_requested">;
|
|
62
93
|
/** Reuse a post-try refusal instead of repeating the same oversized capture. */
|
|
63
94
|
incompleteCapture?: CapturedWorkspaceDiff;
|
|
64
95
|
}): Promise<CandidateCapture>;
|
|
65
96
|
/**
|
|
66
|
-
* Write a run's final patch: the
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* gate's digest binding on any route.
|
|
97
|
+
* Write a run's final patch: the exact bytes to `final/patch.diff`, plus the
|
|
98
|
+
* disclosure fields for `work_product.yaml` meta (excluded nested
|
|
99
|
+
* repositories, produced images that were not saved, the Git result and a
|
|
100
|
+
* typed view absence). `patchSha256` is the digest of the saved bytes; a
|
|
101
|
+
* result without a rendered view writes no patch file and has none.
|
|
72
102
|
*/
|
|
73
|
-
export declare function persistFinalPatch(store: ArtifactStore, finalDir: string, run: Pick<CandidateCapture, "diff" | "
|
|
74
|
-
|
|
103
|
+
export declare function persistFinalPatch(store: ArtifactStore, finalDir: string, run: Pick<CandidateCapture, "diff" | "excludedNestedRepositories" | "result" | "patchViewUnavailable" | "inventory"> & {
|
|
104
|
+
producedOmitted?: ProducedOmission[];
|
|
105
|
+
}): {
|
|
106
|
+
patchSha256: string | null;
|
|
75
107
|
meta: Record<string, unknown>;
|
|
76
108
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Summary lines of a work product: produced images that were not saved and,
|
|
111
|
+
* for an object result without a rendered view (#535), what was kept and why
|
|
112
|
+
* no patch shows, with its bounded inventory. Null when there is nothing to say.
|
|
113
|
+
*/
|
|
114
|
+
export declare function resultSummaryLines(run: (Pick<CandidateCapture, "result" | "patchViewUnavailable" | "inventory"> & {
|
|
115
|
+
producedOmitted?: readonly ProducedOmission[];
|
|
116
|
+
}) | undefined): string | null;
|
|
117
|
+
/** `\n`-prefixed result summary for a summary template; "" when there is nothing to say. */
|
|
118
|
+
export declare function resultSummaryDisclosure(run: Parameters<typeof resultSummaryLines>[0]): string;
|
|
80
119
|
//# sourceMappingURL=secretDiff.d.ts.map
|
package/dist/secretDiff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretDiff.d.ts","sourceRoot":"","sources":["../src/secretDiff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"secretDiff.d.ts","sourceRoot":"","sources":["../src/secretDiff.ts"],"names":[],"mappings":"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"}
|