@felan-ai/ext-session-compaction 0.1.1 → 0.1.2

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.
@@ -5,7 +5,6 @@ export function extractEvidence(span, bounds = DEFAULT_EXTRACTION_BOUNDS) {
5
5
  omitted: { ...span.omitted, reasons: [...span.omitted.reasons] },
6
6
  calls: new Map(),
7
7
  work: 0,
8
- bytes: 0,
9
8
  };
10
9
  for (const source of span.sources) {
11
10
  if (state.work >= bounds.maxWorkUnits) {
@@ -15,13 +14,11 @@ export function extractEvidence(span, bounds = DEFAULT_EXTRACTION_BOUNDS) {
15
14
  state.work += 1;
16
15
  extractSource(source, state, bounds);
17
16
  }
18
- return { schemaVersion: 1, items: state.items, omitted: freezeOmission(state.omitted) };
17
+ const selected = selectEvidence(state.items, span, bounds, state.omitted);
18
+ return { schemaVersion: 1, items: selected, omitted: freezeOmission(state.omitted) };
19
19
  }
20
20
  function extractSource(source, state, bounds) {
21
21
  if (source.section === 'previous_summary') {
22
- add(state, source, {
23
- provenance: 'agent-reported', kind: 'report', status: 'observed', text: source.text,
24
- }, bounds);
25
22
  return;
26
23
  }
27
24
  const rawMessage = source.message;
@@ -51,6 +48,11 @@ function extractSource(source, state, bounds) {
51
48
  provenance: 'agent-reported', kind: 'report', status: 'observed', text: block.text,
52
49
  }, bounds);
53
50
  }
51
+ else if (block.type === 'thinking' && typeof block.thinking === 'string') {
52
+ add(state, source, {
53
+ provenance: 'agent-reported', kind: 'report', status: 'observed', text: `Reasoning: ${block.thinking}`,
54
+ }, bounds);
55
+ }
54
56
  else if (block.type === 'toolCall' && typeof block.id === 'string' && typeof block.name === 'string') {
55
57
  const args = isRecord(block.arguments) ? block.arguments : {};
56
58
  state.calls.set(block.id, { name: block.name, arguments: args });
@@ -58,7 +60,7 @@ function extractSource(source, state, bounds) {
58
60
  provenance: 'requested',
59
61
  kind: 'tool-call',
60
62
  status: 'requested',
61
- text: `${block.name} ${stableJson(args)}`,
63
+ text: renderToolCall(block.name, args, bounds),
62
64
  toolCallId: stableIdentifier(block.id, 'call'),
63
65
  toolName: stableIdentifier(block.name, 'tool'),
64
66
  }, bounds);
@@ -98,6 +100,18 @@ function extractToolResult(source, message, state, bounds) {
98
100
  const common = { toolCallId, toolName: stableIdentifier(toolName, 'tool') };
99
101
  const details = isRecord(message.details) ? message.details : undefined;
100
102
  let handled = false;
103
+ if (isError) {
104
+ const partBytes = diagnosticPartBytes(bounds);
105
+ const error = compactDiagnosticText(textContent(message.content).join('\n'), partBytes);
106
+ const callDescription = sanitizeText(call ? renderToolCall(call.name, call.arguments, bounds) : toolName, partBytes).text;
107
+ add(state, source, {
108
+ provenance: 'recorded-result', kind: 'error', status: 'failed',
109
+ text: `${callDescription} failed${error ? `: ${error}` : ''}`,
110
+ ...common, key: `failure:${toolCallId}`,
111
+ }, bounds);
112
+ extractRtk(source, details, common, state, bounds);
113
+ return;
114
+ }
101
115
  if (toolName === 'apply_patch' && details) {
102
116
  handled = extractPatch(source, details, common, state, bounds);
103
117
  }
@@ -105,7 +119,7 @@ function extractToolResult(source, message, state, bounds) {
105
119
  const path = cleanPath(call?.arguments.path, bounds);
106
120
  const action = toolName === 'read' ? 'Read' : toolName === 'write' ? 'Wrote' : 'Edited';
107
121
  add(state, source, {
108
- provenance: 'recorded-result', kind: 'file', status: isError ? 'failed' : 'succeeded',
122
+ provenance: 'recorded-result', kind: 'file', status: 'succeeded',
109
123
  text: path ? `${action} ${path}` : `${action} file (path unavailable)`,
110
124
  ...common, ...(path ? { key: `file:${path}`, paths: [path] } : {}),
111
125
  }, bounds);
@@ -118,24 +132,19 @@ function extractToolResult(source, message, state, bounds) {
118
132
  handled = extractBackground(source, details, common, state, bounds);
119
133
  }
120
134
  else if (toolName === 'bash' || toolName === 'exec_command' || toolName === 'write_stdin') {
121
- const command = stringValue(call?.arguments.command) ?? stringValue(call?.arguments.cmd) ?? toolName;
122
- const text = textContent(message.content).join('\n');
123
- const test = looksLikeTestCommand(command);
135
+ const rawCommand = stringValue(call?.arguments.command) ?? stringValue(call?.arguments.cmd) ?? toolName;
136
+ const partBytes = diagnosticPartBytes(bounds);
137
+ const command = compactDiagnosticText(rawCommand, partBytes);
138
+ const text = compactDiagnosticText(textContent(message.content).join('\n'), partBytes);
139
+ const test = looksLikeTestCommand(rawCommand);
124
140
  add(state, source, {
125
- provenance: 'recorded-result', kind: test ? 'test' : 'command', status: isError ? 'failed' : 'succeeded',
126
- text: `${isError ? 'Failed' : 'Completed'}: ${command}${text ? `\n${text}` : ''}`,
141
+ provenance: 'recorded-result', kind: test ? 'test' : 'command', status: 'succeeded',
142
+ text: `Completed: ${command}${text ? `\n${text}` : ''}`,
127
143
  ...common, key: `${test ? 'test' : 'command'}:${command}`,
128
144
  }, bounds);
129
145
  handled = true;
130
146
  }
131
- if (isError && !handled) {
132
- add(state, source, {
133
- provenance: 'recorded-result', kind: 'error', status: 'failed',
134
- text: textContent(message.content).join('\n') || `${toolName} failed`, ...common,
135
- key: `failure:${toolCallId}`,
136
- }, bounds);
137
- }
138
- else if (!handled) {
147
+ if (!handled) {
139
148
  const text = textContent(message.content).join('\n');
140
149
  if (text)
141
150
  add(state, source, {
@@ -223,15 +232,20 @@ function extractRtk(source, details, common, state, bounds) {
223
232
  }, bounds);
224
233
  }
225
234
  function add(state, source, candidate, bounds) {
226
- if (state.items.length >= bounds.maxEvidenceItems) {
227
- omit(state.omitted, 'evidence-item-limit');
235
+ if (state.items.length >= bounds.maxEvidenceItems * 8) {
236
+ omit(state.omitted, isRequiredPrefixCandidate(source, candidate)
237
+ ? 'required-prefix-evidence-limit'
238
+ : 'evidence-item-limit');
228
239
  return;
229
240
  }
230
241
  const sanitized = sanitizeText(candidate.text, bounds.maxTextBytes);
231
242
  if (!sanitized.text)
232
243
  return;
233
- if (sanitized.omittedBytes > 0)
244
+ if (sanitized.omittedBytes > 0) {
234
245
  omit(state.omitted, 'text-byte-limit', 0, sanitized.omittedBytes);
246
+ if (isRequiredPrefixCandidate(source, candidate))
247
+ omit(state.omitted, 'required-prefix-evidence-limit', 0);
248
+ }
235
249
  const ordinal = state.items.length;
236
250
  const item = {
237
251
  ...candidate,
@@ -239,13 +253,68 @@ function add(state, source, candidate, bounds) {
239
253
  sourceId: source.sourceId,
240
254
  text: sanitized.text,
241
255
  };
242
- const bytes = utf8Bytes(JSON.stringify(item));
243
- if (state.bytes + bytes > bounds.maxEvidenceBytes) {
244
- omit(state.omitted, 'evidence-byte-limit', 1, bytes);
245
- return;
246
- }
247
256
  state.items.push(item);
248
- state.bytes += bytes;
257
+ }
258
+ function selectEvidence(items, span, bounds, omitted) {
259
+ const sections = new Map(span.sources.map((source) => [source.sourceId, source.section]));
260
+ const sourceOrder = new Map(span.sources.map((source, index) => [source.sourceId, index]));
261
+ const unique = new Map();
262
+ for (const item of items) {
263
+ const key = isRequiredPrefixEvidence(item, sections) ? item.id : item.key ?? item.id;
264
+ const existing = unique.get(key);
265
+ if (!existing || evidenceRank(item, sections, sourceOrder) >= evidenceRank(existing, sections, sourceOrder))
266
+ unique.set(key, item);
267
+ }
268
+ const required = [...unique.values()].filter((item) => isRequiredPrefixEvidence(item, sections));
269
+ const ranked = [...unique.values()].filter((item) => !isRequiredPrefixEvidence(item, sections)).sort((left, right) => (evidenceRank(right, sections, sourceOrder) - evidenceRank(left, sections, sourceOrder)
270
+ || (sourceOrder.get(right.sourceId) ?? 0) - (sourceOrder.get(left.sourceId) ?? 0)));
271
+ const selected = [];
272
+ let bytes = 0;
273
+ const admit = (item, requiredPrefix) => {
274
+ if (selected.length >= bounds.maxEvidenceItems) {
275
+ omit(omitted, requiredPrefix ? 'required-prefix-evidence-limit' : 'evidence-item-limit');
276
+ return;
277
+ }
278
+ const size = utf8Bytes(JSON.stringify(item));
279
+ if (bytes + size > bounds.maxEvidenceBytes) {
280
+ omit(omitted, requiredPrefix ? 'required-prefix-evidence-limit' : 'evidence-byte-limit', 1, size);
281
+ return;
282
+ }
283
+ selected.push(item);
284
+ bytes += size;
285
+ };
286
+ for (const item of required)
287
+ admit(item, true);
288
+ for (const item of ranked) {
289
+ admit(item, false);
290
+ }
291
+ selected.sort((left, right) => ((sourceOrder.get(left.sourceId) ?? 0) - (sourceOrder.get(right.sourceId) ?? 0)
292
+ || evidenceOrdinal(left) - evidenceOrdinal(right)));
293
+ return selected;
294
+ }
295
+ function isRequiredPrefixCandidate(source, candidate) {
296
+ return source.section === 'turn_prefix'
297
+ && (candidate.status === 'failed' || candidate.kind === 'error' || candidate.kind === 'test');
298
+ }
299
+ function isRequiredPrefixEvidence(item, sections) {
300
+ return sections.get(item.sourceId) === 'turn_prefix'
301
+ && (item.status === 'failed' || item.kind === 'error' || item.kind === 'test');
302
+ }
303
+ function evidenceOrdinal(item) {
304
+ const separator = item.id.lastIndexOf(':');
305
+ const ordinal = Number(item.id.slice(separator + 1));
306
+ return Number.isSafeInteger(ordinal) && ordinal >= 0 ? ordinal : Number.MAX_SAFE_INTEGER;
307
+ }
308
+ function evidenceRank(item, sections, sourceOrder) {
309
+ const section = sections.get(item.sourceId);
310
+ const sectionWeight = section === 'turn_prefix' ? 10_000 : section === 'previous_summary' ? 2_000 : 0;
311
+ const kindWeight = item.kind === 'request' || item.kind === 'constraint' || item.kind === 'decision' || item.kind === 'open-loop'
312
+ ? 900
313
+ : item.kind === 'error' || item.kind === 'test' || item.kind === 'task' || item.kind === 'file'
314
+ ? 700
315
+ : item.kind === 'report' ? 500 : item.kind === 'observation' ? 100 : 300;
316
+ const recency = sourceOrder.get(item.sourceId) ?? 0;
317
+ return sectionWeight + kindWeight + recency;
249
318
  }
250
319
  function boundedPaths(value, bounds, omitted) {
251
320
  const raw = arrayValue(value);
@@ -260,6 +329,97 @@ function cleanPath(value, bounds) {
260
329
  const text = sanitizeText(value, Math.min(bounds.maxTextBytes, 512)).text;
261
330
  return text || undefined;
262
331
  }
332
+ function renderToolCall(name, args, bounds) {
333
+ if (name === 'apply_patch') {
334
+ const patch = stringValue(args.input);
335
+ const paths = patchPaths(patch, bounds);
336
+ return `${name} ${stableJson({
337
+ ...(paths.length > 0 ? { paths } : {}),
338
+ ...(patch === undefined ? {} : { payloadBytes: utf8Bytes(patch) }),
339
+ })}`;
340
+ }
341
+ if (name === 'write') {
342
+ const content = stringValue(args.content);
343
+ const path = cleanPath(args.path, bounds);
344
+ return `${name} ${stableJson({
345
+ ...(path ? { path } : {}),
346
+ ...(content === undefined ? {} : { contentBytes: utf8Bytes(content) }),
347
+ })}`;
348
+ }
349
+ if (name === 'edit') {
350
+ const oldText = stringValue(args.oldText);
351
+ const newText = stringValue(args.newText);
352
+ const path = cleanPath(args.path, bounds);
353
+ return `${name} ${stableJson({
354
+ ...(path ? { path } : {}),
355
+ ...(oldText === undefined ? {} : { oldTextBytes: utf8Bytes(oldText) }),
356
+ ...(newText === undefined ? {} : { newTextBytes: utf8Bytes(newText) }),
357
+ })}`;
358
+ }
359
+ return `${name} ${stableJson(compactToolArguments(args, bounds))}`;
360
+ }
361
+ function compactToolArguments(value, bounds) {
362
+ return Object.fromEntries(Object.keys(value).sort().slice(0, 32).map((key) => {
363
+ if (isSensitiveKey(key))
364
+ return [key, '[redacted]'];
365
+ return [key, compactToolArgument(value[key], bounds, 0)];
366
+ }));
367
+ }
368
+ function compactToolArgument(value, bounds, depth) {
369
+ if (depth > 3)
370
+ return '[depth omitted]';
371
+ if (typeof value === 'string') {
372
+ const sanitized = sanitizeText(value, Math.min(bounds.maxTextBytes, 512));
373
+ return sanitized.omittedBytes > 0
374
+ ? `${sanitized.text} [... ${sanitized.omittedBytes} bytes omitted]`
375
+ : sanitized.text;
376
+ }
377
+ if (Array.isArray(value))
378
+ return value.slice(0, 16).map((item) => compactToolArgument(item, bounds, depth + 1));
379
+ if (isRecord(value))
380
+ return Object.fromEntries(Object.keys(value).sort().slice(0, 16)
381
+ .map((key) => [key, isSensitiveKey(key) ? '[redacted]' : compactToolArgument(value[key], bounds, depth + 1)]));
382
+ return typeof value === 'number' || typeof value === 'boolean' || value === null ? value : String(value);
383
+ }
384
+ function isSensitiveKey(key) {
385
+ return /^(?:token|access[_-]?token|id[_-]?token|refresh[_-]?token|secret|password|authorization|cookie|api[_-]?key)$/iu.test(key);
386
+ }
387
+ function patchPaths(value, bounds) {
388
+ if (!value)
389
+ return [];
390
+ const paths = [];
391
+ for (const match of value.matchAll(/^\*\*\* (?:(?:Add|Update|Delete) File|Move to): (.+)$/gmu)) {
392
+ const path = cleanPath(match[1], bounds);
393
+ if (path)
394
+ paths.push(path);
395
+ if (paths.length >= bounds.maxPathsPerItem)
396
+ break;
397
+ }
398
+ return [...new Set(paths)];
399
+ }
400
+ function compactDiagnosticText(value, maxBytes) {
401
+ if (!value || maxBytes <= 0)
402
+ return '';
403
+ const clean = sanitizeText(value, utf8Bytes(value)).text;
404
+ if (utf8Bytes(clean) <= maxBytes)
405
+ return clean;
406
+ const marker = '\n[... output omitted ...]\n';
407
+ const contentBytes = Math.max(0, maxBytes - utf8Bytes(marker));
408
+ const head = sanitizeText(clean, Math.ceil(contentBytes * 2 / 3)).text;
409
+ const tail = utf8Suffix(clean, Math.floor(contentBytes / 3));
410
+ return `${head}${marker}${tail}`;
411
+ }
412
+ function diagnosticPartBytes(bounds) {
413
+ return Math.max(0, Math.floor((bounds.maxTextBytes - 64) / 2));
414
+ }
415
+ function utf8Suffix(value, maxBytes) {
416
+ let start = Math.max(0, value.length - maxBytes);
417
+ while (start < value.length && utf8Bytes(value.slice(start)) > maxBytes)
418
+ start += 1;
419
+ if (/^[\uDC00-\uDFFF]/u.test(value.slice(start)))
420
+ start += 1;
421
+ return value.slice(start);
422
+ }
263
423
  function stableJson(value) {
264
424
  try {
265
425
  return JSON.stringify(sortJson(value), null, 0) ?? '{}';
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/internal/evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/internal/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type NativeFallbackReason, type SessionCompactionFallbackDiagnosticV1 } from './contracts.js';
2
+ export interface FallbackDiagnosticInput {
3
+ readonly reason: NativeFallbackReason;
4
+ readonly sessionId: string;
5
+ readonly attemptId?: string;
6
+ readonly trigger: SessionCompactionFallbackDiagnosticV1['trigger'];
7
+ readonly willRetry: boolean;
8
+ readonly requestedModel: string;
9
+ readonly selectedModel?: string;
10
+ readonly errorMessage?: unknown;
11
+ readonly stopReason?: unknown;
12
+ readonly detail?: unknown;
13
+ }
14
+ export declare function createFallbackDiagnostic(input: FallbackDiagnosticInput): SessionCompactionFallbackDiagnosticV1;
15
+ export declare function fallbackDiagnosticText(diagnostic: SessionCompactionFallbackDiagnosticV1): string;
16
+ export declare function fallbackDiagnosticBytes(value: SessionCompactionFallbackDiagnosticV1): number;
17
+ //# sourceMappingURL=fallback-diagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-diagnostic.d.ts","sourceRoot":"","sources":["../../src/internal/fallback-diagnostic.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,qCAAqC,EAC3C,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC,SAAS,CAAC,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,qCAAqC,CAgB9G;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,qCAAqC,GAAG,MAAM,CAGhG;AA0BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qCAAqC,GAAG,MAAM,CAE5F"}
@@ -0,0 +1,48 @@
1
+ import { sanitizeText, utf8Bytes } from './bounds.js';
2
+ import { FALLBACK_DIAGNOSTIC_CUSTOM_TYPE, FALLBACK_DIAGNOSTIC_SCHEMA_VERSION, } from './contracts.js';
3
+ const MAX_DIAGNOSTIC_FIELD_BYTES = 512;
4
+ const MAX_DIAGNOSTIC_ERROR_BYTES = 1_024;
5
+ export function createFallbackDiagnostic(input) {
6
+ const diagnostic = {
7
+ customType: FALLBACK_DIAGNOSTIC_CUSTOM_TYPE,
8
+ schemaVersion: FALLBACK_DIAGNOSTIC_SCHEMA_VERSION,
9
+ reason: input.reason,
10
+ sessionId: bounded(input.sessionId),
11
+ trigger: input.trigger,
12
+ willRetry: input.willRetry,
13
+ requestedModel: bounded(input.requestedModel),
14
+ ...(boundedOptional(input.attemptId) ? { attemptId: boundedOptional(input.attemptId) } : {}),
15
+ ...(boundedOptional(input.selectedModel) ? { selectedModel: boundedOptional(input.selectedModel) } : {}),
16
+ ...(sanitizedError(input.errorMessage) ? { errorMessage: sanitizedError(input.errorMessage) } : {}),
17
+ ...(boundedUnknown(input.stopReason) ? { stopReason: boundedUnknown(input.stopReason) } : {}),
18
+ ...(boundedUnknown(input.detail) ? { detail: boundedUnknown(input.detail) } : {}),
19
+ };
20
+ return diagnostic;
21
+ }
22
+ export function fallbackDiagnosticText(diagnostic) {
23
+ const error = diagnostic.errorMessage ? `: ${diagnostic.errorMessage}` : '';
24
+ return `Session compaction fell back to Pi native compaction (${diagnostic.reason}${error}).`;
25
+ }
26
+ function sanitizedError(value) {
27
+ const text = typeof value === 'string' ? value : value instanceof Error ? value.message : value === undefined ? '' : String(value);
28
+ return redactSecrets(sanitizeText(text, MAX_DIAGNOSTIC_ERROR_BYTES).text);
29
+ }
30
+ function boundedUnknown(value) {
31
+ return bounded(value === undefined ? '' : String(value));
32
+ }
33
+ function boundedOptional(value) {
34
+ return bounded(value === undefined ? '' : String(value));
35
+ }
36
+ function bounded(value) {
37
+ return sanitizeText(redactSecrets(value), MAX_DIAGNOSTIC_FIELD_BYTES).text;
38
+ }
39
+ function redactSecrets(value) {
40
+ return value
41
+ .replace(/\bBearer\s+[^\s,;]+/giu, 'Bearer [redacted]')
42
+ .replace(/([?&](?:code|state|token|access_token|refresh_token|client_secret)=)[^&#\s]*/giu, '$1[redacted]')
43
+ .replace(/(\b(?:api[_-]?key|secret|password|token)\s*[=:]\s*)[^\s,;]+/giu, '$1[redacted]');
44
+ }
45
+ export function fallbackDiagnosticBytes(value) {
46
+ return utf8Bytes(JSON.stringify(value));
47
+ }
48
+ //# sourceMappingURL=fallback-diagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-diagnostic.js","sourceRoot":"","sources":["../../src/internal/fallback-diagnostic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-span.d.ts","sourceRoot":"","sources":["../../src/internal/prepared-span.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAGV,YAAY,EACZ,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,MAAM,GAAE,gBAA4C,GACnD,YAAY,CAwEd"}
1
+ {"version":3,"file":"prepared-span.d.ts","sourceRoot":"","sources":["../../src/internal/prepared-span.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAGV,YAAY,EACZ,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,MAAM,GAAE,gBAA4C,GACnD,YAAY,CA0Ed"}
@@ -33,13 +33,14 @@ export function prepareEvidenceSpan(input, bounds = DEFAULT_EXTRACTION_BOUNDS) {
33
33
  text: input.preparation.previousSummary,
34
34
  });
35
35
  }
36
- const messages = [
37
- ...tagMessages(input.preparation.messagesToSummarize, 'messages_to_summarize'),
38
- ...tagMessages(input.preparation.turnPrefixMessages, 'turn_prefix'),
39
- ];
40
- const selected = messages.slice(0, bounds.maxMessages);
41
- if (selected.length < messages.length)
42
- omit(omitted, 'message-limit', messages.length - selected.length);
36
+ const history = tagMessages(input.preparation.messagesToSummarize, 'messages_to_summarize');
37
+ const prefix = tagMessages(input.preparation.turnPrefixMessages, 'turn_prefix');
38
+ const selectedPrefix = prefix.slice(0, bounds.maxMessages);
39
+ const selectedHistory = history.slice(0, Math.max(0, bounds.maxMessages - selectedPrefix.length));
40
+ const selected = [...selectedHistory, ...selectedPrefix];
41
+ if (selected.length < history.length + prefix.length) {
42
+ omit(omitted, 'message-limit', history.length + prefix.length - selected.length);
43
+ }
43
44
  const fingerprintOffsets = new Map();
44
45
  for (const item of selected) {
45
46
  const objectId = typeof item.message === 'object' && item.message !== null
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-span.js","sourceRoot":"","sources":["../../src/internal/prepared-span.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepared-span.js","sourceRoot":"","sources":["../../src/internal/prepared-span.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { EvidenceBundle, PreparedSpan } from './contracts.js';
2
+ export declare function renderSplitTurnPrefix(span: PreparedSpan, evidence: EvidenceBundle, maxBytes: number, expectedMessages: number): string | undefined;
3
+ //# sourceMappingURL=split-prefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-prefix.d.ts","sourceRoot":"","sources":["../../src/internal/split-prefix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAgC,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUjG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,MAAM,GAAG,SAAS,CAqDpB"}