@visorcraft/idlehands 2.3.2 → 2.3.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.
@@ -6,6 +6,7 @@
6
6
  * - Plan confirmations (approve/reject all, approve single step)
7
7
  * - Timeout auto-reject
8
8
  * - Idempotent callback handling (ignore duplicates)
9
+ * - Action dispatching for retry_fast, retry_heavy, cancel, etc.
9
10
  */
10
11
  import { randomId } from '../utils.js';
11
12
  import { escapeHtml } from './format.js';
@@ -20,11 +21,20 @@ export class TelegramConfirmProvider {
20
21
  batchQueue = [];
21
22
  batchFlushTimer = null;
22
23
  static BATCH_WINDOW_MS = 100;
23
- constructor(bot, chatId, timeoutSec = 300) {
24
+ // Optional action handler for shared action dispatch
25
+ actionHandler;
26
+ constructor(bot, chatId, timeoutSec = 300, actionHandler) {
24
27
  this.bot = bot;
25
28
  this.chatId = chatId;
26
29
  this.timeoutSec = timeoutSec;
27
30
  this.sid = randomId(3);
31
+ this.actionHandler = actionHandler;
32
+ }
33
+ /**
34
+ * Set the action handler for delegated action processing.
35
+ */
36
+ setActionHandler(handler) {
37
+ this.actionHandler = handler;
28
38
  }
29
39
  async confirm(opts) {
30
40
  // Buffer into batch queue; flush after a short window
@@ -197,6 +207,16 @@ export class TelegramConfirmProvider {
197
207
  }
198
208
  /** Handle callback query data. Returns true if handled by this provider. */
199
209
  async handleCallback(data) {
210
+ // First, check for action callbacks (action:<type>)
211
+ if (data.startsWith('action:')) {
212
+ const actionType = data.slice('action:'.length);
213
+ if (this.actionHandler) {
214
+ const handled = await this.actionHandler(actionType, data);
215
+ if (handled)
216
+ return true;
217
+ }
218
+ // Fall through to default handling if no action handler or not handled
219
+ }
200
220
  // Format: c:<sid>:<aid>:a|r|d OR p:<sid>:<aid>:aa|ra|sN
201
221
  const parts = data.split(':');
202
222
  if (parts.length !== 4)
@@ -303,5 +323,4 @@ export class TelegramConfirmProvider {
303
323
  .catch(() => { });
304
324
  }
305
325
  }
306
- // escapeHtml imported from ./format.js
307
326
  //# sourceMappingURL=confirm-telegram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-telegram.js","sourceRoot":"","sources":["../../src/bot/confirm-telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-telegram.js","sourceRoot":"","sources":["../../src/bot/confirm-telegram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Shared action dispatcher for IdleHands bots.
3
+ *
4
+ * This module provides a unified action dispatch path that both Telegram and Discord
5
+ * bots use to handle interactive actions (retry_fast, retry_heavy, cancel, etc.)
6
+ * from button presses, ensuring consistent behavior across platforms.
7
+ */
8
+ /**
9
+ * Create a shared action dispatcher that both Discord and Telegram can use.
10
+ */
11
+ export function createActionDispatcher() {
12
+ const handlers = new Map();
13
+ /**
14
+ * Register an action handler.
15
+ */
16
+ function registerHandler(type, handler) {
17
+ handlers.set(type, handler);
18
+ }
19
+ /**
20
+ * Dispatch an action to its handler.
21
+ */
22
+ async function dispatch(ctx) {
23
+ const handler = handlers.get(ctx.actionType);
24
+ if (!handler) {
25
+ return {
26
+ handled: false,
27
+ error: `No handler registered for action type: ${ctx.actionType}`,
28
+ };
29
+ }
30
+ try {
31
+ return await handler(ctx);
32
+ }
33
+ catch (err) {
34
+ return {
35
+ handled: false,
36
+ error: `Action handler failed: ${err?.message ?? String(err)}`,
37
+ };
38
+ }
39
+ }
40
+ return {
41
+ registerHandler,
42
+ dispatch,
43
+ handlers: () => Array.from(handlers.keys()),
44
+ };
45
+ }
46
+ /**
47
+ * Create a dispatcher with default handlers for common actions.
48
+ */
49
+ export function createDefaultActionDispatcher(platform) {
50
+ const dispatcher = createActionDispatcher();
51
+ // Register default handlers
52
+ registerRetryFastHandler(dispatcher, platform);
53
+ registerRetryHeavyHandler(dispatcher, platform);
54
+ registerCancelHandler(dispatcher, platform);
55
+ return dispatcher;
56
+ }
57
+ /**
58
+ * Register the retry_fast action handler.
59
+ */
60
+ function registerRetryFastHandler(dispatcher, platform) {
61
+ dispatcher.registerHandler('retry_fast', async (ctx) => {
62
+ const { managed } = ctx;
63
+ // Check if there's a previous task to retry
64
+ const lastInstruction = managed.session.lastAskInstructionText || '';
65
+ if (!lastInstruction.trim()) {
66
+ return {
67
+ handled: true,
68
+ message: platform === 'discord'
69
+ ? '❌ No previous task to retry.'
70
+ : '❌ No previous task to retry.',
71
+ };
72
+ }
73
+ // Set routing mode to fast
74
+ setRoutingMode(managed, 'fast');
75
+ // Re-run the last task by adding it to the queue
76
+ if (platform === 'discord') {
77
+ // Discord uses Message objects
78
+ const { Message } = await import('discord.js');
79
+ const newMessage = {
80
+ content: lastInstruction,
81
+ };
82
+ managed.pendingQueue.push(newMessage);
83
+ return {
84
+ handled: true,
85
+ message: '🔄 Added to queue with routing mode set to `fast`.',
86
+ };
87
+ }
88
+ else {
89
+ // Telegram uses text/message objects
90
+ const newMessage = {
91
+ text: lastInstruction,
92
+ from: ctx.context?.from,
93
+ chat: ctx.context?.chat,
94
+ date: Date.now(),
95
+ };
96
+ managed.pendingQueue.push(newMessage);
97
+ return {
98
+ handled: true,
99
+ message: '🔄 Added to queue with routing mode set to `fast`.',
100
+ };
101
+ }
102
+ });
103
+ }
104
+ /**
105
+ * Register the retry_heavy action handler.
106
+ */
107
+ function registerRetryHeavyHandler(dispatcher, platform) {
108
+ dispatcher.registerHandler('retry_heavy', async (ctx) => {
109
+ const { managed } = ctx;
110
+ // Check if there's a previous task to retry
111
+ const lastInstruction = managed.session.lastAskInstructionText || '';
112
+ if (!lastInstruction.trim()) {
113
+ return {
114
+ handled: true,
115
+ message: platform === 'discord'
116
+ ? '❌ No previous task to retry.'
117
+ : '❌ No previous task to retry.',
118
+ };
119
+ }
120
+ // Set routing mode to heavy
121
+ setRoutingMode(managed, 'heavy');
122
+ // Re-run the last task by adding it to the queue
123
+ if (platform === 'discord') {
124
+ const newMessage = {
125
+ content: lastInstruction,
126
+ };
127
+ managed.pendingQueue.push(newMessage);
128
+ return {
129
+ handled: true,
130
+ message: '🔄 Added to queue with routing mode set to `heavy`.',
131
+ };
132
+ }
133
+ else {
134
+ const newMessage = {
135
+ text: lastInstruction,
136
+ from: ctx.context?.from,
137
+ chat: ctx.context?.chat,
138
+ date: Date.now(),
139
+ };
140
+ managed.pendingQueue.push(newMessage);
141
+ return {
142
+ handled: true,
143
+ message: '🔄 Added to queue with routing mode set to `heavy`.',
144
+ };
145
+ }
146
+ });
147
+ }
148
+ /**
149
+ * Register the cancel action handler.
150
+ */
151
+ function registerCancelHandler(dispatcher, platform) {
152
+ dispatcher.registerHandler('cancel', async (ctx) => {
153
+ const { managed } = ctx;
154
+ // Use the shared cancelActive from turn-lifecycle
155
+ const { cancelActive } = await import('../turn-lifecycle.js');
156
+ const result = cancelActive(managed);
157
+ if (result.ok) {
158
+ return {
159
+ handled: true,
160
+ message: result.message || '🚫 Cancelled.',
161
+ };
162
+ }
163
+ else {
164
+ return {
165
+ handled: true,
166
+ message: `❌ ${result.message}`,
167
+ };
168
+ }
169
+ });
170
+ }
171
+ /**
172
+ * Set routing mode on a managed session.
173
+ */
174
+ function setRoutingMode(managed, mode) {
175
+ // Access the routingMode through the session or context
176
+ // This is platform-agnostic - both Discord and Telegram sessions
177
+ // have access to routing configuration through their managed session
178
+ if ('config' in managed && managed.config) {
179
+ // Update routing mode in the session's configuration
180
+ managed._routingMode = mode;
181
+ }
182
+ }
183
+ /**
184
+ * Dispatch an action from a callback data string.
185
+ * Parses the action type from data and dispatches to the appropriate handler.
186
+ */
187
+ export async function dispatchFromCallbackData(dispatcher, data, ctx) {
188
+ // Parse action type from callback data
189
+ // Expected format: "action:<type>" or just the type
190
+ let actionType = null;
191
+ if (data.startsWith('action:')) {
192
+ const type = data.slice('action:'.length);
193
+ if (isValidActionType(type)) {
194
+ actionType = type;
195
+ }
196
+ }
197
+ else if (isValidActionType(data)) {
198
+ actionType = data;
199
+ }
200
+ if (!actionType) {
201
+ return {
202
+ handled: false,
203
+ error: `Invalid action type in callback data: ${data}`,
204
+ };
205
+ }
206
+ return await dispatcher.dispatch({
207
+ ...ctx,
208
+ actionType,
209
+ });
210
+ }
211
+ /**
212
+ * Check if a string is a valid UXActionType.
213
+ */
214
+ function isValidActionType(s) {
215
+ return (s === 'retry_fast' ||
216
+ s === 'retry_heavy' ||
217
+ s === 'cancel' ||
218
+ s === 'show_diff' ||
219
+ s === 'apply' ||
220
+ s === 'anton_stop');
221
+ }
222
+ //# sourceMappingURL=action-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../../src/bot/ux/action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAExD;;OAEG;IACH,SAAS,eAAe,CAAC,IAAkB,EAAE,OAAsB;QACjE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,QAAQ,CAAC,GAA0B;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0CAA0C,GAAG,CAAC,UAAU,EAAE;aAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,eAAe;QACf,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAgC;IAC5E,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAE5C,4BAA4B;IAC5B,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,UAAqD,EACrD,QAAgC;IAEhC,UAAU,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAiC,EAAE;QACpF,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAExB,4CAA4C;QAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EACL,QAAQ,KAAK,SAAS;oBACpB,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,8BAA8B;aACrC,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEhC,iDAAiD;QACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,+BAA+B;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,eAAe;aAClB,CAAC;YACT,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,oDAAoD;aAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI;gBACvB,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI;gBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;aACV,CAAC;YACT,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,oDAAoD;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,UAAqD,EACrD,QAAgC;IAEhC,UAAU,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAiC,EAAE;QACrF,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAExB,4CAA4C;QAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EACL,QAAQ,KAAK,SAAS;oBACpB,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,8BAA8B;aACrC,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjC,iDAAiD;QACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,eAAe;aAClB,CAAC;YACT,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qDAAqD;aAC/D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI;gBACvB,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI;gBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;aACV,CAAC;YACf,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qDAAqD;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAAqD,EACrD,QAAgC;IAEhC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAiC,EAAE;QAChF,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAExB,kDAAkD;QAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAc,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,eAAe;aAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAuB,EAAE,IAAsB;IACrE,wDAAwD;IACxD,iEAAiE;IACjE,qEAAqE;IACrE,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,qDAAqD;QACpD,OAAe,CAAC,YAAY,GAAG,IAAI,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAqD,EACrD,IAAY,EACZ,GAA8C;IAE9C,uCAAuC;IACvC,oDAAoD;IACpD,IAAI,UAAU,GAAwB,IAAI,CAAC;IAE3C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAiB,CAAC;QAC1D,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,CAAC,IAAoB,CAAC,EAAE,CAAC;QACnD,UAAU,GAAG,IAAoB,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yCAAyC,IAAI,EAAE;SACvD,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC;QAC/B,GAAG,GAAG;QACN,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CACL,CAAC,KAAK,YAAY;QAClB,CAAC,KAAK,aAAa;QACnB,CAAC,KAAK,QAAQ;QACd,CAAC,KAAK,WAAW;QACjB,CAAC,KAAK,OAAO;QACb,CAAC,KAAK,YAAY,CACnB,CAAC;AACJ,CAAC"}
package/dist/history.js CHANGED
@@ -589,4 +589,200 @@ export function enforceContextBudgetEnhanced(opts) {
589
589
  },
590
590
  };
591
591
  }
592
+ // ============================================================================
593
+ // Test Output Compression (#6)
594
+ // ============================================================================
595
+ const TEST_OUTPUT_RE = /(FAIL|PASS|Tests?:|\u2713|\u2717|\u2714|\u2718|\d+ passing|\d+ failing)/;
596
+ /** Detect if output looks like test runner output. */
597
+ export function looksLikeTestOutput(output) {
598
+ return TEST_OUTPUT_RE.test(output);
599
+ }
600
+ const PASSING_LINE_RE = /^\s*(\u2713|\u2714|ok \d+|PASS\s)/;
601
+ const SUMMARY_LINE_RE = /^\s*(\d+ (passing|failing|pending|skipped|Tests?|test suites?)|Tests?:|Test Suites?:)/i;
602
+ const FAILING_LINE_RE = /^\s*(\u2717|\u2718|not ok|FAIL\s|AssertionError|Error:|at\s)/;
603
+ const ERROR_TRACE_RE = /^\s+(at |Error:|Caused by:|\^)/;
604
+ /**
605
+ * Compress test output by stripping passing test lines while keeping
606
+ * failures, error traces, and summary lines. Prepends count of omitted lines.
607
+ */
608
+ export function compressTestOutput(output, maxChars = 1500) {
609
+ const lines = output.split('\n');
610
+ const kept = [];
611
+ let omittedPassing = 0;
612
+ for (const line of lines) {
613
+ if (PASSING_LINE_RE.test(line)) {
614
+ omittedPassing++;
615
+ continue;
616
+ }
617
+ if (FAILING_LINE_RE.test(line) || ERROR_TRACE_RE.test(line) || SUMMARY_LINE_RE.test(line)) {
618
+ kept.push(line);
619
+ continue;
620
+ }
621
+ // Skip consecutive blank lines
622
+ if (line.trim() === '' && kept.length > 0 && kept[kept.length - 1]?.trim() === '') {
623
+ continue;
624
+ }
625
+ kept.push(line);
626
+ }
627
+ let result = kept.join('\n');
628
+ if (omittedPassing > 0) {
629
+ result = `[${omittedPassing} passing tests omitted]\n` + result;
630
+ }
631
+ // Final truncation if still too large
632
+ if (result.length > maxChars) {
633
+ result = result.slice(0, maxChars - 60) + `\n... [truncated, ${output.length} chars total]`;
634
+ }
635
+ return result;
636
+ }
637
+ // ============================================================================
638
+ // Rolling Compression of Old Tool Results
639
+ // ============================================================================
640
+ /**
641
+ * Compress an exec tool result, preserving rc and err fields intact.
642
+ * Only the `out` field is compressed via compressToolResult.
643
+ * Falls back to generic compression if content is not valid exec JSON.
644
+ */
645
+ export function compressExecResult(content, maxChars = 1500) {
646
+ try {
647
+ const parsed = JSON.parse(content);
648
+ if (typeof parsed === 'object' && parsed !== null && 'rc' in parsed) {
649
+ const compressed = {
650
+ rc: parsed.rc,
651
+ out: typeof parsed.out === 'string'
652
+ ? (looksLikeTestOutput(parsed.out)
653
+ ? compressTestOutput(parsed.out, maxChars - 200)
654
+ : compressToolResult(parsed.out, maxChars - 200))
655
+ : parsed.out,
656
+ err: parsed.err,
657
+ };
658
+ return JSON.stringify(compressed);
659
+ }
660
+ }
661
+ catch {
662
+ // Not valid JSON — fall through to generic compression
663
+ }
664
+ return compressToolResult(content, maxChars);
665
+ }
666
+ const ROLLING_TARGET_TOOLS = new Set(['read_file', 'read_files', 'exec']);
667
+ const ROLLING_MARKER = '\n[rolling-compressed]';
668
+ /**
669
+ * Rolling compression: shrink old read_file/read_files/exec tool results
670
+ * beyond a "fresh window" of recent messages. Runs every turn before
671
+ * enforceContextBudget to slow context growth.
672
+ *
673
+ * Pure string manipulation — zero LLM cost.
674
+ */
675
+ export function rollingCompressToolResults(opts) {
676
+ const { freshCount, maxChars, toolNameByCallId, toolArgsByCallId, editedPaths } = opts;
677
+ const messages = [...opts.messages];
678
+ const cutoff = messages.length - freshCount;
679
+ let compressedCount = 0;
680
+ let charsSaved = 0;
681
+ for (let i = 0; i < cutoff; i++) {
682
+ const msg = messages[i];
683
+ if (msg.role !== 'tool')
684
+ continue;
685
+ const content = msg.content;
686
+ if (typeof content !== 'string')
687
+ continue;
688
+ // Skip already-compressed results
689
+ if (content.endsWith('[rolling-compressed]'))
690
+ continue;
691
+ // Skip if already small enough
692
+ if (content.length <= maxChars)
693
+ continue;
694
+ // Only target the exempted tools
695
+ const toolName = toolNameByCallId.get(msg.tool_call_id ?? '') ?? '';
696
+ if (!ROLLING_TARGET_TOOLS.has(toolName))
697
+ continue;
698
+ const before = content.length;
699
+ const compressed = toolName === 'exec'
700
+ ? compressExecResult(content, maxChars)
701
+ : compressToolResult(content, maxChars);
702
+ messages[i] = {
703
+ ...msg,
704
+ content: compressed + ROLLING_MARKER,
705
+ };
706
+ charsSaved += before - (compressed.length + ROLLING_MARKER.length);
707
+ compressedCount++;
708
+ }
709
+ // ── Second pass: deduplicate repeated file reads (#5) ──
710
+ // Group read_file tool messages (outside fresh window) by file path.
711
+ // Keep only the latest read per file; replace earlier reads with stubs.
712
+ if (toolArgsByCallId) {
713
+ // Collect read_file messages by path
714
+ const readsByPath = new Map(); // path -> message indices
715
+ for (let i = 0; i < cutoff; i++) {
716
+ const msg = messages[i];
717
+ if (msg.role !== 'tool')
718
+ continue;
719
+ const callId = msg.tool_call_id ?? '';
720
+ const toolName = toolNameByCallId.get(callId) ?? '';
721
+ if (toolName !== 'read_file')
722
+ continue;
723
+ const args = toolArgsByCallId.get(callId);
724
+ const filePath = typeof args?.path === 'string' ? args.path : '';
725
+ if (!filePath)
726
+ continue;
727
+ const indices = readsByPath.get(filePath) ?? [];
728
+ indices.push(i);
729
+ readsByPath.set(filePath, indices);
730
+ }
731
+ // For each file with multiple reads, keep only the latest
732
+ for (const [filePath, indices] of readsByPath) {
733
+ if (indices.length <= 1)
734
+ continue;
735
+ // Keep the last one, stub the rest
736
+ const toStub = indices.slice(0, -1);
737
+ for (const idx of toStub) {
738
+ const msg = messages[idx];
739
+ const oldContent = msg.content;
740
+ if (typeof oldContent !== 'string')
741
+ continue;
742
+ // Skip already-compressed, cache-hit, or short messages
743
+ if (oldContent.startsWith('[CACHE HIT]') || oldContent.startsWith('[previously read') || oldContent.startsWith('Error:'))
744
+ continue;
745
+ const stub = `[previously read ${filePath} — see latest version in conversation]`;
746
+ if (oldContent.length > stub.length) {
747
+ charsSaved += oldContent.length - stub.length;
748
+ compressedCount++;
749
+ messages[idx] = { ...msg, content: stub };
750
+ }
751
+ }
752
+ }
753
+ }
754
+ // ── Third pass: compress acted-on reads (#4) ──
755
+ // If a file was subsequently edited, its prior read content is less valuable.
756
+ // Compress it to a short stub.
757
+ if (editedPaths && editedPaths.size > 0 && toolArgsByCallId) {
758
+ for (let i = 0; i < cutoff; i++) {
759
+ const msg = messages[i];
760
+ if (msg.role !== 'tool')
761
+ continue;
762
+ const callId = msg.tool_call_id ?? '';
763
+ const toolName = toolNameByCallId.get(callId) ?? '';
764
+ if (toolName !== 'read_file')
765
+ continue;
766
+ const args = toolArgsByCallId.get(callId);
767
+ const filePath = typeof args?.path === 'string' ? args.path : '';
768
+ if (!filePath || !editedPaths.has(filePath))
769
+ continue;
770
+ const oldContent = msg.content;
771
+ if (typeof oldContent !== 'string')
772
+ continue;
773
+ // Skip if already stubbed by dedup pass
774
+ if (oldContent.startsWith('[previously read'))
775
+ continue;
776
+ // Extract first line as header
777
+ const firstLine = oldContent.split('\n')[0]?.slice(0, 80) ?? filePath;
778
+ const stub = `${firstLine}\n[acted-on: file was subsequently edited]`;
779
+ if (oldContent.length > stub.length + 50) {
780
+ charsSaved += oldContent.length - stub.length;
781
+ compressedCount++;
782
+ messages[i] = { ...msg, content: stub };
783
+ }
784
+ }
785
+ }
786
+ return { messages, compressedCount, charsSaved };
787
+ }
592
788
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}