@x12i/ai-profiles 1.6.0 → 1.7.0

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 (89) hide show
  1. package/README.md +72 -19
  2. package/dist/buildModelsRegistry.d.ts +2 -0
  3. package/dist/buildModelsRegistry.d.ts.map +1 -1
  4. package/dist/buildModelsRegistry.js +5 -5
  5. package/dist/buildModelsRegistry.js.map +1 -1
  6. package/dist/buildResolvedProfile.d.ts +2 -1
  7. package/dist/buildResolvedProfile.d.ts.map +1 -1
  8. package/dist/buildResolvedProfile.js +12 -2
  9. package/dist/buildResolvedProfile.js.map +1 -1
  10. package/dist/catalogEnrichment.d.ts.map +1 -1
  11. package/dist/catalogEnrichment.js +13 -6
  12. package/dist/catalogEnrichment.js.map +1 -1
  13. package/dist/constants.d.ts +2 -0
  14. package/dist/constants.d.ts.map +1 -1
  15. package/dist/constants.js +8 -0
  16. package/dist/constants.js.map +1 -1
  17. package/dist/costPolicy.d.ts +7 -0
  18. package/dist/costPolicy.d.ts.map +1 -0
  19. package/dist/costPolicy.js +81 -0
  20. package/dist/costPolicy.js.map +1 -0
  21. package/dist/data/models-catalog.json +108 -0
  22. package/dist/data/models-profiles.json +326 -316
  23. package/dist/data/models-profiles.schema.json +38 -11
  24. package/dist/data/models-registry.json +129 -21
  25. package/dist/data/profiles-shortcuts.json +49 -9
  26. package/dist/errors.d.ts +1 -1
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js.map +1 -1
  29. package/dist/index.d.ts +6 -2
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/modalityPolicy.d.ts +37 -0
  34. package/dist/modalityPolicy.d.ts.map +1 -0
  35. package/dist/modalityPolicy.js +200 -0
  36. package/dist/modalityPolicy.js.map +1 -0
  37. package/dist/modelIdentity.d.ts.map +1 -1
  38. package/dist/modelIdentity.js +9 -1
  39. package/dist/modelIdentity.js.map +1 -1
  40. package/dist/modelsCatalog.d.ts.map +1 -1
  41. package/dist/modelsCatalog.js +1 -0
  42. package/dist/modelsCatalog.js.map +1 -1
  43. package/dist/profileCatalogSupplement.d.ts.map +1 -1
  44. package/dist/profileCatalogSupplement.js +57 -0
  45. package/dist/profileCatalogSupplement.js.map +1 -1
  46. package/dist/profileRegistryV2.d.ts +8 -8
  47. package/dist/profileRegistryV2.d.ts.map +1 -1
  48. package/dist/profileRegistryV2.js +12 -70
  49. package/dist/profileRegistryV2.js.map +1 -1
  50. package/dist/profileRegistryV3.d.ts +3 -0
  51. package/dist/profileRegistryV3.d.ts.map +1 -1
  52. package/dist/profileRegistryV3.js +90 -77
  53. package/dist/profileRegistryV3.js.map +1 -1
  54. package/dist/resolveAIProfile.d.ts +1 -1
  55. package/dist/resolveAIProfile.d.ts.map +1 -1
  56. package/dist/resolveAIProfile.js +28 -4
  57. package/dist/resolveAIProfile.js.map +1 -1
  58. package/dist/resolveCatalogListing.d.ts +10 -0
  59. package/dist/resolveCatalogListing.d.ts.map +1 -0
  60. package/dist/resolveCatalogListing.js +59 -0
  61. package/dist/resolveCatalogListing.js.map +1 -0
  62. package/dist/resolveModelIdentity.d.ts.map +1 -1
  63. package/dist/resolveModelIdentity.js +1 -0
  64. package/dist/resolveModelIdentity.js.map +1 -1
  65. package/dist/resolveModelRouting.d.ts +2 -2
  66. package/dist/resolveModelRouting.d.ts.map +1 -1
  67. package/dist/resolveModelRouting.js +3 -3
  68. package/dist/resolveModelRouting.js.map +1 -1
  69. package/dist/types.d.ts +77 -9
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/validateProfileCatalogLinkage.d.ts +8 -0
  72. package/dist/validateProfileCatalogLinkage.d.ts.map +1 -0
  73. package/dist/validateProfileCatalogLinkage.js +185 -0
  74. package/dist/validateProfileCatalogLinkage.js.map +1 -0
  75. package/dist/validateProfileModalityCoverage.d.ts +9 -0
  76. package/dist/validateProfileModalityCoverage.d.ts.map +1 -0
  77. package/dist/validateProfileModalityCoverage.js +52 -0
  78. package/dist/validateProfileModalityCoverage.js.map +1 -0
  79. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  80. package/dist/validation/validateModelsProfilesJson.js +1 -6
  81. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  82. package/dist/vendorModelId.d.ts +4 -0
  83. package/dist/vendorModelId.d.ts.map +1 -0
  84. package/dist/vendorModelId.js +14 -0
  85. package/dist/vendorModelId.js.map +1 -0
  86. package/dist/vendorPolicy.d.ts.map +1 -1
  87. package/dist/vendorPolicy.js +1 -0
  88. package/dist/vendorPolicy.js.map +1 -1
  89. package/package.json +2 -1
@@ -1,6 +1,9 @@
1
1
  import type { AIProfileChoice, AIModelPricing, ModelsProfilesJson } from "./types.js";
2
2
  import { getChoicePricing } from "./profileRegistryV2.js";
3
3
  export declare const PREDICTED_VENDOR_MODEL_IDS: Set<string>;
4
+ /** Profile choices only store provider + modelId; strip legacy transport blocks. */
5
+ export declare function normalizeProfileChoice(choice: AIProfileChoice): AIProfileChoice;
6
+ export declare function stripProfilesApiMetadata(input: ModelsProfilesJson): ModelsProfilesJson;
4
7
  export declare function isModelsProfilesV3(value: ModelsProfilesJson): boolean;
5
8
  export declare function migrateModelsProfilesToV3(input: ModelsProfilesJson, options?: {
6
9
  lastVerifiedAt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"profileRegistryV3.d.ts","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EAGd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,0BAA0B,aAYrC,CAAC;AAiYH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,kBAAkB,CAgFpB;AA8DD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAqBpB;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAKrC"}
1
+ {"version":3,"file":"profileRegistryV3.d.ts","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EAGd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,0BAA0B,aAYrC,CAAC;AAsLH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAW/E;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAsBpB;AA0LD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,kBAAkB,CAiFpB;AAgDD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CA4BpB;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAKrC"}
@@ -1,4 +1,4 @@
1
- import { defaultFallbackOrder, fixVendorModelId, getChoicePricing, openRouterSlugFor, } from "./profileRegistryV2.js";
1
+ import { defaultFallbackOrder, fixVendorModelId, getChoicePricing, } from "./profileRegistryV2.js";
2
2
  export const PREDICTED_VENDOR_MODEL_IDS = new Set([
3
3
  "gpt-5.4",
4
4
  "gpt-5.4-mini",
@@ -27,91 +27,137 @@ const VERIFIED_VENDOR_MODEL_IDS = new Set([
27
27
  "deepseek-chat",
28
28
  "deepseek-reasoner",
29
29
  "grok-build-0.1",
30
+ "minimax-m2",
31
+ "minimax-m2.5",
32
+ "minimax-m2.7",
30
33
  "gpt-5.5",
31
34
  "meta-llama/Llama-3.3-70B-Instruct-Turbo",
32
35
  "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
33
36
  ]);
34
37
  const PROFILE_REQUIRED_CAPABILITIES = {
35
- cheap: { cost: "low", reasoning: "minimal", context: "standard" },
36
- fast: { speed: "high", cost: "low", reasoning: "low", latency: "low" },
38
+ cheap: {
39
+ cost: "low",
40
+ reasoning: "minimal",
41
+ context: "standard",
42
+ inputModalities: ["text"],
43
+ outputModalities: ["text"],
44
+ },
45
+ fast: {
46
+ speed: "high",
47
+ cost: "low",
48
+ reasoning: "low",
49
+ latency: "low",
50
+ inputModalities: ["text"],
51
+ outputModalities: ["text"],
52
+ },
37
53
  balanced: {
38
54
  reasoning: "medium",
39
55
  coding: true,
40
56
  context: "standard",
41
57
  cost: "medium",
58
+ inputModalities: ["text"],
59
+ outputModalities: ["text"],
42
60
  },
43
61
  deep: {
44
62
  reasoning: "high",
45
63
  coding: true,
46
64
  context: "large",
47
65
  quality: "high",
66
+ inputModalities: ["text"],
67
+ outputModalities: ["text"],
48
68
  },
49
69
  pro: {
50
70
  reasoning: "high",
51
71
  quality: "premium",
52
72
  context: "large",
73
+ inputModalities: ["text"],
74
+ outputModalities: ["text"],
53
75
  },
54
76
  json: {
55
77
  structuredOutput: true,
56
78
  reasoning: "low",
57
79
  supportsJsonSchema: true,
80
+ inputModalities: ["text"],
81
+ outputModalities: ["text"],
58
82
  },
59
83
  coding: {
60
84
  reasoning: "high",
61
85
  coding: true,
62
86
  context: "large",
63
87
  quality: "high",
88
+ inputModalities: ["text"],
89
+ outputModalities: ["text"],
64
90
  },
65
91
  extraction: {
66
92
  structuredOutput: true,
67
93
  reasoning: "minimal",
68
94
  cost: "low",
69
95
  supportsJsonSchema: true,
96
+ inputModalities: ["text"],
97
+ outputModalities: ["text"],
70
98
  },
71
99
  routing: {
72
100
  reasoning: "minimal",
73
101
  cost: "low",
74
102
  latency: "low",
103
+ inputModalities: ["text"],
104
+ outputModalities: ["text"],
75
105
  },
76
106
  agentic: {
77
107
  reasoning: "medium",
78
108
  coding: true,
79
109
  supportsTools: true,
80
110
  context: "large",
111
+ inputModalities: ["text"],
112
+ outputModalities: ["text"],
81
113
  },
82
114
  research: {
83
115
  reasoning: "high",
84
116
  context: "large",
85
117
  quality: "high",
118
+ inputModalities: ["text"],
119
+ outputModalities: ["text"],
86
120
  },
87
121
  cyber: {
88
122
  reasoning: "high",
89
123
  coding: true,
90
124
  context: "large",
125
+ inputModalities: ["text"],
126
+ outputModalities: ["text"],
91
127
  },
92
128
  content: {
93
129
  reasoning: "medium",
94
130
  context: "standard",
95
131
  quality: "high",
132
+ inputModalities: ["text"],
133
+ outputModalities: ["text"],
96
134
  },
97
135
  summarization: {
98
136
  reasoning: "low",
99
137
  cost: "low",
100
138
  context: "large",
139
+ inputModalities: ["text"],
140
+ outputModalities: ["text"],
101
141
  },
102
142
  vision: {
103
143
  reasoning: "medium",
104
144
  supportsVision: true,
105
145
  context: "large",
146
+ inputModalities: ["text", "image"],
147
+ outputModalities: ["text"],
106
148
  },
107
149
  open_weights: {
108
150
  reasoning: "medium",
109
151
  coding: true,
110
152
  cost: "medium",
153
+ inputModalities: ["text"],
154
+ outputModalities: ["text"],
111
155
  },
112
156
  local: {
113
157
  reasoning: "minimal",
114
158
  cost: "low",
159
+ inputModalities: ["text"],
160
+ outputModalities: ["text"],
115
161
  },
116
162
  };
117
163
  function inferModelStatus(vendorModelId, provider) {
@@ -140,28 +186,32 @@ function stripChoicePricing(choice) {
140
186
  }
141
187
  return rest;
142
188
  }
143
- function ensureChoiceApi(choice) {
189
+ /** Profile choices only store provider + modelId; strip legacy transport blocks. */
190
+ export function normalizeProfileChoice(choice) {
191
+ const { api: _api, pricing: _pricing, ...rest } = choice;
144
192
  const vendorModelId = fixVendorModelId(choice.modelId);
145
- const isVendorDirect = choice.metadata?.openRouter === "vendor-direct" ||
146
- choice.provider === "together";
147
- const orSlug = isVendorDirect
148
- ? null
149
- : openRouterSlugFor(choice.provider, vendorModelId);
150
- const defaultTransport = choice.provider === "local"
151
- ? "direct"
152
- : isVendorDirect
153
- ? "direct"
154
- : (choice.runtime?.backend ?? "openrouter") === "openrouter"
155
- ? "openrouter"
156
- : "direct";
157
- return {
158
- ...choice,
193
+ return stripChoicePricing({
194
+ ...rest,
159
195
  modelId: vendorModelId,
160
196
  modelStatus: choice.modelStatus ?? inferModelStatus(vendorModelId, choice.provider),
161
- api: choice.api ?? {
162
- defaultTransport,
163
- vendorModelId,
164
- openRouterModelId: orSlug,
197
+ });
198
+ }
199
+ export function stripProfilesApiMetadata(input) {
200
+ const profiles = {};
201
+ for (const [profileKey, profile] of Object.entries(input.profiles)) {
202
+ const choices = {};
203
+ for (const [choiceKey, choice] of Object.entries(profile.choices)) {
204
+ choices[choiceKey] = normalizeProfileChoice(choice);
205
+ }
206
+ profiles[profileKey] = { ...profile, choices };
207
+ }
208
+ return {
209
+ ...input,
210
+ profiles,
211
+ semantics: {
212
+ ...input.semantics,
213
+ modelId: "Catalog lookup key (vendor-native id). Direct and OpenRouter slugs live in models-catalog.json.",
214
+ openRouterModelId: "Resolved from models-catalog.json at runtime; never stored on profile choices.",
165
215
  },
166
216
  };
167
217
  }
@@ -190,11 +240,6 @@ function buildCodingProfile(lastVerifiedAt) {
190
240
  outputMode: "text",
191
241
  },
192
242
  reason: "Strong instruction following and code quality for everyday engineering tasks.",
193
- api: {
194
- defaultTransport: "openrouter",
195
- vendorModelId: "claude-sonnet-4-5",
196
- openRouterModelId: "anthropic/claude-sonnet-4.5",
197
- },
198
243
  verification: {
199
244
  lastVerifiedAt,
200
245
  sourceRefs: ["vendor:anthropic", "openrouter:catalog"],
@@ -213,18 +258,13 @@ function buildCodingProfile(lastVerifiedAt) {
213
258
  outputMode: "text",
214
259
  },
215
260
  reason: "Solid alternative for multi-file edits and API-heavy codebases.",
216
- api: {
217
- defaultTransport: "openrouter",
218
- vendorModelId: "gpt-4.1",
219
- openRouterModelId: "openai/gpt-4.1",
220
- },
221
261
  verification: {
222
262
  lastVerifiedAt,
223
263
  sourceRefs: ["vendor:openai", "openrouter:catalog"],
224
264
  },
225
265
  },
226
- cost_coding: {
227
- choice: "cost_coding",
266
+ deepseek_coding: {
267
+ choice: "deepseek_coding",
228
268
  displayName: "Budget Coding",
229
269
  description: "Lower-cost coding option for simpler changes.",
230
270
  provider: "deepseek",
@@ -236,18 +276,13 @@ function buildCodingProfile(lastVerifiedAt) {
236
276
  outputMode: "text",
237
277
  },
238
278
  reason: "Cost-effective for smaller patches, tests, and boilerplate generation.",
239
- api: {
240
- defaultTransport: "openrouter",
241
- vendorModelId: "deepseek-chat",
242
- openRouterModelId: "deepseek/deepseek-chat",
243
- },
244
279
  verification: {
245
280
  lastVerifiedAt,
246
281
  sourceRefs: ["vendor:deepseek", "openrouter:catalog"],
247
282
  },
248
283
  },
249
284
  },
250
- fallbackChoiceOrder: ["default", "openai_coding", "cost_coding"],
285
+ fallbackChoiceOrder: ["default", "openai_coding", "deepseek_coding", "minimax_coding"],
251
286
  };
252
287
  }
253
288
  function buildExtractionProfile(lastVerifiedAt) {
@@ -278,18 +313,13 @@ function buildExtractionProfile(lastVerifiedAt) {
278
313
  temperature: 0,
279
314
  },
280
315
  reason: "Optimized for bulk extraction where latency and cost dominate.",
281
- api: {
282
- defaultTransport: "openrouter",
283
- vendorModelId: "gemini-2.5-flash-lite",
284
- openRouterModelId: "google/gemini-2.5-flash-lite",
285
- },
286
316
  verification: {
287
317
  lastVerifiedAt,
288
318
  sourceRefs: ["vendor:google", "openrouter:catalog"],
289
319
  },
290
320
  },
291
- quality_extraction: {
292
- choice: "quality_extraction",
321
+ anthropic_extraction: {
322
+ choice: "anthropic_extraction",
293
323
  displayName: "Quality Extraction",
294
324
  description: "Higher-quality extraction when ambiguity or long documents matter.",
295
325
  provider: "anthropic",
@@ -302,18 +332,13 @@ function buildExtractionProfile(lastVerifiedAt) {
302
332
  temperature: 0,
303
333
  },
304
334
  reason: "Better entity boundaries and taxonomy consistency on messy inputs.",
305
- api: {
306
- defaultTransport: "openrouter",
307
- vendorModelId: "claude-haiku-4-5",
308
- openRouterModelId: "anthropic/claude-haiku-4.5",
309
- },
310
335
  verification: {
311
336
  lastVerifiedAt,
312
337
  sourceRefs: ["vendor:anthropic", "openrouter:catalog"],
313
338
  },
314
339
  },
315
340
  },
316
- fallbackChoiceOrder: ["default", "quality_extraction"],
341
+ fallbackChoiceOrder: ["default", "anthropic_extraction"],
317
342
  };
318
343
  }
319
344
  function buildRoutingProfile(lastVerifiedAt) {
@@ -340,11 +365,6 @@ function buildRoutingProfile(lastVerifiedAt) {
340
365
  temperature: 0,
341
366
  },
342
367
  reason: "Minimize spend on per-request routing and orchestration gates.",
343
- api: {
344
- defaultTransport: "openrouter",
345
- vendorModelId: "gemini-2.5-flash-lite",
346
- openRouterModelId: "google/gemini-2.5-flash-lite",
347
- },
348
368
  verification: {
349
369
  lastVerifiedAt,
350
370
  sourceRefs: ["vendor:google", "openrouter:catalog"],
@@ -364,11 +384,6 @@ function buildRoutingProfile(lastVerifiedAt) {
364
384
  temperature: 0,
365
385
  },
366
386
  reason: "Better instruction adherence for multi-label or nested routing trees.",
367
- api: {
368
- defaultTransport: "openrouter",
369
- vendorModelId: "claude-haiku-4-5",
370
- openRouterModelId: "anthropic/claude-haiku-4.5",
371
- },
372
387
  verification: {
373
388
  lastVerifiedAt,
374
389
  sourceRefs: ["vendor:anthropic", "openrouter:catalog"],
@@ -387,7 +402,7 @@ export function migrateModelsProfilesToV3(input, options) {
387
402
  for (const [profileKey, profile] of Object.entries(input.profiles)) {
388
403
  const choices = {};
389
404
  for (const [choiceKey, choice] of Object.entries(profile.choices)) {
390
- let migrated = stripChoicePricing(ensureChoiceApi(choice));
405
+ let migrated = normalizeProfileChoice(choice);
391
406
  if (profileKey === "open_weights") {
392
407
  migrated = {
393
408
  ...migrated,
@@ -429,7 +444,7 @@ export function migrateModelsProfilesToV3(input, options) {
429
444
  semantics: {
430
445
  provider: "Billing owner / vendor source of truth for the model SKU.",
431
446
  modelId: "Canonical vendor-native model identifier for direct API calls.",
432
- openRouterModelId: "OpenRouter transport slug; pricing and capabilities are resolved from models-catalog.json at runtime.",
447
+ openRouterModelId: "Resolved from models-catalog.json at runtime; never stored on profile choices.",
433
448
  modelStatus: "verified = stable vendor SKU; predicted = forward-looking placeholder — not guaranteed callable.",
434
449
  requiredCapabilities: "Profile intent contract; concrete model picks remain suggestions until Optimixer selects dynamically.",
435
450
  deploymentType: "How the model is operated (proprietary API vs hosted open weights vs self-hosted).",
@@ -440,6 +455,7 @@ export function migrateModelsProfilesToV3(input, options) {
440
455
  { id: "anthropic", docsUrl: "https://docs.anthropic.com/en/docs/about-claude/models" },
441
456
  { id: "google", docsUrl: "https://ai.google.dev/gemini-api/docs/models" },
442
457
  { id: "deepseek", docsUrl: "https://api-docs.deepseek.com" },
458
+ { id: "minimax", docsUrl: "https://platform.minimaxi.com/document" },
443
459
  { id: "xai", docsUrl: "https://docs.x.ai/docs/models" },
444
460
  { id: "together", docsUrl: "https://docs.together.ai/docs/serverless-models" },
445
461
  ],
@@ -453,17 +469,14 @@ const VERIFIED_DEFAULT_SKU = {
453
469
  "gpt-5.4-mini": {
454
470
  provider: "openai",
455
471
  modelId: "gpt-4o-mini",
456
- openRouterModelId: "openai/gpt-4o-mini",
457
472
  },
458
473
  "gpt-5.4": {
459
474
  provider: "openai",
460
475
  modelId: "gpt-4.1",
461
- openRouterModelId: "openai/gpt-4.1",
462
476
  },
463
477
  "claude-sonnet-4-6": {
464
478
  provider: "anthropic",
465
479
  modelId: "claude-sonnet-4-5",
466
- openRouterModelId: "anthropic/claude-sonnet-4.5",
467
480
  },
468
481
  };
469
482
  function applyVerifiedSkuToChoice(choice) {
@@ -471,18 +484,11 @@ function applyVerifiedSkuToChoice(choice) {
471
484
  if (!replacement) {
472
485
  return choice;
473
486
  }
474
- const defaultTransport = choice.api?.defaultTransport ??
475
- (choice.provider === "together" ? "direct" : "openrouter");
476
487
  return {
477
- ...choice,
488
+ ...normalizeProfileChoice(choice),
478
489
  provider: replacement.provider,
479
490
  modelId: replacement.modelId,
480
491
  modelStatus: "verified",
481
- api: {
482
- defaultTransport,
483
- vendorModelId: replacement.modelId,
484
- openRouterModelId: replacement.openRouterModelId,
485
- },
486
492
  };
487
493
  }
488
494
  /**
@@ -508,7 +514,14 @@ export function applyVerifiedProfileDefaults(input) {
508
514
  }
509
515
  choices[choiceKey] = updated;
510
516
  }
511
- profiles[profileKey] = { ...profile, choices };
517
+ profiles[profileKey] = {
518
+ ...profile,
519
+ choices,
520
+ requiredCapabilities: {
521
+ ...PROFILE_REQUIRED_CAPABILITIES[profileKey],
522
+ ...profile.requiredCapabilities,
523
+ },
524
+ };
512
525
  }
513
526
  return {
514
527
  ...input,
@@ -1 +1 @@
1
- {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { ResolveAIProfileOptions, ResolvedAIProfile } from "./types.js";
3
3
  * Resolve a profile primary key, alias, or shortcut to a concrete model and runtime config.
4
4
  *
5
5
  * `input` names **intent** (e.g. `balanced`, `cheapest`, `cost-sensitive`), not a vendor model id.
6
- * Use `options.choice` to pick an alternative within the profile (e.g. `cheap` + `safer_provider`).
6
+ * Use `options.choice` to pick an alternative within the profile (e.g. `cheap` + `anthropic_cheap`).
7
7
  *
8
8
  * @see README.md — “Why AI profiles”
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CA2H5B"}
1
+ {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CA6J5B"}
@@ -3,12 +3,13 @@ import { AIProfilesError } from "./errors.js";
3
3
  import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
4
4
  import { loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
5
5
  import { matchProfileInput } from "./profileInputMatch.js";
6
- import { pickProfileChoice } from "./vendorPolicy.js";
6
+ import { pickProfileChoiceWithConstraints } from "./modalityPolicy.js";
7
+ import { normalizeCostCap } from "./costPolicy.js";
7
8
  /**
8
9
  * Resolve a profile primary key, alias, or shortcut to a concrete model and runtime config.
9
10
  *
10
11
  * `input` names **intent** (e.g. `balanced`, `cheapest`, `cost-sensitive`), not a vendor model id.
11
- * Use `options.choice` to pick an alternative within the profile (e.g. `cheap` + `safer_provider`).
12
+ * Use `options.choice` to pick an alternative within the profile (e.g. `cheap` + `anthropic_cheap`).
12
13
  *
13
14
  * @see README.md — “Why AI profiles”
14
15
  */
@@ -55,11 +56,16 @@ export async function resolveAIProfile(input, options = {}) {
55
56
  let finalChoiceKey;
56
57
  let choice;
57
58
  try {
58
- const picked = pickProfileChoice(profile, {
59
+ const picked = pickProfileChoiceWithConstraints(profileKey, profile, {
59
60
  choiceKey: requestedChoiceKey,
60
61
  allowedProviders: options.allowedProviders,
61
62
  preferLeadingVendors: options.preferLeadingVendors ?? true,
62
- explicitChoiceRequested: options.choice !== undefined,
63
+ explicitChoiceRequested: options.choice !== undefined ||
64
+ (match.kind === "shortcut" && match.shortcut.choice !== undefined),
65
+ inputModalities: options.inputModalities,
66
+ outputModalities: options.outputModalities,
67
+ costCapPer1M: options.costCapPer1M,
68
+ catalog: catalogResult.catalog,
63
69
  });
64
70
  finalChoiceKey = picked.choiceKey;
65
71
  choice = picked.choice;
@@ -76,6 +82,23 @@ export async function resolveAIProfile(input, options = {}) {
76
82
  ],
77
83
  });
78
84
  }
85
+ if (message.includes("required modalities")) {
86
+ throw new AIProfilesError("NO_MODALITY_MATCH", message, {
87
+ input,
88
+ profile: profileKey,
89
+ choice: requestedChoiceKey,
90
+ inputModalities: options.inputModalities,
91
+ outputModalities: options.outputModalities,
92
+ });
93
+ }
94
+ if (message.includes("cost cap")) {
95
+ throw new AIProfilesError("NO_COST_CAP_MATCH", message, {
96
+ input,
97
+ profile: profileKey,
98
+ choice: requestedChoiceKey,
99
+ costCapPer1M: options.costCapPer1M,
100
+ });
101
+ }
79
102
  if (message.startsWith("Unknown choice")) {
80
103
  if (options.allowFallbackToDefaultChoice) {
81
104
  return resolveAIProfile(profileKey, {
@@ -101,6 +124,7 @@ export async function resolveAIProfile(input, options = {}) {
101
124
  loaderWarnings,
102
125
  useOpenRouter: options.useOpenRouter,
103
126
  catalog: catalogResult.catalog,
127
+ costCapApplied: normalizeCostCap(options.costCapPer1M),
104
128
  });
105
129
  }
106
130
  //# sourceMappingURL=resolveAIProfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ModelInvocation } from "./modelIdentity.js";
2
+ import type { AIProfileChoice, ModelsCatalogJson } from "./types.js";
3
+ /**
4
+ * Resolve direct + OpenRouter endpoints for a profile choice.
5
+ * Profiles only store {@link AIProfileChoice.provider} + {@link AIProfileChoice.modelId};
6
+ * transport slugs and pricing come from {@link ModelsCatalogJson}.
7
+ */
8
+ export declare function resolveChoiceInvocation(choice: AIProfileChoice, catalog?: ModelsCatalogJson): ModelInvocation;
9
+ export declare function resolveChoiceOpenRouterModelId(choice: AIProfileChoice, catalog?: ModelsCatalogJson): string | null;
10
+ //# sourceMappingURL=resolveCatalogListing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCatalogListing.d.ts","sourceRoot":"","sources":["../src/resolveCatalogListing.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqBjF;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CA2CjB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,GAAG,IAAI,CAEf"}
@@ -0,0 +1,59 @@
1
+ import { buildModelsCatalogIndex } from "./modelsCatalog.js";
2
+ import { buildModelInvocation, matchOpenRouterCatalog, } from "./modelIdentity.js";
3
+ import { fixVendorModelId } from "./vendorModelId.js";
4
+ function normalizeKey(value) {
5
+ return value.trim().toLowerCase();
6
+ }
7
+ function isLocalChoice(choice) {
8
+ if (choice.provider === "local") {
9
+ return true;
10
+ }
11
+ const modelId = fixVendorModelId(choice.modelId);
12
+ return modelId.startsWith("funcx:") || modelId.startsWith("Xenova/");
13
+ }
14
+ function isVendorDirectChoice(choice) {
15
+ return (choice.metadata?.openRouter === "vendor-direct" || choice.provider === "together");
16
+ }
17
+ /**
18
+ * Resolve direct + OpenRouter endpoints for a profile choice.
19
+ * Profiles only store {@link AIProfileChoice.provider} + {@link AIProfileChoice.modelId};
20
+ * transport slugs and pricing come from {@link ModelsCatalogJson}.
21
+ */
22
+ export function resolveChoiceInvocation(choice, catalog) {
23
+ const vendorModelId = fixVendorModelId(choice.modelId);
24
+ const provider = choice.provider;
25
+ if (isLocalChoice(choice)) {
26
+ return {
27
+ direct: { provider: "local", modelId: vendorModelId },
28
+ openrouter: null,
29
+ };
30
+ }
31
+ if (isVendorDirectChoice(choice)) {
32
+ return {
33
+ direct: { provider, modelId: vendorModelId },
34
+ openrouter: null,
35
+ };
36
+ }
37
+ if (catalog) {
38
+ const index = buildModelsCatalogIndex(catalog);
39
+ const match = matchOpenRouterCatalog(provider, vendorModelId, index);
40
+ if (match.matched && match.openRouterModelId) {
41
+ const entry = catalog.models.find((model) => normalizeKey(model.openrouter.modelId) ===
42
+ normalizeKey(match.openRouterModelId));
43
+ const directProvider = (entry?.direct.provider ?? provider);
44
+ const directModelId = entry?.direct.modelId ?? vendorModelId;
45
+ return {
46
+ direct: { provider: directProvider, modelId: directModelId },
47
+ openrouter: {
48
+ provider: "openrouter",
49
+ modelId: match.openRouterModelId,
50
+ },
51
+ };
52
+ }
53
+ }
54
+ return buildModelInvocation(provider, vendorModelId);
55
+ }
56
+ export function resolveChoiceOpenRouterModelId(choice, catalog) {
57
+ return resolveChoiceInvocation(choice, catalog).openrouter?.modelId ?? null;
58
+ }
59
+ //# sourceMappingURL=resolveCatalogListing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCatalogListing.js","sourceRoot":"","sources":["../src/resolveCatalogListing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB;IACnD,OAAO,CACL,MAAM,CAAC,QAAQ,EAAE,UAAU,KAAK,eAAe,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,CAClF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAuB,EACvB,OAA2B;IAE3B,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;YACrD,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YAC5C,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;gBACtC,YAAY,CAAC,KAAK,CAAC,iBAAkB,CAAC,CACzC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAe,CAAC;YAC1E,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC;YAE7D,OAAO;gBACL,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;gBAC5D,UAAU,EAAE;oBACV,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,KAAK,CAAC,iBAAiB;iBACjC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,MAAuB,EACvB,OAA2B;IAE3B,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC;AAC9E,CAAC"}