@roberttlange/agentlens 0.1.0 → 0.2.0
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/main.js +312 -98
- package/dist/main.js.map +1 -1
- package/dist/main.test.js +131 -0
- package/dist/main.test.js.map +1 -1
- package/node_modules/@agentlens/contracts/dist/index.d.ts +45 -1
- package/node_modules/@agentlens/core/dist/__tests__/config.test.js +46 -1
- package/node_modules/@agentlens/core/dist/__tests__/config.test.js.map +1 -1
- package/node_modules/@agentlens/core/dist/__tests__/index.test.js +209 -1
- package/node_modules/@agentlens/core/dist/__tests__/index.test.js.map +1 -1
- package/node_modules/@agentlens/core/dist/config.js +16 -2
- package/node_modules/@agentlens/core/dist/config.js.map +1 -1
- package/node_modules/@agentlens/core/dist/discovery.js +9 -0
- package/node_modules/@agentlens/core/dist/discovery.js.map +1 -1
- package/node_modules/@agentlens/core/dist/metrics.js +66 -0
- package/node_modules/@agentlens/core/dist/metrics.js.map +1 -1
- package/node_modules/@agentlens/core/dist/parsers/index.js +2 -0
- package/node_modules/@agentlens/core/dist/parsers/index.js.map +1 -1
- package/node_modules/@agentlens/core/dist/parsers/pi.d.ts +8 -0
- package/node_modules/@agentlens/core/dist/parsers/pi.js +285 -0
- package/node_modules/@agentlens/core/dist/parsers/pi.js.map +1 -0
- package/node_modules/@agentlens/core/dist/parsers/pi.test.d.ts +1 -0
- package/node_modules/@agentlens/core/dist/parsers/pi.test.js +162 -0
- package/node_modules/@agentlens/core/dist/parsers/pi.test.js.map +1 -0
- package/node_modules/@agentlens/core/dist/sourceProfiles.js +14 -4
- package/node_modules/@agentlens/core/dist/sourceProfiles.js.map +1 -1
- package/node_modules/@agentlens/core/dist/traceIndex.js +13 -2
- package/node_modules/@agentlens/core/dist/traceIndex.js.map +1 -1
- package/node_modules/@agentlens/server/dist/activity.d.ts +20 -0
- package/node_modules/@agentlens/server/dist/activity.js +396 -0
- package/node_modules/@agentlens/server/dist/activity.js.map +1 -0
- package/node_modules/@agentlens/server/dist/app.d.ts +2 -1
- package/node_modules/@agentlens/server/dist/app.js +190 -17
- package/node_modules/@agentlens/server/dist/app.js.map +1 -1
- package/node_modules/@agentlens/server/dist/app.test.js +338 -2
- package/node_modules/@agentlens/server/dist/app.test.js.map +1 -1
- package/node_modules/@agentlens/server/dist/web/assets/index-BzsxAylL.js +52 -0
- package/node_modules/@agentlens/server/dist/web/assets/index-P7-_d86N.css +1 -0
- package/node_modules/@agentlens/server/dist/web/icons/pi.png +0 -0
- package/node_modules/@agentlens/server/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/node_modules/@agentlens/server/dist/web/assets/index-B9pmgl04.js +0 -52
- package/node_modules/@agentlens/server/dist/web/assets/index-Dwy5TIZL.css +0 -1
- package/node_modules/@agentlens/server/dist/web/favicon.svg +0 -37
- package/node_modules/@agentlens/server/dist/web/icons/cursor.svg +0 -5
- package/node_modules/@agentlens/server/dist/web/icons/gemini.jpeg +0 -0
package/dist/main.test.js
CHANGED
|
@@ -53,6 +53,42 @@ function buildFixtureConfig(codexSessionsRoot) {
|
|
|
53
53
|
maxDepth: 8,
|
|
54
54
|
agentHint: "claude",
|
|
55
55
|
},
|
|
56
|
+
cursor_agent_transcripts: {
|
|
57
|
+
name: "cursor_agent_transcripts",
|
|
58
|
+
enabled: false,
|
|
59
|
+
roots: [],
|
|
60
|
+
includeGlobs: ["**/agent-transcripts/*.txt", "**/agent-transcripts/*.jsonl"],
|
|
61
|
+
excludeGlobs: [],
|
|
62
|
+
maxDepth: 8,
|
|
63
|
+
agentHint: "cursor",
|
|
64
|
+
},
|
|
65
|
+
opencode_storage_session: {
|
|
66
|
+
name: "opencode_storage_session",
|
|
67
|
+
enabled: false,
|
|
68
|
+
roots: [],
|
|
69
|
+
includeGlobs: ["**/*.json"],
|
|
70
|
+
excludeGlobs: [],
|
|
71
|
+
maxDepth: 8,
|
|
72
|
+
agentHint: "opencode",
|
|
73
|
+
},
|
|
74
|
+
gemini_tmp: {
|
|
75
|
+
name: "gemini_tmp",
|
|
76
|
+
enabled: false,
|
|
77
|
+
roots: [],
|
|
78
|
+
includeGlobs: ["**/chats/session-*.json", "**/*.jsonl"],
|
|
79
|
+
excludeGlobs: [],
|
|
80
|
+
maxDepth: 8,
|
|
81
|
+
agentHint: "gemini",
|
|
82
|
+
},
|
|
83
|
+
pi_agent_sessions: {
|
|
84
|
+
name: "pi_agent_sessions",
|
|
85
|
+
enabled: false,
|
|
86
|
+
roots: [],
|
|
87
|
+
includeGlobs: ["**/*.jsonl"],
|
|
88
|
+
excludeGlobs: [],
|
|
89
|
+
maxDepth: 8,
|
|
90
|
+
agentHint: "pi",
|
|
91
|
+
},
|
|
56
92
|
},
|
|
57
93
|
});
|
|
58
94
|
}
|
|
@@ -155,6 +191,70 @@ async function buildEmptyFixture() {
|
|
|
155
191
|
await saveConfig(config, configPath);
|
|
156
192
|
return { configPath };
|
|
157
193
|
}
|
|
194
|
+
async function buildManySessionsFixture(count) {
|
|
195
|
+
const root = await mkdtemp(path.join(os.tmpdir(), "agentlens-cli-many-"));
|
|
196
|
+
const codexRoot = path.join(root, ".codex", "sessions", "2026", "02", "11");
|
|
197
|
+
await mkdir(codexRoot, { recursive: true });
|
|
198
|
+
const now = Date.now();
|
|
199
|
+
for (let index = 0; index < count; index += 1) {
|
|
200
|
+
const sessionId = `cli-many-${String(index).padStart(3, "0")}`;
|
|
201
|
+
const timestamp = new Date(now - index * 60_000).toISOString();
|
|
202
|
+
await writeFile(path.join(codexRoot, `${sessionId}.jsonl`), [
|
|
203
|
+
JSON.stringify({
|
|
204
|
+
timestamp,
|
|
205
|
+
type: "session_meta",
|
|
206
|
+
payload: { id: sessionId, cwd: "/tmp/proj", cli_version: "0.1.0" },
|
|
207
|
+
}),
|
|
208
|
+
JSON.stringify({
|
|
209
|
+
timestamp,
|
|
210
|
+
type: "response_item",
|
|
211
|
+
payload: {
|
|
212
|
+
type: "message",
|
|
213
|
+
role: "user",
|
|
214
|
+
content: [{ type: "input_text", text: `hello ${index}` }],
|
|
215
|
+
},
|
|
216
|
+
}),
|
|
217
|
+
].join("\n"), "utf8");
|
|
218
|
+
}
|
|
219
|
+
const config = buildFixtureConfig(path.join(root, ".codex", "sessions"));
|
|
220
|
+
const configPath = path.join(root, "config.toml");
|
|
221
|
+
await saveConfig(config, configPath);
|
|
222
|
+
return { configPath };
|
|
223
|
+
}
|
|
224
|
+
async function buildRecencyFixture() {
|
|
225
|
+
const root = await mkdtemp(path.join(os.tmpdir(), "agentlens-cli-recency-"));
|
|
226
|
+
const codexRoot = path.join(root, ".codex", "sessions", "2026", "02", "11");
|
|
227
|
+
await mkdir(codexRoot, { recursive: true });
|
|
228
|
+
const now = Date.now();
|
|
229
|
+
const rows = [
|
|
230
|
+
{ sessionId: "cli-recency-today", timestampMs: now - 2 * 60 * 60 * 1000 },
|
|
231
|
+
{ sessionId: "cli-recency-week", timestampMs: now - 2 * 24 * 60 * 60 * 1000 },
|
|
232
|
+
{ sessionId: "cli-recency-old", timestampMs: now - 10 * 24 * 60 * 60 * 1000 },
|
|
233
|
+
];
|
|
234
|
+
for (const row of rows) {
|
|
235
|
+
const timestamp = new Date(row.timestampMs).toISOString();
|
|
236
|
+
await writeFile(path.join(codexRoot, `${row.sessionId}.jsonl`), [
|
|
237
|
+
JSON.stringify({
|
|
238
|
+
timestamp,
|
|
239
|
+
type: "session_meta",
|
|
240
|
+
payload: { id: row.sessionId, cwd: "/tmp/proj", cli_version: "0.1.0" },
|
|
241
|
+
}),
|
|
242
|
+
JSON.stringify({
|
|
243
|
+
timestamp,
|
|
244
|
+
type: "response_item",
|
|
245
|
+
payload: {
|
|
246
|
+
type: "message",
|
|
247
|
+
role: "user",
|
|
248
|
+
content: [{ type: "input_text", text: `message ${row.sessionId}` }],
|
|
249
|
+
},
|
|
250
|
+
}),
|
|
251
|
+
].join("\n"), "utf8");
|
|
252
|
+
}
|
|
253
|
+
const config = buildFixtureConfig(path.join(root, ".codex", "sessions"));
|
|
254
|
+
const configPath = path.join(root, "config.toml");
|
|
255
|
+
await saveConfig(config, configPath);
|
|
256
|
+
return { configPath, newestSessionId: rows[0]?.sessionId ?? "cli-recency-today" };
|
|
257
|
+
}
|
|
158
258
|
function runCli(args) {
|
|
159
259
|
return runCliWithEnv(args);
|
|
160
260
|
}
|
|
@@ -320,6 +420,37 @@ describe("cli", () => {
|
|
|
320
420
|
const parsed = JSON.parse(eventLines[0] ?? "{}");
|
|
321
421
|
expect(parsed.index).toBeTypeOf("number");
|
|
322
422
|
});
|
|
423
|
+
it("renders deterministic llm summary/session/events tables for chained agent calls", async () => {
|
|
424
|
+
const fixture = await buildFixture();
|
|
425
|
+
const summaryLlm = runCli(["--config", fixture.configPath, "summary", "--llm"]);
|
|
426
|
+
expect(summaryLlm).toContain("## overview");
|
|
427
|
+
expect(summaryLlm).toContain("## by_status");
|
|
428
|
+
expect(summaryLlm).toContain("## candidate_sessions");
|
|
429
|
+
expect(summaryLlm).toContain("trace_id");
|
|
430
|
+
expect(summaryLlm).toContain(fixture.sessionId);
|
|
431
|
+
const sessionLlm = runCli(["--config", fixture.configPath, "session", fixture.sessionId, "--llm"]);
|
|
432
|
+
expect(sessionLlm).toContain("## session_summary");
|
|
433
|
+
expect(sessionLlm).toContain("## next_calls");
|
|
434
|
+
expect(sessionLlm).toContain("agentlens sessions events");
|
|
435
|
+
const eventsLlm = runCli(["--config", fixture.configPath, "sessions", "events", fixture.sessionId, "--llm", "--limit", "3"]);
|
|
436
|
+
expect(eventsLlm).toContain("## events");
|
|
437
|
+
expect(eventsLlm).toMatch(/idx\s+\|\s+kind\s+\|\s+time\s+\|\s+tool\s+\|\s+call_id\s+\|\s+preview/);
|
|
438
|
+
});
|
|
439
|
+
it("uses default sessions list limit of 50", async () => {
|
|
440
|
+
const fixture = await buildManySessionsFixture(55);
|
|
441
|
+
const list = JSON.parse(runCli(["--config", fixture.configPath, "sessions", "list", "--json"]));
|
|
442
|
+
expect(list.length).toBe(50);
|
|
443
|
+
});
|
|
444
|
+
it("supports llm recency grouping for historical sessions", async () => {
|
|
445
|
+
const fixture = await buildRecencyFixture();
|
|
446
|
+
const grouped = runCli(["--config", fixture.configPath, "sessions", "list", "--llm", "--group-by", "recency"]);
|
|
447
|
+
expect(grouped).toContain("## today");
|
|
448
|
+
expect(grouped).toContain("## last_7d");
|
|
449
|
+
expect(grouped).toContain("## older");
|
|
450
|
+
expect(grouped).toContain("cli-recency-today");
|
|
451
|
+
expect(grouped).toContain("cli-recency-week");
|
|
452
|
+
expect(grouped).toContain("cli-recency-old");
|
|
453
|
+
});
|
|
323
454
|
it("supports latest alias for session/show/events commands", async () => {
|
|
324
455
|
const fixture = await buildLatestFixture();
|
|
325
456
|
const sessionLatest = JSON.parse(runCli(["--config", fixture.configPath, "session", "latest", "--json"]));
|
package/dist/main.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.test.js","sourceRoot":"","sources":["../src/main.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.test.js","sourceRoot":"","sources":["../src/main.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AgentKind = "claude" | "codex" | "cursor" | "opencode" | "gemini" | "unknown";
|
|
1
|
+
export type AgentKind = "claude" | "codex" | "cursor" | "opencode" | "gemini" | "pi" | "unknown";
|
|
2
2
|
export type EventKind = "system" | "assistant" | "user" | "tool_use" | "tool_result" | "reasoning" | "meta";
|
|
3
3
|
export type SessionActivityStatus = "running" | "waiting_input" | "idle";
|
|
4
4
|
export type ActivityBinsMode = "time" | "event_index";
|
|
@@ -183,6 +183,50 @@ export interface TracePage {
|
|
|
183
183
|
nextBefore: string;
|
|
184
184
|
liveCursor: string;
|
|
185
185
|
}
|
|
186
|
+
export interface AgentActivityBin {
|
|
187
|
+
startMs: number;
|
|
188
|
+
endMs: number;
|
|
189
|
+
activeSessionCount: number;
|
|
190
|
+
activeTraceIds: string[];
|
|
191
|
+
primaryTraceId: string;
|
|
192
|
+
activeByAgent: Record<AgentKind, number>;
|
|
193
|
+
eventCount: number;
|
|
194
|
+
eventKindCounts: Record<EventKind, number>;
|
|
195
|
+
dominantAgent: AgentKind | "none";
|
|
196
|
+
dominantEventKind: EventKind | "none";
|
|
197
|
+
isBreak: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface AgentActivityDay {
|
|
200
|
+
dateLocal: string;
|
|
201
|
+
tzOffsetMinutes: number;
|
|
202
|
+
binMinutes: number;
|
|
203
|
+
breakMinutes: number;
|
|
204
|
+
windowStartMs: number;
|
|
205
|
+
windowEndMs: number;
|
|
206
|
+
totalSessionsInWindow: number;
|
|
207
|
+
peakConcurrentSessions: number;
|
|
208
|
+
peakConcurrentAtMs: number | null;
|
|
209
|
+
bins: AgentActivityBin[];
|
|
210
|
+
}
|
|
211
|
+
export interface AgentActivityWeekDay {
|
|
212
|
+
dateLocal: string;
|
|
213
|
+
windowStartMs: number;
|
|
214
|
+
windowEndMs: number;
|
|
215
|
+
totalSessionsInWindow: number;
|
|
216
|
+
peakConcurrentSessions: number;
|
|
217
|
+
peakConcurrentAtMs: number | null;
|
|
218
|
+
bins: AgentActivityBin[];
|
|
219
|
+
}
|
|
220
|
+
export interface AgentActivityWeek {
|
|
221
|
+
tzOffsetMinutes: number;
|
|
222
|
+
dayCount: number;
|
|
223
|
+
slotMinutes: number;
|
|
224
|
+
hourStartLocal: number;
|
|
225
|
+
hourEndLocal: number;
|
|
226
|
+
startDateLocal: string;
|
|
227
|
+
endDateLocal: string;
|
|
228
|
+
days: AgentActivityWeekDay[];
|
|
229
|
+
}
|
|
186
230
|
export interface OverviewStats {
|
|
187
231
|
traceCount: number;
|
|
188
232
|
sessionCount: number;
|
|
@@ -24,6 +24,19 @@ describe("config", () => {
|
|
|
24
24
|
expect(config.models.contextWindows.some((entry) => entry.model === "gpt-5.2-codex" && entry.contextWindowTokens === 400_000)).toBe(true);
|
|
25
25
|
expect(config.models.contextWindows.some((entry) => entry.model === "claude-sonnet-4-5-20250929" && entry.contextWindowTokens === 200_000)).toBe(true);
|
|
26
26
|
expect(config.sessionLogDirectories).toContainEqual({ directory: "~/.gemini", logType: "gemini" });
|
|
27
|
+
expect(config.sessionLogDirectories).toContainEqual({ directory: "~/.pi", logType: "pi" });
|
|
28
|
+
const defaultEnabledSources = [
|
|
29
|
+
"codex_home",
|
|
30
|
+
"claude_projects",
|
|
31
|
+
"claude_history",
|
|
32
|
+
"cursor_agent_transcripts",
|
|
33
|
+
"opencode_storage_session",
|
|
34
|
+
"gemini_tmp",
|
|
35
|
+
"pi_agent_sessions",
|
|
36
|
+
];
|
|
37
|
+
for (const sourceName of defaultEnabledSources) {
|
|
38
|
+
expect(config.sources[sourceName]?.enabled).toBe(true);
|
|
39
|
+
}
|
|
27
40
|
});
|
|
28
41
|
it("infers gemini log type from legacy sessionJsonlDirectories paths", () => {
|
|
29
42
|
const config = mergeConfig({
|
|
@@ -34,7 +47,16 @@ describe("config", () => {
|
|
|
34
47
|
{ directory: "~/logs/other", logType: "unknown" },
|
|
35
48
|
]);
|
|
36
49
|
});
|
|
37
|
-
it("
|
|
50
|
+
it("infers pi log type from legacy sessionJsonlDirectories paths", () => {
|
|
51
|
+
const config = mergeConfig({
|
|
52
|
+
sessionJsonlDirectories: ["~/.pi/agent/sessions", "~/logs/other"],
|
|
53
|
+
});
|
|
54
|
+
expect(config.sessionLogDirectories).toEqual([
|
|
55
|
+
{ directory: "~/.pi/agent/sessions", logType: "pi" },
|
|
56
|
+
{ directory: "~/logs/other", logType: "unknown" },
|
|
57
|
+
]);
|
|
58
|
+
});
|
|
59
|
+
it("auto-injects gemini and pi directories for legacy typed sessionLogDirectories", () => {
|
|
38
60
|
const config = mergeConfig({
|
|
39
61
|
sessionLogDirectories: [
|
|
40
62
|
{ directory: "~/.codex", logType: "codex" },
|
|
@@ -47,8 +69,31 @@ describe("config", () => {
|
|
|
47
69
|
{ directory: "~/.claude", logType: "claude" },
|
|
48
70
|
{ directory: "~/.cursor", logType: "cursor" },
|
|
49
71
|
{ directory: "~/.gemini", logType: "gemini" },
|
|
72
|
+
{ directory: "~/.pi", logType: "pi" },
|
|
50
73
|
]);
|
|
51
74
|
});
|
|
75
|
+
it("keeps unspecified default sources disabled when explicit sources config is provided", () => {
|
|
76
|
+
const config = mergeConfig({
|
|
77
|
+
sources: {
|
|
78
|
+
codex_home: {
|
|
79
|
+
name: "codex_home",
|
|
80
|
+
enabled: true,
|
|
81
|
+
roots: ["~/tmp/codex"],
|
|
82
|
+
includeGlobs: ["**/*.jsonl"],
|
|
83
|
+
excludeGlobs: [],
|
|
84
|
+
maxDepth: 8,
|
|
85
|
+
agentHint: "codex",
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
expect(config.sources.codex_home?.enabled).toBe(true);
|
|
90
|
+
expect(config.sources.claude_projects?.enabled).toBe(false);
|
|
91
|
+
expect(config.sources.claude_history?.enabled).toBe(false);
|
|
92
|
+
expect(config.sources.cursor_agent_transcripts?.enabled).toBe(false);
|
|
93
|
+
expect(config.sources.opencode_storage_session?.enabled).toBe(false);
|
|
94
|
+
expect(config.sources.gemini_tmp?.enabled).toBe(false);
|
|
95
|
+
expect(config.sources.pi_agent_sessions?.enabled).toBe(false);
|
|
96
|
+
});
|
|
52
97
|
it("loads new nested sections from TOML", async () => {
|
|
53
98
|
const root = await mkdtemp(path.join(os.tmpdir(), "agentlens-config-"));
|
|
54
99
|
const configPath = path.join(root, "config.toml");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ describe("trace index", () => {
|
|
|
15
15
|
{ directory: "~/.claude", logType: "claude" },
|
|
16
16
|
{ directory: "~/.cursor", logType: "cursor" },
|
|
17
17
|
{ directory: "~/.gemini", logType: "gemini" },
|
|
18
|
+
{ directory: "~/.pi", logType: "pi" },
|
|
18
19
|
{ directory: "~/.local/share/opencode", logType: "opencode" },
|
|
19
20
|
]);
|
|
20
21
|
});
|
|
@@ -29,9 +30,10 @@ describe("trace index", () => {
|
|
|
29
30
|
{ directory: "~/custom-logs", logType: "unknown" },
|
|
30
31
|
{ directory: "~/.cursor", logType: "cursor" },
|
|
31
32
|
{ directory: "~/.gemini", logType: "gemini" },
|
|
33
|
+
{ directory: "~/.pi", logType: "pi" },
|
|
32
34
|
]);
|
|
33
35
|
});
|
|
34
|
-
it("auto-injects cursor and
|
|
36
|
+
it("auto-injects cursor, gemini, and pi session directories for legacy typed configs", () => {
|
|
35
37
|
const config = mergeConfig({
|
|
36
38
|
sessionLogDirectories: [
|
|
37
39
|
{ directory: "~/.codex", logType: "codex" },
|
|
@@ -43,6 +45,7 @@ describe("trace index", () => {
|
|
|
43
45
|
{ directory: "~/.claude", logType: "claude" },
|
|
44
46
|
{ directory: "~/.cursor", logType: "cursor" },
|
|
45
47
|
{ directory: "~/.gemini", logType: "gemini" },
|
|
48
|
+
{ directory: "~/.pi", logType: "pi" },
|
|
46
49
|
]);
|
|
47
50
|
});
|
|
48
51
|
it("parses codex home session files and computes overview", async () => {
|
|
@@ -544,6 +547,211 @@ describe("trace index", () => {
|
|
|
544
547
|
index.stop();
|
|
545
548
|
}
|
|
546
549
|
});
|
|
550
|
+
it("indexes pi sessions via dirty refresh and derives pi metrics from usage", async () => {
|
|
551
|
+
const root = await createTempRoot();
|
|
552
|
+
const piHome = path.join(root, ".pi");
|
|
553
|
+
const sessionsDir = path.join(piHome, "agent", "sessions", "--Users-rob-Dropbox-2026_sakana-agentlens--");
|
|
554
|
+
await mkdir(sessionsDir, { recursive: true });
|
|
555
|
+
const config = mergeConfig({
|
|
556
|
+
scan: {
|
|
557
|
+
mode: "adaptive",
|
|
558
|
+
intervalSeconds: 1,
|
|
559
|
+
intervalMinMs: 60,
|
|
560
|
+
intervalMaxMs: 200,
|
|
561
|
+
fullRescanIntervalMs: 600_000,
|
|
562
|
+
batchDebounceMs: 40,
|
|
563
|
+
recentEventWindow: 400,
|
|
564
|
+
includeMetaDefault: true,
|
|
565
|
+
statusRunningTtlMs: 300_000,
|
|
566
|
+
statusWaitingTtlMs: 900_000,
|
|
567
|
+
},
|
|
568
|
+
sessionLogDirectories: [{ directory: piHome, logType: "pi" }],
|
|
569
|
+
sources: {
|
|
570
|
+
codex_home: {
|
|
571
|
+
name: "codex_home",
|
|
572
|
+
enabled: false,
|
|
573
|
+
roots: [],
|
|
574
|
+
includeGlobs: ["**/*.jsonl"],
|
|
575
|
+
excludeGlobs: [],
|
|
576
|
+
maxDepth: 8,
|
|
577
|
+
agentHint: "codex",
|
|
578
|
+
},
|
|
579
|
+
claude_projects: {
|
|
580
|
+
name: "claude_projects",
|
|
581
|
+
enabled: false,
|
|
582
|
+
roots: [],
|
|
583
|
+
includeGlobs: ["**/*.jsonl"],
|
|
584
|
+
excludeGlobs: [],
|
|
585
|
+
maxDepth: 8,
|
|
586
|
+
agentHint: "claude",
|
|
587
|
+
},
|
|
588
|
+
claude_history: {
|
|
589
|
+
name: "claude_history",
|
|
590
|
+
enabled: false,
|
|
591
|
+
roots: [],
|
|
592
|
+
includeGlobs: ["history.jsonl"],
|
|
593
|
+
excludeGlobs: [],
|
|
594
|
+
maxDepth: 8,
|
|
595
|
+
agentHint: "claude",
|
|
596
|
+
},
|
|
597
|
+
cursor_agent_transcripts: {
|
|
598
|
+
name: "cursor_agent_transcripts",
|
|
599
|
+
enabled: false,
|
|
600
|
+
roots: [],
|
|
601
|
+
includeGlobs: ["**/agent-transcripts/*.txt", "**/agent-transcripts/*.jsonl"],
|
|
602
|
+
excludeGlobs: [],
|
|
603
|
+
maxDepth: 8,
|
|
604
|
+
agentHint: "cursor",
|
|
605
|
+
},
|
|
606
|
+
opencode_storage_session: {
|
|
607
|
+
name: "opencode_storage_session",
|
|
608
|
+
enabled: false,
|
|
609
|
+
roots: [],
|
|
610
|
+
includeGlobs: ["**/*.json"],
|
|
611
|
+
excludeGlobs: [],
|
|
612
|
+
maxDepth: 8,
|
|
613
|
+
agentHint: "opencode",
|
|
614
|
+
},
|
|
615
|
+
gemini_tmp: {
|
|
616
|
+
name: "gemini_tmp",
|
|
617
|
+
enabled: false,
|
|
618
|
+
roots: [],
|
|
619
|
+
includeGlobs: ["**/chats/session-*.json", "**/*.jsonl"],
|
|
620
|
+
excludeGlobs: [],
|
|
621
|
+
maxDepth: 8,
|
|
622
|
+
agentHint: "gemini",
|
|
623
|
+
},
|
|
624
|
+
pi_agent_sessions: {
|
|
625
|
+
name: "pi_agent_sessions",
|
|
626
|
+
enabled: false,
|
|
627
|
+
roots: [],
|
|
628
|
+
includeGlobs: ["**/*.jsonl"],
|
|
629
|
+
excludeGlobs: [],
|
|
630
|
+
maxDepth: 8,
|
|
631
|
+
agentHint: "pi",
|
|
632
|
+
},
|
|
633
|
+
},
|
|
634
|
+
});
|
|
635
|
+
const index = new TraceIndex(config);
|
|
636
|
+
await index.start();
|
|
637
|
+
try {
|
|
638
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
639
|
+
expect(index.getSummaries()).toHaveLength(0);
|
|
640
|
+
const sessionId = "21e08b85-59b6-4acb-9811-a9dead258501";
|
|
641
|
+
const sessionPath = path.join(sessionsDir, `2026-02-21T09-48-03-994Z_${sessionId}.jsonl`);
|
|
642
|
+
await writeFile(sessionPath, [
|
|
643
|
+
JSON.stringify({
|
|
644
|
+
type: "session",
|
|
645
|
+
version: 3,
|
|
646
|
+
id: sessionId,
|
|
647
|
+
timestamp: "2026-02-21T09:48:03.994Z",
|
|
648
|
+
cwd: "/Users/rob/Dropbox/2026_sakana/agentlens",
|
|
649
|
+
}),
|
|
650
|
+
JSON.stringify({
|
|
651
|
+
type: "message",
|
|
652
|
+
id: "msg_user_1",
|
|
653
|
+
timestamp: "2026-02-21T09:48:07.077Z",
|
|
654
|
+
message: {
|
|
655
|
+
role: "user",
|
|
656
|
+
content: [{ type: "text", text: "hi there" }],
|
|
657
|
+
timestamp: 1771667287065,
|
|
658
|
+
},
|
|
659
|
+
}),
|
|
660
|
+
JSON.stringify({
|
|
661
|
+
type: "message",
|
|
662
|
+
id: "msg_assistant_1",
|
|
663
|
+
timestamp: "2026-02-21T09:48:10.749Z",
|
|
664
|
+
message: {
|
|
665
|
+
role: "assistant",
|
|
666
|
+
content: [
|
|
667
|
+
{ type: "text", text: "Let me check using a tool." },
|
|
668
|
+
{ type: "thinking", thinking: "Need to call bash for this." },
|
|
669
|
+
{ type: "toolCall", id: "toolu_1", name: "bash", arguments: { command: "echo hi" } },
|
|
670
|
+
],
|
|
671
|
+
model: "global.anthropic.claude-opus-4-6-v1",
|
|
672
|
+
usage: {
|
|
673
|
+
input: 4030,
|
|
674
|
+
output: 43,
|
|
675
|
+
cacheRead: 0,
|
|
676
|
+
cacheWrite: 0,
|
|
677
|
+
totalTokens: 4073,
|
|
678
|
+
cost: { total: 0.021225 },
|
|
679
|
+
},
|
|
680
|
+
},
|
|
681
|
+
}),
|
|
682
|
+
JSON.stringify({
|
|
683
|
+
type: "message",
|
|
684
|
+
id: "msg_tool_result_1",
|
|
685
|
+
timestamp: "2026-02-21T09:48:11.488Z",
|
|
686
|
+
message: {
|
|
687
|
+
role: "toolResult",
|
|
688
|
+
toolCallId: "toolu_1",
|
|
689
|
+
toolName: "bash",
|
|
690
|
+
content: [{ type: "text", text: "hi" }],
|
|
691
|
+
isError: false,
|
|
692
|
+
},
|
|
693
|
+
}),
|
|
694
|
+
].join("\n"), "utf8");
|
|
695
|
+
const deadline = Date.now() + 4000;
|
|
696
|
+
while (Date.now() < deadline) {
|
|
697
|
+
const summary = index.getSummaries().find((item) => item.sessionId === sessionId);
|
|
698
|
+
if (summary)
|
|
699
|
+
break;
|
|
700
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
701
|
+
}
|
|
702
|
+
const summary = index.getSummaries().find((item) => item.sessionId === sessionId);
|
|
703
|
+
expect(summary?.agent).toBe("pi");
|
|
704
|
+
expect(summary?.parser).toBe("pi");
|
|
705
|
+
expect(summary?.toolUseCount).toBe(1);
|
|
706
|
+
expect(summary?.toolResultCount).toBe(1);
|
|
707
|
+
expect(summary?.tokenTotals).toMatchObject({
|
|
708
|
+
inputTokens: 4030,
|
|
709
|
+
outputTokens: 43,
|
|
710
|
+
cachedReadTokens: 0,
|
|
711
|
+
cachedCreateTokens: 0,
|
|
712
|
+
totalTokens: 4073,
|
|
713
|
+
});
|
|
714
|
+
expect(summary?.costEstimateUsd).toBeCloseTo(0.021225, 6);
|
|
715
|
+
const initialEventCount = summary?.eventCount ?? 0;
|
|
716
|
+
await appendFile(sessionPath, `\n${JSON.stringify({
|
|
717
|
+
type: "message",
|
|
718
|
+
id: "msg_assistant_2",
|
|
719
|
+
timestamp: "2026-02-21T09:48:13.795Z",
|
|
720
|
+
message: {
|
|
721
|
+
role: "assistant",
|
|
722
|
+
content: [{ type: "text", text: "Done." }],
|
|
723
|
+
model: "global.anthropic.claude-opus-4-6-v1",
|
|
724
|
+
usage: {
|
|
725
|
+
input: 1,
|
|
726
|
+
output: 33,
|
|
727
|
+
cacheRead: 0,
|
|
728
|
+
cacheWrite: 4180,
|
|
729
|
+
totalTokens: 4214,
|
|
730
|
+
cost: { total: 0.026955 },
|
|
731
|
+
},
|
|
732
|
+
},
|
|
733
|
+
})}`, "utf8");
|
|
734
|
+
const growthDeadline = Date.now() + 4000;
|
|
735
|
+
while (Date.now() < growthDeadline) {
|
|
736
|
+
const next = index.getSummaries().find((item) => item.sessionId === sessionId);
|
|
737
|
+
if ((next?.eventCount ?? 0) > initialEventCount)
|
|
738
|
+
break;
|
|
739
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
740
|
+
}
|
|
741
|
+
const updated = index.getSummaries().find((item) => item.sessionId === sessionId);
|
|
742
|
+
expect((updated?.eventCount ?? 0) > initialEventCount).toBe(true);
|
|
743
|
+
expect(updated?.costEstimateUsd).toBeCloseTo(0.04818, 6);
|
|
744
|
+
expect(updated?.tokenTotals).toMatchObject({
|
|
745
|
+
inputTokens: 4031,
|
|
746
|
+
outputTokens: 76,
|
|
747
|
+
cachedCreateTokens: 4180,
|
|
748
|
+
totalTokens: 8287,
|
|
749
|
+
});
|
|
750
|
+
}
|
|
751
|
+
finally {
|
|
752
|
+
index.stop();
|
|
753
|
+
}
|
|
754
|
+
});
|
|
547
755
|
it("parses opencode storage sessions with tool events and token metrics", async () => {
|
|
548
756
|
const root = await createTempRoot();
|
|
549
757
|
const storageRoot = path.join(root, ".local", "share", "opencode", "storage");
|