visionclaw 0.1.161 → 0.1.163

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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## [0.1.163](https://github.com/babelcloud/visionclaw/compare/v0.1.162...v0.1.163) (2026-03-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **endpoint:** update TOS endpoint to accelerate service ([80bb4a7](https://github.com/babelcloud/visionclaw/commit/80bb4a7d9a5acfcc51e76f77f91978d3e9f59751))
7
+
8
+
9
+ ### Features
10
+
11
+ * **image-pruner:** enhance image pruning functionality with orphaned tool result handling ([0be214a](https://github.com/babelcloud/visionclaw/commit/0be214a084f0aba5da198a103b632755cd913748))
12
+ * **transcript:** enhance transcript sanitization and path derivation ([b8672dc](https://github.com/babelcloud/visionclaw/commit/b8672dc9766730f58aeaf9369705eb6375d6f220))
13
+
14
+
15
+
16
+ ## [0.1.162](https://github.com/babelcloud/visionclaw/compare/v0.1.161...v0.1.162) (2026-03-22)
17
+
18
+
19
+
1
20
  ## [0.1.161](https://github.com/babelcloud/visionclaw/compare/v0.1.160...v0.1.161) (2026-03-22)
2
21
 
3
22
 
@@ -30,7 +30,7 @@ function getTosCredentials(config) {
30
30
  accessKeyId: "AKLTMzAwYTg5NTQwNDA1NGU3YzgxOWQ0NDdlMmY5MDZjODk",
31
31
  accessKeySecret: "T1RBNE4yRmlNak5pTXpjeE5ETXdNV0UyWWpVd05UVTRORGN6TVRCaU5tRQ==",
32
32
  region: "cn-beijing",
33
- endpoint: "tos-cn-beijing.volces.com",
33
+ endpoint: "tos-accelerate.volces.com",
34
34
  };
35
35
  }
36
36
  function getAgentSlug(config) {
@@ -30,7 +30,7 @@ const BUILTIN_ARCHIVE_CONFIG = {
30
30
  provider: "tos",
31
31
  bucket: "visionclaw-images",
32
32
  region: "cn-beijing",
33
- endpoint: "tos-cn-beijing.volces.com",
33
+ endpoint: "tos-accelerate.volces.com",
34
34
  accessKeyId: "AKLTMzAwYTg5NTQwNDA1NGU3YzgxOWQ0NDdlMmY5MDZjODk",
35
35
  accessKeySecret: "T1RBNE4yRmlNak5pTXpjeE5ETXdNV0UyWWpVd05UVTRORGN6TVRCaU5tRQ==",
36
36
  };
@@ -4,6 +4,7 @@ export interface PruneImagesResult {
4
4
  prunedImageBlocks: number;
5
5
  resizedImageBlocks: number;
6
6
  sanitizedEmptyTextBlocks: number;
7
+ sanitizedOrphanedToolResults: number;
7
8
  fileChanged: boolean;
8
9
  }
9
10
  /**
@@ -20,8 +21,8 @@ export declare function pruneSessionImages(options: {
20
21
  }): Promise<PruneImagesResult>;
21
22
  /**
22
23
  * Standalone transcript sanitizer: strips empty text blocks from assistant
23
- * messages without touching images. Used as a reactive repair when the API
24
- * rejects a transcript with a 400 validation error.
24
+ * messages and orphaned tool_result blocks without touching images. Used as
25
+ * a reactive repair when the API rejects a transcript with a 400 validation error.
25
26
  *
26
27
  * Returns true if the file was modified.
27
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"image-pruner.d.ts","sourceRoot":"","sources":["../../src/agent/image-pruner.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;CACtB;AAqFD;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAQnC;AAiED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkI7B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CA0ClB"}
1
+ {"version":3,"file":"image-pruner.d.ts","sourceRoot":"","sources":["../../src/agent/image-pruner.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,4BAA4B,EAAE,MAAM,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;CACtB;AAqFD;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAQnC;AAqHD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqJ7B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CA8ElB"}
@@ -129,8 +129,10 @@ async function writeFileAtomic(filePath, content) {
129
129
  /**
130
130
  * Remove empty text blocks from assistant message content arrays.
131
131
  * The Claude API rejects `{type: "text", text: ""}` on input even though the
132
- * model can produce them during streaming. Mutates the parsed line in-place
133
- * and returns the number of blocks removed.
132
+ * model can produce them during streaming. Mutates the parsed line in-place.
133
+ *
134
+ * Returns the number of empty blocks found. When ALL content blocks are empty
135
+ * text the caller should drop the entire line — signalled by returning `-1`.
134
136
  */
135
137
  function sanitizeEmptyTextBlocks(parsed) {
136
138
  if (!isObject(parsed))
@@ -147,12 +149,63 @@ function sanitizeEmptyTextBlocks(parsed) {
147
149
  const filtered = content.filter((block) => !(block.type === "text" && (!block.text || block.text.length === 0)));
148
150
  if (filtered.length === before)
149
151
  return 0;
150
- // Guard: never strip ALL blocks — keep at least one to avoid an empty message.
151
- if (filtered.length === 0)
152
- return 0;
152
+ if (filtered.length === 0) {
153
+ return -1;
154
+ }
153
155
  msg.content = filtered;
154
156
  return before - filtered.length;
155
157
  }
158
+ /**
159
+ * Collect all `tool_use` IDs from assistant messages across parsed JSONL lines.
160
+ */
161
+ function collectToolUseIds(parsedLines) {
162
+ const ids = new Set();
163
+ for (const parsed of parsedLines) {
164
+ if (!isObject(parsed))
165
+ continue;
166
+ const msg = parsed.message;
167
+ if (!isObject(msg))
168
+ continue;
169
+ if (msg.role !== "assistant")
170
+ continue;
171
+ const content = msg.content;
172
+ if (!Array.isArray(content))
173
+ continue;
174
+ for (const block of content) {
175
+ if (block.type === "tool_use" && typeof block.id === "string") {
176
+ ids.add(block.id);
177
+ }
178
+ }
179
+ }
180
+ return ids;
181
+ }
182
+ /**
183
+ * Check whether a user message line contains an orphaned `tool_result` whose
184
+ * `tool_use_id` has no matching `tool_use` in any assistant message.
185
+ * Returns the number of orphaned blocks found (the whole line should be dropped).
186
+ */
187
+ function countOrphanedToolResults(parsed, validToolUseIds) {
188
+ if (!isObject(parsed))
189
+ return 0;
190
+ const msg = parsed.message;
191
+ if (!isObject(msg))
192
+ return 0;
193
+ if (msg.role !== "user")
194
+ return 0;
195
+ const content = msg.content;
196
+ if (!Array.isArray(content))
197
+ return 0;
198
+ let orphaned = 0;
199
+ for (const block of content) {
200
+ if (block.type !== "tool_result")
201
+ continue;
202
+ const toolUseId = block.tool_use_id;
203
+ if (typeof toolUseId !== "string" || !validToolUseIds.has(toolUseId)) {
204
+ orphaned++;
205
+ }
206
+ }
207
+ return orphaned;
208
+ }
156
209
  export async function pruneSessionImages(options) {
157
210
  const { transcriptPath, keepLastNBase64Images } = options;
158
211
  const sessionId = path.basename(transcriptPath, ".jsonl").slice(0, 8);
@@ -167,6 +220,7 @@ export async function pruneSessionImages(options) {
167
220
  prunedImageBlocks: 0,
168
221
  resizedImageBlocks: 0,
169
222
  sanitizedEmptyTextBlocks: 0,
223
+ sanitizedOrphanedToolResults: 0,
170
224
  fileChanged: false,
171
225
  };
172
226
  }
@@ -201,9 +255,12 @@ export async function pruneSessionImages(options) {
201
255
  let remainingToPrune = pruneCount;
202
256
  let prunedImageBlocks = 0;
203
257
  let sanitizedEmptyTextBlocks = 0;
258
+ let sanitizedOrphanedToolResults = 0;
204
259
  let fileChanged = false;
205
260
  const keptImageRefs = [];
206
261
  const outLines = [];
262
+ const allParsed = lines.map((l) => l.parsed).filter((p) => p !== null);
263
+ const validToolUseIds = collectToolUseIds(allParsed);
207
264
  for (const entry of lines) {
208
265
  if (entry.parsed === null) {
209
266
  outLines.push(entry.raw);
@@ -211,10 +268,22 @@ export async function pruneSessionImages(options) {
211
268
  }
212
269
  // Sanitize empty text blocks produced by SDK streaming artifacts
213
270
  const stripped = sanitizeEmptyTextBlocks(entry.parsed);
271
+ if (stripped === -1) {
272
+ sanitizedEmptyTextBlocks += 1;
273
+ fileChanged = true;
274
+ continue;
275
+ }
214
276
  if (stripped > 0) {
215
277
  sanitizedEmptyTextBlocks += stripped;
216
278
  fileChanged = true;
217
279
  }
280
+ // Drop lines with orphaned tool_result blocks (no matching tool_use)
281
+ const orphaned = countOrphanedToolResults(entry.parsed, validToolUseIds);
282
+ if (orphaned > 0) {
283
+ sanitizedOrphanedToolResults += orphaned;
284
+ fileChanged = true;
285
+ continue;
286
+ }
218
287
  for (const ref of entry.imageRefs) {
219
288
  if (remainingToPrune > 0) {
220
289
  replaceBase64ImageBlock(ref, sessionId, sidecarPath, transcriptPath);
@@ -244,7 +313,7 @@ export async function pruneSessionImages(options) {
244
313
  }
245
314
  if (fileChanged) {
246
315
  await writeFileAtomic(transcriptPath, outLines.join(os.EOL) + os.EOL);
247
- logger.debug(`[image-pruner] wrote changes pruned=${prunedImageBlocks} resized=${resizedImageBlocks} sanitized=${sanitizedEmptyTextBlocks}`);
316
+ logger.debug(`[image-pruner] wrote changes pruned=${prunedImageBlocks} resized=${resizedImageBlocks} sanitized=${sanitizedEmptyTextBlocks} orphanedToolResults=${sanitizedOrphanedToolResults}`);
248
317
  }
249
318
  else {
250
319
  logger.debug("[image-pruner] completed without changes");
@@ -255,13 +324,14 @@ export async function pruneSessionImages(options) {
255
324
  prunedImageBlocks,
256
325
  resizedImageBlocks,
257
326
  sanitizedEmptyTextBlocks,
327
+ sanitizedOrphanedToolResults,
258
328
  fileChanged,
259
329
  };
260
330
  }
261
331
  /**
262
332
  * Standalone transcript sanitizer: strips empty text blocks from assistant
263
- * messages without touching images. Used as a reactive repair when the API
264
- * rejects a transcript with a 400 validation error.
333
+ * messages and orphaned tool_result blocks without touching images. Used as
334
+ * a reactive repair when the API rejects a transcript with a 400 validation error.
265
335
  *
266
336
  * Returns true if the file was modified.
267
337
  */
@@ -270,11 +340,10 @@ export async function sanitizeTranscript(transcriptPath) {
270
340
  return false;
271
341
  const input = fs.createReadStream(transcriptPath, { encoding: "utf8" });
272
342
  const rl = readline.createInterface({ input, crlfDelay: Infinity });
273
- const outLines = [];
274
- let totalStripped = 0;
343
+ const rawLines = [];
275
344
  for await (const line of rl) {
276
345
  if (!line.trim()) {
277
- outLines.push(line);
346
+ rawLines.push({ raw: line, parsed: null });
278
347
  continue;
279
348
  }
280
349
  let parsed;
@@ -282,23 +351,51 @@ export async function sanitizeTranscript(transcriptPath) {
282
351
  parsed = JSON.parse(line);
283
352
  }
284
353
  catch {
285
- outLines.push(line);
354
+ rawLines.push({ raw: line, parsed: null });
355
+ continue;
356
+ }
357
+ rawLines.push({ raw: line, parsed });
358
+ }
359
+ rl.close();
360
+ input.close();
361
+ const allParsed = rawLines.map((l) => l.parsed).filter((p) => p !== null);
362
+ const validToolUseIds = collectToolUseIds(allParsed);
363
+ let totalStrippedText = 0;
364
+ let totalStrippedOrphans = 0;
365
+ const outLines = [];
366
+ for (const entry of rawLines) {
367
+ if (entry.parsed === null) {
368
+ outLines.push(entry.raw);
369
+ continue;
370
+ }
371
+ const stripped = sanitizeEmptyTextBlocks(entry.parsed);
372
+ if (stripped === -1) {
373
+ totalStrippedText += 1;
374
+ continue;
375
+ }
376
+ totalStrippedText += stripped;
377
+ const orphaned = countOrphanedToolResults(entry.parsed, validToolUseIds);
378
+ if (orphaned > 0) {
379
+ totalStrippedOrphans += orphaned;
286
380
  continue;
287
381
  }
288
- totalStripped += sanitizeEmptyTextBlocks(parsed);
289
382
  try {
290
- outLines.push(JSON.stringify(parsed));
383
+ outLines.push(JSON.stringify(entry.parsed));
291
384
  }
292
385
  catch {
293
- outLines.push(line);
386
+ outLines.push(entry.raw);
294
387
  }
295
388
  }
296
- rl.close();
297
- input.close();
298
- if (totalStripped === 0)
389
+ const totalFixed = totalStrippedText + totalStrippedOrphans;
390
+ if (totalFixed === 0)
299
391
  return false;
300
392
  await writeFileAtomic(transcriptPath, outLines.join(os.EOL) + os.EOL);
301
- logger.system(`[transcript-sanitizer] removed ${totalStripped} empty text block(s) from ${transcriptPath}`);
393
+ const parts = [];
394
+ if (totalStrippedText > 0)
395
+ parts.push(`${totalStrippedText} empty text block(s)`);
396
+ if (totalStrippedOrphans > 0)
397
+ parts.push(`${totalStrippedOrphans} orphaned tool_result(s)`);
398
+ logger.system(`[transcript-sanitizer] removed ${parts.join(" and ")} from ${transcriptPath}`);
302
399
  return true;
303
400
  }
304
401
  //# sourceMappingURL=image-pruner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-pruner.js","sourceRoot":"","sources":["../../src/agent/image-pruner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEvG,MAAM,sBAAsB,GAC1B,8FAA8F,CAAC;AAWjG,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,yEAAyE;IACzE,IAAI,IAAI,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,KAA8B,EAC9B,SAAiB,EACjB,WAAmB,EACnB,cAAsB;IAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO;IAE9B,MAAM,YAAY,GAAG,MAAM,CAAC,IAA0B,CAAC;IACvD,MAAM,iBAAiB,GAAI,MAAM,CAAC,UAAiC,IAAI,WAAW,CAAC;IAEnF,IAAI,gBAAgB,EAAE,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACxE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;YAChC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACvC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,KAA8B;IAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,uBAAuB;YAAE,OAAO,KAAK,CAAC;QAEtD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1F,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,UAAmB;IAEnB,MAAM,IAAI,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,SAAS;YAAE,YAAY,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAa;IAChD,MAAM,IAAI,GAA8B,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QAE5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,oDAAoD;QACtD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,GAAG,EACH,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAC/D,CAAC;IACF,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,MAAe;IAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,GAAG,GAAI,MAAgC,CAAC,OAAO,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAK,GAAyB,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAI,GAA6B,CAAC,OAAO,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAI,OAAqC,CAAC,MAAM,CAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAK,KAAK,CAAC,IAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAC5F,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAEzC,+EAA+E;IAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEnC,GAA4B,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjD,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAGxC;IACC,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAE/E,MAAM,CAAC,KAAK,CACV,iCAAiC,qBAAqB,SAAS,cAAc,EAAE,CAChF,CAAC;IAEF,mDAAmD;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,OAAO;YACL,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,wBAAwB,EAAE,CAAC;YAC3B,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAQpE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACjD,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAExD,MAAM,CAAC,KAAK,CACV,4CAA4C,gBAAgB,UAAU,UAAU,SAAS,IAAI,EAAE,CAChG,CAAC;IAEF,IAAI,gBAAgB,GAAG,UAAU,CAAC;IAClC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,aAAa,GAA8B,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,wBAAwB,IAAI,QAAQ,CAAC;YACrC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBACrE,gBAAgB,IAAI,CAAC,CAAC;gBACtB,iBAAiB,IAAI,CAAC,CAAC;gBACvB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,kBAAkB,IAAI,CAAC,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CACV,uCAAuC,iBAAiB,YAAY,kBAAkB,cAAc,wBAAwB,EAAE,CAC/H,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,eAAe,EAAE,gBAAgB,GAAG,iBAAiB;QACrD,iBAAiB;QACjB,kBAAkB;QAClB,wBAAwB;QACxB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB;IAEtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjD,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,aAAa,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,CACX,kCAAkC,aAAa,6BAA6B,cAAc,EAAE,CAC7F,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"image-pruner.js","sourceRoot":"","sources":["../../src/agent/image-pruner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYpD,OAAO,EAAE,KAAK,UAAU,EAA4C,MAAM,YAAY,CAAC;AAcvF,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiD3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5I,GACA,OAAO,CAAC,IAAI,CAAC,CA8iBf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAapD,OAAO,EAAE,KAAK,UAAU,EAA4C,MAAM,YAAY,CAAC;AAgBvF,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsD3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5I,GACA,OAAO,CAAC,IAAI,CAAC,CA2jBf"}
@@ -5,7 +5,7 @@ import { MessageQueue } from "../channels/queue.js";
5
5
  import { ChannelManager } from "../channels/manager.js";
6
6
  import { ActivityTracker } from "./activity-tracker.js";
7
7
  import { shouldNotifyUpdate, getCurrentVersion } from "../utils/version-check.js";
8
- import { loadOwnerConfig, consumePendingUpgrade, } from "../config/index.js";
8
+ import { loadOwnerConfig, consumePendingUpgrade, getConfigDir, } from "../config/index.js";
9
9
  import { logger } from "../logger.js";
10
10
  import { cleanOldScreenshots } from "../tools/screenshot.js";
11
11
  import { initAgentState, registerShutdownCallback } from "./state.js";
@@ -20,11 +20,13 @@ import { ScreenshotInjector } from "./screenshot-injector.js";
20
20
  import { registerCommandHandlers } from "./command-handlers.js";
21
21
  import { buildRuntimeSurface } from "./runtime-surface.js";
22
22
  import { sanitizeTranscript } from "./image-pruner.js";
23
+ import { getClaudeTranscriptDirForProfileDir } from "../utils/claude-transcripts.js";
24
+ import path from "path";
23
25
  export { getAgentState } from "./state.js";
24
26
  const FATAL_PATTERNS = /\b(401|403|authentication|billing|unauthorized|forbidden|api.?key)\b/i;
25
27
  const RETRYABLE_PATTERNS = /\b(ECONNREFUSED|ETIMEDOUT|ENOTFOUND|EAI_AGAIN|ECONNRESET|fetch failed|socket hang up|429|529|rate.?limit|overloaded|throttl|timeout|50[0234]|service.?unavailable|bad.?gateway|internal.?server)\b/i;
26
28
  const PROMPT_TOO_LONG_PATTERNS = /\b(prompt.?is.?too.?long|too.?many.?tokens|context.?length.?exceeded|max.?tokens.?exceeded|input.{0,5}too.?long)\b/i;
27
- const CORRUPT_TRANSCRIPT_PATTERNS = /text content blocks must be non-empty|thinking.*blocks.*cannot be modified|redacted_thinking.*blocks.*cannot be modified/i;
29
+ const CORRUPT_TRANSCRIPT_PATTERNS = /text content blocks must be non-empty|thinking.*blocks.*cannot be modified|redacted_thinking.*blocks.*cannot be modified|unexpected.*tool_use_id/i;
28
30
  function classifyError(err) {
29
31
  const msg = err instanceof Error ? err.message : String(err);
30
32
  const status = err.status ??
@@ -52,6 +54,10 @@ function isCorruptTranscript(err) {
52
54
  const msg = err instanceof Error ? err.message : String(err);
53
55
  return CORRUPT_TRANSCRIPT_PATTERNS.test(msg);
54
56
  }
57
+ function deriveTranscriptPath(sessionId) {
58
+ const dir = getClaudeTranscriptDirForProfileDir(getConfigDir());
59
+ return path.join(dir, `${sessionId}.jsonl`);
60
+ }
55
61
  const REPLY_WATCHDOG_MS = 30_000;
56
62
  /**
57
63
  * Main agent loop. This is the entry point that runs forever.
@@ -389,6 +395,17 @@ export async function startAgentLoop(config, options) {
389
395
  messageContent =
390
396
  currentContentBlocks;
391
397
  }
398
+ // Proactively sanitize before sending — prevents a wasted API call
399
+ // when the transcript already has known corruption.
400
+ const tp = activeSession.getTranscriptPath();
401
+ if (tp) {
402
+ try {
403
+ await sanitizeTranscript(tp);
404
+ }
405
+ catch {
406
+ // best-effort; reactive repair in the catch block below will retry
407
+ }
408
+ }
392
409
  const queryStream = activeSession.sendAndStream(messageContent);
393
410
  if (pendingMemoAck) {
394
411
  session.ackMemosForActive();
@@ -435,7 +452,9 @@ export async function startAgentLoop(config, options) {
435
452
  }
436
453
  }
437
454
  if (isCorruptTranscript(err)) {
438
- const tp = session.activeSession.getTranscriptPath();
455
+ const sessionId = session.activeSession.getSessionId();
456
+ const tp = session.activeSession.getTranscriptPath()
457
+ ?? (sessionId ? deriveTranscriptPath(sessionId) : null);
439
458
  if (tp) {
440
459
  logger.system("Corrupt transcript detected — attempting sanitization before retry");
441
460
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,11 @@ export declare class ClaudeAgentSession implements AgentSessionLike {
118
118
  cooldownMs?: number;
119
119
  }): Promise<void>;
120
120
  getTranscriptPath(): string | null;
121
+ /**
122
+ * Derive the transcript path from the session ID and config dir, even before
123
+ * the SDK subprocess has started and reported it via hooks.
124
+ */
125
+ private deriveTranscriptPath;
121
126
  getUsageSnapshot(): {
122
127
  usedInputTokens: number;
123
128
  contextWindow: number;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/providers/claude/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/providers/claude/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EAOpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAIhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAoB7B,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,WAAW,CAAgC;IACnD,kFAAkF;IAClF,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,aAAa,CAAS;IAE9B,sEAAsE;IACtE,OAAO,CAAC,mBAAmB,CAAmC;IAE9D,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,iBAAiB,CAOT;gBAEJ,EACV,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,EAAE,2BAA2B;IAiB9B,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EAEzD;IAED;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,sBAAsB;IAY9B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;IA4MlF;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO;IAwBxD;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAalB;;OAEG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAWnB,eAAe,IAAI,OAAO;IAI1B,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAO9C,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI;IAMzD,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkIxC,oBAAoB,CAAC,QAAQ,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;IASR;;;;;OAKG;IACH,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI;IAc3D,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDjB,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAK5B,gBAAgB,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIpH,oEAAoE;IACpE,eAAe,IAAI,KAAK,GAAG,IAAI;IAI/B,iFAAiF;IACjF,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAI5E,kDAAkD;IAClD,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGhE"}
@@ -7,6 +7,7 @@ import { getAgentState } from "../../state.js";
7
7
  import { createRequire } from "module";
8
8
  import path from "path";
9
9
  import fs from "fs";
10
+ import { getClaudeTranscriptDirForProfileDir } from "../../../utils/claude-transcripts.js";
10
11
  import { ensureBrowser } from "../../browser-launcher.js";
11
12
  import * as imagePrunerUnTyped from "../../image-pruner.js";
12
13
  import * as sessionTrimmerUnTyped from "../../session-trimmer.js";
@@ -429,6 +430,17 @@ export class ClaudeAgentSession {
429
430
  sendCompactNotice("My brain is getting full... Let me tidy up my thoughts. This may take a minute — I might forget some older details.");
430
431
  }
431
432
  logger.debug(`Compaction query options: cli=${sdkCliPath} cwd=${getConfigDir()} resume=${savedSessionId}`);
433
+ // Sanitize the transcript before compaction — the compact subprocess
434
+ // loads the file on startup, so any corrupt entries must be fixed first.
435
+ const tp = this.transcriptPath ?? (savedSessionId ? this.deriveTranscriptPath(savedSessionId) : null);
436
+ if (tp) {
437
+ try {
438
+ await imagePruner.sanitizeTranscript(tp);
439
+ }
440
+ catch (sanitizeErr) {
441
+ logger.warn(`Pre-compact sanitization failed: ${sanitizeErr instanceof Error ? sanitizeErr.message : String(sanitizeErr)}`);
442
+ }
443
+ }
432
444
  for await (const msg of query({
433
445
  prompt: "/compact",
434
446
  options,
@@ -528,6 +540,14 @@ export class ClaudeAgentSession {
528
540
  getTranscriptPath() {
529
541
  return this.transcriptPath;
530
542
  }
543
+ /**
544
+ * Derive the transcript path from the session ID and config dir, even before
545
+ * the SDK subprocess has started and reported it via hooks.
546
+ */
547
+ deriveTranscriptPath(sessionId) {
548
+ const dir = getClaudeTranscriptDirForProfileDir(getConfigDir());
549
+ return path.join(dir, `${sessionId}.jsonl`);
550
+ }
531
551
  getUsageSnapshot() {
532
552
  return this.lastUsageSnapshot ? { ...this.lastUsageSnapshot } : null;
533
553
  }