pilot-ai 0.5.17 → 0.5.18

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.
@@ -0,0 +1,58 @@
1
+ export interface TurnSummary {
2
+ /** User message (truncated to 500 chars) */
3
+ userMessage: string;
4
+ /** Agent action summary (truncated to 300 chars) */
5
+ agentAction: string;
6
+ /** ISO timestamp */
7
+ timestamp: string;
8
+ }
9
+ export interface ConversationSummary {
10
+ /** Unique key: platform:channelId:threadId */
11
+ threadKey: string;
12
+ /** Project path associated with this thread */
13
+ projectPath?: string;
14
+ /** Recent turn summaries (FIFO, max 10) */
15
+ turns: TurnSummary[];
16
+ /** Accumulated key decisions */
17
+ keyDecisions: string[];
18
+ /** Accumulated modified file paths */
19
+ modifiedFiles: string[];
20
+ /** ISO timestamp of last update */
21
+ lastUpdated: string;
22
+ }
23
+ /**
24
+ * Loads a conversation summary from disk, or returns null if not found.
25
+ */
26
+ export declare function loadSummary(platform: string, channelId: string, threadId: string): Promise<ConversationSummary | null>;
27
+ /**
28
+ * Saves a conversation summary to disk.
29
+ */
30
+ export declare function saveSummary(summary: ConversationSummary): Promise<void>;
31
+ /**
32
+ * Extracts an action summary from an agent response.
33
+ * Takes the first 300 characters, trimming to the last sentence boundary if possible.
34
+ */
35
+ export declare function extractActionSummary(agentResponse: string): string;
36
+ /**
37
+ * Extracts file paths from an agent response by detecting common patterns.
38
+ */
39
+ export declare function extractModifiedFiles(agentResponse: string): string[];
40
+ /**
41
+ * Extracts key decisions from an agent response.
42
+ * Looks for commit messages, configuration changes, and explicit decision language.
43
+ */
44
+ export declare function extractKeyDecisions(agentResponse: string): string[];
45
+ /**
46
+ * Updates the conversation summary for a thread after a turn completes.
47
+ */
48
+ export declare function updateConversationSummary(platform: string, channelId: string, threadId: string, userMessage: string, agentResponse: string, projectPath?: string): Promise<void>;
49
+ /**
50
+ * Formats a conversation summary for injection into a system prompt.
51
+ * Returns null if no summary exists.
52
+ */
53
+ export declare function getConversationSummaryText(platform: string, channelId: string, threadId: string): Promise<string | null>;
54
+ /**
55
+ * Removes conversation summary files older than TTL.
56
+ */
57
+ export declare function cleanupExpiredSummaries(): Promise<number>;
58
+ //# sourceMappingURL=conversation-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-summary.d.ts","sourceRoot":"","sources":["../../src/agent/conversation-summary.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gCAAgC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sCAAsC;IACtC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAuBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GACpD,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CASrC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAalE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAWnE;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CA2B/D"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Conversation Summary Buffer for thread-based conversation continuity.
3
+ *
4
+ * Maintains a rolling summary of each thread's conversation so that
5
+ * context can be restored when a Claude CLI session is reset (e.g. msg_too_long).
6
+ *
7
+ * Strategy: hybrid — normal flow uses --resume for full context,
8
+ * this summary is the fallback injected into a fresh session's system prompt.
9
+ */
10
+ import fs from 'node:fs/promises';
11
+ import path from 'node:path';
12
+ import { getPilotDir } from '../config/store.js';
13
+ const MAX_TURNS = 10;
14
+ const MAX_DECISIONS = 20;
15
+ const MAX_FILES = 30;
16
+ const MAX_USER_MSG_LEN = 500;
17
+ const MAX_ACTION_LEN = 300;
18
+ const SUMMARY_TTL_MS = 48 * 60 * 60 * 1000; // 48 hours
19
+ function getConversationsDir() {
20
+ return path.join(getPilotDir(), 'conversations');
21
+ }
22
+ function getSummaryPath(threadKey) {
23
+ // Replace colons with underscores for filesystem safety
24
+ const filename = threadKey.replace(/:/g, '_') + '.json';
25
+ return path.join(getConversationsDir(), filename);
26
+ }
27
+ function buildThreadKey(platform, channelId, threadId) {
28
+ return `${platform}:${channelId}:${threadId}`;
29
+ }
30
+ /**
31
+ * Loads a conversation summary from disk, or returns null if not found.
32
+ */
33
+ export async function loadSummary(platform, channelId, threadId) {
34
+ const key = buildThreadKey(platform, channelId, threadId);
35
+ const filePath = getSummaryPath(key);
36
+ try {
37
+ const data = await fs.readFile(filePath, 'utf-8');
38
+ return JSON.parse(data);
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ }
44
+ /**
45
+ * Saves a conversation summary to disk.
46
+ */
47
+ export async function saveSummary(summary) {
48
+ const filePath = getSummaryPath(summary.threadKey);
49
+ await fs.mkdir(getConversationsDir(), { recursive: true });
50
+ await fs.writeFile(filePath, JSON.stringify(summary, null, 2), { mode: 0o600 });
51
+ }
52
+ /**
53
+ * Extracts an action summary from an agent response.
54
+ * Takes the first 300 characters, trimming to the last sentence boundary if possible.
55
+ */
56
+ export function extractActionSummary(agentResponse) {
57
+ const cleaned = agentResponse.replace(/\n+/g, ' ').trim();
58
+ if (cleaned.length <= MAX_ACTION_LEN)
59
+ return cleaned;
60
+ const truncated = cleaned.slice(0, MAX_ACTION_LEN);
61
+ // Try to cut at the last sentence boundary
62
+ const lastPeriod = truncated.lastIndexOf('. ');
63
+ const lastNewline = truncated.lastIndexOf('。');
64
+ const cutPoint = Math.max(lastPeriod, lastNewline);
65
+ if (cutPoint > MAX_ACTION_LEN * 0.5) {
66
+ return truncated.slice(0, cutPoint + 1);
67
+ }
68
+ return truncated + '...';
69
+ }
70
+ /**
71
+ * Extracts file paths from an agent response by detecting common patterns.
72
+ */
73
+ export function extractModifiedFiles(agentResponse) {
74
+ const patterns = [
75
+ // "Writing src/foo.ts", "✏️ src/foo.ts", "Editing src/foo.ts"
76
+ /(?:Writing|Editing|Creating|Modifying|✏️)\s+([\w./-]+\.\w+)/gi,
77
+ // "wrote to src/foo.ts", "saved src/foo.ts"
78
+ /(?:wrote to|saved|updated|created|modified)\s+([\w./-]+\.\w+)/gi,
79
+ // Common commit-style: "src/foo.ts | 10 +"
80
+ /^\s*([\w./-]+\.\w+)\s*\|/gm,
81
+ ];
82
+ const files = new Set();
83
+ for (const pattern of patterns) {
84
+ let match;
85
+ while ((match = pattern.exec(agentResponse)) !== null) {
86
+ const filePath = match[1];
87
+ // Filter out obviously non-file matches
88
+ if (filePath && filePath.includes('/') && !filePath.startsWith('http')) {
89
+ files.add(filePath);
90
+ }
91
+ }
92
+ }
93
+ return [...files];
94
+ }
95
+ /**
96
+ * Extracts key decisions from an agent response.
97
+ * Looks for commit messages, configuration changes, and explicit decision language.
98
+ */
99
+ export function extractKeyDecisions(agentResponse) {
100
+ const decisions = [];
101
+ // Commit messages: "commit abc1234 — fix: ..."
102
+ const commitPattern = /commit\s+[0-9a-f]+\s*[—–-]\s*(.+)/gi;
103
+ let match;
104
+ while ((match = commitPattern.exec(agentResponse)) !== null) {
105
+ decisions.push(match[1].trim().slice(0, 200));
106
+ }
107
+ return decisions;
108
+ }
109
+ /**
110
+ * Updates the conversation summary for a thread after a turn completes.
111
+ */
112
+ export async function updateConversationSummary(platform, channelId, threadId, userMessage, agentResponse, projectPath) {
113
+ const key = buildThreadKey(platform, channelId, threadId);
114
+ const existing = await loadSummary(platform, channelId, threadId);
115
+ const summary = existing ?? {
116
+ threadKey: key,
117
+ projectPath,
118
+ turns: [],
119
+ keyDecisions: [],
120
+ modifiedFiles: [],
121
+ lastUpdated: new Date().toISOString(),
122
+ };
123
+ // Update projectPath if newly resolved
124
+ if (projectPath && !summary.projectPath) {
125
+ summary.projectPath = projectPath;
126
+ }
127
+ // Add turn summary
128
+ const turn = {
129
+ userMessage: userMessage.slice(0, MAX_USER_MSG_LEN),
130
+ agentAction: extractActionSummary(agentResponse),
131
+ timestamp: new Date().toISOString(),
132
+ };
133
+ summary.turns.push(turn);
134
+ if (summary.turns.length > MAX_TURNS) {
135
+ summary.turns = summary.turns.slice(-MAX_TURNS);
136
+ }
137
+ // Extract and accumulate modified files
138
+ const newFiles = extractModifiedFiles(agentResponse);
139
+ for (const f of newFiles) {
140
+ if (!summary.modifiedFiles.includes(f)) {
141
+ summary.modifiedFiles.push(f);
142
+ }
143
+ }
144
+ if (summary.modifiedFiles.length > MAX_FILES) {
145
+ summary.modifiedFiles = summary.modifiedFiles.slice(-MAX_FILES);
146
+ }
147
+ // Extract and accumulate key decisions
148
+ const newDecisions = extractKeyDecisions(agentResponse);
149
+ for (const d of newDecisions) {
150
+ if (!summary.keyDecisions.includes(d)) {
151
+ summary.keyDecisions.push(d);
152
+ }
153
+ }
154
+ if (summary.keyDecisions.length > MAX_DECISIONS) {
155
+ summary.keyDecisions = summary.keyDecisions.slice(-MAX_DECISIONS);
156
+ }
157
+ summary.lastUpdated = new Date().toISOString();
158
+ await saveSummary(summary);
159
+ }
160
+ /**
161
+ * Formats a conversation summary for injection into a system prompt.
162
+ * Returns null if no summary exists.
163
+ */
164
+ export async function getConversationSummaryText(platform, channelId, threadId) {
165
+ const summary = await loadSummary(platform, channelId, threadId);
166
+ if (!summary || summary.turns.length === 0)
167
+ return null;
168
+ const lines = [];
169
+ lines.push('This is the conversation history from this thread. Use this context to respond to the user\'s follow-up request.');
170
+ lines.push('');
171
+ // Turn history
172
+ lines.push(`## Previous conversation (${summary.turns.length} turns)`);
173
+ for (let i = 0; i < summary.turns.length; i++) {
174
+ const turn = summary.turns[i];
175
+ const time = new Date(turn.timestamp).toLocaleTimeString('en-US', {
176
+ hour: '2-digit', minute: '2-digit', hour12: false,
177
+ });
178
+ lines.push(`${i + 1}. [${time}] User: "${turn.userMessage}"`);
179
+ lines.push(` → Agent: ${turn.agentAction}`);
180
+ lines.push('');
181
+ }
182
+ // Modified files
183
+ if (summary.modifiedFiles.length > 0) {
184
+ lines.push('## Modified files');
185
+ for (const f of summary.modifiedFiles) {
186
+ lines.push(`- ${f}`);
187
+ }
188
+ lines.push('');
189
+ }
190
+ // Key decisions
191
+ if (summary.keyDecisions.length > 0) {
192
+ lines.push('## Key decisions');
193
+ for (const d of summary.keyDecisions) {
194
+ lines.push(`- ${d}`);
195
+ }
196
+ lines.push('');
197
+ }
198
+ return lines.join('\n');
199
+ }
200
+ /**
201
+ * Removes conversation summary files older than TTL.
202
+ */
203
+ export async function cleanupExpiredSummaries() {
204
+ const dir = getConversationsDir();
205
+ let removed = 0;
206
+ try {
207
+ const files = await fs.readdir(dir);
208
+ const now = Date.now();
209
+ for (const file of files) {
210
+ if (!file.endsWith('.json'))
211
+ continue;
212
+ const filePath = path.join(dir, file);
213
+ try {
214
+ const data = await fs.readFile(filePath, 'utf-8');
215
+ const summary = JSON.parse(data);
216
+ const age = now - new Date(summary.lastUpdated).getTime();
217
+ if (age > SUMMARY_TTL_MS) {
218
+ await fs.unlink(filePath);
219
+ removed++;
220
+ }
221
+ }
222
+ catch {
223
+ // Corrupt file — remove it
224
+ await fs.unlink(filePath).catch(() => { });
225
+ removed++;
226
+ }
227
+ }
228
+ }
229
+ catch {
230
+ // Directory doesn't exist yet — nothing to clean
231
+ }
232
+ return removed;
233
+ }
234
+ //# sourceMappingURL=conversation-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-summary.js","sourceRoot":"","sources":["../../src/agent/conversation-summary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAwBvD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,mBAAmB,CAA+C;gBAE9D,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW;IAkB5D,OAAO,CAAC,aAAa;IAOf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAyBd,eAAe;IAoBvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUb,aAAa;IAkH3B;;;OAGG;YACW,uBAAuB;CAmJtC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAyBvD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,mBAAmB,CAA+C;gBAE9D,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW;IAkB5D,OAAO,CAAC,aAAa;IAOf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAyBd,eAAe;IAoBvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUb,aAAa;IAmH3B;;;OAGG;YACW,uBAAuB;CAqNtC"}
@@ -13,6 +13,7 @@ import { getMcpConfigPathIfExists } from '../tools/figma-mcp.js';
13
13
  import { buildMcpContext } from './mcp-manager.js';
14
14
  import { PilotError } from '../utils/errors.js';
15
15
  import { getSession, createSession, touchSession, deleteSession, cleanupSessions } from './session.js';
16
+ import { updateConversationSummary, getConversationSummaryText, cleanupExpiredSummaries } from './conversation-summary.js';
16
17
  import { detectPermissionError, PermissionWatcher } from '../security/permissions.js';
17
18
  import { isGhAuthenticated } from '../tools/github.js';
18
19
  import { configureGoogle } from '../tools/google-auth.js';
@@ -167,8 +168,9 @@ export class AgentCore {
167
168
  // Determine user-friendly message based on error type
168
169
  let displayMsg;
169
170
  if (errorMsg.includes('msg_too_long')) {
170
- // Context overflow — delete the broken session so next message starts fresh
171
- const threadId = msg.threadId ?? msg.channelId;
171
+ // Context overflow — session already handled by invokeClaudeWithContext fallback
172
+ // If we still get here, it means the fallback also failed — delete session as last resort
173
+ const threadId = msg.threadId ?? `dm-${Date.now()}`;
172
174
  await deleteSession(msg.platform, msg.channelId, threadId);
173
175
  displayMsg = '❌ Conversation too long. Session has been reset — please send your message again.';
174
176
  log(`Session deleted due to msg_too_long for ${msg.platform}:${msg.channelId}:${threadId}`);
@@ -206,12 +208,7 @@ export class AgentCore {
206
208
  // Resolve project from message text
207
209
  const project = await resolveProject(msg.text);
208
210
  const projectName = project?.name;
209
- const projectPath = project?.path;
210
- // If project resolved, analyze on first use and update lastUsed
211
- if (projectName && projectPath) {
212
- await touchProject(projectName);
213
- await analyzeProjectIfNew(projectName, projectPath);
214
- }
211
+ let projectPath = project?.path;
215
212
  // Build system-level context (memory, skills, tool descriptions)
216
213
  const memoryContext = await buildMemoryContext(projectName);
217
214
  const skillsContext = await buildSkillsContext();
@@ -283,8 +280,6 @@ You have a credential store at ~/.pilot/credentials/. Use it to store and retrie
283
280
  });
284
281
  }
285
282
  // Session continuity: map messenger threads to Claude sessions
286
- // DM (no threadId) → each message gets a new session to prevent infinite context accumulation
287
- const isDm = !msg.threadId;
288
283
  const threadId = msg.threadId ?? `dm-${Date.now()}`;
289
284
  const existingSession = await getSession(msg.platform, msg.channelId, threadId);
290
285
  let sessionId;
@@ -292,6 +287,10 @@ You have a credential store at ~/.pilot/credentials/. Use it to store and retrie
292
287
  if (existingSession) {
293
288
  // Resume existing session — Claude retains full conversation context
294
289
  resumeSessionId = existingSession.sessionId;
290
+ // Bug fix: restore projectPath from session when not resolved from message text
291
+ if (!projectPath && existingSession.projectPath) {
292
+ projectPath = existingSession.projectPath;
293
+ }
295
294
  await touchSession(msg.platform, msg.channelId, threadId);
296
295
  log(`Resuming session ${resumeSessionId} (turn ${existingSession.turnCount + 1})`);
297
296
  }
@@ -301,8 +300,20 @@ You have a credential store at ~/.pilot/credentials/. Use it to store and retrie
301
300
  sessionId = session.sessionId;
302
301
  log(`New session ${sessionId}`);
303
302
  }
304
- // Periodically clean up expired sessions (non-blocking)
303
+ // If project resolved (from message or session), analyze on first use
304
+ if (projectName && projectPath) {
305
+ await touchProject(projectName);
306
+ await analyzeProjectIfNew(projectName, projectPath);
307
+ }
308
+ // Load conversation summary (used for new sessions & msg_too_long fallback)
309
+ const conversationSummaryText = await getConversationSummaryText(msg.platform, msg.channelId, threadId);
310
+ // For new sessions with prior conversation, inject summary into system prompt
311
+ const fullSystemPrompt = !resumeSessionId && conversationSummaryText
312
+ ? `${systemPrompt}\n\n<CONVERSATION_HISTORY>\n${conversationSummaryText}\n</CONVERSATION_HISTORY>`
313
+ : systemPrompt;
314
+ // Periodically clean up expired sessions and summaries (non-blocking)
305
315
  cleanupSessions().catch(() => { });
316
+ cleanupExpiredSummaries().catch(() => { });
306
317
  const mcpConfigPath = await getMcpConfigPathIfExists() ?? undefined;
307
318
  log(`MCP config: ${mcpConfigPath ?? 'none'}`);
308
319
  // No --allowedTools: --dangerously-skip-permissions already permits all tools.
@@ -312,14 +323,10 @@ You have a credential store at ~/.pilot/credentials/. Use it to store and retrie
312
323
  let lastThinkingReport = 0;
313
324
  let thinkingBuffer = '';
314
325
  const THINKING_THROTTLE_MS = 5_000;
315
- const result = await invokeClaudeCli({
316
- prompt: msg.text,
317
- systemPrompt: resumeSessionId ? undefined : systemPrompt, // Only send system prompt on first turn
318
- cwd: projectPath,
319
- mcpConfigPath,
320
- cliBinary: this.config.claude.cliBinary,
321
- onToolUse: (status) => onStatus?.(status),
322
- onThinking: this.config.agent?.showThinking !== false ? (text) => {
326
+ const buildThinkingHandler = () => {
327
+ if (this.config.agent?.showThinking === false)
328
+ return undefined;
329
+ return (text) => {
323
330
  thinkingBuffer += text;
324
331
  const now = Date.now();
325
332
  if (now - lastThinkingReport > THINKING_THROTTLE_MS && thinkingBuffer.length > 0) {
@@ -330,11 +337,52 @@ You have a credential store at ~/.pilot/credentials/. Use it to store and retrie
330
337
  thinkingBuffer = '';
331
338
  lastThinkingReport = now;
332
339
  }
333
- } : undefined,
334
- sessionId,
335
- resumeSessionId,
336
- });
337
- return result.result;
340
+ };
341
+ };
342
+ try {
343
+ const result = await invokeClaudeCli({
344
+ prompt: msg.text,
345
+ systemPrompt: resumeSessionId ? undefined : fullSystemPrompt,
346
+ cwd: projectPath,
347
+ mcpConfigPath,
348
+ cliBinary: this.config.claude.cliBinary,
349
+ onToolUse: (status) => onStatus?.(status),
350
+ onThinking: buildThinkingHandler(),
351
+ sessionId,
352
+ resumeSessionId,
353
+ });
354
+ // Save conversation summary after successful response (non-blocking)
355
+ updateConversationSummary(msg.platform, msg.channelId, threadId, msg.text, result.result, projectPath).catch(() => { });
356
+ return result.result;
357
+ }
358
+ catch (err) {
359
+ const errorMsg = err instanceof Error ? err.message : String(err);
360
+ // msg_too_long: context overflow — fallback to summary-based fresh session
361
+ if (errorMsg.includes('msg_too_long') && conversationSummaryText) {
362
+ log(`msg_too_long: falling back to summary-based fresh session for ${threadId}`);
363
+ await deleteSession(msg.platform, msg.channelId, threadId);
364
+ const fallbackSystemPrompt = `${systemPrompt}\n\n<CONVERSATION_HISTORY>\n${conversationSummaryText}\n</CONVERSATION_HISTORY>`;
365
+ // Reset thinking state for retry
366
+ thinkingBuffer = '';
367
+ lastThinkingReport = 0;
368
+ const retryResult = await invokeClaudeCli({
369
+ prompt: msg.text,
370
+ systemPrompt: fallbackSystemPrompt,
371
+ cwd: projectPath,
372
+ mcpConfigPath,
373
+ cliBinary: this.config.claude.cliBinary,
374
+ onToolUse: (status) => onStatus?.(status),
375
+ onThinking: buildThinkingHandler(),
376
+ });
377
+ // Create a fresh session for subsequent messages
378
+ await createSession(msg.platform, msg.channelId, threadId, projectPath);
379
+ // Update conversation summary
380
+ updateConversationSummary(msg.platform, msg.channelId, threadId, msg.text, retryResult.result, projectPath).catch(() => { });
381
+ return retryResult.result;
382
+ }
383
+ // Re-throw for other errors
384
+ throw err;
385
+ }
338
386
  }
339
387
  }
340
388
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pilot-ai",
3
- "version": "0.5.17",
3
+ "version": "0.5.18",
4
4
  "description": "Personal AI agent that controls your macOS via Slack or Telegram",
5
5
  "type": "module",
6
6
  "bin": {