@stigmer/runner 3.1.2 → 3.1.3
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/.build-fingerprint +1 -1
- package/dist/activities/execute-cursor/attachment-resolver.d.ts +1 -1
- package/dist/activities/execute-cursor/attachment-resolver.js +1 -1
- package/dist/activities/execute-cursor/capture-flow.d.ts +18 -0
- package/dist/activities/execute-cursor/capture-flow.js +21 -0
- package/dist/activities/execute-cursor/capture-flow.js.map +1 -1
- package/dist/activities/execute-cursor/index.js +121 -139
- package/dist/activities/execute-cursor/index.js.map +1 -1
- package/dist/activities/execute-cursor/turn-boundary.d.ts +108 -0
- package/dist/activities/execute-cursor/turn-boundary.js +163 -0
- package/dist/activities/execute-cursor/turn-boundary.js.map +1 -0
- package/dist/activities/execute-deep-agent/index.js +30 -3
- package/dist/activities/execute-deep-agent/index.js.map +1 -1
- package/dist/activities/execute-deep-agent/streaming-v3.js +6 -1
- package/dist/activities/execute-deep-agent/streaming-v3.js.map +1 -1
- package/dist/activities/execute-deep-agent/streaming.d.ts +7 -0
- package/dist/activities/execute-deep-agent/streaming.js +5 -1
- package/dist/activities/execute-deep-agent/streaming.js.map +1 -1
- package/dist/shared/filereview/capture.d.ts +18 -1
- package/dist/shared/filereview/capture.js +105 -28
- package/dist/shared/filereview/capture.js.map +1 -1
- package/dist/shared/filereview/cas-substrate.d.ts +9 -0
- package/dist/shared/filereview/cas-substrate.js +9 -1
- package/dist/shared/filereview/cas-substrate.js.map +1 -1
- package/dist/shared/filereview/events.d.ts +16 -0
- package/dist/shared/filereview/events.js +37 -0
- package/dist/shared/filereview/events.js.map +1 -1
- package/dist/shared/filereview/git-substrate.d.ts +42 -0
- package/dist/shared/filereview/git-substrate.js +78 -0
- package/dist/shared/filereview/git-substrate.js.map +1 -1
- package/dist/shared/filereview/index.d.ts +3 -1
- package/dist/shared/filereview/index.js +3 -1
- package/dist/shared/filereview/index.js.map +1 -1
- package/dist/shared/filereview/line-counts.d.ts +48 -0
- package/dist/shared/filereview/line-counts.js +72 -0
- package/dist/shared/filereview/line-counts.js.map +1 -0
- package/dist/shared/filereview/progress.d.ts +96 -0
- package/dist/shared/filereview/progress.js +134 -0
- package/dist/shared/filereview/progress.js.map +1 -0
- package/dist/shared/implement-plan-prompt.d.ts +6 -4
- package/dist/shared/implement-plan-prompt.js +38 -6
- package/dist/shared/implement-plan-prompt.js.map +1 -1
- package/dist/shared/plan-artifact.d.ts +59 -11
- package/dist/shared/plan-artifact.js +144 -16
- package/dist/shared/plan-artifact.js.map +1 -1
- package/dist/shared/plan-mode-prompt.d.ts +6 -4
- package/dist/shared/plan-mode-prompt.js +10 -5
- package/dist/shared/plan-mode-prompt.js.map +1 -1
- package/package.json +3 -2
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +7 -0
- package/src/activities/execute-cursor/__tests__/delta-enricher.test.ts +68 -0
- package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +280 -0
- package/src/activities/execute-cursor/attachment-resolver.ts +1 -1
- package/src/activities/execute-cursor/capture-flow.ts +32 -0
- package/src/activities/execute-cursor/index.ts +130 -153
- package/src/activities/execute-cursor/turn-boundary.ts +274 -0
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +11 -0
- package/src/activities/execute-deep-agent/index.ts +34 -3
- package/src/activities/execute-deep-agent/streaming-v3.ts +6 -1
- package/src/activities/execute-deep-agent/streaming.ts +12 -1
- package/src/shared/__tests__/implement-plan-prompt.test.ts +40 -2
- package/src/shared/__tests__/plan-artifact.test.ts +142 -9
- package/src/shared/filereview/__tests__/capture.test.ts +182 -1
- package/src/shared/filereview/__tests__/cas-substrate.test.ts +34 -0
- package/src/shared/filereview/__tests__/events.test.ts +105 -0
- package/src/shared/filereview/__tests__/line-counts.test.ts +73 -0
- package/src/shared/filereview/__tests__/progress.test.ts +236 -0
- package/src/shared/filereview/capture.ts +134 -30
- package/src/shared/filereview/cas-substrate.ts +17 -1
- package/src/shared/filereview/events.ts +50 -0
- package/src/shared/filereview/git-substrate.ts +108 -0
- package/src/shared/filereview/index.ts +22 -1
- package/src/shared/filereview/line-counts.ts +83 -0
- package/src/shared/filereview/progress.ts +186 -0
- package/src/shared/implement-plan-prompt.ts +39 -8
- package/src/shared/plan-artifact.ts +152 -16
- package/src/shared/plan-mode-prompt.ts +10 -5
|
@@ -15,6 +15,7 @@ import { CapturedFileChangeSchema, FileReviewBaselineCapturedSchema, FileReviewC
|
|
|
15
15
|
import { FileContentSchema, ToolCallOutputRefSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
16
16
|
import { DiffCompleteness, FileReviewBlockReason, FileReviewEventType, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
17
17
|
import { aggregateDigest, fileDigest, sha256Bytes } from "./digest.js";
|
|
18
|
+
import { countLineChanges } from "./line-counts.js";
|
|
18
19
|
import { looksBinary } from "../file-change.js";
|
|
19
20
|
// The runner is the author of capture/reconcile/failure events. "runner" (not
|
|
20
21
|
// the generic "system") matches the cross-edition corpus fixtures and the
|
|
@@ -67,6 +68,33 @@ export function contentSha256(content) {
|
|
|
67
68
|
return content.sha256;
|
|
68
69
|
}
|
|
69
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Count the display `+N −M` from a change's inline sides, or `undefined` when
|
|
73
|
+
* counting is not honest here: a side that exists without inline text (a `ref`
|
|
74
|
+
* whose bytes were already offloaded, or a `binary` side with no body), or
|
|
75
|
+
* inline text that would render as binary (the UI shows "Binary file changed"
|
|
76
|
+
* for it, never a line diff — a count would describe a diff nobody sees).
|
|
77
|
+
* An absent side is fine — it is the empty document of an ADD/DELETE.
|
|
78
|
+
*/
|
|
79
|
+
function countInlineSides(before, after) {
|
|
80
|
+
const beforeText = inlineTextOrNull(before);
|
|
81
|
+
const afterText = inlineTextOrNull(after);
|
|
82
|
+
if (beforeText === null || afterText === null)
|
|
83
|
+
return undefined;
|
|
84
|
+
return countLineChanges(beforeText, afterText);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A side's countable inline text: the text for a non-binary inline side,
|
|
88
|
+
* `undefined` for an absent side (countable as the empty document), and `null`
|
|
89
|
+
* when the side exists but cannot be counted (ref / binary / binary-looking).
|
|
90
|
+
*/
|
|
91
|
+
function inlineTextOrNull(content) {
|
|
92
|
+
if (content === undefined)
|
|
93
|
+
return undefined;
|
|
94
|
+
if (content.kind !== "inline" || looksBinary(content.text))
|
|
95
|
+
return null;
|
|
96
|
+
return content.text;
|
|
97
|
+
}
|
|
70
98
|
/** Build the proto {@link FileContent} for one content side (inline, ref, or binary). */
|
|
71
99
|
function toFileContent(content) {
|
|
72
100
|
if (content.kind === "inline") {
|
|
@@ -103,12 +131,19 @@ function toFileContent(content) {
|
|
|
103
131
|
* `file_digest`) over the captured bytes. Content may be inline (git) or a blob
|
|
104
132
|
* ref (CAS) — the digests are identical either way, so the aggregate digest and
|
|
105
133
|
* the reconcile enforcement compose across both substrates.
|
|
134
|
+
*
|
|
135
|
+
* Display line counts are stamped here too — the single seam every substrate
|
|
136
|
+
* flows through — from `input.lineCounts` when the producer counted at its own
|
|
137
|
+
* source (CAS), else counted from the inline sides. Counting happens BEFORE any
|
|
138
|
+
* persist-time offload, so the counts survive a body being elided later. They
|
|
139
|
+
* never enter `fileDigest` (informational, not enforcement).
|
|
106
140
|
*/
|
|
107
141
|
export function buildCapturedFileChange(input) {
|
|
108
142
|
const before = normalizeContent(input.before);
|
|
109
143
|
const after = normalizeContent(input.after);
|
|
110
144
|
const beforeSha256 = before ? contentSha256(before) : "";
|
|
111
145
|
const afterSha256 = after ? contentSha256(after) : "";
|
|
146
|
+
const counts = input.lineCounts ?? countInlineSides(before, after);
|
|
112
147
|
const fc = create(CapturedFileChangeSchema, {
|
|
113
148
|
id: input.id,
|
|
114
149
|
pathBefore: input.pathBefore,
|
|
@@ -119,6 +154,8 @@ export function buildCapturedFileChange(input) {
|
|
|
119
154
|
afterSha256,
|
|
120
155
|
diffComplete: input.diffComplete ?? true,
|
|
121
156
|
blockedReason: input.blockedReason ?? FileReviewBlockReason.UNSPECIFIED,
|
|
157
|
+
linesAdded: counts?.linesAdded ?? 0,
|
|
158
|
+
linesRemoved: counts?.linesRemoved ?? 0,
|
|
122
159
|
fileDigest: fileDigest({
|
|
123
160
|
pathBefore: input.pathBefore,
|
|
124
161
|
pathAfter: input.pathAfter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/shared/filereview/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,iCAAiC,EACjC,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,oEAAoE,CAAC;AAO5E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,iEAAiE,CAAC;AAEzE,OAAO,EACL,gBAAgB,EAGhB,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,+EAA+E;AAC/E,6DAA6D;AAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,2BAA2B,GAAkD;IACjF,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,oCAAoC;IACvE,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,0CAA0C;IACnF,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,2CAA2C;IACrF,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,qCAAqC;IACzE,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,mCAAmC;IACrE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,+BAA+B;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,WAAmB,EACnB,OAAe,EACf,IAAyB;IAEzB,OAAO,GAAG,WAAW,IAAI,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/shared/filereview/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,48 @@ export declare function snapshotBaseline(gitRoot: string, executionId: string, e
|
|
|
132
132
|
* review model.
|
|
133
133
|
*/
|
|
134
134
|
export declare function captureChangeSet(gitRoot: string, executionId: string, baselineTree: string, excludePaths?: readonly string[]): Promise<CaptureResult>;
|
|
135
|
+
/**
|
|
136
|
+
* One file's slim, content-free progress delta: paths + kind + line counts, NO
|
|
137
|
+
* bytes. The mid-run analogue of {@link GitSubstrateChange} (which carries the
|
|
138
|
+
* before/after {@link CapturedContent}); this deliberately carries neither side,
|
|
139
|
+
* so it can never leak content. `linesAdded`/`linesRemoved` are 0 when
|
|
140
|
+
* uncountable (a binary file — numstat reports `-`).
|
|
141
|
+
*/
|
|
142
|
+
export interface GitProgressEntry {
|
|
143
|
+
/** Path before the change (repo-relative). Empty for a CREATE. */
|
|
144
|
+
readonly pathBefore: string;
|
|
145
|
+
/** Path after the change (repo-relative). Empty for a DELETE. */
|
|
146
|
+
readonly pathAfter: string;
|
|
147
|
+
readonly changeType: FileChangeType;
|
|
148
|
+
readonly linesAdded: number;
|
|
149
|
+
readonly linesRemoved: number;
|
|
150
|
+
}
|
|
151
|
+
/** Result of {@link captureProgressDelta}. */
|
|
152
|
+
export interface ProgressDelta {
|
|
153
|
+
/** The post-diff working-tree sha, for the caller's short-circuit cache. */
|
|
154
|
+
readonly afterTree: string;
|
|
155
|
+
/** One count-only entry per changed file (no content). */
|
|
156
|
+
readonly entries: readonly GitProgressEntry[];
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Capture a NON-AUTHORITATIVE, content-free snapshot of the working-tree delta
|
|
160
|
+
* against `baselineTree` — the substrate for the live "N files changed so far"
|
|
161
|
+
* surface (mid-run live capture). Unlike {@link captureChangeSet} this reads NO
|
|
162
|
+
* file bytes: it stages the working tree into a temp index, writes its tree, and
|
|
163
|
+
* asks git for `--numstat` + `--name-status` only. Cheap enough to run on a
|
|
164
|
+
* debounce during the turn.
|
|
165
|
+
*
|
|
166
|
+
* Short-circuit: returns `undefined` when the working tree is unchanged since
|
|
167
|
+
* `lastTreeSha` (the caller passes back the previous result's `afterTree`), so a
|
|
168
|
+
* quiet turn pays only one `write-tree`, never a diff.
|
|
169
|
+
*
|
|
170
|
+
* Uses a dedicated temp-index label ("progress") so it never collides with the
|
|
171
|
+
* `baseline`/`capture`/`approved` indexes. `--no-renames` matches
|
|
172
|
+
* {@link captureChangeSet} (a rename surfaces as delete + create). A torn read of
|
|
173
|
+
* a file being written mid-turn is acceptable — the snapshot is non-authoritative
|
|
174
|
+
* and self-corrects on the next capture.
|
|
175
|
+
*/
|
|
176
|
+
export declare function captureProgressDelta(gitRoot: string, executionId: string, baselineTree: string, excludePaths?: readonly string[], lastTreeSha?: string): Promise<ProgressDelta | undefined>;
|
|
135
177
|
/**
|
|
136
178
|
* Restore the given files to their `baselineTree` (pre-turn) bytes. On resume
|
|
137
179
|
* this reverts the REJECTED/undecided subset so a discarded change snaps back
|
|
@@ -240,6 +240,48 @@ export async function captureChangeSet(gitRoot, executionId, baselineTree, exclu
|
|
|
240
240
|
}
|
|
241
241
|
return { baselineTree, afterTree, changes };
|
|
242
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Capture a NON-AUTHORITATIVE, content-free snapshot of the working-tree delta
|
|
245
|
+
* against `baselineTree` — the substrate for the live "N files changed so far"
|
|
246
|
+
* surface (mid-run live capture). Unlike {@link captureChangeSet} this reads NO
|
|
247
|
+
* file bytes: it stages the working tree into a temp index, writes its tree, and
|
|
248
|
+
* asks git for `--numstat` + `--name-status` only. Cheap enough to run on a
|
|
249
|
+
* debounce during the turn.
|
|
250
|
+
*
|
|
251
|
+
* Short-circuit: returns `undefined` when the working tree is unchanged since
|
|
252
|
+
* `lastTreeSha` (the caller passes back the previous result's `afterTree`), so a
|
|
253
|
+
* quiet turn pays only one `write-tree`, never a diff.
|
|
254
|
+
*
|
|
255
|
+
* Uses a dedicated temp-index label ("progress") so it never collides with the
|
|
256
|
+
* `baseline`/`capture`/`approved` indexes. `--no-renames` matches
|
|
257
|
+
* {@link captureChangeSet} (a rename surfaces as delete + create). A torn read of
|
|
258
|
+
* a file being written mid-turn is acceptable — the snapshot is non-authoritative
|
|
259
|
+
* and self-corrects on the next capture.
|
|
260
|
+
*/
|
|
261
|
+
export async function captureProgressDelta(gitRoot, executionId, baselineTree, excludePaths = [], lastTreeSha) {
|
|
262
|
+
const gitDir = await resolveGitDir(gitRoot);
|
|
263
|
+
const afterTree = await writeWorkingTree(gitRoot, gitDir, "progress", executionId, excludePaths);
|
|
264
|
+
if (lastTreeSha !== undefined && afterTree === lastTreeSha)
|
|
265
|
+
return undefined;
|
|
266
|
+
const [nameStatusRaw, numstatRaw] = await Promise.all([
|
|
267
|
+
git(gitRoot, ["diff", "--no-renames", "--name-status", "-z", baselineTree, afterTree]),
|
|
268
|
+
git(gitRoot, ["diff", "--no-renames", "--numstat", "-z", baselineTree, afterTree]),
|
|
269
|
+
]);
|
|
270
|
+
const counts = parseNumstatZ(numstatRaw);
|
|
271
|
+
const entries = [];
|
|
272
|
+
for (const { status, path } of parseNameStatusZ(nameStatusRaw)) {
|
|
273
|
+
const changeType = nameStatusToChangeType(status);
|
|
274
|
+
const count = counts.get(path);
|
|
275
|
+
entries.push({
|
|
276
|
+
pathBefore: changeType === FileChangeType.CREATE ? "" : path,
|
|
277
|
+
pathAfter: changeType === FileChangeType.DELETE ? "" : path,
|
|
278
|
+
changeType,
|
|
279
|
+
linesAdded: count?.added ?? 0,
|
|
280
|
+
linesRemoved: count?.removed ?? 0,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return { afterTree, entries };
|
|
284
|
+
}
|
|
243
285
|
/**
|
|
244
286
|
* Restore the given files to their `baselineTree` (pre-turn) bytes. On resume
|
|
245
287
|
* this reverts the REJECTED/undecided subset so a discarded change snaps back
|
|
@@ -365,6 +407,42 @@ function parseNameStatusZ(raw) {
|
|
|
365
407
|
}
|
|
366
408
|
return entries;
|
|
367
409
|
}
|
|
410
|
+
/**
|
|
411
|
+
* Parse `git diff --numstat -z` into a path -> {added, removed} map. Each record
|
|
412
|
+
* is a NUL-terminated `<added>\t<removed>\t<path>` triple; a binary file reports
|
|
413
|
+
* `-` for both counts, which we surface as 0 (no count) per the display contract.
|
|
414
|
+
*/
|
|
415
|
+
function parseNumstatZ(raw) {
|
|
416
|
+
const counts = new Map();
|
|
417
|
+
for (const record of raw.split("\u0000")) {
|
|
418
|
+
if (!record)
|
|
419
|
+
continue;
|
|
420
|
+
const tab = record.indexOf("\t");
|
|
421
|
+
const tab2 = record.indexOf("\t", tab + 1);
|
|
422
|
+
if (tab < 0 || tab2 < 0)
|
|
423
|
+
continue;
|
|
424
|
+
const addedStr = record.slice(0, tab);
|
|
425
|
+
const removedStr = record.slice(tab + 1, tab2);
|
|
426
|
+
const path = record.slice(tab2 + 1);
|
|
427
|
+
if (!path)
|
|
428
|
+
continue;
|
|
429
|
+
const added = addedStr === "-" ? 0 : Number.parseInt(addedStr, 10) || 0;
|
|
430
|
+
const removed = removedStr === "-" ? 0 : Number.parseInt(removedStr, 10) || 0;
|
|
431
|
+
counts.set(path, { added, removed });
|
|
432
|
+
}
|
|
433
|
+
return counts;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Map a `--name-status` status letter to a {@link FileChangeType} — the same
|
|
437
|
+
* A -> CREATE, D -> DELETE, else MODIFY rule {@link buildCapturedChange} uses.
|
|
438
|
+
*/
|
|
439
|
+
function nameStatusToChangeType(status) {
|
|
440
|
+
if (status === "A")
|
|
441
|
+
return FileChangeType.CREATE;
|
|
442
|
+
if (status === "D")
|
|
443
|
+
return FileChangeType.DELETE;
|
|
444
|
+
return FileChangeType.MODIFY;
|
|
445
|
+
}
|
|
368
446
|
/** Read a blob's exact BYTES from a tree, or `undefined` when absent. */
|
|
369
447
|
async function readBlobBytes(gitRoot, tree, path) {
|
|
370
448
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-substrate.js","sourceRoot":"","sources":["../../../src/shared/filereview/git-substrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,YAA+B;IACvD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,yBAAyB,WAAW,EAAE,CAAC;AAChD,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,wBAAwB,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAA2B;IACpD,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,gBAAgB;IACpC,mBAAmB,EAAE,sBAAsB;CAC5C,CAAC;AAiCF;;;GAGG;AACH,KAAK,UAAU,GAAG,CAChB,OAAe,EACf,IAAc,EACd,GAA4B;IAE5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;QAClD,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;QACnD,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QAC5B,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,IAAc;IACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;QAClD,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QAC5B,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,CAAC,sCAAsC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,8CAA8C;IAC7D,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,UAAU,CAAC,OAAe;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAe,EACf,MAAc,EACd,KAAa,EACb,WAAmB,EACnB,YAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrF,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,OAAO,CACpB,OAAe,EACf,GAAW,EACX,IAAY,EACZ,OAAe;IAEf,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,WAAmB,EACnB,eAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5F,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,oBAAoB,WAAW,EAAE,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,WAAmB,EACnB,YAAoB,EACpB,eAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE;QAC7B,MAAM;QACN,cAAc;QACd,eAAe;QACf,IAAI;QACJ,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,YAAoB,EACpB,OAAsC;IAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,MAAM,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,SAAiB,EACjB,QAAuC;IAEvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,MAAM,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,WAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE;QAC7B,MAAM;QACN,cAAc;QACd,eAAe;QACf,IAAI;QACJ,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,GAAW;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAAC,WAAmB;IACtC,OAAO,yBAAyB,WAAW,EAAE,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,WAAmB,EACnB,eAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5F,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAChC,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAmB;IAEnB,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAChG,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAWD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;YAAE,SAAS;QAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,IAAY,EACZ,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,OAAe,EACf,IAAY,EACZ,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,oDAAoD;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,IAAY,EACZ,IAAY,EACZ,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,oFAAoF;AACpF,MAAM,YAAY,GAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAEnE;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,MAAc,EACd,IAAY;IAEZ,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED,+EAA+E;IAC/E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,cAAc,CAAC,MAAM;QACjC,MAAM,EAAE,MAAM,IAAI,YAAY;QAC9B,KAAK,EAAE,KAAK,IAAI,YAAY;KAC7B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-substrate.js","sourceRoot":"","sources":["../../../src/shared/filereview/git-substrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
export { aggregateDigest, fileChangeKindName, fileDigest, sha256Bytes, sha256Hex, type FileDigestInput, } from "./digest.js";
|
|
7
7
|
export { appendFileReviewEvents, buildBaselineCapturedEvent, buildCandidateCapturedEvent, buildCapturedFileChange, buildFailedEvent, buildReconciledEvent, eventId, hasCandidateCaptured, type CapturedChangeInput, type ChangeSetContext, } from "./events.js";
|
|
8
8
|
export { applyCaptureDecisions, captureBaselineToLedger, captureCandidateToLedger, type CaptureResumeResult, } from "./capture.js";
|
|
9
|
-
export { isGitWorkTree } from "./git-substrate.js";
|
|
9
|
+
export { captureProgressDelta, isGitWorkTree, type GitProgressEntry, type ProgressDelta, } from "./git-substrate.js";
|
|
10
|
+
export { buildFileChangeProgress, captureFileChangeProgress, newProgressCaptureState, PROGRESS_CAPTURE_MIN_INTERVAL_MS, PROGRESS_MAX_ENTRIES, shouldCaptureProgress, type ProgressCaptureState, } from "./progress.js";
|
|
11
|
+
export { countLineChanges, LINE_COUNT_MAX_BYTES, type LineChangeCounts, } from "./line-counts.js";
|
|
10
12
|
export { applyCasApproved, casBlobKey, casBlobReader, casManifestKey, loadCasManifest, restoreCasToBaseline, snapshotCasChangeSet, type BlobReader, type CasBlobRef, type CasCapturedFile, type CasManifest, type CasPathCapture, type CasSnapshotRef, } from "./cas-substrate.js";
|
|
11
13
|
export { isSecretLikePath, partitionIgnoredPathsBySecret, SECRET_BASENAME_PATTERNS, SECRET_PATH_PATTERNS, type CasSecretPartition, } from "./secret-paths.js";
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
export { aggregateDigest, fileChangeKindName, fileDigest, sha256Bytes, sha256Hex, } from "./digest.js";
|
|
7
7
|
export { appendFileReviewEvents, buildBaselineCapturedEvent, buildCandidateCapturedEvent, buildCapturedFileChange, buildFailedEvent, buildReconciledEvent, eventId, hasCandidateCaptured, } from "./events.js";
|
|
8
8
|
export { applyCaptureDecisions, captureBaselineToLedger, captureCandidateToLedger, } from "./capture.js";
|
|
9
|
-
export { isGitWorkTree } from "./git-substrate.js";
|
|
9
|
+
export { captureProgressDelta, isGitWorkTree, } from "./git-substrate.js";
|
|
10
|
+
export { buildFileChangeProgress, captureFileChangeProgress, newProgressCaptureState, PROGRESS_CAPTURE_MIN_INTERVAL_MS, PROGRESS_MAX_ENTRIES, shouldCaptureProgress, } from "./progress.js";
|
|
11
|
+
export { countLineChanges, LINE_COUNT_MAX_BYTES, } from "./line-counts.js";
|
|
10
12
|
export { applyCasApproved, casBlobKey, casBlobReader, casManifestKey, loadCasManifest, restoreCasToBaseline, snapshotCasChangeSet, } from "./cas-substrate.js";
|
|
11
13
|
export { isSecretLikePath, partitionIgnoredPathsBySecret, SECRET_BASENAME_PATTERNS, SECRET_PATH_PATTERNS, } from "./secret-paths.js";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/filereview/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,cAAc,CAAC;AAEtB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/filereview/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GAOrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capture-time line counting for the file-review subsystem: the `+N −M` stamped
|
|
3
|
+
* onto each {@link CapturedFileChange} so review surfaces can decorate file
|
|
4
|
+
* lists without the file bodies.
|
|
5
|
+
*
|
|
6
|
+
* WHY THE RUNNER COUNTS, AND WHY WITH JSDIFF. The counts exist because the
|
|
7
|
+
* review UI's compact file lists must show per-file magnitude, but by the time
|
|
8
|
+
* the UI renders, large before/after bodies may have been offloaded to artifact
|
|
9
|
+
* storage (status-offload) — a client cannot count what it would first have to
|
|
10
|
+
* download. So the counts are computed once, at capture, where the bytes are
|
|
11
|
+
* always in hand. They are computed with the SAME `diff` (jsdiff) Myers
|
|
12
|
+
* algorithm the SDK's diff renderer uses (`computeDiff` → `structuredPatch`),
|
|
13
|
+
* NOT with `git diff --numstat`: two counting authorities can disagree on edge
|
|
14
|
+
* cases (trailing newlines being the classic), and a list that says `+37 −1`
|
|
15
|
+
* beside a rendered diff showing `+37 −0` is a self-contradicting UI. One
|
|
16
|
+
* algorithm, consistent by construction.
|
|
17
|
+
*
|
|
18
|
+
* The counts are INFORMATIONAL display data only — never an enforcement input,
|
|
19
|
+
* never folded into `file_digest`/`aggregate_digest` (the same contract as
|
|
20
|
+
* `blocked_reason`).
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Per-side byte ceiling above which counting is skipped. Myers is O(ND) and a
|
|
24
|
+
* pathological many-MB text pair must never stall the capture activity just to
|
|
25
|
+
* decorate a list; above this the counts stay absent and the UI hides the stat.
|
|
26
|
+
* Generous relative to the 128 KiB per-side inline-persist cap — a file can be
|
|
27
|
+
* several times that and still count quickly — while bounding the worst case.
|
|
28
|
+
*/
|
|
29
|
+
export declare const LINE_COUNT_MAX_BYTES: number;
|
|
30
|
+
/** The `+N −M` pair for one file change. */
|
|
31
|
+
export interface LineChangeCounts {
|
|
32
|
+
readonly linesAdded: number;
|
|
33
|
+
readonly linesRemoved: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Count the added/removed lines between two text sides, exactly as the SDK's
|
|
37
|
+
* diff renderer would show them.
|
|
38
|
+
*
|
|
39
|
+
* An absent side is the empty document — an ADD counts every `after` line as
|
|
40
|
+
* added, a DELETE every `before` line as removed — mirroring how the renderer
|
|
41
|
+
* diffs a create/delete. `` markers are metadata,
|
|
42
|
+
* not content, and are excluded (the same rule as the SDK's `mapPatchHunks`).
|
|
43
|
+
*
|
|
44
|
+
* Returns `undefined` when counting is not possible or meaningful: both sides
|
|
45
|
+
* absent, or either side over {@link LINE_COUNT_MAX_BYTES}. Callers leave the
|
|
46
|
+
* proto counts at zero in that case, which consumers render as "no stat".
|
|
47
|
+
*/
|
|
48
|
+
export declare function countLineChanges(before: string | undefined, after: string | undefined): LineChangeCounts | undefined;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capture-time line counting for the file-review subsystem: the `+N −M` stamped
|
|
3
|
+
* onto each {@link CapturedFileChange} so review surfaces can decorate file
|
|
4
|
+
* lists without the file bodies.
|
|
5
|
+
*
|
|
6
|
+
* WHY THE RUNNER COUNTS, AND WHY WITH JSDIFF. The counts exist because the
|
|
7
|
+
* review UI's compact file lists must show per-file magnitude, but by the time
|
|
8
|
+
* the UI renders, large before/after bodies may have been offloaded to artifact
|
|
9
|
+
* storage (status-offload) — a client cannot count what it would first have to
|
|
10
|
+
* download. So the counts are computed once, at capture, where the bytes are
|
|
11
|
+
* always in hand. They are computed with the SAME `diff` (jsdiff) Myers
|
|
12
|
+
* algorithm the SDK's diff renderer uses (`computeDiff` → `structuredPatch`),
|
|
13
|
+
* NOT with `git diff --numstat`: two counting authorities can disagree on edge
|
|
14
|
+
* cases (trailing newlines being the classic), and a list that says `+37 −1`
|
|
15
|
+
* beside a rendered diff showing `+37 −0` is a self-contradicting UI. One
|
|
16
|
+
* algorithm, consistent by construction.
|
|
17
|
+
*
|
|
18
|
+
* The counts are INFORMATIONAL display data only — never an enforcement input,
|
|
19
|
+
* never folded into `file_digest`/`aggregate_digest` (the same contract as
|
|
20
|
+
* `blocked_reason`).
|
|
21
|
+
*/
|
|
22
|
+
import { structuredPatch } from "diff";
|
|
23
|
+
/**
|
|
24
|
+
* Per-side byte ceiling above which counting is skipped. Myers is O(ND) and a
|
|
25
|
+
* pathological many-MB text pair must never stall the capture activity just to
|
|
26
|
+
* decorate a list; above this the counts stay absent and the UI hides the stat.
|
|
27
|
+
* Generous relative to the 128 KiB per-side inline-persist cap — a file can be
|
|
28
|
+
* several times that and still count quickly — while bounding the worst case.
|
|
29
|
+
*/
|
|
30
|
+
export const LINE_COUNT_MAX_BYTES = 1024 * 1024;
|
|
31
|
+
/**
|
|
32
|
+
* Count the added/removed lines between two text sides, exactly as the SDK's
|
|
33
|
+
* diff renderer would show them.
|
|
34
|
+
*
|
|
35
|
+
* An absent side is the empty document — an ADD counts every `after` line as
|
|
36
|
+
* added, a DELETE every `before` line as removed — mirroring how the renderer
|
|
37
|
+
* diffs a create/delete. `` markers are metadata,
|
|
38
|
+
* not content, and are excluded (the same rule as the SDK's `mapPatchHunks`).
|
|
39
|
+
*
|
|
40
|
+
* Returns `undefined` when counting is not possible or meaningful: both sides
|
|
41
|
+
* absent, or either side over {@link LINE_COUNT_MAX_BYTES}. Callers leave the
|
|
42
|
+
* proto counts at zero in that case, which consumers render as "no stat".
|
|
43
|
+
*/
|
|
44
|
+
export function countLineChanges(before, after) {
|
|
45
|
+
if (before === undefined && after === undefined)
|
|
46
|
+
return undefined;
|
|
47
|
+
const beforeText = before ?? "";
|
|
48
|
+
const afterText = after ?? "";
|
|
49
|
+
if (Buffer.byteLength(beforeText, "utf8") > LINE_COUNT_MAX_BYTES ||
|
|
50
|
+
Buffer.byteLength(afterText, "utf8") > LINE_COUNT_MAX_BYTES) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
// Zero context: the +/- line population is independent of context width, and
|
|
54
|
+
// omitting context lines keeps the walk (and the patch object) minimal.
|
|
55
|
+
const patch = structuredPatch("a", "b", beforeText, afterText, "", "", {
|
|
56
|
+
context: 0,
|
|
57
|
+
});
|
|
58
|
+
let linesAdded = 0;
|
|
59
|
+
let linesRemoved = 0;
|
|
60
|
+
for (const hunk of patch.hunks) {
|
|
61
|
+
for (const line of hunk.lines) {
|
|
62
|
+
if (line.startsWith("\\"))
|
|
63
|
+
continue;
|
|
64
|
+
if (line[0] === "+")
|
|
65
|
+
linesAdded++;
|
|
66
|
+
else if (line[0] === "-")
|
|
67
|
+
linesRemoved++;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return { linesAdded, linesRemoved };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=line-counts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-counts.js","sourceRoot":"","sources":["../../../src/shared/filereview/line-counts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;AAQhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA0B,EAC1B,KAAyB;IAEzB,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;IAC9B,IACE,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,oBAAoB;QAC5D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,oBAAoB,EAC3D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE;QACrE,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,UAAU,EAAE,CAAC;iBAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,YAAY,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mid-run live capture — the harness-agnostic glue that turns a content-free git
|
|
3
|
+
* delta ({@link ./git-substrate.js} `captureProgressDelta`) into the transient
|
|
4
|
+
* `AgentExecutionStatus.file_change_progress` snapshot the "N files changed so
|
|
5
|
+
* far" strip renders (DD-32).
|
|
6
|
+
*
|
|
7
|
+
* THE MODEL
|
|
8
|
+
* ---------
|
|
9
|
+
* This is category 2 of the two status patterns: a runner-owned, latest-snapshot
|
|
10
|
+
* DISPLAY field, NOT the event-sourced file-review ledger. It is deliberately NOT
|
|
11
|
+
* a `FileChangeSet` — progress is never in the ledger, carries NO file bytes or
|
|
12
|
+
* digests, and is NEVER decidable. The turn-boundary CANDIDATE_CAPTURED (in
|
|
13
|
+
* `file_change_sets`) remains the single authoritative, reviewable diff; a mid-run
|
|
14
|
+
* snapshot is no more authoritative than a streamed tool-call arg.
|
|
15
|
+
*
|
|
16
|
+
* Both harnesses drive this through {@link captureFileChangeProgress} from their
|
|
17
|
+
* per-persist loop, each passing its OWN `excludePaths` (the runner-owned gate
|
|
18
|
+
* files it writes into the workspace), so progress and the turn-boundary candidate
|
|
19
|
+
* agree on what is "the agent's change". Capture is throttled by a floor +
|
|
20
|
+
* tree-sha short-circuit so a quiet turn is nearly free.
|
|
21
|
+
*
|
|
22
|
+
* SECRET SAFETY
|
|
23
|
+
* -------------
|
|
24
|
+
* No file bodies are ever carried. A secret-like path ({@link isSecretLikePath})
|
|
25
|
+
* is still surfaced (path visible) but with its line counts ZEROED — the same
|
|
26
|
+
* "path visible, content withheld" rule the ledger uses (DD-12). Nothing new can
|
|
27
|
+
* leak through this field.
|
|
28
|
+
*
|
|
29
|
+
* @since File-Change HITL Redesign (mid-run live capture / DD-32)
|
|
30
|
+
*/
|
|
31
|
+
import type { AgentExecutionStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
32
|
+
import type { FileChangeProgress } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
|
|
33
|
+
import { type ProgressDelta } from "./git-substrate.js";
|
|
34
|
+
/**
|
|
35
|
+
* Cap the per-file entry list so a turn touching thousands of files does not
|
|
36
|
+
* bloat the persisted status (which rides Temporal / the store). `files_changed`
|
|
37
|
+
* and the aggregate counts stay honest over ALL files; the strip shows "… and K
|
|
38
|
+
* more" when the list is capped.
|
|
39
|
+
*/
|
|
40
|
+
export declare const PROGRESS_MAX_ENTRIES = 200;
|
|
41
|
+
/**
|
|
42
|
+
* Minimum wall-clock gap between two mid-run captures, in ms. A floor on cost:
|
|
43
|
+
* every capture stages the working tree (`write-tree`), so we bound how often
|
|
44
|
+
* that runs regardless of persist frequency. Env-tunable for large-repo
|
|
45
|
+
* deployments; defaults to 2s (feels live without hammering git).
|
|
46
|
+
*/
|
|
47
|
+
export declare const PROGRESS_CAPTURE_MIN_INTERVAL_MS: number;
|
|
48
|
+
/**
|
|
49
|
+
* Whether enough wall-clock has elapsed since the last capture to take another.
|
|
50
|
+
* Pure and separated for direct testing (mirrors `persist-decision.ts`). A
|
|
51
|
+
* `lastAtMs` of 0 (never captured) always passes.
|
|
52
|
+
*/
|
|
53
|
+
export declare function shouldCaptureProgress(lastAtMs: number, nowMs: number, minIntervalMs?: number): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Build the transient {@link FileChangeProgress} message from a content-free git
|
|
56
|
+
* delta. Zeroes counts for secret-like paths (path visible, magnitude withheld),
|
|
57
|
+
* caps the entry list at {@link PROGRESS_MAX_ENTRIES} while keeping
|
|
58
|
+
* `files_changed`/aggregate counts honest over every file, and stamps
|
|
59
|
+
* `captured_at`. Pure and exported for direct testing.
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildFileChangeProgress(delta: ProgressDelta, changeSetId: string): FileChangeProgress;
|
|
62
|
+
/**
|
|
63
|
+
* Mutable per-turn state the caller threads across persists: the last captured
|
|
64
|
+
* tree sha (for the short-circuit) and the last capture time (for the floor).
|
|
65
|
+
* A fresh turn starts a fresh state (`{ lastAtMs: 0 }`).
|
|
66
|
+
*/
|
|
67
|
+
export interface ProgressCaptureState {
|
|
68
|
+
lastTreeSha?: string;
|
|
69
|
+
lastAtMs: number;
|
|
70
|
+
}
|
|
71
|
+
/** A fresh per-turn progress state. */
|
|
72
|
+
export declare function newProgressCaptureState(): ProgressCaptureState;
|
|
73
|
+
/**
|
|
74
|
+
* Capture-and-attach the live progress snapshot onto `status.file_change_progress`,
|
|
75
|
+
* throttled by the floor + tree-sha short-circuit. Mutates `status` and `state`
|
|
76
|
+
* in place; a no-op when the floor has not elapsed or the working tree is
|
|
77
|
+
* unchanged since the last capture. Content-free and secret-safe (see
|
|
78
|
+
* {@link buildFileChangeProgress}). Called by both harnesses from their per-persist
|
|
79
|
+
* loop; each passes its own `excludePaths`.
|
|
80
|
+
*
|
|
81
|
+
* The field is set even when the delta is now EMPTY (the agent reverted its own
|
|
82
|
+
* edits) so the strip reflects the reversion (it hides at zero) rather than
|
|
83
|
+
* showing a stale count — the server's presence-guarded merge would keep the
|
|
84
|
+
* stale value if the runner omitted the field.
|
|
85
|
+
*/
|
|
86
|
+
export declare function captureFileChangeProgress(opts: {
|
|
87
|
+
readonly status: AgentExecutionStatus;
|
|
88
|
+
readonly gitRoot: string;
|
|
89
|
+
readonly executionId: string;
|
|
90
|
+
readonly changeSetId: string;
|
|
91
|
+
readonly baselineTree: string;
|
|
92
|
+
readonly excludePaths?: readonly string[];
|
|
93
|
+
readonly state: ProgressCaptureState;
|
|
94
|
+
/** Injectable clock for tests; defaults to `Date.now()`. */
|
|
95
|
+
readonly nowMs?: number;
|
|
96
|
+
}): Promise<void>;
|