@tokscale/cli 1.0.17 → 1.0.18

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.
Files changed (108) hide show
  1. package/dist/cli.js +214 -91
  2. package/dist/cli.js.map +1 -1
  3. package/dist/graph-types.d.ts +1 -1
  4. package/dist/graph-types.d.ts.map +1 -1
  5. package/dist/native-runner.js +5 -5
  6. package/dist/native-runner.js.map +1 -1
  7. package/dist/native.d.ts +9 -30
  8. package/dist/native.d.ts.map +1 -1
  9. package/dist/native.js +18 -134
  10. package/dist/native.js.map +1 -1
  11. package/dist/sessions/types.d.ts +1 -1
  12. package/dist/sessions/types.d.ts.map +1 -1
  13. package/dist/submit.d.ts +2 -0
  14. package/dist/submit.d.ts.map +1 -1
  15. package/dist/submit.js +32 -16
  16. package/dist/submit.js.map +1 -1
  17. package/dist/tui/App.d.ts.map +1 -1
  18. package/dist/tui/App.js +13 -6
  19. package/dist/tui/App.js.map +1 -1
  20. package/dist/tui/components/DailyView.d.ts.map +1 -1
  21. package/dist/tui/components/DailyView.js +25 -8
  22. package/dist/tui/components/DailyView.js.map +1 -1
  23. package/dist/tui/components/DateBreakdownPanel.js +2 -2
  24. package/dist/tui/components/DateBreakdownPanel.js.map +1 -1
  25. package/dist/tui/components/Footer.d.ts.map +1 -1
  26. package/dist/tui/components/Footer.js +2 -3
  27. package/dist/tui/components/Footer.js.map +1 -1
  28. package/dist/tui/components/LoadingSpinner.d.ts.map +1 -1
  29. package/dist/tui/components/LoadingSpinner.js +1 -2
  30. package/dist/tui/components/LoadingSpinner.js.map +1 -1
  31. package/dist/tui/components/ModelView.js +2 -2
  32. package/dist/tui/components/ModelView.js.map +1 -1
  33. package/dist/tui/config/settings.d.ts +4 -4
  34. package/dist/tui/config/settings.d.ts.map +1 -1
  35. package/dist/tui/config/settings.js +11 -4
  36. package/dist/tui/config/settings.js.map +1 -1
  37. package/dist/tui/hooks/useData.d.ts.map +1 -1
  38. package/dist/tui/hooks/useData.js +29 -42
  39. package/dist/tui/hooks/useData.js.map +1 -1
  40. package/dist/tui/types/index.d.ts +2 -2
  41. package/dist/tui/types/index.d.ts.map +1 -1
  42. package/dist/tui/types/index.js +3 -1
  43. package/dist/tui/types/index.js.map +1 -1
  44. package/dist/tui/utils/colors.d.ts +1 -0
  45. package/dist/tui/utils/colors.d.ts.map +1 -1
  46. package/dist/tui/utils/colors.js +7 -0
  47. package/dist/tui/utils/colors.js.map +1 -1
  48. package/dist/wrapped.d.ts.map +1 -1
  49. package/dist/wrapped.js +20 -48
  50. package/dist/wrapped.js.map +1 -1
  51. package/package.json +2 -2
  52. package/src/cli.ts +232 -97
  53. package/src/graph-types.ts +1 -1
  54. package/src/native-runner.ts +5 -5
  55. package/src/native.ts +35 -200
  56. package/src/sessions/types.ts +1 -1
  57. package/src/submit.ts +36 -22
  58. package/src/tui/App.tsx +9 -6
  59. package/src/tui/components/DailyView.tsx +29 -11
  60. package/src/tui/components/DateBreakdownPanel.tsx +2 -2
  61. package/src/tui/components/Footer.tsx +7 -2
  62. package/src/tui/components/LoadingSpinner.tsx +1 -2
  63. package/src/tui/components/ModelView.tsx +2 -2
  64. package/src/tui/config/settings.ts +18 -9
  65. package/src/tui/hooks/useData.ts +36 -47
  66. package/src/tui/types/index.ts +5 -4
  67. package/src/tui/utils/colors.ts +7 -0
  68. package/src/wrapped.ts +21 -54
  69. package/dist/graph.d.ts +0 -29
  70. package/dist/graph.d.ts.map +0 -1
  71. package/dist/graph.js +0 -383
  72. package/dist/graph.js.map +0 -1
  73. package/dist/pricing.d.ts +0 -58
  74. package/dist/pricing.d.ts.map +0 -1
  75. package/dist/pricing.js +0 -232
  76. package/dist/pricing.js.map +0 -1
  77. package/dist/sessions/claudecode.d.ts +0 -8
  78. package/dist/sessions/claudecode.d.ts.map +0 -1
  79. package/dist/sessions/claudecode.js +0 -84
  80. package/dist/sessions/claudecode.js.map +0 -1
  81. package/dist/sessions/codex.d.ts +0 -8
  82. package/dist/sessions/codex.d.ts.map +0 -1
  83. package/dist/sessions/codex.js +0 -158
  84. package/dist/sessions/codex.js.map +0 -1
  85. package/dist/sessions/gemini.d.ts +0 -8
  86. package/dist/sessions/gemini.d.ts.map +0 -1
  87. package/dist/sessions/gemini.js +0 -66
  88. package/dist/sessions/gemini.js.map +0 -1
  89. package/dist/sessions/index.d.ts +0 -32
  90. package/dist/sessions/index.d.ts.map +0 -1
  91. package/dist/sessions/index.js +0 -96
  92. package/dist/sessions/index.js.map +0 -1
  93. package/dist/sessions/opencode.d.ts +0 -9
  94. package/dist/sessions/opencode.d.ts.map +0 -1
  95. package/dist/sessions/opencode.js +0 -69
  96. package/dist/sessions/opencode.js.map +0 -1
  97. package/dist/sessions/reports.d.ts +0 -58
  98. package/dist/sessions/reports.d.ts.map +0 -1
  99. package/dist/sessions/reports.js +0 -337
  100. package/dist/sessions/reports.js.map +0 -1
  101. package/src/graph.ts +0 -485
  102. package/src/pricing.ts +0 -309
  103. package/src/sessions/claudecode.ts +0 -119
  104. package/src/sessions/codex.ts +0 -227
  105. package/src/sessions/gemini.ts +0 -108
  106. package/src/sessions/index.ts +0 -126
  107. package/src/sessions/opencode.ts +0 -117
  108. package/src/sessions/reports.ts +0 -475
package/dist/graph.js DELETED
@@ -1,383 +0,0 @@
1
- /**
2
- * Graph data generation module
3
- * Aggregates token usage data by date for contribution graph visualization
4
- *
5
- * Key design: intensity is calculated based on COST ($), not tokens
6
- *
7
- * This module supports two implementations:
8
- * - Native Rust (fast, ~10x faster) - used when available
9
- * - Pure TypeScript (fallback) - always available
10
- */
11
- import { format } from "date-fns";
12
- import { parseOpenCodeMessages, parseClaudeCodeMessages, parseCodexMessages, parseGeminiMessages, } from "./sessions/index.js";
13
- import { PricingFetcher } from "./pricing.js";
14
- const VERSION = "1.0.0";
15
- // Try to load native module
16
- let nativeModule = null;
17
- try {
18
- nativeModule = await import("./native.js");
19
- }
20
- catch {
21
- // Native module not available, will use TypeScript implementation
22
- }
23
- /**
24
- * Check if native implementation is available
25
- */
26
- export function isNativeAvailable() {
27
- return nativeModule?.isNativeAvailable() ?? false;
28
- }
29
- /**
30
- * Generate contribution graph data from all sources
31
- *
32
- * Uses native Rust implementation if available, falls back to TypeScript.
33
- * Set `options.forceTypescript = true` to skip native module.
34
- */
35
- export async function generateGraphData(options = {}) {
36
- // Try native implementation first (unless forced to use TypeScript)
37
- if (!options.forceTypescript && nativeModule?.isNativeAvailable()) {
38
- try {
39
- return nativeModule.generateGraphNative(options);
40
- }
41
- catch (e) {
42
- // Fall through to TypeScript implementation
43
- console.warn("Native module failed, falling back to TypeScript:", e);
44
- }
45
- }
46
- // TypeScript implementation
47
- return generateGraphDataTS(options);
48
- }
49
- /**
50
- * Pure TypeScript implementation of graph data generation
51
- */
52
- export async function generateGraphDataTS(options = {}) {
53
- const fetcher = new PricingFetcher();
54
- await fetcher.fetchPricing();
55
- // Collect all messages from enabled sources
56
- const messages = collectMessages(options, fetcher);
57
- // Filter by date range
58
- const filteredMessages = filterMessagesByDate(messages, options);
59
- // Aggregate by date
60
- const dailyMap = aggregateByDate(filteredMessages, fetcher);
61
- // Convert to sorted array
62
- let contributions = Array.from(dailyMap.values()).sort((a, b) => a.date.localeCompare(b.date));
63
- // Calculate intensity based on COST
64
- contributions = calculateAllIntensities(contributions);
65
- // Build final structure
66
- const summary = calculateSummary(contributions);
67
- const years = calculateYears(contributions);
68
- const dateRange = {
69
- start: contributions[0]?.date ?? "",
70
- end: contributions[contributions.length - 1]?.date ?? "",
71
- };
72
- return {
73
- meta: {
74
- generatedAt: new Date().toISOString(),
75
- version: VERSION,
76
- dateRange,
77
- },
78
- summary,
79
- years,
80
- contributions,
81
- };
82
- }
83
- /**
84
- * Collect messages from all enabled sources
85
- */
86
- function collectMessages(options, fetcher) {
87
- const messages = [];
88
- const enabledSources = getEnabledSources(options);
89
- // OpenCode
90
- if (enabledSources.includes("opencode")) {
91
- const openCodeMessages = parseOpenCodeMessages();
92
- for (const msg of openCodeMessages) {
93
- const pricing = fetcher.getModelPricing(msg.modelId);
94
- const cost = pricing
95
- ? fetcher.calculateCost({
96
- input: msg.tokens.input,
97
- output: msg.tokens.output,
98
- reasoning: msg.tokens.reasoning,
99
- cacheRead: msg.tokens.cacheRead,
100
- cacheWrite: msg.tokens.cacheWrite,
101
- }, pricing)
102
- : 0;
103
- messages.push({
104
- source: "opencode",
105
- modelId: msg.modelId,
106
- providerId: msg.providerId,
107
- timestamp: msg.timestamp,
108
- tokens: msg.tokens,
109
- cost,
110
- });
111
- }
112
- }
113
- // Claude Code
114
- if (enabledSources.includes("claude")) {
115
- const claudeMessages = parseClaudeCodeMessages();
116
- for (const msg of claudeMessages) {
117
- const pricing = fetcher.getModelPricing(msg.modelId);
118
- const cost = pricing
119
- ? fetcher.calculateCost({
120
- input: msg.tokens.input,
121
- output: msg.tokens.output,
122
- cacheRead: msg.tokens.cacheRead,
123
- cacheWrite: msg.tokens.cacheWrite,
124
- }, pricing)
125
- : 0;
126
- messages.push({
127
- source: "claude",
128
- modelId: msg.modelId,
129
- providerId: msg.providerId,
130
- timestamp: msg.timestamp,
131
- tokens: msg.tokens,
132
- cost,
133
- });
134
- }
135
- }
136
- // Codex
137
- if (enabledSources.includes("codex")) {
138
- const codexMessages = parseCodexMessages();
139
- for (const msg of codexMessages) {
140
- const pricing = fetcher.getModelPricing(msg.modelId);
141
- const cost = pricing
142
- ? fetcher.calculateCost({
143
- input: msg.tokens.input,
144
- output: msg.tokens.output,
145
- cacheRead: msg.tokens.cacheRead,
146
- cacheWrite: msg.tokens.cacheWrite,
147
- }, pricing)
148
- : 0;
149
- messages.push({
150
- source: "codex",
151
- modelId: msg.modelId,
152
- providerId: msg.providerId,
153
- timestamp: msg.timestamp,
154
- tokens: msg.tokens,
155
- cost,
156
- });
157
- }
158
- }
159
- // Gemini
160
- if (enabledSources.includes("gemini")) {
161
- const geminiMessages = parseGeminiMessages();
162
- for (const msg of geminiMessages) {
163
- const pricing = fetcher.getModelPricing(msg.modelId);
164
- // Gemini: thoughts/reasoning count as output for billing
165
- const cost = pricing
166
- ? fetcher.calculateCost({
167
- input: msg.tokens.input,
168
- output: msg.tokens.output + msg.tokens.reasoning,
169
- cacheRead: 0, // Gemini cached tokens are free
170
- cacheWrite: 0,
171
- }, pricing)
172
- : 0;
173
- messages.push({
174
- source: "gemini",
175
- modelId: msg.modelId,
176
- providerId: msg.providerId,
177
- timestamp: msg.timestamp,
178
- tokens: msg.tokens,
179
- cost,
180
- });
181
- }
182
- }
183
- return messages;
184
- }
185
- /**
186
- * Get list of enabled sources based on options
187
- */
188
- function getEnabledSources(options) {
189
- if (options.sources && options.sources.length > 0) {
190
- return options.sources;
191
- }
192
- return ["opencode", "claude", "codex", "gemini"];
193
- }
194
- /**
195
- * Filter messages by date range
196
- */
197
- function filterMessagesByDate(messages, options) {
198
- let filtered = messages;
199
- // Filter by year
200
- if (options.year) {
201
- const yearStart = new Date(`${options.year}-01-01`).getTime();
202
- const yearEnd = new Date(`${options.year}-12-31T23:59:59.999`).getTime();
203
- filtered = filtered.filter((m) => m.timestamp >= yearStart && m.timestamp <= yearEnd);
204
- }
205
- // Filter by since
206
- if (options.since) {
207
- const sinceTime = new Date(options.since).getTime();
208
- filtered = filtered.filter((m) => m.timestamp >= sinceTime);
209
- }
210
- // Filter by until
211
- if (options.until) {
212
- const untilTime = new Date(`${options.until}T23:59:59.999`).getTime();
213
- filtered = filtered.filter((m) => m.timestamp <= untilTime);
214
- }
215
- return filtered;
216
- }
217
- /**
218
- * Aggregate messages by date
219
- */
220
- function aggregateByDate(messages, _fetcher) {
221
- const dailyMap = new Map();
222
- for (const msg of messages) {
223
- const dateKey = format(new Date(msg.timestamp), "yyyy-MM-dd");
224
- let daily = dailyMap.get(dateKey);
225
- if (!daily) {
226
- daily = createEmptyDailyContribution(dateKey);
227
- dailyMap.set(dateKey, daily);
228
- }
229
- // Update totals
230
- const totalTokens = msg.tokens.input +
231
- msg.tokens.output +
232
- msg.tokens.cacheRead +
233
- msg.tokens.cacheWrite +
234
- msg.tokens.reasoning;
235
- daily.totals.tokens += totalTokens;
236
- daily.totals.cost += msg.cost;
237
- daily.totals.messages += 1;
238
- // Update token breakdown
239
- daily.tokenBreakdown.input += msg.tokens.input;
240
- daily.tokenBreakdown.output += msg.tokens.output;
241
- daily.tokenBreakdown.cacheRead += msg.tokens.cacheRead;
242
- daily.tokenBreakdown.cacheWrite += msg.tokens.cacheWrite;
243
- daily.tokenBreakdown.reasoning += msg.tokens.reasoning;
244
- // Update source contributions
245
- let sourceContrib = daily.sources.find((s) => s.source === msg.source && s.modelId === msg.modelId);
246
- if (!sourceContrib) {
247
- sourceContrib = {
248
- source: msg.source,
249
- modelId: msg.modelId,
250
- providerId: msg.providerId,
251
- tokens: {
252
- input: 0,
253
- output: 0,
254
- cacheRead: 0,
255
- cacheWrite: 0,
256
- reasoning: 0,
257
- },
258
- cost: 0,
259
- messages: 0,
260
- };
261
- daily.sources.push(sourceContrib);
262
- }
263
- sourceContrib.tokens.input += msg.tokens.input;
264
- sourceContrib.tokens.output += msg.tokens.output;
265
- sourceContrib.tokens.cacheRead += msg.tokens.cacheRead;
266
- sourceContrib.tokens.cacheWrite += msg.tokens.cacheWrite;
267
- sourceContrib.tokens.reasoning += msg.tokens.reasoning;
268
- sourceContrib.cost += msg.cost;
269
- sourceContrib.messages += 1;
270
- }
271
- return dailyMap;
272
- }
273
- /**
274
- * Create empty daily contribution
275
- */
276
- function createEmptyDailyContribution(date) {
277
- return {
278
- date,
279
- totals: {
280
- tokens: 0,
281
- cost: 0,
282
- messages: 0,
283
- },
284
- intensity: 0,
285
- tokenBreakdown: {
286
- input: 0,
287
- output: 0,
288
- cacheRead: 0,
289
- cacheWrite: 0,
290
- reasoning: 0,
291
- },
292
- sources: [],
293
- };
294
- }
295
- /**
296
- * Calculate intensity for all contributions based on COST
297
- */
298
- function calculateAllIntensities(contributions) {
299
- if (contributions.length === 0)
300
- return contributions;
301
- // Find max cost for intensity calculation
302
- const maxCost = Math.max(...contributions.map((c) => c.totals.cost));
303
- return contributions.map((c) => ({
304
- ...c,
305
- intensity: calculateIntensity(c.totals.cost, maxCost),
306
- }));
307
- }
308
- /**
309
- * Calculate intensity grade based on cost ratio
310
- * 0 = no activity, 4 = highest
311
- */
312
- function calculateIntensity(cost, maxCost) {
313
- if (cost === 0 || maxCost === 0)
314
- return 0;
315
- const ratio = cost / maxCost;
316
- if (ratio >= 0.75)
317
- return 4;
318
- if (ratio >= 0.5)
319
- return 3;
320
- if (ratio >= 0.25)
321
- return 2;
322
- return 1;
323
- }
324
- /**
325
- * Calculate summary statistics
326
- */
327
- function calculateSummary(contributions) {
328
- const totalTokens = contributions.reduce((sum, c) => sum + c.totals.tokens, 0);
329
- const totalCost = contributions.reduce((sum, c) => sum + c.totals.cost, 0);
330
- const activeDays = contributions.filter((c) => c.totals.cost > 0).length;
331
- const maxCostInSingleDay = Math.max(...contributions.map((c) => c.totals.cost), 0);
332
- // Collect unique sources and models
333
- const sourcesSet = new Set();
334
- const modelsSet = new Set();
335
- for (const c of contributions) {
336
- for (const s of c.sources) {
337
- sourcesSet.add(s.source);
338
- modelsSet.add(s.modelId);
339
- }
340
- }
341
- return {
342
- totalTokens,
343
- totalCost,
344
- totalDays: contributions.length,
345
- activeDays,
346
- averagePerDay: activeDays > 0 ? totalCost / activeDays : 0,
347
- maxCostInSingleDay,
348
- sources: Array.from(sourcesSet),
349
- models: Array.from(modelsSet),
350
- };
351
- }
352
- /**
353
- * Calculate year summaries
354
- */
355
- function calculateYears(contributions) {
356
- const yearsMap = new Map();
357
- for (const c of contributions) {
358
- const year = c.date.substring(0, 4);
359
- let yearData = yearsMap.get(year);
360
- if (!yearData) {
361
- yearData = { tokens: 0, cost: 0, start: c.date, end: c.date };
362
- yearsMap.set(year, yearData);
363
- }
364
- yearData.tokens += c.totals.tokens;
365
- yearData.cost += c.totals.cost;
366
- if (c.date < yearData.start)
367
- yearData.start = c.date;
368
- if (c.date > yearData.end)
369
- yearData.end = c.date;
370
- }
371
- return Array.from(yearsMap.entries())
372
- .map(([year, data]) => ({
373
- year,
374
- totalTokens: data.tokens,
375
- totalCost: data.cost,
376
- range: {
377
- start: data.start,
378
- end: data.end,
379
- },
380
- }))
381
- .sort((a, b) => a.year.localeCompare(b.year));
382
- }
383
- //# sourceMappingURL=graph.js.map
package/dist/graph.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAW9C,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,4BAA4B;AAC5B,IAAI,YAAY,GAAwC,IAAI,CAAC;AAC7D,IAAI,CAAC;IACH,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC;AAAC,MAAM,CAAC;IACP,kEAAkE;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,EAAE,iBAAiB,EAAE,IAAI,KAAK,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAwD,EAAE;IAE1D,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,4CAA4C;YAC5C,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAE7B,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnD,uBAAuB;IACvB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEjE,oBAAoB;IACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAE5D,0BAA0B;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B,CAAC;IAEF,oCAAoC;IACpC,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAEvD,wBAAwB;IACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;QACnC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;KACzD,CAAC;IAEF,OAAO;QACL,IAAI,EAAE;YACJ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,OAAO,EAAE,OAAO;YAChB,SAAS;SACV;QACD,OAAO;QACP,KAAK;QACL,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,OAAqB,EACrB,OAAuB;IAEvB,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,WAAW;IACX,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CACnB;oBACE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;oBACzB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;oBAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;oBAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;iBAClC,EACD,OAAO,CACR;gBACH,CAAC,CAAC,CAAC,CAAC;YAEN,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CACnB;oBACE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;oBACzB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;oBAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;iBAClC,EACD,OAAO,CACR;gBACH,CAAC,CAAC,CAAC,CAAC;YAEN,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ;IACR,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CACnB;oBACE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;oBACzB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;oBAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;iBAClC,EACD,OAAO,CACR;gBACH,CAAC,CAAC,CAAC,CAAC;YAEN,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS;IACT,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,yDAAyD;YACzD,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CACnB;oBACE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS;oBAChD,SAAS,EAAE,CAAC,EAAE,gCAAgC;oBAC9C,UAAU,EAAE,CAAC;iBACd,EACD,OAAO,CACR;gBACH,CAAC,CAAC,CAAC,CAAC;YAEN,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,QAA0B,EAC1B,OAAqB;IAErB,IAAI,QAAQ,GAAG,QAAQ,CAAC;IAExB,iBAAiB;IACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;QACzE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAC1D,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,QAA0B,EAC1B,QAAwB;IAExB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEtD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;QAE9D,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,gBAAgB;QAChB,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,CAAC,KAAK;YAChB,GAAG,CAAC,MAAM,CAAC,MAAM;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS;YACpB,GAAG,CAAC,MAAM,CAAC,UAAU;YACrB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAEvB,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC;QACnC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAE3B,yBAAyB;QACzB,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/C,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjD,KAAK,CAAC,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACvD,KAAK,CAAC,cAAc,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzD,KAAK,CAAC,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAEvD,8BAA8B;QAC9B,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAC5D,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM,EAAE;oBACN,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;oBACZ,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,CAAC;iBACb;gBACD,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,CAAC;aACZ,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QAED,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/C,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjD,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACvD,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzD,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACvD,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;QAC/B,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,IAAY;IAChD,OAAO;QACL,IAAI;QACJ,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,CAAC;SACZ;QACD,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE;YACd,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;SACb;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,aAAkC;IAElC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAErD,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAErE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC;QACJ,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;KACtD,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,IAAY,EACZ,OAAe;IAEf,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;IAC7B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,aAAkC;IAC1D,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAC1C,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAc,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,SAAS;QACT,SAAS,EAAE,aAAa,CAAC,MAAM;QAC/B,UAAU;QACV,aAAa,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1D,kBAAkB;QAClB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,aAAkC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAC;IAEJ,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG;YAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,MAAM;QACxB,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,KAAK,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd;KACF,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC"}
package/dist/pricing.d.ts DELETED
@@ -1,58 +0,0 @@
1
- /**
2
- * Pricing data fetcher using LiteLLM as source
3
- * Features disk caching with 1-hour TTL
4
- */
5
- export declare function normalizeModelName(modelId: string): string | null;
6
- export declare function isWordBoundaryMatch(haystack: string, needle: string): boolean;
7
- export interface LiteLLMModelPricing {
8
- input_cost_per_token?: number;
9
- output_cost_per_token?: number;
10
- cache_creation_input_token_cost?: number;
11
- cache_read_input_token_cost?: number;
12
- input_cost_per_token_above_200k_tokens?: number;
13
- output_cost_per_token_above_200k_tokens?: number;
14
- cache_creation_input_token_cost_above_200k_tokens?: number;
15
- cache_read_input_token_cost_above_200k_tokens?: number;
16
- }
17
- export type PricingDataset = Record<string, LiteLLMModelPricing>;
18
- /**
19
- * Format for passing pricing to Rust native module
20
- * Note: napi-rs expects undefined (not null) for Rust Option<T> fields
21
- */
22
- export interface PricingEntry {
23
- modelId: string;
24
- pricing: {
25
- inputCostPerToken: number;
26
- outputCostPerToken: number;
27
- cacheReadInputTokenCost?: number;
28
- cacheCreationInputTokenCost?: number;
29
- };
30
- }
31
- export declare class PricingFetcher {
32
- private pricingData;
33
- /**
34
- * Fetch pricing data (with disk cache, 1-hour TTL)
35
- */
36
- fetchPricing(): Promise<PricingDataset>;
37
- /**
38
- * Get raw pricing dataset
39
- */
40
- getPricingData(): PricingDataset | null;
41
- /**
42
- * Convert pricing data to format expected by Rust native module
43
- */
44
- toPricingEntries(): PricingEntry[];
45
- getModelPricing(modelID: string): LiteLLMModelPricing | null;
46
- calculateCost(tokens: {
47
- input: number;
48
- output: number;
49
- reasoning?: number;
50
- cacheRead: number;
51
- cacheWrite: number;
52
- }, pricing: LiteLLMModelPricing): number;
53
- }
54
- /**
55
- * Clear pricing cache (for testing or forced refresh)
56
- */
57
- export declare function clearPricingCache(): void;
58
- //# sourceMappingURL=pricing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2CjE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAU7E;AAOD,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,uCAAuC,CAAC,EAAE,MAAM,CAAC;IACjD,iDAAiD,CAAC,EAAE,MAAM,CAAC;IAC3D,6CAA6C,CAAC,EAAE,MAAM,CAAC;CACxD;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAOjE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;KACtC,CAAC;CACH;AAmDD,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAA+B;IAElD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAgC7C;;OAEG;IACH,cAAc,IAAI,cAAc,GAAG,IAAI;IAIvC;;OAEG;IACH,gBAAgB,IAAI,YAAY,EAAE;IAelC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAuD5D,aAAa,CACX,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EACD,OAAO,EAAE,mBAAmB,GAC3B,MAAM;CAWV;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}