@x12i/ai-profiles 3.2.1 → 3.4.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 (101) hide show
  1. package/README.md +95 -23
  2. package/dist/buildResolvedCatalogModel.d.ts +27 -0
  3. package/dist/buildResolvedCatalogModel.d.ts.map +1 -0
  4. package/dist/buildResolvedCatalogModel.js +179 -0
  5. package/dist/buildResolvedCatalogModel.js.map +1 -0
  6. package/dist/buildResolvedProfile.d.ts +4 -2
  7. package/dist/buildResolvedProfile.d.ts.map +1 -1
  8. package/dist/buildResolvedProfile.js +22 -6
  9. package/dist/buildResolvedProfile.js.map +1 -1
  10. package/dist/calculateInvokeCost.d.ts +57 -0
  11. package/dist/calculateInvokeCost.d.ts.map +1 -0
  12. package/dist/calculateInvokeCost.js +106 -0
  13. package/dist/calculateInvokeCost.js.map +1 -0
  14. package/dist/catalogEnrichment.d.ts +2 -2
  15. package/dist/catalogEnrichment.d.ts.map +1 -1
  16. package/dist/catalogEnrichment.js +16 -4
  17. package/dist/catalogEnrichment.js.map +1 -1
  18. package/dist/cost/computeInvokeCost.d.ts +33 -0
  19. package/dist/cost/computeInvokeCost.d.ts.map +1 -0
  20. package/dist/cost/computeInvokeCost.js +95 -0
  21. package/dist/cost/computeInvokeCost.js.map +1 -0
  22. package/dist/cost/constants.d.ts +7 -0
  23. package/dist/cost/constants.d.ts.map +1 -0
  24. package/dist/cost/constants.js +7 -0
  25. package/dist/cost/constants.js.map +1 -0
  26. package/dist/cost/invokePricingRecord.d.ts +55 -0
  27. package/dist/cost/invokePricingRecord.d.ts.map +1 -0
  28. package/dist/cost/invokePricingRecord.js +68 -0
  29. package/dist/cost/invokePricingRecord.js.map +1 -0
  30. package/dist/cost/reasoningWire.d.ts +13 -0
  31. package/dist/cost/reasoningWire.d.ts.map +1 -0
  32. package/dist/cost/reasoningWire.js +28 -0
  33. package/dist/cost/reasoningWire.js.map +1 -0
  34. package/dist/cost/resolveInvokePricing.d.ts +40 -0
  35. package/dist/cost/resolveInvokePricing.d.ts.map +1 -0
  36. package/dist/cost/resolveInvokePricing.js +170 -0
  37. package/dist/cost/resolveInvokePricing.js.map +1 -0
  38. package/dist/ensureConcreteModel.d.ts +2 -2
  39. package/dist/ensureConcreteModel.d.ts.map +1 -1
  40. package/dist/ensureConcreteModel.js +2 -2
  41. package/dist/ensureConcreteModel.js.map +1 -1
  42. package/dist/index.d.ts +10 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +5 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/isReasoningModel.d.ts +2 -2
  47. package/dist/isReasoningModel.d.ts.map +1 -1
  48. package/dist/isReasoningModel.js +1 -1
  49. package/dist/isReasoningModel.js.map +1 -1
  50. package/dist/lookupBundledCatalogCaps.d.ts +11 -1
  51. package/dist/lookupBundledCatalogCaps.d.ts.map +1 -1
  52. package/dist/lookupBundledCatalogCaps.js +25 -11
  53. package/dist/lookupBundledCatalogCaps.js.map +1 -1
  54. package/dist/modelInputFallback.d.ts +2 -2
  55. package/dist/modelInputFallback.d.ts.map +1 -1
  56. package/dist/modelInputFallback.js +4 -3
  57. package/dist/modelInputFallback.js.map +1 -1
  58. package/dist/normalizeInvokeModel.d.ts +4 -4
  59. package/dist/normalizeInvokeModel.d.ts.map +1 -1
  60. package/dist/normalizeInvokeModel.js +11 -11
  61. package/dist/normalizeInvokeModel.js.map +1 -1
  62. package/dist/requireCatalogModel.d.ts +13 -3
  63. package/dist/requireCatalogModel.d.ts.map +1 -1
  64. package/dist/requireCatalogModel.js +139 -13
  65. package/dist/requireCatalogModel.js.map +1 -1
  66. package/dist/resolveAIProfile.d.ts.map +1 -1
  67. package/dist/resolveAIProfile.js +4 -2
  68. package/dist/resolveAIProfile.js.map +1 -1
  69. package/dist/resolveAIProfileWithCostAlternatives.js +2 -2
  70. package/dist/resolveAIProfileWithCostAlternatives.js.map +1 -1
  71. package/dist/resolveBundledCatalogModel.d.ts +8 -2
  72. package/dist/resolveBundledCatalogModel.d.ts.map +1 -1
  73. package/dist/resolveBundledCatalogModel.js +12 -12
  74. package/dist/resolveBundledCatalogModel.js.map +1 -1
  75. package/dist/resolveCatalogModel.d.ts.map +1 -1
  76. package/dist/resolveCatalogModel.js +17 -2
  77. package/dist/resolveCatalogModel.js.map +1 -1
  78. package/dist/resolveCatalogModelDetails.d.ts +18 -0
  79. package/dist/resolveCatalogModelDetails.d.ts.map +1 -0
  80. package/dist/resolveCatalogModelDetails.js +79 -0
  81. package/dist/resolveCatalogModelDetails.js.map +1 -0
  82. package/dist/resolveModelRouting.d.ts +11 -6
  83. package/dist/resolveModelRouting.d.ts.map +1 -1
  84. package/dist/resolveModelRouting.js +37 -19
  85. package/dist/resolveModelRouting.js.map +1 -1
  86. package/dist/resolveProfileInputCore.d.ts.map +1 -1
  87. package/dist/resolveProfileInputCore.js +3 -1
  88. package/dist/resolveProfileInputCore.js.map +1 -1
  89. package/dist/resolveSecondaryModel.d.ts +1 -1
  90. package/dist/resolveSecondaryModel.d.ts.map +1 -1
  91. package/dist/resolveSecondaryModel.js +3 -3
  92. package/dist/resolveSecondaryModel.js.map +1 -1
  93. package/dist/secondaryModel.d.ts +4 -4
  94. package/dist/secondaryModel.d.ts.map +1 -1
  95. package/dist/secondaryModel.js +2 -2
  96. package/dist/secondaryModel.js.map +1 -1
  97. package/dist/types.d.ts +82 -4
  98. package/dist/types.d.ts.map +1 -1
  99. package/dist/validateProfileCatalogLinkage.js +1 -1
  100. package/dist/validateProfileCatalogLinkage.js.map +1 -1
  101. package/package.json +2 -1
@@ -0,0 +1,40 @@
1
+ import type { AIProvider, AIModelPricing, CatalogOpenRouterPricing, ProfileCatalogLane, PreferOpenRouterInput, RegistrySourceMode } from "../types.js";
2
+ export interface ResolvedInvokePricing {
3
+ pricing?: AIModelPricing;
4
+ catalogPricing?: CatalogOpenRouterPricing;
5
+ provider: AIProvider;
6
+ modelId: string;
7
+ routing: "openrouter" | "direct";
8
+ profileChoice?: {
9
+ profile: string;
10
+ choice: string;
11
+ };
12
+ unknownModel: boolean;
13
+ localProvider: boolean;
14
+ }
15
+ export type InvokePricingModelInput = string | {
16
+ provider: AIProvider;
17
+ modelId: string;
18
+ };
19
+ export declare function resolveInvokePricing(model: InvokePricingModelInput, options?: {
20
+ bundledOnly?: boolean;
21
+ catalogLane?: ProfileCatalogLane;
22
+ preferOpenRouter?: PreferOpenRouterInput;
23
+ profileChoice?: {
24
+ profile: string;
25
+ choice: string;
26
+ };
27
+ routing?: "openrouter" | "direct";
28
+ source?: RegistrySourceMode;
29
+ refresh?: boolean;
30
+ }): Promise<ResolvedInvokePricing>;
31
+ export declare function resolveInvokePricingBundled(model: InvokePricingModelInput, options?: {
32
+ catalogLane?: ProfileCatalogLane;
33
+ preferOpenRouter?: PreferOpenRouterInput;
34
+ profileChoice?: {
35
+ profile: string;
36
+ choice: string;
37
+ };
38
+ routing?: "openrouter" | "direct";
39
+ }): ResolvedInvokePricing;
40
+ //# sourceMappingURL=resolveInvokePricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveInvokePricing.d.ts","sourceRoot":"","sources":["../../src/cost/resolveInvokePricing.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAoG9C,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAClC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,qBAAqB,CAAC,CAoEhC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CAC9B,GACL,qBAAqB,CA6DvB"}
@@ -0,0 +1,170 @@
1
+ import { getBundledRegistry } from "../bundledRegistry.js";
2
+ import { pricingFromCatalogEntry } from "../catalogEnrichment.js";
3
+ import { AIProfilesError } from "../errors.js";
4
+ import { loadBundledModelsCatalog } from "../loader/loadBundledModelsCatalog.js";
5
+ import { loadModelsCatalogWithWarnings } from "../loader/loadModelsCatalog.js";
6
+ import { matchStrictProfileInput } from "../profileChoiceKey.js";
7
+ import { resolveBundledAIProfile } from "../resolveBundledAIProfile.js";
8
+ import { isTrustedCatalogMatch, resolveModelFromCatalogResilient, } from "../catalogResilience.js";
9
+ import { catalogLookupKey } from "../resolveBundledCatalogModel.js";
10
+ import { resolveAIProfile } from "../resolveAIProfile.js";
11
+ import { resolvePreferOpenRouter } from "../resolveModelRouting.js";
12
+ function isProfileChoiceInput(input) {
13
+ const match = matchStrictProfileInput(getBundledRegistry(), input);
14
+ return match?.kind === "profileChoice";
15
+ }
16
+ async function resolveProfilePricingBundled(input, options) {
17
+ const resolved = resolveBundledAIProfile(input, {
18
+ catalogLane: options.catalogLane,
19
+ preferOpenRouter: options.preferOpenRouter,
20
+ includeCatalog: true,
21
+ });
22
+ const catalogModel = resolved.catalogModel;
23
+ const localProvider = resolved.provider === "local" || resolved.routing === "direct" && !catalogModel?.pricing;
24
+ return {
25
+ pricing: resolved.pricing ?? catalogModel?.pricing,
26
+ catalogPricing: catalogModel?.catalogPricing,
27
+ provider: resolved.provider,
28
+ modelId: resolved.modelId,
29
+ routing: resolved.routing,
30
+ profileChoice: { profile: resolved.profile, choice: resolved.choice },
31
+ unknownModel: !resolved.pricing && !catalogModel?.pricing,
32
+ localProvider,
33
+ };
34
+ }
35
+ async function resolveProfilePricingAsync(input, options) {
36
+ const resolved = await resolveAIProfile(input, {
37
+ catalogLane: options.catalogLane,
38
+ preferOpenRouter: options.preferOpenRouter,
39
+ source: options.source,
40
+ refresh: options.refresh,
41
+ includeCatalog: true,
42
+ });
43
+ const catalogModel = resolved.catalogModel;
44
+ const localProvider = resolved.provider === "local";
45
+ return {
46
+ pricing: resolved.pricing ?? catalogModel?.pricing,
47
+ catalogPricing: catalogModel?.catalogPricing,
48
+ provider: resolved.provider,
49
+ modelId: resolved.modelId,
50
+ routing: resolved.routing,
51
+ profileChoice: { profile: resolved.profile, choice: resolved.choice },
52
+ unknownModel: !resolved.pricing && !catalogModel?.pricing,
53
+ localProvider,
54
+ };
55
+ }
56
+ function pricingFromCatalogMatch(lookupInput, catalog, preferOpenRouter, profileChoice) {
57
+ const routed = resolvePreferOpenRouter(preferOpenRouter);
58
+ const match = resolveModelFromCatalogResilient(lookupInput, catalog, {
59
+ skipBundledMerge: true,
60
+ });
61
+ if (!match || !isTrustedCatalogMatch(match)) {
62
+ return undefined;
63
+ }
64
+ const endpoint = routed && match.invocation.openrouter
65
+ ? match.invocation.openrouter
66
+ : match.invocation.direct;
67
+ const pricing = match.entry ? pricingFromCatalogEntry(match.entry) : undefined;
68
+ return {
69
+ pricing,
70
+ catalogPricing: match.entry?.openrouter.pricing,
71
+ provider: endpoint.provider,
72
+ modelId: endpoint.modelId,
73
+ routing: endpoint.provider === "openrouter" ? "openrouter" : "direct",
74
+ ...(profileChoice ? { profileChoice } : {}),
75
+ unknownModel: !pricing,
76
+ localProvider: endpoint.provider === "local",
77
+ };
78
+ }
79
+ export async function resolveInvokePricing(model, options = {}) {
80
+ const preferOpenRouter = options.routing === "direct"
81
+ ? false
82
+ : options.routing === "openrouter"
83
+ ? true
84
+ : options.preferOpenRouter;
85
+ if (typeof model === "string" && isProfileChoiceInput(model)) {
86
+ if (!options.catalogLane) {
87
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "Profile/choice cost resolution requires options.catalogLane", { input: model });
88
+ }
89
+ if (options.bundledOnly ?? false) {
90
+ return resolveProfilePricingBundled(model, {
91
+ catalogLane: options.catalogLane,
92
+ preferOpenRouter: options.preferOpenRouter,
93
+ });
94
+ }
95
+ return resolveProfilePricingAsync(model, {
96
+ catalogLane: options.catalogLane,
97
+ preferOpenRouter: options.preferOpenRouter,
98
+ source: options.source,
99
+ refresh: options.refresh,
100
+ });
101
+ }
102
+ const lookupInput = typeof model === "string"
103
+ ? catalogLookupKey(model).lookupInput
104
+ : catalogLookupKey(model).lookupInput;
105
+ const catalog = options.bundledOnly
106
+ ? loadBundledModelsCatalog()
107
+ : (await loadModelsCatalogWithWarnings({
108
+ source: options.source ?? "auto",
109
+ refresh: options.refresh,
110
+ })).catalog;
111
+ const resolved = pricingFromCatalogMatch(lookupInput, catalog, preferOpenRouter, options.profileChoice);
112
+ if (!resolved) {
113
+ return {
114
+ provider: typeof model === "string" ? "custom" : model.provider,
115
+ modelId: typeof model === "string" ? model : model.modelId,
116
+ routing: resolvePreferOpenRouter(preferOpenRouter) ? "openrouter" : "direct",
117
+ unknownModel: true,
118
+ localProvider: false,
119
+ };
120
+ }
121
+ if (options.routing) {
122
+ resolved.routing = options.routing;
123
+ }
124
+ return resolved;
125
+ }
126
+ export function resolveInvokePricingBundled(model, options = {}) {
127
+ const preferOpenRouter = options.routing === "direct"
128
+ ? false
129
+ : options.routing === "openrouter"
130
+ ? true
131
+ : options.preferOpenRouter;
132
+ if (typeof model === "string" && isProfileChoiceInput(model)) {
133
+ if (!options.catalogLane) {
134
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "Profile/choice cost resolution requires options.catalogLane", { input: model });
135
+ }
136
+ const resolved = resolveBundledAIProfile(model, {
137
+ catalogLane: options.catalogLane,
138
+ preferOpenRouter: options.preferOpenRouter,
139
+ includeCatalog: true,
140
+ });
141
+ const catalogModel = resolved.catalogModel;
142
+ return {
143
+ pricing: resolved.pricing ?? catalogModel?.pricing,
144
+ catalogPricing: catalogModel?.catalogPricing,
145
+ provider: resolved.provider,
146
+ modelId: resolved.modelId,
147
+ routing: options.routing ?? resolved.routing,
148
+ profileChoice: { profile: resolved.profile, choice: resolved.choice },
149
+ unknownModel: !resolved.pricing && !catalogModel?.pricing,
150
+ localProvider: resolved.provider === "local",
151
+ };
152
+ }
153
+ const { lookupInput } = typeof model === "string" ? catalogLookupKey(model) : catalogLookupKey(model);
154
+ const catalog = loadBundledModelsCatalog();
155
+ const resolved = pricingFromCatalogMatch(lookupInput, catalog, preferOpenRouter, options.profileChoice);
156
+ if (!resolved) {
157
+ return {
158
+ provider: typeof model === "string" ? "custom" : model.provider,
159
+ modelId: typeof model === "string" ? model : model.modelId,
160
+ routing: resolvePreferOpenRouter(preferOpenRouter) ? "openrouter" : "direct",
161
+ unknownModel: true,
162
+ localProvider: false,
163
+ };
164
+ }
165
+ if (options.routing) {
166
+ resolved.routing = options.routing;
167
+ }
168
+ return resolved;
169
+ }
170
+ //# sourceMappingURL=resolveInvokePricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveInvokePricing.js","sourceRoot":"","sources":["../../src/cost/resolveInvokePricing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type CatalogMatchConfidence } from "./resolveBundledCatalogModel.js";
2
- import type { AIProvider, ProfileCatalogLane } from "./types.js";
2
+ import type { AIProvider, PreferOpenRouterInput, ProfileCatalogLane } from "./types.js";
3
3
  export interface EnsureConcreteModelResult {
4
4
  provider: AIProvider;
5
5
  modelId: string;
@@ -15,7 +15,7 @@ export interface EnsureConcreteModelResult {
15
15
  export interface EnsureConcreteModelOptions {
16
16
  /** Catalog lane for `profile/choice` inputs. Defaults to `"text"`. */
17
17
  catalogLane?: ProfileCatalogLane;
18
- useOpenRouter?: boolean;
18
+ preferOpenRouter?: PreferOpenRouterInput;
19
19
  }
20
20
  /**
21
21
  * Normalize a string to invoke-time `{ provider, modelId }`.
@@ -1 +1 @@
1
- {"version":3,"file":"ensureConcreteModel.d.ts","sourceRoot":"","sources":["../src/ensureConcreteModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,iEAAiE;IACjE,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,0BAA+B,GACvC,yBAAyB,CA6B3B"}
1
+ {"version":3,"file":"ensureConcreteModel.d.ts","sourceRoot":"","sources":["../src/ensureConcreteModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,iEAAiE;IACjE,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,0BAA+B,GACvC,yBAAyB,CA6B3B"}
@@ -13,7 +13,7 @@ export function ensureConcreteModel(input, options = {}) {
13
13
  if (matchStrictProfileInput(registry, input)) {
14
14
  const resolved = resolveBundledAIProfile(input, {
15
15
  catalogLane: options.catalogLane ?? "text",
16
- useOpenRouter: options.useOpenRouter,
16
+ preferOpenRouter: options.preferOpenRouter,
17
17
  });
18
18
  return {
19
19
  provider: resolved.provider,
@@ -26,7 +26,7 @@ export function ensureConcreteModel(input, options = {}) {
26
26
  };
27
27
  }
28
28
  const routed = resolveBundledCatalogModelBestEffort(input, {
29
- useOpenRouter: options.useOpenRouter,
29
+ preferOpenRouter: options.preferOpenRouter,
30
30
  });
31
31
  return {
32
32
  provider: routed.provider,
@@ -1 +1 @@
1
- {"version":3,"file":"ensureConcreteModel.js","sourceRoot":"","sources":["../src/ensureConcreteModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,oCAAoC,GAErC,MAAM,iCAAiC,CAAC;AAmBzC;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,UAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE;gBACb,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,oCAAoC,CAAC,KAAK,EAAE;QACzD,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ensureConcreteModel.js","sourceRoot":"","sources":["../src/ensureConcreteModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,oCAAoC,GAErC,MAAM,iCAAiC,CAAC;AAmBzC;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,UAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;YAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE;gBACb,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,oCAAoC,CAAC,KAAK,EAAE;QACzD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,14 @@ export { ensureConcreteModel } from "./ensureConcreteModel.js";
16
16
  export { normalizeInvokeModel, resolveAndNormalizeInvokeModel, resolveAndNormalizeBundledInvokeModel, } from "./normalizeInvokeModel.js";
17
17
  export type { NormalizeInvokeModelInput, NormalizedInvokeModel, NormalizeInvokeModelOptions, ResolveAndNormalizeInvokeModelOptions, InvokeModelRouting, } from "./normalizeInvokeModel.js";
18
18
  export { resolveCatalogModel } from "./resolveCatalogModel.js";
19
+ export { calculateInvokeCost, calculateInvokeCostSync, calculateInvokeCostFromRecord, calculateInvokeCostFromRecordSync, buildInvokePricingRecord, } from "./calculateInvokeCost.js";
20
+ export type { CalculateInvokeCostInput, CalculateInvokeCostOptions, CalculateInvokeCostResult, InvokeCostStatus, InvokeCostSource, } from "./calculateInvokeCost.js";
21
+ export type { InvokePricingRecord, InvokeUsageTokens, } from "./cost/invokePricingRecord.js";
22
+ export type { InvokeTokenUsage, InvokeCostBreakdown } from "./cost/computeInvokeCost.js";
23
+ export { openRouterReasoningWireFromCatalog, openRouterReasoningWireFromEntry, suggestedReasoningEffortFromTier, } from "./cost/reasoningWire.js";
24
+ export type { OpenRouterReasoningWire } from "./cost/reasoningWire.js";
25
+ export { lookupBundledCatalogModel, resolveBundledCatalogModelDetails, resolveCatalogModelDetails, } from "./resolveCatalogModelDetails.js";
26
+ export { buildResolvedCatalogModelFromMatch, buildResolvedCatalogModelFromChoice, } from "./buildResolvedCatalogModel.js";
19
27
  export { requireCatalogModel, requireBundledCatalogModel, } from "./requireCatalogModel.js";
20
28
  export type { RequireCatalogModelOptions, RequireCatalogModelResult, } from "./requireCatalogModel.js";
21
29
  export { isTrustedCatalogMatch, mergeCatalogWithBundledFallback, resolveModelFromCatalogResilient, } from "./catalogResilience.js";
@@ -32,7 +40,7 @@ export { isReasoningModel } from "./isReasoningModel.js";
32
40
  export type { IsReasoningModelOptions } from "./isReasoningModel.js";
33
41
  export { PROFILE_CHOICE_KEY_SEP, formatProfileChoiceKey, parseProfileChoiceKey, isProfileChoiceKeyFormat, matchStrictProfileInput, listRegistryProfileChoiceKeys, isKnownProfileChoiceInput, } from "./profileChoiceKey.js";
34
42
  export type { ProfileChoiceRef, StrictProfileInputMatch } from "./profileChoiceKey.js";
35
- export { resolveUseOpenRouter, readUseOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
43
+ export { parsePreferOpenRouter, resolvePreferOpenRouter, resolvePreferOpenRouterFromOptions, readPreferOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
36
44
  export type { AppliedModelRouting } from "./resolveModelRouting.js";
37
45
  export { GATEWAY_PROVIDERS, isGatewayProvider, isGatewayWireId, normalizeGatewayWireId, formatGatewayWireId, gatewayInvokeProvider, } from "./gatewayWireId.js";
38
46
  export type { GatewayProvider, NormalizedGatewayWireId } from "./gatewayWireId.js";
@@ -61,7 +69,7 @@ export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadM
61
69
  export { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
62
70
  export { buildModelsCatalogFromOpenRouterApi, buildLegacyCatalogFromOpenRouterApi, } from "./buildCatalogFromOpenRouterApi.js";
63
71
  export { REMOTE_MODELS_CATALOG_URL, OPENROUTER_MODELS_API_URL } from "./constants.js";
64
- export type { AIProfilesRegistry, AIProfileDefinition, AIProfileChoice, AIProfileSummary, ResolvedAIProfile, ResolvedSecondaryModel, ResolveSecondaryModelResult, ResolveSecondaryModelOptions, SecondaryRef, ListAIProfilesOptions, ListAIProfileChoicesOptions, AIProfileChoiceSummary, ResolveCatalogModelOptions, ResolveAIProfileOptions, AIProvider, AIModelPricing, AIRuntimeDefaults, AIProfileBackend, AIProfileWarning, InstructionTier, RegistrySourceMode, ModelInvocation, ModelInvocationEndpoint, ModelsRegistryJson, ModelRegistryEntry, ModelsCatalogJson, CatalogModelEntry, CatalogDirectSlice, CatalogOpenRouterSlice, OpenRouterModelsCatalogJson, ValidateProfileVendorCoverageResult, ProfileVendorCoverageResult, AIRegistryStatistics, GetAIRegistryStatisticsOptions, ProfileStatisticsFilter, ModelAvailabilityStatus, DeploymentType, ProfileRequiredCapabilities, ModelCapabilitiesSnapshot, ModelModality, ModalityContract, ProfileModalityMismatch, ProfileModalityCoverageResult, ValidateProfileModalityCoverageResult, CostCapPer1M, CostCapOption, AIProfileTag, ProfileTagMatchMode, ProfileCatalogLane, } from "./types.js";
72
+ export type { AIProfilesRegistry, AIProfileDefinition, AIProfileChoice, AIProfileSummary, ResolvedAIProfile, ResolvedSecondaryModel, ResolveSecondaryModelResult, ResolveSecondaryModelOptions, SecondaryRef, ListAIProfilesOptions, ListAIProfileChoicesOptions, AIProfileChoiceSummary, ResolveCatalogModelOptions, ResolveCatalogModelDetailsOptions, LookupCatalogModelOptions, ResolvedCatalogModel, ResolveAIProfileOptions, AIProvider, AIModelPricing, AIRuntimeDefaults, AIProfileBackend, AIProfileWarning, InstructionTier, RegistrySourceMode, ModelInvocation, ModelInvocationEndpoint, ModelsRegistryJson, ModelRegistryEntry, ModelsCatalogJson, CatalogModelEntry, CatalogDirectSlice, CatalogOpenRouterSlice, OpenRouterModelsCatalogJson, ValidateProfileVendorCoverageResult, ProfileVendorCoverageResult, AIRegistryStatistics, GetAIRegistryStatisticsOptions, ProfileStatisticsFilter, ModelAvailabilityStatus, DeploymentType, ProfileRequiredCapabilities, ModelCapabilitiesSnapshot, ModelModality, ModalityContract, ProfileModalityMismatch, ProfileModalityCoverageResult, ValidateProfileModalityCoverageResult, CostCapPer1M, CostCapOption, AIProfileTag, ProfileTagMatchMode, ProfileCatalogLane, PreferOpenRouterInput, } from "./types.js";
65
73
  export type { GetAIRegistryStatisticsResult } from "./getAIRegistryStatistics.js";
66
74
  export type { LoadCatalogResult } from "./loader/loadModelsCatalog.js";
67
75
  export type { LoadRegistryOptions, LoadRegistryResult, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,10 @@ export { resolveBundledCatalogModel } from "./resolveBundledCatalogModel.js";
13
13
  export { ensureConcreteModel } from "./ensureConcreteModel.js";
14
14
  export { normalizeInvokeModel, resolveAndNormalizeInvokeModel, resolveAndNormalizeBundledInvokeModel, } from "./normalizeInvokeModel.js";
15
15
  export { resolveCatalogModel } from "./resolveCatalogModel.js";
16
+ export { calculateInvokeCost, calculateInvokeCostSync, calculateInvokeCostFromRecord, calculateInvokeCostFromRecordSync, buildInvokePricingRecord, } from "./calculateInvokeCost.js";
17
+ export { openRouterReasoningWireFromCatalog, openRouterReasoningWireFromEntry, suggestedReasoningEffortFromTier, } from "./cost/reasoningWire.js";
18
+ export { lookupBundledCatalogModel, resolveBundledCatalogModelDetails, resolveCatalogModelDetails, } from "./resolveCatalogModelDetails.js";
19
+ export { buildResolvedCatalogModelFromMatch, buildResolvedCatalogModelFromChoice, } from "./buildResolvedCatalogModel.js";
16
20
  export { requireCatalogModel, requireBundledCatalogModel, } from "./requireCatalogModel.js";
17
21
  export { isTrustedCatalogMatch, mergeCatalogWithBundledFallback, resolveModelFromCatalogResilient, } from "./catalogResilience.js";
18
22
  export { resolveAIProfileWithCostAlternatives, } from "./resolveAIProfileWithCostAlternatives.js";
@@ -25,7 +29,7 @@ export { getBundledRegistry } from "./bundledRegistry.js";
25
29
  export { lookupBundledCatalogCaps } from "./lookupBundledCatalogCaps.js";
26
30
  export { isReasoningModel } from "./isReasoningModel.js";
27
31
  export { PROFILE_CHOICE_KEY_SEP, formatProfileChoiceKey, parseProfileChoiceKey, isProfileChoiceKeyFormat, matchStrictProfileInput, listRegistryProfileChoiceKeys, isKnownProfileChoiceInput, } from "./profileChoiceKey.js";
28
- export { resolveUseOpenRouter, readUseOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
32
+ export { parsePreferOpenRouter, resolvePreferOpenRouter, resolvePreferOpenRouterFromOptions, readPreferOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
29
33
  export { GATEWAY_PROVIDERS, isGatewayProvider, isGatewayWireId, normalizeGatewayWireId, formatGatewayWireId, gatewayInvokeProvider, } from "./gatewayWireId.js";
30
34
  export { buildModelInvocation, buildDirectInvocation, buildRegistryKey, matchOpenRouterCatalog, normalizeAnthropicVersionSlug, openRouterResolutionCandidates, } from "./modelIdentity.js";
31
35
  export { resolveModelIdentity } from "./resolveModelIdentity.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { type ResolveBundledInput } from "./resolveBundledInput.js";
2
- import type { ProfileCatalogLane } from "./types.js";
2
+ import type { PreferOpenRouterInput, ProfileCatalogLane } from "./types.js";
3
3
  export interface IsReasoningModelOptions {
4
4
  /** Catalog lane for `profile/choice` inputs. Defaults to `"text"`. */
5
5
  catalogLane?: ProfileCatalogLane;
6
- useOpenRouter?: boolean;
6
+ preferOpenRouter?: PreferOpenRouterInput;
7
7
  }
8
8
  /**
9
9
  * Whether a `profile/choice` or concrete model is reasoning-capable (sync, bundled catalog).
@@ -1 +1 @@
1
- {"version":3,"file":"isReasoningModel.d.ts","sourceRoot":"","sources":["../src/isReasoningModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAMT"}
1
+ {"version":3,"file":"isReasoningModel.d.ts","sourceRoot":"","sources":["../src/isReasoningModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAMT"}
@@ -11,7 +11,7 @@ import { resolveBundledInput } from "./resolveBundledInput.js";
11
11
  export function isReasoningModel(input, options = {}) {
12
12
  const resolved = resolveBundledInput(input, {
13
13
  catalogLane: options.catalogLane ?? "text",
14
- useOpenRouter: options.useOpenRouter,
14
+ preferOpenRouter: options.preferOpenRouter,
15
15
  });
16
16
  return resolved.modelSignals.isReasoningModel;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isReasoningModel.js","sourceRoot":"","sources":["../src/isReasoningModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,0BAA0B,CAAC;AASzF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0B,EAC1B,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;QAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"isReasoningModel.js","sourceRoot":"","sources":["../src/isReasoningModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,0BAA0B,CAAC;AASzF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0B,EAC1B,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;QAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAChD,CAAC"}
@@ -3,11 +3,21 @@ export interface BundledCatalogCaps {
3
3
  contextWindow?: number;
4
4
  maxOutputTokens?: number;
5
5
  supportsReasoning?: boolean;
6
+ supportsTools?: boolean;
7
+ supportsJsonSchema?: boolean;
8
+ pricing?: {
9
+ input?: number;
10
+ output?: number;
11
+ cachedInput?: number;
12
+ };
6
13
  }
7
14
  /**
8
15
  * Sync bundled lookup of catalog limits and reasoning capability for a routed model.
9
16
  * Tries `openRouterModelId`, `provider/modelId`, and bare `modelId` (same order as
10
- * {@link findCatalogModelEntry}).
17
+ * {@link lookupBundledCatalogModel}).
18
+ *
19
+ * For full catalog enrichment (modalities, raw pricing, catalog row), use
20
+ * {@link lookupBundledCatalogModel} instead.
11
21
  */
12
22
  export declare function lookupBundledCatalogCaps(params: {
13
23
  provider: AIProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"lookupBundledCatalogCaps.d.ts","sourceRoot":"","sources":["../src/lookupBundledCatalogCaps.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,GAAG,kBAAkB,GAAG,SAAS,CAejC"}
1
+ {"version":3,"file":"lookupBundledCatalogCaps.d.ts","sourceRoot":"","sources":["../src/lookupBundledCatalogCaps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,GAAG,kBAAkB,GAAG,SAAS,CA4BjC"}
@@ -1,22 +1,36 @@
1
- import { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
2
- import { capabilitiesFromCatalogEntry, findCatalogModelEntry, limitsFromCatalogEntry, } from "./catalogEnrichment.js";
1
+ import { lookupBundledCatalogModel } from "./resolveCatalogModelDetails.js";
3
2
  /**
4
3
  * Sync bundled lookup of catalog limits and reasoning capability for a routed model.
5
4
  * Tries `openRouterModelId`, `provider/modelId`, and bare `modelId` (same order as
6
- * {@link findCatalogModelEntry}).
5
+ * {@link lookupBundledCatalogModel}).
6
+ *
7
+ * For full catalog enrichment (modalities, raw pricing, catalog row), use
8
+ * {@link lookupBundledCatalogModel} instead.
7
9
  */
8
10
  export function lookupBundledCatalogCaps(params) {
9
- const catalog = loadBundledModelsCatalog();
10
- const entry = findCatalogModelEntry(catalog, params);
11
- if (!entry) {
11
+ const lookupInput = params.openRouterModelId ??
12
+ (params.provider === "openrouter"
13
+ ? params.modelId
14
+ : `${params.provider}/${params.modelId}`);
15
+ const resolved = lookupBundledCatalogModel(lookupInput, {
16
+ preferOpenRouter: params.provider === "openrouter",
17
+ });
18
+ if (!resolved) {
12
19
  return undefined;
13
20
  }
14
- const limits = limitsFromCatalogEntry(entry);
15
- const capabilities = capabilitiesFromCatalogEntry(entry);
16
21
  return {
17
- contextWindow: limits.contextWindow,
18
- maxOutputTokens: limits.maxOutputTokens,
19
- supportsReasoning: capabilities.supportsReasoning,
22
+ contextWindow: resolved.limits?.contextWindow,
23
+ maxOutputTokens: resolved.limits?.maxOutputTokens,
24
+ supportsReasoning: resolved.modelSignals.isReasoningModel,
25
+ supportsTools: resolved.capabilities?.supportsTools,
26
+ supportsJsonSchema: resolved.capabilities?.supportsJsonSchema,
27
+ pricing: resolved.pricing
28
+ ? {
29
+ input: resolved.pricing.input,
30
+ output: resolved.pricing.output,
31
+ cachedInput: resolved.pricing.cachedInput,
32
+ }
33
+ : undefined,
20
34
  };
21
35
  }
22
36
  //# sourceMappingURL=lookupBundledCatalogCaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookupBundledCatalogCaps.js","sourceRoot":"","sources":["../src/lookupBundledCatalogCaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAShC;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAIxC;IACC,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lookupBundledCatalogCaps.js","sourceRoot":"","sources":["../src/lookupBundledCatalogCaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAgB5E;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAIxC;IACC,MAAM,WAAW,GACf,MAAM,CAAC,iBAAiB;QACxB,CAAC,MAAM,CAAC,QAAQ,KAAK,YAAY;YAC/B,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,EAAE;QACtD,gBAAgB,EAAE,MAAM,CAAC,QAAQ,KAAK,YAAY;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa;QAC7C,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,eAAe;QACjD,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,gBAAgB;QACzD,aAAa,EAAE,QAAQ,CAAC,YAAY,EAAE,aAAa;QACnD,kBAAkB,EAAE,QAAQ,CAAC,YAAY,EAAE,kBAAkB;QAC7D,OAAO,EAAE,QAAQ,CAAC,OAAO;YACvB,CAAC,CAAC;gBACE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;gBAC7B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;gBAC/B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;aAC1C;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AIProfileWarning, CatalogModelEntry, ModelInvocation, ModelsCatalogJson, ResolvedAIProfile, AIProfilesRegistry } from "./types.js";
1
+ import type { AIProfileWarning, CatalogModelEntry, ModelInvocation, ModelsCatalogJson, PreferOpenRouterInput, ResolvedAIProfile, AIProfilesRegistry } from "./types.js";
2
2
  export type ModelInputMatchConfidence = "exact" | "high" | "low";
3
3
  export interface ModelInputFallbackMatch {
4
4
  entry?: CatalogModelEntry;
@@ -16,6 +16,6 @@ export declare function buildResolvedModelInput(params: {
16
16
  match: ModelInputFallbackMatch;
17
17
  registry: AIProfilesRegistry;
18
18
  loaderWarnings?: AIProfileWarning[];
19
- useOpenRouter?: boolean;
19
+ preferOpenRouter?: PreferOpenRouterInput;
20
20
  }): ResolvedAIProfile;
21
21
  //# sourceMappingURL=modelInputFallback.d.ts.map
@@ -1 +1 @@
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;AA+DD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CActF;AA2GD,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,CAiFpB"}
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,qBAAqB,EACrB,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;AA+DD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CActF;AA2GD,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,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C,GAAG,iBAAiB,CAkFpB"}
@@ -6,7 +6,7 @@ import { buildModelInvocation } from "./modelIdentity.js";
6
6
  import { normalizeKey } from "./normalizeKey.js";
7
7
  import { inferCatalogLaneFromEntry } from "./profileCatalogLane.js";
8
8
  import { normalizeModalityContract } from "./modalityPolicy.js";
9
- import { resolveUseOpenRouter } from "./resolveModelRouting.js";
9
+ import { resolvePreferOpenRouter } from "./resolveModelRouting.js";
10
10
  const HIGH_CONFIDENCE_SCORE = 0.72;
11
11
  const AMBIGUOUS_SCORE_GAP = 0.12;
12
12
  function canonicalIdentifier(value) {
@@ -202,8 +202,8 @@ export function buildResolvedModelInput(params) {
202
202
  const cache = getMemoryCache();
203
203
  const cacheLoadedAt = cache?.loadedAt ?? Date.parse(registry.loadedAt);
204
204
  const expiresAt = new Date((cache?.expiresAt ?? cacheLoadedAt + DEFAULT_CACHE_TTL_MS)).toISOString();
205
- const useOpenRouter = resolveUseOpenRouter(params.useOpenRouter);
206
- const endpoint = useOpenRouter && match.invocation.openrouter
205
+ const preferOpenRouter = resolvePreferOpenRouter(params.preferOpenRouter);
206
+ const endpoint = preferOpenRouter && match.invocation.openrouter
207
207
  ? match.invocation.openrouter
208
208
  : match.invocation.direct;
209
209
  const routing = endpoint.provider === "openrouter" ? "openrouter" : "direct";
@@ -257,6 +257,7 @@ export function buildResolvedModelInput(params) {
257
257
  supportsStructuredOutput: capabilities?.supportsJsonSchema,
258
258
  supportsTools: capabilities?.supportsTools,
259
259
  contextWindow: capabilities?.contextWindow ?? limits?.contextWindow,
260
+ maxOutputTokens: capabilities?.maxOutputTokens ?? limits?.maxOutputTokens,
260
261
  },
261
262
  modalities,
262
263
  requiredModalities: modalities,