pi-jarvis 1.1.4

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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { MainSessionSnapshot } from "./main-session-state.js";
2
+ export declare const DEFAULT_MAIN_SESSION_RECENT_LIMIT = 8;
3
+ export type MainAttentionMode = "planning" | "reading" | "editing" | "validating" | "searching" | "waiting" | "waiting-for-user" | "blocked" | "done";
4
+ export interface MainSessionWorkStatePayload {
5
+ attentionMode: MainAttentionMode;
6
+ currentAction: string;
7
+ primaryFile?: string;
8
+ activeFiles: readonly string[];
9
+ recentFiles: readonly string[];
10
+ }
11
+ export type MainValidationStatus = "running" | "passed" | "failed" | "none";
12
+ export interface MainSessionValidationPayload {
13
+ status: MainValidationStatus;
14
+ command?: string;
15
+ summary: string;
16
+ outputSnippet?: string;
17
+ exitCode?: number;
18
+ }
19
+ export interface MainSessionSummaryPayload {
20
+ mainStatus: MainSessionSnapshot["busyState"];
21
+ mainModelLabel: string;
22
+ currentToolActivity: {
23
+ active: boolean;
24
+ running: readonly string[];
25
+ };
26
+ latestUserRequest?: string;
27
+ latestAssistantText?: string;
28
+ pendingMessages: boolean;
29
+ contextUsage?: MainSessionSnapshot["contextUsage"];
30
+ workState: MainSessionWorkStatePayload;
31
+ validation: MainSessionValidationPayload;
32
+ }
33
+ export interface MainSessionRecentEntry {
34
+ kind: "user" | "assistant" | "tool" | "status";
35
+ text: string;
36
+ }
37
+ export interface MainSessionContextPayload {
38
+ summary: MainSessionSummaryPayload;
39
+ summaryText: string;
40
+ workStateText: string;
41
+ recentEntries: readonly MainSessionRecentEntry[];
42
+ recentText: string;
43
+ }
44
+ export declare function buildMainSessionContext(snapshot: MainSessionSnapshot, limit?: number): MainSessionContextPayload;
45
+ export declare function buildMainSessionSummary(snapshot: MainSessionSnapshot): MainSessionSummaryPayload;
46
+ export declare function formatMainSessionSummary(summary: MainSessionSummaryPayload): string;
47
+ export declare function extractRecentMainSessionEntries(branchEntries: MainSessionSnapshot["branchEntries"], limit?: number): readonly MainSessionRecentEntry[];
48
+ export declare function formatRecentMainSessionEntries(entries: readonly MainSessionRecentEntry[]): string;
49
+ //# sourceMappingURL=main-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-context.d.ts","sourceRoot":"","sources":["../main-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAmCnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtJ,MAAM,WAAW,2BAA2B;IAC3C,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC5C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACzC,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,SAAS,EAAE,2BAA2B,CAAC;IACvC,UAAU,EAAE,4BAA4B,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,yBAAyB,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;CACnB;AAoBD,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,GAAE,MAA0C,GAC/C,yBAAyB,CAY3B;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,mBAAmB,GAC3B,yBAAyB,CAsB3B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAgBnF;AAED,wBAAgB,+BAA+B,CAC9C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,KAAK,GAAE,MAA0C,GAC/C,SAAS,sBAAsB,EAAE,CASnC;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,CASjG"}
@@ -0,0 +1,582 @@
1
+ import { getLatestCompactionEntry } from "@mariozechner/pi-coding-agent";
2
+ export const DEFAULT_MAIN_SESSION_RECENT_LIMIT = 8;
3
+ const SUMMARY_TEXT_LIMIT = 240;
4
+ const RECENT_ENTRY_TEXT_LIMIT = 320;
5
+ const TOOL_CALL_TEXT_LIMIT = 72;
6
+ const FILE_REFERENCE_LIMIT = 5;
7
+ const KNOWN_FILE_EXTENSIONS = new Set([
8
+ "ts",
9
+ "tsx",
10
+ "js",
11
+ "jsx",
12
+ "mjs",
13
+ "cjs",
14
+ "json",
15
+ "md",
16
+ "yaml",
17
+ "yml",
18
+ "toml",
19
+ "sh",
20
+ "txt",
21
+ "css",
22
+ "html",
23
+ "xml",
24
+ "py",
25
+ "rb",
26
+ "go",
27
+ "rs",
28
+ "java",
29
+ "kt",
30
+ "swift",
31
+ "php",
32
+ "sql",
33
+ "lock",
34
+ ]);
35
+ export function buildMainSessionContext(snapshot, limit = DEFAULT_MAIN_SESSION_RECENT_LIMIT) {
36
+ const summary = buildMainSessionSummary(snapshot);
37
+ const recentEntries = extractRecentMainSessionEntries(snapshot.branchEntries, limit);
38
+ const workStateText = formatWorkStateSummary(summary.workState);
39
+ return {
40
+ summary,
41
+ summaryText: formatMainSessionSummary(summary),
42
+ workStateText,
43
+ recentEntries,
44
+ recentText: formatRecentMainSessionEntries(recentEntries),
45
+ };
46
+ }
47
+ export function buildMainSessionSummary(snapshot) {
48
+ const workState = deriveMainSessionWorkState(snapshot);
49
+ const validation = deriveValidationState(snapshot);
50
+ return {
51
+ mainStatus: snapshot.busyState,
52
+ mainModelLabel: snapshot.modelLabel,
53
+ currentToolActivity: {
54
+ active: snapshot.toolExecution.active,
55
+ running: snapshot.toolExecution.running.map((toolCall) => formatToolCall(toolCall.toolName, toolCall.args)),
56
+ },
57
+ latestUserRequest: normalizeSummaryField(snapshot.latestUserRequest),
58
+ latestAssistantText: normalizeSummaryField(snapshot.latestAssistantText),
59
+ pendingMessages: snapshot.hasPendingMessages,
60
+ contextUsage: snapshot.contextUsage
61
+ ? {
62
+ ...snapshot.contextUsage,
63
+ }
64
+ : undefined,
65
+ workState,
66
+ validation,
67
+ };
68
+ }
69
+ export function formatMainSessionSummary(summary) {
70
+ return [
71
+ "Main session summary:",
72
+ `- Main status: ${summary.mainStatus}`,
73
+ `- Model: ${summary.mainModelLabel}`,
74
+ `- Current tool activity: ${formatToolActivity(summary.currentToolActivity)}`,
75
+ `- Current focus: ${summary.workState.currentAction}`,
76
+ `- Attention mode: ${formatAttentionMode(summary.workState.attentionMode)}`,
77
+ `- Active files: ${formatFileList(summary.workState.activeFiles)}`,
78
+ `- Recent files: ${formatFileList(summary.workState.recentFiles)}`,
79
+ `- Validation: ${summary.validation.summary}`,
80
+ `- Latest user request: ${summary.latestUserRequest ?? "none"}`,
81
+ `- Latest assistant text: ${summary.latestAssistantText ?? "none"}`,
82
+ `- Pending messages: ${summary.pendingMessages ? "yes" : "no"}`,
83
+ `- Context usage: ${formatContextUsage(summary.contextUsage)}`,
84
+ ].join("\n");
85
+ }
86
+ export function extractRecentMainSessionEntries(branchEntries, limit = DEFAULT_MAIN_SESSION_RECENT_LIMIT) {
87
+ const safeLimit = Number.isFinite(limit) ? Math.max(0, Math.floor(limit)) : DEFAULT_MAIN_SESSION_RECENT_LIMIT;
88
+ if (safeLimit === 0) {
89
+ return [];
90
+ }
91
+ const boundedEntries = getEntriesAfterLatestCompaction(branchEntries);
92
+ const normalizedEntries = boundedEntries.flatMap((entry) => normalizeSessionEntry(entry));
93
+ return normalizedEntries.slice(-safeLimit);
94
+ }
95
+ export function formatRecentMainSessionEntries(entries) {
96
+ if (entries.length === 0) {
97
+ return "Recent main session: none";
98
+ }
99
+ return [
100
+ "Recent main session:",
101
+ ...entries.map((entry) => `- ${entry.kind}: ${entry.text}`),
102
+ ].join("\n");
103
+ }
104
+ function deriveValidationState(snapshot) {
105
+ const runningCommand = getActiveValidationCommand(snapshot.toolExecution.running);
106
+ if (runningCommand) {
107
+ return {
108
+ status: "running",
109
+ command: runningCommand,
110
+ summary: `${runningCommand} is running`,
111
+ };
112
+ }
113
+ const latestValidationEntry = findLatestValidationEntry(snapshot.branchEntries);
114
+ if (!latestValidationEntry) {
115
+ return {
116
+ status: "none",
117
+ summary: "none",
118
+ };
119
+ }
120
+ const command = normalizeText(latestValidationEntry.message.command);
121
+ const outputSnippet = normalizeSummaryField(latestValidationEntry.message.output);
122
+ if (latestValidationEntry.message.cancelled) {
123
+ return {
124
+ status: "failed",
125
+ command,
126
+ summary: `${command} was cancelled`,
127
+ outputSnippet,
128
+ };
129
+ }
130
+ if (latestValidationEntry.message.exitCode === 0) {
131
+ return {
132
+ status: "passed",
133
+ command,
134
+ summary: `${command} passed`,
135
+ outputSnippet,
136
+ exitCode: 0,
137
+ };
138
+ }
139
+ const exitCode = latestValidationEntry.message.exitCode ?? undefined;
140
+ const suffix = outputSnippet ? ` — ${outputSnippet}` : "";
141
+ return {
142
+ status: "failed",
143
+ command,
144
+ summary: `${command} failed${exitCode === undefined ? "" : ` (exit ${exitCode})`}${suffix}`,
145
+ outputSnippet,
146
+ exitCode,
147
+ };
148
+ }
149
+ function findLatestValidationEntry(branchEntries) {
150
+ const boundedEntries = getEntriesAfterLatestCompaction(branchEntries);
151
+ for (let i = boundedEntries.length - 1; i >= 0; i--) {
152
+ const entry = boundedEntries[i];
153
+ if (entry?.type !== "message" || entry.message.role !== "bashExecution") {
154
+ continue;
155
+ }
156
+ const command = normalizeText(entry.message.command);
157
+ if (command === "npm run check" || command === "npm test" || command === "npm run build") {
158
+ return entry;
159
+ }
160
+ }
161
+ return undefined;
162
+ }
163
+ function formatWorkStateSummary(workState) {
164
+ return [
165
+ "Main work state:",
166
+ `- Attention mode: ${formatAttentionMode(workState.attentionMode)}`,
167
+ `- Current focus: ${workState.currentAction}`,
168
+ `- Active files: ${formatFileList(workState.activeFiles)}`,
169
+ `- Recent files: ${formatFileList(workState.recentFiles)}`,
170
+ ].join("\n");
171
+ }
172
+ function deriveMainSessionWorkState(snapshot) {
173
+ const activeFiles = extractActiveFiles(snapshot.toolExecution.running);
174
+ const recentFiles = extractRecentFiles(snapshot.branchEntries, activeFiles);
175
+ const primaryFile = activeFiles[0] ?? recentFiles[0];
176
+ const validationCommand = getActiveValidationCommand(snapshot.toolExecution.running);
177
+ const validation = deriveValidationState(snapshot);
178
+ if (validationCommand) {
179
+ return {
180
+ attentionMode: "validating",
181
+ currentAction: `running ${validationCommand}`,
182
+ primaryFile,
183
+ activeFiles,
184
+ recentFiles,
185
+ };
186
+ }
187
+ if (snapshot.toolExecution.running.some((toolCall) => toolCall.toolName === "edit" || toolCall.toolName === "write")) {
188
+ return {
189
+ attentionMode: "editing",
190
+ currentAction: primaryFile ? `editing ${primaryFile}` : "editing the workspace",
191
+ primaryFile,
192
+ activeFiles,
193
+ recentFiles,
194
+ };
195
+ }
196
+ if (snapshot.toolExecution.running.some((toolCall) => toolCall.toolName === "read")) {
197
+ return {
198
+ attentionMode: "reading",
199
+ currentAction: primaryFile ? `reading ${primaryFile}` : "reading the workspace",
200
+ primaryFile,
201
+ activeFiles,
202
+ recentFiles,
203
+ };
204
+ }
205
+ if (snapshot.toolExecution.running.some((toolCall) => ["grep", "find", "ls", "mcp"].includes(toolCall.toolName))) {
206
+ return {
207
+ attentionMode: "searching",
208
+ currentAction: primaryFile ? `searching around ${primaryFile}` : "searching the workspace",
209
+ primaryFile,
210
+ activeFiles,
211
+ recentFiles,
212
+ };
213
+ }
214
+ if (snapshot.busyState === "busy") {
215
+ return {
216
+ attentionMode: "planning",
217
+ currentAction: primaryFile ? `planning around ${primaryFile}` : "planning the next step",
218
+ primaryFile,
219
+ activeFiles,
220
+ recentFiles,
221
+ };
222
+ }
223
+ if (validation.status === "failed") {
224
+ return {
225
+ attentionMode: "blocked",
226
+ currentAction: validation.command ? `blocked on ${validation.command}` : "blocked by the last validation failure",
227
+ primaryFile,
228
+ activeFiles,
229
+ recentFiles,
230
+ };
231
+ }
232
+ if (snapshot.hasPendingMessages) {
233
+ return {
234
+ attentionMode: "waiting",
235
+ currentAction: "waiting on queued messages",
236
+ primaryFile,
237
+ activeFiles,
238
+ recentFiles,
239
+ };
240
+ }
241
+ if (looksCompleted(snapshot.latestAssistantText, validation.status)) {
242
+ return {
243
+ attentionMode: "done",
244
+ currentAction: primaryFile ? `completed work around ${primaryFile}` : "completed the last task",
245
+ primaryFile,
246
+ activeFiles,
247
+ recentFiles,
248
+ };
249
+ }
250
+ return {
251
+ attentionMode: "waiting-for-user",
252
+ currentAction: "waiting for user input",
253
+ primaryFile,
254
+ activeFiles,
255
+ recentFiles,
256
+ };
257
+ }
258
+ function looksCompleted(latestAssistantText, validationStatus) {
259
+ const normalized = normalizeText(latestAssistantText).toLowerCase();
260
+ if (!normalized) {
261
+ return validationStatus === "passed";
262
+ }
263
+ if (validationStatus === "passed") {
264
+ return true;
265
+ }
266
+ return /^(done|completed|finished|wrapped up|all set|implemented|fixed|updated)\b/.test(normalized);
267
+ }
268
+ function formatAttentionMode(attentionMode) {
269
+ return attentionMode.replace(/-/g, " ");
270
+ }
271
+ function extractActiveFiles(runningToolCalls) {
272
+ const files = new Set();
273
+ for (const toolCall of runningToolCalls) {
274
+ for (const file of extractFilesFromToolCall(toolCall)) {
275
+ files.add(file);
276
+ if (files.size >= FILE_REFERENCE_LIMIT) {
277
+ return [...files];
278
+ }
279
+ }
280
+ }
281
+ return [...files];
282
+ }
283
+ function extractRecentFiles(branchEntries, activeFiles) {
284
+ const files = new Set(activeFiles);
285
+ const boundedEntries = getEntriesAfterLatestCompaction(branchEntries);
286
+ for (let i = boundedEntries.length - 1; i >= 0; i--) {
287
+ for (const file of extractFilesFromSessionEntry(boundedEntries[i])) {
288
+ files.add(file);
289
+ if (files.size >= FILE_REFERENCE_LIMIT) {
290
+ return [...files];
291
+ }
292
+ }
293
+ }
294
+ return [...files];
295
+ }
296
+ function getActiveValidationCommand(runningToolCalls) {
297
+ for (const toolCall of runningToolCalls) {
298
+ if (toolCall.toolName !== "bash") {
299
+ continue;
300
+ }
301
+ const command = typeof toolCall.args?.command === "string" ? normalizeText(toolCall.args.command) : "";
302
+ if (command === "npm run check" || command === "npm test" || command === "npm run build") {
303
+ return command;
304
+ }
305
+ }
306
+ return undefined;
307
+ }
308
+ function extractFilesFromSessionEntry(entry) {
309
+ if (entry.type !== "message") {
310
+ return [];
311
+ }
312
+ switch (entry.message.role) {
313
+ case "assistant":
314
+ return extractToolCalls(entry.message.content).flatMap((toolCall) => extractFilesFromToolCall({ toolName: toolCall.name, args: toolCall.arguments }));
315
+ case "bashExecution":
316
+ return extractFileReferencesFromText(entry.message.command);
317
+ default:
318
+ return [];
319
+ }
320
+ }
321
+ function extractFilesFromToolCall(toolCall) {
322
+ if (toolCall.toolName === "bash") {
323
+ return extractFileReferencesFromText(typeof toolCall.args?.command === "string" ? toolCall.args.command : "");
324
+ }
325
+ const files = new Set();
326
+ collectFileReferences(toolCall.args, files);
327
+ return [...files];
328
+ }
329
+ function collectFileReferences(value, files, depth = 0) {
330
+ if (depth > 3 || files.size >= FILE_REFERENCE_LIMIT || value === null || typeof value === "undefined") {
331
+ return;
332
+ }
333
+ if (typeof value === "string") {
334
+ for (const file of extractFileReferencesFromText(value)) {
335
+ files.add(file);
336
+ if (files.size >= FILE_REFERENCE_LIMIT) {
337
+ return;
338
+ }
339
+ }
340
+ return;
341
+ }
342
+ if (Array.isArray(value)) {
343
+ for (const item of value) {
344
+ collectFileReferences(item, files, depth + 1);
345
+ if (files.size >= FILE_REFERENCE_LIMIT) {
346
+ return;
347
+ }
348
+ }
349
+ return;
350
+ }
351
+ if (!isRecord(value)) {
352
+ return;
353
+ }
354
+ for (const nestedValue of Object.values(value)) {
355
+ collectFileReferences(nestedValue, files, depth + 1);
356
+ if (files.size >= FILE_REFERENCE_LIMIT) {
357
+ return;
358
+ }
359
+ }
360
+ }
361
+ function extractFileReferencesFromText(text) {
362
+ const matches = text.match(/(?:^|[\s"'`=:(])((?:\.{1,2}\/|\/)?[A-Za-z0-9_./-]+\.[A-Za-z0-9_-]{1,10})(?=$|[\s"'`):,])/g) ?? [];
363
+ const files = new Set();
364
+ for (const match of matches) {
365
+ const normalized = normalizeFileReference(match);
366
+ if (normalized) {
367
+ files.add(normalized);
368
+ }
369
+ }
370
+ return [...files];
371
+ }
372
+ function normalizeFileReference(value) {
373
+ const trimmed = value.trim().replace(/^["'`(=:]+|["'`),:;]+$/g, "");
374
+ if (!trimmed || trimmed.includes("://") || trimmed.endsWith("/")) {
375
+ return undefined;
376
+ }
377
+ const extension = trimmed.split(".").at(-1)?.toLowerCase();
378
+ if (!extension || !KNOWN_FILE_EXTENSIONS.has(extension)) {
379
+ return undefined;
380
+ }
381
+ return trimmed;
382
+ }
383
+ function formatFileList(files) {
384
+ return files.length > 0 ? files.join(", ") : "none";
385
+ }
386
+ function normalizeSummaryField(value) {
387
+ const normalized = normalizeText(value);
388
+ if (!normalized) {
389
+ return undefined;
390
+ }
391
+ return truncateText(normalized, SUMMARY_TEXT_LIMIT);
392
+ }
393
+ function getEntriesAfterLatestCompaction(branchEntries) {
394
+ const latestCompaction = getLatestCompactionEntry([...branchEntries]);
395
+ if (!latestCompaction) {
396
+ return branchEntries;
397
+ }
398
+ const firstKeptIndex = branchEntries.findIndex((entry) => entry.id === latestCompaction.firstKeptEntryId);
399
+ if (firstKeptIndex >= 0) {
400
+ return branchEntries.slice(firstKeptIndex);
401
+ }
402
+ const compactionIndex = branchEntries.findIndex((entry) => entry.id === latestCompaction.id);
403
+ return compactionIndex >= 0 ? branchEntries.slice(compactionIndex + 1) : branchEntries;
404
+ }
405
+ function normalizeSessionEntry(entry) {
406
+ switch (entry.type) {
407
+ case "message":
408
+ return normalizeMessageEntry(entry);
409
+ case "custom_message":
410
+ return entry.display ? createRecentEntries("status", extractVisibleTextContent(entry.content)) : [];
411
+ case "branch_summary":
412
+ return createRecentEntries("status", `Branch summary: ${entry.summary}`);
413
+ case "compaction":
414
+ return createRecentEntries("status", `Compaction: ${entry.summary}`);
415
+ default:
416
+ return [];
417
+ }
418
+ }
419
+ function normalizeMessageEntry(entry) {
420
+ switch (entry.message.role) {
421
+ case "user":
422
+ return createRecentEntries("user", extractVisibleTextContent(entry.message.content));
423
+ case "assistant": {
424
+ const entries = createRecentEntries("assistant", extractAssistantText(entry.message.content));
425
+ for (const toolCall of extractToolCalls(entry.message.content)) {
426
+ entries.push(...createRecentEntries("tool", formatToolCall(toolCall.name, toolCall.arguments)));
427
+ }
428
+ return entries;
429
+ }
430
+ case "toolResult": {
431
+ const output = extractVisibleTextContent(entry.message.content);
432
+ const prefix = entry.message.isError ? `error from ${entry.message.toolName}` : entry.message.toolName;
433
+ return createRecentEntries("tool", output ? `${prefix}: ${output}` : `${prefix}: (no text output)`);
434
+ }
435
+ case "custom":
436
+ return entry.message.display ? createRecentEntries("status", extractVisibleTextContent(entry.message.content)) : [];
437
+ case "bashExecution": {
438
+ if (entry.message.excludeFromContext) {
439
+ return [];
440
+ }
441
+ const status = entry.message.cancelled
442
+ ? "cancelled"
443
+ : entry.message.exitCode === 0
444
+ ? "ok"
445
+ : `exit ${entry.message.exitCode ?? "?"}`;
446
+ const output = normalizeText(entry.message.output);
447
+ return createRecentEntries("tool", output ? `$ ${entry.message.command} (${status}) — ${output}` : `$ ${entry.message.command} (${status})`);
448
+ }
449
+ case "branchSummary":
450
+ return createRecentEntries("status", `Branch summary: ${entry.message.summary}`);
451
+ case "compactionSummary":
452
+ return createRecentEntries("status", `Compaction: ${entry.message.summary}`);
453
+ default:
454
+ return [];
455
+ }
456
+ }
457
+ function createRecentEntries(kind, text) {
458
+ const normalized = normalizeText(text);
459
+ if (!normalized) {
460
+ return [];
461
+ }
462
+ return [{ kind, text: truncateText(normalized, RECENT_ENTRY_TEXT_LIMIT) }];
463
+ }
464
+ function extractVisibleTextContent(content) {
465
+ if (typeof content === "string") {
466
+ return content;
467
+ }
468
+ if (!Array.isArray(content)) {
469
+ return "";
470
+ }
471
+ const parts = [];
472
+ for (const block of content) {
473
+ if (isTextBlock(block)) {
474
+ parts.push(block.text);
475
+ continue;
476
+ }
477
+ if (isImageBlock(block)) {
478
+ parts.push(`[image${block.mimeType ? `: ${block.mimeType}` : ""}]`);
479
+ }
480
+ }
481
+ return parts.join("\n\n");
482
+ }
483
+ function extractAssistantText(content) {
484
+ if (!Array.isArray(content)) {
485
+ return "";
486
+ }
487
+ const parts = [];
488
+ for (const block of content) {
489
+ if (isTextBlock(block)) {
490
+ parts.push(block.text);
491
+ }
492
+ }
493
+ return parts.join("\n\n");
494
+ }
495
+ function extractToolCalls(content) {
496
+ if (!Array.isArray(content)) {
497
+ return [];
498
+ }
499
+ const toolCalls = [];
500
+ for (const block of content) {
501
+ if (isToolCallBlock(block)) {
502
+ toolCalls.push({
503
+ type: "toolCall",
504
+ name: block.name,
505
+ arguments: readArgsRecord(block.arguments),
506
+ });
507
+ }
508
+ }
509
+ return toolCalls;
510
+ }
511
+ function formatToolActivity(toolActivity) {
512
+ if (!toolActivity.active || toolActivity.running.length === 0) {
513
+ return "none";
514
+ }
515
+ return toolActivity.running.join(", ");
516
+ }
517
+ function formatContextUsage(contextUsage) {
518
+ if (!contextUsage) {
519
+ return "unknown";
520
+ }
521
+ const tokens = contextUsage.tokens === null ? "unknown" : String(contextUsage.tokens);
522
+ const percent = contextUsage.percent === null ? "unknown" : `${trimTrailingZeroes(contextUsage.percent.toFixed(1))}%`;
523
+ return `${tokens}/${contextUsage.contextWindow} tokens (${percent})`;
524
+ }
525
+ function formatToolCall(toolName, args) {
526
+ if (toolName === "mcp") {
527
+ const tool = typeof args?.tool === "string" ? args.tool : undefined;
528
+ if (tool) {
529
+ return `mcp ${tool}`;
530
+ }
531
+ if (typeof args?.search === "string") {
532
+ return `mcp search ${args.search}`;
533
+ }
534
+ if (typeof args?.describe === "string") {
535
+ return `mcp describe ${args.describe}`;
536
+ }
537
+ if (typeof args?.connect === "string") {
538
+ return `mcp connect ${args.connect}`;
539
+ }
540
+ }
541
+ if (!args || Object.keys(args).length === 0) {
542
+ return toolName;
543
+ }
544
+ const json = JSON.stringify(args);
545
+ return json.length > TOOL_CALL_TEXT_LIMIT
546
+ ? `${toolName} ${json.slice(0, TOOL_CALL_TEXT_LIMIT - 3)}...`
547
+ : `${toolName} ${json}`;
548
+ }
549
+ function truncateText(text, limit) {
550
+ if (text.length <= limit) {
551
+ return text;
552
+ }
553
+ return `${text.slice(0, limit - 1).trimEnd()}…`;
554
+ }
555
+ function trimTrailingZeroes(value) {
556
+ return value.replace(/\.0$/, "");
557
+ }
558
+ function normalizeText(text) {
559
+ if (!text) {
560
+ return "";
561
+ }
562
+ return text.replace(/\s+/g, " ").trim();
563
+ }
564
+ function readArgsRecord(value) {
565
+ if (!isRecord(value) || Array.isArray(value)) {
566
+ return undefined;
567
+ }
568
+ return value;
569
+ }
570
+ function isTextBlock(value) {
571
+ return isRecord(value) && value.type === "text" && typeof value.text === "string";
572
+ }
573
+ function isImageBlock(value) {
574
+ return isRecord(value) && value.type === "image" && (typeof value.mimeType === "string" || typeof value.mimeType === "undefined");
575
+ }
576
+ function isToolCallBlock(value) {
577
+ return isRecord(value) && value.type === "toolCall" && typeof value.name === "string";
578
+ }
579
+ function isRecord(value) {
580
+ return typeof value === "object" && value !== null;
581
+ }
582
+ //# sourceMappingURL=main-context.js.map