litmus-cli 1.4.39 → 1.4.40

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.
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwF,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI1I,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAgChC,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEjH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,WAAW;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAwJD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,GAAG,SAAsC,GACzD,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAoDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD,OAAO,GAAG,SAAS,GAAG,MAAM,CAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD;IAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2vBlE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwF,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI1I,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAkChC,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEjH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,WAAW;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAwJD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,GAAG,SAAsC,GACzD,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAoDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD,OAAO,GAAG,SAAS,GAAG,MAAM,CAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD;IAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4wBlE"}
@@ -23,7 +23,7 @@ import { setupAiTracking } from "./init.js";
23
23
  import { fetchSubmitStatus, fetchInitMetadata, uploadActivityEvents, ServerError } from "../lib/api.js";
24
24
  import { resolveApiBase, resolveBackendBase } from "../lib/api-base.js";
25
25
  import { resolveAssessmentToken } from "../lib/workspace-token.js";
26
- import { collectBackfillSessions, planUploadBatches, defaultClaudeProjectsDir, } from "../lib/backfill.js";
26
+ import { collectBackfillSessions, withoutCapturedEvents, planUploadBatches, defaultClaudeProjectsDir, } from "../lib/backfill.js";
27
27
  import { pruneShadows, readShadowTrackerFile, shadowTrackerFileMtime, shadowLogPath } from "../lib/shadow.js";
28
28
  import { collectToolBackfillSources } from "../lib/backfill-tools.js";
29
29
  import { CLI_VERSION } from "../lib/version.js";
@@ -963,6 +963,9 @@ export async function runDoctor(opts) {
963
963
  sinceMs = isNaN(started) ? null : started;
964
964
  sinceLabel = sinceMs === null ? "the beginning" : `your assessment start (${new Date(sinceMs).toISOString()})`;
965
965
  }
966
+ // ENG-2793: what the log already holds is not recovered again.
967
+ let alreadyCaptured = 0;
968
+ const replyReceipts = new Map();
966
969
  const scans = [
967
970
  {
968
971
  source: "claude_transcript",
@@ -980,7 +983,13 @@ export async function runDoctor(opts) {
980
983
  allSessions: opts.allSessions === true,
981
984
  sinceMs,
982
985
  }),
983
- ];
986
+ ].map((s) => {
987
+ const kept = withoutCapturedEvents(s.sessions, logText);
988
+ alreadyCaptured += kept.skipped;
989
+ for (const [e, receipt] of kept.receipts)
990
+ replyReceipts.set(e, receipt);
991
+ return { ...s, sessions: kept.sessions };
992
+ });
984
993
  const scopeLabel = opts.allSessions === true
985
994
  ? "every AI session on this machine (Claude, Codex, Gemini, Copilot, Cursor)"
986
995
  : "AI sessions in this assessment folder (Claude, Codex, Gemini, Copilot, Cursor)";
@@ -992,7 +1001,7 @@ export async function runDoctor(opts) {
992
1001
  const skippedOversized = scans.reduce((n, s) => n + s.skippedOversized.length, 0);
993
1002
  const unreadable = scans.reduce((n, s) => n + s.unreadable.length, 0);
994
1003
  const notes = scans.flatMap((s) => s.notes);
995
- const scanStats = `scanned ${scannedFiles} session records, ${skippedOversized} oversized, ${unreadable} unreadable${notes.length ? `; ${notes.join("; ")}` : ""}`;
1004
+ const scanStats = `scanned ${scannedFiles} session records, ${skippedOversized} oversized, ${unreadable} unreadable, ${alreadyCaptured} already in the activity log${notes.length ? `; ${notes.join("; ")}` : ""}`;
996
1005
  if (allEvents.length === 0) {
997
1006
  record({
998
1007
  name: "backfill",
@@ -1015,10 +1024,18 @@ export async function runDoctor(opts) {
1015
1024
  catch { /* upload is the real delivery; the summary event below still records the run */ }
1016
1025
  let uploaded = 0;
1017
1026
  let failure = null;
1027
+ // ENG-2793: replies are upload-only, so the summary line below carries a
1028
+ // digest of each one that reached the server, and the next run skips them.
1029
+ const sentReplies = [];
1018
1030
  for (const batch of planUploadBatches(allEvents)) {
1019
1031
  try {
1020
1032
  await uploadActivityEvents(backendUrl, requestToken, batch);
1021
1033
  uploaded += batch.length;
1034
+ for (const e of batch) {
1035
+ const receipt = replyReceipts.get(e);
1036
+ if (receipt)
1037
+ sentReplies.push(receipt);
1038
+ }
1022
1039
  }
1023
1040
  catch (err) {
1024
1041
  failure = err instanceof Error ? err.message : String(err);
@@ -1032,6 +1049,7 @@ export async function runDoctor(opts) {
1032
1049
  sessions: sessions.length,
1033
1050
  prompts: promptCount,
1034
1051
  responses: responseCount,
1052
+ alreadyCaptured,
1035
1053
  uploaded,
1036
1054
  skippedOversized,
1037
1055
  unreadable,
@@ -1053,6 +1071,7 @@ export async function runDoctor(opts) {
1053
1071
  cliVersion: CLI_VERSION,
1054
1072
  sources: scans.filter((s) => s.sessions.length > 0).map((s) => s.source),
1055
1073
  ...backfillSummary,
1074
+ sentReplies,
1056
1075
  }) + "\n");
1057
1076
  }
1058
1077
  catch { /* nothing else to do locally */ }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,10 @@
21
21
  * 2. Prefer over-capture to under-capture, within the declared scope. The
22
22
  * default scope is sessions whose recorded cwd sits inside the assessment
23
23
  * directory; `--all-sessions` widens to every session on the machine for
24
- * support-guided recoveries. Re-running the backfill can duplicate events
25
- * server-side — accepted, because the provenance flag makes duplicates
26
- * identifiable and the server store is append-only.
24
+ * support-guided recoveries. Events already in `.litmus/activity.jsonl`
25
+ * (the hook's copy, or an earlier recovery's) are not sent again
26
+ * (`withoutCapturedEvents`, ENG-2793); anything that still duplicates is
27
+ * identifiable by the provenance flag, and the report folds it.
27
28
  *
28
29
  * Parsing mirrors the hook-logger's Stop-hook transcript reader
29
30
  * (parseClaudeTranscript in hook-logger.cjs): same entry filtering
@@ -121,4 +122,46 @@ export declare function collectBackfillSessions(opts: {
121
122
  }): BackfillScan;
122
123
  /** Filter a session's events to the window; null keeps everything. */
123
124
  export declare function windowEvents(events: BackfillEvent[], sinceMs: number | null): BackfillEvent[];
125
+ /**
126
+ * ENG-2793: drop the events `activityLog` already holds, whether the hook wrote
127
+ * them or an earlier recovery did.
128
+ *
129
+ * The window above only trims by time, so a forced run, or an automatic one
130
+ * whose gap overlaps live capture, re-sent turns the hook had captured under
131
+ * fresh ids. Measured on production: 150 of 219 recovered Claude prompts and 144
132
+ * of 186 replies had a hook copy with the same words in the same session, and
133
+ * the report showed both.
134
+ *
135
+ * A PROMPT is held by a logged prompt with the same words, in the same tool and
136
+ * session, one logged copy per recovered copy, closest in time first within
137
+ * `CAPTURE_TWIN_WINDOW_MS`.
138
+ *
139
+ * A `tsApproximate` copy is never held: Cursor recovery spaces a conversation
140
+ * 1 ms apart, so neither its stamp nor its order says which turn it is, and a
141
+ * wrong match would leave a missed turn unsent where no match only sends a copy
142
+ * twice. A file-timed store's copy goes through the window like any other. No
143
+ * Cursor, Gemini or Copilot recovered event on production has a hook twin in its
144
+ * session (0 of 144).
145
+ *
146
+ * A REPLY is read against the hook replies stamped inside ITS RECOVERED TURN:
147
+ * from its recovered prompt up to the next one. The transcript's clock and the
148
+ * hook's are the same machine's, a Stop fires after the turn's last message and
149
+ * before the next prompt, and this holds whether or not the prompt hook caught the
150
+ * turn. The hook sends a reply per Stop and the transcript joins the turn, so
151
+ * * those hook replies joined by a blank line equal to it: held;
152
+ * * they are its head: only the rest is recovered;
153
+ * * there are none: held only on an earlier run's receipt FOR THIS TURN
154
+ * (`backfill_run.sentReplies`; replies are upload-only);
155
+ * * anything else: recovered.
156
+ * A session left with no events is dropped.
157
+ *
158
+ * `receipts` gives each reply that is to be sent the digest doctor records once it
159
+ * reaches the server: the reply's words and its recovered turn's prompt stamp, so
160
+ * a receipt only ever answers for the turn it was written for.
161
+ */
162
+ export declare function withoutCapturedEvents(sessions: SessionBackfill[], activityLog: string): {
163
+ sessions: SessionBackfill[];
164
+ skipped: number;
165
+ receipts: Map<BackfillEvent, string>;
166
+ };
124
167
  //# sourceMappingURL=backfill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import os from "os";
4
+ import { createHash } from "crypto";
4
5
  /**
5
6
  * Prompt backfill from Claude Code's own session transcripts (`litmus doctor
6
7
  * --backfill-prompts`).
@@ -24,9 +25,10 @@ import os from "os";
24
25
  * 2. Prefer over-capture to under-capture, within the declared scope. The
25
26
  * default scope is sessions whose recorded cwd sits inside the assessment
26
27
  * directory; `--all-sessions` widens to every session on the machine for
27
- * support-guided recoveries. Re-running the backfill can duplicate events
28
- * server-side — accepted, because the provenance flag makes duplicates
29
- * identifiable and the server store is append-only.
28
+ * support-guided recoveries. Events already in `.litmus/activity.jsonl`
29
+ * (the hook's copy, or an earlier recovery's) are not sent again
30
+ * (`withoutCapturedEvents`, ENG-2793); anything that still duplicates is
31
+ * identifiable by the provenance flag, and the report folds it.
30
32
  *
31
33
  * Parsing mirrors the hook-logger's Stop-hook transcript reader
32
34
  * (parseClaudeTranscript in hook-logger.cjs): same entry filtering
@@ -359,4 +361,202 @@ export function windowEvents(events, sinceMs) {
359
361
  return !isNaN(t) && t >= sinceMs;
360
362
  });
361
363
  }
364
+ /** Identity of a captured event for `withoutCapturedEvents`: kind, tool,
365
+ * session and words. */
366
+ function capturedKey(e) {
367
+ return JSON.stringify([e.type, e.tool, e.sessionId ?? "", e.type === "ai_response" ? e.text : e.prompt]);
368
+ }
369
+ /** How far apart the hook's copy of a prompt and the transcript's may be stamped
370
+ * and still be one capture. The frontend's `PROMPT_TWIN_WINDOW_MS`; the widest gap
371
+ * measured on production was 105 s. */
372
+ const CAPTURE_TWIN_WINDOW_MS = 120000;
373
+ /**
374
+ * ENG-2793: drop the events `activityLog` already holds, whether the hook wrote
375
+ * them or an earlier recovery did.
376
+ *
377
+ * The window above only trims by time, so a forced run, or an automatic one
378
+ * whose gap overlaps live capture, re-sent turns the hook had captured under
379
+ * fresh ids. Measured on production: 150 of 219 recovered Claude prompts and 144
380
+ * of 186 replies had a hook copy with the same words in the same session, and
381
+ * the report showed both.
382
+ *
383
+ * A PROMPT is held by a logged prompt with the same words, in the same tool and
384
+ * session, one logged copy per recovered copy, closest in time first within
385
+ * `CAPTURE_TWIN_WINDOW_MS`.
386
+ *
387
+ * A `tsApproximate` copy is never held: Cursor recovery spaces a conversation
388
+ * 1 ms apart, so neither its stamp nor its order says which turn it is, and a
389
+ * wrong match would leave a missed turn unsent where no match only sends a copy
390
+ * twice. A file-timed store's copy goes through the window like any other. No
391
+ * Cursor, Gemini or Copilot recovered event on production has a hook twin in its
392
+ * session (0 of 144).
393
+ *
394
+ * A REPLY is read against the hook replies stamped inside ITS RECOVERED TURN:
395
+ * from its recovered prompt up to the next one. The transcript's clock and the
396
+ * hook's are the same machine's, a Stop fires after the turn's last message and
397
+ * before the next prompt, and this holds whether or not the prompt hook caught the
398
+ * turn. The hook sends a reply per Stop and the transcript joins the turn, so
399
+ * * those hook replies joined by a blank line equal to it: held;
400
+ * * they are its head: only the rest is recovered;
401
+ * * there are none: held only on an earlier run's receipt FOR THIS TURN
402
+ * (`backfill_run.sentReplies`; replies are upload-only);
403
+ * * anything else: recovered.
404
+ * A session left with no events is dropped.
405
+ *
406
+ * `receipts` gives each reply that is to be sent the digest doctor records once it
407
+ * reaches the server: the reply's words and its recovered turn's prompt stamp, so
408
+ * a receipt only ever answers for the turn it was written for.
409
+ */
410
+ export function withoutCapturedEvents(sessions, activityLog) {
411
+ const sessionOf = (e) => JSON.stringify([e.tool, e.sessionId ?? ""]);
412
+ const receiptOf = (e, turnTs) => createHash("sha256").update(JSON.stringify([capturedKey(e), turnTs])).digest("hex").slice(0, 16);
413
+ const sentReceipts = new Map();
414
+ const takeReceipt = (d) => {
415
+ const n = sentReceipts.get(d) ?? 0;
416
+ if (n === 0)
417
+ return false;
418
+ sentReceipts.set(d, n - 1);
419
+ return true;
420
+ };
421
+ const loggedPrompts = new Map();
422
+ // Every hook reply of a session, in log order, with its stamp.
423
+ const hookReplies = new Map();
424
+ let id = 0;
425
+ for (const line of activityLog.split("\n")) {
426
+ let e;
427
+ try {
428
+ e = JSON.parse(line);
429
+ }
430
+ catch {
431
+ continue;
432
+ }
433
+ if (!e || typeof e !== "object")
434
+ continue;
435
+ if (e.type === "backfill_run" && Array.isArray(e.sentReplies)) {
436
+ for (const d of e.sentReplies)
437
+ if (typeof d === "string")
438
+ sentReceipts.set(d, (sentReceipts.get(d) ?? 0) + 1);
439
+ continue;
440
+ }
441
+ const tsMs = Date.parse(String(e.ts));
442
+ if (e.type === "ai_prompt" && !Number.isNaN(tsMs)) {
443
+ const k = capturedKey(e);
444
+ loggedPrompts.set(k, [...(loggedPrompts.get(k) ?? []), { tsMs, id: id++ }]);
445
+ }
446
+ if (e.type === "ai_response" && typeof e.text === "string" && e.backfilled !== true) {
447
+ const k = sessionOf(e);
448
+ hookReplies.set(k, [...(hookReplies.get(k) ?? []), { text: e.text, tsMs, used: false }]);
449
+ }
450
+ }
451
+ for (const copies of loggedPrompts.values())
452
+ copies.sort((x, y) => x.tsMs - y.tsMs || x.id - y.id);
453
+ // Prompts: closest in time first inside the window, by binary search.
454
+ const heldPrompts = new Set();
455
+ const answered = new Set();
456
+ const candidates = [];
457
+ let order = 0;
458
+ for (const s of sessions) {
459
+ for (const e of s.events) {
460
+ order += 1;
461
+ if (e.type !== "ai_prompt" || e.tsApproximate === true)
462
+ continue;
463
+ const at = Date.parse(e.ts);
464
+ if (Number.isNaN(at))
465
+ continue;
466
+ const copies = loggedPrompts.get(capturedKey(e)) ?? [];
467
+ let lo = 0;
468
+ let hi = copies.length;
469
+ while (lo < hi) {
470
+ const mid = (lo + hi) >> 1;
471
+ if (copies[mid].tsMs < at - CAPTURE_TWIN_WINDOW_MS)
472
+ lo = mid + 1;
473
+ else
474
+ hi = mid;
475
+ }
476
+ for (let i = lo; i < copies.length && copies[i].tsMs <= at + CAPTURE_TWIN_WINDOW_MS; i++) {
477
+ candidates.push([Math.abs(copies[i].tsMs - at), order, e, copies[i].id]);
478
+ }
479
+ }
480
+ }
481
+ candidates.sort((x, y) => x[0] - y[0] || x[1] - y[1] || x[3] - y[3]);
482
+ for (const [, , e, logged] of candidates) {
483
+ if (heldPrompts.has(e) || answered.has(logged))
484
+ continue;
485
+ answered.add(logged);
486
+ heldPrompts.add(e);
487
+ }
488
+ let skipped = 0;
489
+ const receipts = new Map();
490
+ const kept = [];
491
+ for (const s of sessions) {
492
+ const events = [];
493
+ // Each reply's turn: from the recovered prompt before it to the next one.
494
+ const turnStart = new Map();
495
+ let start = { ts: "", ms: -Infinity };
496
+ const pending = [];
497
+ const close = (endMs) => {
498
+ for (const r of pending)
499
+ turnStart.set(r, { ts: start.ts, startMs: start.ms, endMs });
500
+ pending.length = 0;
501
+ };
502
+ for (const e of s.events) {
503
+ if (e.type === "ai_prompt") {
504
+ const ms = Date.parse(e.ts);
505
+ close(Number.isNaN(ms) ? Infinity : ms);
506
+ start = { ts: e.ts, ms: Number.isNaN(ms) ? -Infinity : ms };
507
+ }
508
+ else {
509
+ pending.push(e);
510
+ }
511
+ }
512
+ close(Infinity);
513
+ for (const e of s.events) {
514
+ if (e.type === "ai_prompt") {
515
+ if (heldPrompts.has(e))
516
+ skipped += 1;
517
+ else
518
+ events.push(e);
519
+ continue;
520
+ }
521
+ const turn = turnStart.get(e);
522
+ const text = e.text ?? "";
523
+ const replies = hookReplies.get(sessionOf(e)) ?? [];
524
+ const send = (out) => {
525
+ const receipt = receiptOf(out, turn.ts);
526
+ if (takeReceipt(receipt)) {
527
+ skipped += 1;
528
+ return;
529
+ }
530
+ receipts.set(out, receipt);
531
+ events.push(out);
532
+ };
533
+ if (e.tsApproximate === true) {
534
+ send(e);
535
+ continue;
536
+ }
537
+ const inTurn = replies.filter((r) => !r.used && r.tsMs >= turn.startMs && r.tsMs < turn.endMs);
538
+ const joined = inTurn.map((r) => r.text).join("\n\n");
539
+ for (const r of inTurn)
540
+ r.used = true;
541
+ if (inTurn.length > 0 && text === joined) {
542
+ skipped += 1;
543
+ }
544
+ else if (inTurn.length > 0 && text.startsWith(joined + "\n\n")) {
545
+ send({ ...e, text: text.slice(joined.length + 2) });
546
+ }
547
+ else {
548
+ send(e);
549
+ }
550
+ }
551
+ if (events.length === 0)
552
+ continue;
553
+ kept.push({
554
+ ...s,
555
+ events,
556
+ prompts: events.filter((e) => e.type === "ai_prompt").length,
557
+ responses: events.filter((e) => e.type === "ai_response").length,
558
+ });
559
+ }
560
+ return { sessions: kept, skipped, receipts };
561
+ }
362
562
  //# sourceMappingURL=backfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
@@ -919,7 +919,7 @@ function parseClaudeTranscript(raw) {
919
919
  if (entry.type !== "assistant" || !Array.isArray(content)) continue
920
920
  for (const block of content) {
921
921
  if (block && block.type === "text" && typeof block.text === "string" && block.text) {
922
- collected.push(block.text)
922
+ collected.push({ id: typeof entry.uuid === "string" ? entry.uuid : null, text: block.text })
923
923
  }
924
924
  }
925
925
  // An assistant entry whose last block is tool_use is mid-turn; prose means
@@ -928,7 +928,8 @@ function parseClaudeTranscript(raw) {
928
928
  tail = lastBlock && lastBlock.type === "tool_use" ? "tool" : "text"
929
929
  }
930
930
  return {
931
- text: collected.length ? collected.join("\n\n") : null,
931
+ text: collected.length ? collected.map((b) => b.text).join("\n\n") : null,
932
+ blocks: collected,
932
933
  tailComplete: tail === "text",
933
934
  }
934
935
  }
@@ -986,8 +987,13 @@ function readSettledTranscript(transcriptPath, parse) {
986
987
  }
987
988
  }
988
989
 
990
+ // The whole parse, not just its text: `blocks` carries each block's entry id,
991
+ // which is what lets a later Stop send only what this one did not (ENG-2793).
989
992
  function readClaudeTranscriptResponse(transcriptPath) {
990
- return readSettledTranscript(transcriptPath, raw => parseClaudeTranscript(raw).text)
993
+ return readSettledTranscript(transcriptPath, (raw) => {
994
+ const parsed = parseClaudeTranscript(raw)
995
+ return parsed.text ? parsed : null
996
+ })
991
997
  }
992
998
 
993
999
  /**
@@ -1037,12 +1043,13 @@ function parseCopilotTranscript(raw) {
1037
1043
  }
1038
1044
  if (entry.type === "assistant.message" && entry.data
1039
1045
  && typeof entry.data.content === "string" && entry.data.content) {
1040
- collected.push(entry.data.content)
1046
+ collected.push({ id: typeof entry.id === "string" ? entry.id : null, text: entry.data.content })
1041
1047
  tail = "text"
1042
1048
  }
1043
1049
  }
1044
1050
  return {
1045
- text: collected.length ? collected.join("\n\n") : null,
1051
+ text: collected.length ? collected.map((b) => b.text).join("\n\n") : null,
1052
+ blocks: collected,
1046
1053
  tailComplete: tail === "text",
1047
1054
  }
1048
1055
  }
@@ -1051,7 +1058,10 @@ function readCopilotTranscriptResponse(transcriptPath) {
1051
1058
  // VS Code flushes before running the hook but bounds that flush at 500ms,
1052
1059
  // and the Copilot CLI's flush behavior is undocumented — so wait for
1053
1060
  // quiescence like the others.
1054
- return readSettledTranscript(transcriptPath, raw => parseCopilotTranscript(raw).text)
1061
+ return readSettledTranscript(transcriptPath, (raw) => {
1062
+ const parsed = parseCopilotTranscript(raw)
1063
+ return parsed.text ? parsed : null
1064
+ })
1055
1065
  }
1056
1066
 
1057
1067
  /**
@@ -1175,8 +1185,10 @@ function extractResponse(data, toolName) {
1175
1185
  // Claude Code Stop payload: { session_id, transcript_path, cwd,
1176
1186
  // hook_event_name, stop_hook_active }. The response text is not in the
1177
1187
  // payload — read it from the transcript.
1188
+ const parsed = readClaudeTranscriptResponse(data.transcript_path)
1178
1189
  return {
1179
- text: readClaudeTranscriptResponse(data.transcript_path),
1190
+ text: parsed ? parsed.text : null,
1191
+ blocks: parsed ? parsed.blocks : null,
1180
1192
  sessionId: data.session_id || null,
1181
1193
  }
1182
1194
  }
@@ -1220,8 +1232,10 @@ function extractResponse(data, toolName) {
1220
1232
  // Copilot Stop (both surfaces, via the PascalCase config spelling):
1221
1233
  // { hook_event_name: "Stop", session_id, transcript_path, ... }. The
1222
1234
  // response is in the transcript, not the payload.
1235
+ const parsed = readCopilotTranscriptResponse(data.transcript_path || data.transcriptPath)
1223
1236
  return {
1224
- text: readCopilotTranscriptResponse(data.transcript_path || data.transcriptPath),
1237
+ text: parsed ? parsed.text : null,
1238
+ blocks: parsed ? parsed.blocks : null,
1225
1239
  sessionId: data.session_id || data.sessionId || null,
1226
1240
  }
1227
1241
  }
@@ -1377,6 +1391,51 @@ function currentTurnRecord(sessionId) {
1377
1391
  }
1378
1392
  }
1379
1393
 
1394
+ // ── What a Stop has already sent (ENG-2793) ──────────────────────────
1395
+ // The Claude and Copilot readers collect every assistant message since the last
1396
+ // genuine user entry in the transcript. A Stop that fires again before one is
1397
+ // written collects the previous reply as well, and the report showed it twice:
1398
+ // measured on production, 258 hook replies began with the previous reply and a
1399
+ // blank line. So each Stop records the transcript entry its reply ended on, and
1400
+ // the next one sends only the blocks written after it. Kept beside the turn file
1401
+ // rather than in it, because `startTurn` rewrites that one on every prompt and a
1402
+ // re-send crosses prompts as often as not. A transcript without entry ids
1403
+ // records nothing and sends what it collected, as before.
1404
+
1405
+ function repliedFile(sessionId) {
1406
+ return turnFile(sessionId).replace(/\.json$/, ".replied.json")
1407
+ }
1408
+
1409
+ /** The entry id the session's last captured reply ended on, if any. */
1410
+ function lastRepliedEntry(sessionId) {
1411
+ if (!sessionId) return null
1412
+ try {
1413
+ const data = JSON.parse(fs.readFileSync(repliedFile(sessionId), "utf8"))
1414
+ return typeof data.entryId === "string" ? data.entryId : null
1415
+ } catch {
1416
+ return null
1417
+ }
1418
+ }
1419
+
1420
+ function recordRepliedEntry(sessionId, entryId) {
1421
+ if (!sessionId || !entryId) return
1422
+ try {
1423
+ fs.mkdirSync(TURNS_DIR, { recursive: true })
1424
+ fs.writeFileSync(repliedFile(sessionId), JSON.stringify({ entryId, ts: Date.now() }))
1425
+ } catch {
1426
+ // Unwritable: the next reply may repeat this one, which the report folds.
1427
+ }
1428
+ }
1429
+
1430
+ /** The blocks written after `entryId`. All of them when it is not among them,
1431
+ * because then a genuine prompt has started collection again since. */
1432
+ function unsentBlocks(blocks, entryId) {
1433
+ if (!entryId) return blocks
1434
+ let at = -1
1435
+ blocks.forEach((b, i) => { if (b.id === entryId) at = i })
1436
+ return at < 0 ? blocks : blocks.slice(at + 1)
1437
+ }
1438
+
1380
1439
  // ── Cursor's agent edits (ENG-2344) ──────────────────────────────────
1381
1440
  // Composer routes its model traffic to Cursor's own backend, so neither the
1382
1441
  // gateway nor the in-container MITM ever sees the tool call that writes a file
@@ -1777,12 +1836,20 @@ async function main() {
1777
1836
  let sessionId = null
1778
1837
  let workspaceRoots = []
1779
1838
  let responseMeta = null
1839
+ // ENG-2793: the entry this reply ends on, recorded once the reply is written.
1840
+ let repliedEntry = null
1780
1841
  if (responseEvent) {
1781
1842
  const extracted = extractResponse(parsed, effectiveTool)
1782
1843
  content = extracted.text
1783
1844
  sessionId = extracted.sessionId
1784
1845
  workspaceRoots = extracted.workspaceRoots || []
1785
1846
  responseMeta = extracted.meta || null
1847
+ const blocks = extracted.blocks
1848
+ if (blocks && blocks.length && sessionId && !selftestNonce) {
1849
+ const unsent = unsentBlocks(blocks, lastRepliedEntry(sessionId))
1850
+ content = unsent.length ? unsent.map((b) => b.text).join("\n\n") : null
1851
+ repliedEntry = blocks[blocks.length - 1].id
1852
+ }
1786
1853
  } else {
1787
1854
  const extracted = extractPrompt(raw, effectiveTool)
1788
1855
  content = extracted.prompt
@@ -1907,6 +1974,10 @@ async function main() {
1907
1974
  } catch {
1908
1975
  // Non-critical
1909
1976
  }
1977
+ // ENG-2793: the next Stop starts after this reply only once a copy of it is
1978
+ // on disk. The drain and the upload report no outcome, so a reply whose append
1979
+ // failed is sent again by the next Stop, and the report folds the repeat.
1980
+ if (repliedEntry && logged) recordRepliedEntry(sessionId, repliedEntry)
1910
1981
  // ENG-2344: the edits this reply carries leave the ledger only now that the
1911
1982
  // reply is on disk. An append that failed hands them back for the next reply.
1912
1983
  if (editLedger) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litmus-cli",
3
- "version": "1.4.39",
3
+ "version": "1.4.40",
4
4
  "description": "CLI tool for Litmus engineering assessments",
5
5
  "license": "MIT",
6
6
  "author": "elenazhao",