@telora/daemon 0.20.78 → 0.20.95
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/build-info.json +2 -2
- package/dist/ai-inspection-context.d.ts.map +1 -1
- package/dist/ai-inspection-context.js +4 -2
- package/dist/ai-inspection-context.js.map +1 -1
- package/dist/audit-prompt.d.ts.map +1 -1
- package/dist/audit-prompt.js +9 -5
- package/dist/audit-prompt.js.map +1 -1
- package/dist/ci-sensor-loop.d.ts +33 -5
- package/dist/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci-sensor-loop.js +95 -14
- package/dist/ci-sensor-loop.js.map +1 -1
- package/dist/ci-status-git.d.ts +7 -5
- package/dist/ci-status-git.d.ts.map +1 -1
- package/dist/ci-status-git.js +12 -9
- package/dist/ci-status-git.js.map +1 -1
- package/dist/ci-status.d.ts +21 -6
- package/dist/ci-status.d.ts.map +1 -1
- package/dist/ci-status.js +90 -15
- package/dist/ci-status.js.map +1 -1
- package/dist/cli/connect/agents.d.ts +64 -14
- package/dist/cli/connect/agents.d.ts.map +1 -1
- package/dist/cli/connect/agents.js +102 -19
- package/dist/cli/connect/agents.js.map +1 -1
- package/dist/cli/connect/claude.d.ts +19 -16
- package/dist/cli/connect/claude.d.ts.map +1 -1
- package/dist/cli/connect/claude.js +34 -68
- package/dist/cli/connect/claude.js.map +1 -1
- package/dist/cli/connect/scaffolding.d.ts +3 -2
- package/dist/cli/connect/scaffolding.d.ts.map +1 -1
- package/dist/cli/connect/scaffolding.js +17 -6
- package/dist/cli/connect/scaffolding.js.map +1 -1
- package/dist/cli/connect/seed-retirement.d.ts +39 -0
- package/dist/cli/connect/seed-retirement.d.ts.map +1 -0
- package/dist/cli/connect/seed-retirement.js +95 -0
- package/dist/cli/connect/seed-retirement.js.map +1 -0
- package/dist/cli/connect.d.ts +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +8 -2
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/session-state.d.ts +0 -20
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +20 -49
- package/dist/cli/session-state.js.map +1 -1
- package/dist/completion/completion-decision.d.ts +3 -29
- package/dist/completion/completion-decision.d.ts.map +1 -1
- package/dist/completion/completion-decision.js +3 -15
- package/dist/completion/completion-decision.js.map +1 -1
- package/dist/completion/event-phases.d.ts +0 -8
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +4 -52
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +1 -11
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +1 -3
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/merge-phase.d.ts +1 -1
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +14 -34
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +13 -1
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery-artifacts.d.ts.map +1 -1
- package/dist/delivery-artifacts.js +9 -8
- package/dist/delivery-artifacts.js.map +1 -1
- package/dist/git/merge.d.ts +16 -0
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +39 -1
- package/dist/git/merge.js.map +1 -1
- package/dist/product-scaffold.d.ts +8 -6
- package/dist/product-scaffold.d.ts.map +1 -1
- package/dist/product-scaffold.js +14 -10
- package/dist/product-scaffold.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +44 -3
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
- package/dist/prompt-sections/scoping-sections.js +8 -0
- package/dist/prompt-sections/scoping-sections.js.map +1 -1
- package/dist/queries/cause-key.d.ts +13 -3
- package/dist/queries/cause-key.d.ts.map +1 -1
- package/dist/queries/cause-key.js +14 -4
- package/dist/queries/cause-key.js.map +1 -1
- package/dist/queries/deliveries.d.ts +20 -153
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +26 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +192 -0
- package/dist/queries/delivery-gate-state.d.ts.map +1 -0
- package/dist/queries/delivery-gate-state.js +23 -0
- package/dist/queries/delivery-gate-state.js.map +1 -0
- package/dist/queries/holds.d.ts +62 -60
- package/dist/queries/holds.d.ts.map +1 -1
- package/dist/queries/holds.js +70 -69
- package/dist/queries/holds.js.map +1 -1
- package/dist/queries/issues.d.ts +2 -2
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +2 -2
- package/dist/queries/issues.js.map +1 -1
- package/dist/reality-pole.d.ts +5 -3
- package/dist/reality-pole.d.ts.map +1 -1
- package/dist/reality-pole.js +13 -4
- package/dist/reality-pole.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +12 -5
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/index.d.ts +1 -1
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +147 -26
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +275 -35
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/templates/agents-md.d.ts +16 -0
- package/dist/templates/agents-md.d.ts.map +1 -1
- package/dist/templates/agents-md.js +26 -0
- package/dist/templates/agents-md.js.map +1 -1
- package/dist/templates/claude-settings.d.ts +44 -1
- package/dist/templates/claude-settings.d.ts.map +1 -1
- package/dist/templates/claude-settings.js +73 -1
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/unified-shell-provisioning.d.ts +99 -0
- package/dist/unified-shell-provisioning.d.ts.map +1 -0
- package/dist/unified-shell-provisioning.js +222 -0
- package/dist/unified-shell-provisioning.js.map +1 -0
- package/dist/unified-shell.d.ts +0 -41
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +19 -135
- package/dist/unified-shell.js.map +1 -1
- package/dist/verification-deps.d.ts +151 -0
- package/dist/verification-deps.d.ts.map +1 -0
- package/dist/verification-deps.js +19 -0
- package/dist/verification-deps.js.map +1 -0
- package/dist/verification-engine.d.ts +10 -112
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +84 -30
- package/dist/verification-engine.js.map +1 -1
- package/dist/verification-evidence.d.ts +33 -1
- package/dist/verification-evidence.d.ts.map +1 -1
- package/dist/verification-evidence.js +55 -13
- package/dist/verification-evidence.js.map +1 -1
- package/dist/verification-feedback.d.ts +31 -27
- package/dist/verification-feedback.d.ts.map +1 -1
- package/dist/verification-feedback.js +76 -85
- package/dist/verification-feedback.js.map +1 -1
- package/dist/verify-restatement.d.ts +12 -9
- package/dist/verify-restatement.d.ts.map +1 -1
- package/dist/verify-restatement.js +11 -9
- package/dist/verify-restatement.js.map +1 -1
- package/package.json +1 -1
package/dist/resolvers/index.js
CHANGED
|
@@ -125,6 +125,6 @@ export function initResolvers() {
|
|
|
125
125
|
return keys;
|
|
126
126
|
}
|
|
127
127
|
// ── Shared public surface (re-exports for external consumers) ─────────
|
|
128
|
-
export { MAX_DIFF_BYTES, getGitDiff, getDiffStatSummary, getChangedFiles, getCommitsAhead, getGitDiffRange, getDiffStatRange, getChangedFilesRange, findDeliveryMergeCommit, resolveDeliveryDiffRange, getDeliveryDiff, } from './shared/git-diff.js';
|
|
128
|
+
export { MAX_DIFF_BYTES, getGitDiff, getDiffStatSummary, getChangedFiles, getCommitsAhead, getGitDiffRange, getDiffStatRange, getChangedFilesRange, findDeliveryMergeCommit, resolveRecordedMergeRange, resolveRecordedCommitRange, listRangeCommits, resolveDeliveryDiffRange, resolveDeliveryDiffSource, getDeliveryDiffFromSource, getDeliveryChangedFilesFromSource, getDeliveryDiffStatFromSource, listSourceCommits, getDeliveryDiff, readDeliveryTrailer, filterCommitsByDelivery, DELIVERY_TRAILER_KEY, } from './shared/git-diff.js';
|
|
129
129
|
export { CRT_DUMP_BUDGET_CHARS, renderRealityTreeDump, FOCUS_REALITY_TREE_EMPTY_STATE, } from './shared/reality-tree.js';
|
|
130
130
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,0CAA0C,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,uCAAuC,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,uCAAuC,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,wCAAwC,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAEnF,yEAAyE;AAEzE,yEAAyE;AACzE,MAAM,kBAAkB,GAA8B;IACpD,0CAA0C;IAC1C,mCAAmC;IACnC,8BAA8B;IAC9B,4BAA4B;IAC5B,qCAAqC;IACrC,gCAAgC;IAChC,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,uCAAuC;IACvC,8BAA8B;IAC9B,iCAAiC;IACjC,+BAA+B;IAC/B,+BAA+B;IAC/B,8BAA8B;IAC9B,uCAAuC;IACvC,wCAAwC;IACxC,8BAA8B;IAC9B,kCAAkC;IAClC,6BAA6B;IAC7B,6BAA6B;IAC7B,2BAA2B;IAC3B,2BAA2B;IAC3B,mCAAmC;IACnC,gCAAgC;IAChC,6BAA6B;IAC7B,gCAAgC;IAChC,mCAAmC;IACnC,gCAAgC;IAChC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,gCAAgC;IAChC,iCAAiC;IACjC,mCAAmC;IACnC,0BAA0B;IAC1B,0BAA0B;IAC1B,oCAAoC;CACrC,CAAC;AAEF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,2EAA2E;YAC3E,mEAAmE;YACnE,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,38 +52,159 @@ export declare function getCommitsAhead(worktreePath: string, baseBranch: string
|
|
|
52
52
|
*/
|
|
53
53
|
export declare function findDeliveryMergeCommit(worktreePath: string, baseBranch: string): string | null;
|
|
54
54
|
/**
|
|
55
|
-
* Verify a commit sha exists locally
|
|
56
|
-
* range that recovers
|
|
57
|
-
* (`<sha>^1...<sha>`).
|
|
58
|
-
*
|
|
59
|
-
*
|
|
55
|
+
* Verify a commit sha exists locally AND is a real MERGE commit (>= 2 parents),
|
|
56
|
+
* and if so return the first-parent diff range that recovers its second-parent
|
|
57
|
+
* contribution (`<sha>^1...<sha>`).
|
|
58
|
+
*
|
|
59
|
+
* Returns null when the sha is empty, malformed, not present in the repo (e.g.
|
|
60
|
+
* not yet fetched), OR has fewer than two parents. That last guard is
|
|
61
|
+
* load-bearing: the recorded merge_commit_sha was observed to be
|
|
62
|
+
* HEAD-at-stamp-time -- an ordinary sequential commit shared across several
|
|
63
|
+
* deliveries, NOT a per-delivery merge (and a FAST-FORWARDED merge-back leaves
|
|
64
|
+
* no merge commit at all). On such a sha `<sha>^1...<sha>` is that ONE commit's
|
|
65
|
+
* own diff -- WRONG attribution masquerading as a verdict, not the delivery's
|
|
66
|
+
* contribution. `^1...` only recovers a delivery's contribution when `<sha>` is
|
|
67
|
+
* a genuine merge whose non-first parent is the merged-in tip. Refusing it here
|
|
68
|
+
* makes the caller fall through to the recorded-commit-set range
|
|
69
|
+
* (resolveRecordedCommitRange) or live topology instead of judging a whole
|
|
70
|
+
* focus against a single trailing commit.
|
|
60
71
|
*/
|
|
61
72
|
export declare function resolveRecordedMergeRange(worktreePath: string, mergeCommitSha: string | null | undefined): string | null;
|
|
62
73
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
74
|
+
* Derive a diff range from a delivery's RECORDED constituent commit set
|
|
75
|
+
* (focus_merges.commit_shas -- the durable record the daemon writes at merge
|
|
76
|
+
* time via extractConstituentCommits/recordFocusMerge). The set is authored by
|
|
77
|
+
* `git log --format=%H <preMergeRef>..<branch>`, so it is newest-first and
|
|
78
|
+
* forms a contiguous first-parent chain for the ff / no-ff merge-back
|
|
79
|
+
* strategies the daemon uses. The range is `<oldest>^1...<newest>` -- the whole
|
|
80
|
+
* recorded set diffed against the commit just before it.
|
|
65
81
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
82
|
+
* Both boundaries (and the parent of the oldest) are verified reachable in the
|
|
83
|
+
* worktree; returns null when the set is empty or a boundary is absent (e.g. a
|
|
84
|
+
* --squash merge rewrote history, breaking the recorded shas' reachability, or
|
|
85
|
+
* the oldest commit is a root with no parent) so the caller falls through to
|
|
86
|
+
* its live-topology sources. This is the record-sourced path that survives a
|
|
87
|
+
* FAST-FORWARD (no merge marker to search for) and a REBASE (merge-base moved),
|
|
88
|
+
* both of which corrupt a topology-derived range.
|
|
89
|
+
*/
|
|
90
|
+
export declare function resolveRecordedCommitRange(worktreePath: string, commitShas: string[] | null | undefined): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* The git trailer key that attributes a commit to the delivery whose work it is.
|
|
93
|
+
* Stamped by agents at commit time (see execution-sections / the agent CLAUDE.md
|
|
94
|
+
* template). The value is the delivery UUID. The trailer travels with the commit
|
|
95
|
+
* object, so it survives fast-forward and rebase exactly like the recorded commit
|
|
96
|
+
* set -- reading it is reading a durable fact, not re-deriving from branch topology.
|
|
97
|
+
*/
|
|
98
|
+
export declare const DELIVERY_TRAILER_KEY = "Telora-Delivery";
|
|
99
|
+
/**
|
|
100
|
+
* Read the `Telora-Delivery` trailer of a single commit. Returns the trimmed
|
|
101
|
+
* delivery id, or '' when the commit carries no such trailer (a merge-back / daemon
|
|
102
|
+
* commit, or an agent commit made before the convention). Empty on any git failure.
|
|
103
|
+
*/
|
|
104
|
+
export declare function readDeliveryTrailer(worktreePath: string, sha: string): string;
|
|
105
|
+
/**
|
|
106
|
+
* Partition a RECORDED batch commit set (focus_merges.commit_shas, which spans
|
|
107
|
+
* every delivery merged together) down to the commits attributable to ONE
|
|
108
|
+
* delivery, using each commit's `Telora-Delivery` trailer.
|
|
81
109
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
110
|
+
* This is what gives a delivery merged alongside siblings its OWN commits instead
|
|
111
|
+
* of the batch's combined set: the trailer is the per-commit fact that a shared
|
|
112
|
+
* focus branch's interleaved commits cannot otherwise be partitioned by.
|
|
113
|
+
*
|
|
114
|
+
* GRACEFUL FALLBACK: when NO commit in the set carries a Telora-Delivery trailer
|
|
115
|
+
* (a legacy / pre-convention batch), the set cannot be partitioned, so the whole
|
|
116
|
+
* set is returned unchanged -- exactly today's behavior, no regression. When ANY
|
|
117
|
+
* commit is trailered, the set IS partitionable and only this delivery's commits
|
|
118
|
+
* are returned; untrailered commits (merge-back / daemon) fall out naturally, and
|
|
119
|
+
* a delivery with no trailered commits of its own correctly resolves to an empty
|
|
120
|
+
* set (which the completeness gate then treats as nothing-to-measure).
|
|
121
|
+
*
|
|
122
|
+
* Order is preserved (newest-first), so the result still forms the contiguous
|
|
123
|
+
* chain resolveRecordedCommitRange expects.
|
|
124
|
+
*/
|
|
125
|
+
export declare function filterCommitsByDelivery(worktreePath: string, commitShas: string[] | null | undefined, deliveryId: string): string[];
|
|
126
|
+
/**
|
|
127
|
+
* The commit SHAs contained in a diff range (`git rev-list <range>`). Empty on
|
|
128
|
+
* failure. Used by the verify COMPLETENESS check to prove the resolved range
|
|
129
|
+
* actually covers a delivery's recorded commits before rendering a verdict.
|
|
130
|
+
*/
|
|
131
|
+
export declare function listRangeCommits(worktreePath: string, range: string): string[];
|
|
132
|
+
/**
|
|
133
|
+
* How a delivery's evidence is produced from git.
|
|
134
|
+
*
|
|
135
|
+
* Most deliveries resolve to a single contiguous `range` (topology, a recorded
|
|
136
|
+
* merge commit, or a recorded commit set whose members happen to sit contiguously
|
|
137
|
+
* on the branch). But a delivery whose OWN recorded commits INTERLEAVE with a
|
|
138
|
+
* sibling's on a shared focus branch cannot be expressed as one `<a>^1...<b>`
|
|
139
|
+
* span -- that span's diff re-absorbs every sibling commit that lives between its
|
|
140
|
+
* endpoints. Such a set is carried as an explicit `commits` list and diffed
|
|
141
|
+
* commit-by-commit, so an interleaved sibling's commit never leaks into the
|
|
142
|
+
* delivery's evidence (the AC: "judged against its own commits only").
|
|
143
|
+
*/
|
|
144
|
+
export type DeliveryDiffSource = {
|
|
145
|
+
readonly kind: 'range';
|
|
146
|
+
readonly range: string;
|
|
147
|
+
} | {
|
|
148
|
+
readonly kind: 'commits';
|
|
149
|
+
readonly commits: readonly string[];
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Resolve HOW to produce a delivery's evidence, sourced from the DURABLE recorded
|
|
153
|
+
* attribution first and live branch topology only as a fallback (defects #2/#3).
|
|
154
|
+
* Order:
|
|
155
|
+
*
|
|
156
|
+
* 1. RECORDED commit set present, CONTIGUOUS -> `{range: <oldest>^1...<newest>}`
|
|
157
|
+
* from focus_merges.commit_shas (the delivery's own, trailer-filtered set) --
|
|
158
|
+
* the exact record written at merge time, immune to fast-forward and rebase.
|
|
159
|
+
* 1b. RECORDED commit set present, INTERLEAVED with a sibling's commits, OR its
|
|
160
|
+
* span boundary is unreachable (e.g. --squash rewrote history) but the
|
|
161
|
+
* commits themselves survive -> `{commits}` (diffed one by one, so the span
|
|
162
|
+
* never re-absorbs a sibling that sits between the endpoints).
|
|
163
|
+
* 2. RECORDED merge commit present -> `{range: <sha>^1...<sha>}`, ONLY for a real
|
|
164
|
+
* >=2-parent merge (single-parent ff commits are refused -- see
|
|
165
|
+
* resolveRecordedMergeRange).
|
|
166
|
+
* 3. branch AHEAD of base -> `{range: base...HEAD}` (an unmerged branch has no
|
|
167
|
+
* focus_merges row; topology is correct and byte-identical to the old path).
|
|
168
|
+
* 4. branch LEVEL/BEHIND after merge -> `{range: <merge>^1...<merge>}` (searched
|
|
169
|
+
* merge commit -- last-ditch when nothing was recorded).
|
|
170
|
+
* 5. no attributable commits -> null (caller yields empty; instrument-fault path).
|
|
171
|
+
*
|
|
172
|
+
* The recorded sources are preferred over `getCommitsAhead` so a merged-back
|
|
173
|
+
* branch that has since taken one new commit (routine: every spawn rebases onto
|
|
174
|
+
* integration) is NOT truncated to that single trailing commit.
|
|
175
|
+
*
|
|
176
|
+
* `recordedCommitShas` is the delivery's OWN commit set (focus_merges.commit_shas
|
|
177
|
+
* already partitioned per-delivery by the Telora-Delivery trailer); `recordedMergeSha`
|
|
178
|
+
* is the row's merge_commit_sha. Callers without a record (assembly resolvers) pass
|
|
179
|
+
* neither and get the topology path.
|
|
180
|
+
*/
|
|
181
|
+
export declare function resolveDeliveryDiffSource(worktreePath: string, baseBranch: string, recordedMergeSha?: string | null, recordedCommitShas?: string[] | null): DeliveryDiffSource | null;
|
|
182
|
+
/**
|
|
183
|
+
* String-range view of {@link resolveDeliveryDiffSource}, for consumers that need
|
|
184
|
+
* a single range expression (assembly resolvers). Those callers pass no recorded
|
|
185
|
+
* commit set, so they always resolve to a `range` source; a `commits` source
|
|
186
|
+
* (interleaved per-delivery set) degrades to its best-effort span here -- only the
|
|
187
|
+
* verify path, which uses the source API directly, isolates interleaved commits.
|
|
188
|
+
*/
|
|
189
|
+
export declare function resolveDeliveryDiffRange(worktreePath: string, baseBranch: string, recordedMergeSha?: string | null, recordedCommitShas?: string[] | null): string | null;
|
|
190
|
+
/**
|
|
191
|
+
* The delivery's diff, from a resolved source. A `range` source diffs the span
|
|
192
|
+
* directly (byte-identical to the old range path). A `commits` source sums each
|
|
193
|
+
* commit's own patch (oldest-first for readable order), so interleaved siblings
|
|
194
|
+
* never appear.
|
|
195
|
+
*/
|
|
196
|
+
export declare function getDeliveryDiffFromSource(worktreePath: string, source: DeliveryDiffSource): string;
|
|
197
|
+
/** Changed-files for a source: the range's name-only list, or the UNION per commit. */
|
|
198
|
+
export declare function getDeliveryChangedFilesFromSource(worktreePath: string, source: DeliveryDiffSource): string[];
|
|
199
|
+
/** Diff-stat for a source: the range's stat, or per-commit stats concatenated. */
|
|
200
|
+
export declare function getDeliveryDiffStatFromSource(worktreePath: string, source: DeliveryDiffSource): string;
|
|
201
|
+
/**
|
|
202
|
+
* The commits a source actually diffs, for the completeness check. A `range`
|
|
203
|
+
* source lists the range; a `commits` source is exactly its (existing) commits --
|
|
204
|
+
* so a per-delivery commit set covers itself by construction and never reads as
|
|
205
|
+
* half-blind for interleaving alone.
|
|
85
206
|
*/
|
|
86
|
-
export declare function
|
|
207
|
+
export declare function listSourceCommits(worktreePath: string, source: DeliveryDiffSource): string[];
|
|
87
208
|
/**
|
|
88
209
|
* The delivery's diff, resolved from the range that actually contains its work
|
|
89
210
|
* (see resolveDeliveryDiffRange). For a branch still ahead of base this is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-diff.d.ts","sourceRoot":"","sources":["../../../src/resolvers/shared/git-diff.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,cAAc,QAAY,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU3E;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAS5E;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWhF;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsB/F;AAED
|
|
1
|
+
{"version":3,"file":"git-diff.d.ts","sourceRoot":"","sources":["../../../src/resolvers/shared/git-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,62 +116,302 @@ export function findDeliveryMergeCommit(worktreePath, baseBranch) {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
|
-
* Verify a commit sha exists locally
|
|
120
|
-
* range that recovers
|
|
121
|
-
* (`<sha>^1...<sha>`).
|
|
122
|
-
*
|
|
123
|
-
*
|
|
119
|
+
* Verify a commit sha exists locally AND is a real MERGE commit (>= 2 parents),
|
|
120
|
+
* and if so return the first-parent diff range that recovers its second-parent
|
|
121
|
+
* contribution (`<sha>^1...<sha>`).
|
|
122
|
+
*
|
|
123
|
+
* Returns null when the sha is empty, malformed, not present in the repo (e.g.
|
|
124
|
+
* not yet fetched), OR has fewer than two parents. That last guard is
|
|
125
|
+
* load-bearing: the recorded merge_commit_sha was observed to be
|
|
126
|
+
* HEAD-at-stamp-time -- an ordinary sequential commit shared across several
|
|
127
|
+
* deliveries, NOT a per-delivery merge (and a FAST-FORWARDED merge-back leaves
|
|
128
|
+
* no merge commit at all). On such a sha `<sha>^1...<sha>` is that ONE commit's
|
|
129
|
+
* own diff -- WRONG attribution masquerading as a verdict, not the delivery's
|
|
130
|
+
* contribution. `^1...` only recovers a delivery's contribution when `<sha>` is
|
|
131
|
+
* a genuine merge whose non-first parent is the merged-in tip. Refusing it here
|
|
132
|
+
* makes the caller fall through to the recorded-commit-set range
|
|
133
|
+
* (resolveRecordedCommitRange) or live topology instead of judging a whole
|
|
134
|
+
* focus against a single trailing commit.
|
|
124
135
|
*/
|
|
125
136
|
export function resolveRecordedMergeRange(worktreePath, mergeCommitSha) {
|
|
126
137
|
const sha = (mergeCommitSha ?? '').trim();
|
|
127
138
|
if (sha === '')
|
|
128
139
|
return null;
|
|
140
|
+
let parentCount;
|
|
129
141
|
try {
|
|
130
|
-
// `--
|
|
131
|
-
|
|
142
|
+
// `--parents -n 1 <sha>^{commit}` confirms the object exists AND is a
|
|
143
|
+
// commit, and yields `<sha> <parent1> [<parent2> ...]` in one call.
|
|
144
|
+
const out = execSync(`git rev-list --parents -n 1 ${sha}^{commit}`, {
|
|
132
145
|
cwd: worktreePath, maxBuffer: 1024 * 1024, encoding: 'utf-8',
|
|
133
146
|
});
|
|
147
|
+
const parts = out.trim().split(/\s+/).filter((p) => p !== '');
|
|
148
|
+
parentCount = Math.max(0, parts.length - 1); // first token is the commit itself
|
|
134
149
|
}
|
|
135
150
|
catch {
|
|
136
151
|
return null;
|
|
137
152
|
}
|
|
153
|
+
if (parentCount < 2)
|
|
154
|
+
return null; // not a merge commit -> `^1...` is meaningless
|
|
138
155
|
return `${sha}^1...${sha}`;
|
|
139
156
|
}
|
|
140
157
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
158
|
+
* Derive a diff range from a delivery's RECORDED constituent commit set
|
|
159
|
+
* (focus_merges.commit_shas -- the durable record the daemon writes at merge
|
|
160
|
+
* time via extractConstituentCommits/recordFocusMerge). The set is authored by
|
|
161
|
+
* `git log --format=%H <preMergeRef>..<branch>`, so it is newest-first and
|
|
162
|
+
* forms a contiguous first-parent chain for the ff / no-ff merge-back
|
|
163
|
+
* strategies the daemon uses. The range is `<oldest>^1...<newest>` -- the whole
|
|
164
|
+
* recorded set diffed against the commit just before it.
|
|
165
|
+
*
|
|
166
|
+
* Both boundaries (and the parent of the oldest) are verified reachable in the
|
|
167
|
+
* worktree; returns null when the set is empty or a boundary is absent (e.g. a
|
|
168
|
+
* --squash merge rewrote history, breaking the recorded shas' reachability, or
|
|
169
|
+
* the oldest commit is a root with no parent) so the caller falls through to
|
|
170
|
+
* its live-topology sources. This is the record-sourced path that survives a
|
|
171
|
+
* FAST-FORWARD (no merge marker to search for) and a REBASE (merge-base moved),
|
|
172
|
+
* both of which corrupt a topology-derived range.
|
|
173
|
+
*/
|
|
174
|
+
export function resolveRecordedCommitRange(worktreePath, commitShas) {
|
|
175
|
+
const shas = (commitShas ?? []).map((s) => s.trim()).filter((s) => s !== '');
|
|
176
|
+
if (shas.length === 0)
|
|
177
|
+
return null;
|
|
178
|
+
const newest = shas[0];
|
|
179
|
+
const oldest = shas[shas.length - 1];
|
|
180
|
+
try {
|
|
181
|
+
for (const ref of [`${newest}^{commit}`, `${oldest}^{commit}`, `${oldest}^1^{commit}`]) {
|
|
182
|
+
execSync(`git rev-parse --verify --quiet ${ref}`, {
|
|
183
|
+
cwd: worktreePath, maxBuffer: 1024 * 1024, encoding: 'utf-8',
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
return `${oldest}^1...${newest}`;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* The git trailer key that attributes a commit to the delivery whose work it is.
|
|
194
|
+
* Stamped by agents at commit time (see execution-sections / the agent CLAUDE.md
|
|
195
|
+
* template). The value is the delivery UUID. The trailer travels with the commit
|
|
196
|
+
* object, so it survives fast-forward and rebase exactly like the recorded commit
|
|
197
|
+
* set -- reading it is reading a durable fact, not re-deriving from branch topology.
|
|
198
|
+
*/
|
|
199
|
+
export const DELIVERY_TRAILER_KEY = 'Telora-Delivery';
|
|
200
|
+
/**
|
|
201
|
+
* Read the `Telora-Delivery` trailer of a single commit. Returns the trimmed
|
|
202
|
+
* delivery id, or '' when the commit carries no such trailer (a merge-back / daemon
|
|
203
|
+
* commit, or an agent commit made before the convention). Empty on any git failure.
|
|
204
|
+
*/
|
|
205
|
+
export function readDeliveryTrailer(worktreePath, sha) {
|
|
206
|
+
const clean = (sha ?? '').trim();
|
|
207
|
+
if (clean === '')
|
|
208
|
+
return '';
|
|
209
|
+
try {
|
|
210
|
+
// Single-quote the format: the `%(...)` parentheses are shell metacharacters.
|
|
211
|
+
const out = execSync(`git show -s '--format=%(trailers:key=${DELIVERY_TRAILER_KEY},valueonly)' ${clean}^{commit}`, { cwd: worktreePath, maxBuffer: 1024 * 1024, encoding: 'utf-8' });
|
|
212
|
+
// A commit can in principle carry several trailer lines; take the first
|
|
213
|
+
// non-empty value -- attribution is single-delivery by construction.
|
|
214
|
+
return out.split('\n').map((l) => l.trim()).find((l) => l !== '') ?? '';
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return '';
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Partition a RECORDED batch commit set (focus_merges.commit_shas, which spans
|
|
222
|
+
* every delivery merged together) down to the commits attributable to ONE
|
|
223
|
+
* delivery, using each commit's `Telora-Delivery` trailer.
|
|
224
|
+
*
|
|
225
|
+
* This is what gives a delivery merged alongside siblings its OWN commits instead
|
|
226
|
+
* of the batch's combined set: the trailer is the per-commit fact that a shared
|
|
227
|
+
* focus branch's interleaved commits cannot otherwise be partitioned by.
|
|
228
|
+
*
|
|
229
|
+
* GRACEFUL FALLBACK: when NO commit in the set carries a Telora-Delivery trailer
|
|
230
|
+
* (a legacy / pre-convention batch), the set cannot be partitioned, so the whole
|
|
231
|
+
* set is returned unchanged -- exactly today's behavior, no regression. When ANY
|
|
232
|
+
* commit is trailered, the set IS partitionable and only this delivery's commits
|
|
233
|
+
* are returned; untrailered commits (merge-back / daemon) fall out naturally, and
|
|
234
|
+
* a delivery with no trailered commits of its own correctly resolves to an empty
|
|
235
|
+
* set (which the completeness gate then treats as nothing-to-measure).
|
|
236
|
+
*
|
|
237
|
+
* Order is preserved (newest-first), so the result still forms the contiguous
|
|
238
|
+
* chain resolveRecordedCommitRange expects.
|
|
239
|
+
*/
|
|
240
|
+
export function filterCommitsByDelivery(worktreePath, commitShas, deliveryId) {
|
|
241
|
+
const shas = (commitShas ?? []).map((s) => s.trim()).filter((s) => s !== '');
|
|
242
|
+
if (shas.length === 0)
|
|
243
|
+
return [];
|
|
244
|
+
const wanted = (deliveryId ?? '').trim();
|
|
245
|
+
const trailers = shas.map((sha) => ({ sha, delivery: readDeliveryTrailer(worktreePath, sha) }));
|
|
246
|
+
const anyTrailered = trailers.some((t) => t.delivery !== '');
|
|
247
|
+
if (!anyTrailered)
|
|
248
|
+
return shas; // un-partitionable legacy batch -> preserve current behavior
|
|
249
|
+
if (wanted === '')
|
|
250
|
+
return shas; // no delivery to filter by -> do not silently drop work
|
|
251
|
+
return trailers.filter((t) => t.delivery === wanted).map((t) => t.sha);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* The commit SHAs contained in a diff range (`git rev-list <range>`). Empty on
|
|
255
|
+
* failure. Used by the verify COMPLETENESS check to prove the resolved range
|
|
256
|
+
* actually covers a delivery's recorded commits before rendering a verdict.
|
|
257
|
+
*/
|
|
258
|
+
export function listRangeCommits(worktreePath, range) {
|
|
259
|
+
try {
|
|
260
|
+
const out = execSync(`git rev-list ${range}`, { cwd: worktreePath, maxBuffer: 10 * 1024 * 1024, encoding: 'utf-8' });
|
|
261
|
+
return out.split('\n').map((l) => l.trim()).filter((l) => l !== '');
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
return [];
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/** Confirm a sha names a commit that exists locally. */
|
|
268
|
+
function commitExists(worktreePath, sha) {
|
|
269
|
+
const clean = (sha ?? '').trim();
|
|
270
|
+
if (clean === '')
|
|
271
|
+
return false;
|
|
272
|
+
try {
|
|
273
|
+
execSync(`git rev-parse --verify --quiet ${clean}^{commit}`, {
|
|
274
|
+
cwd: worktreePath, maxBuffer: 1024 * 1024, encoding: 'utf-8',
|
|
275
|
+
});
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* True when `span` (a `<oldest>^1...<newest>` range) contains EXACTLY the recorded
|
|
284
|
+
* set -- no interleaved foreign commits. When true the cheap span is exact; when
|
|
285
|
+
* false a sibling's commits sit between the endpoints and the set must be diffed
|
|
286
|
+
* commit-by-commit. `shas` is the delivery's own (already trailer-filtered) set.
|
|
287
|
+
*/
|
|
288
|
+
function spanCoversRecordedExactly(worktreePath, span, shas) {
|
|
289
|
+
const inSpan = new Set(listRangeCommits(worktreePath, span));
|
|
290
|
+
return inSpan.size === shas.length && shas.every((s) => inSpan.has(s));
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Resolve HOW to produce a delivery's evidence, sourced from the DURABLE recorded
|
|
294
|
+
* attribution first and live branch topology only as a fallback (defects #2/#3).
|
|
295
|
+
* Order:
|
|
296
|
+
*
|
|
297
|
+
* 1. RECORDED commit set present, CONTIGUOUS -> `{range: <oldest>^1...<newest>}`
|
|
298
|
+
* from focus_merges.commit_shas (the delivery's own, trailer-filtered set) --
|
|
299
|
+
* the exact record written at merge time, immune to fast-forward and rebase.
|
|
300
|
+
* 1b. RECORDED commit set present, INTERLEAVED with a sibling's commits, OR its
|
|
301
|
+
* span boundary is unreachable (e.g. --squash rewrote history) but the
|
|
302
|
+
* commits themselves survive -> `{commits}` (diffed one by one, so the span
|
|
303
|
+
* never re-absorbs a sibling that sits between the endpoints).
|
|
304
|
+
* 2. RECORDED merge commit present -> `{range: <sha>^1...<sha>}`, ONLY for a real
|
|
305
|
+
* >=2-parent merge (single-parent ff commits are refused -- see
|
|
306
|
+
* resolveRecordedMergeRange).
|
|
307
|
+
* 3. branch AHEAD of base -> `{range: base...HEAD}` (an unmerged branch has no
|
|
308
|
+
* focus_merges row; topology is correct and byte-identical to the old path).
|
|
309
|
+
* 4. branch LEVEL/BEHIND after merge -> `{range: <merge>^1...<merge>}` (searched
|
|
310
|
+
* merge commit -- last-ditch when nothing was recorded).
|
|
311
|
+
* 5. no attributable commits -> null (caller yields empty; instrument-fault path).
|
|
143
312
|
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* recorded the merge sha on the delivery
|
|
148
|
-
* row; trust it directly rather than
|
|
149
|
-
* re-searching -- survives a stale/teamless
|
|
150
|
-
* worktree whose integration ref is not
|
|
151
|
-
* current, which the search-based fallback
|
|
152
|
-
* does not)
|
|
153
|
-
* - branch LEVEL/BEHIND after merge -> `<merge>^1...<merge>` (recovered by
|
|
154
|
-
* SEARCHING the base for the merge commit
|
|
155
|
-
* that brought it in -- fallback for when
|
|
156
|
-
* no sha was recorded)
|
|
157
|
-
* - no attributable commits -> null (caller yields empty; the
|
|
158
|
-
* instrument-fault path handles it)
|
|
313
|
+
* The recorded sources are preferred over `getCommitsAhead` so a merged-back
|
|
314
|
+
* branch that has since taken one new commit (routine: every spawn rebases onto
|
|
315
|
+
* integration) is NOT truncated to that single trailing commit.
|
|
159
316
|
*
|
|
160
|
-
* `
|
|
161
|
-
*
|
|
162
|
-
*
|
|
317
|
+
* `recordedCommitShas` is the delivery's OWN commit set (focus_merges.commit_shas
|
|
318
|
+
* already partitioned per-delivery by the Telora-Delivery trailer); `recordedMergeSha`
|
|
319
|
+
* is the row's merge_commit_sha. Callers without a record (assembly resolvers) pass
|
|
320
|
+
* neither and get the topology path.
|
|
163
321
|
*/
|
|
164
|
-
export function
|
|
322
|
+
export function resolveDeliveryDiffSource(worktreePath, baseBranch, recordedMergeSha, recordedCommitShas) {
|
|
323
|
+
const shas = (recordedCommitShas ?? []).map((s) => s.trim()).filter((s) => s !== '');
|
|
324
|
+
if (shas.length > 0) {
|
|
325
|
+
const span = resolveRecordedCommitRange(worktreePath, shas);
|
|
326
|
+
if (span) {
|
|
327
|
+
// A span is exact only when it re-lists ONLY the delivery's own commits.
|
|
328
|
+
// When a sibling interleaves, the span re-absorbs it -> diff commit-by-commit.
|
|
329
|
+
if (spanCoversRecordedExactly(worktreePath, span, shas))
|
|
330
|
+
return { kind: 'range', range: span };
|
|
331
|
+
return { kind: 'commits', commits: shas };
|
|
332
|
+
}
|
|
333
|
+
// Span boundary unreachable (e.g. --squash, or oldest is a root): if the
|
|
334
|
+
// commits themselves still exist, diff them directly; else fall through to
|
|
335
|
+
// topology rather than fabricate a range from missing commits.
|
|
336
|
+
if (shas.every((s) => commitExists(worktreePath, s)))
|
|
337
|
+
return { kind: 'commits', commits: shas };
|
|
338
|
+
}
|
|
339
|
+
const recordedMerge = resolveRecordedMergeRange(worktreePath, recordedMergeSha);
|
|
340
|
+
if (recordedMerge)
|
|
341
|
+
return { kind: 'range', range: recordedMerge };
|
|
165
342
|
if (getCommitsAhead(worktreePath, baseBranch) > 0)
|
|
166
|
-
return `${baseBranch}...HEAD
|
|
167
|
-
const recorded = resolveRecordedMergeRange(worktreePath, recordedMergeSha);
|
|
168
|
-
if (recorded)
|
|
169
|
-
return recorded;
|
|
343
|
+
return { kind: 'range', range: `${baseBranch}...HEAD` };
|
|
170
344
|
const merge = findDeliveryMergeCommit(worktreePath, baseBranch);
|
|
171
345
|
if (merge)
|
|
172
|
-
return `${merge}^1...${merge}
|
|
346
|
+
return { kind: 'range', range: `${merge}^1...${merge}` };
|
|
173
347
|
return null;
|
|
174
348
|
}
|
|
349
|
+
/**
|
|
350
|
+
* String-range view of {@link resolveDeliveryDiffSource}, for consumers that need
|
|
351
|
+
* a single range expression (assembly resolvers). Those callers pass no recorded
|
|
352
|
+
* commit set, so they always resolve to a `range` source; a `commits` source
|
|
353
|
+
* (interleaved per-delivery set) degrades to its best-effort span here -- only the
|
|
354
|
+
* verify path, which uses the source API directly, isolates interleaved commits.
|
|
355
|
+
*/
|
|
356
|
+
export function resolveDeliveryDiffRange(worktreePath, baseBranch, recordedMergeSha, recordedCommitShas) {
|
|
357
|
+
const source = resolveDeliveryDiffSource(worktreePath, baseBranch, recordedMergeSha, recordedCommitShas);
|
|
358
|
+
if (!source)
|
|
359
|
+
return null;
|
|
360
|
+
if (source.kind === 'range')
|
|
361
|
+
return source.range;
|
|
362
|
+
return resolveRecordedCommitRange(worktreePath, [...source.commits]);
|
|
363
|
+
}
|
|
364
|
+
/** The per-commit patch range (`<sha>^ <sha>`) that yields a single commit's own diff. */
|
|
365
|
+
function commitDiffRange(sha) {
|
|
366
|
+
return `${sha}^ ${sha}`;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* The delivery's diff, from a resolved source. A `range` source diffs the span
|
|
370
|
+
* directly (byte-identical to the old range path). A `commits` source sums each
|
|
371
|
+
* commit's own patch (oldest-first for readable order), so interleaved siblings
|
|
372
|
+
* never appear.
|
|
373
|
+
*/
|
|
374
|
+
export function getDeliveryDiffFromSource(worktreePath, source) {
|
|
375
|
+
if (source.kind === 'range')
|
|
376
|
+
return getGitDiffRange(worktreePath, source.range);
|
|
377
|
+
return [...source.commits]
|
|
378
|
+
.reverse()
|
|
379
|
+
.map((sha) => getGitDiffRange(worktreePath, commitDiffRange(sha)))
|
|
380
|
+
.filter((p) => p !== '')
|
|
381
|
+
.join('\n');
|
|
382
|
+
}
|
|
383
|
+
/** Changed-files for a source: the range's name-only list, or the UNION per commit. */
|
|
384
|
+
export function getDeliveryChangedFilesFromSource(worktreePath, source) {
|
|
385
|
+
if (source.kind === 'range')
|
|
386
|
+
return getChangedFilesRange(worktreePath, source.range);
|
|
387
|
+
const files = new Set();
|
|
388
|
+
for (const sha of source.commits) {
|
|
389
|
+
for (const f of getChangedFilesRange(worktreePath, commitDiffRange(sha)))
|
|
390
|
+
files.add(f);
|
|
391
|
+
}
|
|
392
|
+
return [...files];
|
|
393
|
+
}
|
|
394
|
+
/** Diff-stat for a source: the range's stat, or per-commit stats concatenated. */
|
|
395
|
+
export function getDeliveryDiffStatFromSource(worktreePath, source) {
|
|
396
|
+
if (source.kind === 'range')
|
|
397
|
+
return getDiffStatRange(worktreePath, source.range);
|
|
398
|
+
return [...source.commits]
|
|
399
|
+
.reverse()
|
|
400
|
+
.map((sha) => getDiffStatRange(worktreePath, commitDiffRange(sha)))
|
|
401
|
+
.filter((s) => s.trim() !== '')
|
|
402
|
+
.join('\n');
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* The commits a source actually diffs, for the completeness check. A `range`
|
|
406
|
+
* source lists the range; a `commits` source is exactly its (existing) commits --
|
|
407
|
+
* so a per-delivery commit set covers itself by construction and never reads as
|
|
408
|
+
* half-blind for interleaving alone.
|
|
409
|
+
*/
|
|
410
|
+
export function listSourceCommits(worktreePath, source) {
|
|
411
|
+
if (source.kind === 'range')
|
|
412
|
+
return listRangeCommits(worktreePath, source.range);
|
|
413
|
+
return source.commits.filter((sha) => commitExists(worktreePath, sha));
|
|
414
|
+
}
|
|
175
415
|
/**
|
|
176
416
|
* The delivery's diff, resolved from the range that actually contains its work
|
|
177
417
|
* (see resolveDeliveryDiffRange). For a branch still ahead of base this is
|
|
@@ -180,7 +420,7 @@ export function resolveDeliveryDiffRange(worktreePath, baseBranch, recordedMerge
|
|
|
180
420
|
* with no attributable commits it returns ''.
|
|
181
421
|
*/
|
|
182
422
|
export function getDeliveryDiff(worktreePath, baseBranch) {
|
|
183
|
-
const
|
|
184
|
-
return
|
|
423
|
+
const source = resolveDeliveryDiffSource(worktreePath, baseBranch);
|
|
424
|
+
return source ? getDeliveryDiffFromSource(worktreePath, source) : '';
|
|
185
425
|
}
|
|
186
426
|
//# sourceMappingURL=git-diff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-diff.js","sourceRoot":"","sources":["../../../src/resolvers/shared/git-diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-diff.js","sourceRoot":"","sources":["../../../src/resolvers/shared/git-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,22 @@ export interface AgentsMdConnectionInvariant {
|
|
|
44
44
|
*/
|
|
45
45
|
mcpRegistrationSentence?: string;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Render the header-LESS Codex operator seed block: the shared seed prose only,
|
|
49
|
+
* with NO per-product connection-invariant header.
|
|
50
|
+
*
|
|
51
|
+
* Used for the workstation-shared carriers a Codex session reads from the
|
|
52
|
+
* operator's own `~/.codex` -- the interactive operator AND daemon-spawned
|
|
53
|
+
* HOSTED Codex agents (whose ChatGPT-account auth lives in `~/.codex/auth.json`,
|
|
54
|
+
* so their CODEX_HOME cannot be redirected to a per-product isolated home). One
|
|
55
|
+
* workstation hosts many products, so a single shared file cannot bake a correct
|
|
56
|
+
* per-product header for more than one; the identity is resolved on demand via
|
|
57
|
+
* `telora-daemon status` instead. This is the accepted downgrade of Codex having
|
|
58
|
+
* no SessionStart hook. The per-product baked header (`renderAgentsMd`) is used
|
|
59
|
+
* only where the destination is genuinely per-product (the isolated CODEX_HOME
|
|
60
|
+
* of a local-model Codex product).
|
|
61
|
+
*/
|
|
62
|
+
export declare function renderCodexOperatorSeed(): string;
|
|
47
63
|
/**
|
|
48
64
|
* Render a fresh-repo AGENTS.md seed block.
|
|
49
65
|
*
|