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

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,193 @@
1
+ import { sanitizeText, stableIdentifier, utf8Bytes } from './bounds.js';
2
+ export function renderSplitTurnPrefix(span, evidence, maxBytes, expectedMessages) {
3
+ if (evidence.omitted.reasons.includes('required-prefix-evidence-limit'))
4
+ return undefined;
5
+ const sources = span.sources.filter((source) => source.section === 'turn_prefix');
6
+ if (sources.length !== expectedMessages)
7
+ return undefined;
8
+ if (sources.length === 0)
9
+ return '(none)';
10
+ const sourceIndexes = new Map(sources.map((source, index) => [source.sourceId, index]));
11
+ const itemsBySource = groupEvidence(evidence.items, sourceIndexes);
12
+ const completedCalls = new Set(sources.flatMap((source) => {
13
+ const message = source.message;
14
+ return isRecord(message) && message.role === 'toolResult' && typeof message.toolCallId === 'string'
15
+ ? [stableIdentifier(message.toolCallId, 'call')]
16
+ : [];
17
+ }));
18
+ const candidates = [];
19
+ for (const [sourceIndex, source] of sources.entries()) {
20
+ const narrative = narrativeCandidates(source, sourceIndex, maxBytes);
21
+ if (narrative === undefined)
22
+ return undefined;
23
+ candidates.push(...narrative);
24
+ for (const [ordinal, item] of (itemsBySource.get(source.sourceId) ?? []).entries()) {
25
+ if (isNarrativeEvidence(source, item))
26
+ continue;
27
+ if (item.kind === 'tool-call' && item.toolCallId && completedCalls.has(item.toolCallId))
28
+ continue;
29
+ candidates.push({
30
+ sourceIndex,
31
+ ordinal: toolEvidenceOrdinal(source, item, ordinal),
32
+ text: renderToolEvidence(item),
33
+ priority: toolEvidencePriority(item),
34
+ required: isRequiredToolEvidence(item),
35
+ });
36
+ }
37
+ }
38
+ if (candidates.length === 0)
39
+ return undefined;
40
+ const required = candidates.filter((candidate) => candidate.required);
41
+ const selected = [...required];
42
+ let bytes = joinedBytes(selected);
43
+ if (bytes > maxBytes)
44
+ return undefined;
45
+ const optional = candidates
46
+ .filter((candidate) => !candidate.required)
47
+ .sort((left, right) => right.priority - left.priority || right.sourceIndex - left.sourceIndex || right.ordinal - left.ordinal);
48
+ for (const candidate of optional) {
49
+ const added = utf8Bytes(candidate.text) + (selected.length === 0 ? 0 : 2);
50
+ if (bytes + added > maxBytes)
51
+ continue;
52
+ selected.push(candidate);
53
+ bytes += added;
54
+ }
55
+ return selected
56
+ .sort((left, right) => left.sourceIndex - right.sourceIndex || left.ordinal - right.ordinal)
57
+ .map((candidate) => candidate.text)
58
+ .join('\n\n');
59
+ }
60
+ function narrativeCandidates(source, sourceIndex, maxBytes) {
61
+ const message = source.message;
62
+ if (!isRecord(message) || typeof message.role !== 'string')
63
+ return undefined;
64
+ const candidates = [];
65
+ let complete = true;
66
+ const add = (label, value, ordinal) => {
67
+ if (typeof value !== 'string')
68
+ return;
69
+ const sanitized = sanitizeText(value, maxBytes);
70
+ if (!sanitized.text)
71
+ return;
72
+ if (sanitized.omittedBytes > 0)
73
+ complete = false;
74
+ candidates.push({
75
+ sourceIndex,
76
+ ordinal,
77
+ text: `[${label} source=${source.sourceId}] ${sanitized.text}`,
78
+ priority: 1_000,
79
+ required: true,
80
+ });
81
+ };
82
+ if (message.role === 'assistant') {
83
+ for (const [blockIndex, block] of arrayValue(message.content).entries()) {
84
+ if (!isRecord(block))
85
+ continue;
86
+ if (block.type === 'thinking')
87
+ add('assistant reasoning', block.thinking, blockIndex * 2);
88
+ else if (block.type === 'text')
89
+ add('assistant', block.text, blockIndex * 2);
90
+ }
91
+ return complete ? candidates : undefined;
92
+ }
93
+ if (message.role === 'toolResult')
94
+ return candidates;
95
+ if (message.role === 'bashExecution') {
96
+ add('user bash request', message.command, 0);
97
+ if (typeof message.output === 'string') {
98
+ const output = sanitizeText(message.output, Math.min(maxBytes, 2_048));
99
+ if (output.text)
100
+ candidates.push({
101
+ sourceIndex,
102
+ ordinal: 1,
103
+ text: `[bash result source=${source.sourceId}] ${output.text}`,
104
+ priority: 750,
105
+ required: false,
106
+ });
107
+ }
108
+ return complete ? candidates : undefined;
109
+ }
110
+ if (message.role === 'branchSummary' || message.role === 'compactionSummary') {
111
+ add(message.role, message.summary, 0);
112
+ return complete ? candidates : undefined;
113
+ }
114
+ if (message.role !== 'user' && message.role !== 'custom')
115
+ return undefined;
116
+ for (const [index, text] of textContent(message.content).entries())
117
+ add(message.role, text, index * 2);
118
+ return complete ? candidates : undefined;
119
+ }
120
+ function groupEvidence(items, sourceIndexes) {
121
+ const grouped = new Map();
122
+ for (const item of items) {
123
+ if (!sourceIndexes.has(item.sourceId))
124
+ continue;
125
+ const sourceItems = grouped.get(item.sourceId) ?? [];
126
+ sourceItems.push(item);
127
+ grouped.set(item.sourceId, sourceItems);
128
+ }
129
+ return grouped;
130
+ }
131
+ function isNarrativeEvidence(source, item) {
132
+ const message = source.message;
133
+ if (!isRecord(message))
134
+ return false;
135
+ if (message.role === 'assistant')
136
+ return item.kind === 'report';
137
+ if (message.role !== 'user')
138
+ return false;
139
+ return item.kind === 'request' || item.kind === 'constraint' || item.kind === 'decision' || item.kind === 'open-loop';
140
+ }
141
+ function renderToolEvidence(item) {
142
+ const tool = item.toolName ? ` tool=${item.toolName}` : '';
143
+ const call = item.toolCallId ? ` call=${item.toolCallId}` : '';
144
+ const label = item.kind === 'tool-call' ? 'assistant tool call' : 'tool result';
145
+ return `[${label}/${item.kind}/${item.status}${tool}${call} source=${item.sourceId}] ${item.text}`;
146
+ }
147
+ function toolEvidenceOrdinal(source, item, fallback) {
148
+ const message = source.message;
149
+ const blocks = isRecord(message) ? arrayValue(message.content) : [];
150
+ if (item.kind === 'tool-call' && item.toolCallId) {
151
+ const blockIndex = blocks.findIndex((block) => isRecord(block)
152
+ && block.type === 'toolCall'
153
+ && typeof block.id === 'string'
154
+ && stableIdentifier(block.id, 'call') === item.toolCallId);
155
+ if (blockIndex >= 0)
156
+ return blockIndex * 2;
157
+ }
158
+ return blocks.length * 2 + fallback;
159
+ }
160
+ function isRequiredToolEvidence(item) {
161
+ return item.status === 'failed' || item.kind === 'error' || item.kind === 'test';
162
+ }
163
+ function toolEvidencePriority(item) {
164
+ if (item.status === 'failed' || item.kind === 'error')
165
+ return 950;
166
+ if (item.kind === 'test' || item.kind === 'file' || item.kind === 'task' || item.kind === 'background-job')
167
+ return 850;
168
+ if (item.kind === 'command' || item.kind === 'rtk-pointer')
169
+ return 750;
170
+ if (item.kind === 'tool-call')
171
+ return 600;
172
+ return 300;
173
+ }
174
+ function joinedBytes(candidates) {
175
+ if (candidates.length === 0)
176
+ return 0;
177
+ return candidates.reduce((sum, candidate) => sum + utf8Bytes(candidate.text), 0) + (candidates.length - 1) * 2;
178
+ }
179
+ function textContent(value) {
180
+ if (typeof value === 'string')
181
+ return [value];
182
+ return arrayValue(value)
183
+ .filter(isRecord)
184
+ .filter((block) => block.type === 'text' && typeof block.text === 'string')
185
+ .map((block) => block.text);
186
+ }
187
+ function arrayValue(value) {
188
+ return Array.isArray(value) ? value : [];
189
+ }
190
+ function isRecord(value) {
191
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
192
+ }
193
+ //# sourceMappingURL=split-prefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-prefix.js","sourceRoot":"","sources":["../../src/internal/split-prefix.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/ext-session-compaction",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Bounded verified session compaction and active-lineage recall for Felan",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -28,10 +28,10 @@
28
28
  "typebox": "1.1.38"
29
29
  },
30
30
  "peerDependencies": {
31
- "@felan-ai/agent-core": "^0.6.1"
31
+ "@felan-ai/agent-core": "^0.7.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@felan-ai/agent-core": "0.6.1"
34
+ "@felan-ai/agent-core": "0.7.0"
35
35
  },
36
36
  "publishConfig": {
37
37
  "access": "public",