hacklab 0.21.3 → 0.22.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 +101 -10
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +4 -0
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/setup.js +3 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/sync.js +11 -4
- package/dist/commands/sync.js.map +1 -1
- package/dist/config.d.ts +4 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/prompt-consent.d.ts +4 -6
- package/dist/prompt-consent.d.ts.map +1 -1
- package/dist/prompt-consent.js +16 -9
- package/dist/prompt-consent.js.map +1 -1
- package/dist/prompt-stats.d.ts +14 -2
- package/dist/prompt-stats.d.ts.map +1 -1
- package/dist/prompt-stats.js +83 -26
- package/dist/prompt-stats.js.map +1 -1
- package/dist/scanners/antigravity.d.ts +41 -0
- package/dist/scanners/antigravity.d.ts.map +1 -0
- package/dist/scanners/antigravity.js +210 -0
- package/dist/scanners/antigravity.js.map +1 -0
- package/dist/scanners/github-copilot-telemetry.d.ts +23 -0
- package/dist/scanners/github-copilot-telemetry.d.ts.map +1 -0
- package/dist/scanners/github-copilot-telemetry.js +220 -0
- package/dist/scanners/github-copilot-telemetry.js.map +1 -0
- package/dist/scanners/github-copilot.d.ts +68 -0
- package/dist/scanners/github-copilot.d.ts.map +1 -0
- package/dist/scanners/github-copilot.js +262 -0
- package/dist/scanners/github-copilot.js.map +1 -0
- package/dist/scanners/incremental.d.ts +19 -4
- package/dist/scanners/incremental.d.ts.map +1 -1
- package/dist/scanners/incremental.js +104 -23
- package/dist/scanners/incremental.js.map +1 -1
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +16 -2
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/util.d.ts +1 -1
- package/dist/scanners/util.d.ts.map +1 -1
- package/dist/scanners/util.js.map +1 -1
- package/dist/sync.d.ts +2 -0
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +4 -0
- package/dist/sync.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-consent.js","sourceRoot":"","sources":["../src/prompt-consent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAA;AAGnE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACzD,CAAA;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"prompt-consent.js","sourceRoot":"","sources":["../src/prompt-consent.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-stats.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { antigravityTranscriptFiles, scanAntigravityPrompts } from './scanners/antigravity.js';
|
|
1
2
|
/** Buckets are `1..bucketMax`, so the axis stays readable at any prompt length. */
|
|
2
3
|
export declare const PROMPT_LENGTH_BUCKET_MIN = 10;
|
|
3
4
|
export declare const PROMPT_LENGTH_BUCKET_MAX = 100;
|
|
@@ -56,6 +57,17 @@ export type PromptActivityAggregate = {
|
|
|
56
57
|
sessions: Record<string, PromptSessionAggregate>;
|
|
57
58
|
daily: Record<string, PromptDayAggregate>;
|
|
58
59
|
};
|
|
60
|
+
/** Prompt-only sources: no token estimates and no token harness registration. */
|
|
61
|
+
export declare const IDE_PROMPT_SOURCES: {
|
|
62
|
+
id: string;
|
|
63
|
+
files: typeof antigravityTranscriptFiles;
|
|
64
|
+
scan: typeof scanAntigravityPrompts;
|
|
65
|
+
}[];
|
|
66
|
+
export type ScannedPromptActivity = PromptActivityAggregate & {
|
|
67
|
+
/** Local-only partitions, so replacing one source never erases another. */
|
|
68
|
+
sources?: Record<string, PromptActivityAggregate>;
|
|
69
|
+
};
|
|
70
|
+
export declare function mergePromptActivities(sources: Iterable<PromptActivityAggregate>): PromptActivityAggregate;
|
|
59
71
|
export type PromptStats = {
|
|
60
72
|
totalPrompts: number;
|
|
61
73
|
bucketMax: number;
|
|
@@ -83,7 +95,7 @@ export type PromptStats = {
|
|
|
83
95
|
* which re-bases the tick's incremental state on it and works out which rows
|
|
84
96
|
* this upload still has to carry.
|
|
85
97
|
*/
|
|
86
|
-
activity:
|
|
98
|
+
activity: ScannedPromptActivity;
|
|
87
99
|
/** Only ever set under the `full` consent tier. */
|
|
88
100
|
conversationSample?: string;
|
|
89
101
|
};
|
|
@@ -196,7 +208,7 @@ export declare function buildTail(wordCounts: number[], bucketMax: number): {
|
|
|
196
208
|
*/
|
|
197
209
|
export declare function gitOriginUrl(cwd: string): Promise<string | null>;
|
|
198
210
|
/**
|
|
199
|
-
* Scan
|
|
211
|
+
* Scan local Claude Code and supported IDE/agent chat transcripts.
|
|
200
212
|
*
|
|
201
213
|
* `includeSample` gates the raw prompt text: only the `full` consent tier
|
|
202
214
|
* passes true, and the sample never touches disk here — it goes straight into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-stats.d.ts","sourceRoot":"","sources":["../src/prompt-stats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt-stats.d.ts","sourceRoot":"","sources":["../src/prompt-stats.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-stats.js
CHANGED
|
@@ -3,10 +3,12 @@ import { readFile, stat } from 'node:fs/promises';
|
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
|
+
import { antigravityTranscriptFiles, scanAntigravityPrompts, } from './scanners/antigravity.js';
|
|
7
|
+
import { githubCopilotFiles, scanGitHubCopilotPrompts, } from './scanners/github-copilot.js';
|
|
6
8
|
import { findFiles, toDateStr } from './scanners/util.js';
|
|
7
9
|
/**
|
|
8
|
-
* Prompt statistics, computed
|
|
9
|
-
*
|
|
10
|
+
* Prompt statistics, computed on this machine from supported local harness
|
|
11
|
+
* transcripts and uploaded only under an explicit consent tier (see
|
|
10
12
|
* prompt-consent.ts).
|
|
11
13
|
*
|
|
12
14
|
* Three things come out of a full scan:
|
|
@@ -102,6 +104,34 @@ export function isHarnessNoise(text) {
|
|
|
102
104
|
const start = text.trimStart();
|
|
103
105
|
return HARNESS_NOISE_PREFIXES.some((prefix) => start.startsWith(prefix));
|
|
104
106
|
}
|
|
107
|
+
/** Prompt-only sources: no token estimates and no token harness registration. */
|
|
108
|
+
export const IDE_PROMPT_SOURCES = [
|
|
109
|
+
{
|
|
110
|
+
id: 'antigravity',
|
|
111
|
+
files: antigravityTranscriptFiles,
|
|
112
|
+
scan: scanAntigravityPrompts,
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: 'github_copilot',
|
|
116
|
+
files: githubCopilotFiles,
|
|
117
|
+
scan: scanGitHubCopilotPrompts,
|
|
118
|
+
},
|
|
119
|
+
];
|
|
120
|
+
export function mergePromptActivities(sources) {
|
|
121
|
+
const merged = emptyPromptActivity();
|
|
122
|
+
for (const source of sources) {
|
|
123
|
+
for (const [id, session] of Object.entries(source.sessions)) {
|
|
124
|
+
merged.sessions[id] = { ...session };
|
|
125
|
+
}
|
|
126
|
+
for (const [date, day] of Object.entries(source.daily)) {
|
|
127
|
+
merged.daily[date] ??= { prompts: 0, words: 0 };
|
|
128
|
+
const target = merged.daily[date];
|
|
129
|
+
target.prompts += day.prompts;
|
|
130
|
+
target.words += day.words;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return merged;
|
|
134
|
+
}
|
|
105
135
|
/**
|
|
106
136
|
* The user's own prompt text from one transcript line, or null when the line
|
|
107
137
|
* isn't one.
|
|
@@ -199,9 +229,8 @@ export function normalizeTimestamp(value) {
|
|
|
199
229
|
if (typeof value !== 'string' && typeof value !== 'number')
|
|
200
230
|
return null;
|
|
201
231
|
const at = typeof value === 'number' ? value : Date.parse(value);
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
return new Date(at).toISOString();
|
|
232
|
+
const date = new Date(at);
|
|
233
|
+
return Number.isFinite(date.getTime()) ? date.toISOString() : null;
|
|
205
234
|
}
|
|
206
235
|
export function emptyPromptActivity() {
|
|
207
236
|
return { sessions: {}, daily: {} };
|
|
@@ -359,7 +388,7 @@ async function byMtimeDesc(paths) {
|
|
|
359
388
|
return stamped.sort((a, b) => b.mtimeMs - a.mtimeMs).map((f) => f.path);
|
|
360
389
|
}
|
|
361
390
|
/**
|
|
362
|
-
* Scan
|
|
391
|
+
* Scan local Claude Code and supported IDE/agent chat transcripts.
|
|
363
392
|
*
|
|
364
393
|
* `includeSample` gates the raw prompt text: only the `full` consent tier
|
|
365
394
|
* passes true, and the sample never touches disk here — it goes straight into
|
|
@@ -368,12 +397,27 @@ async function byMtimeDesc(paths) {
|
|
|
368
397
|
export async function scanPromptStats(options = {}) {
|
|
369
398
|
const root = join(homedir(), '.claude', 'projects');
|
|
370
399
|
const files = await byMtimeDesc(await findFiles(root, '.jsonl'));
|
|
371
|
-
if (files.length === 0)
|
|
372
|
-
return null;
|
|
373
400
|
const wordCounts = [];
|
|
374
401
|
const activity = emptyPromptActivity();
|
|
375
|
-
const
|
|
402
|
+
const samples = [];
|
|
376
403
|
let sampleChars = 0;
|
|
404
|
+
const addSample = (text, timestamp) => {
|
|
405
|
+
if (!options.includeSample)
|
|
406
|
+
return;
|
|
407
|
+
const at = timestamp ? Date.parse(timestamp) : 0;
|
|
408
|
+
const clipped = text.slice(0, CONVERSATION_SAMPLE_MAX_CHARS);
|
|
409
|
+
const index = samples.findIndex((sample) => sample.at < at);
|
|
410
|
+
samples.splice(index < 0 ? samples.length : index, 0, { text: clipped, at });
|
|
411
|
+
sampleChars += clipped.length + 2;
|
|
412
|
+
while (samples.length > 1) {
|
|
413
|
+
const oldest = samples.at(-1);
|
|
414
|
+
if (!oldest ||
|
|
415
|
+
sampleChars - (oldest.text.length + 2) < CONVERSATION_SAMPLE_MAX_CHARS)
|
|
416
|
+
break;
|
|
417
|
+
sampleChars -= oldest.text.length + 2;
|
|
418
|
+
samples.pop();
|
|
419
|
+
}
|
|
420
|
+
};
|
|
377
421
|
// Keyed by the transcript's project directory, which is Claude Code's own
|
|
378
422
|
// grouping. The directory name is a lossy encoding of the path, so the real
|
|
379
423
|
// working directory comes from the `cwd` recorded inside the entries.
|
|
@@ -392,12 +436,6 @@ export async function scanPromptStats(options = {}) {
|
|
|
392
436
|
catch {
|
|
393
437
|
continue;
|
|
394
438
|
}
|
|
395
|
-
// Within a file the newest prompts are last, so the sample is drained in
|
|
396
|
-
// reverse after the file is read. Only collected while the budget is still
|
|
397
|
-
// open, so a full sample doesn't hold a whole history in memory.
|
|
398
|
-
const collectSample = options.includeSample === true &&
|
|
399
|
-
sampleChars < CONVERSATION_SAMPLE_MAX_CHARS;
|
|
400
|
-
const fileSample = [];
|
|
401
439
|
for (const line of content.split('\n')) {
|
|
402
440
|
if (!line.trim())
|
|
403
441
|
continue;
|
|
@@ -427,16 +465,34 @@ export async function scanPromptStats(options = {}) {
|
|
|
427
465
|
const promptLine = parsePromptLine(line);
|
|
428
466
|
if (promptLine)
|
|
429
467
|
addPromptToActivity(activity, promptLine);
|
|
430
|
-
|
|
431
|
-
fileSample.push(text);
|
|
468
|
+
addSample(text, normalizeTimestamp(entry.timestamp));
|
|
432
469
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
470
|
+
}
|
|
471
|
+
const sources = {
|
|
472
|
+
claude_code: activity,
|
|
473
|
+
};
|
|
474
|
+
for (const source of IDE_PROMPT_SOURCES) {
|
|
475
|
+
const sourceActivity = emptyPromptActivity();
|
|
476
|
+
const prompts = await source.scan();
|
|
477
|
+
// Reverse preserves the newest-first sample order for equal timestamps.
|
|
478
|
+
for (let i = prompts.length - 1; i >= 0; i--) {
|
|
479
|
+
const prompt = prompts[i];
|
|
480
|
+
if (!prompt)
|
|
481
|
+
continue;
|
|
482
|
+
const words = countWords(prompt.text);
|
|
483
|
+
if (words === 0)
|
|
484
|
+
continue;
|
|
485
|
+
wordCounts.push(words);
|
|
486
|
+
if (prompt.timestamp) {
|
|
487
|
+
addPromptToActivity(sourceActivity, {
|
|
488
|
+
sessionId: prompt.sessionId,
|
|
489
|
+
timestamp: prompt.timestamp,
|
|
490
|
+
words,
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
addSample(prompt.text, prompt.timestamp);
|
|
439
494
|
}
|
|
495
|
+
sources[source.id] = sourceActivity;
|
|
440
496
|
}
|
|
441
497
|
if (wordCounts.length === 0)
|
|
442
498
|
return null;
|
|
@@ -447,10 +503,11 @@ export async function scanPromptStats(options = {}) {
|
|
|
447
503
|
histogram: buildHistogram(wordCounts, bucketMax),
|
|
448
504
|
tail: buildTail(wordCounts, bucketMax),
|
|
449
505
|
projects: await resolveProjects(byProjectDir),
|
|
450
|
-
activity,
|
|
506
|
+
activity: { ...mergePromptActivities(Object.values(sources)), sources },
|
|
451
507
|
};
|
|
452
|
-
if (options.includeSample &&
|
|
453
|
-
stats.conversationSample =
|
|
508
|
+
if (options.includeSample && samples.length > 0) {
|
|
509
|
+
stats.conversationSample = samples
|
|
510
|
+
.map((sample) => sample.text)
|
|
454
511
|
.join('\n\n')
|
|
455
512
|
.slice(0, CONVERSATION_SAMPLE_MAX_CHARS);
|
|
456
513
|
}
|
package/dist/prompt-stats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-stats.js","sourceRoot":"","sources":["../src/prompt-stats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-stats.js","sourceRoot":"","sources":["../src/prompt-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ScanResult } from './util.js';
|
|
2
|
+
/**
|
|
3
|
+
* Source: github.com/mehdawimohamed/antigravity-conversation-exporter/export_chat.py
|
|
4
|
+
* Layout: brain/<UUID>/.system_generated/logs/transcript[_full].jsonl.
|
|
5
|
+
* Readable transcripts only. A session can have both variants;
|
|
6
|
+
* `transcript_full.jsonl` is preferred by scanAntigravityPrompts().
|
|
7
|
+
*/
|
|
8
|
+
export declare function antigravityTranscriptFiles(): Promise<string[]>;
|
|
9
|
+
export type AntigravityPrompt = {
|
|
10
|
+
text: string;
|
|
11
|
+
/** Stable source-prefixed conversation UUID, shared across CLI/IDE copies. */
|
|
12
|
+
sessionId: string;
|
|
13
|
+
/** Transcript timestamp when supplied; never inferred from file metadata. */
|
|
14
|
+
timestamp: string | null;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Parse a legacy IDE transcript line. The public exporter identifies a typed
|
|
18
|
+
* user prompt as `source: USER_EXPLICIT`, `type: USER_INPUT`, with a
|
|
19
|
+
* `USER_REQUEST` body. It prefers `created_at`, falling back to the legacy
|
|
20
|
+
* `timestamp`; absent or invalid timestamps remain null rather than guessed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseAntigravityLegacyPromptLine(line: string, sessionId: string): AntigravityPrompt | null;
|
|
23
|
+
/** Read each conversation once even when both storage roots retain a copy. */
|
|
24
|
+
export declare function scanAntigravityPrompts(): Promise<AntigravityPrompt[]>;
|
|
25
|
+
/** Fingerprint WAL writes too; the read-only reader sees them after checkpoint. */
|
|
26
|
+
export declare function antigravityTokenFiles(): Promise<string[]>;
|
|
27
|
+
export type AntigravityUsage = {
|
|
28
|
+
date: string;
|
|
29
|
+
model: string;
|
|
30
|
+
tokens: number;
|
|
31
|
+
responseId: string | null;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Source: Eneasf/antigravity-token-dashboard docs/TELEMETRY_SPEC.md.
|
|
35
|
+
* steps.metadata: field 1 Timestamp, field 9 UsageMetadata. Input field 2 is
|
|
36
|
+
* uncached; field 5 is cached input; output field 3 already includes reasoning
|
|
37
|
+
* (fields 9 and 10). Never add those output subsets again.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseAntigravityUsage(metadata: Uint8Array): AntigravityUsage | null;
|
|
40
|
+
export declare function scanAntigravity(): Promise<ScanResult>;
|
|
41
|
+
//# sourceMappingURL=antigravity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../src/scanners/antigravity.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAY3C;;;;;GAKG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAepE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,iBAAiB,GAAG,IAAI,CAoC1B;AAED,8EAA8E;AAC9E,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAyB3E;AAqBD,mFAAmF;AACnF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAK/D;AAiCD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,GACnB,gBAAgB,GAAG,IAAI,CAsCzB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CA+B3D"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { basename, dirname, join } from 'node:path';
|
|
4
|
+
import protobuf from 'protobufjs/minimal.js';
|
|
5
|
+
import { queryDb } from './sqlite.js';
|
|
6
|
+
import { findFiles, TokenCollector } from './util.js';
|
|
7
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
8
|
+
/** Current shared Antigravity storage and the older IDE-specific directory. */
|
|
9
|
+
function antigravityRoots() {
|
|
10
|
+
return ['antigravity', 'antigravity-cli', 'antigravity-ide'].map((name) => join(homedir(), '.gemini', name));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Source: github.com/mehdawimohamed/antigravity-conversation-exporter/export_chat.py
|
|
14
|
+
* Layout: brain/<UUID>/.system_generated/logs/transcript[_full].jsonl.
|
|
15
|
+
* Readable transcripts only. A session can have both variants;
|
|
16
|
+
* `transcript_full.jsonl` is preferred by scanAntigravityPrompts().
|
|
17
|
+
*/
|
|
18
|
+
export async function antigravityTranscriptFiles() {
|
|
19
|
+
const files = (await Promise.all(antigravityRoots().map((root) => findFiles(join(root, 'brain'), '.jsonl')))).flat();
|
|
20
|
+
return files.filter((file) => {
|
|
21
|
+
const name = basename(file);
|
|
22
|
+
return (basename(dirname(file)) === 'logs' &&
|
|
23
|
+
basename(dirname(dirname(file))) === '.system_generated' &&
|
|
24
|
+
(name === 'transcript.jsonl' || name === 'transcript_full.jsonl') &&
|
|
25
|
+
UUID.test(basename(dirname(dirname(dirname(file))))));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parse a legacy IDE transcript line. The public exporter identifies a typed
|
|
30
|
+
* user prompt as `source: USER_EXPLICIT`, `type: USER_INPUT`, with a
|
|
31
|
+
* `USER_REQUEST` body. It prefers `created_at`, falling back to the legacy
|
|
32
|
+
* `timestamp`; absent or invalid timestamps remain null rather than guessed.
|
|
33
|
+
*/
|
|
34
|
+
export function parseAntigravityLegacyPromptLine(line, sessionId) {
|
|
35
|
+
let parsed;
|
|
36
|
+
try {
|
|
37
|
+
parsed = JSON.parse(line);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (!parsed || typeof parsed !== 'object')
|
|
43
|
+
return null;
|
|
44
|
+
const entry = parsed;
|
|
45
|
+
if (entry.source !== 'USER_EXPLICIT' ||
|
|
46
|
+
entry.type !== 'USER_INPUT' ||
|
|
47
|
+
typeof entry.content !== 'string') {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const request = entry.content.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/)?.[1];
|
|
51
|
+
if (!request || !request.trim())
|
|
52
|
+
return null;
|
|
53
|
+
return {
|
|
54
|
+
text: request,
|
|
55
|
+
sessionId: `antigravity-ide:${sessionId}`,
|
|
56
|
+
timestamp: normalizeTimestamp(entry.created_at) ??
|
|
57
|
+
normalizeTimestamp(entry.timestamp),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Read each conversation once even when both storage roots retain a copy. */
|
|
61
|
+
export async function scanAntigravityPrompts() {
|
|
62
|
+
const files = await antigravityTranscriptFiles();
|
|
63
|
+
const preferred = new Map();
|
|
64
|
+
for (const file of files) {
|
|
65
|
+
const sessionId = basename(dirname(dirname(dirname(file))));
|
|
66
|
+
const current = preferred.get(sessionId);
|
|
67
|
+
if (!current || basename(file) === 'transcript_full.jsonl') {
|
|
68
|
+
preferred.set(sessionId, file);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const prompts = [];
|
|
72
|
+
for (const [sessionId, file] of preferred) {
|
|
73
|
+
let content;
|
|
74
|
+
try {
|
|
75
|
+
content = await readFile(file, 'utf8');
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
for (const line of content.split(/\r?\n/)) {
|
|
81
|
+
const prompt = parseAntigravityLegacyPromptLine(line, sessionId);
|
|
82
|
+
if (prompt)
|
|
83
|
+
prompts.push(prompt);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return prompts;
|
|
87
|
+
}
|
|
88
|
+
function normalizeTimestamp(value) {
|
|
89
|
+
if (typeof value !== 'string' && typeof value !== 'number')
|
|
90
|
+
return null;
|
|
91
|
+
const time = typeof value === 'number' ? value : Date.parse(value);
|
|
92
|
+
const date = new Date(time);
|
|
93
|
+
return Number.isFinite(date.getTime()) ? date.toISOString() : null;
|
|
94
|
+
}
|
|
95
|
+
async function antigravityConversationDbs() {
|
|
96
|
+
return (await Promise.all(antigravityRoots().map((root) => findFiles(join(root, 'conversations'), '.db'))))
|
|
97
|
+
.flat()
|
|
98
|
+
.filter((path) => UUID.test(basename(path, '.db')));
|
|
99
|
+
}
|
|
100
|
+
/** Fingerprint WAL writes too; the read-only reader sees them after checkpoint. */
|
|
101
|
+
export async function antigravityTokenFiles() {
|
|
102
|
+
return (await antigravityConversationDbs()).flatMap((path) => [
|
|
103
|
+
path,
|
|
104
|
+
`${path}-wal`,
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
107
|
+
function protoFields(bytes) {
|
|
108
|
+
const reader = protobuf.Reader.create(bytes);
|
|
109
|
+
const fields = new Map();
|
|
110
|
+
while (reader.pos < reader.len) {
|
|
111
|
+
const tag = reader.uint32();
|
|
112
|
+
const field = tag >>> 3;
|
|
113
|
+
if (field === 0)
|
|
114
|
+
throw new Error('invalid protobuf field');
|
|
115
|
+
switch (tag & 7) {
|
|
116
|
+
case 0:
|
|
117
|
+
fields.set(field, Number(reader.uint64()));
|
|
118
|
+
break;
|
|
119
|
+
case 2:
|
|
120
|
+
fields.set(field, reader.bytes());
|
|
121
|
+
break;
|
|
122
|
+
default:
|
|
123
|
+
reader.skipType(tag & 7);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return fields;
|
|
127
|
+
}
|
|
128
|
+
function tokenField(fields, field) {
|
|
129
|
+
const value = fields.get(field) ?? 0;
|
|
130
|
+
if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
|
|
131
|
+
throw new Error('invalid token count');
|
|
132
|
+
}
|
|
133
|
+
return value;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Source: Eneasf/antigravity-token-dashboard docs/TELEMETRY_SPEC.md.
|
|
137
|
+
* steps.metadata: field 1 Timestamp, field 9 UsageMetadata. Input field 2 is
|
|
138
|
+
* uncached; field 5 is cached input; output field 3 already includes reasoning
|
|
139
|
+
* (fields 9 and 10). Never add those output subsets again.
|
|
140
|
+
*/
|
|
141
|
+
export function parseAntigravityUsage(metadata) {
|
|
142
|
+
try {
|
|
143
|
+
const fields = protoFields(metadata);
|
|
144
|
+
const timeBytes = fields.get(1);
|
|
145
|
+
const usageBytes = fields.get(9);
|
|
146
|
+
if (!(timeBytes instanceof Uint8Array) ||
|
|
147
|
+
!(usageBytes instanceof Uint8Array))
|
|
148
|
+
return null;
|
|
149
|
+
const time = protoFields(timeBytes);
|
|
150
|
+
if (!time.has(1))
|
|
151
|
+
return null;
|
|
152
|
+
const seconds = tokenField(time, 1);
|
|
153
|
+
const nanos = tokenField(time, 2);
|
|
154
|
+
if (nanos >= 1_000_000_000)
|
|
155
|
+
return null;
|
|
156
|
+
const at = new Date(seconds * 1000 + Math.floor(nanos / 1_000_000));
|
|
157
|
+
if (!Number.isFinite(at.getTime()))
|
|
158
|
+
return null;
|
|
159
|
+
const usage = protoFields(usageBytes);
|
|
160
|
+
const tokens = tokenField(usage, 2) + tokenField(usage, 3) + tokenField(usage, 5);
|
|
161
|
+
if (!Number.isSafeInteger(tokens) || tokens <= 0)
|
|
162
|
+
return null;
|
|
163
|
+
const modelId = tokenField(usage, 1);
|
|
164
|
+
// Preserve the actual enum: unofficial name tables disagree across builds.
|
|
165
|
+
const model = modelId ? `antigravity-model-${modelId}` : '';
|
|
166
|
+
const response = usage.get(11);
|
|
167
|
+
return {
|
|
168
|
+
date: at.toISOString().slice(0, 10),
|
|
169
|
+
model,
|
|
170
|
+
tokens,
|
|
171
|
+
responseId: response instanceof Uint8Array
|
|
172
|
+
? Buffer.from(response).toString('utf8').trim() || null
|
|
173
|
+
: null,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// An unknown/truncated protobuf is not evidence of token usage.
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
export async function scanAntigravity() {
|
|
182
|
+
const collector = new TokenCollector('antigravity');
|
|
183
|
+
const generations = new Map();
|
|
184
|
+
for (const path of await antigravityConversationDbs()) {
|
|
185
|
+
try {
|
|
186
|
+
const rows = await queryDb(path, 'SELECT idx, metadata FROM steps WHERE step_type = 15 ORDER BY idx');
|
|
187
|
+
for (const [index, metadata] of rows) {
|
|
188
|
+
if (typeof index !== 'number' || !(metadata instanceof Uint8Array))
|
|
189
|
+
continue;
|
|
190
|
+
const usage = parseAntigravityUsage(metadata);
|
|
191
|
+
if (!usage)
|
|
192
|
+
continue;
|
|
193
|
+
const key = usage.responseId
|
|
194
|
+
? `response:${usage.responseId}`
|
|
195
|
+
: `step:${basename(path, '.db')}:${index}`;
|
|
196
|
+
const previous = generations.get(key);
|
|
197
|
+
if (!previous || usage.tokens > previous.tokens)
|
|
198
|
+
generations.set(key, usage);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
console.warn(`Antigravity usage unavailable in ${basename(path)}: ${error instanceof Error ? error.message : String(error)}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
for (const usage of generations.values()) {
|
|
206
|
+
collector.addDaily(usage.date, usage.model, usage.tokens, 1);
|
|
207
|
+
}
|
|
208
|
+
return collector.result();
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=antigravity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/scanners/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,IAAI,GAAG,iEAAiE,CAAA;AAE9E,+EAA+E;AAC/E,SAAS,gBAAgB;IACvB,OAAO,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CACjC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,KAAK,GAAG,CACZ,MAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAC3E,CACF,CAAC,IAAI,EAAE,CAAA;IACR,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,CACL,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM;YAClC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,mBAAmB;YACxD,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,uBAAuB,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAY,EACZ,SAAiB;IAEjB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEtD,MAAM,KAAK,GAAG,MAMb,CAAA;IACD,IACE,KAAK,CAAC,MAAM,KAAK,eAAe;QAChC,KAAK,CAAC,IAAI,KAAK,YAAY;QAC3B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CACjC,0CAA0C,CAC3C,EAAE,CAAC,CAAC,CAAC,CAAA;IACN,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAE5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,SAAS,EACP,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC;YACpC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;KACtC,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,KAAK,GAAG,MAAM,0BAA0B,EAAE,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,uBAAuB,EAAE,CAAC;YAC3D,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,IAAI,OAAe,CAAA;QACnB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,gCAAgC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YAChE,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACpE,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,CAC9C,CACF,CACF;SACE,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,OAAO,CAAC,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,IAAI;QACJ,GAAG,IAAI,MAAM;KACd,CAAC,CAAA;AACJ,CAAC;AAID,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAA;QACvB,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC1D,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC1C,MAAK;YACP,KAAK,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;gBACjC,MAAK;YACP;gBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,KAAa;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChC,IACE,CAAC,CAAC,SAAS,YAAY,UAAU,CAAC;YAClC,CAAC,CAAC,UAAU,YAAY,UAAU,CAAC;YAEnC,OAAO,IAAI,CAAA;QACb,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACjC,IAAI,KAAK,IAAI,aAAa;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;QACrC,MAAM,MAAM,GACV,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACpC,2EAA2E;QAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC9B,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACnC,KAAK;YACL,MAAM;YACN,UAAU,EACR,QAAQ,YAAY,UAAU;gBAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;gBACvD,CAAC,CAAC,IAAI;SACX,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAA;IACvD,KAAK,MAAM,IAAI,IAAI,MAAM,0BAA0B,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,IAAI,EACJ,mEAAmE,CACpE,CAAA;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,UAAU,CAAC;oBAChE,SAAQ;gBACV,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;gBAC7C,IAAI,CAAC,KAAK;oBAAE,SAAQ;gBACpB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU;oBAC1B,CAAC,CAAC,YAAY,KAAK,CAAC,UAAU,EAAE;oBAChC,CAAC,CAAC,QAAQ,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAA;gBAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACrC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;oBAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,oCAAoC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChH,CAAA;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QACzC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type CopilotTelemetrySources = {
|
|
2
|
+
files: string[];
|
|
3
|
+
databases: string[];
|
|
4
|
+
};
|
|
5
|
+
export type CopilotInference = {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
model: string;
|
|
8
|
+
timestamp: string;
|
|
9
|
+
tokens: number;
|
|
10
|
+
};
|
|
11
|
+
/** Discover only Copilot-owned exports; never sweep generic agent telemetry. */
|
|
12
|
+
export declare function copilotTelemetrySources(userDirs: string[]): Promise<CopilotTelemetrySources>;
|
|
13
|
+
/**
|
|
14
|
+
* VS Code's SQLiteSpanExporter preserves SDK trace/span IDs, including embedded
|
|
15
|
+
* CLI spans. Count completed native Copilot trace leaves only, deduplicating the
|
|
16
|
+
* DB and file exports. Require the owning agent span: a Claude/Codex delegate's
|
|
17
|
+
* usage belongs to its native scanner, and a model called Claude is not itself
|
|
18
|
+
* evidence that the harness was Claude Code.
|
|
19
|
+
* Sources: microsoft/vscode extensions/copilot/src/platform/otel/node/{
|
|
20
|
+
* fileExporters.ts,sqlite/sqliteSpanExporter.ts,sqlite/otelSqliteStore.ts}.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readCopilotTelemetry(sources: CopilotTelemetrySources): Promise<CopilotInference[]>;
|
|
23
|
+
//# sourceMappingURL=github-copilot-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-copilot-telemetry.d.ts","sourceRoot":"","sources":["../../src/scanners/github-copilot-telemetry.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,uBAAuB,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAC9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAiBD,gFAAgF;AAChF,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,uBAAuB,CAAC,CA0ClC;AAgDD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoJ7B"}
|