clawprobe 0.2.3 → 0.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqKzF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0KzF"}
@@ -1,7 +1,8 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { openDb } from "../../core/db.js";
4
- import { getActiveSession } from "../../core/session-store.js";
4
+ import { getActiveSession, findJsonlPath } from "../../core/session-store.js";
5
+ import { parseSessionStats } from "../../core/jsonl-parser.js";
5
6
  import { analyzeWorkspaceFiles } from "../../engines/file-analyzer.js";
6
7
  import { header, makeTable, fmtTokens, truncBadge, outputJson, severity, getWindowSize, } from "../format.js";
7
8
  /** Rough token estimate: chars / 4 */
@@ -47,10 +48,14 @@ export async function runContext(cfg, opts) {
47
48
  const db = openDb(cfg.probeDir);
48
49
  const analysis = analyzeWorkspaceFiles(cfg.workspaceDir, cfg.bootstrapMaxChars);
49
50
  const activeSession = getActiveSession(cfg.sessionsDir);
50
- // sessionTokens = actual context usage; windowSize = upper limit
51
- const sessionTokens = activeSession?.sessionTokens ?? 0;
51
+ // Read jsonl transcript for accurate context token count.
52
+ // Transcripts are named by session UUID, not the human-readable sessionKey.
53
+ const transcriptPath = activeSession ? findJsonlPath(cfg.sessionsDir, activeSession) : null;
54
+ const jsonlStats = transcriptPath ? parseSessionStats(transcriptPath) : null;
55
+ // sessionTokens = actual context usage (from last assistant usage.totalTokens in jsonl)
56
+ const sessionTokens = jsonlStats?.lastTotalTokens ?? activeSession?.sessionTokens ?? 0;
52
57
  const windowSize = (activeSession?.windowSize || activeSession?.contextTokens) ?? 0;
53
- const model = activeSession?.modelOverride ?? null;
58
+ const model = jsonlStats?.model ?? activeSession?.modelOverride ?? null;
54
59
  const resolvedWindowSize = getWindowSize(model, windowSize || sessionTokens);
55
60
  // ── Estimate fixed-cost components ──────────────────────────────────────
56
61
  // System prompt: read SOUL.md as proxy if present; otherwise estimate from known agents
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAiJf"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA6ED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAuIf"}
@@ -1,20 +1,75 @@
1
- import { openDb } from "../../core/db.js";
2
- import { getActiveSession, readSessionsStore } from "../../core/session-store.js";
3
- import { getSessionCost, getAllSessionCosts, estimateCost, sessionCostFromEntry } from "../../engines/cost.js";
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { getActiveSession, readSessionsStore, listJsonlFiles, sessionKeyFromPath, findJsonlPath } from "../../core/session-store.js";
4
+ import { parseSessionStats } from "../../core/jsonl-parser.js";
5
+ import { getSessionCostFromJsonl, estimateCost, sessionCostFromEntry, } from "../../engines/cost.js";
4
6
  import chalk from "chalk";
5
7
  import { header, fmtUsd, fmtTokens, fmtDate, fmtDuration, makeTable, outputJson, severity, } from "../format.js";
8
+ /**
9
+ * Load session cost from the jsonl transcript — the authoritative source.
10
+ * Falls back to sessions.json summary if no transcript is found.
11
+ */
12
+ function loadSessionCost(sessionsDir, sessionKey, customPrices) {
13
+ // First find the sessions.json entry so we can resolve the transcript path via UUID
14
+ const liveEntry = readSessionsStore(sessionsDir).find((e) => e.sessionKey === sessionKey);
15
+ // Resolve transcript path: OpenClaw names files by session UUID, not the human-readable key
16
+ const jsonlPath = liveEntry
17
+ ? findJsonlPath(sessionsDir, liveEntry)
18
+ : (() => {
19
+ // No sessions.json entry — try treating sessionKey as UUID filename directly
20
+ const p = path.join(sessionsDir, `${sessionKey}.jsonl`);
21
+ return fs.existsSync(p) ? p : null;
22
+ })();
23
+ if (jsonlPath) {
24
+ const stats = parseSessionStats(jsonlPath);
25
+ if (stats) {
26
+ return getSessionCostFromJsonl(stats, sessionKey, customPrices);
27
+ }
28
+ }
29
+ // Fall back to sessions.json summary
30
+ if (liveEntry) {
31
+ return sessionCostFromEntry(liveEntry, customPrices);
32
+ }
33
+ return null;
34
+ }
35
+ /**
36
+ * Discover all sessions by reading sessions.json entries and resolving each
37
+ * to its .jsonl transcript (identified by session UUID filename).
38
+ */
39
+ function discoverAllSessions(sessionsDir, customPrices) {
40
+ const costs = [];
41
+ const seenJsonlPaths = new Set();
42
+ // Primary: sessions.json entries (human-readable keys), each resolved to its jsonl
43
+ for (const entry of readSessionsStore(sessionsDir)) {
44
+ const jsonlPath = findJsonlPath(sessionsDir, entry);
45
+ if (jsonlPath) {
46
+ seenJsonlPaths.add(jsonlPath);
47
+ const stats = parseSessionStats(jsonlPath);
48
+ if (stats) {
49
+ costs.push(getSessionCostFromJsonl(stats, entry.sessionKey, customPrices));
50
+ continue;
51
+ }
52
+ }
53
+ // No transcript found — use sessions.json summary
54
+ costs.push(sessionCostFromEntry(entry, customPrices));
55
+ }
56
+ // Supplement: any .jsonl files not covered by sessions.json (orphaned transcripts)
57
+ for (const jsonlPath of listJsonlFiles(sessionsDir)) {
58
+ if (seenJsonlPaths.has(jsonlPath))
59
+ continue;
60
+ const key = sessionKeyFromPath(jsonlPath); // UUID as key
61
+ const stats = parseSessionStats(jsonlPath);
62
+ if (stats) {
63
+ costs.push(getSessionCostFromJsonl(stats, key, customPrices));
64
+ }
65
+ }
66
+ return costs.sort((a, b) => b.lastActiveAt - a.lastActiveAt);
67
+ }
6
68
  export async function runSession(cfg, sessionKeyArg, opts) {
7
69
  const agent = opts.agent ?? cfg.probe.openclaw.agent;
8
- const db = openDb(cfg.probeDir);
9
70
  const customPrices = cfg.probe.cost.customPrices;
10
71
  if (opts.list) {
11
- // Start with db-backed costs, then merge in any sessions.json entries not yet in db.
12
- const dbCosts = getAllSessionCosts(db, agent, customPrices);
13
- const dbKeys = new Set(dbCosts.map((c) => c.sessionKey));
14
- const liveEntries = readSessionsStore(cfg.sessionsDir)
15
- .filter((e) => !dbKeys.has(e.sessionKey))
16
- .map((e) => sessionCostFromEntry(e, customPrices));
17
- const costs = [...dbCosts, ...liveEntries].sort((a, b) => b.lastActiveAt - a.lastActiveAt);
72
+ const costs = discoverAllSessions(cfg.sessionsDir, customPrices);
18
73
  const active = getActiveSession(cfg.sessionsDir);
19
74
  if (opts.json) {
20
75
  outputJson(costs);
@@ -27,12 +82,14 @@ export async function runSession(cfg, sessionKeyArg, opts) {
27
82
  return;
28
83
  }
29
84
  if (opts.full) {
30
- // Full-width output: one session per line, no table truncation
31
85
  for (const c of costs) {
32
86
  const isActive = active?.sessionKey === c.sessionKey;
33
87
  const activeTag = isActive ? chalk.green(" ●") : "";
34
88
  console.log(` ${chalk.bold(c.sessionKey)}${activeTag}`);
35
- console.log(` Model: ${c.model ?? "—"} In: ${fmtTokens(c.inputTokens)} Out: ${fmtTokens(c.outputTokens)} Compacts: ${c.compactionCount} Last: ${c.lastActiveAt > 0 ? fmtDate(c.lastActiveAt) : "—"}`);
89
+ console.log(` Model: ${c.model ?? "—"} ` +
90
+ `In: ${fmtTokens(c.inputTokens)} Out: ${fmtTokens(c.outputTokens)} ` +
91
+ `Compacts: ${c.compactionCount} ` +
92
+ `Last: ${c.lastActiveAt > 0 ? fmtDate(c.lastActiveAt) : "—"}`);
36
93
  console.log();
37
94
  }
38
95
  }
@@ -40,7 +97,6 @@ export async function runSession(cfg, sessionKeyArg, opts) {
40
97
  const table = makeTable(["Session Key", "Model", "Tokens (in/out)", "Cost", "Compacts", "Last Active"], [30, 22, 18, 10, 10, 16]);
41
98
  for (const c of costs) {
42
99
  const isActive = active?.sessionKey === c.sessionKey;
43
- // Show first 24 chars + ellipsis for readability; use --full for complete key
44
100
  const keyDisplay = c.sessionKey.length > 25
45
101
  ? `${c.sessionKey.slice(0, 24)}…${isActive ? " ●" : ""}`
46
102
  : `${c.sessionKey}${isActive ? " ●" : ""}`;
@@ -61,7 +117,7 @@ export async function runSession(cfg, sessionKeyArg, opts) {
61
117
  console.log();
62
118
  return;
63
119
  }
64
- // Single session view
120
+ // ── Single session view ───────────────────────────────────────────────────
65
121
  let targetKey = sessionKeyArg;
66
122
  if (!targetKey) {
67
123
  const active = getActiveSession(cfg.sessionsDir);
@@ -71,17 +127,10 @@ export async function runSession(cfg, sessionKeyArg, opts) {
71
127
  }
72
128
  targetKey = active.sessionKey;
73
129
  }
74
- // Try db snapshots first; fall back to live sessions.json entry.
75
- let cost = getSessionCost(db, agent, targetKey, customPrices);
76
- if (!cost) {
77
- const liveEntry = readSessionsStore(cfg.sessionsDir).find((e) => e.sessionKey === targetKey);
78
- if (liveEntry) {
79
- cost = sessionCostFromEntry(liveEntry, customPrices);
80
- }
81
- }
130
+ const cost = loadSessionCost(cfg.sessionsDir, targetKey, customPrices);
82
131
  if (!cost) {
83
132
  console.error(severity.critical(`No data found for session: ${targetKey}`));
84
- console.log(severity.muted(" Start the daemon with: clawprobe start"));
133
+ console.log(severity.muted(" Ensure OpenClaw is running and has written a transcript."));
85
134
  process.exit(1);
86
135
  }
87
136
  if (opts.json) {
@@ -92,35 +141,32 @@ export async function runSession(cfg, sessionKeyArg, opts) {
92
141
  console.log(` Agent: ${agent}`);
93
142
  if (cost.model)
94
143
  console.log(` Model: ${cost.model}`);
144
+ if (cost.provider)
145
+ console.log(` Provider: ${cost.provider}`);
95
146
  if (cost.startedAt > 0) {
96
147
  console.log(` Started: ${fmtDate(cost.startedAt)}`);
97
148
  console.log(` Last active: ${fmtDate(cost.lastActiveAt)} (${fmtDuration(cost.durationMin)})`);
98
149
  }
99
150
  console.log(` Compactions: ${cost.compactionCount}`);
100
151
  if (!cost.costAccurate) {
101
- if (cost.turns.length === 0) {
102
- console.log(severity.warning(" ⚠ Showing live data from sessions.json (daemon not running — no per-turn breakdown)"));
103
- }
104
- else {
105
- console.log(severity.muted(" ⚠ Cost may be understated (clawprobe was not running at session start)"));
106
- }
152
+ console.log(severity.warning(" ⚠ Showing summary from sessions.json (no transcript found — no per-turn breakdown)"));
107
153
  }
108
154
  console.log();
109
155
  console.log(severity.bold(" Token usage:"));
110
- console.log(` Input: ${fmtTokens(cost.inputTokens)} tokens ${fmtUsd(estimateCost({ input: cost.inputTokens, output: 0 }, cost.model, customPrices))}`);
111
- console.log(` Output: ${fmtTokens(cost.outputTokens)} tokens ${fmtUsd(estimateCost({ input: 0, output: cost.outputTokens }, cost.model, customPrices))}`);
112
- console.log(` Total: ${fmtTokens(cost.totalTokens)} tokens ${fmtUsd(cost.estimatedUsd)}`);
156
+ // inputTokens here = last turn's totalTokens (current context size)
157
+ // outputTokens = cumulative output across all turns
158
+ console.log(` Context now: ${fmtTokens(cost.inputTokens)} tokens`);
159
+ console.log(` Output total: ${fmtTokens(cost.outputTokens)} tokens ${fmtUsd(estimateCost({ input: 0, output: cost.outputTokens }, cost.model, customPrices))}`);
113
160
  const showTurns = opts.turns !== false && cost.turns.length > 0;
114
161
  if (showTurns) {
115
162
  console.log();
116
163
  console.log(severity.bold(" Turn-by-turn timeline:"));
117
164
  console.log();
118
- const maxUsd = Math.max(...cost.turns.map((t) => t.estimatedUsd), 0.001);
119
165
  for (const turn of cost.turns) {
120
166
  const compact = turn.compactOccurred ? severity.warning("← compact") : "";
121
167
  const usdStr = turn.estimatedUsd > 0 ? fmtUsd(turn.estimatedUsd) : severity.muted("$0.00");
122
168
  console.log(` Turn ${String(turn.turnIndex).padStart(2)} ${fmtDate(turn.timestamp)}` +
123
- ` +${fmtTokens(turn.inputTokensDelta)} in / +${fmtTokens(turn.outputTokensDelta)} out` +
169
+ ` ctx ${fmtTokens(turn.inputTokensDelta)} / out +${fmtTokens(turn.outputTokensDelta)}` +
124
170
  ` ${usdStr} ${compact}`);
125
171
  }
126
172
  const avgUsd = cost.turns.reduce((s, t) => s + t.estimatedUsd, 0) / cost.turns.length;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GvF"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGvF"}
@@ -1,9 +1,8 @@
1
1
  import fs from "fs";
2
- import path from "path";
3
2
  import { openDb } from "../../core/db.js";
4
- import { getActiveSession, readSessionsStore } from "../../core/session-store.js";
3
+ import { getActiveSession, readSessionsStore, findJsonlPath } from "../../core/session-store.js";
5
4
  import { getLatestSnapshot } from "../../core/db.js";
6
- import { parseAll } from "../../core/jsonl-parser.js";
5
+ import { parseSessionStats } from "../../core/jsonl-parser.js";
7
6
  import { header, fmtTokens, fmtDate, tokenBar, outputJson, printError, severity, getWindowSize, } from "../format.js";
8
7
  export async function runStatus(cfg, opts) {
9
8
  const agent = opts.agent ?? cfg.probe.openclaw.agent;
@@ -16,34 +15,24 @@ export async function runStatus(cfg, opts) {
16
15
  process.exit(1);
17
16
  }
18
17
  const snapshot = getLatestSnapshot(db, agent, sessionEntry.sessionKey);
19
- // sessionTokens = actual tokens currently in the model's context window
20
- // (matches "Session tokens (cached): N total" in /context detail)
21
- // windowSize = context window upper limit (ctx=256000)
22
- // sessions.json's contextTokens field stores the window upper limit, NOT actual usage.
23
- const sessionTokens = sessionEntry.sessionTokens; // actual usage; 0 if not reported
24
- const windowSize = sessionEntry.windowSize || sessionEntry.contextTokens; // upper limit
25
- let compactionCount = sessionEntry.compactionCount;
26
- let lastActiveAt = sessionEntry.updatedAt;
27
- // When sessions.json has no token/compact data yet, derive from transcript.
28
- const transcriptPath = path.join(cfg.sessionsDir, `${sessionEntry.sessionKey}.jsonl`);
29
- if (fs.existsSync(transcriptPath)) {
30
- if (compactionCount === 0) {
31
- try {
32
- const { compactEvents } = parseAll(transcriptPath);
33
- compactionCount = compactEvents.length;
34
- }
35
- catch {
36
- // ignore parse errors
37
- }
38
- }
39
- if (lastActiveAt === 0) {
40
- try {
41
- lastActiveAt = Math.floor(fs.statSync(transcriptPath).mtimeMs / 1000);
42
- }
43
- catch {
44
- // ignore
45
- }
18
+ // Prefer jsonl transcript as the authoritative source for actual context token count.
19
+ // Each assistant message reports `usage.totalTokens` = cumulative context at that turn.
20
+ // Note: transcript filenames use the session UUID, not the human-readable sessionKey.
21
+ const transcriptPath = findJsonlPath(cfg.sessionsDir, sessionEntry);
22
+ const jsonlStats = transcriptPath ? parseSessionStats(transcriptPath) : null;
23
+ // sessionTokens = actual tokens in context right now
24
+ // jsonlStats.lastTotalTokens is the most accurate (from last assistant message's usage.totalTokens)
25
+ const sessionTokens = jsonlStats?.lastTotalTokens ?? sessionEntry.sessionTokens;
26
+ const windowSize = sessionEntry.windowSize || sessionEntry.contextTokens; // upper limit from sessions.json
27
+ // Use jsonl stats for compaction count and last active time (more reliable)
28
+ let compactionCount = jsonlStats?.compactionCount ?? sessionEntry.compactionCount;
29
+ let lastActiveAt = jsonlStats?.lastActiveAt ?? sessionEntry.updatedAt;
30
+ // Final fallback: transcript mtime
31
+ if (lastActiveAt === 0 && transcriptPath) {
32
+ try {
33
+ lastActiveAt = Math.floor(fs.statSync(transcriptPath).mtimeMs / 1000);
46
34
  }
35
+ catch { /* ignore */ }
47
36
  }
48
37
  const model = snapshot?.model ?? sessionEntry.modelOverride ?? null;
49
38
  const resolvedWindowSize = getWindowSize(model, windowSize || sessionTokens);
@@ -89,7 +78,7 @@ export async function runStatus(cfg, opts) {
89
78
  }
90
79
  if (sessionEntry.inputTokens === 0 &&
91
80
  sessionEntry.outputTokens === 0 &&
92
- fs.existsSync(transcriptPath)) {
81
+ transcriptPath !== null) {
93
82
  console.log();
94
83
  console.log(severity.muted(" Token counts come from sessions.json. If OpenClaw hasn't written them yet, run a turn or check your OpenClaw version."));
95
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
@@ -2,35 +2,55 @@ export interface SessionHeader {
2
2
  type: "session";
3
3
  id: string;
4
4
  cwd: string;
5
- timestamp: number;
5
+ timestamp: string | number;
6
6
  parentSession?: string;
7
7
  }
8
+ export interface TokenUsage {
9
+ input: number;
10
+ output: number;
11
+ cacheRead: number;
12
+ cacheWrite: number;
13
+ totalTokens: number;
14
+ }
8
15
  export interface MessageEntry {
9
16
  type: "message";
10
17
  id: string;
11
18
  parentId: string;
12
- role: "user" | "assistant" | "tool";
19
+ timestamp: string;
20
+ message: {
21
+ role: "user" | "assistant" | "tool" | "toolResult";
22
+ content: unknown[];
23
+ api?: string;
24
+ provider?: string;
25
+ model?: string;
26
+ usage?: TokenUsage;
27
+ stopReason?: string;
28
+ errorMessage?: string;
29
+ timestamp?: number;
30
+ };
31
+ role: "user" | "assistant" | "tool" | "toolResult";
32
+ /** Text content extracted from the first text block, or stringified JSON */
13
33
  content: string;
14
- timestamp?: number;
15
34
  }
16
35
  export interface CompactionEntry {
17
36
  type: "compaction";
18
37
  id: string;
19
38
  parentId: string;
20
39
  firstKeptEntryId: string;
21
- tokensBefore: number;
22
- content: string;
23
- timestamp?: number;
40
+ tokensBefore?: number;
41
+ content?: string;
42
+ summaryText?: string;
43
+ timestamp?: string;
24
44
  }
25
- export interface CustomMessageEntry {
26
- type: "custom_message";
45
+ export interface CustomEntry {
46
+ type: "custom";
47
+ customType: string;
27
48
  id: string;
28
- parentId: string;
29
- role: string;
30
- content: string;
31
- hidden?: boolean;
49
+ parentId?: string;
50
+ timestamp: string;
51
+ data?: Record<string, unknown>;
32
52
  }
33
- export type JournalEntry = SessionHeader | MessageEntry | CompactionEntry | CustomMessageEntry | {
53
+ export type JournalEntry = SessionHeader | MessageEntry | CompactionEntry | CustomEntry | {
34
54
  type: string;
35
55
  [key: string]: unknown;
36
56
  };
@@ -43,6 +63,45 @@ export interface CompactEvent {
43
63
  timestamp?: number;
44
64
  lineIndex: number;
45
65
  }
66
+ export interface TurnStats {
67
+ turnIndex: number;
68
+ /** Unix seconds */
69
+ timestamp: number;
70
+ model: string | null;
71
+ provider: string | null;
72
+ usage: TokenUsage;
73
+ stopReason: string;
74
+ isError: boolean;
75
+ toolCallCount: number;
76
+ }
77
+ export interface SessionStats {
78
+ sessionId: string;
79
+ /** Unix seconds */
80
+ startedAt: number;
81
+ /** Unix seconds of last message */
82
+ lastActiveAt: number;
83
+ model: string | null;
84
+ provider: string | null;
85
+ /** Total input tokens across all turns (non-error) */
86
+ totalInput: number;
87
+ /** Total output tokens across all turns (non-error) */
88
+ totalOutput: number;
89
+ /** Total cache-read tokens */
90
+ totalCacheRead: number;
91
+ /** Total tokens in last successful assistant turn (= current context usage) */
92
+ lastTotalTokens: number;
93
+ /** Number of user turns */
94
+ userTurns: number;
95
+ /** Number of successful assistant turns */
96
+ assistantTurns: number;
97
+ /** Number of error turns */
98
+ errorTurns: number;
99
+ /** Number of tool calls across all turns */
100
+ toolCallCount: number;
101
+ /** Number of compaction events */
102
+ compactionCount: number;
103
+ turns: TurnStats[];
104
+ }
46
105
  export interface ParseResult {
47
106
  entries: JournalEntry[];
48
107
  compactEvents: CompactEvent[];
@@ -50,6 +109,11 @@ export interface ParseResult {
50
109
  export declare function parseAll(filePath: string): ParseResult;
51
110
  export declare function parseIncremental(filePath: string): ParseResult;
52
111
  export declare function resetCursor(filePath: string): void;
112
+ /**
113
+ * Parse all entries in a .jsonl file and compute session-level statistics
114
+ * directly from the message usage fields (the authoritative data source).
115
+ */
116
+ export declare function parseSessionStats(filePath: string): SessionStats | null;
53
117
  export declare function getCompactedMessages(allEntries: JournalEntry[], compactEvent: CompactEvent, previousFirstKeptId?: string): MessageEntry[];
54
118
  export declare function buildConversationTree(entries: JournalEntry[]): MessageEntry[];
55
119
  //# sourceMappingURL=jsonl-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-parser.d.ts","sourceRoot":"","sources":["../../src/core/jsonl-parser.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAI7C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAMD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAGtD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAqD9D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElD;AAID,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,YAAY,EAAE,EAC1B,YAAY,EAAE,YAAY,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,YAAY,EAAE,CAmBhB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAG7E"}
1
+ {"version":3,"file":"jsonl-parser.d.ts","sourceRoot":"","sources":["../../src/core/jsonl-parser.ts"],"names":[],"mappings":"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"}
@@ -29,17 +29,30 @@ export function parseIncremental(filePath) {
29
29
  let lineIndex = 0;
30
30
  for (const line of lines) {
31
31
  try {
32
- const entry = JSON.parse(line);
32
+ const raw = JSON.parse(line);
33
+ const entry = raw;
34
+ // Populate convenience fields on MessageEntry
35
+ if (raw["type"] === "message" && raw["message"]) {
36
+ const msg = raw["message"];
37
+ const role = msg["role"] ?? "user";
38
+ const content = msg["content"] ?? [];
39
+ const textContent = content
40
+ .filter((c) => c["type"] === "text")
41
+ .map((c) => c["text"])
42
+ .join("\n");
43
+ raw["role"] = role;
44
+ raw["content"] = textContent || JSON.stringify(content).slice(0, 300);
45
+ }
33
46
  entries.push(entry);
34
47
  if (entry.type === "compaction") {
35
48
  const ce = entry;
36
49
  compactEvents.push({
37
50
  entryId: ce.id,
38
- parentId: ce.parentId,
51
+ parentId: ce.parentId ?? "",
39
52
  firstKeptEntryId: ce.firstKeptEntryId,
40
- tokensBefore: ce.tokensBefore,
41
- summaryText: ce.content,
42
- timestamp: ce.timestamp,
53
+ tokensBefore: ce.tokensBefore ?? 0,
54
+ summaryText: ce.summaryText ?? ce.content ?? "",
55
+ timestamp: ce.timestamp ? tsToSec(ce.timestamp) : undefined,
43
56
  lineIndex,
44
57
  });
45
58
  }
@@ -54,10 +67,139 @@ export function parseIncremental(filePath) {
54
67
  export function resetCursor(filePath) {
55
68
  fileCursors.delete(filePath);
56
69
  }
70
+ // --- Session stats from jsonl ---
71
+ /**
72
+ * Parse all entries in a .jsonl file and compute session-level statistics
73
+ * directly from the message usage fields (the authoritative data source).
74
+ */
75
+ export function parseSessionStats(filePath) {
76
+ if (!fs.existsSync(filePath))
77
+ return null;
78
+ let raw;
79
+ try {
80
+ raw = fs.readFileSync(filePath, "utf-8");
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ const lines = raw.split("\n").filter((l) => l.trim().length > 0);
86
+ let sessionId = "";
87
+ let startedAt = 0;
88
+ let lastActiveAt = 0;
89
+ let model = null;
90
+ let provider = null;
91
+ let totalInput = 0;
92
+ let totalOutput = 0;
93
+ let totalCacheRead = 0;
94
+ let lastTotalTokens = 0;
95
+ let userTurns = 0;
96
+ let assistantTurns = 0;
97
+ let errorTurns = 0;
98
+ let toolCallCount = 0;
99
+ let compactionCount = 0;
100
+ const turns = [];
101
+ for (const line of lines) {
102
+ let entry;
103
+ try {
104
+ entry = JSON.parse(line);
105
+ }
106
+ catch {
107
+ continue;
108
+ }
109
+ const type = entry["type"];
110
+ const ts = entry["timestamp"];
111
+ const entrySec = ts ? tsToSec(String(ts)) : 0;
112
+ if (entrySec > 0) {
113
+ if (startedAt === 0)
114
+ startedAt = entrySec;
115
+ if (entrySec > lastActiveAt)
116
+ lastActiveAt = entrySec;
117
+ }
118
+ if (type === "session") {
119
+ sessionId = entry["id"] ?? "";
120
+ continue;
121
+ }
122
+ if (type === "compaction") {
123
+ compactionCount++;
124
+ continue;
125
+ }
126
+ if (type !== "message")
127
+ continue;
128
+ const msg = entry["message"];
129
+ if (!msg)
130
+ continue;
131
+ const role = msg["role"];
132
+ // Track model/provider from the most recent assistant message
133
+ if (msg["model"])
134
+ model = msg["model"];
135
+ if (msg["provider"])
136
+ provider = msg["provider"];
137
+ if (role === "user") {
138
+ userTurns++;
139
+ continue;
140
+ }
141
+ // toolResult entries — skip for token counting
142
+ if (role === "toolResult" || role === "tool")
143
+ continue;
144
+ if (role === "assistant") {
145
+ const usage = msg["usage"];
146
+ const stopReason = msg["stopReason"] ?? "";
147
+ const isError = stopReason === "error" || !!(msg["errorMessage"]);
148
+ // Count tool calls in content
149
+ const content = msg["content"] ?? [];
150
+ const toolCalls = content.filter((c) => c["type"] === "toolCall").length;
151
+ if (isError) {
152
+ errorTurns++;
153
+ }
154
+ else {
155
+ assistantTurns++;
156
+ if (usage) {
157
+ // Accumulate only output tokens (input is cumulative/context each turn)
158
+ totalOutput += usage.output ?? 0;
159
+ totalCacheRead += usage.cacheRead ?? 0;
160
+ // The last turn's totalTokens = current context window usage
161
+ if (usage.totalTokens > 0) {
162
+ lastTotalTokens = usage.totalTokens;
163
+ totalInput = usage.input ?? 0; // most recent input = current context
164
+ }
165
+ }
166
+ toolCallCount += toolCalls;
167
+ const msgTs = msg["timestamp"];
168
+ const turnTs = msgTs ? Math.floor(msgTs / 1000) : entrySec;
169
+ turns.push({
170
+ turnIndex: assistantTurns,
171
+ timestamp: turnTs,
172
+ model: msg["model"] ?? model,
173
+ provider: msg["provider"] ?? provider,
174
+ usage: usage ?? { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, totalTokens: 0 },
175
+ stopReason,
176
+ isError: false,
177
+ toolCallCount: toolCalls,
178
+ });
179
+ }
180
+ }
181
+ }
182
+ return {
183
+ sessionId,
184
+ startedAt,
185
+ lastActiveAt,
186
+ model,
187
+ provider,
188
+ totalInput,
189
+ totalOutput,
190
+ totalCacheRead,
191
+ lastTotalTokens,
192
+ userTurns,
193
+ assistantTurns,
194
+ errorTurns,
195
+ toolCallCount,
196
+ compactionCount,
197
+ turns,
198
+ };
199
+ }
57
200
  // --- Full analysis helpers ---
58
201
  export function getCompactedMessages(allEntries, compactEvent, previousFirstKeptId) {
59
- const messages = allEntries.filter((e) => e.type === "message");
60
- // Entries after the previous compact boundary, before this compact's firstKeptEntryId
202
+ const messages = allEntries.filter((e) => e.type === "message" && e.message?.role === "user");
61
203
  let started = previousFirstKeptId === undefined;
62
204
  const result = [];
63
205
  for (const msg of messages) {
@@ -73,7 +215,15 @@ export function getCompactedMessages(allEntries, compactEvent, previousFirstKept
73
215
  return result;
74
216
  }
75
217
  export function buildConversationTree(entries) {
76
- // Return messages in insertion order (they form a linear chain via parentId)
77
218
  return entries.filter((e) => e.type === "message");
78
219
  }
220
+ // --- Helpers ---
221
+ function tsToSec(ts) {
222
+ if (typeof ts === "number") {
223
+ // milliseconds if > 1e10, else seconds
224
+ return ts > 1e10 ? Math.floor(ts / 1000) : ts;
225
+ }
226
+ const d = new Date(ts);
227
+ return isNaN(d.getTime()) ? 0 : Math.floor(d.getTime() / 1000);
228
+ }
79
229
  //# sourceMappingURL=jsonl-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-parser.js","sourceRoot":"","sources":["../../src/core/jsonl-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl-parser.js","sourceRoot":"","sources":["../../src/core/jsonl-parser.ts"],"names":[],"mappings":"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"}
@@ -53,5 +53,19 @@ export declare function getSession(sessionsDir: string, sessionKey: string): Ses
53
53
  export declare function getActiveSession(sessionsDir: string): SessionEntry | undefined;
54
54
  export declare function listJsonlFiles(sessionsDir: string): string[];
55
55
  export declare function sessionKeyFromPath(filePath: string): string;
56
+ /**
57
+ * Find the .jsonl transcript for a given session entry.
58
+ *
59
+ * OpenClaw names transcript files by the session UUID (e.g. 928a9cc3-...jsonl),
60
+ * while sessions.json keys sessions by a human-readable key like
61
+ * "agent:main:feishu:direct:ou_xxx". The sessionId field in sessions.json
62
+ * should match the UUID used as the filename.
63
+ *
64
+ * Strategy:
65
+ * 1. Try sessionsDir/{sessionId}.jsonl (sessionId from sessions.json)
66
+ * 2. Try sessionsDir/{sessionKey}.jsonl (for UUID-style keys)
67
+ * 3. Scan all .jsonl files and read the first line to match session.id
68
+ */
69
+ export declare function findJsonlPath(sessionsDir: string, entry: SessionEntry): string | null;
56
70
  export {};
57
71
  //# sourceMappingURL=session-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/core/session-store.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C;AAGD,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CA2BrE;AA6ED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5F;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAK9E;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/core/session-store.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C;AAGD,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CA2BrE;AA6ED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5F;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAK9E;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CA8BrF"}
@@ -109,4 +109,46 @@ export function listJsonlFiles(sessionsDir) {
109
109
  export function sessionKeyFromPath(filePath) {
110
110
  return path.basename(filePath, ".jsonl");
111
111
  }
112
+ /**
113
+ * Find the .jsonl transcript for a given session entry.
114
+ *
115
+ * OpenClaw names transcript files by the session UUID (e.g. 928a9cc3-...jsonl),
116
+ * while sessions.json keys sessions by a human-readable key like
117
+ * "agent:main:feishu:direct:ou_xxx". The sessionId field in sessions.json
118
+ * should match the UUID used as the filename.
119
+ *
120
+ * Strategy:
121
+ * 1. Try sessionsDir/{sessionId}.jsonl (sessionId from sessions.json)
122
+ * 2. Try sessionsDir/{sessionKey}.jsonl (for UUID-style keys)
123
+ * 3. Scan all .jsonl files and read the first line to match session.id
124
+ */
125
+ export function findJsonlPath(sessionsDir, entry) {
126
+ // Strategy 1: sessionId is the UUID filename
127
+ if (entry.sessionId && entry.sessionId !== entry.sessionKey) {
128
+ const p = path.join(sessionsDir, `${entry.sessionId}.jsonl`);
129
+ if (fs.existsSync(p))
130
+ return p;
131
+ }
132
+ // Strategy 2: sessionKey itself might be a UUID filename
133
+ const p2 = path.join(sessionsDir, `${entry.sessionKey}.jsonl`);
134
+ if (fs.existsSync(p2))
135
+ return p2;
136
+ // Strategy 3: scan all .jsonl files, match by session header id field
137
+ for (const jsonlPath of listJsonlFiles(sessionsDir)) {
138
+ try {
139
+ const fd = fs.openSync(jsonlPath, "r");
140
+ const buf = Buffer.allocUnsafe(512);
141
+ const bytesRead = fs.readSync(fd, buf, 0, 512, 0);
142
+ fs.closeSync(fd);
143
+ const firstLine = buf.slice(0, bytesRead).toString("utf-8").split("\n")[0] ?? "";
144
+ const header = JSON.parse(firstLine);
145
+ if (header["type"] === "session" &&
146
+ (header["id"] === entry.sessionId || header["id"] === entry.sessionKey)) {
147
+ return jsonlPath;
148
+ }
149
+ }
150
+ catch { /* skip */ }
151
+ }
152
+ return null;
153
+ }
112
154
  //# sourceMappingURL=session-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/core/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/core/session-store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { DatabaseSync } from "node:sqlite";
2
2
  import type { SessionEntry } from "../core/session-store.js";
3
+ import type { SessionStats } from "../core/jsonl-parser.js";
3
4
  export declare const MODEL_PRICES: Record<string, {
4
5
  input: number;
5
6
  output: number;
@@ -65,6 +66,14 @@ export declare function sessionCostFromEntry(entry: SessionEntry, customPrices?:
65
66
  input: number;
66
67
  output: number;
67
68
  }>): SessionCost;
69
+ /**
70
+ * Build a SessionCost directly from parsed jsonl stats.
71
+ * This is the most accurate data source — usage comes from the model's own reported token counts.
72
+ */
73
+ export declare function getSessionCostFromJsonl(stats: SessionStats, sessionKey: string, customPrices?: Record<string, {
74
+ input: number;
75
+ output: number;
76
+ }>): SessionCost;
68
77
  export declare function getAllSessionCosts(db: DatabaseSync, agent: string, customPrices?: Record<string, {
69
78
  input: number;
70
79
  output: number;
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/engines/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/engines/cost.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,39 @@ export function sessionCostFromEntry(entry, customPrices = {}) {
100
100
  turns: [],
101
101
  };
102
102
  }
103
+ /**
104
+ * Build a SessionCost directly from parsed jsonl stats.
105
+ * This is the most accurate data source — usage comes from the model's own reported token counts.
106
+ */
107
+ export function getSessionCostFromJsonl(stats, sessionKey, customPrices = {}) {
108
+ const model = stats.model;
109
+ const turns = stats.turns.map((t) => ({
110
+ turnIndex: t.turnIndex,
111
+ timestamp: t.timestamp,
112
+ inputTokensDelta: t.usage.input,
113
+ outputTokensDelta: t.usage.output,
114
+ estimatedUsd: estimateCost({ input: t.usage.input, output: t.usage.output }, model, customPrices),
115
+ compactOccurred: false, // compaction analysis done separately
116
+ }));
117
+ const totalUsd = turns.reduce((s, t) => s + t.estimatedUsd, 0);
118
+ return {
119
+ sessionKey,
120
+ model,
121
+ provider: stats.provider,
122
+ // totalInput = last turn's input (= current context size in tokens)
123
+ // totalOutput = cumulative output across all turns
124
+ inputTokens: stats.totalInput,
125
+ outputTokens: stats.totalOutput,
126
+ totalTokens: stats.totalInput + stats.totalOutput,
127
+ estimatedUsd: totalUsd,
128
+ startedAt: stats.startedAt,
129
+ lastActiveAt: stats.lastActiveAt,
130
+ durationMin: Math.round((stats.lastActiveAt - stats.startedAt) / 60),
131
+ compactionCount: stats.compactionCount,
132
+ costAccurate: true,
133
+ turns,
134
+ };
135
+ }
103
136
  export function getAllSessionCosts(db, agent, customPrices = {}) {
104
137
  const keys = getAllSessionKeys(db, agent);
105
138
  return keys
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/engines/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/engines/cost.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import { runCompacts } from "./cli/commands/compacts.js";
12
12
  import { runContext } from "./cli/commands/context.js";
13
13
  import { runSuggest } from "./cli/commands/suggest.js";
14
14
  import { runMemoryList, runMemorySearch, runMemoryAdd, runMemoryEdit, runMemoryDelete, runMemorySaveCompact, } from "./cli/commands/memory.js";
15
- const VERSION = "0.2.3";
15
+ const VERSION = "0.2.5";
16
16
  const program = new Command();
17
17
  program
18
18
  .name("clawprobe")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawprobe",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "The missing observability layer for OpenClaw agents",
5
5
  "keywords": ["openclaw", "ai-agent", "context", "observability", "llm"],
6
6
  "license": "MIT",