@x12i/ai-profiles 1.8.0 → 2.0.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.
Files changed (74) hide show
  1. package/README.md +45 -6
  2. package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
  3. package/dist/buildCatalogFromOpenRouterApi.js +2 -2
  4. package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
  5. package/dist/buildResolvedProfile.d.ts.map +1 -1
  6. package/dist/buildResolvedProfile.js +1 -0
  7. package/dist/buildResolvedProfile.js.map +1 -1
  8. package/dist/constants.d.ts +2 -3
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +2 -7
  11. package/dist/constants.js.map +1 -1
  12. package/dist/data/models-catalog.json +13 -13
  13. package/dist/data/models-profiles.json +551 -138
  14. package/dist/data/models-profiles.schema.json +87 -4
  15. package/dist/data/models-registry.json +71 -41
  16. package/dist/data/profiles-shortcuts.json +48 -42
  17. package/dist/errors.d.ts +1 -1
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/index.d.ts +12 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +9 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/listAIProfiles.d.ts.map +1 -1
  25. package/dist/listAIProfiles.js +34 -4
  26. package/dist/listAIProfiles.js.map +1 -1
  27. package/dist/modelInputFallback.d.ts.map +1 -1
  28. package/dist/modelInputFallback.js +7 -3
  29. package/dist/modelInputFallback.js.map +1 -1
  30. package/dist/modelsCatalog.d.ts +5 -0
  31. package/dist/modelsCatalog.d.ts.map +1 -1
  32. package/dist/modelsCatalog.js +32 -2
  33. package/dist/modelsCatalog.js.map +1 -1
  34. package/dist/profileCatalogLane.d.ts +22 -0
  35. package/dist/profileCatalogLane.d.ts.map +1 -0
  36. package/dist/profileCatalogLane.js +83 -0
  37. package/dist/profileCatalogLane.js.map +1 -0
  38. package/dist/profileDiscovery.d.ts +43 -0
  39. package/dist/profileDiscovery.d.ts.map +1 -0
  40. package/dist/profileDiscovery.js +129 -0
  41. package/dist/profileDiscovery.js.map +1 -0
  42. package/dist/profileRegistryV3.d.ts.map +1 -1
  43. package/dist/profileRegistryV3.js +6 -4
  44. package/dist/profileRegistryV3.js.map +1 -1
  45. package/dist/resolveAIProfile.d.ts +1 -1
  46. package/dist/resolveAIProfile.d.ts.map +1 -1
  47. package/dist/resolveAIProfile.js +51 -2
  48. package/dist/resolveAIProfile.js.map +1 -1
  49. package/dist/resolveAIProfileByTags.d.ts +11 -0
  50. package/dist/resolveAIProfileByTags.d.ts.map +1 -0
  51. package/dist/resolveAIProfileByTags.js +33 -0
  52. package/dist/resolveAIProfileByTags.js.map +1 -0
  53. package/dist/resolveSecondaryModel.d.ts +6 -0
  54. package/dist/resolveSecondaryModel.d.ts.map +1 -0
  55. package/dist/resolveSecondaryModel.js +82 -0
  56. package/dist/resolveSecondaryModel.js.map +1 -0
  57. package/dist/secondaryModel.d.ts +42 -0
  58. package/dist/secondaryModel.d.ts.map +1 -0
  59. package/dist/secondaryModel.js +172 -0
  60. package/dist/secondaryModel.js.map +1 -0
  61. package/dist/types.d.ts +91 -1
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/validateProfileCatalogLinkage.d.ts.map +1 -1
  64. package/dist/validateProfileCatalogLinkage.js +1 -0
  65. package/dist/validateProfileCatalogLinkage.js.map +1 -1
  66. package/dist/validation/profileIntentPolicy.d.ts +8 -0
  67. package/dist/validation/profileIntentPolicy.d.ts.map +1 -0
  68. package/dist/validation/profileIntentPolicy.js +60 -0
  69. package/dist/validation/profileIntentPolicy.js.map +1 -0
  70. package/dist/validation/validateModelsProfilesJson.d.ts +1 -0
  71. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  72. package/dist/validation/validateModelsProfilesJson.js +127 -17
  73. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  74. package/package.json +1 -3
@@ -1,4 +1,6 @@
1
1
  import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
2
+ import { profileMatchesCatalogLane } from "./profileCatalogLane.js";
3
+ import { profileMatchesDiscovery, scoreProfileTags, } from "./profileDiscovery.js";
2
4
  /**
3
5
  * List profile capability contracts (primary keys, aliases, choices, defaults).
4
6
  * Use for pickers and discovery; call {@link resolveAIProfile} to get model + runtime details.
@@ -10,8 +12,8 @@ export async function listAIProfiles(options = {}) {
10
12
  source: options.source,
11
13
  refresh: options.refresh,
12
14
  });
13
- return Object.values(registry.profiles)
14
- .filter((profile) => {
15
+ const requestedTags = options.tags ?? [];
16
+ const filtered = Object.values(registry.profiles).filter((profile) => {
15
17
  if (!options.includeDeprecated && profile.status === "deprecated") {
16
18
  return false;
17
19
  }
@@ -21,9 +23,35 @@ export async function listAIProfiles(options = {}) {
21
23
  if (options.category && profile.category !== options.category) {
22
24
  return false;
23
25
  }
26
+ if (options.catalogLane &&
27
+ !profileMatchesCatalogLane(profile, options.catalogLane)) {
28
+ return false;
29
+ }
30
+ if (!profileMatchesDiscovery(profile, {
31
+ tags: options.tags,
32
+ tagMatch: options.tagMatch,
33
+ search: options.search,
34
+ })) {
35
+ return false;
36
+ }
24
37
  return true;
25
- })
26
- .map((profile) => {
38
+ });
39
+ if (requestedTags.length > 0) {
40
+ filtered.sort((a, b) => {
41
+ const aScore = scoreProfileTags(a, requestedTags).score;
42
+ const bScore = scoreProfileTags(b, requestedTags).score;
43
+ if (bScore !== aScore) {
44
+ return bScore - aScore;
45
+ }
46
+ const aLen = a.tags?.length ?? 0;
47
+ const bLen = b.tags?.length ?? 0;
48
+ if (aLen !== bLen) {
49
+ return aLen - bLen;
50
+ }
51
+ return a.profile.localeCompare(b.profile);
52
+ });
53
+ }
54
+ return filtered.map((profile) => {
27
55
  const defaultChoice = profile.choices[profile.defaultChoice];
28
56
  return {
29
57
  profile: profile.profile,
@@ -31,6 +59,8 @@ export async function listAIProfiles(options = {}) {
31
59
  description: profile.description,
32
60
  category: profile.category,
33
61
  aliases: profile.aliases ?? [],
62
+ tags: profile.tags ?? [],
63
+ catalogLane: profile.catalogLane,
34
64
  defaultChoice: profile.defaultChoice,
35
65
  choices: Object.keys(profile.choices),
36
66
  defaultProvider: defaultChoice.provider,
@@ -1 +1 @@
1
- {"version":3,"file":"listAIProfiles.js","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAGxF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,eAAe,EAAE,aAAa,CAAC,QAAQ;YACvC,cAAc,EAAE,aAAa,CAAC,OAAO;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"listAIProfiles.js","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelInputFallback.d.ts","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,gBAAgB,EAEhB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwLD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,uBAAuB,GAAG,SAAS,CAiDrC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAoEpB"}
1
+ {"version":3,"file":"modelInputFallback.d.ts","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,gBAAgB,EAEhB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwLD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,uBAAuB,GAAG,SAAS,CAiDrC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAuEpB"}
@@ -4,6 +4,7 @@ import { DEFAULT_CACHE_TTL_MS, DEFAULT_RUNTIME_DEFAULTS } from "./constants.js";
4
4
  import { getMemoryCache } from "./loader/memoryCache.js";
5
5
  import { buildModelInvocation } from "./modelIdentity.js";
6
6
  import { normalizeKey } from "./normalizeKey.js";
7
+ import { inferCatalogLaneFromEntry } from "./profileCatalogLane.js";
7
8
  import { normalizeModalityContract } from "./modalityPolicy.js";
8
9
  import { resolveUseOpenRouter } from "./resolveModelRouting.js";
9
10
  const HIGH_CONFIDENCE_SCORE = 0.72;
@@ -142,14 +143,14 @@ function isModelLikeInput(input) {
142
143
  return input.includes("/");
143
144
  }
144
145
  export function resolveModelFromInput(input, catalog) {
145
- if (!isModelLikeInput(input)) {
146
- return undefined;
147
- }
148
146
  const candidates = buildCatalogCandidates(catalog);
149
147
  const exact = findExactCatalogCandidate(candidates, input);
150
148
  if (exact) {
151
149
  return exact;
152
150
  }
151
+ if (!isModelLikeInput(input)) {
152
+ return undefined;
153
+ }
153
154
  const [best, runnerUp] = candidates
154
155
  .map((candidate) => scoreCatalogCandidate(input, candidate))
155
156
  .sort((a, b) => b.score - a.score);
@@ -231,6 +232,9 @@ export function buildResolvedModelInput(params) {
231
232
  profileDisplayName: "Direct Model",
232
233
  profileDescription: "Direct model input resolved from the models catalog.",
233
234
  category: "model",
235
+ catalogLane: catalogEntry
236
+ ? inferCatalogLaneFromEntry(catalogEntry)
237
+ : "text",
234
238
  choice: catalogEntry?.openrouter.modelId ?? input,
235
239
  choiceDisplayName: catalogEntry?.displayName ??
236
240
  `${match.invocation.direct.provider}/${match.invocation.direct.modelId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"modelInputFallback.js","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAgChE,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,mBAAmB,CAAC,KAAK,CAAC;SAC9B,KAAK,CAAC,aAAa,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,MAAwC;IAC5D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB;IAC/C,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,OAAO;QACpB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QAClD,KAAK,CAAC,UAAU,CAAC,OAAO;QACxB,KAAK,CAAC,UAAU,CAAC,aAAa;QAC9B,KAAK,CAAC,WAAW;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA0B;IACxD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK;QACL,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAwB;IAC1D,OAAO;QACL,MAAM,EAAE;YACN,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAC/B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;SAC9B;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ;YACnC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;SAClC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,yBAAyB,CAChC,UAA8B,EAC9B,KAAa;IAEb,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC5C,IACE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,eAAe;gBACjD,iBAAiB,CAAC,QAAQ,CAAC,KAAK,YAAY,EAC5C,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC;oBACvD,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,QAAQ;iBACpB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO,YAAY,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,QAAgB;IACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,gBAAgB,GACpB,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,aAAa,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAElE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC;QAC3C,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAa,EACb,SAA2B;IAE3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG;QACT,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;KACrE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,aAAa,GACjB,YAAY,IAAI,YAAY,KAAK,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,OAA0B;IAE1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE3D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU;SAChC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,UAAU;YACf,CAAC,CAAC;gBACE,UAAU;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,qBAAqB,KAAK,mGAAmG;aACvI;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GACb,QAAQ,KAAK,SAAS;QACtB,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YACpD,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,mBAAmB,CAAC;IACpD,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,MAAM,OAAO,GACX,UAAU,KAAK,KAAK;QAClB,CAAC,CAAC,qBAAqB,KAAK,gFAAgF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,WAAW,IAAI,CAAC,SAAS,IAAI;QACtK,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,KAA8B;IAE9B,OAAO;QACL,SAAS,EACP,KAAK,CAAC,UAAU,KAAK,KAAK;YACxB,CAAC,CAAC,gBAAgB,CAAC,OAAO;YAC1B,CAAC,CAAC,gBAAgB,CAAC,KAAK;QAC5B,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;QAC1C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;QACxC,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO;QACvD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAMvC;IACC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAC/D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,CAAC,KAAK,EAAE,SAAS,IAAI,aAAa,GAAG,oBAAoB,CAAC,CAC3D,CAAC,WAAW,EAAE,CAAC;IAChB,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,QAAQ,GACZ,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU;QAC1C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;QAC7B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,aAAa,GACjB,YAAY,EAAE,UAAU,IAAI,YAAY,EAAE,UAAU,CAAC,UAAU,IAAI,SAAS,CAAC;IAC/E,MAAM,UAAU,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC;YACE,GAAG,WAAW;YACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,IAAI,EAAE,QAAQ,CAAC,WAAW;SAC3B;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK;QACL,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,OAAO;QAChB,kBAAkB,EAAE,cAAc;QAClC,kBAAkB,EAAE,sDAAsD;QAC1E,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,OAAO,IAAI,KAAK;QACjD,iBAAiB,EACf,YAAY,EAAE,WAAW;YACzB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1E,iBAAiB,EAAE,+DAA+D;QAClF,QAAQ,EAAE,QAAQ,CAAC,QAAsB;QACzC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO;QACP,eAAe,EAAE,wBAAwB,CAAC,eAAe;QACzD,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;QAC3D,OAAO;QACP,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,4BAA4B,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,UAAU;QACV,kBAAkB,EAAE,UAAU;QAC9B,OAAO,EAAE;YACP,GAAG,wBAAwB;YAC3B,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;SAC5D;QACD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS;QACT,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"modelInputFallback.js","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { CatalogDirectSlice, ModelsCatalogJson } from "./types.js";
2
+ /**
3
+ * Round USD-per-1M-token (or per-request) catalog prices to human-readable decimals,
4
+ * stripping IEEE-754 noise from per-token × 1_000_000 conversion.
5
+ */
6
+ export declare function roundCatalogPricingUsd(value: number): number;
2
7
  /** Canonical remote catalog asset (same host pattern as models-profiles.json). */
3
8
  export declare const MODELS_CATALOG_REMOTE_URL = "https://open-assets.x12i.com/models-catalog.json";
4
9
  /** @deprecated Legacy filename on open-assets; prefer {@link MODELS_CATALOG_REMOTE_URL}. */
@@ -1 +1 @@
1
- {"version":3,"file":"modelsCatalog.d.ts","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAGlB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,qDAA4B,CAAC;AAEnE,4FAA4F;AAC5F,eAAO,MAAM,oCAAoC,gEACc,CAAC;AAEhE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,EAAG,iCAA0C,CAAC;AAgBhF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,yGAAyG;AACzG,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,kBAAkB,CAgCpB;AAgHD,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAmDtE;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GACzB,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAkCjC;AAED,sDAAsD;AACtD,eAAO,MAAM,2BAA2B,gCAA0B,CAAC"}
1
+ {"version":3,"file":"modelsCatalog.d.ts","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAIlB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe5D;AAuBD,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,qDAA4B,CAAC;AAEnE,4FAA4F;AAC5F,eAAO,MAAM,oCAAoC,gEACc,CAAC;AAEhE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,EAAG,iCAA0C,CAAC;AAgBhF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,yGAAyG;AACzG,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,kBAAkB,CAgCpB;AAkHD,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAmDtE;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GACzB,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAkCjC;AAED,sDAAsD;AACtD,eAAO,MAAM,2BAA2B,gCAA0B,CAAC"}
@@ -1,3 +1,33 @@
1
+ /**
2
+ * Round USD-per-1M-token (or per-request) catalog prices to human-readable decimals,
3
+ * stripping IEEE-754 noise from per-token × 1_000_000 conversion.
4
+ */
5
+ export function roundCatalogPricingUsd(value) {
6
+ if (!Number.isFinite(value)) {
7
+ return value;
8
+ }
9
+ if (value === 0) {
10
+ return 0;
11
+ }
12
+ const abs = Math.abs(value);
13
+ if (abs >= 10) {
14
+ const decimals = abs >= 100 ? 0 : 2;
15
+ return parseFloat(value.toFixed(decimals));
16
+ }
17
+ return parseFloat((Math.round(value * 1e6) / 1e6).toFixed(6));
18
+ }
19
+ function normalizeCatalogPricing(pricing) {
20
+ if (!pricing) {
21
+ return undefined;
22
+ }
23
+ const out = {};
24
+ for (const [key, raw] of Object.entries(pricing)) {
25
+ if (typeof raw === "number") {
26
+ out[key] = roundCatalogPricingUsd(raw);
27
+ }
28
+ }
29
+ return Object.keys(out).length > 0 ? out : undefined;
30
+ }
1
31
  import { REMOTE_MODELS_CATALOG_URL } from "./constants.js";
2
32
  /** Canonical remote catalog asset (same host pattern as models-profiles.json). */
3
33
  export const MODELS_CATALOG_REMOTE_URL = REMOTE_MODELS_CATALOG_URL;
@@ -54,7 +84,7 @@ function buildOpenRouterSlice(orModelId, entry) {
54
84
  canonicalSlug: entry.canonicalSlug,
55
85
  status: entry.status,
56
86
  modalities: entry.modalities,
57
- pricing: entry.pricing,
87
+ pricing: normalizeCatalogPricing(entry.pricing),
58
88
  capabilities: entry.capabilities,
59
89
  contextWindow: entry.contextWindow,
60
90
  maxCompletionTokens: entry.maxCompletionTokens,
@@ -92,7 +122,7 @@ function upgradeCatalogEntry(raw) {
92
122
  canonicalSlug: openrouterRaw.canonicalSlug,
93
123
  status: openrouterRaw.status,
94
124
  modalities: openrouterRaw.modalities,
95
- pricing: openrouterRaw.pricing,
125
+ pricing: normalizeCatalogPricing(openrouterRaw.pricing),
96
126
  capabilities: openrouterRaw.capabilities,
97
127
  contextWindow: openrouterRaw.contextWindow,
98
128
  maxCompletionTokens: openrouterRaw.maxCompletionTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"modelsCatalog.js","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelsCatalog.js","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AIProfileChoice, AIProfileDefinition, CatalogModelEntry, ModelsCatalogJson, ProfileCatalogLane } from "./types.js";
2
+ /** OpenRouter model-browser lanes (Text, Image, Embeddings, …). */
3
+ export declare const PROFILE_CATALOG_LANES: readonly ProfileCatalogLane[];
4
+ /**
5
+ * Infer OpenRouter catalog lane from architecture modalities (best-effort).
6
+ */
7
+ export declare function inferCatalogLaneFromEntry(entry: CatalogModelEntry): ProfileCatalogLane;
8
+ export declare function profileCatalogLane(profile: AIProfileDefinition): ProfileCatalogLane;
9
+ export declare function profileMatchesCatalogLane(profile: AIProfileDefinition, lane: ProfileCatalogLane): boolean;
10
+ export declare function choiceHasOpenRouterCatalog(choice: AIProfileChoice, catalog: ModelsCatalogJson): boolean;
11
+ export declare function assertOpenRouterCatalogCoverage(params: {
12
+ profileKey: string;
13
+ choiceKey: string;
14
+ choice: AIProfileChoice;
15
+ catalog: ModelsCatalogJson;
16
+ }): CatalogModelEntry;
17
+ export declare function assertProfileCatalogLane(params: {
18
+ profileKey: string;
19
+ profile: AIProfileDefinition;
20
+ requestedLane: ProfileCatalogLane;
21
+ }): void;
22
+ //# sourceMappingURL=profileCatalogLane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileCatalogLane.d.ts","sourceRoot":"","sources":["../src/profileCatalogLane.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EASrD,CAAC;AAEX;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CA4BpB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAEpB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAET;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAOT;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG,iBAAiB,CA4BpB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,EAAE,kBAAkB,CAAC;CACnC,GAAG,IAAI,CAOP"}
@@ -0,0 +1,83 @@
1
+ import { findCatalogModelEntry } from "./catalogEnrichment.js";
2
+ import { isCpuLocalChoice } from "./validateProfileTransportPolicy.js";
3
+ import { isOpenRouterModelAvailable } from "./modelIdentity.js";
4
+ import { buildModelsCatalogIndex } from "./modelsCatalog.js";
5
+ /** OpenRouter model-browser lanes (Text, Image, Embeddings, …). */
6
+ export const PROFILE_CATALOG_LANES = [
7
+ "text",
8
+ "image",
9
+ "embeddings",
10
+ "audio",
11
+ "video",
12
+ "rerank",
13
+ "speech",
14
+ "transcription",
15
+ ];
16
+ /**
17
+ * Infer OpenRouter catalog lane from architecture modalities (best-effort).
18
+ */
19
+ export function inferCatalogLaneFromEntry(entry) {
20
+ const output = entry.openrouter.modalities?.output ?? entry.modalities?.output ?? [];
21
+ const input = entry.openrouter.modalities?.input ?? entry.modalities?.input ?? [];
22
+ const combined = [...output, ...input].map((m) => m.toLowerCase());
23
+ if (combined.some((m) => m.includes("embed"))) {
24
+ return "embeddings";
25
+ }
26
+ if (output.some((m) => m.includes("transcri"))) {
27
+ return "transcription";
28
+ }
29
+ if (output.some((m) => m.includes("speech") || m.includes("audio"))) {
30
+ return "speech";
31
+ }
32
+ if (combined.some((m) => m.includes("rerank"))) {
33
+ return "rerank";
34
+ }
35
+ if (combined.some((m) => m.includes("video"))) {
36
+ return "video";
37
+ }
38
+ if (combined.some((m) => m.includes("audio"))) {
39
+ return "audio";
40
+ }
41
+ if (input.some((m) => m.includes("image")) || output.some((m) => m.includes("image"))) {
42
+ return "image";
43
+ }
44
+ return "text";
45
+ }
46
+ export function profileCatalogLane(profile) {
47
+ return profile.catalogLane;
48
+ }
49
+ export function profileMatchesCatalogLane(profile, lane) {
50
+ return profileCatalogLane(profile) === lane;
51
+ }
52
+ export function choiceHasOpenRouterCatalog(choice, catalog) {
53
+ if (isCpuLocalChoice(choice)) {
54
+ return false;
55
+ }
56
+ const index = buildModelsCatalogIndex(catalog);
57
+ return isOpenRouterModelAvailable(choice.provider, choice.modelId, index);
58
+ }
59
+ export function assertOpenRouterCatalogCoverage(params) {
60
+ const { profileKey, choiceKey, choice, catalog } = params;
61
+ if (isCpuLocalChoice(choice)) {
62
+ throw new Error(`Profile '${profileKey}' choice '${choiceKey}' is CPU-local and has no OpenRouter catalog entry`);
63
+ }
64
+ const entry = findCatalogModelEntry(catalog, {
65
+ provider: choice.provider,
66
+ modelId: choice.modelId,
67
+ });
68
+ if (!entry) {
69
+ throw new Error(`No OpenRouter catalog entry for ${choice.provider}/${choice.modelId}`);
70
+ }
71
+ const status = entry.openrouter.status ?? entry.status;
72
+ if (status && status !== "active") {
73
+ throw new Error(`OpenRouter catalog entry ${entry.openrouter.modelId} is not active (status: ${status})`);
74
+ }
75
+ return entry;
76
+ }
77
+ export function assertProfileCatalogLane(params) {
78
+ const lane = profileCatalogLane(params.profile);
79
+ if (lane !== params.requestedLane) {
80
+ throw new Error(`Profile '${params.profileKey}' is a '${lane}' lane profile, not '${params.requestedLane}'`);
81
+ }
82
+ }
83
+ //# sourceMappingURL=profileCatalogLane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileCatalogLane.js","sourceRoot":"","sources":["../src/profileCatalogLane.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { AIProfileDefinition, AIProfileTag, ProfileTagMatchMode } from "./types.js";
2
+ export type { ProfileTagMatchMode };
3
+ export interface ProfileTagScore {
4
+ profileKey: string;
5
+ profile: AIProfileDefinition;
6
+ score: number;
7
+ matchedTags: AIProfileTag[];
8
+ }
9
+ /**
10
+ * Count of requested tags present on the profile (partial match OK).
11
+ */
12
+ export declare function scoreProfileTags(profile: AIProfileDefinition, tags: AIProfileTag[]): {
13
+ score: number;
14
+ matchedTags: AIProfileTag[];
15
+ };
16
+ /**
17
+ * Rank profiles by tag overlap (highest score first).
18
+ * Tie-break: fewer total profile tags (more specific), then profile key lexicographically.
19
+ */
20
+ export declare function rankProfilesByTags(profiles: Record<string, AIProfileDefinition>, tags: AIProfileTag[]): ProfileTagScore[];
21
+ /**
22
+ * Best profile for a tag set, or undefined when no tag matches.
23
+ */
24
+ export declare function pickBestProfileByTags(profiles: Record<string, AIProfileDefinition>, tags: AIProfileTag[]): ProfileTagScore | undefined;
25
+ /**
26
+ * Returns true when the profile matches all requested tags (mode `all`)
27
+ * or at least one (mode `any`, default).
28
+ */
29
+ export declare function profileMatchesTags(profile: AIProfileDefinition, tags: AIProfileTag[], mode?: ProfileTagMatchMode): boolean;
30
+ /**
31
+ * Free-text discovery across profile metadata, aliases, tags, and choice labels.
32
+ */
33
+ export declare function profileMatchesSearch(profile: AIProfileDefinition, search: string): boolean;
34
+ export declare function profileMatchesDiscovery(profile: AIProfileDefinition, options: {
35
+ tags?: AIProfileTag[];
36
+ tagMatch?: ProfileTagMatchMode;
37
+ search?: string;
38
+ }): boolean;
39
+ /** Collect every tag used across profiles (sorted). */
40
+ export declare function collectProfileTags(profiles: Record<string, AIProfileDefinition>): AIProfileTag[];
41
+ /** Stable signature for a profile tag set (sorted, comma-joined). */
42
+ export declare function profileTagSetSignature(tags: AIProfileTag[]): string;
43
+ //# sourceMappingURL=profileDiscovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileDiscovery.d.ts","sourceRoot":"","sources":["../src/profileDiscovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,EAAE,CAAC;CAC7B;AAgCD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,YAAY,EAAE,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,YAAY,EAAE,CAAA;CAAE,CAQhD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC7C,IAAI,EAAE,YAAY,EAAE,GACnB,eAAe,EAAE,CAuBnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC7C,IAAI,EAAE,YAAY,EAAE,GACnB,eAAe,GAAG,SAAS,CAE7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,YAAY,EAAE,EACpB,IAAI,GAAE,mBAA2B,GAChC,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAUT;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC5C,YAAY,EAAE,CAQhB;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,129 @@
1
+ import { normalizeKey } from "./normalizeKey.js";
2
+ function tokenizeSearch(value) {
3
+ return normalizeKey(value)
4
+ .split(/[^a-z0-9]+/g)
5
+ .filter((token) => token.length > 0);
6
+ }
7
+ function profileSearchHaystack(profile) {
8
+ const choiceText = Object.values(profile.choices).flatMap((choice) => [
9
+ choice.choice,
10
+ choice.displayName,
11
+ choice.description,
12
+ choice.provider,
13
+ choice.modelId,
14
+ choice.reason ?? "",
15
+ ]);
16
+ return [
17
+ profile.profile,
18
+ profile.displayName,
19
+ profile.description,
20
+ profile.category,
21
+ ...(profile.aliases ?? []),
22
+ ...(profile.tags ?? []),
23
+ ...(profile.intendedUseCases ?? []),
24
+ ...choiceText,
25
+ ]
26
+ .map(normalizeKey)
27
+ .join(" ");
28
+ }
29
+ /**
30
+ * Count of requested tags present on the profile (partial match OK).
31
+ */
32
+ export function scoreProfileTags(profile, tags) {
33
+ if (tags.length === 0) {
34
+ return { score: 0, matchedTags: [] };
35
+ }
36
+ const profileTags = new Set(profile.tags ?? []);
37
+ const matchedTags = tags.filter((tag) => profileTags.has(tag));
38
+ return { score: matchedTags.length, matchedTags };
39
+ }
40
+ /**
41
+ * Rank profiles by tag overlap (highest score first).
42
+ * Tie-break: fewer total profile tags (more specific), then profile key lexicographically.
43
+ */
44
+ export function rankProfilesByTags(profiles, tags) {
45
+ const ranked = [];
46
+ for (const [profileKey, profile] of Object.entries(profiles)) {
47
+ const { score, matchedTags } = scoreProfileTags(profile, tags);
48
+ if (score > 0) {
49
+ ranked.push({ profileKey, profile, score, matchedTags });
50
+ }
51
+ }
52
+ ranked.sort((a, b) => {
53
+ if (b.score !== a.score) {
54
+ return b.score - a.score;
55
+ }
56
+ const aLen = a.profile.tags?.length ?? 0;
57
+ const bLen = b.profile.tags?.length ?? 0;
58
+ if (aLen !== bLen) {
59
+ return aLen - bLen;
60
+ }
61
+ return a.profileKey.localeCompare(b.profileKey);
62
+ });
63
+ return ranked;
64
+ }
65
+ /**
66
+ * Best profile for a tag set, or undefined when no tag matches.
67
+ */
68
+ export function pickBestProfileByTags(profiles, tags) {
69
+ return rankProfilesByTags(profiles, tags)[0];
70
+ }
71
+ /**
72
+ * Returns true when the profile matches all requested tags (mode `all`)
73
+ * or at least one (mode `any`, default).
74
+ */
75
+ export function profileMatchesTags(profile, tags, mode = "any") {
76
+ if (tags.length === 0) {
77
+ return true;
78
+ }
79
+ const { score, matchedTags } = scoreProfileTags(profile, tags);
80
+ if (mode === "all") {
81
+ return matchedTags.length === tags.length;
82
+ }
83
+ return score > 0;
84
+ }
85
+ /**
86
+ * Free-text discovery across profile metadata, aliases, tags, and choice labels.
87
+ */
88
+ export function profileMatchesSearch(profile, search) {
89
+ const trimmed = search.trim();
90
+ if (!trimmed) {
91
+ return true;
92
+ }
93
+ const haystack = profileSearchHaystack(profile);
94
+ const compactHaystack = haystack.replace(/[^a-z0-9]/g, "");
95
+ const normalizedQuery = normalizeKey(trimmed);
96
+ const compactQuery = normalizedQuery.replace(/[^a-z0-9]/g, "");
97
+ if (haystack.includes(normalizedQuery) || compactHaystack.includes(compactQuery)) {
98
+ return true;
99
+ }
100
+ const tokens = tokenizeSearch(trimmed);
101
+ if (tokens.length === 0) {
102
+ return true;
103
+ }
104
+ return tokens.every((token) => haystack.includes(token));
105
+ }
106
+ export function profileMatchesDiscovery(profile, options) {
107
+ if (options.tags?.length && !profileMatchesTags(profile, options.tags, options.tagMatch)) {
108
+ return false;
109
+ }
110
+ if (options.search && !profileMatchesSearch(profile, options.search)) {
111
+ return false;
112
+ }
113
+ return true;
114
+ }
115
+ /** Collect every tag used across profiles (sorted). */
116
+ export function collectProfileTags(profiles) {
117
+ const tags = new Set();
118
+ for (const profile of Object.values(profiles)) {
119
+ for (const tag of profile.tags ?? []) {
120
+ tags.add(tag);
121
+ }
122
+ }
123
+ return [...tags].sort();
124
+ }
125
+ /** Stable signature for a profile tag set (sorted, comma-joined). */
126
+ export function profileTagSetSignature(tags) {
127
+ return [...tags].sort().join(",");
128
+ }
129
+ //# sourceMappingURL=profileDiscovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileDiscovery.js","sourceRoot":"","sources":["../src/profileDiscovery.ts"],"names":[],"mappings":"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"}
@@ -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,EACjB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,0BAA0B,aAUrC,CAAC;AA8KH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAmC/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,CAgEpB;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
+ {"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;AAGhC,eAAO,MAAM,0BAA0B,aAQrC,CAAC;AA+KH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAmC/E;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAsBpB;AA6LD,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,CAgEpB;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"}
@@ -8,8 +8,6 @@ export const PREDICTED_VENDOR_MODEL_IDS = new Set([
8
8
  "claude-opus-4-8",
9
9
  "claude-opus-4-7",
10
10
  "grok-4.3",
11
- "deepseek-v4-pro",
12
- "deepseek-v4-flash",
13
11
  ]);
14
12
  const VERIFIED_VENDOR_MODEL_IDS = new Set([
15
13
  "gemini-2.5-flash-lite",
@@ -24,9 +22,10 @@ const VERIFIED_VENDOR_MODEL_IDS = new Set([
24
22
  "gpt-4o",
25
23
  "gpt-4o-mini",
26
24
  "o3-mini",
27
- "deepseek-chat",
28
- "deepseek-reasoner",
25
+ "deepseek-v4-flash",
26
+ "deepseek-v4-pro",
29
27
  "grok-build-0.1",
28
+ "grok-4.3",
30
29
  "minimax-m2",
31
30
  "minimax-m2.5",
32
31
  "minimax-m2.7",
@@ -234,6 +233,7 @@ function buildCodingProfile(lastVerifiedAt) {
234
233
  displayName: "Coding",
235
234
  description: "Model selection optimized for software engineering: implementation, refactors, reviews, and debugging.",
236
235
  category: "engineering",
236
+ catalogLane: "text",
237
237
  aliases: ["dev", "developer", "software", "programming", "code"],
238
238
  defaultChoice: "default",
239
239
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.coding,
@@ -304,6 +304,7 @@ function buildExtractionProfile(lastVerifiedAt) {
304
304
  displayName: "Extraction",
305
305
  description: "Model selection for NER, classification, taxonomy mapping, entity extraction, and document labeling.",
306
306
  category: "extraction",
307
+ catalogLane: "text",
307
308
  aliases: ["ner", "classify", "labeling", "entity-extraction", "parse"],
308
309
  defaultChoice: "default",
309
310
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.extraction,
@@ -360,6 +361,7 @@ function buildRoutingProfile(lastVerifiedAt) {
360
361
  displayName: "Routing",
361
362
  description: "Ultra-low-cost models for intent classification, record routing, and workflow branching.",
362
363
  category: "routing",
364
+ catalogLane: "text",
363
365
  aliases: ["router", "classifier", "intent", "branch", "triage"],
364
366
  defaultChoice: "default",
365
367
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.routing,