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.
- package/dist/agent/conversation-summary.d.ts +58 -0
- package/dist/agent/conversation-summary.d.ts.map +1 -0
- package/dist/agent/conversation-summary.js +234 -0
- package/dist/agent/conversation-summary.js.map +1 -0
- package/dist/agent/core.d.ts.map +1 -1
- package/dist/agent/core.js +72 -24
- package/dist/agent/core.js.map +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
package/dist/agent/core.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/agent/core.js
CHANGED
|
@@ -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 —
|
|
171
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
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
|
package/dist/agent/core.js.map
CHANGED
|
@@ -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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"}
|