@agent-link/agent 0.1.119 → 0.1.121

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.
@@ -8,9 +8,10 @@ import { handleGitStatus, handleGitDiff, handleGitStage, handleGitUnstage, handl
8
8
  import { handleCreateTeam, handleDissolveTeam, handleListTeams, handleGetTeam, handleGetTeamAgentHistory, handleDeleteTeam, handleRenameTeam } from './team-handlers.js';
9
9
  import { handleCreateLoop, handleUpdateLoop, handleDeleteLoop, handleListLoops, handleGetLoop, handleRunLoop, handleCancelLoopExecution, handleListLoopExecutions, handleGetLoopExecutionMessages, handleQueryLoopStatus } from './loop-handlers.js';
10
10
  import { loadSessionMetadata, loadAllSessionMetadata, deleteSessionMetadata } from './session-metadata.js';
11
+ import { listRecaps, getRecapDetail } from './recap.js';
11
12
  const require = createRequire(import.meta.url);
12
13
  const pkg = require('../package.json');
13
- import { handleChat as claudeHandleChat, setSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, handleBtwQuestion, getConversation, getConversations, getIsCompacting, clearSessionId, evictByClaudeSessionId, rebindConversation, addOutputObserver, removeOutputObserver, addCloseObserver, removeCloseObserver, setOutputObserver, clearOutputObserver, setCloseObserver, clearCloseObserver, setPermissionMode } from './claude.js';
14
+ import { handleChat as claudeHandleChat, setSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, handleBtwQuestion, getConversation, getConversations, getIsCompacting, clearSessionId, evictByClaudeSessionId, rebindConversation, addOutputObserver, removeOutputObserver, addCloseObserver, removeCloseObserver, setOutputObserver, clearOutputObserver, setCloseObserver, clearCloseObserver, restartConversation, createPlaceholderConversation } from './claude.js';
14
15
  import { listSessions, readSessionMessages, deleteSession, renameSession } from './history.js';
15
16
  import { listMemoryFiles, updateMemoryFile, deleteMemoryFile } from './memory.js';
16
17
  import { decodeKey, parseMessage, encryptAndSend } from './encryption.js';
@@ -209,6 +210,7 @@ function scheduleReconnect(config) {
209
210
  }, delay);
210
211
  }
211
212
  const BRAIN_HOME_DIR = path.resolve(os.homedir(), '.brain', 'BrainCore');
213
+ const BRAIN_DATA_DIR = path.resolve(os.homedir(), 'BrainData');
212
214
  function isBrainHomeDir(dir) {
213
215
  return path.resolve(dir) === BRAIN_HOME_DIR;
214
216
  }
@@ -219,6 +221,7 @@ function handleServerMessage(msg) {
219
221
  const chatConvId = msg.conversationId;
220
222
  const existingConv = chatConvId ? getConversation(chatConvId) : getConversation();
221
223
  const isBrainMode = msg.brainMode;
224
+ const recapId = msg.recapId;
222
225
  const chatWorkDir = existingConv?.workDir || state.workDir;
223
226
  const effectiveBrainMode = isBrainMode || isBrainHomeDir(chatWorkDir);
224
227
  console.log(`[AgentLink] chat: conversationId=${chatConvId}, existingConv.planMode=${existingConv?.planMode}, brainMode=${effectiveBrainMode} (explicit=${isBrainMode}, workDir=${isBrainHomeDir(chatWorkDir)})`);
@@ -228,7 +231,11 @@ function handleServerMessage(msg) {
228
231
  if (effectiveBrainMode) {
229
232
  chatOptions.brainMode = true;
230
233
  }
231
- claudeHandleChat(chatConvId, msg.prompt, existingConv?.workDir || state.workDir, chatOptions, msg.files);
234
+ if (recapId) {
235
+ chatOptions.recapId = recapId;
236
+ }
237
+ const chatDir = recapId ? BRAIN_DATA_DIR : (existingConv?.workDir || state.workDir);
238
+ claudeHandleChat(chatConvId, msg.prompt, chatDir, chatOptions, msg.files);
232
239
  break;
233
240
  }
234
241
  case 'cancel_execution':
@@ -279,27 +286,29 @@ function handleServerMessage(msg) {
279
286
  // (handles page refresh where web client generates a new UUID)
280
287
  rebindConversation(m.claudeSessionId, convId);
281
288
  }
282
- const history = readSessionMessages(state.workDir, m.claudeSessionId);
289
+ // Try current workDir first; fall back to BRAIN_DATA_DIR for recap chat sessions
290
+ let history = readSessionMessages(state.workDir, m.claudeSessionId);
291
+ if (history.length === 0) {
292
+ const sessionMeta_ = loadSessionMetadata(m.claudeSessionId);
293
+ if (sessionMeta_.recapId) {
294
+ history = readSessionMessages(BRAIN_DATA_DIR, m.claudeSessionId);
295
+ }
296
+ }
283
297
  console.log(`[AgentLink] → conversation_resumed (${history.length} messages, session ${m.claudeSessionId.slice(0, 8)})`);
284
298
  // Include live status so the web client can restore compacting/processing state
285
299
  // In multi-session mode, look up by conversationId; in single-session mode, use default
286
300
  const currentConv = convId ? getConversation(convId) : getConversation();
287
301
  const isSameSession = currentConv?.claudeSessionId === m.claudeSessionId
288
302
  || currentConv?.lastClaudeSessionId === m.claudeSessionId;
289
- // Determine plan mode: prefer in-memory state, fallback to history scan
290
- let planMode;
291
- if (isSameSession) {
292
- planMode = currentConv?.planMode === true;
303
+ // Plan mode always resets to false on resume — it's ephemeral and should
304
+ // not persist across page refreshes or sidebar navigation.
305
+ // If the Claude process was running with --permission-mode plan, we must
306
+ // kill it so the next message spawns a fresh process with bypassPermissions.
307
+ if (currentConv && currentConv.planMode) {
308
+ restartConversation(convId, { planMode: false });
293
309
  }
294
- else if (history.length > 0) {
295
- // No in-memory state — scan history for the last EnterPlanMode/ExitPlanMode tool
296
- for (let i = history.length - 1; i >= 0; i--) {
297
- const h = history[i];
298
- if (h.role === 'tool' && (h.toolName === 'EnterPlanMode' || h.toolName === 'ExitPlanMode')) {
299
- planMode = h.toolName === 'EnterPlanMode';
300
- break;
301
- }
302
- }
310
+ else if (currentConv) {
311
+ currentConv.planMode = false;
303
312
  }
304
313
  // Determine brain mode from persisted metadata or workDir
305
314
  const sessionMeta = loadSessionMetadata(m.claudeSessionId);
@@ -311,7 +320,7 @@ function handleServerMessage(msg) {
311
320
  history,
312
321
  isCompacting: isSameSession && (convId ? getIsCompacting(convId) : getIsCompacting()),
313
322
  isProcessing: isSameSession && currentConv?.turnActive === true,
314
- planMode,
323
+ planMode: false,
315
324
  brainMode: resumeBrainMode,
316
325
  });
317
326
  break;
@@ -436,28 +445,21 @@ function handleServerMessage(msg) {
436
445
  break;
437
446
  }
438
447
  case 'set_plan_mode': {
439
- const { enabled, conversationId, claudeSessionId } = msg;
440
- const mode = enabled ? 'plan' : 'bypassPermissions';
448
+ const { enabled, conversationId } = msg;
441
449
  console.log(`[AgentLink] set_plan_mode: enabled=${enabled}, conversationId=${conversationId}`);
442
- const result = setPermissionMode(conversationId, mode, claudeSessionId);
443
- if (result === 'injected') {
444
- // Process was idle — setPermissionMode already injected Enter/ExitPlanMode
445
- // into the running process. Output flows through normal pipeline.
446
- // Just tell UI right away.
447
- send({ type: 'plan_mode_changed', enabled, conversationId });
450
+ const conv = getConversation(conversationId);
451
+ if (conv) {
452
+ // Restart with new mode
453
+ const result = restartConversation(conversationId, { planMode: enabled });
454
+ if (result.wasTurnActive) {
455
+ send({ type: 'execution_cancelled', conversationId });
456
+ }
448
457
  }
449
458
  else {
450
- // Immediate pathprocess was killed/recreated or placeholder created.
451
- send({ type: 'plan_mode_changed', enabled, conversationId, immediate: true });
452
- // When exiting plan mode, spawn Claude to record ExitPlanMode in the
453
- // JSONL so it doesn't think it's still in plan mode on next resume.
454
- const convId = conversationId || 'default';
455
- const conv = getConversation(convId);
456
- const sessionToFix = conv?.lastClaudeSessionId || claudeSessionId;
457
- if (!enabled && sessionToFix) {
458
- claudeHandleChat(conversationId, 'Exit plan mode now.', conv?.workDir || state.workDir, { resumeSessionId: sessionToFix });
459
- }
459
+ // No conversation yet create placeholder
460
+ createPlaceholderConversation(conversationId, { planMode: enabled });
460
461
  }
462
+ send({ type: 'plan_mode_changed', enabled, conversationId });
461
463
  break;
462
464
  }
463
465
  case 'git_status':
@@ -478,11 +480,39 @@ function handleServerMessage(msg) {
478
480
  case 'git_commit':
479
481
  handleGitCommit(msg, state.workDir, send);
480
482
  break;
483
+ case 'list_recaps':
484
+ handleListRecaps();
485
+ break;
486
+ case 'get_recap_detail':
487
+ handleGetRecapDetailMsg(msg);
488
+ break;
481
489
  default:
482
490
  console.log(`[AgentLink] Unhandled server message: ${msg.type}`);
483
491
  send({ type: 'error', message: `Unsupported command: ${msg.type}. Please upgrade your agent: agentlink-client upgrade` });
484
492
  }
485
493
  }
494
+ async function handleListRecaps() {
495
+ try {
496
+ const recaps = await listRecaps(BRAIN_DATA_DIR);
497
+ console.log(`[AgentLink] → recaps_list (${recaps.length} recaps)`);
498
+ send({ type: 'recaps_list', recaps });
499
+ }
500
+ catch (err) {
501
+ console.error('[AgentLink] listRecaps failed:', err);
502
+ send({ type: 'recaps_list', recaps: [], error: String(err) });
503
+ }
504
+ }
505
+ async function handleGetRecapDetailMsg(msg) {
506
+ try {
507
+ const detail = await getRecapDetail(BRAIN_DATA_DIR, msg.sidecarPath);
508
+ console.log(`[AgentLink] → recap_detail (${msg.recapId})`);
509
+ send({ type: 'recap_detail', recapId: msg.recapId, detail });
510
+ }
511
+ catch (err) {
512
+ console.error(`[AgentLink] getRecapDetail failed for ${msg.recapId}:`, err);
513
+ send({ type: 'recap_detail', recapId: msg.recapId, detail: null, error: String(err) });
514
+ }
515
+ }
486
516
  function handleListSessions() {
487
517
  try {
488
518
  const sessions = listSessions(state.workDir);
@@ -494,7 +524,21 @@ function handleListSessions() {
494
524
  // All sessions under Brain Home are brain sessions
495
525
  ...(isBrainHome ? { brainMode: true } : {}),
496
526
  }));
497
- console.log(`[AgentLink] sessions_list (${sessions.length} sessions for ${state.workDir}, brainHome=${isBrainHome})`);
527
+ // Merge in recap chat sessions from BrainData directory (they live under a
528
+ // different Claude project folder, so listSessions(state.workDir) misses them).
529
+ if (!isBrainHome) {
530
+ const brainSessions = listSessions(BRAIN_DATA_DIR);
531
+ const existingIds = new Set(enriched.map(s => s.sessionId));
532
+ for (const bs of brainSessions) {
533
+ if (existingIds.has(bs.sessionId))
534
+ continue;
535
+ const meta = metaMap.get(bs.sessionId);
536
+ if (meta?.recapId) {
537
+ enriched.push({ ...bs, ...meta });
538
+ }
539
+ }
540
+ }
541
+ console.log(`[AgentLink] → sessions_list (${enriched.length} sessions for ${state.workDir}, brainHome=${isBrainHome})`);
498
542
  send({ type: 'sessions_list', sessions: enriched, workDir: state.workDir });
499
543
  }
500
544
  catch (err) {
@@ -508,7 +552,14 @@ function handleDeleteSession(sessionId) {
508
552
  send({ type: 'error', message: 'Cannot delete a session while it is processing.' });
509
553
  return;
510
554
  }
511
- const deleted = deleteSession(state.workDir, sessionId);
555
+ // Try current workDir first; if not found, check if it's a recap session in BrainData
556
+ let deleted = deleteSession(state.workDir, sessionId);
557
+ if (!deleted) {
558
+ const meta = loadSessionMetadata(sessionId);
559
+ if (meta.recapId) {
560
+ deleted = deleteSession(BRAIN_DATA_DIR, sessionId);
561
+ }
562
+ }
512
563
  if (deleted) {
513
564
  deleteSessionMetadata(sessionId);
514
565
  send({ type: 'session_deleted', sessionId });
@@ -518,7 +569,14 @@ function handleDeleteSession(sessionId) {
518
569
  }
519
570
  }
520
571
  function handleRenameSession(sessionId, newTitle) {
521
- const renamed = renameSession(state.workDir, sessionId, newTitle);
572
+ // Try current workDir first; if not found, check if it's a recap session in BrainData
573
+ let renamed = renameSession(state.workDir, sessionId, newTitle);
574
+ if (!renamed) {
575
+ const meta = loadSessionMetadata(sessionId);
576
+ if (meta.recapId) {
577
+ renamed = renameSession(BRAIN_DATA_DIR, sessionId, newTitle);
578
+ }
579
+ }
522
580
  if (renamed) {
523
581
  send({ type: 'session_renamed', sessionId, newTitle });
524
582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/dist/history.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  export interface SessionInfo {
8
8
  sessionId: string;
9
9
  title: string;
10
+ customTitle?: string;
10
11
  preview: string;
11
12
  lastModified: number;
12
13
  }
@@ -36,6 +37,16 @@ export declare function readSessionMessages(workDir: string, sessionId: string):
36
37
  * Returns true if the file was deleted, false if it didn't exist.
37
38
  */
38
39
  export declare function deleteSession(workDir: string, sessionId: string): boolean;
40
+ /**
41
+ * Read lightweight conversation context from a session's JSONL file.
42
+ * Extracts only user/assistant text from the last compact point (summary) onward,
43
+ * stripping all tool_use/tool_result blocks. Used by BTW side questions to provide
44
+ * conversation context without the full session history overhead.
45
+ *
46
+ * Returns null if the JSONL file doesn't exist or has no extractable content.
47
+ */
48
+ export declare const CONTEXT_MAX_CHARS = 100000;
49
+ export declare function readConversationContext(workDir: string, sessionId: string): string | null;
39
50
  /**
40
51
  * Rename a session by appending a custom-title entry to its JSONL file.
41
52
  * This matches what Claude CLI's /rename command does.
package/dist/history.js CHANGED
@@ -50,6 +50,67 @@ function extractCommandOutput(text) {
50
50
  return stderrMatch[1].trim();
51
51
  return null;
52
52
  }
53
+ // ── User message preprocessing pipeline ─────────────────────────────────────
54
+ // All special-case logic for transforming raw JSONL user messages into display
55
+ // entries lives here. Add new transformations as steps in processUserMessage().
56
+ const PLAN_MODE_NOTICE_RE = /^\[SYSTEM NOTICE: Plan mode has been (activated|deactivated)\.[^\]]*\]\s*/;
57
+ /**
58
+ * Process a raw user message text through the full cleanup pipeline.
59
+ * Each step can filter, transform, or emit synthetic prefix entries.
60
+ *
61
+ * Steps (in order):
62
+ * 1. Skip hidden CLI commands
63
+ * 2. Extract command output (e.g. /cost results)
64
+ * 3. Strip system-injected XML tags
65
+ * 4. Extract plan mode notices → synthetic EnterPlanMode/ExitPlanMode dividers
66
+ * (future steps go here)
67
+ */
68
+ function processUserMessage(text, ts) {
69
+ const none = { prefixEntries: [], userEntry: null };
70
+ // 1. Hidden command → skip entirely
71
+ if (isHiddenCommand(text))
72
+ return none;
73
+ // 2. Command output → return as-is with flag
74
+ const cmdOutput = extractCommandOutput(text);
75
+ if (cmdOutput) {
76
+ return { prefixEntries: [], userEntry: { role: 'user', content: cmdOutput, timestamp: ts, isCommandOutput: true } };
77
+ }
78
+ // 3. Strip system tags
79
+ let cleaned = stripSystemTags(text);
80
+ if (!cleaned)
81
+ return none;
82
+ // 4. Plan mode notice → synthetic tool divider + cleaned text
83
+ const prefixEntries = [];
84
+ const planMatch = cleaned.match(PLAN_MODE_NOTICE_RE);
85
+ if (planMatch) {
86
+ const planMode = planMatch[1] === 'activated' ? 'enter' : 'exit';
87
+ prefixEntries.push({
88
+ role: 'tool', content: '',
89
+ toolName: planMode === 'enter' ? 'EnterPlanMode' : 'ExitPlanMode',
90
+ toolInput: '{}', toolId: `plan-${ts || Date.now()}`,
91
+ timestamp: ts,
92
+ });
93
+ cleaned = cleaned.replace(PLAN_MODE_NOTICE_RE, '');
94
+ }
95
+ // (future preprocessing steps go here)
96
+ if (!cleaned)
97
+ return { prefixEntries, userEntry: null };
98
+ return { prefixEntries, userEntry: { role: 'user', content: cleaned, timestamp: ts } };
99
+ }
100
+ /**
101
+ * Clean user message text for display (title, preview, context).
102
+ * Strips all system artifacts without emitting synthetic entries.
103
+ */
104
+ function cleanUserText(text) {
105
+ if (isHiddenCommand(text))
106
+ return '';
107
+ if (extractCommandOutput(text))
108
+ return '';
109
+ let cleaned = stripSystemTags(text);
110
+ if (cleaned)
111
+ cleaned = cleaned.replace(PLAN_MODE_NOTICE_RE, '');
112
+ return cleaned;
113
+ }
53
114
  /**
54
115
  * List sessions for a given working directory by scanning JSONL files.
55
116
  * Returns sessions sorted by lastModified descending.
@@ -97,8 +158,9 @@ export function listSessions(workDir) {
97
158
  ? data.message.content
98
159
  : data.message.content[0]?.text || '';
99
160
  if (text.trim() && !isHiddenCommand(text) && !extractCommandOutput(text)) {
100
- preview = text.substring(0, 100);
101
- title = text.substring(0, 100);
161
+ const displayText = cleanUserText(text);
162
+ preview = displayText.substring(0, 100);
163
+ title = displayText.substring(0, 100);
102
164
  hasUserMessage = true;
103
165
  }
104
166
  }
@@ -117,6 +179,7 @@ export function listSessions(workDir) {
117
179
  sessions.push({
118
180
  sessionId,
119
181
  title: customTitle || summary || title || sessionId.slice(0, 8),
182
+ ...(customTitle ? { customTitle } : {}),
120
183
  preview,
121
184
  lastModified: stats.mtime.getTime(),
122
185
  });
@@ -153,20 +216,10 @@ export function readSessionMessages(workDir, sessionId) {
153
216
  .join('');
154
217
  if (!text.trim())
155
218
  continue;
156
- // Skip caveat and command-name metadata
157
- if (isHiddenCommand(text))
158
- continue;
159
- // Extract command output (e.g. /cost, /context results)
160
- const cmdOutput = extractCommandOutput(text);
161
- if (cmdOutput) {
162
- result.push({ role: 'user', content: cmdOutput, timestamp: ts, isCommandOutput: true });
163
- }
164
- else {
165
- const cleaned = stripSystemTags(text);
166
- if (cleaned) {
167
- result.push({ role: 'user', content: cleaned, timestamp: ts });
168
- }
169
- }
219
+ const processed = processUserMessage(text, ts);
220
+ result.push(...processed.prefixEntries);
221
+ if (processed.userEntry)
222
+ result.push(processed.userEntry);
170
223
  }
171
224
  if (data.type === 'assistant' && data.message?.content && Array.isArray(data.message.content)) {
172
225
  // Merge all text blocks within this assistant message into one entry
@@ -220,6 +273,109 @@ export function deleteSession(workDir, sessionId) {
220
273
  return false;
221
274
  }
222
275
  }
276
+ /**
277
+ * Read lightweight conversation context from a session's JSONL file.
278
+ * Extracts only user/assistant text from the last compact point (summary) onward,
279
+ * stripping all tool_use/tool_result blocks. Used by BTW side questions to provide
280
+ * conversation context without the full session history overhead.
281
+ *
282
+ * Returns null if the JSONL file doesn't exist or has no extractable content.
283
+ */
284
+ export const CONTEXT_MAX_CHARS = 100_000;
285
+ export function readConversationContext(workDir, sessionId) {
286
+ const projectsDir = getClaudeProjectsDir();
287
+ const projectFolder = pathToProjectFolder(workDir);
288
+ const filePath = join(projectsDir, projectFolder, `${sessionId}.jsonl`);
289
+ if (!existsSync(filePath)) {
290
+ return null;
291
+ }
292
+ try {
293
+ const content = readFileSync(filePath, 'utf-8');
294
+ const lines = content.split('\n').filter(l => l.trim());
295
+ const entries = [];
296
+ let lastSummaryIndex = -1;
297
+ for (const line of lines) {
298
+ try {
299
+ const data = JSON.parse(line);
300
+ // Summary entry (compact point)
301
+ if (data.type === 'summary' && data.summary) {
302
+ lastSummaryIndex = entries.length;
303
+ entries.push({ type: 'summary', text: data.summary });
304
+ continue;
305
+ }
306
+ // User messages — text only, skip hidden commands
307
+ if (data.type === 'user' && data.message?.content) {
308
+ const text = typeof data.message.content === 'string'
309
+ ? data.message.content
310
+ : data.message.content
311
+ .filter((b) => b.type === 'text')
312
+ .map((b) => b.text || '')
313
+ .join('');
314
+ if (!text.trim())
315
+ continue;
316
+ if (isHiddenCommand(text))
317
+ continue;
318
+ const cleaned = cleanUserText(text);
319
+ if (cleaned) {
320
+ entries.push({ type: 'user', text: cleaned });
321
+ }
322
+ continue;
323
+ }
324
+ // Assistant messages — text blocks only, skip tool_use
325
+ if (data.type === 'assistant' && data.message?.content && Array.isArray(data.message.content)) {
326
+ const textParts = [];
327
+ for (const block of data.message.content) {
328
+ if (block.type === 'text' && block.text) {
329
+ textParts.push(block.text);
330
+ }
331
+ // Skip tool_use blocks entirely
332
+ }
333
+ if (textParts.length > 0) {
334
+ entries.push({ type: 'assistant', text: textParts.join('\n\n') });
335
+ }
336
+ continue;
337
+ }
338
+ // Skip everything else: tool_result, system, custom-title, etc.
339
+ }
340
+ catch { /* skip malformed lines */ }
341
+ }
342
+ // Start from the last summary (compact point), or from the beginning
343
+ const startIndex = lastSummaryIndex >= 0 ? lastSummaryIndex : 0;
344
+ const relevantEntries = entries.slice(startIndex);
345
+ if (relevantEntries.length === 0) {
346
+ return null;
347
+ }
348
+ // Format as readable dialogue
349
+ const parts = [];
350
+ for (const entry of relevantEntries) {
351
+ switch (entry.type) {
352
+ case 'summary':
353
+ parts.push(`[Summary]\n${entry.text}`);
354
+ break;
355
+ case 'user':
356
+ parts.push(`[User]\n${entry.text}`);
357
+ break;
358
+ case 'assistant':
359
+ parts.push(`[Assistant]\n${entry.text}`);
360
+ break;
361
+ }
362
+ }
363
+ let formatted = parts.join('\n\n');
364
+ // Truncate from the beginning if too large (keep most recent messages)
365
+ if (formatted.length > CONTEXT_MAX_CHARS) {
366
+ formatted = formatted.slice(-CONTEXT_MAX_CHARS);
367
+ // Find the first complete section marker to avoid partial text
368
+ const firstSectionIdx = formatted.indexOf('\n[');
369
+ if (firstSectionIdx > 0) {
370
+ formatted = formatted.slice(firstSectionIdx + 1); // skip the leading newline
371
+ }
372
+ }
373
+ return formatted;
374
+ }
375
+ catch {
376
+ return null;
377
+ }
378
+ }
223
379
  /**
224
380
  * Rename a session by appending a custom-title entry to its JSONL file.
225
381
  * This matches what Claude CLI's /rename command does.
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}