oh-my-claude-sisyphus 3.5.6 → 3.5.7
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 +58 -343
- package/commands/omc-setup.md +51 -0
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +2 -0
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/tokscale-adapter.test.js +79 -0
- package/dist/__tests__/analytics/tokscale-adapter.test.js.map +1 -0
- package/dist/analytics/cost-estimator.d.ts +14 -0
- package/dist/analytics/cost-estimator.d.ts.map +1 -1
- package/dist/analytics/cost-estimator.js +65 -0
- package/dist/analytics/cost-estimator.js.map +1 -1
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +4 -0
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/query-engine.d.ts +3 -0
- package/dist/analytics/query-engine.d.ts.map +1 -1
- package/dist/analytics/query-engine.js +87 -0
- package/dist/analytics/query-engine.js.map +1 -1
- package/dist/analytics/token-tracker.d.ts +3 -0
- package/dist/analytics/token-tracker.d.ts.map +1 -1
- package/dist/analytics/token-tracker.js +89 -0
- package/dist/analytics/token-tracker.js.map +1 -1
- package/dist/analytics/tokscale-adapter.d.ts +71 -0
- package/dist/analytics/tokscale-adapter.d.ts.map +1 -0
- package/dist/analytics/tokscale-adapter.js +223 -0
- package/dist/analytics/tokscale-adapter.js.map +1 -0
- package/dist/analytics/types.d.ts +17 -0
- package/dist/analytics/types.d.ts.map +1 -1
- package/dist/analytics/types.js +5 -0
- package/dist/analytics/types.js.map +1 -1
- package/dist/cli/analytics.js +35 -0
- package/dist/cli/analytics.js.map +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +4 -2
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +6 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/index.js +95 -35
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/tokscale-launcher.d.ts +18 -0
- package/dist/cli/utils/tokscale-launcher.d.ts.map +1 -0
- package/dist/cli/utils/tokscale-launcher.js +64 -0
- package/dist/cli/utils/tokscale-launcher.js.map +1 -0
- package/dist/features/auto-update.js +5 -5
- package/dist/features/auto-update.js.map +1 -1
- package/dist/hud/types.d.ts +6 -2
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/usage-api.d.ts.map +1 -1
- package/dist/hud/usage-api.js +13 -1
- package/dist/hud/usage-api.js.map +1 -1
- package/docs/ARCHITECTURE.md +80 -397
- package/docs/FEATURES.md +396 -1981
- package/docs/MIGRATION.md +4 -4
- package/docs/REFERENCE.md +545 -0
- package/docs/SYNC-SYSTEM.md +6 -6
- package/package.json +2 -1
- package/scripts/sync-metadata.ts +2 -2
- package/skills/omc-setup/SKILL.md +51 -0
- package/docs/FULL-README.md +0 -1001
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { PRICING } from './types.js';
|
|
2
|
+
import { lookupPricingWithFallback } from './tokscale-adapter.js';
|
|
3
|
+
/**
|
|
4
|
+
* Synchronous cost calculation using hardcoded pricing.
|
|
5
|
+
* Fast path for HUD and sync operations that need instant response.
|
|
6
|
+
*/
|
|
2
7
|
export function calculateCost(input) {
|
|
3
8
|
const pricing = getPricingForModel(input.modelName);
|
|
4
9
|
// Base input cost
|
|
@@ -20,6 +25,66 @@ export function calculateCost(input) {
|
|
|
20
25
|
totalCost
|
|
21
26
|
};
|
|
22
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Asynchronous cost calculation using live TokScale pricing.
|
|
30
|
+
* Provides up-to-date pricing with fallback to hardcoded values.
|
|
31
|
+
*/
|
|
32
|
+
export async function calculateCostAsync(input) {
|
|
33
|
+
const pricing = await lookupPricingWithFallback(input.modelName);
|
|
34
|
+
// Base input cost
|
|
35
|
+
const inputCost = (input.inputTokens / 1_000_000) * pricing.inputPerMillion;
|
|
36
|
+
// Output cost
|
|
37
|
+
const outputCost = (input.outputTokens / 1_000_000) * pricing.outputPerMillion;
|
|
38
|
+
// Cache write cost (25% markup on input price)
|
|
39
|
+
const cacheWriteCost = (input.cacheCreationTokens / 1_000_000) *
|
|
40
|
+
pricing.inputPerMillion * (1 + pricing.cacheWriteMarkup);
|
|
41
|
+
// Cache read cost (90% discount on input price)
|
|
42
|
+
const cacheReadCost = (input.cacheReadTokens / 1_000_000) *
|
|
43
|
+
pricing.inputPerMillion * (1 - pricing.cacheReadDiscount);
|
|
44
|
+
const totalCost = inputCost + outputCost + cacheWriteCost + cacheReadCost;
|
|
45
|
+
return {
|
|
46
|
+
inputCost,
|
|
47
|
+
outputCost,
|
|
48
|
+
cacheWriteCost,
|
|
49
|
+
cacheReadCost,
|
|
50
|
+
totalCost
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Batch cost calculation with efficient pricing lookup.
|
|
55
|
+
* Fetches pricing once per unique model for better performance.
|
|
56
|
+
*/
|
|
57
|
+
export async function batchCalculateCost(inputs) {
|
|
58
|
+
// Get all unique models first
|
|
59
|
+
const models = [...new Set(inputs.map(i => i.modelName))];
|
|
60
|
+
const pricingMap = new Map();
|
|
61
|
+
// Fetch pricing for all unique models
|
|
62
|
+
for (const model of models) {
|
|
63
|
+
pricingMap.set(model, await lookupPricingWithFallback(model));
|
|
64
|
+
}
|
|
65
|
+
// Calculate costs using cached pricing
|
|
66
|
+
return inputs.map(input => {
|
|
67
|
+
const pricing = pricingMap.get(input.modelName);
|
|
68
|
+
// Base input cost
|
|
69
|
+
const inputCost = (input.inputTokens / 1_000_000) * pricing.inputPerMillion;
|
|
70
|
+
// Output cost
|
|
71
|
+
const outputCost = (input.outputTokens / 1_000_000) * pricing.outputPerMillion;
|
|
72
|
+
// Cache write cost (25% markup on input price)
|
|
73
|
+
const cacheWriteCost = (input.cacheCreationTokens / 1_000_000) *
|
|
74
|
+
pricing.inputPerMillion * (1 + pricing.cacheWriteMarkup);
|
|
75
|
+
// Cache read cost (90% discount on input price)
|
|
76
|
+
const cacheReadCost = (input.cacheReadTokens / 1_000_000) *
|
|
77
|
+
pricing.inputPerMillion * (1 - pricing.cacheReadDiscount);
|
|
78
|
+
const totalCost = inputCost + outputCost + cacheWriteCost + cacheReadCost;
|
|
79
|
+
return {
|
|
80
|
+
inputCost,
|
|
81
|
+
outputCost,
|
|
82
|
+
cacheWriteCost,
|
|
83
|
+
cacheReadCost,
|
|
84
|
+
totalCost
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
}
|
|
23
88
|
function getPricingForModel(modelName) {
|
|
24
89
|
// Normalize model name
|
|
25
90
|
const normalized = normalizeModelName(modelName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-estimator.js","sourceRoot":"","sources":["../../src/analytics/cost-estimator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cost-estimator.js","sourceRoot":"","sources":["../../src/analytics/cost-estimator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAG5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAG5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAIhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,uBAAuB,CAAC"}
|
package/dist/analytics/index.js
CHANGED
|
@@ -19,6 +19,10 @@ export * from './analytics-summary.js';
|
|
|
19
19
|
export * from './transcript-scanner.js';
|
|
20
20
|
export * from './transcript-parser.js';
|
|
21
21
|
export * from './transcript-token-extractor.js';
|
|
22
|
+
// DEPRECATED: Backfill is no longer needed - tokscale reads transcripts directly
|
|
23
|
+
// Kept for backward compatibility but no longer used by CLI
|
|
22
24
|
export * from './backfill-dedup.js';
|
|
23
25
|
export * from './backfill-engine.js';
|
|
26
|
+
// Tokscale integration (replaces backfill)
|
|
27
|
+
export * from './tokscale-adapter.js';
|
|
24
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,sCAAsC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,sCAAsC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAEhD,iFAAiF;AACjF,4DAA4D;AAC5D,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,2CAA2C;AAC3C,cAAc,uBAAuB,CAAC"}
|
|
@@ -21,6 +21,9 @@ export interface UsagePattern {
|
|
|
21
21
|
}
|
|
22
22
|
export declare class QueryEngine {
|
|
23
23
|
getCostReport(period: 'daily' | 'weekly' | 'monthly'): Promise<CostReport>;
|
|
24
|
+
private getCostReportViaTokscale;
|
|
25
|
+
private getCostReportLegacy;
|
|
26
|
+
private getAgentCostFromLocalLog;
|
|
24
27
|
getUsagePatterns(): Promise<UsagePattern>;
|
|
25
28
|
cleanupOldData(retentionDays?: number): Promise<{
|
|
26
29
|
removedTokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uBAAuB,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW;IAChB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAWlE,wBAAwB;YAuDxB,mBAAmB;YAmEnB,wBAAwB;IAmChC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAiEzC,cAAc,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5G,OAAO,CAAC,kBAAkB;CAiB3B;AAKD,wBAAgB,cAAc,IAAI,WAAW,CAK5C"}
|
|
@@ -1,11 +1,67 @@
|
|
|
1
1
|
import { getTokenTracker } from './token-tracker.js';
|
|
2
2
|
import { getSessionManager } from './session-manager.js';
|
|
3
3
|
import { calculateCost } from './cost-estimator.js';
|
|
4
|
+
import { getTokscaleAdapter } from './tokscale-adapter.js';
|
|
4
5
|
import * as fs from 'fs/promises';
|
|
5
6
|
import * as path from 'path';
|
|
6
7
|
import { homedir } from 'os';
|
|
7
8
|
export class QueryEngine {
|
|
8
9
|
async getCostReport(period) {
|
|
10
|
+
const adapter = await getTokscaleAdapter();
|
|
11
|
+
if (adapter.isAvailable && adapter.getReport) {
|
|
12
|
+
return this.getCostReportViaTokscale(adapter, period);
|
|
13
|
+
}
|
|
14
|
+
// Fallback to existing implementation
|
|
15
|
+
return this.getCostReportLegacy(period);
|
|
16
|
+
}
|
|
17
|
+
async getCostReportViaTokscale(adapter, period) {
|
|
18
|
+
const range = this.calculateTimeRange(period);
|
|
19
|
+
try {
|
|
20
|
+
const report = await adapter.getReport();
|
|
21
|
+
// Get agent data from local JSONL (populated by backfill)
|
|
22
|
+
const byAgent = await this.getAgentCostFromLocalLog(range);
|
|
23
|
+
const byModel = {};
|
|
24
|
+
for (const [model, data] of Object.entries(report.byModel)) {
|
|
25
|
+
byModel[model] = data.cost;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
totalCost: report.totalCost,
|
|
29
|
+
byAgent, // From local JSONL
|
|
30
|
+
byModel,
|
|
31
|
+
byDay: {},
|
|
32
|
+
period,
|
|
33
|
+
range
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// If tokscale fails, fall back to legacy
|
|
38
|
+
return this.getCostReportLegacy(period);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// UNUSED: Kept for reference, but tokscale path no longer mixes local JSONL
|
|
42
|
+
// private async convertParsedToEntries(parsed: any[], range: TimeRange): Promise<any[]> {
|
|
43
|
+
// const tokenLogPath = path.join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
|
|
44
|
+
// const entries: any[] = [];
|
|
45
|
+
//
|
|
46
|
+
// try {
|
|
47
|
+
// const content = await fs.readFile(tokenLogPath, 'utf-8');
|
|
48
|
+
// const lines = content.trim().split('\n').filter(l => l.length > 0);
|
|
49
|
+
//
|
|
50
|
+
// for (const line of lines) {
|
|
51
|
+
// const record = JSON.parse(line);
|
|
52
|
+
//
|
|
53
|
+
// // Filter by time range
|
|
54
|
+
// if (record.timestamp >= range.start && record.timestamp <= range.end) {
|
|
55
|
+
// entries.push(record);
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// } catch (error) {
|
|
59
|
+
// // Return empty if error
|
|
60
|
+
// }
|
|
61
|
+
//
|
|
62
|
+
// return entries;
|
|
63
|
+
// }
|
|
64
|
+
async getCostReportLegacy(period) {
|
|
9
65
|
const range = this.calculateTimeRange(period);
|
|
10
66
|
const tokenLogPath = path.join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
|
|
11
67
|
try {
|
|
@@ -61,6 +117,37 @@ export class QueryEngine {
|
|
|
61
117
|
};
|
|
62
118
|
}
|
|
63
119
|
}
|
|
120
|
+
// Hybrid data merging: Read agent attribution from local JSONL
|
|
121
|
+
async getAgentCostFromLocalLog(range) {
|
|
122
|
+
const tokenLogPath = path.join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
|
|
123
|
+
const byAgent = {};
|
|
124
|
+
try {
|
|
125
|
+
const content = await fs.readFile(tokenLogPath, 'utf-8');
|
|
126
|
+
const lines = content.trim().split('\n').filter(l => l.length > 0);
|
|
127
|
+
for (const line of lines) {
|
|
128
|
+
const record = JSON.parse(line);
|
|
129
|
+
// Filter by time range
|
|
130
|
+
if (record.timestamp < range.start || record.timestamp > range.end) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
// Aggregate by agent
|
|
134
|
+
if (record.agentName) {
|
|
135
|
+
const cost = calculateCost({
|
|
136
|
+
modelName: record.modelName,
|
|
137
|
+
inputTokens: record.inputTokens,
|
|
138
|
+
outputTokens: record.outputTokens,
|
|
139
|
+
cacheCreationTokens: record.cacheCreationTokens,
|
|
140
|
+
cacheReadTokens: record.cacheReadTokens
|
|
141
|
+
});
|
|
142
|
+
byAgent[record.agentName] = (byAgent[record.agentName] || 0) + cost.totalCost;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
// Return empty if error
|
|
148
|
+
}
|
|
149
|
+
return byAgent;
|
|
150
|
+
}
|
|
64
151
|
async getUsagePatterns() {
|
|
65
152
|
const tokenLogPath = path.join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
|
|
66
153
|
const manager = getSessionManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ export declare class TokenTracker {
|
|
|
13
13
|
private rebuildStatsFromLog;
|
|
14
14
|
getSessionStats(): SessionTokenStats;
|
|
15
15
|
getAllStats(): Promise<AggregateTokenStats>;
|
|
16
|
+
private getAllStatsViaTokscale;
|
|
17
|
+
private getAgentDataFromLocalLog;
|
|
18
|
+
private getAllStatsLegacy;
|
|
16
19
|
getTopAgentsAllSessions(limit?: number): Promise<Array<{
|
|
17
20
|
agent: string;
|
|
18
21
|
tokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-tracker.d.ts","sourceRoot":"","sources":["../../src/analytics/token-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"token-tracker.d.ts","sourceRoot":"","sources":["../../src/analytics/token-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAShF,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,YAAY,CAAoB;gBAE5B,SAAS,CAAC,EAAE,MAAM;IAK9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sBAAsB;IAexB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB3E,WAAW;IAOzB,OAAO,CAAC,kBAAkB;YAqBZ,gBAAgB;IAIxB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAe/D,mBAAmB;IAoBjC,eAAe,IAAI,iBAAiB;IAI9B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAWnC,sBAAsB;YA8BtB,wBAAwB;YAoExB,iBAAiB;IAkFzB,uBAAuB,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAY3G,YAAY,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAsBhG,cAAc,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CA2BlE;AAKD,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAKhE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAGlE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { readState, writeState, StateLocation } from '../features/state-manager/index.js';
|
|
2
|
+
import { getTokscaleAdapter } from './tokscale-adapter.js';
|
|
2
3
|
import * as fs from 'fs/promises';
|
|
3
4
|
import * as path from 'path';
|
|
4
5
|
import { homedir } from 'os';
|
|
@@ -100,6 +101,94 @@ export class TokenTracker {
|
|
|
100
101
|
return { ...this.sessionStats };
|
|
101
102
|
}
|
|
102
103
|
async getAllStats() {
|
|
104
|
+
const adapter = await getTokscaleAdapter();
|
|
105
|
+
if (adapter.isAvailable && adapter.getReport) {
|
|
106
|
+
return this.getAllStatsViaTokscale(adapter);
|
|
107
|
+
}
|
|
108
|
+
// Fallback to existing implementation
|
|
109
|
+
return this.getAllStatsLegacy();
|
|
110
|
+
}
|
|
111
|
+
async getAllStatsViaTokscale(adapter) {
|
|
112
|
+
try {
|
|
113
|
+
// Get tokscale report using the new unified API
|
|
114
|
+
const report = await adapter.getReport();
|
|
115
|
+
// Get agent data from local JSONL (populated by backfill)
|
|
116
|
+
const agentData = await this.getAgentDataFromLocalLog();
|
|
117
|
+
// Map tokscale report to our AggregateTokenStats format
|
|
118
|
+
// Merge tokscale model-level data with local agent-level data
|
|
119
|
+
return {
|
|
120
|
+
totalInputTokens: report.totalInputTokens,
|
|
121
|
+
totalOutputTokens: report.totalOutputTokens,
|
|
122
|
+
totalCacheCreation: report.totalCacheCreationTokens,
|
|
123
|
+
totalCacheRead: report.totalCacheReadTokens,
|
|
124
|
+
totalCost: report.totalCost,
|
|
125
|
+
byAgent: agentData.byAgent, // From local JSONL
|
|
126
|
+
byModel: report.byModel || {},
|
|
127
|
+
sessionCount: agentData.sessionCount || 1,
|
|
128
|
+
entryCount: report.totalEntries,
|
|
129
|
+
firstEntry: agentData.firstEntry,
|
|
130
|
+
lastEntry: agentData.lastEntry
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
// If tokscale fails, fall back to legacy implementation
|
|
135
|
+
return this.getAllStatsLegacy();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Hybrid data merging: Read agent attribution from local JSONL
|
|
139
|
+
async getAgentDataFromLocalLog() {
|
|
140
|
+
const { calculateCost } = await import('./cost-estimator.js');
|
|
141
|
+
const result = {
|
|
142
|
+
byAgent: {},
|
|
143
|
+
sessionCount: 0,
|
|
144
|
+
entryCount: 0,
|
|
145
|
+
firstEntry: null,
|
|
146
|
+
lastEntry: null
|
|
147
|
+
};
|
|
148
|
+
try {
|
|
149
|
+
const content = await fs.readFile(TOKEN_LOG_FILE, 'utf-8');
|
|
150
|
+
const lines = content.trim().split('\n').filter(line => line.trim());
|
|
151
|
+
if (lines.length === 0) {
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
const sessions = new Set();
|
|
155
|
+
for (const line of lines) {
|
|
156
|
+
const record = JSON.parse(line);
|
|
157
|
+
result.entryCount++;
|
|
158
|
+
// Track unique sessions
|
|
159
|
+
sessions.add(record.sessionId);
|
|
160
|
+
// Track timestamps
|
|
161
|
+
if (!result.firstEntry || record.timestamp < result.firstEntry) {
|
|
162
|
+
result.firstEntry = record.timestamp;
|
|
163
|
+
}
|
|
164
|
+
if (!result.lastEntry || record.timestamp > result.lastEntry) {
|
|
165
|
+
result.lastEntry = record.timestamp;
|
|
166
|
+
}
|
|
167
|
+
// Calculate cost for this record
|
|
168
|
+
const cost = calculateCost({
|
|
169
|
+
modelName: record.modelName,
|
|
170
|
+
inputTokens: record.inputTokens,
|
|
171
|
+
outputTokens: record.outputTokens,
|
|
172
|
+
cacheCreationTokens: record.cacheCreationTokens,
|
|
173
|
+
cacheReadTokens: record.cacheReadTokens
|
|
174
|
+
});
|
|
175
|
+
// Aggregate by agent (use "(main session)" for entries without agentName)
|
|
176
|
+
const agentKey = record.agentName || '(main session)';
|
|
177
|
+
if (!result.byAgent[agentKey]) {
|
|
178
|
+
result.byAgent[agentKey] = { tokens: 0, cost: 0 };
|
|
179
|
+
}
|
|
180
|
+
result.byAgent[agentKey].tokens += record.inputTokens + record.outputTokens;
|
|
181
|
+
result.byAgent[agentKey].cost += cost.totalCost;
|
|
182
|
+
}
|
|
183
|
+
result.sessionCount = sessions.size;
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
// If file doesn't exist or is empty, return empty result
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async getAllStatsLegacy() {
|
|
103
192
|
const { calculateCost } = await import('./cost-estimator.js');
|
|
104
193
|
const stats = {
|
|
105
194
|
totalInputTokens: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-tracker.js","sourceRoot":"","sources":["../../src/analytics/token-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"token-tracker.js","sourceRoot":"","sources":["../../src/analytics/token-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TokScale Adapter Module
|
|
3
|
+
*
|
|
4
|
+
* Provides a centralized adapter for @tokscale/core with graceful fallback
|
|
5
|
+
* when the native module is unavailable. This enables optional high-performance
|
|
6
|
+
* token counting and pricing lookup while maintaining compatibility in all environments.
|
|
7
|
+
*/
|
|
8
|
+
import { ModelPricing } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Interface for the tokscale adapter - wraps tokscale's native API
|
|
11
|
+
*/
|
|
12
|
+
export interface TokscaleAdapter {
|
|
13
|
+
/** Whether tokscale native module is available */
|
|
14
|
+
isAvailable: boolean;
|
|
15
|
+
/** Get unified report from tokscale - wraps parseLocalSources + finalizeReport */
|
|
16
|
+
getReport?: () => Promise<TokscaleReport>;
|
|
17
|
+
/** Look up pricing for a model from tokscale's database */
|
|
18
|
+
lookupPricing?: (modelName: string) => Promise<ModelPricing | null>;
|
|
19
|
+
/** Version of the tokscale native module */
|
|
20
|
+
version?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Unified report from tokscale
|
|
24
|
+
*/
|
|
25
|
+
export interface TokscaleReport {
|
|
26
|
+
totalInputTokens: number;
|
|
27
|
+
totalOutputTokens: number;
|
|
28
|
+
totalCacheCreationTokens: number;
|
|
29
|
+
totalCacheReadTokens: number;
|
|
30
|
+
totalCost: number;
|
|
31
|
+
totalEntries: number;
|
|
32
|
+
byModel: Record<string, {
|
|
33
|
+
tokens: number;
|
|
34
|
+
cost: number;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Lazily loads and caches the tokscale adapter
|
|
39
|
+
*
|
|
40
|
+
* @returns Promise resolving to the adapter (either native or fallback)
|
|
41
|
+
*/
|
|
42
|
+
export declare function getTokscaleAdapter(): Promise<TokscaleAdapter>;
|
|
43
|
+
/**
|
|
44
|
+
* Gets fallback pricing from the static PRICING table
|
|
45
|
+
*
|
|
46
|
+
* @param modelName - Model name to look up
|
|
47
|
+
* @returns ModelPricing with fallback to Sonnet if unknown
|
|
48
|
+
*/
|
|
49
|
+
export declare function getFallbackPricing(modelName: string): ModelPricing;
|
|
50
|
+
/**
|
|
51
|
+
* Looks up pricing for a model, preferring tokscale's database with fallback
|
|
52
|
+
*
|
|
53
|
+
* This function provides the best available pricing:
|
|
54
|
+
* 1. If tokscale is available, uses its up-to-date pricing database
|
|
55
|
+
* 2. Falls back to static PRICING table if tokscale unavailable or model not found
|
|
56
|
+
*
|
|
57
|
+
* @param modelName - Model name to look up pricing for
|
|
58
|
+
* @returns Promise resolving to ModelPricing
|
|
59
|
+
*/
|
|
60
|
+
export declare function lookupPricingWithFallback(modelName: string): Promise<ModelPricing>;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if tokscale native module is currently available
|
|
63
|
+
*
|
|
64
|
+
* @returns Promise resolving to boolean indicating availability
|
|
65
|
+
*/
|
|
66
|
+
export declare function isTokscaleAvailable(): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Resets the adapter cache (useful for testing)
|
|
69
|
+
*/
|
|
70
|
+
export declare function resetAdapterCache(): void;
|
|
71
|
+
//# sourceMappingURL=tokscale-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokscale-adapter.d.ts","sourceRoot":"","sources":["../../src/analytics/tokscale-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAW,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAC;IAErB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1C,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEpE,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAeD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CA0InE;AAsBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAGlE;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBxF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
|