@prism-d1/cli 1.0.59 → 1.0.62
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/assets/metric-hooks/README.md +21 -12
- package/dist/src/commands/git/commit-trailers.d.ts.map +1 -1
- package/dist/src/commands/git/commit-trailers.js +39 -5
- package/dist/src/commands/git/commit-trailers.js.map +1 -1
- package/dist/src/commands/parse-code-tool/kiro-ide.d.ts.map +1 -1
- package/dist/src/commands/parse-code-tool/kiro-ide.js +67 -13
- package/dist/src/commands/parse-code-tool/kiro-ide.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ Every commit gets trailers appended to the message:
|
|
|
9
9
|
```
|
|
10
10
|
feat: add order creation endpoint
|
|
11
11
|
|
|
12
|
-
AI-Origin: ai-
|
|
12
|
+
AI-Origin: ai-generated
|
|
13
13
|
AI-Tool: claude-code
|
|
14
14
|
AI-Model: us.anthropic.claude-sonnet-4-5-20250929-v1:0
|
|
15
15
|
AI-Input-Tokens: 12450
|
|
@@ -38,31 +38,40 @@ To remove:
|
|
|
38
38
|
bash prism-cli bootstrapper install-git-hooks --uninstall
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
The installer also registers a Claude Code `SessionStart` hook in
|
|
42
|
+
`~/.claude/settings.json` (served by `prism-cli git claude-session-context`).
|
|
43
|
+
It captures the Claude session id into the environment so commits made during a
|
|
44
|
+
Claude Code session are attributed correctly.
|
|
45
|
+
|
|
41
46
|
## Prerequisites
|
|
42
47
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
48
|
+
- **prism-cli** — Runs the hook logic (`prism-cli git commit-trailers`). Install: `npm install -g @prism-d1/cli`
|
|
49
|
+
- **codeburn** *(optional)* — Token usage tracking for non-Kiro tools. Install: `npm install -g codeburn` (or `brew install codeburn` on macOS). Kiro sessions are parsed directly by prism-cli, no codeburn needed.
|
|
50
|
+
|
|
51
|
+
> The hook is a thin bash delegator to prism-cli. It requires only `git` and
|
|
52
|
+
> `bash` (with `prism-cli` on PATH) — **no `jq`, `bc`, or `sed`** — so it works
|
|
53
|
+
> on Linux, macOS, and Windows Git Bash. If `prism-cli` is not installed, the
|
|
54
|
+
> commit proceeds normally without trailers.
|
|
45
55
|
|
|
46
56
|
## How AI Detection Works
|
|
47
57
|
|
|
48
|
-
The hook checks for AI tool involvement:
|
|
58
|
+
The hook (via `prism-cli git commit-trailers`) checks for AI tool involvement, in order:
|
|
49
59
|
|
|
50
60
|
1. **Claude Code**: `CLAUDE_CODE` or `CLAUDE_CODE_SESSION_ID` environment variable
|
|
51
|
-
2. **Kiro**: `KIRO_SESSION`
|
|
61
|
+
2. **Kiro**: `KIRO_SESSION_ID` / `KIRO_SESSION` env var, `TERM_PROGRAM=kiro` (IDE terminal), or a `kiro` path in `VSCODE_GIT_ASKPASS_NODE` / `GIT_ASKPASS` (Source Control panel commits)
|
|
52
62
|
3. **Q Developer**: `Q_DEVELOPER_SESSION` environment variable
|
|
53
|
-
4. **
|
|
54
|
-
5. **Default**: No indicators → `AI-Origin: human`
|
|
63
|
+
4. **Default**: No indicators → `AI-Origin: human`
|
|
55
64
|
|
|
56
65
|
## Token Tracking
|
|
57
66
|
|
|
58
|
-
When an AI tool is detected
|
|
67
|
+
When an AI tool is detected, the hook computes a per-commit delta:
|
|
59
68
|
|
|
60
|
-
1.
|
|
61
|
-
2. Compares against a snapshot from the previous commit (
|
|
69
|
+
1. Collects lifetime token totals — Kiro sessions are parsed directly by prism-cli; other tools use `codeburn report -p all --format json`
|
|
70
|
+
2. Compares against a snapshot from the previous commit (`~/.prism/tokentracker/<project-basename>.json`)
|
|
62
71
|
3. Writes the delta as `AI-Input-Tokens` and `AI-Output-Tokens` trailers
|
|
63
72
|
4. Saves the new snapshot for next time
|
|
64
73
|
|
|
65
|
-
If
|
|
74
|
+
If no usage data is available (e.g. codeburn absent for a non-Kiro tool) or no AI tool is detected, token trailers are omitted.
|
|
66
75
|
|
|
67
76
|
## Configuration
|
|
68
77
|
|
|
@@ -92,7 +101,7 @@ Values exceeding bounds are clamped to the configured maximum. The workflow (`pr
|
|
|
92
101
|
|
|
93
102
|
## Safety
|
|
94
103
|
|
|
95
|
-
- Never blocks a commit — exits 0 even if codeburn or
|
|
104
|
+
- Never blocks a commit — exits 0 even if prism-cli or codeburn is missing or errors
|
|
96
105
|
- Only appends trailers — never modifies code
|
|
97
106
|
- Skips merge and squash commits
|
|
98
107
|
- Won't duplicate trailers if already present
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit-trailers.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"commit-trailers.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":";;;;;;iBA4JqB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;AAP/E,wBAkGE"}
|
|
@@ -38,6 +38,18 @@ function detectTool() {
|
|
|
38
38
|
origin = 'ai-generated';
|
|
39
39
|
tool = 'q-developer';
|
|
40
40
|
}
|
|
41
|
+
// Cursor (VS Code fork). Checked LAST so any commit made from within Cursor
|
|
42
|
+
// wins the single AI-Tool slot, even when another agent's session env vars are
|
|
43
|
+
// also present (e.g. a CLI agent run inside Cursor's integrated terminal).
|
|
44
|
+
// TERM_PROGRAM=vscode is NOT usable (Cursor inherits VS Code's value), so key
|
|
45
|
+
// off CURSOR_AGENT / CURSOR_TRACE_ID or the askpass path Cursor injects into
|
|
46
|
+
// its terminal + Source Control panel, which contains 'cursor'.
|
|
47
|
+
const cursorAskpass = `${env.VSCODE_GIT_ASKPASS_NODE || ''} ${env.VSCODE_GIT_ASKPASS_MAIN || ''} ${env.GIT_ASKPASS || ''}`.toLowerCase();
|
|
48
|
+
if (env.CURSOR_AGENT === '1' || env.CURSOR_TRACE_ID || cursorAskpass.includes('cursor')) {
|
|
49
|
+
origin = 'ai-generated';
|
|
50
|
+
tool = 'cursor';
|
|
51
|
+
model = '';
|
|
52
|
+
}
|
|
41
53
|
return { origin, tool, model };
|
|
42
54
|
}
|
|
43
55
|
/** Find a spec reference: an explicit Spec-Ref in the message wins, else a staged spec file. */
|
|
@@ -54,12 +66,17 @@ function detectSpecRef(repoRoot, msg) {
|
|
|
54
66
|
}
|
|
55
67
|
return '';
|
|
56
68
|
}
|
|
57
|
-
/** Run `codeburn report` and parse its JSON. Returns null if codeburn is absent or errors.
|
|
58
|
-
|
|
69
|
+
/** Run `codeburn report` and parse its JSON. Returns null if codeburn is absent or errors.
|
|
70
|
+
* `provider` (optional) maps to codeburn's `--provider` filter (e.g. 'cursor', 'claude').
|
|
71
|
+
* It is always a fixed internal literal — never user/LLM input — so the Windows shell
|
|
72
|
+
* interpolation below is not an injection vector. */
|
|
73
|
+
function runCodeburn(projectFilter, provider) {
|
|
59
74
|
const isWin = process.platform === 'win32';
|
|
75
|
+
const providerArgs = provider ? ['--provider', provider] : [];
|
|
76
|
+
const providerCmd = provider ? `--provider ${provider} ` : '';
|
|
60
77
|
const r = isWin
|
|
61
|
-
? spawnSync(`codeburn report -p all --project "${projectFilter}" --format json`, { encoding: 'utf8', shell: true })
|
|
62
|
-
: spawnSync('codeburn', ['report', '-p', 'all', '--project', projectFilter, '--format', 'json'], { encoding: 'utf8' });
|
|
78
|
+
? spawnSync(`codeburn report -p all ${providerCmd}--project "${projectFilter}" --format json`, { encoding: 'utf8', shell: true })
|
|
79
|
+
: spawnSync('codeburn', ['report', '-p', 'all', ...providerArgs, '--project', projectFilter, '--format', 'json'], { encoding: 'utf8' });
|
|
63
80
|
if (!r || r.status !== 0 || !r.stdout)
|
|
64
81
|
return null;
|
|
65
82
|
try {
|
|
@@ -81,6 +98,15 @@ async function collectUsage(tool, projectBasename, projectFilter) {
|
|
|
81
98
|
}
|
|
82
99
|
return out;
|
|
83
100
|
}
|
|
101
|
+
// cursor → codeburn with the cursor provider filter (codeburn natively tracks
|
|
102
|
+
// Cursor usage). Isolating to --provider cursor keeps its snapshot delta from
|
|
103
|
+
// being polluted by other providers' totals.
|
|
104
|
+
if (tool === 'cursor') {
|
|
105
|
+
let out = runCodeburn(projectFilter, 'cursor');
|
|
106
|
+
if (!out || out.overview.calls === 0)
|
|
107
|
+
out = runCodeburn(projectBasename, 'cursor');
|
|
108
|
+
return out;
|
|
109
|
+
}
|
|
84
110
|
// claude-code / q-developer → codeburn (full-path slug, then basename fallback)
|
|
85
111
|
let out = runCodeburn(projectFilter);
|
|
86
112
|
if (!out || out.overview.calls === 0)
|
|
@@ -146,7 +172,15 @@ export default {
|
|
|
146
172
|
const curOut = sumTokens(usage, 'outputTokens');
|
|
147
173
|
const curCost = usage.overview?.cost ?? 0;
|
|
148
174
|
const trackerDir = resolve(homedir(), '.prism', 'tokentracker');
|
|
149
|
-
|
|
175
|
+
// Snapshot baselines are keyed by (project, tool) so each tool's cumulative
|
|
176
|
+
// usage is isolated. Mixing tools in a single file corrupts deltas because
|
|
177
|
+
// their cumulative bases are not comparable — e.g. a per-session Kiro CLI
|
|
178
|
+
// total vs a lifetime Kiro IDE total, or codeburn's real provider counts vs
|
|
179
|
+
// char-estimated counts. Older un-keyed <project>.json files from before this
|
|
180
|
+
// change are left orphaned (never read again); the first commit per
|
|
181
|
+
// (project, tool) finds no baseline and correctly reports a 0 delta while
|
|
182
|
+
// establishing the new baseline.
|
|
183
|
+
const trackerFile = resolve(trackerDir, `${projectBasename}.${tool}.json`);
|
|
150
184
|
if (existsSync(trackerFile)) {
|
|
151
185
|
try {
|
|
152
186
|
const prev = JSON.parse(readFileSync(trackerFile, 'utf8'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit-trailers.js","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commit-trailers.js","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-ide.d.ts","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"kiro-ide.d.ts","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgOpD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA+G5G;;;;;;;;;;;;iBASoB;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;AAPzE,wBAoBE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { readdir, readFile } from 'node:fs/promises';
|
|
3
|
-
import { basename, extname, join } from 'node:path';
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
3
|
+
import { basename, dirname, extname, join } from 'node:path';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
const CHARS_PER_TOKEN = 4;
|
|
6
6
|
const MIN_REASONABLE_TIMESTAMP_MS = 1_000_000_000_000;
|
|
@@ -212,6 +212,43 @@ async function parseSessionFile(filePath, project, sessionProjectMap, targetProj
|
|
|
212
212
|
const outputTokens = Math.ceil((outputChars / CHARS_PER_TOKEN) * projectFraction);
|
|
213
213
|
return { model: modelId, inputTokens, outputTokens, costUSD: calculateCost(modelId, inputTokens, outputTokens), timestamp: ts, project: resolvedProject };
|
|
214
214
|
}
|
|
215
|
+
// ---------------------------------------------------------------------------
|
|
216
|
+
// Per-file parse cache (keyed by mtime)
|
|
217
|
+
//
|
|
218
|
+
// Parsing every Kiro session file on every invocation is the dominant cost,
|
|
219
|
+
// especially on hosts where all sessions live under one hash workspace. Since
|
|
220
|
+
// the commit hook re-runs on every commit, we cache each file's parsed result
|
|
221
|
+
// keyed by its mtime and only re-parse files that changed. Lifetime totals are
|
|
222
|
+
// preserved (we still sum every current file), so the snapshot-delta math in
|
|
223
|
+
// `git commit-trailers` stays correct.
|
|
224
|
+
//
|
|
225
|
+
// The cache is scoped per target project (the resolved project + token split
|
|
226
|
+
// depend on the target), so we key the cache file by target project name.
|
|
227
|
+
// `null` results are cached too, to avoid re-parsing files that yield no usage.
|
|
228
|
+
// Bump CACHE_VERSION whenever parsing/costing logic changes to force a rebuild.
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
const CACHE_VERSION = 1;
|
|
231
|
+
function cachePath(targetProject) {
|
|
232
|
+
const key = (targetProject && targetProject.length ? targetProject : '__all__').replace(/[^a-zA-Z0-9_.-]/g, '_');
|
|
233
|
+
return join(homedir(), '.prism', 'tokentracker', 'kiro-ide-cache', `${key}.json`);
|
|
234
|
+
}
|
|
235
|
+
function loadCache(targetProject) {
|
|
236
|
+
try {
|
|
237
|
+
const data = JSON.parse(readFileSync(cachePath(targetProject), 'utf-8'));
|
|
238
|
+
if (data && data.version === CACHE_VERSION && data.entries && typeof data.entries === 'object')
|
|
239
|
+
return data;
|
|
240
|
+
}
|
|
241
|
+
catch { /* missing/corrupt/stale-version cache → rebuild */ }
|
|
242
|
+
return { version: CACHE_VERSION, entries: {} };
|
|
243
|
+
}
|
|
244
|
+
function saveCache(targetProject, cache) {
|
|
245
|
+
try {
|
|
246
|
+
const p = cachePath(targetProject);
|
|
247
|
+
mkdirSync(dirname(p), { recursive: true });
|
|
248
|
+
writeFileSync(p, JSON.stringify(cache));
|
|
249
|
+
}
|
|
250
|
+
catch { /* non-fatal — cache is an optimization only */ }
|
|
251
|
+
}
|
|
215
252
|
const EMPTY_OUTPUT = { overview: { cost: 0, calls: 0, sessions: 0 }, models: [], projects: [] };
|
|
216
253
|
/**
|
|
217
254
|
* Parse Kiro IDE session files into codeburn-compatible token usage.
|
|
@@ -260,6 +297,9 @@ export async function collectKiroIde(targetProject, period = 'all') {
|
|
|
260
297
|
return EMPTY_OUTPUT;
|
|
261
298
|
}
|
|
262
299
|
const calls = [];
|
|
300
|
+
// Collect candidate session files (with their workspace project) first, then
|
|
301
|
+
// resolve each through the mtime cache — only changed/new files are parsed.
|
|
302
|
+
const candidates = [];
|
|
263
303
|
for (const wsHash of workspaceDirs) {
|
|
264
304
|
const wsPath = join(agentDir, wsHash);
|
|
265
305
|
const project = await readWorkspaceProject(join(wsStorageDir, wsHash));
|
|
@@ -277,11 +317,7 @@ export async function collectKiroIde(targetProject, period = 'all') {
|
|
|
277
317
|
continue;
|
|
278
318
|
const entryPath = join(wsPath, entry.name);
|
|
279
319
|
if (entry.isFile() && (entry.name.endsWith('.chat') || extname(entry.name) === '')) {
|
|
280
|
-
|
|
281
|
-
if (call) {
|
|
282
|
-
if (!targetProject || call.project === targetProject)
|
|
283
|
-
calls.push(call);
|
|
284
|
-
}
|
|
320
|
+
candidates.push({ filePath: entryPath, project });
|
|
285
321
|
continue;
|
|
286
322
|
}
|
|
287
323
|
if (!entry.isDirectory())
|
|
@@ -290,14 +326,32 @@ export async function collectKiroIde(targetProject, period = 'all') {
|
|
|
290
326
|
for (const child of children) {
|
|
291
327
|
if (child.name.startsWith('.') || !child.isFile() || extname(child.name) !== '')
|
|
292
328
|
continue;
|
|
293
|
-
|
|
294
|
-
if (call) {
|
|
295
|
-
if (!targetProject || call.project === targetProject)
|
|
296
|
-
calls.push(call);
|
|
297
|
-
}
|
|
329
|
+
candidates.push({ filePath: join(entryPath, child.name), project });
|
|
298
330
|
}
|
|
299
331
|
}
|
|
300
332
|
}
|
|
333
|
+
// Process candidates through the mtime cache. Unchanged files reuse their
|
|
334
|
+
// cached parse result; changed/new files are re-parsed. Deleted files simply
|
|
335
|
+
// don't appear in `candidates`, so they fall out of the rebuilt cache.
|
|
336
|
+
const prevCache = loadCache(targetProject);
|
|
337
|
+
const nextEntries = {};
|
|
338
|
+
for (const { filePath, project } of candidates) {
|
|
339
|
+
let mtimeMs;
|
|
340
|
+
try {
|
|
341
|
+
mtimeMs = (await stat(filePath)).mtimeMs;
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
continue;
|
|
345
|
+
}
|
|
346
|
+
const cached = prevCache.entries[filePath];
|
|
347
|
+
const call = (cached && cached.mtimeMs === mtimeMs)
|
|
348
|
+
? cached.call
|
|
349
|
+
: await parseSessionFile(filePath, project, sessionProjectMap, targetProject);
|
|
350
|
+
nextEntries[filePath] = { mtimeMs, call };
|
|
351
|
+
if (call && (!targetProject || call.project === targetProject))
|
|
352
|
+
calls.push(call);
|
|
353
|
+
}
|
|
354
|
+
saveCache(targetProject, { version: CACHE_VERSION, entries: nextEntries });
|
|
301
355
|
// Period filter
|
|
302
356
|
const now = Date.now();
|
|
303
357
|
const cutoffs = { today: 86400000, week: 604800000, '30days': 2592000000, all: Infinity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-ide.js","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro-ide.js","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"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"}
|