mcp-rubber-duck 1.5.2 → 1.6.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/.claude/agents/pricing-updater.md +111 -0
- package/.claude/commands/update-pricing.md +22 -0
- package/CHANGELOG.md +14 -0
- package/README.md +23 -0
- package/dist/config/types.d.ts +72 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +8 -0
- package/dist/config/types.js.map +1 -1
- package/dist/data/default-pricing.d.ts +18 -0
- package/dist/data/default-pricing.d.ts.map +1 -0
- package/dist/data/default-pricing.js +307 -0
- package/dist/data/default-pricing.js.map +1 -0
- package/dist/providers/enhanced-manager.d.ts +2 -1
- package/dist/providers/enhanced-manager.d.ts.map +1 -1
- package/dist/providers/enhanced-manager.js +20 -2
- package/dist/providers/enhanced-manager.js.map +1 -1
- package/dist/providers/manager.d.ts +3 -1
- package/dist/providers/manager.d.ts.map +1 -1
- package/dist/providers/manager.js +12 -1
- package/dist/providers/manager.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +35 -4
- package/dist/server.js.map +1 -1
- package/dist/services/pricing.d.ts +56 -0
- package/dist/services/pricing.d.ts.map +1 -0
- package/dist/services/pricing.js +124 -0
- package/dist/services/pricing.js.map +1 -0
- package/dist/services/usage.d.ts +48 -0
- package/dist/services/usage.d.ts.map +1 -0
- package/dist/services/usage.js +243 -0
- package/dist/services/usage.js.map +1 -0
- package/dist/tools/get-usage-stats.d.ts +8 -0
- package/dist/tools/get-usage-stats.d.ts.map +1 -0
- package/dist/tools/get-usage-stats.js +92 -0
- package/dist/tools/get-usage-stats.js.map +1 -0
- package/package.json +1 -1
- package/src/config/types.ts +51 -0
- package/src/data/default-pricing.ts +368 -0
- package/src/providers/enhanced-manager.ts +41 -4
- package/src/providers/manager.ts +22 -1
- package/src/server.ts +42 -4
- package/src/services/pricing.ts +155 -0
- package/src/services/usage.ts +293 -0
- package/src/tools/get-usage-stats.ts +109 -0
- package/tests/pricing.test.ts +335 -0
- package/tests/tools/get-usage-stats.test.ts +236 -0
- package/tests/usage.test.ts +661 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pricing-updater
|
|
3
|
+
description: Use this agent to update LLM pricing data in the default-pricing.ts file. It searches provider websites for current pricing information and updates the hardcoded defaults. Run periodically or before releases to ensure pricing accuracy.\n\n<example>\nContext: User wants to ensure pricing is up-to-date before a release.\nuser: "Update the pricing data for all providers"\nassistant: "I'll use the pricing-updater agent to research current pricing and update the defaults."\n<commentary>\nThe user wants comprehensive pricing updates. Use the pricing-updater agent to search all provider pricing pages and update default-pricing.ts.\n</commentary>\n</example>\n\n<example>\nContext: User notices a specific provider's pricing might be outdated.\nuser: "Check if OpenAI pricing is still correct"\nassistant: "Let me use the pricing-updater agent to verify OpenAI's current pricing."\n<commentary>\nThe user wants to verify a specific provider. Use the pricing-updater agent to check and update if needed.\n</commentary>\n</example>
|
|
4
|
+
model: inherit
|
|
5
|
+
color: yellow
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an expert at researching and updating LLM API pricing data. Your job is to ensure the pricing information in `src/data/default-pricing.ts` is accurate and up-to-date.
|
|
9
|
+
|
|
10
|
+
## Your Task
|
|
11
|
+
|
|
12
|
+
1. Research current pricing from official provider websites
|
|
13
|
+
2. **Discover ALL available models** from each provider - not just verify existing ones
|
|
14
|
+
3. Compare with existing pricing in `src/data/default-pricing.ts`
|
|
15
|
+
4. Update any outdated prices
|
|
16
|
+
5. **Add ALL new models** that are missing (new releases, new versions, new tiers)
|
|
17
|
+
6. Update the `DEFAULT_PRICING_LAST_UPDATED` timestamp
|
|
18
|
+
|
|
19
|
+
**IMPORTANT**: Your primary goal is to ensure COMPREHENSIVE coverage. Providers frequently release new models. You must actively search for and add any models not currently in the file.
|
|
20
|
+
|
|
21
|
+
## Provider Pricing Sources
|
|
22
|
+
|
|
23
|
+
Search for pricing information from these official sources:
|
|
24
|
+
|
|
25
|
+
| Provider | Pricing Page |
|
|
26
|
+
|----------|-------------|
|
|
27
|
+
| OpenAI | https://openai.com/api/pricing/ |
|
|
28
|
+
| Anthropic | https://www.anthropic.com/pricing |
|
|
29
|
+
| Google (Gemini) | https://ai.google.dev/pricing |
|
|
30
|
+
| Groq | https://groq.com/pricing/ |
|
|
31
|
+
| Mistral | https://mistral.ai/technology/#pricing |
|
|
32
|
+
| DeepSeek | https://platform.deepseek.com/api-docs/pricing |
|
|
33
|
+
| Together AI | https://www.together.ai/pricing |
|
|
34
|
+
|
|
35
|
+
## Research Process
|
|
36
|
+
|
|
37
|
+
1. **Fetch each provider's pricing page** using WebFetch or WebSearch
|
|
38
|
+
2. **List ALL models available** on the pricing page - don't filter yet
|
|
39
|
+
3. **Extract model names and prices** - look for:
|
|
40
|
+
- Input price per million tokens (or per 1K tokens, convert to per million)
|
|
41
|
+
- Output price per million tokens
|
|
42
|
+
4. **Compare against existing file** - identify:
|
|
43
|
+
- New models to ADD (this is the primary goal!)
|
|
44
|
+
- Price changes to UPDATE
|
|
45
|
+
- Models with potentially outdated names
|
|
46
|
+
5. **Search for recent model announcements** if pricing pages seem incomplete
|
|
47
|
+
|
|
48
|
+
## Price Format
|
|
49
|
+
|
|
50
|
+
All prices in `default-pricing.ts` are in **USD per million tokens**:
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
'model-name': { inputPricePerMillion: X.XX, outputPricePerMillion: Y.YY },
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If a provider lists prices per 1K tokens, multiply by 1000 to convert.
|
|
57
|
+
If a provider lists prices per 1M tokens, use directly.
|
|
58
|
+
|
|
59
|
+
## Update Guidelines
|
|
60
|
+
|
|
61
|
+
### DO:
|
|
62
|
+
- **Add ALL models listed on provider pricing pages** - be comprehensive
|
|
63
|
+
- Update prices that have changed
|
|
64
|
+
- Add new model releases (GPT-5, Claude 4, Gemini 2.5, etc. when released)
|
|
65
|
+
- Add ALL dated model versions (e.g., `gpt-4o-2024-11-20`, `claude-3-5-sonnet-20241022`)
|
|
66
|
+
- Add model aliases (`*-latest`, `*-preview`, etc.)
|
|
67
|
+
- Add different model tiers/sizes (mini, small, medium, large, etc.)
|
|
68
|
+
- Update `DEFAULT_PRICING_LAST_UPDATED` to today's date
|
|
69
|
+
|
|
70
|
+
### DON'T:
|
|
71
|
+
- Remove models that users might still reference (keep for backwards compatibility)
|
|
72
|
+
- Guess prices - only use official sources
|
|
73
|
+
- Change the file structure or types
|
|
74
|
+
- Skip models just because they seem niche - users may need them
|
|
75
|
+
|
|
76
|
+
## Output Format
|
|
77
|
+
|
|
78
|
+
After researching, provide:
|
|
79
|
+
|
|
80
|
+
### Pricing Changes Summary
|
|
81
|
+
```
|
|
82
|
+
Provider: OpenAI
|
|
83
|
+
- gpt-4o: $2.50/$10.00 -> $2.00/$8.00 (price drop)
|
|
84
|
+
- gpt-4o-2025-01-xx: NEW $2.00/$8.00
|
|
85
|
+
|
|
86
|
+
Provider: Anthropic
|
|
87
|
+
- claude-3-5-sonnet: No change
|
|
88
|
+
- claude-4-opus: NEW $20.00/$100.00
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Models to Add
|
|
92
|
+
List any new models with their prices.
|
|
93
|
+
|
|
94
|
+
### Models to Consider Removing
|
|
95
|
+
List deprecated models (but recommend keeping for compatibility).
|
|
96
|
+
|
|
97
|
+
Then make the actual edits to `src/data/default-pricing.ts`.
|
|
98
|
+
|
|
99
|
+
## Important Notes
|
|
100
|
+
|
|
101
|
+
- Prices change frequently - always verify against official sources
|
|
102
|
+
- Some providers have tiered pricing - use the standard/default tier
|
|
103
|
+
- Free preview models should have `0` for both prices
|
|
104
|
+
- Local models (Ollama) always have `0` prices
|
|
105
|
+
|
|
106
|
+
## When Done
|
|
107
|
+
|
|
108
|
+
After updating:
|
|
109
|
+
1. Run `npm run typecheck` to verify no type errors
|
|
110
|
+
2. Run `npm test -- tests/pricing.test.ts` to ensure tests pass
|
|
111
|
+
3. Summarize all changes made
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update LLM pricing data for all providers
|
|
3
|
+
allowed-tools: Task, Read, Edit, Write, Glob, Grep, WebFetch, WebSearch, Bash
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the **pricing-updater** subagent to update the LLM pricing data in `src/data/default-pricing.ts`.
|
|
7
|
+
|
|
8
|
+
The agent should:
|
|
9
|
+
1. Research current pricing from all provider websites (OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, Together AI)
|
|
10
|
+
2. Discover and add models that are **actually listed** on pricing pages - do NOT add speculative/future models
|
|
11
|
+
3. Update any prices that have changed
|
|
12
|
+
4. Remove models that are no longer available or deprecated
|
|
13
|
+
5. Update the `DEFAULT_PRICING_LAST_UPDATED` timestamp to today's date
|
|
14
|
+
6. Run `npm run typecheck` and `npm test -- tests/pricing.test.ts` to verify changes
|
|
15
|
+
|
|
16
|
+
**Important guidelines:**
|
|
17
|
+
- Only add models with explicit pricing on official provider pages
|
|
18
|
+
- Do not invent or extrapolate pricing for unannounced models
|
|
19
|
+
- When uncertain about a price, skip the model rather than guess
|
|
20
|
+
- Cross-reference model names exactly as they appear in API documentation
|
|
21
|
+
|
|
22
|
+
$ARGUMENTS
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.6.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.6.0...v1.6.1) (2026-01-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **docs:** add missing get_usage_stats tool to README ([c507f07](https://github.com/nesquikm/mcp-rubber-duck/commit/c507f07092018ad48aa24f6e9115a0761d0d7d49))
|
|
7
|
+
|
|
8
|
+
# [1.6.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.5.2...v1.6.0) (2026-01-08)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add usage tracking and cost estimation ([#11](https://github.com/nesquikm/mcp-rubber-duck/issues/11)) ([1f60118](https://github.com/nesquikm/mcp-rubber-duck/commit/1f60118fc00a028e91c9af87c1daa236a228cc5a))
|
|
14
|
+
|
|
1
15
|
## [1.5.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.5.1...v1.5.2) (2026-01-08)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -43,6 +43,7 @@ An MCP (Model Context Protocol) server that acts as a bridge to query multiple O
|
|
|
43
43
|
- 💾 **Response Caching**: Avoid duplicate API calls with intelligent caching
|
|
44
44
|
- 🔁 **Automatic Failover**: Falls back to other providers if primary fails
|
|
45
45
|
- 📊 **Health Monitoring**: Real-time health checks for all providers
|
|
46
|
+
- 💰 **Usage Tracking**: Track requests, tokens, and estimated costs per provider
|
|
46
47
|
- 🔗 **MCP Bridge**: Connect ducks to other MCP servers for extended functionality
|
|
47
48
|
- 🛡️ **Granular Security**: Per-server approval controls with session-based approvals
|
|
48
49
|
- 🎨 **Fun Duck Theme**: Rubber duck debugging with personality!
|
|
@@ -510,6 +511,19 @@ Get responses from all configured ducks - like a panel discussion!
|
|
|
510
511
|
}
|
|
511
512
|
```
|
|
512
513
|
|
|
514
|
+
#### 📊 get_usage_stats
|
|
515
|
+
Get usage statistics and estimated costs for your duck queries.
|
|
516
|
+
|
|
517
|
+
```typescript
|
|
518
|
+
{
|
|
519
|
+
"period": "today" // Optional: "today", "7d", "30d", or "all"
|
|
520
|
+
}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
Returns requests, tokens (prompt/completion), cache hits, errors, and estimated costs broken down by provider and model.
|
|
524
|
+
|
|
525
|
+
Usage data is stored in `~/.mcp-rubber-duck/data/usage.json`.
|
|
526
|
+
|
|
513
527
|
### Multi-Agent Consensus & Debate Tools
|
|
514
528
|
|
|
515
529
|
Research-backed tools for multi-agent coordination.
|
|
@@ -695,6 +709,15 @@ await duck_debate({
|
|
|
695
709
|
});
|
|
696
710
|
```
|
|
697
711
|
|
|
712
|
+
### Check Usage Stats
|
|
713
|
+
```javascript
|
|
714
|
+
// See today's usage
|
|
715
|
+
await get_usage_stats({ period: "today" });
|
|
716
|
+
|
|
717
|
+
// See last 7 days with cost breakdown
|
|
718
|
+
await get_usage_stats({ period: "7d" });
|
|
719
|
+
```
|
|
720
|
+
|
|
698
721
|
## Provider-Specific Setup
|
|
699
722
|
|
|
700
723
|
### Ollama (Local)
|
package/dist/config/types.d.ts
CHANGED
|
@@ -133,6 +133,26 @@ export declare const MCPBridgeConfigSchema: z.ZodObject<{
|
|
|
133
133
|
retryDelay?: number | undefined;
|
|
134
134
|
}[] | undefined;
|
|
135
135
|
}>;
|
|
136
|
+
export declare const ModelPricingSchema: z.ZodObject<{
|
|
137
|
+
inputPricePerMillion: z.ZodNumber;
|
|
138
|
+
outputPricePerMillion: z.ZodNumber;
|
|
139
|
+
}, "strip", z.ZodTypeAny, {
|
|
140
|
+
inputPricePerMillion: number;
|
|
141
|
+
outputPricePerMillion: number;
|
|
142
|
+
}, {
|
|
143
|
+
inputPricePerMillion: number;
|
|
144
|
+
outputPricePerMillion: number;
|
|
145
|
+
}>;
|
|
146
|
+
export declare const PricingConfigSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
147
|
+
inputPricePerMillion: z.ZodNumber;
|
|
148
|
+
outputPricePerMillion: z.ZodNumber;
|
|
149
|
+
}, "strip", z.ZodTypeAny, {
|
|
150
|
+
inputPricePerMillion: number;
|
|
151
|
+
outputPricePerMillion: number;
|
|
152
|
+
}, {
|
|
153
|
+
inputPricePerMillion: number;
|
|
154
|
+
outputPricePerMillion: number;
|
|
155
|
+
}>>>;
|
|
136
156
|
export declare const ConfigSchema: z.ZodObject<{
|
|
137
157
|
providers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
138
158
|
api_key: z.ZodOptional<z.ZodString>;
|
|
@@ -242,6 +262,16 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
242
262
|
retryDelay?: number | undefined;
|
|
243
263
|
}[] | undefined;
|
|
244
264
|
}>>;
|
|
265
|
+
pricing: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
266
|
+
inputPricePerMillion: z.ZodNumber;
|
|
267
|
+
outputPricePerMillion: z.ZodNumber;
|
|
268
|
+
}, "strip", z.ZodTypeAny, {
|
|
269
|
+
inputPricePerMillion: number;
|
|
270
|
+
outputPricePerMillion: number;
|
|
271
|
+
}, {
|
|
272
|
+
inputPricePerMillion: number;
|
|
273
|
+
outputPricePerMillion: number;
|
|
274
|
+
}>>>>;
|
|
245
275
|
}, "strip", z.ZodTypeAny, {
|
|
246
276
|
providers: Record<string, {
|
|
247
277
|
base_url: string;
|
|
@@ -277,6 +307,10 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
277
307
|
}[];
|
|
278
308
|
trusted_tools_by_server?: Record<string, string[]> | undefined;
|
|
279
309
|
} | undefined;
|
|
310
|
+
pricing?: Record<string, Record<string, {
|
|
311
|
+
inputPricePerMillion: number;
|
|
312
|
+
outputPricePerMillion: number;
|
|
313
|
+
}>> | undefined;
|
|
280
314
|
}, {
|
|
281
315
|
providers: Record<string, {
|
|
282
316
|
base_url: string;
|
|
@@ -312,10 +346,16 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
312
346
|
retryDelay?: number | undefined;
|
|
313
347
|
}[] | undefined;
|
|
314
348
|
} | undefined;
|
|
349
|
+
pricing?: Record<string, Record<string, {
|
|
350
|
+
inputPricePerMillion: number;
|
|
351
|
+
outputPricePerMillion: number;
|
|
352
|
+
}>> | undefined;
|
|
315
353
|
}>;
|
|
316
354
|
export type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
|
|
317
355
|
export type MCPServerConfig = z.infer<typeof MCPServerConfigSchema>;
|
|
318
356
|
export type MCPBridgeConfig = z.infer<typeof MCPBridgeConfigSchema>;
|
|
357
|
+
export type ModelPricing = z.infer<typeof ModelPricingSchema>;
|
|
358
|
+
export type PricingConfig = z.infer<typeof PricingConfigSchema>;
|
|
319
359
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
320
360
|
export interface ConversationMessage {
|
|
321
361
|
role: 'system' | 'user' | 'assistant';
|
|
@@ -431,4 +471,36 @@ export interface DebateResult {
|
|
|
431
471
|
synthesizer: string;
|
|
432
472
|
totalRounds: number;
|
|
433
473
|
}
|
|
474
|
+
export interface ModelUsageStats {
|
|
475
|
+
requests: number;
|
|
476
|
+
promptTokens: number;
|
|
477
|
+
completionTokens: number;
|
|
478
|
+
cacheHits: number;
|
|
479
|
+
errors: number;
|
|
480
|
+
}
|
|
481
|
+
export interface DailyUsage {
|
|
482
|
+
[provider: string]: {
|
|
483
|
+
[model: string]: ModelUsageStats;
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
export interface UsageData {
|
|
487
|
+
version: number;
|
|
488
|
+
daily: Record<string, DailyUsage>;
|
|
489
|
+
}
|
|
490
|
+
export type UsageTimePeriod = 'today' | '7d' | '30d' | 'all';
|
|
491
|
+
export interface UsageStatsResult {
|
|
492
|
+
period: UsageTimePeriod;
|
|
493
|
+
startDate: string;
|
|
494
|
+
endDate: string;
|
|
495
|
+
usage: DailyUsage;
|
|
496
|
+
totals: {
|
|
497
|
+
requests: number;
|
|
498
|
+
promptTokens: number;
|
|
499
|
+
completionTokens: number;
|
|
500
|
+
cacheHits: number;
|
|
501
|
+
errors: number;
|
|
502
|
+
estimatedCostUSD?: number;
|
|
503
|
+
};
|
|
504
|
+
costByProvider?: Record<string, number>;
|
|
505
|
+
}
|
|
434
506
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js
CHANGED
|
@@ -29,6 +29,13 @@ export const MCPBridgeConfigSchema = z.object({
|
|
|
29
29
|
trusted_tools_by_server: z.record(z.string(), z.array(z.string())).optional(), // Per-server trusted tools
|
|
30
30
|
mcp_servers: z.array(MCPServerConfigSchema).default([]),
|
|
31
31
|
});
|
|
32
|
+
export const ModelPricingSchema = z.object({
|
|
33
|
+
inputPricePerMillion: z.number().min(0),
|
|
34
|
+
outputPricePerMillion: z.number().min(0),
|
|
35
|
+
});
|
|
36
|
+
export const PricingConfigSchema = z.record(z.string(), // provider name
|
|
37
|
+
z.record(z.string(), ModelPricingSchema) // model name -> pricing
|
|
38
|
+
);
|
|
32
39
|
export const ConfigSchema = z.object({
|
|
33
40
|
providers: z.record(z.string(), ProviderConfigSchema),
|
|
34
41
|
default_provider: z.string().optional(),
|
|
@@ -37,5 +44,6 @@ export const ConfigSchema = z.object({
|
|
|
37
44
|
enable_failover: z.boolean().default(true),
|
|
38
45
|
log_level: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
|
|
39
46
|
mcp_bridge: MCPBridgeConfigSchema.optional(),
|
|
47
|
+
pricing: PricingConfigSchema.optional(),
|
|
40
48
|
});
|
|
41
49
|
//# sourceMappingURL=types.js.map
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PricingConfig } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Default pricing data for common LLM providers.
|
|
4
|
+
* Prices are in USD per million tokens.
|
|
5
|
+
* Last updated: 2026-01-08
|
|
6
|
+
*
|
|
7
|
+
* To update pricing:
|
|
8
|
+
* 1. Research current pricing from provider websites
|
|
9
|
+
* 2. Update the values below
|
|
10
|
+
* 3. Update the lastUpdated field
|
|
11
|
+
* 4. Release a new version
|
|
12
|
+
*
|
|
13
|
+
* Users can override these defaults in their config.json file.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_PRICING_VERSION = 2;
|
|
16
|
+
export declare const DEFAULT_PRICING_LAST_UPDATED = "2026-01-08";
|
|
17
|
+
export declare const DEFAULT_PRICING: PricingConfig;
|
|
18
|
+
//# sourceMappingURL=default-pricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-pricing.d.ts","sourceRoot":"","sources":["../../src/data/default-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,eAAO,MAAM,eAAe,EAAE,aA6V7B,CAAC"}
|