@x12i/ai-profiles 3.2.0 → 3.3.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.
- package/README.md +21 -21
- package/dist/buildResolvedProfile.d.ts +2 -2
- package/dist/buildResolvedProfile.d.ts.map +1 -1
- package/dist/buildResolvedProfile.js +5 -5
- package/dist/buildResolvedProfile.js.map +1 -1
- package/dist/catalogResilience.d.ts +25 -0
- package/dist/catalogResilience.d.ts.map +1 -0
- package/dist/catalogResilience.js +164 -0
- package/dist/catalogResilience.js.map +1 -0
- package/dist/ensureConcreteModel.d.ts +2 -2
- package/dist/ensureConcreteModel.d.ts.map +1 -1
- package/dist/ensureConcreteModel.js +2 -2
- package/dist/ensureConcreteModel.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/isReasoningModel.d.ts +2 -2
- package/dist/isReasoningModel.d.ts.map +1 -1
- package/dist/isReasoningModel.js +1 -1
- package/dist/isReasoningModel.js.map +1 -1
- package/dist/loader/loadModelsCatalog.d.ts.map +1 -1
- package/dist/loader/loadModelsCatalog.js +4 -2
- package/dist/loader/loadModelsCatalog.js.map +1 -1
- package/dist/modelInputFallback.d.ts +2 -2
- package/dist/modelInputFallback.d.ts.map +1 -1
- package/dist/modelInputFallback.js +3 -3
- package/dist/modelInputFallback.js.map +1 -1
- package/dist/normalizeInvokeModel.d.ts +4 -4
- package/dist/normalizeInvokeModel.d.ts.map +1 -1
- package/dist/normalizeInvokeModel.js +11 -11
- package/dist/normalizeInvokeModel.js.map +1 -1
- package/dist/requireCatalogModel.d.ts +39 -0
- package/dist/requireCatalogModel.d.ts.map +1 -0
- package/dist/requireCatalogModel.js +82 -0
- package/dist/requireCatalogModel.js.map +1 -0
- package/dist/resolveAIProfile.js +2 -2
- package/dist/resolveAIProfile.js.map +1 -1
- package/dist/resolveAIProfileWithCostAlternatives.js +2 -2
- package/dist/resolveAIProfileWithCostAlternatives.js.map +1 -1
- package/dist/resolveBundledCatalogModel.d.ts +2 -2
- package/dist/resolveBundledCatalogModel.d.ts.map +1 -1
- package/dist/resolveBundledCatalogModel.js +37 -16
- package/dist/resolveBundledCatalogModel.js.map +1 -1
- package/dist/resolveCatalogModel.d.ts.map +1 -1
- package/dist/resolveCatalogModel.js +27 -7
- package/dist/resolveCatalogModel.js.map +1 -1
- package/dist/resolveModelRouting.d.ts +11 -6
- package/dist/resolveModelRouting.d.ts.map +1 -1
- package/dist/resolveModelRouting.js +37 -19
- package/dist/resolveModelRouting.js.map +1 -1
- package/dist/resolveProfileInputCore.js +1 -1
- package/dist/resolveProfileInputCore.js.map +1 -1
- package/dist/resolveSecondaryModel.d.ts +1 -1
- package/dist/resolveSecondaryModel.d.ts.map +1 -1
- package/dist/resolveSecondaryModel.js +3 -3
- package/dist/resolveSecondaryModel.js.map +1 -1
- package/dist/secondaryModel.d.ts +4 -4
- package/dist/secondaryModel.d.ts.map +1 -1
- package/dist/secondaryModel.js +2 -2
- package/dist/secondaryModel.js.map +1 -1
- package/dist/types.d.ts +7 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.js +1 -1
- package/dist/validateProfileCatalogLinkage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -291,8 +291,8 @@ Use these when callers pass **raw model ids or OpenRouter slugs**, not profile n
|
|
|
291
291
|
|
|
292
292
|
| Export | Sync? | Purpose |
|
|
293
293
|
|--------|-------|---------|
|
|
294
|
-
| `
|
|
295
|
-
| `applyModelRouting(choice, backend,
|
|
294
|
+
| `resolvePreferOpenRouter(explicit?)` | Yes | Resolve OpenRouter vs vendor-direct routing (option → env → default) |
|
|
295
|
+
| `applyModelRouting(choice, backend, preferOpenRouter, catalog?)` | Yes | Turn a registry choice into invoke-time `{ provider, modelId, routing }` (same rules as `resolveAIProfile`) |
|
|
296
296
|
| `normalizeGatewayWireId(input)` | Yes | `openrouter/openai/gpt-5.5` → `{ provider: "openrouter", modelId: "openai/gpt-5.5" }` (profile keys like `cheap/default` are not gateway wires) |
|
|
297
297
|
| `validateBundledProfileVendorCoverage(options?)` | Yes | Advisory report of leading-vendor coverage per profile |
|
|
298
298
|
| `validateBundledProfileModalityCoverage(options?)` | Yes | Advisory report of profile choice vs required input/output media |
|
|
@@ -402,7 +402,7 @@ console.log(model.backend);
|
|
|
402
402
|
// SKU lookup (catalog), not a profile
|
|
403
403
|
const sku = await resolveCatalogModel("google/gemini-2.5-flash-lite", {
|
|
404
404
|
source: "bundled",
|
|
405
|
-
|
|
405
|
+
preferOpenRouter: false,
|
|
406
406
|
});
|
|
407
407
|
|
|
408
408
|
console.log(isKnownProfileChoice("cheap/default")); // true
|
|
@@ -513,14 +513,14 @@ normalizeInvokeModel({ model: "cheap/default" }); // same error
|
|
|
513
513
|
// Profile/choice → resolve, then normalize (gateway catalog-lookup tuple)
|
|
514
514
|
await resolveAndNormalizeInvokeModel("cyber/deep_forensics", {
|
|
515
515
|
catalogLane: "text",
|
|
516
|
-
|
|
516
|
+
preferOpenRouter: true,
|
|
517
517
|
});
|
|
518
518
|
// → { provider: "openrouter", model: "deepseek/deepseek-v4-pro", routing: "openrouter", ... }
|
|
519
519
|
|
|
520
520
|
// Sync bundled variant (tests, predict paths)
|
|
521
521
|
resolveAndNormalizeBundledInvokeModel("cyber/deep_forensics", {
|
|
522
522
|
catalogLane: "text",
|
|
523
|
-
|
|
523
|
+
preferOpenRouter: true,
|
|
524
524
|
});
|
|
525
525
|
```
|
|
526
526
|
|
|
@@ -567,8 +567,8 @@ Remote profiles (anything that is not `local` / on-device) can be resolved for *
|
|
|
567
567
|
|
|
568
568
|
### Resolution priority
|
|
569
569
|
|
|
570
|
-
1. **`options.
|
|
571
|
-
2. **`
|
|
570
|
+
1. **`options.preferOpenRouter`** when passed to `resolveAIProfile`
|
|
571
|
+
2. **`PREFER_OPENROUTER`** in `.env` / process env
|
|
572
572
|
3. **Default: `true`** (OpenRouter)
|
|
573
573
|
|
|
574
574
|
Supported today: **OpenRouter** and **vendor-direct**. Azure and AWS routing are not supported yet.
|
|
@@ -578,7 +578,7 @@ Supported today: **OpenRouter** and **vendor-direct**. Azure and AWS routing are
|
|
|
578
578
|
```ts
|
|
579
579
|
const resolved = await resolveAIProfile("cheap/default", { catalogLane: "text" });
|
|
580
580
|
// or explicitly:
|
|
581
|
-
await resolveAIProfile("cheap/default", { catalogLane: "text",
|
|
581
|
+
await resolveAIProfile("cheap/default", { catalogLane: "text", preferOpenRouter: true });
|
|
582
582
|
|
|
583
583
|
// resolved.provider === "openrouter"
|
|
584
584
|
// resolved.modelId === "google/gemini-3.1-flash-lite"
|
|
@@ -614,7 +614,7 @@ Use `assertStableOpenRouterSlug(slug)` before outbound OpenRouter calls when you
|
|
|
614
614
|
```ts
|
|
615
615
|
const resolved = await resolveAIProfile("cheap/default", {
|
|
616
616
|
catalogLane: "text",
|
|
617
|
-
|
|
617
|
+
preferOpenRouter: false,
|
|
618
618
|
});
|
|
619
619
|
|
|
620
620
|
// resolved.provider === "google"
|
|
@@ -630,31 +630,31 @@ Use this when calling OpenAI, Anthropic, Google, etc. APIs directly instead of t
|
|
|
630
630
|
Set in `.env` or the process environment:
|
|
631
631
|
|
|
632
632
|
```env
|
|
633
|
-
|
|
634
|
-
|
|
633
|
+
PREFER_OPENROUTER=1 # or true, yes, on → OpenRouter
|
|
634
|
+
PREFER_OPENROUTER=0 # or false, no, off → vendor-direct
|
|
635
635
|
```
|
|
636
636
|
|
|
637
|
-
When `
|
|
637
|
+
When `preferOpenRouter` is omitted from `resolveAIProfile`, the env value is used. An explicit option always wins over env.
|
|
638
638
|
|
|
639
639
|
```ts
|
|
640
|
-
process.env.
|
|
640
|
+
process.env.PREFER_OPENROUTER = "0";
|
|
641
641
|
await resolveAIProfile("cheap/default", { catalogLane: "text" }); // vendor-direct
|
|
642
642
|
|
|
643
|
-
await resolveAIProfile("cheap/default", { catalogLane: "text",
|
|
643
|
+
await resolveAIProfile("cheap/default", { catalogLane: "text", preferOpenRouter: true }); // still OpenRouter
|
|
644
644
|
```
|
|
645
645
|
|
|
646
646
|
Helper exports:
|
|
647
647
|
|
|
648
648
|
```ts
|
|
649
649
|
import {
|
|
650
|
-
|
|
650
|
+
resolvePreferOpenRouter,
|
|
651
651
|
buildOpenRouterModelId,
|
|
652
652
|
buildModelInvocation,
|
|
653
653
|
resolveModelIdentity,
|
|
654
654
|
} from "@x12i/ai-profiles";
|
|
655
655
|
|
|
656
|
-
|
|
657
|
-
|
|
656
|
+
resolvePreferOpenRouter(); // true by default
|
|
657
|
+
resolvePreferOpenRouter(false); // explicit override
|
|
658
658
|
|
|
659
659
|
buildOpenRouterModelId("openai", "gpt-5.4"); // "openai/gpt-5.4"
|
|
660
660
|
|
|
@@ -731,14 +731,14 @@ const post = await resolveAIProfile(slots.postActionModel, { catalogLane: "text"
|
|
|
731
731
|
// Gateway handoff: resolve + normalize invoke tuple
|
|
732
732
|
const mainInvoke = await resolveAndNormalizeInvokeModel(slots.skillModel, {
|
|
733
733
|
catalogLane: "text",
|
|
734
|
-
|
|
734
|
+
preferOpenRouter: true,
|
|
735
735
|
});
|
|
736
736
|
// mainInvoke → { provider: "openrouter", model: "openai/gpt-5.4", routing: "openrouter", ... }
|
|
737
737
|
```
|
|
738
738
|
|
|
739
739
|
## Profile matrix (FuncX contract)
|
|
740
740
|
|
|
741
|
-
Default choice per profile (vendor-native ids in registry; OpenRouter slugs when `
|
|
741
|
+
Default choice per profile (vendor-native ids in registry; OpenRouter slugs when `preferOpenRouter` is true):
|
|
742
742
|
|
|
743
743
|
| Profile | Inference | Instruction tier | Default choice | Example model |
|
|
744
744
|
|---------|-----------|------------------|----------------|---------------|
|
|
@@ -767,7 +767,7 @@ Remote profile choices in `models-profiles.json` use vendor-native `modelId` val
|
|
|
767
767
|
- `modelId`: full slug such as `openai/gpt-5.4`
|
|
768
768
|
- `routing`: `"openrouter"`
|
|
769
769
|
|
|
770
|
-
Pass `
|
|
770
|
+
Pass `preferOpenRouter: false` (or `PREFER_OPENROUTER=0`) to get vendor-native `provider` + `modelId` for direct API calls.
|
|
771
771
|
|
|
772
772
|
Every resolved profile includes **`invocation`** with both call shapes:
|
|
773
773
|
|
|
@@ -776,7 +776,7 @@ resolved.invocation.direct // { provider: "openai", modelId: "gpt-5.4" }
|
|
|
776
776
|
resolved.invocation.openrouter // { provider: "openrouter", modelId: "openai/gpt-5.4" } | null
|
|
777
777
|
```
|
|
778
778
|
|
|
779
|
-
Top-level `provider` / `modelId` / `routing` remain the **active** path selected by `
|
|
779
|
+
Top-level `provider` / `modelId` / `routing` remain the **active** path selected by `preferOpenRouter`.
|
|
780
780
|
|
|
781
781
|
### Vendor trimming
|
|
782
782
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AIProfileChoice, AIProfileDefinition, AIProfileWarning, AIProfilesRegistry, CostCapPer1M, ModelsCatalogJson, ResolvedAIProfile } from "./types.js";
|
|
1
|
+
import type { AIProfileChoice, AIProfileDefinition, AIProfileWarning, AIProfilesRegistry, CostCapPer1M, ModelsCatalogJson, PreferOpenRouterInput, ResolvedAIProfile } from "./types.js";
|
|
2
2
|
interface BuildResolvedProfileInput {
|
|
3
3
|
input: string;
|
|
4
4
|
profile: AIProfileDefinition;
|
|
@@ -6,7 +6,7 @@ interface BuildResolvedProfileInput {
|
|
|
6
6
|
choiceKey: string;
|
|
7
7
|
registry: AIProfilesRegistry;
|
|
8
8
|
loaderWarnings?: AIProfileWarning[];
|
|
9
|
-
|
|
9
|
+
preferOpenRouter?: PreferOpenRouterInput;
|
|
10
10
|
catalog?: ModelsCatalogJson;
|
|
11
11
|
costCapApplied?: CostCapPer1M;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildResolvedProfile.d.ts","sourceRoot":"","sources":["../src/buildResolvedProfile.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAEZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,
|
|
1
|
+
{"version":3,"file":"buildResolvedProfile.d.ts","sourceRoot":"","sources":["../src/buildResolvedProfile.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAEZ,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,cAAc,CAAC,EAAE,YAAY,CAAC;CAC/B;AA8CD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,GAChC,iBAAiB,CAyLnB"}
|
|
@@ -8,7 +8,7 @@ import { buildModelInvocationFromChoice } from "./profileRegistryV2.js";
|
|
|
8
8
|
import { resolveChoiceInvocation } from "./resolveCatalogListing.js";
|
|
9
9
|
import { resolveChoicePricing } from "./profileRegistryV3.js";
|
|
10
10
|
import { resolveBackend, resolveInstructionTier, } from "./resolveInstructionTierAndBackend.js";
|
|
11
|
-
import { applyModelRouting,
|
|
11
|
+
import { applyModelRouting, resolvePreferOpenRouter, } from "./resolveModelRouting.js";
|
|
12
12
|
function resolveInvocation(profileKey, choiceKey, choice) {
|
|
13
13
|
try {
|
|
14
14
|
const modelsRegistry = loadBundledModelsRegistry();
|
|
@@ -38,7 +38,7 @@ function loadCatalogForEnrichment(catalog) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
export function buildResolvedProfile(params) {
|
|
41
|
-
const { input, profile, choice, registry, loaderWarnings = [],
|
|
41
|
+
const { input, profile, choice, registry, loaderWarnings = [], preferOpenRouter: explicitPreferOpenRouter, catalog: catalogInput, } = params;
|
|
42
42
|
const costCapApplied = params.costCapApplied;
|
|
43
43
|
const warnings = [...loaderWarnings];
|
|
44
44
|
const cache = getMemoryCache();
|
|
@@ -75,9 +75,9 @@ export function buildResolvedProfile(params) {
|
|
|
75
75
|
};
|
|
76
76
|
const instructionTier = resolveInstructionTier(profile, mergedRuntime.instructionTier);
|
|
77
77
|
const resolvedBackend = resolveBackend(profile, choice, mergedRuntime.backend);
|
|
78
|
-
const
|
|
78
|
+
const preferOpenRouter = resolvePreferOpenRouter(explicitPreferOpenRouter);
|
|
79
79
|
const catalog = loadCatalogForEnrichment(catalogInput);
|
|
80
|
-
const routed = applyModelRouting(choice, resolvedBackend,
|
|
80
|
+
const routed = applyModelRouting(choice, resolvedBackend, preferOpenRouter, catalog);
|
|
81
81
|
const enriched = catalog
|
|
82
82
|
? enrichChoiceFromCatalog(catalog, choice, {
|
|
83
83
|
provider: routed.provider,
|
|
@@ -101,7 +101,7 @@ export function buildResolvedProfile(params) {
|
|
|
101
101
|
const invocation = (catalog
|
|
102
102
|
? resolveChoiceInvocation(choice, catalog)
|
|
103
103
|
: undefined) ?? resolveInvocation(profile.profile, params.choiceKey, choice);
|
|
104
|
-
if (!invocation.openrouter &&
|
|
104
|
+
if (!invocation.openrouter && preferOpenRouter) {
|
|
105
105
|
try {
|
|
106
106
|
const modelsRegistry = loadBundledModelsRegistry();
|
|
107
107
|
const entry = Object.values(modelsRegistry.models).find((model) => model.usage.profileChoices.some((ref) => ref.profile === profile.profile && ref.choice === choice.choice));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildResolvedProfile.js","sourceRoot":"","sources":["../src/buildResolvedProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"buildResolvedProfile.js","sourceRoot":"","sources":["../src/buildResolvedProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAyBlC,SAAS,iBAAiB,CACxB,UAAkB,EAClB,SAAiB,EACjB,MAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,EACd,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,CACf,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAChE,CACF,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IAED,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAA2B;IAE3B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAiC;IAEjC,MAAM,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,EAAE,EACnB,gBAAgB,EAAE,wBAAwB,EAC1C,OAAO,EAAE,YAAY,GACtB,GAAG,MAAM,CAAC;IACX,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAE7C,MAAM,QAAQ,GAAuB,CAAC,GAAG,cAAc,CAAC,CAAC;IACzD,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;IAEhB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,YAAY,OAAO,CAAC,OAAO,kBAAkB;SACvD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,WAAW,MAAM,CAAC,MAAM,kBAAkB,OAAO,CAAC,OAAO,kBAAkB;SACrF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,oDAAoD;SACzG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EACL,+HAA+H;SAClI,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,GAAG,wBAAwB;QAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KAC1B,CAAC;IAEF,MAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,EACP,aAAa,CAAC,eAAe,CAC9B,CAAC;IACF,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnE,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;IAEd,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,kCAAkC,MAAM,CAAC,MAAM,iBAAiB,OAAO,CAAC,OAAO,IAAI;SAC7F,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GACd,CAAC,OAAO;QACN,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEjF,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAClE,CACF,CAAC;YACF,IAAI,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,uCAAuC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI;iBAC3H,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAiC;QAC5C,GAAG,aAAa;QAChB,eAAe;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY;QACxC,CAAC,CAAC;YACE,GAAG,QAAQ,CAAC,YAAY;YACxB,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa;YAC3E,eAAe,EACb,MAAM,EAAE,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,eAAe;SACnE;QACH,CAAC,CAAC,MAAM;YACN,CAAC,CAAC;gBACE,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;YACH,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,YAAY,GAAsC;QACtD,gBAAgB,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC1D,wBAAwB,EAAE,YAAY,EAAE,kBAAkB;QAC1D,aAAa,EAAE,YAAY,EAAE,aAAa;QAC1C,aAAa,EAAE,YAAY,EAAE,aAAa,IAAI,MAAM,EAAE,aAAa;KACpE,CAAC;IAEF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAsB;QAClC,KAAK;QACL,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,WAAW;QACrC,iBAAiB,EAAE,MAAM,CAAC,WAAW;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,YAAY;QACZ,GAAG,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,UAAU;QACV,kBAAkB;QAClB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO;QACP,UAAU;QACV,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS;KACV,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ModelInputFallbackMatch } from "./modelInputFallback.js";
|
|
2
|
+
import type { AIProfilesRegistry, ModelsCatalogJson, ModelsRegistryJson } from "./types.js";
|
|
3
|
+
export type CatalogResilienceSource = "primary-catalog" | "bundled-catalog-fallback" | "registry-fallback" | "profile-registry-fallback" | "parsed-invocation";
|
|
4
|
+
export interface ResilientCatalogMatch extends ModelInputFallbackMatch {
|
|
5
|
+
resilienceSource: CatalogResilienceSource;
|
|
6
|
+
profileChoice?: {
|
|
7
|
+
profile: string;
|
|
8
|
+
choice: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/** Merge bundled + profile supplement rows missing from a primary (e.g. legacy remote) catalog. */
|
|
12
|
+
export declare function mergeCatalogWithBundledFallback(primary: ModelsCatalogJson): ModelsCatalogJson;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve a concrete model slug with layered fallbacks:
|
|
15
|
+
* primary catalog → bundled catalog merge → profile registry → models registry → low/parsed.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveModelFromCatalogResilient(input: string, primaryCatalog: ModelsCatalogJson, options?: {
|
|
18
|
+
registry?: AIProfilesRegistry;
|
|
19
|
+
modelsRegistry?: ModelsRegistryJson;
|
|
20
|
+
/** When true, skip merging bundled rows (primary is already complete). */
|
|
21
|
+
skipBundledMerge?: boolean;
|
|
22
|
+
}): ResilientCatalogMatch | undefined;
|
|
23
|
+
/** Whether a resilient match is safe for strict catalog resolution (not a fuzzy guess). */
|
|
24
|
+
export declare function isTrustedCatalogMatch(match: ResilientCatalogMatch): boolean;
|
|
25
|
+
//# sourceMappingURL=catalogResilience.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogResilience.d.ts","sourceRoot":"","sources":["../src/catalogResilience.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAEV,kBAAkB,EAGlB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,0BAA0B,GAC1B,mBAAmB,GACnB,2BAA2B,GAC3B,mBAAmB,CAAC;AAExB,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD;AAuBD,mGAAmG;AACnG,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,GACzB,iBAAiB,CAuBnB;AAiHD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,iBAAiB,EACjC,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,qBAAqB,GAAG,SAAS,CA0CnC;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAS3E"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { getBundledRegistry } from "./bundledRegistry.js";
|
|
2
|
+
import { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
|
|
3
|
+
import { loadBundledModelsRegistry } from "./loadModelsRegistry.js";
|
|
4
|
+
import { mergeCatalogSupplement } from "./mergeCatalogSupplement.js";
|
|
5
|
+
import { normalizeGatewayWireId } from "./gatewayWireId.js";
|
|
6
|
+
import { normalizeKey } from "./normalizeKey.js";
|
|
7
|
+
import { resolveModelFromInput, } from "./modelInputFallback.js";
|
|
8
|
+
import { formatProfileChoiceKey } from "./profileChoiceKey.js";
|
|
9
|
+
import { PROFILE_CATALOG_SUPPLEMENT } from "./profileCatalogSupplement.js";
|
|
10
|
+
import { buildModelInvocationFromChoice, getChoiceOpenRouterModelId, getChoiceVendorModelId, openRouterSlugFor, } from "./profileRegistryV2.js";
|
|
11
|
+
function catalogEntryKey(entry) {
|
|
12
|
+
return normalizeKey(`${entry.direct.provider}/${entry.direct.modelId}`);
|
|
13
|
+
}
|
|
14
|
+
function canonicalSlug(value) {
|
|
15
|
+
return normalizeKey(value).replace(/^x-ai\//, "xai/");
|
|
16
|
+
}
|
|
17
|
+
function normalizeCatalogLookupInput(input) {
|
|
18
|
+
const trimmed = input.trim();
|
|
19
|
+
const gateway = normalizeGatewayWireId(trimmed);
|
|
20
|
+
if (gateway) {
|
|
21
|
+
return { lookupInput: gateway.modelId, displayInput: trimmed };
|
|
22
|
+
}
|
|
23
|
+
return { lookupInput: trimmed, displayInput: trimmed };
|
|
24
|
+
}
|
|
25
|
+
/** Merge bundled + profile supplement rows missing from a primary (e.g. legacy remote) catalog. */
|
|
26
|
+
export function mergeCatalogWithBundledFallback(primary) {
|
|
27
|
+
const bundled = loadBundledModelsCatalog();
|
|
28
|
+
let merged = mergeCatalogSupplement(primary, PROFILE_CATALOG_SUPPLEMENT);
|
|
29
|
+
const existing = new Set(merged.models.map(catalogEntryKey));
|
|
30
|
+
const extra = [];
|
|
31
|
+
for (const entry of bundled.models) {
|
|
32
|
+
const key = catalogEntryKey(entry);
|
|
33
|
+
if (!existing.has(key)) {
|
|
34
|
+
existing.add(key);
|
|
35
|
+
extra.push(entry);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (extra.length === 0) {
|
|
39
|
+
return merged;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
...merged,
|
|
43
|
+
models: [...merged.models, ...extra],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function invocationFromRegistry(vendor, invocation) {
|
|
47
|
+
return {
|
|
48
|
+
invocation,
|
|
49
|
+
confidence: "exact",
|
|
50
|
+
score: 1,
|
|
51
|
+
matchedBy: `${vendor.provider}/${vendor.modelId}`,
|
|
52
|
+
warning: `Catalog lookup missed input; resolved from bundled models-registry.json via ${vendor.provider}/${vendor.modelId}.`,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function findRegistryMatch(registry, input) {
|
|
56
|
+
const normalized = canonicalSlug(input);
|
|
57
|
+
const orKey = `or:${normalized.replace(/\//g, ":")}`;
|
|
58
|
+
const orHit = registry.models[orKey];
|
|
59
|
+
if (orHit) {
|
|
60
|
+
return invocationFromRegistry(orHit.vendor, orHit.invocation);
|
|
61
|
+
}
|
|
62
|
+
for (const entry of Object.values(registry.models)) {
|
|
63
|
+
const vendorId = canonicalSlug(entry.vendor.modelId);
|
|
64
|
+
const vendorKey = canonicalSlug(`${entry.vendor.provider}/${entry.vendor.modelId}`);
|
|
65
|
+
const orId = entry.invocation.openrouter?.modelId
|
|
66
|
+
? canonicalSlug(entry.invocation.openrouter.modelId)
|
|
67
|
+
: null;
|
|
68
|
+
if (vendorId === normalized ||
|
|
69
|
+
vendorKey === normalized ||
|
|
70
|
+
orId === normalized) {
|
|
71
|
+
return invocationFromRegistry(entry.vendor, entry.invocation);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
function choiceMatchesResolvedSlug(choice, input, catalog) {
|
|
77
|
+
const normalized = canonicalSlug(input);
|
|
78
|
+
const vendorModelId = getChoiceVendorModelId(choice);
|
|
79
|
+
const identities = [
|
|
80
|
+
vendorModelId,
|
|
81
|
+
`${choice.provider}/${vendorModelId}`,
|
|
82
|
+
openRouterSlugFor(choice.provider, vendorModelId),
|
|
83
|
+
getChoiceOpenRouterModelId(choice, catalog),
|
|
84
|
+
]
|
|
85
|
+
.filter((value) => typeof value === "string" && value.trim() !== "")
|
|
86
|
+
.map(canonicalSlug);
|
|
87
|
+
return identities.includes(normalized);
|
|
88
|
+
}
|
|
89
|
+
function findProfileRegistryMatch(registry, input, catalog) {
|
|
90
|
+
for (const [profileKey, profile] of Object.entries(registry.profiles)) {
|
|
91
|
+
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
92
|
+
if (!choiceMatchesResolvedSlug(choice, input, catalog)) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const profileChoiceKey = formatProfileChoiceKey(profileKey, choiceKey);
|
|
96
|
+
return {
|
|
97
|
+
invocation: buildModelInvocationFromChoice(choice, catalog),
|
|
98
|
+
confidence: "exact",
|
|
99
|
+
score: 1,
|
|
100
|
+
matchedBy: profileChoiceKey,
|
|
101
|
+
resilienceSource: "profile-registry-fallback",
|
|
102
|
+
profileChoice: { profile: profileKey, choice: choiceKey },
|
|
103
|
+
warning: `Catalog lookup missed '${input}'; resolved from profile registry via ${profileChoiceKey}.`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
function wrapMatch(match, resilienceSource, extra) {
|
|
110
|
+
return {
|
|
111
|
+
...match,
|
|
112
|
+
resilienceSource,
|
|
113
|
+
...extra,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function isStrongMatch(match) {
|
|
117
|
+
return (match !== undefined &&
|
|
118
|
+
(match.confidence === "exact" || match.confidence === "high"));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Resolve a concrete model slug with layered fallbacks:
|
|
122
|
+
* primary catalog → bundled catalog merge → profile registry → models registry → low/parsed.
|
|
123
|
+
*/
|
|
124
|
+
export function resolveModelFromCatalogResilient(input, primaryCatalog, options = {}) {
|
|
125
|
+
const normalized = normalizeCatalogLookupInput(input);
|
|
126
|
+
if (!normalized.lookupInput) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
const profileRegistry = options.registry ?? getBundledRegistry();
|
|
130
|
+
const modelsRegistry = options.modelsRegistry ?? loadBundledModelsRegistry();
|
|
131
|
+
const bundledCatalog = loadBundledModelsCatalog();
|
|
132
|
+
const primaryMatch = resolveModelFromInput(normalized.lookupInput, primaryCatalog);
|
|
133
|
+
if (isStrongMatch(primaryMatch)) {
|
|
134
|
+
return wrapMatch(primaryMatch, "primary-catalog");
|
|
135
|
+
}
|
|
136
|
+
if (!options.skipBundledMerge) {
|
|
137
|
+
const enrichedCatalog = mergeCatalogWithBundledFallback(primaryCatalog);
|
|
138
|
+
const enrichedMatch = resolveModelFromInput(normalized.lookupInput, enrichedCatalog);
|
|
139
|
+
if (isStrongMatch(enrichedMatch)) {
|
|
140
|
+
return wrapMatch(enrichedMatch, "bundled-catalog-fallback", {
|
|
141
|
+
warning: enrichedMatch.warning ??
|
|
142
|
+
`Catalog lookup missed '${normalized.displayInput}' in the primary catalog; matched from bundled catalog fallback.`,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const profileHit = findProfileRegistryMatch(profileRegistry, normalized.lookupInput, bundledCatalog);
|
|
147
|
+
if (profileHit) {
|
|
148
|
+
return profileHit;
|
|
149
|
+
}
|
|
150
|
+
const registryHit = findRegistryMatch(modelsRegistry, normalized.lookupInput);
|
|
151
|
+
if (registryHit) {
|
|
152
|
+
return wrapMatch(registryHit, "registry-fallback");
|
|
153
|
+
}
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
/** Whether a resilient match is safe for strict catalog resolution (not a fuzzy guess). */
|
|
157
|
+
export function isTrustedCatalogMatch(match) {
|
|
158
|
+
if (match.resilienceSource === "profile-registry-fallback" ||
|
|
159
|
+
match.resilienceSource === "registry-fallback") {
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
return match.confidence === "exact" || match.confidence === "high";
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=catalogResilience.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogResilience.js","sourceRoot":"","sources":["../src/catalogResilience.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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,10 @@ 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 { requireCatalogModel, requireBundledCatalogModel, } from "./requireCatalogModel.js";
|
|
20
|
+
export type { RequireCatalogModelOptions, RequireCatalogModelResult, } from "./requireCatalogModel.js";
|
|
21
|
+
export { isTrustedCatalogMatch, mergeCatalogWithBundledFallback, resolveModelFromCatalogResilient, } from "./catalogResilience.js";
|
|
22
|
+
export type { CatalogResilienceSource, ResilientCatalogMatch, } from "./catalogResilience.js";
|
|
19
23
|
export { resolveAIProfileWithCostAlternatives, type ResolveAIProfileWithCostAlternativesResult, } from "./resolveAIProfileWithCostAlternatives.js";
|
|
20
24
|
export { resolveSecondaryModel, getSecondaryForResolvedProfile, } from "./resolveSecondaryModel.js";
|
|
21
25
|
export { listProfileSecondaries } from "./secondaryModel.js";
|
|
@@ -28,7 +32,7 @@ export { isReasoningModel } from "./isReasoningModel.js";
|
|
|
28
32
|
export type { IsReasoningModelOptions } from "./isReasoningModel.js";
|
|
29
33
|
export { PROFILE_CHOICE_KEY_SEP, formatProfileChoiceKey, parseProfileChoiceKey, isProfileChoiceKeyFormat, matchStrictProfileInput, listRegistryProfileChoiceKeys, isKnownProfileChoiceInput, } from "./profileChoiceKey.js";
|
|
30
34
|
export type { ProfileChoiceRef, StrictProfileInputMatch } from "./profileChoiceKey.js";
|
|
31
|
-
export {
|
|
35
|
+
export { parsePreferOpenRouter, resolvePreferOpenRouter, resolvePreferOpenRouterFromOptions, readPreferOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
|
|
32
36
|
export type { AppliedModelRouting } from "./resolveModelRouting.js";
|
|
33
37
|
export { GATEWAY_PROVIDERS, isGatewayProvider, isGatewayWireId, normalizeGatewayWireId, formatGatewayWireId, gatewayInvokeProvider, } from "./gatewayWireId.js";
|
|
34
38
|
export type { GatewayProvider, NormalizedGatewayWireId } from "./gatewayWireId.js";
|
|
@@ -57,7 +61,7 @@ export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadM
|
|
|
57
61
|
export { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
|
|
58
62
|
export { buildModelsCatalogFromOpenRouterApi, buildLegacyCatalogFromOpenRouterApi, } from "./buildCatalogFromOpenRouterApi.js";
|
|
59
63
|
export { REMOTE_MODELS_CATALOG_URL, OPENROUTER_MODELS_API_URL } from "./constants.js";
|
|
60
|
-
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";
|
|
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, PreferOpenRouterInput, } from "./types.js";
|
|
61
65
|
export type { GetAIRegistryStatisticsResult } from "./getAIRegistryStatistics.js";
|
|
62
66
|
export type { LoadCatalogResult } from "./loader/loadModelsCatalog.js";
|
|
63
67
|
export type { LoadRegistryOptions, LoadRegistryResult, } from "./types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,qCAAqC,EACrC,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,oCAAoC,EACpC,KAAK,0CAA0C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,
|
|
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,8 @@ 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 { requireCatalogModel, requireBundledCatalogModel, } from "./requireCatalogModel.js";
|
|
17
|
+
export { isTrustedCatalogMatch, mergeCatalogWithBundledFallback, resolveModelFromCatalogResilient, } from "./catalogResilience.js";
|
|
16
18
|
export { resolveAIProfileWithCostAlternatives, } from "./resolveAIProfileWithCostAlternatives.js";
|
|
17
19
|
export { resolveSecondaryModel, getSecondaryForResolvedProfile, } from "./resolveSecondaryModel.js";
|
|
18
20
|
export { listProfileSecondaries } from "./secondaryModel.js";
|
|
@@ -23,7 +25,7 @@ export { getBundledRegistry } from "./bundledRegistry.js";
|
|
|
23
25
|
export { lookupBundledCatalogCaps } from "./lookupBundledCatalogCaps.js";
|
|
24
26
|
export { isReasoningModel } from "./isReasoningModel.js";
|
|
25
27
|
export { PROFILE_CHOICE_KEY_SEP, formatProfileChoiceKey, parseProfileChoiceKey, isProfileChoiceKeyFormat, matchStrictProfileInput, listRegistryProfileChoiceKeys, isKnownProfileChoiceInput, } from "./profileChoiceKey.js";
|
|
26
|
-
export {
|
|
28
|
+
export { parsePreferOpenRouter, resolvePreferOpenRouter, resolvePreferOpenRouterFromOptions, readPreferOpenRouterFromEnv, buildOpenRouterModelId, applyModelRouting, isRemoteProfileChoice, } from "./resolveModelRouting.js";
|
|
27
29
|
export { GATEWAY_PROVIDERS, isGatewayProvider, isGatewayWireId, normalizeGatewayWireId, formatGatewayWireId, gatewayInvokeProvider, } from "./gatewayWireId.js";
|
|
28
30
|
export { buildModelInvocation, buildDirectInvocation, buildRegistryKey, matchOpenRouterCatalog, normalizeAnthropicVersionSlug, openRouterResolutionCandidates, } from "./modelIdentity.js";
|
|
29
31
|
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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,oCAAoC,GAErC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,
|
|
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
|
-
|
|
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;
|
|
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"}
|