ai.matey.core 0.2.0 → 0.3.2

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 (40) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/cjs/bridge.js +189 -4
  3. package/dist/cjs/bridge.js.map +1 -1
  4. package/dist/cjs/capability-inference.js +116 -1
  5. package/dist/cjs/capability-inference.js.map +1 -1
  6. package/dist/cjs/index.js +3 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/model-pricing.js +56 -280
  9. package/dist/cjs/model-pricing.js.map +1 -1
  10. package/dist/cjs/model-translation.js +1 -1
  11. package/dist/cjs/router.js +149 -49
  12. package/dist/cjs/router.js.map +1 -1
  13. package/dist/cjs/run-tools.js +169 -0
  14. package/dist/cjs/run-tools.js.map +1 -0
  15. package/dist/esm/bridge.js +189 -4
  16. package/dist/esm/bridge.js.map +1 -1
  17. package/dist/esm/capability-inference.js +116 -1
  18. package/dist/esm/capability-inference.js.map +1 -1
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/model-pricing.js +56 -280
  22. package/dist/esm/model-pricing.js.map +1 -1
  23. package/dist/esm/model-translation.js +1 -1
  24. package/dist/esm/router.js +149 -49
  25. package/dist/esm/router.js.map +1 -1
  26. package/dist/esm/run-tools.js +166 -0
  27. package/dist/esm/run-tools.js.map +1 -0
  28. package/dist/types/bridge.d.ts +57 -0
  29. package/dist/types/bridge.d.ts.map +1 -1
  30. package/dist/types/capability-inference.d.ts.map +1 -1
  31. package/dist/types/index.d.ts +1 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/model-pricing.d.ts +15 -9
  34. package/dist/types/model-pricing.d.ts.map +1 -1
  35. package/dist/types/model-translation.d.ts +1 -1
  36. package/dist/types/router.d.ts +18 -0
  37. package/dist/types/router.d.ts.map +1 -1
  38. package/dist/types/run-tools.d.ts +28 -0
  39. package/dist/types/run-tools.d.ts.map +1 -0
  40. package/package.json +1 -1
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  /**
3
- * Model Pricing Registry
3
+ * Model Pricing Registry (compatibility layer)
4
4
  *
5
- * Centralized pricing database for AI models across providers.
6
- * Prices are in USD per 1,000 tokens.
5
+ * Historical API for model pricing lookups, expressed in USD per 1,000
6
+ * tokens. Since the introduction of the shared model registry this module
7
+ * is a thin delegate over `ai.matey.utils`' registry — the registry (and
8
+ * its seed data file) is the single source of truth. Prefer the registry
9
+ * API (`getModelEntry`, `registerModels`, `overrideModelPricing`) in new
10
+ * code; this module remains for backward compatibility.
7
11
  *
8
12
  * @module
9
13
  */
@@ -16,273 +20,41 @@ exports.setPricingOverride = setPricingOverride;
16
20
  exports.clearPricingOverride = clearPricingOverride;
17
21
  exports.clearAllPricingOverrides = clearAllPricingOverrides;
18
22
  exports.getPricingWithOverrides = getPricingWithOverrides;
19
- /**
20
- * Static pricing database for major AI models.
21
- * Data sourced from provider APIs and community benchmarks (as of October 2024).
22
- */
23
- const MODEL_PRICING_DATABASE = {
24
- // OpenAI Models
25
- 'gpt-4': {
26
- pricing: { input: 0.03, output: 0.06 },
27
- latency: { p50: 2000, p95: 4000 },
28
- qualityScore: 95,
29
- modelFamily: 'gpt-4',
30
- releaseDate: '2023-03-14',
31
- contextWindow: 8192,
32
- maxTokens: 4096,
33
- supportsStreaming: true,
34
- supportsVision: false,
35
- supportsTools: true,
36
- supportsJSON: true,
37
- },
38
- 'gpt-4-turbo': {
39
- pricing: { input: 0.01, output: 0.03 },
40
- latency: { p50: 1800, p95: 3500 },
41
- qualityScore: 95,
42
- modelFamily: 'gpt-4',
43
- releaseDate: '2024-04-09',
44
- contextWindow: 128000,
45
- maxTokens: 4096,
46
- supportsStreaming: true,
47
- supportsVision: true,
48
- supportsTools: true,
49
- supportsJSON: true,
50
- },
51
- 'gpt-4-turbo-preview': {
52
- pricing: { input: 0.01, output: 0.03 },
53
- latency: { p50: 1800, p95: 3500 },
54
- qualityScore: 94,
55
- modelFamily: 'gpt-4',
56
- releaseDate: '2024-01-25',
57
- contextWindow: 128000,
58
- maxTokens: 4096,
59
- supportsStreaming: true,
60
- supportsVision: true,
61
- supportsTools: true,
62
- supportsJSON: true,
63
- },
64
- 'gpt-3.5-turbo': {
65
- pricing: { input: 0.0005, output: 0.0015 },
66
- latency: { p50: 800, p95: 1500 },
67
- qualityScore: 75,
68
- modelFamily: 'gpt-3.5',
69
- releaseDate: '2023-03-01',
70
- contextWindow: 16385,
71
- maxTokens: 4096,
72
- supportsStreaming: true,
73
- supportsVision: false,
74
- supportsTools: true,
75
- supportsJSON: true,
76
- },
77
- 'gpt-4o': {
78
- pricing: { input: 0.005, output: 0.015 },
79
- latency: { p50: 1200, p95: 2500 },
80
- qualityScore: 96,
81
- modelFamily: 'gpt-4',
82
- releaseDate: '2024-05-13',
83
- contextWindow: 128000,
84
- maxTokens: 4096,
85
- supportsStreaming: true,
86
- supportsVision: true,
87
- supportsTools: true,
88
- supportsJSON: true,
89
- },
90
- 'gpt-4o-mini': {
91
- pricing: { input: 0.00015, output: 0.0006 },
92
- latency: { p50: 600, p95: 1200 },
93
- qualityScore: 80,
94
- modelFamily: 'gpt-4',
95
- releaseDate: '2024-07-18',
96
- contextWindow: 128000,
97
- maxTokens: 16384,
98
- supportsStreaming: true,
99
- supportsVision: true,
100
- supportsTools: true,
101
- supportsJSON: true,
102
- },
103
- // Anthropic Models
104
- 'claude-3-5-sonnet-20241022': {
105
- pricing: { input: 0.003, output: 0.015 },
106
- latency: { p50: 1500, p95: 3000 },
107
- qualityScore: 97,
108
- modelFamily: 'claude-3',
109
- releaseDate: '2024-10-22',
110
- contextWindow: 200000,
111
- maxTokens: 8192,
112
- supportsStreaming: true,
113
- supportsVision: true,
114
- supportsTools: true,
115
- supportsJSON: false,
116
- },
117
- 'claude-3-opus-20240229': {
118
- pricing: { input: 0.015, output: 0.075 },
119
- latency: { p50: 2200, p95: 4500 },
120
- qualityScore: 96,
121
- modelFamily: 'claude-3',
122
- releaseDate: '2024-02-29',
123
- contextWindow: 200000,
124
- maxTokens: 4096,
125
- supportsStreaming: true,
126
- supportsVision: true,
127
- supportsTools: true,
128
- supportsJSON: false,
129
- },
130
- 'claude-3-sonnet-20240229': {
131
- pricing: { input: 0.003, output: 0.015 },
132
- latency: { p50: 1600, p95: 3200 },
133
- qualityScore: 92,
134
- modelFamily: 'claude-3',
135
- releaseDate: '2024-02-29',
136
- contextWindow: 200000,
137
- maxTokens: 4096,
138
- supportsStreaming: true,
139
- supportsVision: true,
140
- supportsTools: true,
141
- supportsJSON: false,
142
- },
143
- 'claude-3-haiku-20240307': {
144
- pricing: { input: 0.00025, output: 0.00125 },
145
- latency: { p50: 400, p95: 800 },
146
- qualityScore: 78,
147
- modelFamily: 'claude-3',
148
- releaseDate: '2024-03-07',
149
- contextWindow: 200000,
150
- maxTokens: 4096,
151
- supportsStreaming: true,
152
- supportsVision: true,
153
- supportsTools: true,
154
- supportsJSON: false,
155
- },
156
- 'claude-3-5-haiku-20241022': {
157
- pricing: { input: 0.001, output: 0.005 },
158
- latency: { p50: 500, p95: 1000 },
159
- qualityScore: 82,
160
- modelFamily: 'claude-3',
161
- releaseDate: '2024-10-22',
162
- contextWindow: 200000,
163
- maxTokens: 8192,
164
- supportsStreaming: true,
165
- supportsVision: false,
166
- supportsTools: true,
167
- supportsJSON: false,
168
- },
169
- // Google Gemini Models
170
- 'gemini-1.5-pro': {
171
- pricing: { input: 0.00125, output: 0.005 },
172
- latency: { p50: 1400, p95: 2800 },
173
- qualityScore: 93,
174
- modelFamily: 'gemini-1.5',
175
- releaseDate: '2024-02-15',
176
- contextWindow: 1000000,
177
- maxTokens: 8192,
178
- supportsStreaming: true,
179
- supportsVision: true,
180
- supportsTools: true,
181
- supportsJSON: true,
182
- },
183
- 'gemini-1.5-flash': {
184
- pricing: { input: 0.000075, output: 0.0003 },
185
- latency: { p50: 600, p95: 1200 },
186
- qualityScore: 80,
187
- modelFamily: 'gemini-1.5',
188
- releaseDate: '2024-05-14',
189
- contextWindow: 1000000,
190
- maxTokens: 8192,
191
- supportsStreaming: true,
192
- supportsVision: true,
193
- supportsTools: true,
194
- supportsJSON: true,
195
- },
196
- 'gemini-1.5-flash-8b': {
197
- pricing: { input: 0.0000375, output: 0.00015 },
198
- latency: { p50: 400, p95: 800 },
199
- qualityScore: 70,
200
- modelFamily: 'gemini-1.5',
201
- releaseDate: '2024-10-03',
202
- contextWindow: 1000000,
203
- maxTokens: 8192,
204
- supportsStreaming: true,
205
- supportsVision: true,
206
- supportsTools: true,
207
- supportsJSON: true,
208
- },
209
- // Mistral AI Models
210
- 'mistral-large-latest': {
211
- pricing: { input: 0.002, output: 0.006 },
212
- latency: { p50: 1300, p95: 2600 },
213
- qualityScore: 90,
214
- modelFamily: 'mistral',
215
- releaseDate: '2024-07-24',
216
- contextWindow: 128000,
217
- maxTokens: 4096,
218
- supportsStreaming: true,
219
- supportsVision: false,
220
- supportsTools: true,
221
- supportsJSON: true,
222
- },
223
- 'mistral-medium-latest': {
224
- pricing: { input: 0.0027, output: 0.0081 },
225
- latency: { p50: 1100, p95: 2200 },
226
- qualityScore: 85,
227
- modelFamily: 'mistral',
228
- releaseDate: '2023-12-11',
229
- contextWindow: 32000,
230
- maxTokens: 4096,
231
- supportsStreaming: true,
232
- supportsVision: false,
233
- supportsTools: true,
234
- supportsJSON: true,
235
- },
236
- 'mistral-small-latest': {
237
- pricing: { input: 0.001, output: 0.003 },
238
- latency: { p50: 700, p95: 1400 },
239
- qualityScore: 78,
240
- modelFamily: 'mistral',
241
- releaseDate: '2024-02-26',
242
- contextWindow: 32000,
243
- maxTokens: 4096,
244
- supportsStreaming: true,
245
- supportsVision: false,
246
- supportsTools: true,
247
- supportsJSON: true,
248
- },
249
- // DeepSeek Models
250
- 'deepseek-chat': {
251
- pricing: { input: 0.00014, output: 0.00028 },
252
- latency: { p50: 900, p95: 1800 },
253
- qualityScore: 82,
254
- modelFamily: 'deepseek',
255
- releaseDate: '2024-01-01',
256
- contextWindow: 64000,
257
- maxTokens: 4096,
258
- supportsStreaming: true,
259
- supportsVision: false,
260
- supportsTools: true,
261
- supportsJSON: true,
262
- },
263
- 'deepseek-coder': {
264
- pricing: { input: 0.00014, output: 0.00028 },
265
- latency: { p50: 900, p95: 1800 },
266
- qualityScore: 88,
267
- modelFamily: 'deepseek',
268
- releaseDate: '2024-01-01',
269
- contextWindow: 64000,
270
- maxTokens: 4096,
271
- supportsStreaming: true,
272
- supportsVision: false,
273
- supportsTools: true,
274
- supportsJSON: true,
275
- },
276
- };
23
+ const ai_matey_utils_1 = require("ai.matey.utils");
24
+ /** Convert registry per-1M pricing to this module's per-1k units. */
25
+ function toPer1k(pricing) {
26
+ return {
27
+ input: pricing.inputPer1M / 1000,
28
+ output: pricing.outputPer1M / 1000,
29
+ };
30
+ }
31
+ function toExtendedCapabilities(entry) {
32
+ if (!entry.pricing) {
33
+ return null;
34
+ }
35
+ return {
36
+ pricing: toPer1k(entry.pricing),
37
+ latency: entry.latency,
38
+ qualityScore: entry.qualityScore,
39
+ modelFamily: entry.family,
40
+ releaseDate: entry.releaseDate,
41
+ contextWindow: entry.contextWindow,
42
+ maxTokens: entry.maxOutputTokens,
43
+ supportsStreaming: entry.capabilities?.streaming,
44
+ supportsVision: entry.capabilities?.vision,
45
+ supportsTools: entry.capabilities?.tools,
46
+ supportsJSON: entry.capabilities?.json,
47
+ };
48
+ }
277
49
  /**
278
50
  * Get pricing information for a specific model.
279
51
  *
280
- * @param modelId - The model identifier (e.g., "gpt-4", "claude-3-opus-20240229")
52
+ * @param modelId - The model identifier (e.g., "gpt-5.1", "claude-sonnet-4-5")
281
53
  * @returns Pricing data or null if not found
282
54
  */
283
55
  function getModelPricing(modelId) {
284
- const data = MODEL_PRICING_DATABASE[modelId];
285
- return data?.pricing ?? null;
56
+ const entry = (0, ai_matey_utils_1.getModelEntry)(modelId);
57
+ return entry?.pricing ? toPer1k(entry.pricing) : null;
286
58
  }
287
59
  /**
288
60
  * Get extended capabilities for a specific model.
@@ -291,7 +63,8 @@ function getModelPricing(modelId) {
291
63
  * @returns Extended capabilities or null if not found
292
64
  */
293
65
  function getModelCapabilities(modelId) {
294
- return MODEL_PRICING_DATABASE[modelId] ?? null;
66
+ const entry = (0, ai_matey_utils_1.getModelEntry)(modelId);
67
+ return entry ? toExtendedCapabilities(entry) : null;
295
68
  }
296
69
  /**
297
70
  * Get all models with pricing data.
@@ -299,30 +72,32 @@ function getModelCapabilities(modelId) {
299
72
  * @returns Array of model IDs with pricing information
300
73
  */
301
74
  function getAllPricedModels() {
302
- return Object.keys(MODEL_PRICING_DATABASE);
75
+ return (0, ai_matey_utils_1.getRegisteredModels)()
76
+ .filter((entry) => entry.pricing)
77
+ .flatMap((entry) => [entry.id, ...(entry.aliases ?? [])]);
303
78
  }
304
79
  /**
305
80
  * Find models by model family.
306
81
  *
307
- * @param family - The model family (e.g., "gpt-4", "claude-3")
82
+ * Includes aliases (e.g. 'mistral-large-latest') alongside canonical ids.
83
+ *
84
+ * @param family - The model family (e.g., "gpt-5", "claude-4")
308
85
  * @returns Array of model IDs in the family
309
86
  */
310
87
  function getModelsByFamily(family) {
311
- return Object.keys(MODEL_PRICING_DATABASE).filter((modelId) => MODEL_PRICING_DATABASE[modelId]?.modelFamily === family);
88
+ return (0, ai_matey_utils_1.getModelEntriesByFamily)(family).flatMap((entry) => [entry.id, ...(entry.aliases ?? [])]);
312
89
  }
313
90
  /**
314
- * User-defined pricing overrides.
315
- * Allows users to specify custom pricing for models.
316
- */
317
- const pricingOverrides = new Map();
318
- /**
319
- * Set custom pricing for a model (overrides static database).
91
+ * Set custom pricing for a model (overrides the registry).
320
92
  *
321
93
  * @param modelId - The model identifier
322
- * @param pricing - Custom pricing data
94
+ * @param pricing - Custom pricing data (USD per 1k tokens)
323
95
  */
324
96
  function setPricingOverride(modelId, pricing) {
325
- pricingOverrides.set(modelId, pricing);
97
+ (0, ai_matey_utils_1.overrideModelPricing)(modelId, {
98
+ inputPer1M: pricing.input * 1000,
99
+ outputPer1M: pricing.output * 1000,
100
+ });
326
101
  }
327
102
  /**
328
103
  * Clear pricing override for a model.
@@ -330,21 +105,22 @@ function setPricingOverride(modelId, pricing) {
330
105
  * @param modelId - The model identifier
331
106
  */
332
107
  function clearPricingOverride(modelId) {
333
- pricingOverrides.delete(modelId);
108
+ (0, ai_matey_utils_1.clearModelPricingOverride)(modelId);
334
109
  }
335
110
  /**
336
111
  * Clear all pricing overrides.
337
112
  */
338
113
  function clearAllPricingOverrides() {
339
- pricingOverrides.clear();
114
+ (0, ai_matey_utils_1.clearModelPricingOverrides)();
340
115
  }
341
116
  /**
342
117
  * Get pricing with user overrides applied.
343
118
  *
344
119
  * @param modelId - The model identifier
345
- * @returns Pricing data (override if set, else from database)
120
+ * @returns Pricing data (override if set, else from the registry)
346
121
  */
347
122
  function getPricingWithOverrides(modelId) {
348
- return pricingOverrides.get(modelId) ?? getModelPricing(modelId);
123
+ const info = (0, ai_matey_utils_1.getModelPricingInfo)(modelId);
124
+ return info ? toPer1k(info) : null;
349
125
  }
350
126
  //# sourceMappingURL=model-pricing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/model-pricing.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAuSH,0CAGC;AAQD,oDAEC;AAOD,gDAEC;AAQD,8CAIC;AAcD,gDAEC;AAOD,oDAEC;AAKD,4DAEC;AAQD,0DAEC;AAzVD;;;GAGG;AACH,MAAM,sBAAsB,GAAuD;IACjF,gBAAgB;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,qBAAqB,EAAE;QACrB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;QAC3C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IAED,mBAAmB;IACnB,4BAA4B,EAAE;QAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,KAAK;KACpB;IACD,wBAAwB,EAAE;QACxB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,KAAK;KACpB;IACD,0BAA0B,EAAE;QAC1B,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,KAAK;KACpB;IACD,yBAAyB,EAAE;QACzB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAC5C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC/B,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,KAAK;KACpB;IACD,2BAA2B,EAAE;QAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,KAAK;KACpB;IAED,uBAAuB;IACvB,gBAAgB,EAAE;QAChB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAC1C,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAC5C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,qBAAqB,EAAE;QACrB,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAC9C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC/B,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IAED,oBAAoB;IACpB,sBAAsB,EAAE;QACtB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,uBAAuB,EAAE;QACvB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1C,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IAED,kBAAkB;IAClB,eAAe,EAAE;QACf,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAC5C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAC5C,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAC/C,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,MAAM,CACrE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAwB,CAAC;AAEzD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,OAAe,EAAE,OAAqB;IACvE,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/model-pricing.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ function translateModel(modelName, options = {}) {
63
63
  /**
64
64
  * Create a model translator with pre-configured options.
65
65
  *
66
- * @param options - Default translation options
66
+ * @param defaultOptions - Default translation options
67
67
  * @returns Translator function
68
68
  *
69
69
  * @example