@ai-devkit/agent-manager 0.9.0 → 0.10.0
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/AgentManager.d.ts +7 -0
- package/dist/AgentManager.d.ts.map +1 -1
- package/dist/AgentManager.js +9 -0
- package/dist/AgentManager.js.map +1 -1
- package/dist/adapters/ClaudeCodeAdapter.d.ts +2 -44
- package/dist/adapters/ClaudeCodeAdapter.d.ts.map +1 -1
- package/dist/adapters/ClaudeCodeAdapter.js +10 -285
- package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
- package/dist/terminal/TerminalFocusManager.d.ts.map +1 -1
- package/dist/terminal/TerminalFocusManager.js +38 -27
- package/dist/terminal/TerminalFocusManager.js.map +1 -1
- package/dist/utils/ClaudeSessionParser.d.ts +112 -0
- package/dist/utils/ClaudeSessionParser.d.ts.map +1 -0
- package/dist/utils/ClaudeSessionParser.js +334 -0
- package/dist/utils/ClaudeSessionParser.js.map +1 -0
- package/dist/utils/process.d.ts +3 -4
- package/dist/utils/process.d.ts.map +1 -1
- package/dist/utils/process.js +11 -15
- package/dist/utils/process.js.map +1 -1
- package/package.json +1 -1
- package/src/AgentManager.ts +11 -1
- package/src/__tests__/adapters/ClaudeCodeAdapter.test.ts +29 -29
- package/src/__tests__/utils/process.test.ts +27 -27
- package/src/adapters/ClaudeCodeAdapter.ts +17 -365
- package/src/terminal/TerminalFocusManager.ts +38 -26
- package/src/utils/ClaudeSessionParser.ts +383 -0
- package/src/utils/process.ts +21 -24
package/dist/AgentManager.d.ts
CHANGED
|
@@ -47,6 +47,13 @@ export declare class AgentManager {
|
|
|
47
47
|
* @returns Array of registered adapters
|
|
48
48
|
*/
|
|
49
49
|
getAdapters(): AgentAdapter[];
|
|
50
|
+
/**
|
|
51
|
+
* Get a registered adapter by type
|
|
52
|
+
*
|
|
53
|
+
* @param type Agent type to look up
|
|
54
|
+
* @returns The adapter, or undefined if not registered
|
|
55
|
+
*/
|
|
56
|
+
getAdapter(type: string): AgentAdapter | undefined;
|
|
50
57
|
/**
|
|
51
58
|
* Check if an adapter is registered for a specific type
|
|
52
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../src/AgentManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGvE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAwC;IAExD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAU5C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCxC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI;CAiBnF"}
|
|
1
|
+
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../src/AgentManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGvE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAwC;IAExD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAU5C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCxC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI;CAiBnF"}
|
package/dist/AgentManager.js
CHANGED
|
@@ -62,6 +62,15 @@ class AgentManager {
|
|
|
62
62
|
getAdapters() {
|
|
63
63
|
return Array.from(this.adapters.values());
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Get a registered adapter by type
|
|
67
|
+
*
|
|
68
|
+
* @param type Agent type to look up
|
|
69
|
+
* @returns The adapter, or undefined if not registered
|
|
70
|
+
*/
|
|
71
|
+
getAdapter(type) {
|
|
72
|
+
return this.adapters.get(type);
|
|
73
|
+
}
|
|
65
74
|
/**
|
|
66
75
|
* Check if an adapter is registered for a specific type
|
|
67
76
|
*
|
package/dist/AgentManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../src/AgentManager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,0DAAsD;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAa,YAAY;IAAzB;QACY,aAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../src/AgentManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,10 @@ export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
|
13
13
|
readonly type: "claude";
|
|
14
14
|
private projectsDir;
|
|
15
15
|
private sessionsDir;
|
|
16
|
+
private parser;
|
|
16
17
|
constructor();
|
|
17
|
-
/**
|
|
18
|
-
* Check if this adapter can handle a given process
|
|
19
|
-
*/
|
|
20
18
|
canHandle(processInfo: ProcessInfo): boolean;
|
|
21
19
|
private isClaudeExecutable;
|
|
22
|
-
/**
|
|
23
|
-
* Detect running Claude Code agents
|
|
24
|
-
*/
|
|
25
20
|
detectAgents(): Promise<AgentInfo[]>;
|
|
26
21
|
/**
|
|
27
22
|
* Discover session files for the given processes.
|
|
@@ -39,7 +34,7 @@ export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
|
39
34
|
* fallback — processes with no valid PID file (sent to legacy matching)
|
|
40
35
|
*
|
|
41
36
|
* Per-process fallback triggers on: file absent, malformed JSON,
|
|
42
|
-
* stale startedAt (>
|
|
37
|
+
* stale startedAt (>60s from proc.startTime), or missing JSONL.
|
|
43
38
|
*/
|
|
44
39
|
private tryPidFileMatching;
|
|
45
40
|
/**
|
|
@@ -51,45 +46,8 @@ export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
|
51
46
|
private getProjectDir;
|
|
52
47
|
private mapSessionToAgent;
|
|
53
48
|
private mapProcessOnlyAgent;
|
|
54
|
-
/**
|
|
55
|
-
* Parse a single session file into ClaudeSession
|
|
56
|
-
*/
|
|
57
|
-
private readSession;
|
|
58
|
-
/**
|
|
59
|
-
* Determine agent status from session state
|
|
60
|
-
*/
|
|
61
|
-
private determineStatus;
|
|
62
|
-
/**
|
|
63
|
-
* Extract meaningful text from a user message content.
|
|
64
|
-
* Handles string and array formats, skill command expansion, and noise filtering.
|
|
65
|
-
*/
|
|
66
|
-
private extractUserMessageText;
|
|
67
|
-
/**
|
|
68
|
-
* Parse a <command-message> string into "/command args" format.
|
|
69
|
-
*/
|
|
70
|
-
private parseCommandMessage;
|
|
71
|
-
/**
|
|
72
|
-
* Check if a message is noise (not a meaningful user intent).
|
|
73
|
-
*/
|
|
74
|
-
private isNoiseMessage;
|
|
75
|
-
/**
|
|
76
|
-
* Check if an entry type is metadata (not conversation state).
|
|
77
|
-
* These should not overwrite lastEntryType used for status determination.
|
|
78
|
-
*/
|
|
79
|
-
private isMetadataEntryType;
|
|
80
|
-
/**
|
|
81
|
-
* Read the full conversation from a Claude Code session JSONL file.
|
|
82
|
-
*
|
|
83
|
-
* Default mode returns only text content from user/assistant/system messages.
|
|
84
|
-
* Verbose mode also includes tool_use and tool_result blocks.
|
|
85
|
-
*/
|
|
86
49
|
getConversation(sessionFilePath: string, options?: {
|
|
87
50
|
verbose?: boolean;
|
|
88
51
|
}): ConversationMessage[];
|
|
89
|
-
/**
|
|
90
|
-
* Extract displayable content from a message content field.
|
|
91
|
-
*/
|
|
92
|
-
private extractConversationContent;
|
|
93
|
-
private truncateToolResult;
|
|
94
52
|
}
|
|
95
53
|
//# sourceMappingURL=ClaudeCodeAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeCodeAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaudeCodeAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAkChG;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAClD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAsB;;IASpC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAI5C,OAAO,CAAC,kBAAkB;IAMpB,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAwD1C;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAkD1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,mBAAmB;IAa3B,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,mBAAmB,EAAE;CAGnG"}
|
|
@@ -40,6 +40,9 @@ const AgentAdapter_1 = require("./AgentAdapter");
|
|
|
40
40
|
const process_1 = require("../utils/process");
|
|
41
41
|
const session_1 = require("../utils/session");
|
|
42
42
|
const matching_1 = require("../utils/matching");
|
|
43
|
+
const ClaudeSessionParser_1 = require("../utils/ClaudeSessionParser");
|
|
44
|
+
/** Maximum allowed delta (ms) between process start time and PID file startedAt. */
|
|
45
|
+
const PID_FILE_STALENESS_MS = 60000;
|
|
43
46
|
/**
|
|
44
47
|
* Claude Code Adapter
|
|
45
48
|
*
|
|
@@ -56,10 +59,8 @@ class ClaudeCodeAdapter {
|
|
|
56
59
|
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
57
60
|
this.projectsDir = path.join(homeDir, '.claude', 'projects');
|
|
58
61
|
this.sessionsDir = path.join(homeDir, '.claude', 'sessions');
|
|
62
|
+
this.parser = new ClaudeSessionParser_1.ClaudeSessionParser();
|
|
59
63
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Check if this adapter can handle a given process
|
|
62
|
-
*/
|
|
63
64
|
canHandle(processInfo) {
|
|
64
65
|
return this.isClaudeExecutable(processInfo.command);
|
|
65
66
|
}
|
|
@@ -68,9 +69,6 @@ class ClaudeCodeAdapter {
|
|
|
68
69
|
const base = path.basename(executable).toLowerCase();
|
|
69
70
|
return base === 'claude' || base === 'claude.exe';
|
|
70
71
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Detect running Claude Code agents
|
|
73
|
-
*/
|
|
74
72
|
async detectAgents() {
|
|
75
73
|
const processes = (0, process_1.enrichProcesses)((0, process_1.listAgentProcesses)('claude'));
|
|
76
74
|
if (processes.length === 0) {
|
|
@@ -90,7 +88,7 @@ class ClaudeCodeAdapter {
|
|
|
90
88
|
const agents = [];
|
|
91
89
|
// Build agents from direct (PID-file) matches
|
|
92
90
|
for (const { process: proc, sessionFile } of direct) {
|
|
93
|
-
const sessionData = this.readSession(sessionFile.filePath, sessionFile.resolvedCwd);
|
|
91
|
+
const sessionData = this.parser.readSession(sessionFile.filePath, sessionFile.resolvedCwd);
|
|
94
92
|
if (sessionData) {
|
|
95
93
|
agents.push(this.mapSessionToAgent(sessionData, proc, sessionFile));
|
|
96
94
|
}
|
|
@@ -100,7 +98,7 @@ class ClaudeCodeAdapter {
|
|
|
100
98
|
}
|
|
101
99
|
// Build agents from legacy matches
|
|
102
100
|
for (const match of legacyMatches) {
|
|
103
|
-
const sessionData = this.readSession(match.session.filePath, match.session.resolvedCwd);
|
|
101
|
+
const sessionData = this.parser.readSession(match.session.filePath, match.session.resolvedCwd);
|
|
104
102
|
if (sessionData) {
|
|
105
103
|
agents.push(this.mapSessionToAgent(sessionData, match.process, match.session));
|
|
106
104
|
}
|
|
@@ -124,7 +122,6 @@ class ClaudeCodeAdapter {
|
|
|
124
122
|
* via a single batched stat call across all directories.
|
|
125
123
|
*/
|
|
126
124
|
discoverSessions(processes) {
|
|
127
|
-
// Collect valid project dirs and map them back to their CWD
|
|
128
125
|
const dirToCwd = new Map();
|
|
129
126
|
for (const proc of processes) {
|
|
130
127
|
if (!proc.cwd)
|
|
@@ -143,9 +140,7 @@ class ClaudeCodeAdapter {
|
|
|
143
140
|
}
|
|
144
141
|
if (dirToCwd.size === 0)
|
|
145
142
|
return [];
|
|
146
|
-
// Single batched stat call across all directories
|
|
147
143
|
const files = (0, session_1.batchGetSessionFileBirthtimes)([...dirToCwd.keys()]);
|
|
148
|
-
// Set resolvedCwd based on which project dir the file belongs to
|
|
149
144
|
for (const file of files) {
|
|
150
145
|
file.resolvedCwd = dirToCwd.get(file.projectDir) || '';
|
|
151
146
|
}
|
|
@@ -159,7 +154,7 @@ class ClaudeCodeAdapter {
|
|
|
159
154
|
* fallback — processes with no valid PID file (sent to legacy matching)
|
|
160
155
|
*
|
|
161
156
|
* Per-process fallback triggers on: file absent, malformed JSON,
|
|
162
|
-
* stale startedAt (>
|
|
157
|
+
* stale startedAt (>60s from proc.startTime), or missing JSONL.
|
|
163
158
|
*/
|
|
164
159
|
tryPidFileMatching(processes) {
|
|
165
160
|
const direct = [];
|
|
@@ -171,7 +166,7 @@ class ClaudeCodeAdapter {
|
|
|
171
166
|
// Stale-file guard: reject PID files from a previous process with the same PID
|
|
172
167
|
if (proc.startTime) {
|
|
173
168
|
const deltaMs = Math.abs(proc.startTime.getTime() - entry.startedAt);
|
|
174
|
-
if (deltaMs >
|
|
169
|
+
if (deltaMs > PID_FILE_STALENESS_MS) {
|
|
175
170
|
fallback.push(proc);
|
|
176
171
|
continue;
|
|
177
172
|
}
|
|
@@ -214,7 +209,7 @@ class ClaudeCodeAdapter {
|
|
|
214
209
|
return {
|
|
215
210
|
name: (0, matching_1.generateAgentName)(processInfo.cwd, processInfo.pid),
|
|
216
211
|
type: this.type,
|
|
217
|
-
status: this.determineStatus(session),
|
|
212
|
+
status: this.parser.determineStatus(session),
|
|
218
213
|
summary: session.lastUserMessage || 'Session started',
|
|
219
214
|
pid: processInfo.pid,
|
|
220
215
|
projectPath: sessionFile.resolvedCwd || processInfo.cwd || '',
|
|
@@ -235,278 +230,8 @@ class ClaudeCodeAdapter {
|
|
|
235
230
|
lastActive: new Date(),
|
|
236
231
|
};
|
|
237
232
|
}
|
|
238
|
-
/**
|
|
239
|
-
* Parse a single session file into ClaudeSession
|
|
240
|
-
*/
|
|
241
|
-
readSession(filePath, projectPath) {
|
|
242
|
-
const sessionId = path.basename(filePath, '.jsonl');
|
|
243
|
-
let content;
|
|
244
|
-
try {
|
|
245
|
-
content = fs.readFileSync(filePath, 'utf-8');
|
|
246
|
-
}
|
|
247
|
-
catch {
|
|
248
|
-
return null;
|
|
249
|
-
}
|
|
250
|
-
const allLines = content.trim().split('\n');
|
|
251
|
-
if (allLines.length === 0) {
|
|
252
|
-
return null;
|
|
253
|
-
}
|
|
254
|
-
// Parse first line for sessionStart.
|
|
255
|
-
// Claude Code may emit a "file-history-snapshot" as the first entry, which
|
|
256
|
-
// stores its timestamp inside "snapshot.timestamp" rather than at the root.
|
|
257
|
-
let sessionStart = null;
|
|
258
|
-
try {
|
|
259
|
-
const firstEntry = JSON.parse(allLines[0]);
|
|
260
|
-
const rawTs = firstEntry.timestamp || firstEntry.snapshot?.timestamp;
|
|
261
|
-
if (rawTs) {
|
|
262
|
-
const ts = new Date(rawTs);
|
|
263
|
-
if (!Number.isNaN(ts.getTime())) {
|
|
264
|
-
sessionStart = ts;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
catch {
|
|
269
|
-
/* skip */
|
|
270
|
-
}
|
|
271
|
-
// Parse all lines for session state (file already in memory)
|
|
272
|
-
let lastEntryType;
|
|
273
|
-
let lastActive;
|
|
274
|
-
let lastCwd;
|
|
275
|
-
let isInterrupted = false;
|
|
276
|
-
let lastUserMessage;
|
|
277
|
-
for (const line of allLines) {
|
|
278
|
-
try {
|
|
279
|
-
const entry = JSON.parse(line);
|
|
280
|
-
if (entry.timestamp) {
|
|
281
|
-
const ts = new Date(entry.timestamp);
|
|
282
|
-
if (!Number.isNaN(ts.getTime())) {
|
|
283
|
-
lastActive = ts;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
if (typeof entry.cwd === 'string' && entry.cwd.trim().length > 0) {
|
|
287
|
-
lastCwd = entry.cwd;
|
|
288
|
-
}
|
|
289
|
-
if (entry.type && !this.isMetadataEntryType(entry.type)) {
|
|
290
|
-
lastEntryType = entry.type;
|
|
291
|
-
if (entry.type === 'user') {
|
|
292
|
-
const msgContent = entry.message?.content;
|
|
293
|
-
isInterrupted =
|
|
294
|
-
Array.isArray(msgContent) &&
|
|
295
|
-
msgContent.some((c) => (c.type === 'text' &&
|
|
296
|
-
c.text?.includes('[Request interrupted')) ||
|
|
297
|
-
(c.type === 'tool_result' &&
|
|
298
|
-
c.content?.includes('[Request interrupted')));
|
|
299
|
-
// Extract user message text for summary fallback
|
|
300
|
-
const text = this.extractUserMessageText(msgContent);
|
|
301
|
-
if (text) {
|
|
302
|
-
lastUserMessage = text;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
isInterrupted = false;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
catch {
|
|
311
|
-
continue;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
return {
|
|
315
|
-
sessionId,
|
|
316
|
-
projectPath: projectPath || lastCwd || '',
|
|
317
|
-
lastCwd,
|
|
318
|
-
sessionStart: sessionStart || lastActive || new Date(),
|
|
319
|
-
lastActive: lastActive || new Date(),
|
|
320
|
-
lastEntryType,
|
|
321
|
-
isInterrupted,
|
|
322
|
-
lastUserMessage,
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Determine agent status from session state
|
|
327
|
-
*/
|
|
328
|
-
determineStatus(session) {
|
|
329
|
-
if (!session.lastEntryType) {
|
|
330
|
-
return AgentAdapter_1.AgentStatus.UNKNOWN;
|
|
331
|
-
}
|
|
332
|
-
// No age-based IDLE override: every agent in the list is backed by
|
|
333
|
-
// a running process (found via ps), so the entry type is the best
|
|
334
|
-
// indicator of actual state.
|
|
335
|
-
if (session.lastEntryType === 'user') {
|
|
336
|
-
return session.isInterrupted
|
|
337
|
-
? AgentAdapter_1.AgentStatus.WAITING
|
|
338
|
-
: AgentAdapter_1.AgentStatus.RUNNING;
|
|
339
|
-
}
|
|
340
|
-
if (session.lastEntryType === 'progress' ||
|
|
341
|
-
session.lastEntryType === 'thinking') {
|
|
342
|
-
return AgentAdapter_1.AgentStatus.RUNNING;
|
|
343
|
-
}
|
|
344
|
-
if (session.lastEntryType === 'assistant') {
|
|
345
|
-
return AgentAdapter_1.AgentStatus.WAITING;
|
|
346
|
-
}
|
|
347
|
-
if (session.lastEntryType === 'system') {
|
|
348
|
-
return AgentAdapter_1.AgentStatus.IDLE;
|
|
349
|
-
}
|
|
350
|
-
return AgentAdapter_1.AgentStatus.UNKNOWN;
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Extract meaningful text from a user message content.
|
|
354
|
-
* Handles string and array formats, skill command expansion, and noise filtering.
|
|
355
|
-
*/
|
|
356
|
-
extractUserMessageText(content) {
|
|
357
|
-
if (!content) {
|
|
358
|
-
return undefined;
|
|
359
|
-
}
|
|
360
|
-
let raw;
|
|
361
|
-
if (typeof content === 'string') {
|
|
362
|
-
raw = content.trim();
|
|
363
|
-
}
|
|
364
|
-
else if (Array.isArray(content)) {
|
|
365
|
-
for (const block of content) {
|
|
366
|
-
if (block.type === 'text' && block.text?.trim()) {
|
|
367
|
-
raw = block.text.trim();
|
|
368
|
-
break;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
if (!raw) {
|
|
373
|
-
return undefined;
|
|
374
|
-
}
|
|
375
|
-
// Skill slash-command: extract /command-name and args
|
|
376
|
-
if (raw.startsWith('<command-message>')) {
|
|
377
|
-
return this.parseCommandMessage(raw);
|
|
378
|
-
}
|
|
379
|
-
// Expanded skill content: extract ARGUMENTS line if present, skip otherwise
|
|
380
|
-
if (raw.startsWith('Base directory for this skill:')) {
|
|
381
|
-
const argsMatch = raw.match(/\nARGUMENTS:\s*(.+)/);
|
|
382
|
-
return argsMatch?.[1]?.trim() || undefined;
|
|
383
|
-
}
|
|
384
|
-
// Filter noise
|
|
385
|
-
if (this.isNoiseMessage(raw)) {
|
|
386
|
-
return undefined;
|
|
387
|
-
}
|
|
388
|
-
return raw;
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Parse a <command-message> string into "/command args" format.
|
|
392
|
-
*/
|
|
393
|
-
parseCommandMessage(raw) {
|
|
394
|
-
const nameMatch = raw.match(/<command-name>([^<]+)<\/command-name>/);
|
|
395
|
-
const argsMatch = raw.match(/<command-args>([^<]+)<\/command-args>/);
|
|
396
|
-
const name = nameMatch?.[1]?.trim();
|
|
397
|
-
if (!name) {
|
|
398
|
-
return undefined;
|
|
399
|
-
}
|
|
400
|
-
const args = argsMatch?.[1]?.trim();
|
|
401
|
-
return args ? `${name} ${args}` : name;
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Check if a message is noise (not a meaningful user intent).
|
|
405
|
-
*/
|
|
406
|
-
isNoiseMessage(text) {
|
|
407
|
-
return (text.startsWith('[Request interrupted') ||
|
|
408
|
-
text === 'Tool loaded.' ||
|
|
409
|
-
text.startsWith('This session is being continued'));
|
|
410
|
-
}
|
|
411
|
-
/**
|
|
412
|
-
* Check if an entry type is metadata (not conversation state).
|
|
413
|
-
* These should not overwrite lastEntryType used for status determination.
|
|
414
|
-
*/
|
|
415
|
-
isMetadataEntryType(type) {
|
|
416
|
-
return type === 'last-prompt' || type === 'file-history-snapshot';
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Read the full conversation from a Claude Code session JSONL file.
|
|
420
|
-
*
|
|
421
|
-
* Default mode returns only text content from user/assistant/system messages.
|
|
422
|
-
* Verbose mode also includes tool_use and tool_result blocks.
|
|
423
|
-
*/
|
|
424
233
|
getConversation(sessionFilePath, options) {
|
|
425
|
-
|
|
426
|
-
let content;
|
|
427
|
-
try {
|
|
428
|
-
content = fs.readFileSync(sessionFilePath, 'utf-8');
|
|
429
|
-
}
|
|
430
|
-
catch {
|
|
431
|
-
return [];
|
|
432
|
-
}
|
|
433
|
-
const lines = content.trim().split('\n');
|
|
434
|
-
const messages = [];
|
|
435
|
-
for (const line of lines) {
|
|
436
|
-
let entry;
|
|
437
|
-
try {
|
|
438
|
-
entry = JSON.parse(line);
|
|
439
|
-
}
|
|
440
|
-
catch {
|
|
441
|
-
continue;
|
|
442
|
-
}
|
|
443
|
-
const entryType = entry.type;
|
|
444
|
-
if (!entryType || this.isMetadataEntryType(entryType))
|
|
445
|
-
continue;
|
|
446
|
-
if (entryType === 'progress' || entryType === 'thinking')
|
|
447
|
-
continue;
|
|
448
|
-
let role;
|
|
449
|
-
if (entryType === 'user') {
|
|
450
|
-
role = 'user';
|
|
451
|
-
}
|
|
452
|
-
else if (entryType === 'assistant') {
|
|
453
|
-
role = 'assistant';
|
|
454
|
-
}
|
|
455
|
-
else if (entryType === 'system') {
|
|
456
|
-
role = 'system';
|
|
457
|
-
}
|
|
458
|
-
else {
|
|
459
|
-
continue;
|
|
460
|
-
}
|
|
461
|
-
const text = this.extractConversationContent(entry.message?.content, role, verbose);
|
|
462
|
-
if (!text)
|
|
463
|
-
continue;
|
|
464
|
-
messages.push({
|
|
465
|
-
role,
|
|
466
|
-
content: text,
|
|
467
|
-
timestamp: entry.timestamp,
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
return messages;
|
|
471
|
-
}
|
|
472
|
-
/**
|
|
473
|
-
* Extract displayable content from a message content field.
|
|
474
|
-
*/
|
|
475
|
-
extractConversationContent(content, role, verbose) {
|
|
476
|
-
if (!content)
|
|
477
|
-
return undefined;
|
|
478
|
-
if (typeof content === 'string') {
|
|
479
|
-
const trimmed = content.trim();
|
|
480
|
-
if (role === 'user' && this.isNoiseMessage(trimmed))
|
|
481
|
-
return undefined;
|
|
482
|
-
return trimmed || undefined;
|
|
483
|
-
}
|
|
484
|
-
if (!Array.isArray(content))
|
|
485
|
-
return undefined;
|
|
486
|
-
const parts = [];
|
|
487
|
-
for (const block of content) {
|
|
488
|
-
if (block.type === 'text' && block.text?.trim()) {
|
|
489
|
-
if (role === 'user' && this.isNoiseMessage(block.text.trim()))
|
|
490
|
-
continue;
|
|
491
|
-
parts.push(block.text.trim());
|
|
492
|
-
}
|
|
493
|
-
else if (block.type === 'tool_use' && verbose) {
|
|
494
|
-
const inputSummary = block.input?.file_path || block.input?.pattern || block.input?.command || '';
|
|
495
|
-
parts.push(`[Tool: ${block.name}]${inputSummary ? ' ' + inputSummary : ''}`);
|
|
496
|
-
}
|
|
497
|
-
else if (block.type === 'tool_result' && verbose) {
|
|
498
|
-
const truncated = this.truncateToolResult(block.content || '');
|
|
499
|
-
const prefix = block.is_error ? '[Tool Error]' : '[Tool Result]';
|
|
500
|
-
parts.push(`${prefix} ${truncated}`);
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
return parts.length > 0 ? parts.join('\n') : undefined;
|
|
504
|
-
}
|
|
505
|
-
truncateToolResult(content, maxLength = 200) {
|
|
506
|
-
const firstLine = content.split('\n')[0] || '';
|
|
507
|
-
if (firstLine.length <= maxLength)
|
|
508
|
-
return firstLine;
|
|
509
|
-
return firstLine.slice(0, maxLength - 3) + '...';
|
|
234
|
+
return this.parser.getConversation(sessionFilePath, options);
|
|
510
235
|
}
|
|
511
236
|
}
|
|
512
237
|
exports.ClaudeCodeAdapter = ClaudeCodeAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeCodeAdapter.js","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClaudeCodeAdapter.js","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalFocusManager.d.ts","sourceRoot":"","sources":["../../src/terminal/TerminalFocusManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TerminalFocusManager.d.ts","sourceRoot":"","sources":["../../src/terminal/TerminalFocusManager.ts"],"names":[],"mappings":"AAMA,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACf;AAMD,qBAAa,oBAAoB;IAC7B;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA8BjE;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;YAiBnD,YAAY;YAwBZ,iBAAiB;YAsCjB,qBAAqB;YAoCrB,aAAa;YASb,kBAAkB;YAqBlB,sBAAsB;CAmBvC"}
|