@felan-ai/ext-rtk-optimizer 0.1.1 → 0.4.1

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/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { registerRtkCommand } from './command.js';
2
2
  import { computeRewriteDecision, inspectRtkRuntime } from './command-rewriter.js';
3
- import { loadRtkOptimizerConfig, saveRtkOptimizerConfig } from './config.js';
3
+ import { associateExtensionConfig } from '@felan-ai/agent-core';
4
+ import { RTK_OPTIMIZER_CONFIG, rtkOptimizerConfigFromSettings } from './config.js';
4
5
  import { installManagedRtk } from './installer.js';
5
- import { compactToolResult } from './output-compactor.js';
6
- import { OutputMetrics } from './output-metrics.js';
7
- import { toRecord } from './record-utils.js';
6
+ import { addRecoveryPath, compactToolResult } from './output-compactor.js';
7
+ import { persistRecoveryArtifact } from './recovery.js';
8
+ import { createRtkGainSegment, discoverRtkGainSegments, discardRtkGainSegment, readRtkGainSegment, wrapCommandWithRtkGain, } from './rtk-gain.js';
9
+ import { isTextContentBlock, toRecord } from './record-utils.js';
8
10
  import { sanitizeStreamingCommandResult } from './tool-execution-sanitizer.js';
9
11
  import { codexResultHasExited, isCommandToolName, isStreamingCommandToolName, readCodexSessionId, readRunningCodexSessionId, readToolCommand, writeToolCommand, } from './tool-shapes.js';
10
12
  const EXTENSION_NAME = 'RTK optimizer';
@@ -15,17 +17,17 @@ export async function refreshActiveRtkRuntime(runtime) {
15
17
  return activeRuntimeRefreshers.get(runtime)?.() ?? inspectRtkRuntime(runtime);
16
18
  }
17
19
  const rtkOptimizerExtension = async (pi) => {
18
- const initialLoad = await loadRtkOptimizerConfig(pi.runtime);
19
- let config = initialLoad.config;
20
- let pendingConfigWarning = initialLoad.warning;
20
+ const config = rtkOptimizerConfigFromSettings(pi.config ?? {});
21
21
  let runtimeStatus = { rtkAvailable: false };
22
22
  let statusRefresh;
23
23
  let missingRtkWarningShown = false;
24
- const metrics = new OutputMetrics();
25
24
  const warnedMessages = createBoundedNoticeTracker(100);
26
25
  const suggestionNotices = createBoundedNoticeTracker(200);
27
26
  const codexSessionCommands = new Map();
27
+ const codexSessionModels = new Map();
28
+ const toolCallModels = new Map();
28
29
  const activeCodexCommands = new Map();
30
+ const rtkSegments = new Map();
29
31
  const refreshRuntimeStatus = () => {
30
32
  statusRefresh ??= inspectRtkRuntime(pi.runtime)
31
33
  .then((status) => {
@@ -62,9 +64,6 @@ const rtkOptimizerExtension = async (pi) => {
62
64
  };
63
65
  registerRtkCommand(pi, {
64
66
  getConfig: () => config,
65
- setConfig: async (next) => {
66
- config = await saveRtkOptimizerConfig(pi.runtime, next);
67
- },
68
67
  getRuntimeStatus: () => runtimeStatus,
69
68
  refreshRuntimeStatus,
70
69
  install: async (onStatus) => {
@@ -74,34 +73,30 @@ const rtkOptimizerExtension = async (pi) => {
74
73
  missingRtkWarningShown = false;
75
74
  return status;
76
75
  },
77
- getMetricsSummary: () => metrics.summary(),
78
- clearMetrics: () => metrics.clear(),
79
76
  });
80
77
  pi.on('session_start', async (_event, ctx) => {
81
78
  warnedMessages.reset();
82
79
  suggestionNotices.reset();
83
80
  codexSessionCommands.clear();
84
81
  activeCodexCommands.clear();
85
- metrics.clear();
82
+ toolCallModels.clear();
83
+ codexSessionModels.clear();
86
84
  missingRtkWarningShown = false;
87
- const loaded = await loadRtkOptimizerConfig(pi.runtime);
88
- config = loaded.config;
89
- pendingConfigWarning = loaded.warning ?? pendingConfigWarning;
90
- if (pendingConfigWarning) {
91
- warnOnce(ctx, pendingConfigWarning);
92
- pendingConfigWarning = undefined;
93
- }
94
85
  if (config.enabled) {
95
86
  await refreshRuntimeStatus();
96
87
  maybeWarnRtkMissing(ctx);
97
88
  }
98
89
  });
99
- pi.on('session_shutdown', () => {
90
+ pi.on('session_shutdown', async () => {
100
91
  if (activeRuntimeRefreshers.get(pi.runtime) === refreshRuntimeStatus) {
101
92
  activeRuntimeRefreshers.delete(pi.runtime);
102
93
  }
103
94
  codexSessionCommands.clear();
95
+ codexSessionModels.clear();
96
+ toolCallModels.clear();
104
97
  activeCodexCommands.clear();
98
+ rtkSegments.clear();
99
+ await flushRtkGainSegments(pi, runtimeStatus.command ?? 'rtk');
105
100
  });
106
101
  pi.on('agent_end', () => {
107
102
  activeCodexCommands.clear();
@@ -117,6 +112,9 @@ const rtkOptimizerExtension = async (pi) => {
117
112
  return systemPrompt === event.systemPrompt ? undefined : { systemPrompt };
118
113
  });
119
114
  pi.on('tool_call', async (event, ctx) => {
115
+ if (isCompactionToolName(event.toolName) && ctx.model) {
116
+ toolCallModels.set(event.toolCallId, { provider: ctx.model.provider, id: ctx.model.id });
117
+ }
120
118
  if (!config.enabled || !isCommandToolName(event.toolName))
121
119
  return undefined;
122
120
  const command = readToolCommand(event.toolName, event.input);
@@ -137,7 +135,20 @@ const rtkOptimizerExtension = async (pi) => {
137
135
  return undefined;
138
136
  }
139
137
  if (config.mode === 'rewrite') {
140
- writeToolCommand(event.toolName, event.input, decision.rewrittenCommand);
138
+ let rewrittenCommand = decision.rewrittenCommand;
139
+ if (config.outputCompaction.trackSavings && pi.savings) {
140
+ const model = toolCallModels.get(event.toolCallId);
141
+ const modelKey = JSON.stringify(model ?? null);
142
+ let segment = rtkSegments.get(modelKey);
143
+ if (!segment) {
144
+ segment = await createRtkGainSegment(pi.runtime, model);
145
+ if (segment)
146
+ rtkSegments.set(modelKey, segment);
147
+ }
148
+ if (segment)
149
+ rewrittenCommand = wrapCommandWithRtkGain(rewrittenCommand, segment);
150
+ }
151
+ writeToolCommand(event.toolName, event.input, rewrittenCommand);
141
152
  if (config.showRewriteNotifications && ctx.hasUI) {
142
153
  ctx.ui.notify(`RTK rewrite: ${trimMessage(command, 100)} -> ${trimMessage(decision.rewrittenCommand, 120)}`, 'info');
143
154
  }
@@ -157,7 +168,7 @@ const rtkOptimizerExtension = async (pi) => {
157
168
  activeCodexCommands.set(event.toolCallId, command);
158
169
  });
159
170
  pi.on('tool_execution_update', (event) => {
160
- recordCodexSessionFromExecution(event.toolName, event.toolCallId, event.partialResult, activeCodexCommands, codexSessionCommands);
171
+ recordCodexSessionFromExecution(event.toolName, event.toolCallId, event.partialResult, activeCodexCommands, codexSessionCommands, codexSessionModels, toolCallModels);
161
172
  if (!config.enabled ||
162
173
  !config.outputCompaction.enabled ||
163
174
  !config.outputCompaction.stripAnsi ||
@@ -166,7 +177,7 @@ const rtkOptimizerExtension = async (pi) => {
166
177
  sanitizeStreamingCommandResult(event.partialResult);
167
178
  });
168
179
  pi.on('tool_execution_end', (event) => {
169
- recordCodexSessionFromExecution(event.toolName, event.toolCallId, event.result, activeCodexCommands, codexSessionCommands);
180
+ recordCodexSessionFromExecution(event.toolName, event.toolCallId, event.result, activeCodexCommands, codexSessionCommands, codexSessionModels, toolCallModels);
170
181
  activeCodexCommands.delete(event.toolCallId);
171
182
  if (!config.enabled ||
172
183
  !config.outputCompaction.enabled ||
@@ -177,11 +188,12 @@ const rtkOptimizerExtension = async (pi) => {
177
188
  });
178
189
  pi.on('tool_result', async (event, ctx) => {
179
190
  const originatingCommand = commandForResult(event.toolName, event.input, codexSessionCommands);
180
- updateCodexSessionCommands(event.toolName, event.input, event.details, originatingCommand, codexSessionCommands);
191
+ const resultModel = modelForResult(event.toolName, event.input, event.toolCallId, toolCallModels, codexSessionModels);
192
+ updateCodexSessionCommands(event.toolName, event.input, event.details, originatingCommand, codexSessionCommands, codexSessionModels);
181
193
  if (!config.enabled || !config.outputCompaction.enabled)
182
194
  return undefined;
183
195
  try {
184
- const outcome = compactToolResult({
196
+ let outcome = compactToolResult({
185
197
  toolName: event.toolName,
186
198
  input: event.input,
187
199
  content: event.content,
@@ -189,10 +201,32 @@ const rtkOptimizerExtension = async (pi) => {
189
201
  cwd: ctx.cwd,
190
202
  agentDir: pi.agentDir,
191
203
  ...(originatingCommand === undefined ? {} : { command: originatingCommand }),
192
- metrics,
204
+ failed: event.isError || hasNonZeroExitCode(event.details),
193
205
  });
194
- if (!outcome.changed || !outcome.content)
206
+ if (!outcome.changed || !outcome.content) {
207
+ if (config.outputCompaction.trackSavings && isCompactionToolName(event.toolName)) {
208
+ reportSavings(pi.savings, event.toolName, event.content, event.content, resultModel);
209
+ }
210
+ toolCallModels.delete(event.toolCallId);
195
211
  return undefined;
212
+ }
213
+ if (outcome.metadata?.truncated) {
214
+ const originalText = event.content
215
+ .filter(isTextContentBlock)
216
+ .map((block) => toRecord(block).text)
217
+ .filter((text) => typeof text === 'string')
218
+ .join('\n');
219
+ const recoveryPath = await persistRecoveryArtifact(pi.runtime, originalText);
220
+ if (!recoveryPath) {
221
+ warnOnce(ctx, `${EXTENSION_NAME}: output was not compacted because a recovery copy could not be stored.`);
222
+ return undefined;
223
+ }
224
+ outcome = addRecoveryPath(outcome, recoveryPath);
225
+ }
226
+ if (config.outputCompaction.trackSavings && isCompactionToolName(event.toolName)) {
227
+ reportSavings(pi.savings, event.toolName, event.content, outcome.content, resultModel, outcome.techniques);
228
+ }
229
+ toolCallModels.delete(event.toolCallId);
196
230
  return {
197
231
  content: outcome.content,
198
232
  ...(outcome.metadata === undefined ? {} : { details: mergeCompactionDetails(event.details, outcome.metadata) }),
@@ -204,6 +238,66 @@ const rtkOptimizerExtension = async (pi) => {
204
238
  }
205
239
  });
206
240
  };
241
+ function hasNonZeroExitCode(details) {
242
+ const value = toRecord(details).exit_code;
243
+ return Number.isSafeInteger(value) && value !== 0;
244
+ }
245
+ function textBlocks(content) {
246
+ if (!Array.isArray(content))
247
+ return [];
248
+ return content.filter(isTextContentBlock).map((block) => toRecord(block).text);
249
+ }
250
+ function reportSavings(reporter, tool, original, compacted, model, techniques = []) {
251
+ if (!reporter)
252
+ return;
253
+ const baseline = textBlocks(original);
254
+ const actual = textBlocks(compacted);
255
+ void reporter.report({
256
+ category: 'output-optimization',
257
+ operation: 'post-tool-compaction',
258
+ baseline: { ...(model === undefined ? {} : { model }), tokens: { input: estimateUtf8Tokens(baseline), output: 0 } },
259
+ actual: { ...(model === undefined ? {} : { model }), tokens: { input: estimateUtf8Tokens(actual), output: 0 } },
260
+ basis: { kind: 'estimated-baseline', method: 'utf8-bytes/4-ceil-v1' },
261
+ dimensions: { tool, ...(techniques.length === 0 ? {} : { techniques }) },
262
+ }).catch(() => { });
263
+ }
264
+ async function flushRtkGainSegments(pi, executable) {
265
+ const segments = await discoverRtkGainSegments(pi.runtime);
266
+ await Promise.allSettled(segments.map(async (segment) => {
267
+ const totals = await readRtkGainSegment(pi.runtime, executable, segment);
268
+ if (!totals)
269
+ return;
270
+ if (totals.calls === 0 || !pi.savings) {
271
+ await discardRtkGainSegment(pi.runtime, segment);
272
+ return;
273
+ }
274
+ await pi.savings.report({
275
+ category: 'output-optimization',
276
+ operation: 'rtk-command-output',
277
+ baseline: { ...(segment.model === undefined ? {} : { model: segment.model }), tokens: { input: totals.inputTokens, output: 0 } },
278
+ actual: { ...(segment.model === undefined ? {} : { model: segment.model }), tokens: { input: totals.outputTokens, output: 0 } },
279
+ basis: { kind: 'observed-comparison', method: 'rtk-tracking-byte4-v1' },
280
+ calls: totals.calls,
281
+ });
282
+ await discardRtkGainSegment(pi.runtime, segment);
283
+ }));
284
+ }
285
+ export function estimateUtf8Tokens(values) {
286
+ const bytes = values.reduce((total, value) => total + new TextEncoder().encode(value).byteLength, 0);
287
+ return Math.ceil(bytes / 4);
288
+ }
289
+ function modelForCodexResult(input, models) {
290
+ const sessionId = readCodexSessionId(input);
291
+ return sessionId === undefined ? undefined : models.get(sessionId);
292
+ }
293
+ function modelForResult(toolName, input, toolCallId, toolCallModels, codexSessionModels) {
294
+ return toolName === 'write_stdin'
295
+ ? modelForCodexResult(input, codexSessionModels)
296
+ : toolCallModels.get(toolCallId);
297
+ }
298
+ function isCompactionToolName(toolName) {
299
+ return isCommandToolName(toolName) || toolName === 'write_stdin' || toolName === 'read' || toolName === 'grep';
300
+ }
207
301
  export function shouldInjectSourceFilterTroubleshootingNote(config) {
208
302
  const compaction = config.outputCompaction;
209
303
  return (config.enabled &&
@@ -250,7 +344,7 @@ function commandForResult(toolName, input, codexSessionCommands) {
250
344
  const sessionId = readCodexSessionId(input);
251
345
  return sessionId === undefined ? undefined : codexSessionCommands.get(sessionId);
252
346
  }
253
- function recordCodexSessionFromExecution(toolName, toolCallId, result, activeCodexCommands, codexSessionCommands) {
347
+ function recordCodexSessionFromExecution(toolName, toolCallId, result, activeCodexCommands, codexSessionCommands, codexSessionModels, toolCallModels) {
254
348
  if (toolName !== 'exec_command')
255
349
  return;
256
350
  const command = activeCodexCommands.get(toolCallId);
@@ -259,8 +353,11 @@ function recordCodexSessionFromExecution(toolName, toolCallId, result, activeCod
259
353
  const sessionId = readRunningCodexSessionId(toRecord(result).details);
260
354
  if (sessionId !== undefined)
261
355
  codexSessionCommands.set(sessionId, command);
356
+ const model = toolCallModels.get(toolCallId);
357
+ if (sessionId !== undefined && model)
358
+ codexSessionModels.set(sessionId, model);
262
359
  }
263
- function updateCodexSessionCommands(toolName, input, details, command, codexSessionCommands) {
360
+ function updateCodexSessionCommands(toolName, input, details, command, codexSessionCommands, codexSessionModels) {
264
361
  if (toolName === 'exec_command' && command) {
265
362
  const runningSessionId = readRunningCodexSessionId(details);
266
363
  if (runningSessionId !== undefined)
@@ -274,6 +371,8 @@ function updateCodexSessionCommands(toolName, input, details, command, codexSess
274
371
  return;
275
372
  if (codexResultHasExited(details))
276
373
  codexSessionCommands.delete(requestedSessionId);
374
+ if (codexResultHasExited(details))
375
+ codexSessionModels.delete(requestedSessionId);
277
376
  }
278
377
  function mergeCompactionDetails(existingDetails, compaction) {
279
378
  const base = toRecord(existingDetails);
@@ -315,11 +414,11 @@ function trimMessage(value, maxLength = 220) {
315
414
  function errorMessage(error) {
316
415
  return error instanceof Error ? error.message : String(error);
317
416
  }
318
- export { getRtkOptimizerConfigPath, loadRtkOptimizerConfig, saveRtkOptimizerConfig, validateRtkOptimizerConfig, } from './config.js';
417
+ export { RTK_OPTIMIZER_CONFIG, rtkOptimizerConfigFromSettings, validateRtkOptimizerConfig } from './config.js';
319
418
  export { computeRewriteDecision, inspectRtkRuntime, resolveRtkRewrite } from './command-rewriter.js';
320
419
  export { installManagedRtk, managedRtkDirectory, managedRtkExecutable, MANAGED_RTK_VERSION, supportsManagedRtk, } from './installer.js';
321
420
  export { compactToolResult } from './output-compactor.js';
322
- export { OutputMetrics } from './output-metrics.js';
323
421
  export { DEFAULT_RTK_OPTIMIZER_CONFIG } from './types.js';
324
422
  export default rtkOptimizerExtension;
423
+ associateExtensionConfig(rtkOptimizerExtension, RTK_OPTIMIZER_CONFIG);
325
424
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { OutputMetrics } from './output-metrics.js';
2
1
  import type { RtkOptimizerConfig } from './types.js';
3
2
  interface ToolResultLikeEvent {
4
3
  toolName: string;
@@ -9,7 +8,8 @@ export interface ToolResultCompactionOptions {
9
8
  readonly cwd: string;
10
9
  readonly agentDir: string;
11
10
  readonly command?: string;
12
- readonly metrics?: OutputMetrics;
11
+ /** True when the tool failed or reported a non-zero process exit. */
12
+ readonly failed?: boolean;
13
13
  }
14
14
  export interface ToolResultCompactionMetadata {
15
15
  applied: boolean;
@@ -19,7 +19,9 @@ export interface ToolResultCompactionMetadata {
19
19
  compactedCharCount: number;
20
20
  originalLineCount: number;
21
21
  compactedLineCount: number;
22
+ recoveryPath?: string;
22
23
  }
24
+ export declare function addRecoveryPath(outcome: ToolResultCompactionOutcome, recoveryPath: string): ToolResultCompactionOutcome;
23
25
  export interface ToolResultCompactionOutcome {
24
26
  changed: boolean;
25
27
  content?: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"output-compactor.d.ts","sourceRoot":"","sources":["../src/output-compactor.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC;AA+iBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,2BAA2B,GACnC,2BAA2B,CA2E7B"}
1
+ {"version":3,"file":"output-compactor.d.ts","sourceRoot":"","sources":["../src/output-compactor.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,2BAA2B,EACpC,YAAY,EAAE,MAAM,GACnB,2BAA2B,CAc7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC;AAmkBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,2BAA2B,GACnC,2BAA2B,CAuE7B"}
@@ -1,7 +1,25 @@
1
- import { aggregateLinterOutput, aggregateTestOutput, compactGitOutput, detectLanguage, filterBuildOutput, filterSourceCode, groupSearchResults, smartTruncate, stripAnsiFast, truncate, } from './techniques/index.js';
2
- import { mapTextContentBlocks, toRecord } from './record-utils.js';
1
+ import { aggregateLinterOutput, aggregateTestOutput, compactGitOutput, detectLanguage, filterBuildOutput, filterSourceCode, groupSearchResults, smartTruncate, stripAnsiFast, } from './techniques/index.js';
2
+ import { isTextContentBlock, mapTextContentBlocks, toRecord } from './record-utils.js';
3
3
  import { isRuntimePathUnderRoot, joinRuntimePath, normalizeRuntimePath } from './runtime-path.js';
4
4
  import { isCommandToolName, readToolCommand } from './tool-shapes.js';
5
+ import { truncateHeadTail } from './techniques/truncate.js';
6
+ export function addRecoveryPath(outcome, recoveryPath) {
7
+ if (!outcome.changed || !outcome.content || !outcome.metadata?.truncated)
8
+ return outcome;
9
+ const content = outcome.content.map((block, index) => {
10
+ if (index !== 0 || !isTextContentBlock(block))
11
+ return block;
12
+ return {
13
+ ...block,
14
+ text: `${block.text}\n[RTK recovery: full original output at ${recoveryPath}]`,
15
+ };
16
+ });
17
+ return {
18
+ ...outcome,
19
+ content,
20
+ metadata: { ...outcome.metadata, recoveryPath },
21
+ };
22
+ }
5
23
  const LOSSY_TECHNIQUE_PREFIXES = [
6
24
  'build',
7
25
  'test',
@@ -297,7 +315,9 @@ function applyAnsiStripping(state, compaction) {
297
315
  /** Applies hard character truncation when enabled and the threshold is exceeded. */
298
316
  function applyTruncation(state, compaction) {
299
317
  if (compaction.truncate.enabled && state.text.length > compaction.truncate.maxChars) {
300
- state.text = truncate(state.text, compaction.truncate.maxChars);
318
+ state.text = truncateHeadTail(state.text, compaction.truncate.maxChars, {
319
+ marker: (omitted) => `\n[RTK truncated: ${omitted} characters omitted; head and tail retained]\n`,
320
+ }).text;
301
321
  state.techniques.push('truncate');
302
322
  }
303
323
  }
@@ -330,8 +350,22 @@ function applyReadCompactionBanner(state) {
330
350
  state.text = `${formatReadCompactionBanner(state.techniques)}\n${state.text}`;
331
351
  }
332
352
  }
333
- function compactCommandText(text, command, config) {
353
+ function compactCommandText(text, command, config, failed = false) {
334
354
  const { state, compaction } = beginCompaction(text, config);
355
+ // A complete JSON document is a structured payload, not prose. Preserve it
356
+ // before semantic filters or truncation can make it invalid. This is checked
357
+ // after ANSI removal so ordinary terminal decoration does not bypass the guard.
358
+ if (isCompleteJson(state.text)) {
359
+ return { text: state.text, techniques: state.techniques };
360
+ }
361
+ // Synthetic success summaries are unsafe on failures: the original output
362
+ // may contain the only useful diagnostic, and a parser that did not recognize
363
+ // it must never turn it into an apparent success. The final head/tail cap still
364
+ // bounds unusually large failures while retaining evidence from both ends.
365
+ if (failed) {
366
+ applyTruncation(state, compaction);
367
+ return { text: state.text, techniques: state.techniques };
368
+ }
335
369
  applyConditionalTechnique(state, compaction.filterBuildOutput, (t) => filterBuildOutput(t, command), 'build');
336
370
  applyConditionalTechnique(state, compaction.aggregateTestOutput, (t) => aggregateTestOutput(t, command), 'test');
337
371
  applyConditionalTechnique(state, compaction.compactGitOutput, (t) => compactGitOutput(t, command), 'git');
@@ -339,13 +373,13 @@ function compactCommandText(text, command, config) {
339
373
  applyTruncation(state, compaction);
340
374
  return { text: state.text, techniques: state.techniques };
341
375
  }
342
- function compactCodexCommandText(text, command, config) {
376
+ function compactCodexCommandText(text, command, config, failed = false) {
343
377
  const markerIndex = text.indexOf(CODEX_OUTPUT_MARKER);
344
378
  if (markerIndex === -1)
345
- return compactCommandText(text, command, config);
379
+ return compactCommandText(text, command, config, failed);
346
380
  const outputStart = markerIndex + CODEX_OUTPUT_MARKER.length;
347
381
  const prefix = text.slice(0, outputStart);
348
- const transformed = compactCommandText(text.slice(outputStart), command, config);
382
+ const transformed = compactCommandText(text.slice(outputStart), command, config, failed);
349
383
  return { ...transformed, text: `${prefix}${transformed.text}` };
350
384
  }
351
385
  function compactReadText(text, filePath, config, preserveExactReadOutput) {
@@ -407,11 +441,11 @@ export function compactToolResult(event, config, options) {
407
441
  const command = options.command ?? readToolCommand(event.toolName, input);
408
442
  transformed =
409
443
  event.toolName === 'exec_command'
410
- ? compactCodexCommandText(contentBlock.text, command, config)
411
- : compactCommandText(contentBlock.text, command, config);
444
+ ? compactCodexCommandText(contentBlock.text, command, config, options.failed)
445
+ : compactCommandText(contentBlock.text, command, config, options.failed);
412
446
  }
413
447
  else if (event.toolName === 'write_stdin') {
414
- transformed = compactCodexCommandText(contentBlock.text, options.command, config);
448
+ transformed = compactCodexCommandText(contentBlock.text, options.command, config, options.failed);
415
449
  }
416
450
  else if (event.toolName === 'read') {
417
451
  const normalizedPath = normalizePath(input);
@@ -433,9 +467,6 @@ export function compactToolResult(event, config, options) {
433
467
  const techniques = Array.from(allTechniques);
434
468
  const originalText = originalChunks.join('\n');
435
469
  const compactedText = filteredChunks.join('\n');
436
- if (config.outputCompaction.trackSavings) {
437
- options.metrics?.track(originalText, compactedText, event.toolName, techniques);
438
- }
439
470
  const metadata = {
440
471
  applied: true,
441
472
  techniques,
@@ -452,4 +483,16 @@ export function compactToolResult(event, config, options) {
452
483
  metadata,
453
484
  };
454
485
  }
486
+ function isCompleteJson(text) {
487
+ const trimmed = text.trimStart();
488
+ if (!trimmed || (trimmed[0] !== '{' && trimmed[0] !== '['))
489
+ return false;
490
+ try {
491
+ JSON.parse(text);
492
+ return true;
493
+ }
494
+ catch {
495
+ return false;
496
+ }
497
+ }
455
498
  //# sourceMappingURL=output-compactor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output-compactor.js","sourceRoot":"","sources":["../src/output-compactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-compactor.js","sourceRoot":"","sources":["../src/output-compactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { AgentRuntime } from '@felan-ai/agent-core';
2
+ /**
3
+ * Stores the exact pre-compaction text in session storage and returns a path
4
+ * readable through the same runtime namespace. A failed or oversized write is
5
+ * reported as undefined so callers can fail open instead of showing a lossy
6
+ * result with no recovery path.
7
+ */
8
+ export declare function persistRecoveryArtifact(runtime: AgentRuntime, text: string): Promise<string | undefined>;
9
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUzD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB9G"}