context-lens 0.3.2 → 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/README.md +52 -16
- package/dist/analysis/ingest.d.ts +13 -0
- package/dist/analysis/ingest.d.ts.map +1 -0
- package/dist/analysis/ingest.js +75 -0
- package/dist/analysis/ingest.js.map +1 -0
- package/dist/analysis/server.d.ts +10 -0
- package/dist/analysis/server.d.ts.map +1 -0
- package/dist/analysis/server.js +95 -0
- package/dist/analysis/server.js.map +1 -0
- package/dist/analysis/watcher.d.ts +55 -0
- package/dist/analysis/watcher.d.ts.map +1 -0
- package/dist/analysis/watcher.js +170 -0
- package/dist/analysis/watcher.js.map +1 -0
- package/dist/cli-utils.d.ts +16 -0
- package/dist/cli-utils.d.ts.map +1 -1
- package/dist/cli-utils.js +185 -3
- package/dist/cli-utils.js.map +1 -1
- package/dist/cli.js +629 -88
- package/dist/cli.js.map +1 -1
- package/dist/core/conversation.d.ts +8 -1
- package/dist/core/conversation.d.ts.map +1 -1
- package/dist/core/conversation.js +38 -12
- package/dist/core/conversation.js.map +1 -1
- package/dist/core/parse.d.ts.map +1 -1
- package/dist/core/parse.js +17 -1
- package/dist/core/parse.js.map +1 -1
- package/dist/core/session-analysis.d.ts +100 -0
- package/dist/core/session-analysis.d.ts.map +1 -0
- package/dist/core/session-analysis.js +435 -0
- package/dist/core/session-analysis.js.map +1 -0
- package/dist/core/session-format.d.ts +20 -0
- package/dist/core/session-format.d.ts.map +1 -0
- package/dist/core/session-format.js +298 -0
- package/dist/core/session-format.js.map +1 -0
- package/dist/core.d.ts +4 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -1
- package/dist/lhar/reader.d.ts +22 -0
- package/dist/lhar/reader.d.ts.map +1 -0
- package/dist/lhar/reader.js +43 -0
- package/dist/lhar/reader.js.map +1 -0
- package/dist/lhar/record.d.ts.map +1 -1
- package/dist/lhar/record.js +3 -0
- package/dist/lhar/record.js.map +1 -1
- package/dist/lhar/response.d.ts +8 -0
- package/dist/lhar/response.d.ts.map +1 -1
- package/dist/lhar/response.js +44 -0
- package/dist/lhar/response.js.map +1 -1
- package/dist/lhar/tools.d.ts +17 -0
- package/dist/lhar/tools.d.ts.map +1 -0
- package/dist/lhar/tools.js +48 -0
- package/dist/lhar/tools.js.map +1 -0
- package/dist/lhar-types.generated.d.ts +34 -0
- package/dist/lhar-types.generated.d.ts.map +1 -1
- package/dist/lhar.d.ts +4 -1
- package/dist/lhar.d.ts.map +1 -1
- package/dist/lhar.js +5 -1
- package/dist/lhar.js.map +1 -1
- package/dist/proxy/capture.d.ts +40 -0
- package/dist/proxy/capture.d.ts.map +1 -0
- package/dist/proxy/capture.js +56 -0
- package/dist/proxy/capture.js.map +1 -0
- package/dist/proxy/config.d.ts +16 -0
- package/dist/proxy/config.d.ts.map +1 -0
- package/dist/proxy/config.js +34 -0
- package/dist/proxy/config.js.map +1 -0
- package/dist/proxy/forward.d.ts +20 -0
- package/dist/proxy/forward.d.ts.map +1 -0
- package/dist/proxy/forward.js +210 -0
- package/dist/proxy/forward.js.map +1 -0
- package/dist/proxy/headers.d.ts +16 -0
- package/dist/proxy/headers.d.ts.map +1 -0
- package/dist/proxy/headers.js +37 -0
- package/dist/proxy/headers.js.map +1 -0
- package/dist/proxy/routing.d.ts +44 -0
- package/dist/proxy/routing.d.ts.map +1 -0
- package/dist/proxy/routing.js +114 -0
- package/dist/proxy/routing.js.map +1 -0
- package/dist/proxy/server.d.ts +27 -0
- package/dist/proxy/server.d.ts.map +1 -0
- package/dist/proxy/server.js +55 -0
- package/dist/proxy/server.js.map +1 -0
- package/dist/schemas.d.ts +328 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +249 -0
- package/dist/schemas.js.map +1 -0
- package/dist/server/api.d.ts +3 -4
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +195 -220
- package/dist/server/api.js.map +1 -1
- package/dist/server/store.d.ts +23 -7
- package/dist/server/store.d.ts.map +1 -1
- package/dist/server/store.js +141 -50
- package/dist/server/store.js.map +1 -1
- package/dist/server/webui.d.ts +5 -2
- package/dist/server/webui.d.ts.map +1 -1
- package/dist/server/webui.js +32 -13
- package/dist/server/webui.js.map +1 -1
- package/dist/server-utils.d.ts +1 -2
- package/dist/server-utils.d.ts.map +1 -1
- package/dist/server-utils.js +0 -2
- package/dist/server-utils.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/mitm_addon.py +99 -28
- package/package.json +12 -5
- package/schema/lhar.schema.json +50 -0
- package/dist/server/config.d.ts +0 -13
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -36
- package/dist/server/config.js.map +0 -1
- package/dist/server/proxy.d.ts +0 -13
- package/dist/server/proxy.d.ts.map +0 -1
- package/dist/server/proxy.js +0 -218
- package/dist/server/proxy.js.map +0 -1
- package/dist/server/static.d.ts +0 -9
- package/dist/server/static.d.ts.map +0 -1
- package/dist/server/static.js +0 -78
- package/dist/server/static.js.map +0 -1
- package/dist/server.d.ts +0 -3
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -43
- package/dist/server.js.map +0 -1
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable formatting for session analysis results.
|
|
3
|
+
*
|
|
4
|
+
* Produces the text output for `context-lens analyze`.
|
|
5
|
+
*/
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Formatting helpers
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
export function fmtTokens(n) {
|
|
10
|
+
if (n >= 1_000_000)
|
|
11
|
+
return `${(n / 1_000_000).toFixed(1)}M`;
|
|
12
|
+
if (n >= 1_000)
|
|
13
|
+
return `${(n / 1_000).toFixed(1)}K`;
|
|
14
|
+
return String(n);
|
|
15
|
+
}
|
|
16
|
+
export function fmtCost(c) {
|
|
17
|
+
if (c === null || c === 0)
|
|
18
|
+
return "-";
|
|
19
|
+
if (c < 0.01)
|
|
20
|
+
return `$${c.toFixed(4)}`;
|
|
21
|
+
return `$${c.toFixed(2)}`;
|
|
22
|
+
}
|
|
23
|
+
export function shortModel(m) {
|
|
24
|
+
const replacements = {
|
|
25
|
+
"claude-opus-4-6": "opus-4.6",
|
|
26
|
+
"claude-sonnet-4-5-2025": "sonnet-4.5",
|
|
27
|
+
"claude-sonnet-4-2025": "sonnet-4",
|
|
28
|
+
"claude-haiku-4-5-2025": "haiku-4.5",
|
|
29
|
+
"claude-3-5-sonnet-2024": "sonnet-3.5",
|
|
30
|
+
"claude-3-5-haiku-2024": "haiku-3.5",
|
|
31
|
+
};
|
|
32
|
+
for (const [prefix, short] of Object.entries(replacements)) {
|
|
33
|
+
if (m.startsWith(prefix))
|
|
34
|
+
return short;
|
|
35
|
+
}
|
|
36
|
+
if (m.length > 25)
|
|
37
|
+
return `${m.slice(0, 22)}...`;
|
|
38
|
+
return m;
|
|
39
|
+
}
|
|
40
|
+
export function fmtDuration(ms) {
|
|
41
|
+
if (ms < 1_000)
|
|
42
|
+
return `${Math.round(ms)}ms`;
|
|
43
|
+
const secs = ms / 1_000;
|
|
44
|
+
if (secs < 60)
|
|
45
|
+
return `${secs.toFixed(1)}s`;
|
|
46
|
+
const mins = Math.floor(secs / 60);
|
|
47
|
+
const remainSecs = Math.round(secs % 60);
|
|
48
|
+
if (mins < 60)
|
|
49
|
+
return `${mins}m ${remainSecs}s`;
|
|
50
|
+
const hrs = Math.floor(mins / 60);
|
|
51
|
+
const remainMins = mins % 60;
|
|
52
|
+
return `${hrs}h ${remainMins}m`;
|
|
53
|
+
}
|
|
54
|
+
function pad(s, width, right = false) {
|
|
55
|
+
if (right)
|
|
56
|
+
return s.padStart(width);
|
|
57
|
+
return s.padEnd(width);
|
|
58
|
+
}
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// Composition table
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
function formatComposition(composition, indent) {
|
|
63
|
+
if (composition.length === 0)
|
|
64
|
+
return [`${indent}(no composition data)`];
|
|
65
|
+
const total = composition.reduce((s, c) => s + c.tokens, 0);
|
|
66
|
+
const lines = [];
|
|
67
|
+
lines.push(`${indent}${pad("Category", 22)} ${pad("Tokens", 10, true)} ${pad("%", 7, true)} ${pad("Count", 6, true)}`);
|
|
68
|
+
lines.push(`${indent}${"-".repeat(48)}`);
|
|
69
|
+
const sorted = [...composition].sort((a, b) => b.tokens - a.tokens);
|
|
70
|
+
for (const c of sorted) {
|
|
71
|
+
if (c.tokens === 0)
|
|
72
|
+
continue;
|
|
73
|
+
const pct = c.pct || (total > 0 ? Math.round((c.tokens / total) * 1000) / 10 : 0);
|
|
74
|
+
lines.push(`${indent}${pad(c.category, 22)} ${pad(fmtTokens(c.tokens), 10, true)} ${pad(`${pct.toFixed(1)}%`, 7, true)} ${pad(String(c.count), 6, true)}`);
|
|
75
|
+
}
|
|
76
|
+
return lines;
|
|
77
|
+
}
|
|
78
|
+
export function formatSessionAnalysis(a, opts = {}) {
|
|
79
|
+
const { showPath = true, composition: compositionArg } = opts;
|
|
80
|
+
const lines = [];
|
|
81
|
+
// Header
|
|
82
|
+
lines.push("=".repeat(70));
|
|
83
|
+
lines.push(`SESSION ANALYSIS: ${a.filename}`);
|
|
84
|
+
lines.push("=".repeat(70));
|
|
85
|
+
lines.push(` Tool: ${a.tool}`);
|
|
86
|
+
lines.push(` Primary model: ${a.primaryModel}`);
|
|
87
|
+
lines.push(` Started: ${a.startedAt}`);
|
|
88
|
+
lines.push(` Total entries: ${a.totalEntries} (${a.mainEntries} main, ${a.subagentEntries} subagent)`);
|
|
89
|
+
lines.push(` User turns: ${a.userTurns.length}`);
|
|
90
|
+
lines.push(` Compactions: ${a.compactions.length}`);
|
|
91
|
+
lines.push(` Total cost: ${fmtCost(a.totalCostUsd)}`);
|
|
92
|
+
if (a.timing.wallTimeMs > 0) {
|
|
93
|
+
lines.push(` Wall time: ${fmtDuration(a.timing.wallTimeMs)}`);
|
|
94
|
+
}
|
|
95
|
+
if (a.cache.totalCacheReadTokens > 0 || a.cache.totalCacheWriteTokens > 0) {
|
|
96
|
+
lines.push(` Cache hit rate: ${(a.cache.cacheHitRate * 100).toFixed(1)}%`);
|
|
97
|
+
}
|
|
98
|
+
lines.push("");
|
|
99
|
+
// Context timeline
|
|
100
|
+
lines.push("CONTEXT TIMELINE (cumulative tokens per entry)");
|
|
101
|
+
lines.push("-".repeat(70));
|
|
102
|
+
if (a.contextTimeline.length > 0) {
|
|
103
|
+
const maxTok = Math.max(...a.contextTimeline.map((t) => t[1]));
|
|
104
|
+
const width = 50;
|
|
105
|
+
const compactionIndices = new Set(a.compactions.map((c) => c.entryIndex));
|
|
106
|
+
for (const [entryIdx, tokens] of a.contextTimeline) {
|
|
107
|
+
const barLen = maxTok > 0 ? Math.floor((tokens / maxTok) * width) : 0;
|
|
108
|
+
const bar = "\u2588".repeat(barLen);
|
|
109
|
+
const marker = compactionIndices.has(entryIdx) ? " << COMPACTION" : "";
|
|
110
|
+
lines.push(` #${pad(String(entryIdx), 3, true)} ${pad(fmtTokens(tokens), 8, true)} |${bar}${marker}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
lines.push("");
|
|
114
|
+
// Compaction events
|
|
115
|
+
if (a.compactions.length > 0) {
|
|
116
|
+
lines.push(`COMPACTION EVENTS (${a.compactions.length} total)`);
|
|
117
|
+
lines.push("-".repeat(70));
|
|
118
|
+
lines.push(` ${pad("#", 4, true)} ${pad("Entry", 6, true)} ${pad("Seq", 5, true)} ${pad("Before", 10, true)} ${pad("After", 10, true)} ${pad("Lost", 10, true)} ${pad("%", 7, true)}`);
|
|
119
|
+
for (let i = 0; i < a.compactions.length; i++) {
|
|
120
|
+
const c = a.compactions[i];
|
|
121
|
+
lines.push(` ${pad(String(i + 1), 4, true)} ${pad(String(c.entryIndex), 6, true)} ${pad(String(c.sequence), 5, true)} ${pad(fmtTokens(c.beforeTokens), 10, true)} ${pad(fmtTokens(c.afterTokens), 10, true)} ${pad(fmtTokens(c.tokensLost), 10, true)} ${pad(`${c.pctLost.toFixed(1)}%`, 7, true)}`);
|
|
122
|
+
}
|
|
123
|
+
lines.push("");
|
|
124
|
+
}
|
|
125
|
+
// Growth blocks
|
|
126
|
+
if (a.growthBlocks.length > 0) {
|
|
127
|
+
lines.push(`GROWTH BLOCKS (${a.growthBlocks.length} contiguous increasing stretches)`);
|
|
128
|
+
lines.push("-".repeat(70));
|
|
129
|
+
const interesting = a.growthBlocks.filter((b) => b.numEntries > 1);
|
|
130
|
+
if (interesting.length > 0) {
|
|
131
|
+
lines.push(` ${pad("#", 4, true)} ${pad("Entries", 8, true)} ${pad("Start", 10, true)} ${pad("End", 10, true)} ${pad("Gained", 10, true)} ${pad("Rate/turn", 12, true)}`);
|
|
132
|
+
for (let i = 0; i < interesting.length; i++) {
|
|
133
|
+
const b = interesting[i];
|
|
134
|
+
lines.push(` ${pad(String(i + 1), 4, true)} ${pad(String(b.numEntries), 8, true)} ${pad(fmtTokens(b.startTokens), 10, true)} ${pad(fmtTokens(b.endTokens), 10, true)} ${pad(fmtTokens(b.tokensGained), 10, true)} ${pad(`${fmtTokens(Math.round(b.ratePerTurn))}/t`, 10, true)}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
lines.push(" (no multi-entry growth blocks; context fluctuates rapidly)");
|
|
139
|
+
}
|
|
140
|
+
lines.push("");
|
|
141
|
+
}
|
|
142
|
+
// User turns
|
|
143
|
+
if (a.userTurns.length > 0) {
|
|
144
|
+
lines.push(`USER TURNS (${a.userTurns.length} turns)`);
|
|
145
|
+
lines.push("-".repeat(70));
|
|
146
|
+
lines.push(` ${pad("Turn", 5, true)} ${pad("Calls", 6, true)} ${pad("Models", 25, true)} ${pad("Peak ctx", 10, true)} ${pad("Cost", 10, true)} ${pad("Compactions", 12, true)}`);
|
|
147
|
+
for (const t of a.userTurns) {
|
|
148
|
+
let modelsStr = t.modelsUsed.map(shortModel).join(", ");
|
|
149
|
+
if (modelsStr.length > 25)
|
|
150
|
+
modelsStr = `${modelsStr.slice(0, 22)}...`;
|
|
151
|
+
lines.push(` ${pad(String(t.turnNumber), 5, true)} ${pad(String(t.numApiCalls), 6, true)} ${pad(modelsStr, 25, true)} ${pad(fmtTokens(t.peakContextTokens), 10, true)} ${pad(fmtCost(t.totalCost), 10, true)} ${pad(String(t.compactionsInTurn), 12, true)}`);
|
|
152
|
+
}
|
|
153
|
+
lines.push("");
|
|
154
|
+
}
|
|
155
|
+
// Agent path trace
|
|
156
|
+
if (showPath && a.agentPaths.length > 0) {
|
|
157
|
+
lines.push("AGENT PATH TRACE");
|
|
158
|
+
lines.push("-".repeat(70));
|
|
159
|
+
for (let turnIdx = 0; turnIdx < a.agentPaths.length; turnIdx++) {
|
|
160
|
+
const path = a.agentPaths[turnIdx];
|
|
161
|
+
const turn = a.userTurns[turnIdx];
|
|
162
|
+
const label = turn ? `Turn ${turn.turnNumber}` : `Turn ${turnIdx + 1}`;
|
|
163
|
+
lines.push("");
|
|
164
|
+
lines.push(` ${label}:`);
|
|
165
|
+
for (const step of path) {
|
|
166
|
+
const m = shortModel(step.model);
|
|
167
|
+
const roleTag = step.agentRole ? `[${step.agentRole}]` : "";
|
|
168
|
+
const cost = fmtCost(step.costUsd);
|
|
169
|
+
const ctx = fmtTokens(step.contextTokens);
|
|
170
|
+
if (step.action === "compaction") {
|
|
171
|
+
lines.push(` seq=${pad(String(step.sequence), 3, true)} ${pad(roleTag, 12)} ${pad(m, 18)} !! COMPACTION ctx=${ctx}`);
|
|
172
|
+
}
|
|
173
|
+
else if (step.action === "tool_use") {
|
|
174
|
+
lines.push(` seq=${pad(String(step.sequence), 3, true)} ${pad(roleTag, 12)} ${pad(m, 18)} -> tool_use ctx=${ctx} cost=${cost}`);
|
|
175
|
+
}
|
|
176
|
+
else if (step.action === "end_turn") {
|
|
177
|
+
lines.push(` seq=${pad(String(step.sequence), 3, true)} ${pad(roleTag, 12)} ${pad(m, 18)} => end_turn ctx=${ctx} cost=${cost}`);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
lines.push(` seq=${pad(String(step.sequence), 3, true)} ${pad(roleTag, 12)} ${pad(m, 18)} ${pad(step.action, 14)} ctx=${ctx} cost=${cost}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
lines.push("");
|
|
185
|
+
}
|
|
186
|
+
// Composition breakdowns
|
|
187
|
+
let showLast = true;
|
|
188
|
+
let showPreCompaction = false;
|
|
189
|
+
let specificTurn = null;
|
|
190
|
+
if (compositionArg) {
|
|
191
|
+
if (compositionArg === "last") {
|
|
192
|
+
showLast = true;
|
|
193
|
+
}
|
|
194
|
+
else if (compositionArg === "pre-compaction") {
|
|
195
|
+
showPreCompaction = true;
|
|
196
|
+
showLast = false;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const parsed = parseInt(compositionArg, 10);
|
|
200
|
+
if (!isNaN(parsed)) {
|
|
201
|
+
specificTurn = parsed;
|
|
202
|
+
showLast = false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (showLast) {
|
|
207
|
+
lines.push("COMPOSITION (last entry)");
|
|
208
|
+
lines.push("-".repeat(70));
|
|
209
|
+
lines.push(...formatComposition(a.compositionLast, " "));
|
|
210
|
+
lines.push("");
|
|
211
|
+
}
|
|
212
|
+
if (showPreCompaction && a.compositionsPreCompaction.length > 0) {
|
|
213
|
+
lines.push(`COMPOSITION BEFORE COMPACTIONS (${a.compositionsPreCompaction.length} snapshots)`);
|
|
214
|
+
lines.push("-".repeat(70));
|
|
215
|
+
for (const [entryIdx, comp] of a.compositionsPreCompaction) {
|
|
216
|
+
lines.push(` Entry #${entryIdx}:`);
|
|
217
|
+
lines.push(...formatComposition(comp, " "));
|
|
218
|
+
lines.push("");
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (specificTurn !== null && opts.entries) {
|
|
222
|
+
if (specificTurn > 0 && specificTurn <= a.userTurns.length) {
|
|
223
|
+
const turn = a.userTurns[specificTurn - 1];
|
|
224
|
+
const entryIdx = Math.min(turn.endEntryIndex, opts.entries.length - 1);
|
|
225
|
+
const entry = opts.entries[entryIdx];
|
|
226
|
+
if (entry) {
|
|
227
|
+
lines.push(`COMPOSITION (turn ${specificTurn}, entry #${entryIdx})`);
|
|
228
|
+
lines.push("-".repeat(70));
|
|
229
|
+
lines.push(...formatComposition(entry.context_lens.composition, " "));
|
|
230
|
+
lines.push("");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
lines.push(`Turn ${specificTurn} is out of range (session has ${a.userTurns.length} turns)`);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// Summary statistics
|
|
238
|
+
lines.push("SUMMARY STATISTICS");
|
|
239
|
+
lines.push("-".repeat(70));
|
|
240
|
+
if (a.contextTimeline.length > 0) {
|
|
241
|
+
const tokensList = a.contextTimeline.map((t) => t[1]);
|
|
242
|
+
lines.push(` Peak context: ${fmtTokens(Math.max(...tokensList))}`);
|
|
243
|
+
lines.push(` Final context: ${fmtTokens(tokensList[tokensList.length - 1])}`);
|
|
244
|
+
const rates = a.growthBlocks
|
|
245
|
+
.filter((b) => b.numEntries > 1 && b.ratePerTurn > 0)
|
|
246
|
+
.map((b) => b.ratePerTurn);
|
|
247
|
+
if (rates.length > 0) {
|
|
248
|
+
const avg = rates.reduce((s, r) => s + r, 0) / rates.length;
|
|
249
|
+
lines.push(` Avg growth rate: ${fmtTokens(Math.round(avg))}/turn (across ${rates.length} growth blocks)`);
|
|
250
|
+
lines.push(` Max growth rate: ${fmtTokens(Math.round(Math.max(...rates)))}/turn`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (a.compactions.length > 0) {
|
|
254
|
+
const totalLost = a.compactions.reduce((s, c) => s + c.tokensLost, 0);
|
|
255
|
+
lines.push(` Total tokens compacted:${fmtTokens(totalLost)}`);
|
|
256
|
+
const avgPct = a.compactions.reduce((s, c) => s + c.pctLost, 0) / a.compactions.length;
|
|
257
|
+
lines.push(` Avg compaction size: ${avgPct.toFixed(1)}% of context`);
|
|
258
|
+
}
|
|
259
|
+
if (a.userTurns.length > 0) {
|
|
260
|
+
const callsPerTurn = a.userTurns.map((t) => t.numApiCalls);
|
|
261
|
+
const avg = callsPerTurn.reduce((s, c) => s + c, 0) / callsPerTurn.length;
|
|
262
|
+
lines.push(` Avg API calls/turn: ${avg.toFixed(1)}`);
|
|
263
|
+
}
|
|
264
|
+
lines.push("");
|
|
265
|
+
// Timing stats
|
|
266
|
+
const t = a.timing;
|
|
267
|
+
if (t.wallTimeMs > 0 || t.totalApiTimeMs > 0) {
|
|
268
|
+
lines.push("TIMING");
|
|
269
|
+
lines.push("-".repeat(70));
|
|
270
|
+
if (t.wallTimeMs > 0) {
|
|
271
|
+
lines.push(` Wall time: ${fmtDuration(t.wallTimeMs)}`);
|
|
272
|
+
}
|
|
273
|
+
if (t.totalApiTimeMs > 0) {
|
|
274
|
+
lines.push(` Total API time: ${fmtDuration(t.totalApiTimeMs)}`);
|
|
275
|
+
lines.push(` Median API call: ${fmtDuration(t.medianApiTimeMs)}`);
|
|
276
|
+
}
|
|
277
|
+
if (t.medianTokensPerSecond != null) {
|
|
278
|
+
lines.push(` Median tok/s (output): ${t.medianTokensPerSecond.toFixed(1)}`);
|
|
279
|
+
}
|
|
280
|
+
if (t.totalInputTokens > 0 || t.totalOutputTokens > 0) {
|
|
281
|
+
lines.push(` Total input tokens: ${fmtTokens(t.totalInputTokens)}`);
|
|
282
|
+
lines.push(` Total output tokens: ${fmtTokens(t.totalOutputTokens)}`);
|
|
283
|
+
}
|
|
284
|
+
lines.push("");
|
|
285
|
+
}
|
|
286
|
+
// Cache stats
|
|
287
|
+
const c = a.cache;
|
|
288
|
+
if (c.totalCacheReadTokens > 0 || c.totalCacheWriteTokens > 0) {
|
|
289
|
+
lines.push("CACHE");
|
|
290
|
+
lines.push("-".repeat(70));
|
|
291
|
+
lines.push(` Cache read tokens: ${fmtTokens(c.totalCacheReadTokens)}`);
|
|
292
|
+
lines.push(` Cache write tokens: ${fmtTokens(c.totalCacheWriteTokens)}`);
|
|
293
|
+
lines.push(` Cache hit rate: ${(c.cacheHitRate * 100).toFixed(1)}%`);
|
|
294
|
+
lines.push("");
|
|
295
|
+
}
|
|
296
|
+
return lines.join("\n");
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=session-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-format.js","sourceRoot":"","sources":["../../src/core/session-format.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export { estimateCost, getContextLimit, } from "./core/models.js";
|
|
|
10
10
|
export { parseContextInfo } from "./core/parse.js";
|
|
11
11
|
export { detectApiFormat, detectProvider, extractSource, resolveTargetUrl, } from "./core/routing.js";
|
|
12
12
|
export { scanSecurity } from "./core/security.js";
|
|
13
|
+
export type { AgentPathStep, AnalyzeOptions, CacheStats, CompactionEvent, GrowthBlock, SessionAnalysis, TimingStats, UserTurn, } from "./core/session-analysis.js";
|
|
14
|
+
export { analyzeSession, buildAgentPaths, findCompactions, findGrowthBlocks, identifyUserTurns, } from "./core/session-analysis.js";
|
|
15
|
+
export type { FormatOptions } from "./core/session-format.js";
|
|
16
|
+
export { fmtCost, fmtDuration, fmtTokens, formatSessionAnalysis, shortModel, } from "./core/session-format.js";
|
|
13
17
|
export { detectSource } from "./core/source.js";
|
|
14
18
|
export { estimateTokens, rescaleContextTokens } from "./core/tokens.js";
|
|
15
19
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/core.js
CHANGED
|
@@ -10,6 +10,8 @@ export { estimateCost, getContextLimit, } from "./core/models.js";
|
|
|
10
10
|
export { parseContextInfo } from "./core/parse.js";
|
|
11
11
|
export { detectApiFormat, detectProvider, extractSource, resolveTargetUrl, } from "./core/routing.js";
|
|
12
12
|
export { scanSecurity } from "./core/security.js";
|
|
13
|
+
export { analyzeSession, buildAgentPaths, findCompactions, findGrowthBlocks, identifyUserTurns, } from "./core/session-analysis.js";
|
|
14
|
+
export { fmtCost, fmtDuration, fmtTokens, formatSessionAnalysis, shortModel, } from "./core/session-format.js";
|
|
13
15
|
export { detectSource } from "./core/source.js";
|
|
14
16
|
export { estimateTokens, rescaleContextTokens } from "./core/tokens.js";
|
|
15
17
|
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWlD,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LHAR file reader: parses .lhar (JSONL) files into typed records.
|
|
3
|
+
*/
|
|
4
|
+
import type { LharRecord, LharSessionLine } from "../lhar-types.generated.js";
|
|
5
|
+
export interface ParsedLhar {
|
|
6
|
+
session: LharSessionLine | null;
|
|
7
|
+
entries: LharRecord[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Parse an LHAR file (JSONL format) into a session header and entry records.
|
|
11
|
+
*
|
|
12
|
+
* Skips blank lines and lines that don't parse as valid JSON.
|
|
13
|
+
* The first `{"type":"session",...}` line becomes the session header;
|
|
14
|
+
* all `{"type":"entry",...}` lines become entries.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readLharFile(filepath: string): ParsedLhar;
|
|
17
|
+
/**
|
|
18
|
+
* Parse LHAR content (JSONL string) without file I/O.
|
|
19
|
+
* Useful for testing and for piped input.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseLharContent(content: string): ParsedLhar;
|
|
22
|
+
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/lhar/reader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAGzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAuB5D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LHAR file reader: parses .lhar (JSONL) files into typed records.
|
|
3
|
+
*/
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
/**
|
|
6
|
+
* Parse an LHAR file (JSONL format) into a session header and entry records.
|
|
7
|
+
*
|
|
8
|
+
* Skips blank lines and lines that don't parse as valid JSON.
|
|
9
|
+
* The first `{"type":"session",...}` line becomes the session header;
|
|
10
|
+
* all `{"type":"entry",...}` lines become entries.
|
|
11
|
+
*/
|
|
12
|
+
export function readLharFile(filepath) {
|
|
13
|
+
const content = fs.readFileSync(filepath, "utf8");
|
|
14
|
+
return parseLharContent(content);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parse LHAR content (JSONL string) without file I/O.
|
|
18
|
+
* Useful for testing and for piped input.
|
|
19
|
+
*/
|
|
20
|
+
export function parseLharContent(content) {
|
|
21
|
+
let session = null;
|
|
22
|
+
const entries = [];
|
|
23
|
+
for (const line of content.split("\n")) {
|
|
24
|
+
const trimmed = line.trim();
|
|
25
|
+
if (!trimmed)
|
|
26
|
+
continue;
|
|
27
|
+
let rec;
|
|
28
|
+
try {
|
|
29
|
+
rec = JSON.parse(trimmed);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (rec.type === "session") {
|
|
35
|
+
session = rec;
|
|
36
|
+
}
|
|
37
|
+
else if (rec.type === "entry") {
|
|
38
|
+
entries.push(rec);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return { session, entries };
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/lhar/reader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAQzB;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,GAA2B,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,IAAI,GAA4B,CAAC;QACjC,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,GAAG,GAAiC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,GAA4B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/lhar/record.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/lhar/record.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa7E,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI7E;AA2BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,aAAa,EAAE,EAC5B,OAAO,GAAE,YAAyB,GACjC,UAAU,CAuMZ;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,eAAe,CAQjB"}
|
package/dist/lhar/record.js
CHANGED
|
@@ -3,6 +3,7 @@ import { redactHeaders } from "../http/headers.js";
|
|
|
3
3
|
import { VERSION } from "../version.generated.js";
|
|
4
4
|
import { analyzeComposition } from "./composition.js";
|
|
5
5
|
import { parseResponseUsage } from "./response.js";
|
|
6
|
+
import { extractToolCalls, extractToolDefinitions } from "./tools.js";
|
|
6
7
|
const COLLECTOR_NAME = "context-lens";
|
|
7
8
|
const COLLECTOR_VERSION = VERSION;
|
|
8
9
|
function hexId(bytes) {
|
|
@@ -175,6 +176,8 @@ export function buildLharRecord(entry, prevEntries, privacy = "standard") {
|
|
|
175
176
|
tools_tokens: ci.toolsTokens,
|
|
176
177
|
messages_tokens: ci.messagesTokens,
|
|
177
178
|
composition,
|
|
179
|
+
tool_definitions: extractToolDefinitions(ci),
|
|
180
|
+
tool_calls: extractToolCalls(ci),
|
|
178
181
|
growth: {
|
|
179
182
|
tokens_added_this_turn: tokensAdded,
|
|
180
183
|
cumulative_tokens: ci.totalTokens,
|
package/dist/lhar/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/lhar/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/lhar/record.ts"],"names":[],"mappings":"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"}
|
package/dist/lhar/response.d.ts
CHANGED
|
@@ -7,5 +7,13 @@ export interface ParsedResponseUsage {
|
|
|
7
7
|
finishReasons: string[];
|
|
8
8
|
stream: boolean;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Extract the response ID from a response object.
|
|
12
|
+
*
|
|
13
|
+
* Works for both non-streaming (direct JSON) and streaming (SSE chunks)
|
|
14
|
+
* responses. For streaming, scans for `response.completed` or
|
|
15
|
+
* `response.created` SSE events that carry the response object with its ID.
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractResponseId(responseData: any): string | null;
|
|
10
18
|
export declare function parseResponseUsage(responseData: any): ParsedResponseUsage;
|
|
11
19
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/lhar/response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,GAAG,GAAG,mBAAmB,CAoEzE"}
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/lhar/response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAiClE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,GAAG,GAAG,mBAAmB,CAoEzE"}
|
package/dist/lhar/response.js
CHANGED
|
@@ -1,3 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract the response ID from a response object.
|
|
3
|
+
*
|
|
4
|
+
* Works for both non-streaming (direct JSON) and streaming (SSE chunks)
|
|
5
|
+
* responses. For streaming, scans for `response.completed` or
|
|
6
|
+
* `response.created` SSE events that carry the response object with its ID.
|
|
7
|
+
*/
|
|
8
|
+
export function extractResponseId(responseData) {
|
|
9
|
+
if (!responseData)
|
|
10
|
+
return null;
|
|
11
|
+
// Non-streaming: direct JSON response with id field
|
|
12
|
+
if (responseData.id)
|
|
13
|
+
return responseData.id;
|
|
14
|
+
if (responseData.response_id)
|
|
15
|
+
return responseData.response_id;
|
|
16
|
+
// Streaming: scan SSE chunks for response events
|
|
17
|
+
if (responseData.streaming && typeof responseData.chunks === "string") {
|
|
18
|
+
const lines = responseData.chunks.split("\n");
|
|
19
|
+
for (const line of lines) {
|
|
20
|
+
if (!line.startsWith("data: "))
|
|
21
|
+
continue;
|
|
22
|
+
const data = line.slice(6).trim();
|
|
23
|
+
if (data === "[DONE]")
|
|
24
|
+
continue;
|
|
25
|
+
try {
|
|
26
|
+
const parsed = JSON.parse(data);
|
|
27
|
+
// OpenAI Responses API: response.completed / response.created events
|
|
28
|
+
// carry the full response object including its id
|
|
29
|
+
if (parsed.response?.id)
|
|
30
|
+
return parsed.response.id;
|
|
31
|
+
// Direct id on the event object (some streaming formats)
|
|
32
|
+
if (parsed.type === "response.completed" ||
|
|
33
|
+
parsed.type === "response.created") {
|
|
34
|
+
if (parsed.id)
|
|
35
|
+
return parsed.id;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Skip unparseable lines
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
1
45
|
export function parseResponseUsage(responseData) {
|
|
2
46
|
const result = {
|
|
3
47
|
inputTokens: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/lhar/response.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/lhar/response.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ToolCallEntry, ToolDefinitionEntry } from "../lhar-types.generated.js";
|
|
2
|
+
import type { ContextInfo } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Extract structured tool definition summaries from a ContextInfo.
|
|
5
|
+
*
|
|
6
|
+
* Returns one entry per tool schema available to the model, with name and
|
|
7
|
+
* description only (no full input_schema, keeping the LHAR lightweight).
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractToolDefinitions(contextInfo: ContextInfo): ToolDefinitionEntry[];
|
|
10
|
+
/**
|
|
11
|
+
* Extract structured tool call entries from a ContextInfo's parsed messages.
|
|
12
|
+
*
|
|
13
|
+
* Scans contentBlocks for tool_use blocks and returns each invocation with
|
|
14
|
+
* its name, call ID, and arguments.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractToolCalls(contextInfo: ContextInfo): ToolCallEntry[];
|
|
17
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lhar/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAiB,WAAW,EAAc,MAAM,aAAa,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,GACvB,mBAAmB,EAAE,CAiBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,EAAE,CAe1E"}
|