@claudexor/delivery 3.0.4 → 3.1.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/final-verifier.d.ts +1 -1
- package/dist/final-verifier.d.ts.map +1 -1
- package/dist/final-verifier.js +4 -4
- package/dist/final-verifier.js.map +1 -1
- package/dist/gate.d.ts +22 -1
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +130 -19
- package/dist/gate.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -2
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/final-verifier.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare function finalVerifyBlocks(finalVerify: FinalVerifyRecord | null)
|
|
|
13
13
|
* (checks=failed, reason checks_failed); a NEEDS_HUMAN review escalation lands
|
|
14
14
|
* on the REVIEW axis (review=blocked, reason review_blocked). Lifecycle stays
|
|
15
15
|
* succeeded — the process finished; a human decision is what is pending. */
|
|
16
|
-
export declare function blockedDecisionOverride(evidenceFacts: string[], finalVerify: FinalVerifyRecord | null): {
|
|
16
|
+
export declare function blockedDecisionOverride(evidenceFacts: string[], facts: RunOutcomeFacts, finalVerify: FinalVerifyRecord | null): {
|
|
17
17
|
facts: RunOutcomeFacts;
|
|
18
18
|
apply_recommendation: "human_review";
|
|
19
19
|
verification_basis: "none";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-verifier.d.ts","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"final-verifier.d.ts","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,mBAAmB,CAAC;AASzE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CACzE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAMhF;AAED;;;;4EAI4E;AAC5E,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EAAE,EACvB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,iBAAiB,GAAG,IAAI,GACpC;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,oBAAoB,EAAE,cAAc,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAeA;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,QAAQ,EAAE,EACjB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
|
package/dist/final-verifier.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { mkdtempSync, rmSync } from "node:fs";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
-
import { FinalVerifyRecord
|
|
5
|
+
import { FinalVerifyRecord } from "@claudexor/schema";
|
|
6
6
|
import { gatesPassed, runGates } from "@claudexor/review";
|
|
7
7
|
import { applyPatchProtected, branchDelete, worktreeAdd, worktreeRemove, } from "@claudexor/workspace";
|
|
8
8
|
import { newId, redactSecrets } from "@claudexor/util";
|
|
@@ -16,7 +16,7 @@ export function finalVerifyBlocks(finalVerify) {
|
|
|
16
16
|
* (checks=failed, reason checks_failed); a NEEDS_HUMAN review escalation lands
|
|
17
17
|
* on the REVIEW axis (review=blocked, reason review_blocked). Lifecycle stays
|
|
18
18
|
* succeeded — the process finished; a human decision is what is pending. */
|
|
19
|
-
export function blockedDecisionOverride(evidenceFacts, finalVerify) {
|
|
19
|
+
export function blockedDecisionOverride(evidenceFacts, facts, finalVerify) {
|
|
20
20
|
const verifyBlocked = finalVerifyBlocks(finalVerify);
|
|
21
21
|
const fact = verifyBlocked
|
|
22
22
|
? finalVerify?.applied_cleanly !== true
|
|
@@ -25,8 +25,8 @@ export function blockedDecisionOverride(evidenceFacts, finalVerify) {
|
|
|
25
25
|
: "reviewer escalated blocking NEEDS_HUMAN findings; a typed operator decision is required";
|
|
26
26
|
return {
|
|
27
27
|
facts: verifyBlocked
|
|
28
|
-
?
|
|
29
|
-
:
|
|
28
|
+
? { ...facts, checks: "failed", reason: "checks_failed" }
|
|
29
|
+
: { ...facts, review: "blocked", reason: "review_blocked" },
|
|
30
30
|
apply_recommendation: "human_review",
|
|
31
31
|
verification_basis: "none",
|
|
32
32
|
evidence_facts: [...evidenceFacts, fact],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-verifier.js","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"final-verifier.js","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"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"}
|
package/dist/gate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApplyEligibility, DecisionRecord, FinalVerifyRecord, WorkProduct } from "@claudexor/schema";
|
|
1
|
+
import type { ApplyEligibility, DecisionRecord, FinalVerifyRecord, RunApplyState, WorkProduct, WorkState } from "@claudexor/schema";
|
|
2
2
|
/**
|
|
3
3
|
* Single owner of the apply gate (CLAUDEXOR_BIBLE §11): apply is allowed only
|
|
4
4
|
* for successful runs with a successful decision record and a patch
|
|
@@ -29,6 +29,27 @@ export interface ApplyGateInput {
|
|
|
29
29
|
/** Fresh verifier result for this delivery attempt. When omitted, the
|
|
30
30
|
* persisted decision result is used for read-only eligibility projection. */
|
|
31
31
|
finalVerify?: FinalVerifyRecord | null;
|
|
32
|
+
/**
|
|
33
|
+
* The run's effective MUTABLE delivery/apply state (delivery_state overlay →
|
|
34
|
+
* work_product snapshot), threaded in by the same owner that projects
|
|
35
|
+
* `summary.result.applyState` (QA-021). When a change is already in the live
|
|
36
|
+
* tree (`applied` / `applied_review_blocked`) or was deliberately reverted,
|
|
37
|
+
* apply is no longer the pending action and the eligibility projection must
|
|
38
|
+
* answer a terminal disposition BEFORE the pre-delivery gate — never "rerun a
|
|
39
|
+
* fresh check" for finished work. Absent/`not_applied` runs the normal gate.
|
|
40
|
+
*/
|
|
41
|
+
applyState?: RunApplyState | null;
|
|
42
|
+
/**
|
|
43
|
+
* D-16 work_state veto axis (INV-116), threaded from the arbitrated
|
|
44
|
+
* `decision.facts.work_state` by the same owner that builds this input. A
|
|
45
|
+
* model-attested `needs_input`/`incomplete` outcome keeps the succeeded
|
|
46
|
+
* lifecycle but is factually non-applyable — the model itself reported the
|
|
47
|
+
* work is unfinished — so the gate refuses it (winning over review/checks apply
|
|
48
|
+
* quality, matching the outcome banner) and the operator risk override cannot
|
|
49
|
+
* bypass it (accepting a *reviewed* blocker is a different axis from the model
|
|
50
|
+
* saying it is not done). Absent/`completed`/`unverified` never veto.
|
|
51
|
+
*/
|
|
52
|
+
workState?: WorkState | null;
|
|
32
53
|
}
|
|
33
54
|
export declare function validateApplyGate(input: ApplyGateInput): string | null;
|
|
34
55
|
/**
|
package/dist/gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAK3B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE;iFAC6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAgGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAuFtE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CA6D9E"}
|
package/dist/gate.js
CHANGED
|
@@ -13,8 +13,20 @@ import { sha256 } from "@claudexor/util";
|
|
|
13
13
|
function applyHint(decision, lifecycle) {
|
|
14
14
|
const facts = decision?.facts ?? null;
|
|
15
15
|
if (facts) {
|
|
16
|
+
// D-16 work_state veto (INV-116): the model itself reported the work is not
|
|
17
|
+
// finished — point at supplying the input / re-running, never a review or a
|
|
18
|
+
// risk override (accepting a reviewed blocker is a different axis).
|
|
19
|
+
if (facts.lifecycle === "succeeded" && facts.work_state?.state === "needs_input") {
|
|
20
|
+
return "Provide the input the run reported it needs, then re-run.";
|
|
21
|
+
}
|
|
22
|
+
if (facts.lifecycle === "succeeded" && facts.work_state?.state === "incomplete") {
|
|
23
|
+
return "Re-run until the run reports the work is complete.";
|
|
24
|
+
}
|
|
16
25
|
if (facts.review === "blocked" || facts.checks === "failed") {
|
|
17
|
-
|
|
26
|
+
// A blocked run already completed its (verified) review — pointing back at
|
|
27
|
+
// "run a review first" is a dead loop (QA-032B). The real next step is the
|
|
28
|
+
// typed risk override; the fresh final check then runs at apply time.
|
|
29
|
+
return "Accept the risk to apply it anyway (`claudexor decision <run> --accept-risk`).";
|
|
18
30
|
}
|
|
19
31
|
if (facts.review === "not_run" || facts.checks === "not_configured") {
|
|
20
32
|
return "Add a test check or get a clean cross-family review, then re-run. (Accepting the risk only unblocks a change that was reviewed and blocked.)";
|
|
@@ -27,12 +39,60 @@ function applyHint(decision, lifecycle) {
|
|
|
27
39
|
}
|
|
28
40
|
return "Re-run until the change finishes successfully.";
|
|
29
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* D-16 work_state veto (INV-116): the model-attested `needs_input`/`incomplete`
|
|
44
|
+
* outcome that makes an otherwise-succeeded run non-applyable, threaded on
|
|
45
|
+
* `input.workState` (from `decision.facts.work_state`). It only ELEVATES a
|
|
46
|
+
* SUCCEEDED lifecycle — a harder lifecycle failure already refuses on its own
|
|
47
|
+
* axis — and is NOT bypassable by the risk override, because the model reporting
|
|
48
|
+
* its work is unfinished is a different axis from accepting a reviewed blocker.
|
|
49
|
+
*/
|
|
50
|
+
function workStateVetoOf(input) {
|
|
51
|
+
if (input.decision?.facts?.lifecycle !== "succeeded")
|
|
52
|
+
return null;
|
|
53
|
+
const state = input.workState?.state;
|
|
54
|
+
return state === "needs_input" || state === "incomplete" ? state : null;
|
|
55
|
+
}
|
|
30
56
|
/** A terminal is a needs-decision block (accepted review blockers or failed
|
|
31
57
|
* checks) when its axes say so — the axes replacement for state==="blocked". */
|
|
32
58
|
function isNeedsDecision(decision) {
|
|
33
59
|
const facts = decision?.facts;
|
|
34
60
|
return !!facts && (facts.review === "blocked" || facts.checks === "failed");
|
|
35
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* A valid, hash-bound operator risk override (INV-111, Bible §11): meaningful
|
|
64
|
+
* ONLY on a needs-decision run (review blocked / checks failed) and only when
|
|
65
|
+
* the recorded decision hash matches the exact patch artifact — a typed,
|
|
66
|
+
* server-owned unblock, never client-faked state.
|
|
67
|
+
*/
|
|
68
|
+
function hasValidRiskOverride(input) {
|
|
69
|
+
const d = input.operatorDecision;
|
|
70
|
+
return (isNeedsDecision(input.decision) &&
|
|
71
|
+
!!d &&
|
|
72
|
+
(d.action === "accept_risk" || d.action === "override_needs_human") &&
|
|
73
|
+
typeof d.patch_sha256 === "string" &&
|
|
74
|
+
d.patch_sha256 === sha256(input.patch));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* QA-032: a review-blocked run skips FinalVerifier BY CONSTRUCTION, so its
|
|
78
|
+
* persisted `final_verify` is null. When a hash-bound risk override authorizes
|
|
79
|
+
* this exact patch, the fresh final check runs JUST-IN-TIME at apply (the apply
|
|
80
|
+
* route supplies a fresh `finalVerify` to this same gate). For the READ-ONLY
|
|
81
|
+
* projection (GET /runs/:id, /apply/check — no `finalVerify` supplied) the gate
|
|
82
|
+
* must therefore NOT dead-end on the missing persisted verifier; it reports the
|
|
83
|
+
* change as deliverable, gated by the JIT verify, so the only affordance that
|
|
84
|
+
* can produce a green verify is not hidden behind an unsatisfiable verdict.
|
|
85
|
+
*/
|
|
86
|
+
function isOverrideVerifyPending(input) {
|
|
87
|
+
// At apply time the caller supplies the fresh finalVerify; the real result is
|
|
88
|
+
// then gated normally (a mechanical conflict still fails closed).
|
|
89
|
+
if (input.finalVerify !== undefined)
|
|
90
|
+
return false;
|
|
91
|
+
const persisted = input.decision?.final_verify ?? null;
|
|
92
|
+
if (persisted?.attempted)
|
|
93
|
+
return false;
|
|
94
|
+
return hasValidRiskOverride(input);
|
|
95
|
+
}
|
|
36
96
|
export function validateApplyGate(input) {
|
|
37
97
|
// An operator risk override is meaningful ONLY on a needs-decision run —
|
|
38
98
|
// review blocked or checks failed (INV-111, Bible §11): the decision
|
|
@@ -41,13 +101,7 @@ export function validateApplyGate(input) {
|
|
|
41
101
|
// persisted decision facts (the orchestrator stamps review=blocked /
|
|
42
102
|
// checks=failed whenever the run terminal is a needs-decision block).
|
|
43
103
|
const facts = input.decision?.facts ?? null;
|
|
44
|
-
const
|
|
45
|
-
const override = blockedEvidence &&
|
|
46
|
-
input.operatorDecision &&
|
|
47
|
-
(input.operatorDecision.action === "accept_risk" ||
|
|
48
|
-
input.operatorDecision.action === "override_needs_human") &&
|
|
49
|
-
typeof input.operatorDecision.patch_sha256 === "string" &&
|
|
50
|
-
input.operatorDecision.patch_sha256 === sha256(input.patch);
|
|
104
|
+
const override = hasValidRiskOverride(input);
|
|
51
105
|
if (input.state && input.state !== "succeeded" && !override) {
|
|
52
106
|
// Plain human message (F5); the machine axes stay on the decision facts /
|
|
53
107
|
// ApplyEligibility.state that callers read alongside this string.
|
|
@@ -55,6 +109,18 @@ export function validateApplyGate(input) {
|
|
|
55
109
|
}
|
|
56
110
|
if (!input.decision)
|
|
57
111
|
return "A completed run is required before this change can be applied.";
|
|
112
|
+
// D-16 work_state veto (INV-116): a model-attested needs_input/incomplete
|
|
113
|
+
// outcome on a succeeded lifecycle is factually non-applyable — the model
|
|
114
|
+
// itself reported the work is unfinished — and WINS over review/checks apply
|
|
115
|
+
// quality (matching the outcome banner). It is not a *reviewed* risk, so the
|
|
116
|
+
// operator risk override cannot bypass it.
|
|
117
|
+
const workVeto = workStateVetoOf(input);
|
|
118
|
+
if (workVeto === "needs_input") {
|
|
119
|
+
return "This change can't be applied — the run reported it needs more input to finish. Provide the missing input and re-run.";
|
|
120
|
+
}
|
|
121
|
+
if (workVeto === "incomplete") {
|
|
122
|
+
return "This change can't be applied — the run reported the work is incomplete. Re-run until it finishes.";
|
|
123
|
+
}
|
|
58
124
|
// Apply requires a succeeded lifecycle with an APPROVED review and checks
|
|
59
125
|
// not failed (INV-112 verification-basis rules unchanged).
|
|
60
126
|
const applyable = facts?.lifecycle === "succeeded" && facts.review === "approved" && facts.checks !== "failed";
|
|
@@ -69,8 +135,15 @@ export function validateApplyGate(input) {
|
|
|
69
135
|
// override can change that. Failed verify GATES may be overridden through
|
|
70
136
|
// the same accept_risk path as any blocked run.
|
|
71
137
|
const fv = input.finalVerify !== undefined ? input.finalVerify : input.decision.final_verify;
|
|
72
|
-
if (!fv?.attempted)
|
|
138
|
+
if (!fv?.attempted) {
|
|
139
|
+
// A blocked run authorized by a hash-bound override skips FinalVerifier by
|
|
140
|
+
// construction; the read-only projection reports deliverable and the fresh
|
|
141
|
+
// check runs at apply (QA-032). The apply path supplies `finalVerify` and so
|
|
142
|
+
// never takes this branch — an unattempted fresh verify there still refuses.
|
|
143
|
+
if (isOverrideVerifyPending(input))
|
|
144
|
+
return null;
|
|
73
145
|
return "This change needs a fresh final check before it can be applied.";
|
|
146
|
+
}
|
|
74
147
|
if (fv.attempted) {
|
|
75
148
|
if (fv.applied_cleanly === false) {
|
|
76
149
|
return `This change no longer applies onto a fresh copy of the code (${fv.reason ?? "conflict"}). Re-run the task.`;
|
|
@@ -120,20 +193,58 @@ export function validateApplyGate(input) {
|
|
|
120
193
|
* requiredAction} instead of every consumer re-implying eligibility.
|
|
121
194
|
*/
|
|
122
195
|
export function deriveApplyEligibility(input) {
|
|
196
|
+
// Terminal delivery disposition (QA-021), checked BEFORE the pre-delivery
|
|
197
|
+
// gate: once a run's change is already in the live tree — or was deliberately
|
|
198
|
+
// reverted — apply is no longer the pending action. Deriving eligibility from
|
|
199
|
+
// the pre-delivery gate here would tell an operator/agent to "run a fresh
|
|
200
|
+
// final check" or "re-run" for finished work (an in-place winner honestly
|
|
201
|
+
// carries final_verify:null). The effective RunApplyState is the authority;
|
|
202
|
+
// the review outcome for `applied_review_blocked` lives on the outcome banner
|
|
203
|
+
// and the separate Revert affordance, not on this apply verdict.
|
|
204
|
+
const applyState = input.applyState ?? null;
|
|
205
|
+
if (applyState === "applied" || applyState === "applied_review_blocked") {
|
|
206
|
+
return {
|
|
207
|
+
eligible: false,
|
|
208
|
+
state: "already_applied",
|
|
209
|
+
reason: "This change is already applied.",
|
|
210
|
+
requiredAction: null,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
if (applyState === "reverted") {
|
|
214
|
+
return {
|
|
215
|
+
eligible: false,
|
|
216
|
+
state: "reverted",
|
|
217
|
+
reason: "This change was reverted.",
|
|
218
|
+
requiredAction: null,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
123
221
|
const reason = validateApplyGate(input);
|
|
124
222
|
// The eligibility `state` is a coarse apply classification (not a run state):
|
|
125
|
-
//
|
|
223
|
+
// needs_input / incomplete / needs_review / not_verified / no_changes / ok,
|
|
224
|
+
// projected from the axes. The D-16 work_state veto (INV-116) wins over
|
|
225
|
+
// review/checks quality, matching the outcome banner and validateApplyGate.
|
|
126
226
|
const facts = input.decision?.facts ?? null;
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
227
|
+
const workVeto = workStateVetoOf(input);
|
|
228
|
+
const state = workVeto
|
|
229
|
+
? workVeto
|
|
230
|
+
: !facts
|
|
231
|
+
? (input.state ?? null)
|
|
232
|
+
: facts.review === "blocked" || facts.checks === "failed"
|
|
233
|
+
? "needs_review"
|
|
234
|
+
: facts.review === "not_run" || facts.checks === "not_configured"
|
|
235
|
+
? "not_verified"
|
|
236
|
+
: facts.noChanges
|
|
237
|
+
? "no_changes"
|
|
238
|
+
: "ok";
|
|
136
239
|
if (reason === null) {
|
|
240
|
+
// A hash-bound risk override on a blocked run whose FinalVerifier was
|
|
241
|
+
// skipped by construction is eligible; the fresh final check runs at apply
|
|
242
|
+
// time (QA-032). Surface a typed verify-pending state so surfaces can offer
|
|
243
|
+
// Apply with an honest "a fresh check will run before mutation" caveat
|
|
244
|
+
// rather than a dead end that hides the only verifier trigger.
|
|
245
|
+
if (isOverrideVerifyPending(input)) {
|
|
246
|
+
return { eligible: true, state: "verify_pending", reason: null, requiredAction: null };
|
|
247
|
+
}
|
|
137
248
|
return { eligible: true, state, reason: null, requiredAction: null };
|
|
138
249
|
}
|
|
139
250
|
return {
|
package/dist/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ export interface ApplyResult {
|
|
|
12
12
|
}
|
|
13
13
|
/** Dry-run: does this patch apply cleanly? (git apply --check) */
|
|
14
14
|
export declare function checkPatch(repoRoot: string, patch: string): Promise<ApplyResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Reverse dry-run: is the tree ALREADY this patch's exact postimage? (#26)
|
|
17
|
+
* `git apply --reverse --check` succeeds only when every hunk's postimage
|
|
18
|
+
* context is present — a strong fingerprint that the delivered result is in the
|
|
19
|
+
* tree. Used to distinguish an idempotent already-applied replay (forward
|
|
20
|
+
* refuses, reverse applies) from a real conflict (both refuse).
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkPatchReverse(repoRoot: string, patch: string): Promise<ApplyResult>;
|
|
15
23
|
export type DeliverMode = "apply" | "branch" | "commit" | "pr";
|
|
16
24
|
export declare const DELIVER_MODES: Set<DeliverMode>;
|
|
17
25
|
export interface DeliverOptions {
|
|
@@ -30,6 +38,9 @@ export interface DeliverResult {
|
|
|
30
38
|
/** True when a FAILED delivery left the tree mutated (restore failed);
|
|
31
39
|
* `applied:false, treeMutated:false` guarantees the tree is untouched. */
|
|
32
40
|
treeMutated?: boolean;
|
|
41
|
+
/** #26: TRUE when delivery was an idempotent already-applied no-op (the tree
|
|
42
|
+
* was already this patch's exact postimage). `applied:true` with no mutation. */
|
|
43
|
+
alreadyApplied?: boolean;
|
|
33
44
|
}
|
|
34
45
|
export interface VerifiedDeliverResult extends DeliverResult {
|
|
35
46
|
finalVerify: FinalVerifyRecord;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAyBpC,yEAAyE;AACzE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wDAI3E;AAOD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGtF;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC/D,eAAO,MAAM,aAAa,kBAA4D,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;8EAC0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAyBpC,yEAAyE;AACzE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wDAI3E;AAOD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGtF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAG7F;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC/D,eAAO,MAAM,aAAa,kBAA4D,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;8EAC0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;qFACiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;8CAG8C;AAC9C,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EACtD,KAAK,GAAE,QAAQ,EAAO,EACtB,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,EAC7D,GAAG,GAAE,cAA0C,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAIhC;AAsGD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CAExB"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,17 @@ export async function checkPatch(repoRoot, patch) {
|
|
|
38
38
|
const r = await git(repoRoot, ["apply", "--check", "-"], patch);
|
|
39
39
|
return { ok: r.code === 0, code: r.code, stderr: r.stderr };
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Reverse dry-run: is the tree ALREADY this patch's exact postimage? (#26)
|
|
43
|
+
* `git apply --reverse --check` succeeds only when every hunk's postimage
|
|
44
|
+
* context is present — a strong fingerprint that the delivered result is in the
|
|
45
|
+
* tree. Used to distinguish an idempotent already-applied replay (forward
|
|
46
|
+
* refuses, reverse applies) from a real conflict (both refuse).
|
|
47
|
+
*/
|
|
48
|
+
export async function checkPatchReverse(repoRoot, patch) {
|
|
49
|
+
const r = await git(repoRoot, ["apply", "--reverse", "--check", "-"], patch);
|
|
50
|
+
return { ok: r.code === 0, code: r.code, stderr: r.stderr };
|
|
51
|
+
}
|
|
41
52
|
export const DELIVER_MODES = new Set(["apply", "branch", "commit", "pr"]);
|
|
42
53
|
/** One mutation entry point for manual/thread/race delivery. It verifies the
|
|
43
54
|
* patch on a fresh worktree bound to the current target preimage, lets the
|
|
@@ -52,9 +63,40 @@ async function verifyAndDeliverUnlocked(repoRoot, patch, options, gates, authori
|
|
|
52
63
|
const finalVerify = await finalVerifyPatch(repoRoot, { baseSha: targetPreimageSha, diff: patch }, gates, log);
|
|
53
64
|
let refusal;
|
|
54
65
|
if (finalVerify.applied_cleanly === false) {
|
|
66
|
+
// Idempotent replay (#26): the forward patch no longer applies onto a fresh
|
|
67
|
+
// copy. That is EITHER a real conflict OR an already-delivered no-op — the
|
|
68
|
+
// tree is already this patch's exact postimage. Distinguish the two by a
|
|
69
|
+
// reverse --check against the current tree (the same preimage/postimage
|
|
70
|
+
// comparison the revert machinery uses).
|
|
71
|
+
const reverseClean = (await checkPatchReverse(repoRoot, patch)).ok;
|
|
72
|
+
// The reverse-clean no-op shortcut is ONLY honest for mode='apply' (round-2
|
|
73
|
+
// #2): reverse-clean proves the WORKTREE holds the postimage, which is
|
|
74
|
+
// exactly what an idempotent `apply` replay claims. It does NOT prove a
|
|
75
|
+
// commit/branch/PR exists. Reporting mode='commit|branch|pr' as
|
|
76
|
+
// applied/alreadyApplied here would claim a fenced mutation the machinery
|
|
77
|
+
// never performed (the tree already holds the patch, so the forward apply
|
|
78
|
+
// that would stage+commit it cannot run). Take the no-op only for `apply`;
|
|
79
|
+
// for the other modes fall through to an honest typed non-success.
|
|
80
|
+
if (reverseClean && options.mode === "apply") {
|
|
81
|
+
return {
|
|
82
|
+
mode: "apply",
|
|
83
|
+
applied: true,
|
|
84
|
+
treeMutated: false,
|
|
85
|
+
alreadyApplied: true,
|
|
86
|
+
detail: "already applied; idempotent no-op (no files changed)",
|
|
87
|
+
finalVerify,
|
|
88
|
+
targetPreimageSha,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
55
91
|
// Mechanical applicability is never waivable, even when a caller owns the
|
|
56
|
-
// semantic risk decision for failed gates or verifier infrastructure.
|
|
57
|
-
|
|
92
|
+
// semantic risk decision for failed gates or verifier infrastructure. A
|
|
93
|
+
// reverse-clean commit/branch/pr request is refused (not a false success):
|
|
94
|
+
// the patch is already present in the tree, so there is nothing left for the
|
|
95
|
+
// fenced commit/branch/pr path to apply — deliver the change from a clean
|
|
96
|
+
// base, or commit the already-applied working tree directly.
|
|
97
|
+
refusal = reverseClean
|
|
98
|
+
? `patch already present in the working tree; '${options.mode}' needs an unapplied patch (an earlier apply already delivered these changes — commit them directly or revert first)`
|
|
99
|
+
: (finalVerify.reason ?? "final verify failed: patch did not apply cleanly");
|
|
58
100
|
}
|
|
59
101
|
else if (authorize) {
|
|
60
102
|
// A supplied policy owns the semantic verdict. In particular, null is an
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAuB,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjE,KAAK,UAAU,2BAA2B,CACxC,QAAgB,EAChB,IAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvE,IAAI,OAAoB,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,QAAgB;IAC1E,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5C,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,KAAc;IAC7D,0EAA0E;IAC1E,OAAO,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAQD,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,KAAa;IAC9D,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9D,CAAC;AAGD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AA2BvF;;;8CAG8C;AAC9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,KAAa,EACb,OAAsD,EACtD,QAAoB,EAAE,EACtB,SAA6D,EAC7D,MAAsB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IAE/C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAChD,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAgB,EAChB,KAAa,EACb,OAAsD,EACtD,KAAiB,EACjB,SAA0E,EAC1E,GAAmB;IAEnB,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,iBAAiB,SAAS,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,EAC3C,KAAK,EACL,GAAG,CACJ,CAAC;IACF,IAAI,OAAsB,CAAC;IAC3B,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,sEAAsE;QACtE,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,kDAAkD,CAAC;IACrF,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,GAAG,kDAAkD,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,OAAO;YACf,WAAW;YACX,iBAAiB;YACjB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,WAAW,SAAS,CAAC,CAAC;IACvE,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,4DAA4D;YACpE,WAAW;YACX,iBAAiB;YACjB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,iBAAiB;SAClB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAgB,EAChB,KAAa,EACb,IAAoB;IAEpB,OAAO,2BAA2B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAgB,EAChB,KAAa,EACb,IAAoB;IAEpB,yEAAyE;IACzE,iEAAiE;IACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,oEAAoE;IACpE,2EAA2E;IAC3E,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC7E,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,YAAY,KAAK;QACxB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,mDAAmD;SAC5D,CAAC;IAEJ,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9F,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9E,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC;IAC7D,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACtG,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,MAAM,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC3F,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,KAAK,IAA4B,EAAE;QACvD,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe;YAC1B,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7F,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,0BAA0B,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACtF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,2BAA2B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrF,WAAW,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,EAAE,GACN,IAAI,CAAC,IAAI,KAAK,OAAO;QACnB,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC5C,CAAC,CAAC,MAAM,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,YAAY,KAAK,IAAI;YACpD,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,cAAc,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEnE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW,EAAE,YAAY,KAAK,IAAI;YAClC,MAAM,EAAE,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACpF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;QACvE,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,YAAY,KAAK,IAAI,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW;YACX,MAAM,EAAE;gBACN,GAAG;gBACH,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;gBAC7D,YAAY;gBACZ,WAAW,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI;aAC1E;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC;SACd,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,wBAAwB,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5F,IAAI,UAAU,KAAK,YAAY,IAAI,wBAAwB,KAAK,OAAO,EAAE,CAAC;QACxE,OAAO,kBAAkB,CACvB,UAAU,KAAK,YAAY;YACzB,CAAC,CAAC,4DAA4D;YAC9D,CAAC,CAAC,mCAAmC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,+BAA+B,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,GAAG,CACzB,QAAQ,EACR;QACE,IAAI;QACJ,4BAA4B;QAC5B,IAAI;QACJ,qBAAqB;QACrB,aAAa;QACb,YAAY;QACZ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,GAAG;KACJ,EACD,GAAG,OAAO,IAAI,CACf,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,kBAAkB,CAAC,kCAAkC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,kBAAkB,CAAC,sDAAsD,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,UAAU,GACd,SAAS,KAAK,MAAM;QAClB,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACvD,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7F,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QAC/D,yEAAyE;QACzE,uEAAuE;QACvE,uDAAuD;QACvD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,MAAM,EACJ,kGAAkG;SACrG,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,KAAK;IACL,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE;QAC/B,IAAI;QACJ,0BAA0B;QAC1B,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,MAAgB;KACjB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,6CAA6C;SACxF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;QAC5D,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,IAAI;QACV,uEAAuE;QACvE,2EAA2E;QAC3E,2CAA2C;QAC3C,OAAO,EAAE,IAAI;QACb,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM,EAAE,KAAK;YACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;KACpI,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/delivery",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Apply a WorkProduct patch: dry-run / apply / branch / commit / pr.",
|
|
6
6
|
"type": "module",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@claudexor/core": "3.
|
|
20
|
-
"@claudexor/util": "3.
|
|
21
|
-
"@claudexor/schema": "3.
|
|
22
|
-
"@claudexor/policy": "3.
|
|
23
|
-
"@claudexor/review": "3.
|
|
24
|
-
"@claudexor/workspace": "3.
|
|
19
|
+
"@claudexor/core": "3.1.1",
|
|
20
|
+
"@claudexor/util": "3.1.1",
|
|
21
|
+
"@claudexor/schema": "3.1.1",
|
|
22
|
+
"@claudexor/policy": "3.1.1",
|
|
23
|
+
"@claudexor/review": "3.1.1",
|
|
24
|
+
"@claudexor/workspace": "3.1.1"
|
|
25
25
|
},
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|