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