@pentoshi/clai 4.11.4 → 4.11.7

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.
Files changed (40) hide show
  1. package/dist/agent/compaction-executor.js +12 -0
  2. package/dist/agent/compaction-executor.js.map +1 -1
  3. package/dist/agent/context-manager.js +3 -7
  4. package/dist/agent/context-manager.js.map +1 -1
  5. package/dist/agent/message-slim.d.ts +2 -0
  6. package/dist/agent/message-slim.js +63 -3
  7. package/dist/agent/message-slim.js.map +1 -1
  8. package/dist/agent/request-accounting.js +1 -1
  9. package/dist/agent/request-accounting.js.map +1 -1
  10. package/dist/agent/runner.js +60 -29
  11. package/dist/agent/runner.js.map +1 -1
  12. package/dist/agent/tool-call-parser.js +2 -1
  13. package/dist/agent/tool-call-parser.js.map +1 -1
  14. package/dist/agent/tool-history-projection.d.ts +7 -0
  15. package/dist/agent/tool-history-projection.js +455 -0
  16. package/dist/agent/tool-history-projection.js.map +1 -0
  17. package/dist/agent/tool-history.d.ts +7 -10
  18. package/dist/agent/tool-history.js +155 -151
  19. package/dist/agent/tool-history.js.map +1 -1
  20. package/dist/app/controllers/session-compact-helper.js +14 -7
  21. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  22. package/dist/app/controllers/session-controller.js +3 -2
  23. package/dist/app/controllers/session-controller.js.map +1 -1
  24. package/dist/prompts/embedded.js +1 -1
  25. package/dist/prompts/embedded.js.map +1 -1
  26. package/dist/prompts/index.js +2 -1
  27. package/dist/prompts/index.js.map +1 -1
  28. package/dist/prompts/system.agent.md +2 -2
  29. package/dist/tools/registry.js +6 -2
  30. package/dist/tools/registry.js.map +1 -1
  31. package/dist/tui-v2/bootstrap/resize-repaint.js +7 -1
  32. package/dist/tui-v2/bootstrap/resize-repaint.js.map +1 -1
  33. package/dist/tui-v2/bootstrap/start-tui-v2.js +6 -1
  34. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  35. package/dist/ui-core/bootstrap/theme-mode-cache.d.ts +3 -0
  36. package/dist/ui-core/bootstrap/theme-mode-cache.js +45 -0
  37. package/dist/ui-core/bootstrap/theme-mode-cache.js.map +1 -0
  38. package/dist/version.generated.d.ts +2 -2
  39. package/dist/version.generated.js +2 -2
  40. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  import { legacyReasoningBlockFromArtifacts, rebindReasoningArtifactsToToolCalls, reasoningArtifactsForPersistence, } from "../llm/reasoning-artifacts.js";
2
2
  import { syntheticToolCallId } from "../llm/tool-protocol.js";
3
- import { SLIM_ARG_ABSOLUTE_MAX_CHARS, slimToolArgs, } from "./message-slim.js";
3
+ import { SLIM_ARG_ABSOLUTE_MAX_CHARS, stripSupersededElidedArgs, } from "./message-slim.js";
4
+ import { collapseElidedToolHistory, collapseOversizedToolHistory, MAX_RETAINED_COMPLETED_TOOL_ARGUMENT_CHARS, normalizeToolHistoryEntries, parseCanonicalTextToolCalls, PROTOCOL_PLACEHOLDER_MARKER, } from "./tool-history-projection.js";
4
5
  import { isSessionStateMessage } from "./session-state.js";
5
6
  import { isActiveSkillsMessage, isAgentInstructionsMessage, } from "./injected-blocks.js";
7
+ export { MAX_RETAINED_COMPLETED_TOOL_ARGUMENT_CHARS, PROTOCOL_PLACEHOLDER_MARKER, };
6
8
  function isBenignTrailingSystemBlock(content) {
7
9
  return (isSessionStateMessage(content) ||
8
10
  isAgentInstructionsMessage(content) ||
@@ -104,13 +106,17 @@ function rewriteConflictingToolCallIds(messages) {
104
106
  }
105
107
  return repairs;
106
108
  }
107
- /**
108
- * History copy of toolCalls: slim large write payloads so RAM and API
109
- * re-sends do not retain full file bodies (tools already ran from live args).
110
- */
109
+ function copyToolArgs(args) {
110
+ try {
111
+ return structuredClone(args);
112
+ }
113
+ catch {
114
+ return { ...args };
115
+ }
116
+ }
111
117
  export function slimNativeToolCallsForHistory(toolCalls) {
112
118
  return toolCalls.map((tc) => {
113
- const args = slimToolArgs(tc.args ?? {});
119
+ const args = copyToolArgs(stripSupersededElidedArgs(tc.args ?? {}));
114
120
  const { rawArguments: _rawArguments, ...durable } = tc;
115
121
  return {
116
122
  ...durable,
@@ -170,16 +176,31 @@ export function appendToolResult(messages, toolCallId, content, name, ok) {
170
176
  */
171
177
  export function hasOrphanToolMessages(messages) {
172
178
  const openIds = new Set();
173
- for (const msg of messages) {
174
- if (msg.role === "assistant" && msg.toolCalls?.length) {
175
- for (const tc of msg.toolCalls)
176
- openIds.add(tc.id);
179
+ let pendingTextResults = 0;
180
+ for (const message of messages) {
181
+ if (message.role === "assistant") {
182
+ pendingTextResults = message.toolCalls?.length
183
+ ? 0
184
+ : parseCanonicalTextToolCalls(message.content).length;
185
+ for (const call of message.toolCalls ?? [])
186
+ openIds.add(call.id);
187
+ continue;
177
188
  }
178
- if (msg.role === "tool") {
179
- const id = msg.toolCallId ?? "";
180
- if (!id || !openIds.has(id))
181
- return true;
189
+ if (message.role === "tool") {
190
+ const id = message.toolCallId ?? "";
191
+ if (id) {
192
+ if (!openIds.has(id))
193
+ return true;
194
+ openIds.delete(id);
195
+ }
196
+ else {
197
+ if (pendingTextResults <= 0)
198
+ return true;
199
+ pendingTextResults -= 1;
200
+ }
201
+ continue;
182
202
  }
203
+ pendingTextResults = 0;
183
204
  }
184
205
  return false;
185
206
  }
@@ -304,40 +325,68 @@ export function validateToolProtocol(messages) {
304
325
  const issues = [];
305
326
  const seenIds = new Set();
306
327
  let pending = new Set();
328
+ let pendingTextCalls = [];
307
329
  for (let index = 0; index < messages.length; index += 1) {
308
330
  const message = messages[index];
309
- if (message.role === "assistant" && message.toolCalls?.length) {
310
- if (pending.size > 0) {
311
- issues.push(`message ${index}: new assistant tool group before results for ${[...pending].join(", ")}`);
331
+ const textCalls = message.role === "assistant" && !message.toolCalls?.length
332
+ ? parseCanonicalTextToolCalls(message.content)
333
+ : [];
334
+ if (message.role === "assistant" &&
335
+ (message.toolCalls?.length || textCalls.length > 0)) {
336
+ if (pending.size > 0 || pendingTextCalls.length > 0) {
337
+ const open = [
338
+ ...pending,
339
+ ...pendingTextCalls.map((call) => call.name),
340
+ ];
341
+ issues.push(`message ${index}: new assistant tool group before results for ${open.join(", ")}`);
312
342
  }
313
343
  pending = new Set();
314
- for (const call of message.toolCalls) {
315
- if (!call.id)
316
- issues.push(`message ${index}: tool call has no id`);
317
- if (seenIds.has(call.id))
318
- issues.push(`message ${index}: duplicate tool call id ${call.id}`);
319
- seenIds.add(call.id);
320
- pending.add(call.id);
344
+ pendingTextCalls = [];
345
+ if (message.toolCalls?.length) {
346
+ for (const call of message.toolCalls) {
347
+ if (!call.id)
348
+ issues.push(`message ${index}: tool call has no id`);
349
+ if (seenIds.has(call.id))
350
+ issues.push(`message ${index}: duplicate tool call id ${call.id}`);
351
+ seenIds.add(call.id);
352
+ pending.add(call.id);
353
+ }
354
+ }
355
+ else {
356
+ pendingTextCalls = textCalls;
321
357
  }
322
358
  continue;
323
359
  }
324
360
  if (message.role === "tool") {
325
361
  const id = message.toolCallId ?? "";
326
- if (!id || !pending.has(id)) {
327
- issues.push(`message ${index}: orphan tool result${id ? ` ${id}` : ""}`);
362
+ if (id && pending.has(id)) {
363
+ pending.delete(id);
364
+ }
365
+ else if (!id && pendingTextCalls.length > 0) {
366
+ pendingTextCalls.shift();
328
367
  }
329
368
  else {
330
- pending.delete(id);
369
+ issues.push(`message ${index}: orphan tool result${id ? ` ${id}` : ""}`);
331
370
  }
332
371
  continue;
333
372
  }
334
- if (pending.size > 0) {
335
- issues.push(`message ${index}: non-tool message before results for ${[...pending].join(", ")}`);
373
+ if (pending.size > 0 || pendingTextCalls.length > 0) {
374
+ const open = [
375
+ ...pending,
376
+ ...pendingTextCalls.map((call) => call.name),
377
+ ];
378
+ issues.push(`message ${index}: non-tool message before results for ${open.join(", ")}`);
336
379
  pending.clear();
380
+ pendingTextCalls = [];
337
381
  }
338
382
  }
339
- if (pending.size > 0)
340
- issues.push(`end of history: missing results for ${[...pending].join(", ")}`);
383
+ if (pending.size > 0 || pendingTextCalls.length > 0) {
384
+ const open = [
385
+ ...pending,
386
+ ...pendingTextCalls.map((call) => call.name),
387
+ ];
388
+ issues.push(`end of history: missing results for ${open.join(", ")}`);
389
+ }
341
390
  return issues;
342
391
  }
343
392
  export function assertValidToolProtocol(messages) {
@@ -345,12 +394,6 @@ export function assertValidToolProtocol(messages) {
345
394
  if (issues.length > 0)
346
395
  throw new Error(`invalid native tool protocol: ${issues.join("; ")}`);
347
396
  }
348
- /**
349
- * Marker prefix for history-repair tool bodies. Detected by
350
- * {@link isProtocolPlaceholderOutput} so governors do not treat these as live work.
351
- * Keep stable; change wording below freely.
352
- */
353
- export const PROTOCOL_PLACEHOLDER_MARKER = "[context-note]";
354
397
  /**
355
398
  * Neutral pairing placeholder when a tool result is missing from history.
356
399
  *
@@ -378,25 +421,27 @@ export function formatProtocolPlaceholder(name, id) {
378
421
  export function repairToolProtocol(messages) {
379
422
  if (messages.length === 0)
380
423
  return 0;
424
+ let repairs = normalizeToolHistoryEntries(messages);
381
425
  const idRepairs = rewriteConflictingToolCallIds(messages);
382
- if (validateToolProtocol(messages).length === 0)
383
- return idRepairs;
426
+ repairs += idRepairs;
427
+ repairs += collapseOversizedToolHistory(messages);
428
+ if (validateToolProtocol(messages).length === 0) {
429
+ return (repairs +
430
+ collapseElidedToolHistory(messages) +
431
+ collapseOversizedToolHistory(messages));
432
+ }
384
433
  const out = [];
385
- let repairs = idRepairs;
386
- /** Open tool call ids → name (best-effort). */
387
434
  let pending = new Map();
388
- /**
389
- * Benign system rows (SESSION STATE) that landed mid tool-group. Park them
390
- * and re-append after the group closes so real tool bodies are not dropped.
391
- */
435
+ let pendingTextCalls = [];
392
436
  let parkedBenignSystem = [];
437
+ const hasPending = () => pending.size > 0 || pendingTextCalls.length > 0;
393
438
  const flushParkedBenign = () => {
394
439
  if (parkedBenignSystem.length === 0)
395
440
  return;
396
441
  out.push(...parkedBenignSystem);
397
442
  parkedBenignSystem = [];
398
443
  };
399
- const flushPending = (_reason) => {
444
+ const flushPending = () => {
400
445
  for (const [id, name] of pending) {
401
446
  out.push({
402
447
  role: "tool",
@@ -407,143 +452,102 @@ export function repairToolProtocol(messages) {
407
452
  });
408
453
  repairs += 1;
409
454
  }
455
+ for (const call of pendingTextCalls) {
456
+ out.push({
457
+ role: "tool",
458
+ content: formatProtocolPlaceholder(call.name, call.id),
459
+ name: call.name,
460
+ ok: true,
461
+ });
462
+ repairs += 1;
463
+ }
410
464
  pending = new Map();
465
+ pendingTextCalls = [];
411
466
  flushParkedBenign();
412
467
  };
413
468
  for (const message of messages) {
414
- if (message.role === "assistant" && message.toolCalls?.length) {
415
- if (pending.size > 0) {
416
- flushPending("Interrupted — later assistant tool group started without results.");
417
- }
418
- else {
469
+ const textCalls = message.role === "assistant" && !message.toolCalls?.length
470
+ ? parseCanonicalTextToolCalls(message.content)
471
+ : [];
472
+ if (message.role === "assistant" &&
473
+ (message.toolCalls?.length || textCalls.length > 0)) {
474
+ if (hasPending())
475
+ flushPending();
476
+ else
419
477
  flushParkedBenign();
420
- }
421
478
  out.push(message);
422
479
  pending = new Map();
423
- for (const call of message.toolCalls) {
424
- if (!call.id) {
425
- repairs += 1;
426
- continue;
480
+ pendingTextCalls = [];
481
+ if (message.toolCalls?.length) {
482
+ for (const call of message.toolCalls) {
483
+ if (!call.id) {
484
+ repairs += 1;
485
+ continue;
486
+ }
487
+ pending.set(call.id, call.name);
427
488
  }
428
- pending.set(call.id, call.name);
489
+ }
490
+ else {
491
+ pendingTextCalls = textCalls;
429
492
  }
430
493
  continue;
431
494
  }
432
495
  if (message.role === "tool") {
433
496
  const id = message.toolCallId ?? "";
434
- if (!id || !pending.has(id)) {
435
- // Orphan result — drop so providers don't reject the history.
497
+ if (id && pending.has(id)) {
498
+ pending.delete(id);
499
+ out.push(message);
500
+ }
501
+ else if (!id && pendingTextCalls.length > 0) {
502
+ pendingTextCalls.shift();
503
+ out.push(message);
504
+ }
505
+ else {
436
506
  repairs += 1;
437
507
  continue;
438
508
  }
439
- pending.delete(id);
440
- out.push(message);
441
- if (pending.size === 0)
509
+ if (!hasPending())
442
510
  flushParkedBenign();
443
511
  continue;
444
512
  }
445
- // SESSION STATE (and similar) must never close an open tool group —
446
- // that path replaced live tool bodies with "No stored body" placeholders.
447
- if (pending.size > 0 &&
513
+ if (hasPending() &&
448
514
  message.role === "system" &&
449
515
  typeof message.content === "string" &&
450
516
  isBenignTrailingSystemBlock(message.content)) {
451
517
  parkedBenignSystem.push(message);
452
- repairs += 1; // reordered relative to the broken history
518
+ repairs += 1;
453
519
  continue;
454
520
  }
455
- // user / system / plain assistant — must not interrupt an open tool group.
456
- if (pending.size > 0) {
457
- flushPending("Interrupted — conversation continued before tool results arrived (repaired).");
458
- }
459
- else {
521
+ if (hasPending())
522
+ flushPending();
523
+ else
460
524
  flushParkedBenign();
461
- }
462
525
  out.push(message);
463
526
  }
464
- if (pending.size > 0) {
465
- flushPending("Missing tool result at end of history (repaired).");
466
- }
467
- else {
527
+ if (hasPending())
528
+ flushPending();
529
+ else
468
530
  flushParkedBenign();
469
- }
470
- if (repairs === 0 && out.length === messages.length) {
471
- // Structure same length but still invalid (e.g. duplicate ids) — fall through rebuild.
472
- if (validateToolProtocol(out).length === 0)
473
- return 0;
474
- }
475
531
  messages.length = 0;
476
532
  messages.push(...out);
477
- // Second pass: if still broken (duplicate ids), strip toolCalls from broken assistants.
478
- const still = validateToolProtocol(messages);
479
- if (still.length > 0) {
480
- // Last resort: drop toolCalls arrays that never got clean results, keep text.
481
- const cleaned = [];
482
- let open;
483
- for (const m of messages) {
484
- if (m.role === "assistant" && m.toolCalls?.length) {
485
- open = new Set(m.toolCalls.map((t) => t.id).filter(Boolean));
486
- cleaned.push(m);
487
- continue;
488
- }
489
- if (m.role === "tool") {
490
- const id = m.toolCallId ?? "";
491
- if (open?.has(id)) {
492
- open.delete(id);
493
- cleaned.push(m);
494
- if (open.size === 0)
495
- open = undefined;
496
- }
497
- else {
498
- repairs += 1;
499
- }
500
- continue;
501
- }
502
- if (open && open.size > 0) {
503
- // Convert incomplete assistant to plain text by clearing remaining opens via flush already done;
504
- // if still open, strip the assistant's toolCalls and drop dangling.
505
- const lastAsst = [...cleaned].reverse().find((x) => x.role === "assistant");
506
- if (lastAsst && lastAsst.toolCalls?.length) {
507
- const satisfied = new Set(cleaned
508
- .slice(cleaned.lastIndexOf(lastAsst) + 1)
509
- .filter((x) => x.role === "tool")
510
- .map((x) => x.toolCallId));
511
- const remaining = lastAsst.toolCalls.filter((t) => !satisfied.has(t.id));
512
- for (const tc of remaining) {
513
- cleaned.push({
514
- role: "tool",
515
- content: formatProtocolPlaceholder(tc.name, tc.id),
516
- toolCallId: tc.id,
517
- name: tc.name,
518
- ok: true,
519
- });
520
- repairs += 1;
521
- }
522
- }
523
- open = undefined;
524
- }
525
- cleaned.push(m);
533
+ return (repairs +
534
+ collapseElidedToolHistory(messages) +
535
+ collapseOversizedToolHistory(messages));
536
+ }
537
+ export function projectToolHistory(messages) {
538
+ const copy = messages.map((message) => {
539
+ try {
540
+ return structuredClone(message);
526
541
  }
527
- if (open && open.size > 0) {
528
- const lastAsst = [...cleaned].reverse().find((x) => x.role === "assistant" && x.toolCalls?.length);
529
- if (lastAsst?.toolCalls) {
530
- for (const tc of lastAsst.toolCalls) {
531
- if (!open.has(tc.id))
532
- continue;
533
- cleaned.push({
534
- role: "tool",
535
- content: formatProtocolPlaceholder(tc.name, tc.id),
536
- toolCallId: tc.id,
537
- name: tc.name,
538
- ok: true,
539
- });
540
- repairs += 1;
541
- }
542
- }
542
+ catch {
543
+ return { ...message };
543
544
  }
544
- messages.length = 0;
545
- messages.push(...cleaned);
546
- }
547
- return repairs;
545
+ });
546
+ const repairs = repairToolProtocol(copy);
547
+ return {
548
+ messages: repairs > 0 ? copy : [...messages],
549
+ changed: repairs > 0,
550
+ repairs,
551
+ };
548
552
  }
549
553
  //# sourceMappingURL=tool-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  import { buildDirectCompactionPrompt, compactionSinglePassInputBudget, COMPACTION_MAX_COMPLETION_TOKENS, COMPACTION_MAP_MAX_COMPLETION_TOKENS, } from "../../agent/compaction-summary.js";
5
5
  import { executeCompactionSummary, planCompactionReplay, } from "../../agent/compaction-executor.js";
6
6
  import { compactMessagesWithSummary, estimateMessagesTokens, isCompactionMemoryMessage, } from "../../agent/context-manager.js";
7
+ import { projectToolHistory } from "../../agent/tool-history.js";
7
8
  import { calibratedRequestTokens } from "../../llm/token-estimate-calibration.js";
8
9
  import { modelContextWindow } from "../../llm/token-usage.js";
9
10
  import { OperationLedger, } from "../../llm/operation-ledger.js";
@@ -38,17 +39,23 @@ export async function runSessionCompaction(options) {
38
39
  const emit = (type, payload) => {
39
40
  options.emit(options.sequencer.build(type, payload, undefined));
40
41
  };
41
- const historyTokensBefore = estimateMessagesTokens(options.history);
42
+ const history = projectToolHistory(options.history).messages;
43
+ const historyTokensBefore = estimateMessagesTokens(history);
42
44
  const successfulRequest = options.successfulRequest;
45
+ const replayRequest = successfulRequest
46
+ ? projectToolHistory(successfulRequest.messages).changed
47
+ ? undefined
48
+ : successfulRequest
49
+ : undefined;
43
50
  const contextLimitTokens = options.contextLimitTokens ??
44
51
  modelContextWindow(successfulRequest?.model ?? options.model, successfulRequest?.provider ?? options.provider);
45
52
  const instruction = buildDirectCompactionPrompt({
46
53
  ...(options.purpose ? { purpose: options.purpose } : {}),
47
54
  });
48
- const replayPlan = successfulRequest
55
+ const replayPlan = replayRequest
49
56
  ? planCompactionReplay({
50
- baseRequest: successfulRequest,
51
- history: options.history,
57
+ baseRequest: replayRequest,
58
+ history,
52
59
  prompt: instruction,
53
60
  maxTokens: COMPACTION_MAX_COMPLETION_TOKENS,
54
61
  contextLimitTokens,
@@ -99,9 +106,9 @@ export async function runSessionCompaction(options) {
99
106
  // would not fit (e.g. compacting a nearly-full session), fall back to the
100
107
  // legacy transcript-rendered requests rather than failing closed.
101
108
  const replay = replayPlan && !replayPlan.accounting.overLimit
102
- ? successfulRequest
109
+ ? replayRequest
103
110
  : undefined;
104
- const result = await compactMessagesWithSummary(options.history, (prompt, stage) => summarizeForSessionCompact(replay ? instruction : prompt, {
111
+ const result = await compactMessagesWithSummary(history, (prompt, stage) => summarizeForSessionCompact(replay ? instruction : prompt, {
105
112
  provider: options.provider,
106
113
  model: options.model,
107
114
  signal: options.signal,
@@ -110,7 +117,7 @@ export async function runSessionCompaction(options) {
110
117
  ...(replay
111
118
  ? {
112
119
  baseRequest: replay,
113
- history: options.history,
120
+ history,
114
121
  contextLimitTokens,
115
122
  }
116
123
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { estimateMessagesTokens, } from "../../agent/context-manager.js";
2
- import { repairToolProtocol } from "../../agent/tool-history.js";
2
+ import { projectToolHistory, repairToolProtocol, } from "../../agent/tool-history.js";
3
3
  import { formatContextChip, } from "../../llm/token-usage.js";
4
4
  import { compactedContextSnapshot, recordContextUsageSnapshot, resolveContextSnapshot as resolveSnapshot, restoredContextSnapshot, createContextProjector, estimatedContextSnapshot, } from "./session-context-usage.js";
5
5
  import { createSessionPolicy } from "../../agent/session-policy.js";
@@ -476,7 +476,8 @@ export class SessionController {
476
476
  const contextSnapshot = this.resolveContextSnapshot();
477
477
  this.setContextSnapshot(contextSnapshot);
478
478
  const contextUsage = persistedContextUsage(contextSnapshot, this.usageLedger.persist());
479
- await this.persistence.save(this.history, {
479
+ const persistedHistory = projectToolHistory(this.history).messages;
480
+ await this.persistence.save(persistedHistory, {
480
481
  sessionId: this.sessionIdValue,
481
482
  name: name ?? this.sessionTitle,
482
483
  transcript: this.deps.getTranscriptSnapshot?.(),