@x12i/ai-profiles 3.0.0 → 3.2.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 +135 -27
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizeInvokeModel.d.ts +40 -0
- package/dist/normalizeInvokeModel.d.ts.map +1 -0
- package/dist/normalizeInvokeModel.js +176 -0
- package/dist/normalizeInvokeModel.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Resolve AI profile names into concrete model choices. The package ships JSON in `src/data/` as the offline fallback. By default, registry data is fetched from public assets, validated, and cached in memory.
|
|
4
4
|
|
|
5
|
-
> **v3.
|
|
5
|
+
> **v3.2** adds **`normalizeInvokeModel`**, **`resolveAndNormalizeInvokeModel`**, and **`resolveAndNormalizeBundledInvokeModel`** for gateway invoke wire shape. Downstream repos should pin **`"@x12i/ai-profiles": "^3.2.0"`**.
|
|
6
|
+
>
|
|
7
|
+
> **v3.0** removes legacy resolution inputs: shortcuts, bare profiles, and aliases. Only four resolution forms are accepted — `profile/choice`, vendor slug, gateway wire, and `{ provider, modelId }`. See [CHANGELOG.md](CHANGELOG.md).
|
|
6
8
|
>
|
|
7
9
|
> **v2.0** (still relevant): every `resolveAIProfile` call must pass `catalogLane` (`"text"`, `"image"`, …). Profile keys `deepseek` and `summarization` are gone — use `vol` and `sum`.
|
|
8
10
|
|
|
@@ -35,6 +37,36 @@ Every profile has a **`defaultChoice`** (recommended) and typically **two altern
|
|
|
35
37
|
|
|
36
38
|
Tasks should declare **requirements** as explicit `profile/choice` keys (e.g. `cheap/default`), not model names. Use discovery APIs (`listAIProfiles`, `resolveAIProfileByTags`) to pick a profile when the caller does not already have a composite key.
|
|
37
39
|
|
|
40
|
+
### Graph and stored model config
|
|
41
|
+
|
|
42
|
+
Graph JSON, studio defaults, and run overrides store **profile slot strings only** — never concrete provider model ids. Each task uses a complete triple:
|
|
43
|
+
|
|
44
|
+
| Slot | Example | Phase |
|
|
45
|
+
|------|---------|-------|
|
|
46
|
+
| `preActionModel` | `deep/default` | PRE (xynthesis / planning) |
|
|
47
|
+
| `skillModel` | `balanced/default` | MAIN (skill gateway) |
|
|
48
|
+
| `postActionModel` | `cheap/default` | POST (xynthesis / wrap-up) |
|
|
49
|
+
|
|
50
|
+
Canonical storage form is **`profile/choice`** (separator `/`). Use **`formatProfileChoiceKey(profile, choice)`** when writing slots and **`isKnownProfileChoice(input)`** (or **`matchStrictProfileInput`**) before persist or execute. Always include the choice segment — even for the profile default (`cheap/default`, not bare `cheap`).
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
"modelConfig": {
|
|
54
|
+
"cases": [
|
|
55
|
+
{
|
|
56
|
+
"modelConfig": {
|
|
57
|
+
"preActionModel": "cyber/default",
|
|
58
|
+
"skillModel": "audit/default",
|
|
59
|
+
"postActionModel": "cheap/default"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**At execute time**, hosts pass the stored alias triple unchanged; each phase resolves independently via `resolveAIProfile` (or `resolveAndNormalizeInvokeModel` at the gateway boundary). Do **not** pre-resolve aliases to concrete ids in graph JSON, `runtime.modelConfig`, or `aliasConfig`.
|
|
67
|
+
|
|
68
|
+
**Forbidden in stored config:** legacy keys (`xynthesisModel`, `postStrategyModel`), legacy aliases (`default`, `strong`, `weak`), bare profile keys (`cheap`), concrete slugs (`openai/gpt-4o-mini`), and legacy `@` composites (`cheap@anthropic_cheap` — migrate to `cheap/anthropic_cheap` on save).
|
|
69
|
+
|
|
38
70
|
### Profile catalog (bundled)
|
|
39
71
|
|
|
40
72
|
Profiles are grouped by **what kind of work** they represent—not only by price/quality tier. Several axes are orthogonal (structured output, agents, research, local inference).
|
|
@@ -213,12 +245,19 @@ npm install @x12i/ai-profiles
|
|
|
213
245
|
| `loadBundledModelsCatalog()` | Yes | Package-shipped `models-catalog.json` only |
|
|
214
246
|
| `loadBundledModelsRegistry()` | Yes | Package-shipped `models-registry.json` (linkage index) |
|
|
215
247
|
| `listAIProfileChoices(options?)` | No (async) | List explicit `profile/choice` keys for strict pickers and stored config |
|
|
248
|
+
| `formatProfileChoiceKey(profile, choice)` | Yes | Build canonical slot key (`cheap/default`) |
|
|
249
|
+
| `parseProfileChoiceKey(input)` | Yes | Parse `profile/choice` (accepts `\` as separator on input) |
|
|
250
|
+
| `matchStrictProfileInput(registry, input)` | Yes | Resolve input to profile+choice or `invalidChoice` |
|
|
216
251
|
| `isKnownProfileChoice(input)` | Yes (bundled only) | Whether input is a known valid `profile/choice` key |
|
|
252
|
+
| `isKnownProfileChoiceInput(registry, input)` | Yes | Same as above with an explicit registry |
|
|
217
253
|
| `getBundledRegistry()` | Yes | Sync bundled profiles registry (no network) |
|
|
218
254
|
| `resolveBundledAIProfile(input, options)` | Yes | Strict `profile/choice` → model, pricing, runtime (`source: "bundled"`) |
|
|
219
255
|
| `resolveBundledInput(input, options)` | Yes | Unified resolver: `profile/choice` → registry; vendor slug / gateway wire / `{ provider, modelId }` → catalog |
|
|
220
256
|
| `resolveBundledCatalogModel(input, options?)` | Yes | Sync strict catalog resolution (exact/high confidence only) |
|
|
221
257
|
| `ensureConcreteModel(input, options?)` | Yes | String normalizer: `profile/choice` (strict) or concrete model (catalog best-effort) → invoke-time `{ provider, modelId }` |
|
|
258
|
+
| `normalizeInvokeModel(input, options?)` | Yes | Idempotent gateway invoke tuple: strips `openrouter/` display slugs; rejects unresolved `profile/choice` aliases |
|
|
259
|
+
| `resolveAndNormalizeInvokeModel(alias, options)` | No (async) | `resolveAIProfile` → `normalizeInvokeModel` for MAIN / handoff paths |
|
|
260
|
+
| `resolveAndNormalizeBundledInvokeModel(alias, options)` | Yes | Bundled `resolveAIProfile` → `normalizeInvokeModel` (no network) |
|
|
222
261
|
| `lookupBundledCatalogCaps({ provider, modelId })` | Yes | Sync `{ contextWindow, maxOutputTokens, supportsReasoning }` from bundled catalog |
|
|
223
262
|
| `isReasoningModel(input, options?)` | Yes | `true`/`false` for supported inputs (throws `UNKNOWN_MODEL` on unknown concrete models) |
|
|
224
263
|
| `resolveAIProfile(input, options?)` | No (async) | Resolve an explicit `profile/choice` key → model, pricing, runtime. Pass `includeSecondary: true` to attach `secondary`. |
|
|
@@ -227,7 +266,7 @@ npm install @x12i/ai-profiles
|
|
|
227
266
|
| `listProfileSecondaries(profileKey, registry)` | Yes | List per-choice `secondary` declarations on a profile |
|
|
228
267
|
| `resolveAIProfileByTags(tags, options?)` | No (async) | Pick best profile by tag overlap (partial match OK), then resolve |
|
|
229
268
|
| `scoreProfileTags` / `rankProfilesByTags` | Yes | Tag overlap scoring for discovery and custom UIs |
|
|
230
|
-
| `AIProfilesError` | — | Typed errors (`UNKNOWN_PROFILE`, …) |
|
|
269
|
+
| `AIProfilesError` / `AIProfilesErrorCode` | — | Typed errors (`UNKNOWN_PROFILE`, `INVOKE_MODEL_ALIAS_AT_GATEWAY`, `INVOKE_MODEL_SHAPE_INVALID`, …) |
|
|
231
270
|
|
|
232
271
|
### Model identity (vendor + model strings)
|
|
233
272
|
|
|
@@ -432,6 +471,68 @@ ensureConcreteModel("google/gemini-2.5-flash-lite");
|
|
|
432
471
|
|
|
433
472
|
`listAIProfiles()` returns profile keys, tags, and choices for pickers. `listAIProfileChoices()` lists every valid `profile/choice` composite key.
|
|
434
473
|
|
|
474
|
+
## Invoke wire shape (gateway / HTTP)
|
|
475
|
+
|
|
476
|
+
Downstream packages (`ai-tasks`, `ai-skills`, `ai-gateway`, `xynthesis`, `optimixer`) must agree on what is sent on the wire **after** semantic resolution. **Stored graph config** uses `profile/choice` aliases; **gateway / HTTP** uses the invoke tuple below.
|
|
477
|
+
|
|
478
|
+
### Display slug
|
|
479
|
+
|
|
480
|
+
A **display slug** is a single string with an `openrouter/` prefix for human-readable UI and logs, e.g. `openrouter/deepseek/deepseek-v4-pro`. Studio pickers, plan previews, and Activix run logs may show this form. It is **not** the shape passed to `ai-gateway` catalog lookup or OpenRouter HTTP — normalize before those boundaries.
|
|
481
|
+
|
|
482
|
+
### Invoke tuple
|
|
483
|
+
|
|
484
|
+
An **invoke tuple** is `{ provider, model, routing }` where `provider` is `"openrouter"` (or a vendor for direct routing) and `model` is the **bare** vendor/model slug without a gateway prefix, e.g. `{ provider: "openrouter", model: "deepseek/deepseek-v4-pro", routing: "openrouter" }`. This is what `ai-gateway` uses for catalog lookup and what OpenRouter HTTP expects.
|
|
485
|
+
|
|
486
|
+
Call **`normalizeInvokeModel`** at every gateway boundary (idempotent). Profile intent still goes through **`resolveAIProfile`** first, or use **`resolveAndNormalizeInvokeModel`** / **`resolveAndNormalizeBundledInvokeModel`** for the combined path.
|
|
487
|
+
|
|
488
|
+
| Export | Sync? | Purpose |
|
|
489
|
+
|--------|-------|---------|
|
|
490
|
+
| `normalizeInvokeModel(input, options?)` | Yes | Display slug or invoke object → canonical invoke tuple; rejects unresolved `profile/choice` |
|
|
491
|
+
| `resolveAndNormalizeInvokeModel(alias, options)` | No (async) | `resolveAIProfile` → `normalizeInvokeModel` |
|
|
492
|
+
| `resolveAndNormalizeBundledInvokeModel(alias, options)` | Yes | Bundled `resolveAIProfile` → `normalizeInvokeModel` (no network) |
|
|
493
|
+
|
|
494
|
+
```ts
|
|
495
|
+
import {
|
|
496
|
+
normalizeInvokeModel,
|
|
497
|
+
resolveAndNormalizeInvokeModel,
|
|
498
|
+
resolveAndNormalizeBundledInvokeModel,
|
|
499
|
+
} from "@x12i/ai-profiles";
|
|
500
|
+
|
|
501
|
+
// Display slug → invoke tuple (string or { model } object)
|
|
502
|
+
normalizeInvokeModel("openrouter/deepseek/deepseek-v4-pro");
|
|
503
|
+
normalizeInvokeModel({ model: "openrouter/deepseek/deepseek-v4-pro" });
|
|
504
|
+
// → { provider: "openrouter", model: "deepseek/deepseek-v4-pro", routing: "openrouter", displaySlug: "..." }
|
|
505
|
+
|
|
506
|
+
// Already-correct tuple → unchanged (idempotent)
|
|
507
|
+
normalizeInvokeModel({ provider: "openrouter", model: "deepseek/deepseek-v4-pro" });
|
|
508
|
+
|
|
509
|
+
// Unresolved profile/choice at gateway → INVOKE_MODEL_ALIAS_AT_GATEWAY
|
|
510
|
+
normalizeInvokeModel("cheap/default");
|
|
511
|
+
normalizeInvokeModel({ model: "cheap/default" }); // same error
|
|
512
|
+
|
|
513
|
+
// Profile/choice → resolve, then normalize (gateway catalog-lookup tuple)
|
|
514
|
+
await resolveAndNormalizeInvokeModel("cyber/deep_forensics", {
|
|
515
|
+
catalogLane: "text",
|
|
516
|
+
useOpenRouter: true,
|
|
517
|
+
});
|
|
518
|
+
// → { provider: "openrouter", model: "deepseek/deepseek-v4-pro", routing: "openrouter", ... }
|
|
519
|
+
|
|
520
|
+
// Sync bundled variant (tests, predict paths)
|
|
521
|
+
resolveAndNormalizeBundledInvokeModel("cyber/deep_forensics", {
|
|
522
|
+
catalogLane: "text",
|
|
523
|
+
useOpenRouter: true,
|
|
524
|
+
});
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**Error codes** (on `AIProfilesError.code`):
|
|
528
|
+
|
|
529
|
+
| Code | When |
|
|
530
|
+
|------|------|
|
|
531
|
+
| `INVOKE_MODEL_ALIAS_AT_GATEWAY` | `profile/choice` reached `normalizeInvokeModel` without prior `resolveAIProfile` |
|
|
532
|
+
| `INVOKE_MODEL_SHAPE_INVALID` | Empty model, missing provider, or unparseable composite after normalization |
|
|
533
|
+
|
|
534
|
+
`allowAlias: true` exists for rare internal paths; **gateway and HTTP callers should not use it** — resolve aliases first.
|
|
535
|
+
|
|
435
536
|
## Sync validation (bundled registry)
|
|
436
537
|
|
|
437
538
|
Use **`isKnownProfileChoice(input)`** before run/execute or on first paint when the remote registry may not be loaded yet. It reads the **bundled** JSON only (no network, no in-memory cache race).
|
|
@@ -491,14 +592,18 @@ This applies to any `profile/choice` input that resolves to a remote profile cho
|
|
|
491
592
|
|
|
492
593
|
### Avoid hardcoded OpenRouter slugs (especially dated previews)
|
|
493
594
|
|
|
494
|
-
Do **not** copy OpenRouter slugs into app config (`preActionModel`, env vars, etc.) and do **not** use `canonicalSlug` from the catalog for API calls. OpenRouter retires dated preview ids (e.g. `google/gemini-2.5-flash-lite-preview-06-17`) while stable ids remain (`google/gemini-2.5-flash-lite`).
|
|
595
|
+
Do **not** copy OpenRouter slugs into graph JSON or app config (`preActionModel`, `skillModel`, `postActionModel`, env vars, etc.) and do **not** use `canonicalSlug` from the catalog for API calls. OpenRouter retires dated preview ids (e.g. `google/gemini-2.5-flash-lite-preview-06-17`) while stable ids remain (`google/gemini-2.5-flash-lite`).
|
|
495
596
|
|
|
496
597
|
```ts
|
|
497
|
-
// Good — profile
|
|
598
|
+
// Good — store profile/choice; resolve at execute time
|
|
599
|
+
preActionModel: "cheap/default";
|
|
600
|
+
skillModel: "balanced/default";
|
|
601
|
+
postActionModel: "cheap/default";
|
|
602
|
+
|
|
498
603
|
const pre = await resolveAIProfile("cheap/default", { catalogLane: "text" });
|
|
499
|
-
|
|
604
|
+
// pre.modelId → "google/gemini-2.5-flash-lite" (concrete id only after resolution)
|
|
500
605
|
|
|
501
|
-
// Bad —
|
|
606
|
+
// Bad — concrete slug in stored config (stale when catalog moves)
|
|
502
607
|
preActionModel: "google/gemini-2.5-flash-lite-preview-06-17";
|
|
503
608
|
```
|
|
504
609
|
|
|
@@ -609,29 +714,26 @@ The `version` field in the JSON files (and `registryVersion` on resolved output)
|
|
|
609
714
|
## Integration example
|
|
610
715
|
|
|
611
716
|
```ts
|
|
612
|
-
|
|
613
|
-
node.taskConfiguration.aiProfile ?? "balanced/default",
|
|
614
|
-
{ catalogLane: "text" },
|
|
615
|
-
);
|
|
717
|
+
import { resolveAIProfile, resolveAndNormalizeInvokeModel } from "@x12i/ai-profiles";
|
|
616
718
|
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
backend: resolved.backend,
|
|
623
|
-
temperature: resolved.runtime.temperature,
|
|
624
|
-
outputMode: resolved.runtime.outputMode,
|
|
625
|
-
toolPolicy: resolved.runtime.toolPolicy,
|
|
626
|
-
reasoningEffort: resolved.runtime.reasoningEffort,
|
|
719
|
+
// Graph JSON stores aliases only (merged job defaults + node overrides per task)
|
|
720
|
+
const slots = {
|
|
721
|
+
preActionModel: node.taskConfiguration.modelConfig?.preActionModel ?? "deep/default",
|
|
722
|
+
skillModel: node.taskConfiguration.modelConfig?.skillModel ?? "balanced/default",
|
|
723
|
+
postActionModel: node.taskConfiguration.modelConfig?.postActionModel ?? "cheap/default",
|
|
627
724
|
};
|
|
628
725
|
|
|
629
|
-
//
|
|
630
|
-
|
|
726
|
+
// Resolve each phase independently at execute time
|
|
727
|
+
const pre = await resolveAIProfile(slots.preActionModel, { catalogLane: "text" });
|
|
728
|
+
const main = await resolveAIProfile(slots.skillModel, { catalogLane: "text" });
|
|
729
|
+
const post = await resolveAIProfile(slots.postActionModel, { catalogLane: "text" });
|
|
631
730
|
|
|
632
|
-
//
|
|
633
|
-
|
|
634
|
-
|
|
731
|
+
// Gateway handoff: resolve + normalize invoke tuple
|
|
732
|
+
const mainInvoke = await resolveAndNormalizeInvokeModel(slots.skillModel, {
|
|
733
|
+
catalogLane: "text",
|
|
734
|
+
useOpenRouter: true,
|
|
735
|
+
});
|
|
736
|
+
// mainInvoke → { provider: "openrouter", model: "openai/gpt-5.4", routing: "openrouter", ... }
|
|
635
737
|
```
|
|
636
738
|
|
|
637
739
|
## Profile matrix (FuncX contract)
|
|
@@ -650,7 +752,7 @@ Default choice per profile (vendor-native ids in registry; OpenRouter slugs when
|
|
|
650
752
|
| `research` | Remote | **`reasoning`** | `default` | `claude-sonnet-4.6` |
|
|
651
753
|
| `cyber` | Remote | **`reasoning`** | `default` | `claude-sonnet-4.6` |
|
|
652
754
|
| `content` | Remote | **`default`** | `default` | `claude-sonnet-4.6` |
|
|
653
|
-
| `
|
|
755
|
+
| `sum` | Remote | **`default`** | `default` | `claude-haiku-4.5` |
|
|
654
756
|
| `vision` | Remote | **`default`** | `default` | `gpt-5.4` |
|
|
655
757
|
| `local` | CPU (no OpenRouter) | **`cpu`** | `llama_cpp_gguf` | `funcx:llama-cpp:gguf` |
|
|
656
758
|
| `local` | CPU | **`cpu`** | `transformersjs_default` | `Xenova/distilbart-cnn-6-6` |
|
|
@@ -818,7 +920,13 @@ Workflow YAML is in [`docs/github-workflows/`](docs/github-workflows/). Copy int
|
|
|
818
920
|
Consumers install with:
|
|
819
921
|
|
|
820
922
|
```bash
|
|
821
|
-
npm install @x12i/ai-profiles
|
|
923
|
+
npm install @x12i/ai-profiles@^3.2.0
|
|
924
|
+
```
|
|
925
|
+
|
|
926
|
+
Peer dependency for downstream repos (graphs-studio, graph-engine, ai-tasks):
|
|
927
|
+
|
|
928
|
+
```json
|
|
929
|
+
"@x12i/ai-profiles": "^3.2.0"
|
|
822
930
|
```
|
|
823
931
|
|
|
824
932
|
## License
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_PROFILE_CHOICE" | "UNKNOWN_MODEL" | "CHOICE_SUBSTITUTED" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "UNKNOWN_SECONDARY_CHOICE" | "SECONDARY_CYCLE" | "NO_ALLOWED_VENDOR" | "NO_MODALITY_MATCH" | "NO_COST_CAP_MATCH" | "NO_OPENROUTER_CATALOG" | "CATALOG_LANE_MISMATCH" | "MISSING_CATALOG_LANE" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED";
|
|
1
|
+
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_PROFILE_CHOICE" | "UNKNOWN_MODEL" | "CHOICE_SUBSTITUTED" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "UNKNOWN_SECONDARY_CHOICE" | "SECONDARY_CYCLE" | "NO_ALLOWED_VENDOR" | "NO_MODALITY_MATCH" | "NO_COST_CAP_MATCH" | "NO_OPENROUTER_CATALOG" | "CATALOG_LANE_MISMATCH" | "MISSING_CATALOG_LANE" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED" | "INVOKE_MODEL_ALIAS_AT_GATEWAY" | "INVOKE_MODEL_SHAPE_INVALID";
|
|
2
2
|
export declare class AIProfilesError extends Error {
|
|
3
3
|
code: AIProfilesErrorCode;
|
|
4
4
|
details?: Record<string, unknown> | undefined;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,0BAA0B,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,0BAA0B,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,GAC5B,+BAA+B,GAC/B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAE/B;IAEA;IAHT,YACS,IAAyB,EAChC,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAqB;QAEzB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export { resolveBundledAIProfile } from "./resolveBundledAIProfile.js";
|
|
|
13
13
|
export { resolveBundledInput } from "./resolveBundledInput.js";
|
|
14
14
|
export { resolveBundledCatalogModel } from "./resolveBundledCatalogModel.js";
|
|
15
15
|
export { ensureConcreteModel } from "./ensureConcreteModel.js";
|
|
16
|
+
export { normalizeInvokeModel, resolveAndNormalizeInvokeModel, resolveAndNormalizeBundledInvokeModel, } from "./normalizeInvokeModel.js";
|
|
17
|
+
export type { NormalizeInvokeModelInput, NormalizedInvokeModel, NormalizeInvokeModelOptions, ResolveAndNormalizeInvokeModelOptions, InvokeModelRouting, } from "./normalizeInvokeModel.js";
|
|
16
18
|
export { resolveCatalogModel } from "./resolveCatalogModel.js";
|
|
17
19
|
export { resolveAIProfileWithCostAlternatives, type ResolveAIProfileWithCostAlternativesResult, } from "./resolveAIProfileWithCostAlternatives.js";
|
|
18
20
|
export { resolveSecondaryModel, getSecondaryForResolvedProfile, } from "./resolveSecondaryModel.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -11,6 +11,7 @@ export { resolveBundledAIProfile } from "./resolveBundledAIProfile.js";
|
|
|
11
11
|
export { resolveBundledInput } from "./resolveBundledInput.js";
|
|
12
12
|
export { resolveBundledCatalogModel } from "./resolveBundledCatalogModel.js";
|
|
13
13
|
export { ensureConcreteModel } from "./ensureConcreteModel.js";
|
|
14
|
+
export { normalizeInvokeModel, resolveAndNormalizeInvokeModel, resolveAndNormalizeBundledInvokeModel, } from "./normalizeInvokeModel.js";
|
|
14
15
|
export { resolveCatalogModel } from "./resolveCatalogModel.js";
|
|
15
16
|
export { resolveAIProfileWithCostAlternatives, } from "./resolveAIProfileWithCostAlternatives.js";
|
|
16
17
|
export { resolveSecondaryModel, getSecondaryForResolvedProfile, } from "./resolveSecondaryModel.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,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,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,EACtC,8BAA8B,GAC/B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,GACrC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,EACvC,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EACL,mCAAmC,EACnC,mCAAmC,GACpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AA8EtF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ProfileCatalogLane, ResolveAIProfileOptions } from "./types.js";
|
|
2
|
+
export type InvokeModelRouting = "openrouter" | "direct";
|
|
3
|
+
export type NormalizeInvokeModelInput = {
|
|
4
|
+
/** Alias, concrete OpenRouter slug, gateway wire, or bare vendor model id. */
|
|
5
|
+
model: string;
|
|
6
|
+
provider?: string;
|
|
7
|
+
routing?: InvokeModelRouting | "auto";
|
|
8
|
+
catalogLane?: ProfileCatalogLane;
|
|
9
|
+
useOpenRouter?: boolean;
|
|
10
|
+
/** When true, profile/choice keys are not rejected (rare; prefer resolveAndNormalizeInvokeModel). */
|
|
11
|
+
allowAlias?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type NormalizedInvokeModel = {
|
|
14
|
+
provider: string;
|
|
15
|
+
/** Bare vendor/model for OpenRouter, or vendor-local model id for direct — never `openrouter/` prefixed. */
|
|
16
|
+
model: string;
|
|
17
|
+
routing: InvokeModelRouting;
|
|
18
|
+
/** UI / studio slug: `openrouter/vendor/model` when routed via OpenRouter. */
|
|
19
|
+
displaySlug?: string;
|
|
20
|
+
};
|
|
21
|
+
export type NormalizeInvokeModelOptions = Pick<NormalizeInvokeModelInput, "useOpenRouter" | "allowAlias">;
|
|
22
|
+
/**
|
|
23
|
+
* Idempotent normalizer for HTTP / gateway invoke wire shape.
|
|
24
|
+
*
|
|
25
|
+
* - Display slug (`openrouter/vendor/model`) → `{ provider: "openrouter", model: "vendor/model" }`
|
|
26
|
+
* - Invoke tuple `{ provider: "openrouter", model: "vendor/model" }` → unchanged
|
|
27
|
+
* - Profile/choice aliases → `INVOKE_MODEL_ALIAS_AT_GATEWAY` (resolve first, or use
|
|
28
|
+
* {@link resolveAndNormalizeInvokeModel})
|
|
29
|
+
*/
|
|
30
|
+
export declare function normalizeInvokeModel(input: string | NormalizeInvokeModelInput, options?: NormalizeInvokeModelOptions): NormalizedInvokeModel;
|
|
31
|
+
export type ResolveAndNormalizeInvokeModelOptions = ResolveAIProfileOptions & Pick<NormalizeInvokeModelInput, "useOpenRouter" | "routing">;
|
|
32
|
+
/**
|
|
33
|
+
* `resolveAIProfile` (async) → {@link normalizeInvokeModel} for profile/choice aliases.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveAndNormalizeInvokeModel(alias: string, options: ResolveAndNormalizeInvokeModelOptions): Promise<NormalizedInvokeModel>;
|
|
36
|
+
/**
|
|
37
|
+
* Bundled-registry variant of {@link resolveAndNormalizeInvokeModel} (sync, no network).
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveAndNormalizeBundledInvokeModel(alias: string, options: ResolveAndNormalizeInvokeModelOptions): NormalizedInvokeModel;
|
|
40
|
+
//# sourceMappingURL=normalizeInvokeModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeInvokeModel.d.ts","sourceRoot":"","sources":["../src/normalizeInvokeModel.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACtC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qGAAqG;IACrG,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;IAC5B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,yBAAyB,EACzB,eAAe,GAAG,YAAY,CAC/B,CAAC;AA8KF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,yBAAyB,EACzC,OAAO,GAAE,2BAAgC,GACxC,qBAAqB,CAkBvB;AAED,MAAM,MAAM,qCAAqC,GAAG,uBAAuB,GACzE,IAAI,CAAC,yBAAyB,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;AAE/D;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qCAAqC,GAC7C,qBAAqB,CAQvB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { getBundledRegistry } from "./bundledRegistry.js";
|
|
2
|
+
import { AIProfilesError } from "./errors.js";
|
|
3
|
+
import { formatGatewayWireId, isGatewayProvider, normalizeGatewayWireId, } from "./gatewayWireId.js";
|
|
4
|
+
import { matchStrictProfileInput } from "./profileChoiceKey.js";
|
|
5
|
+
import { resolveBundledAIProfile } from "./resolveBundledAIProfile.js";
|
|
6
|
+
import { resolveAIProfile } from "./resolveAIProfile.js";
|
|
7
|
+
import { resolveUseOpenRouter } from "./resolveModelRouting.js";
|
|
8
|
+
function throwAliasAtGateway(model) {
|
|
9
|
+
throw new AIProfilesError("INVOKE_MODEL_ALIAS_AT_GATEWAY", `Profile/choice alias "${model}" must be resolved with resolveAIProfile before invoke normalization`, { model });
|
|
10
|
+
}
|
|
11
|
+
function throwInvalidShape(message, details) {
|
|
12
|
+
throw new AIProfilesError("INVOKE_MODEL_SHAPE_INVALID", message, details);
|
|
13
|
+
}
|
|
14
|
+
function isAliasAtGateway(model, allowAlias) {
|
|
15
|
+
if (allowAlias) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return matchStrictProfileInput(getBundledRegistry(), model) !== undefined;
|
|
19
|
+
}
|
|
20
|
+
function resolveRoutingHint(routing, useOpenRouter) {
|
|
21
|
+
if (routing === "openrouter" || routing === "direct") {
|
|
22
|
+
return routing;
|
|
23
|
+
}
|
|
24
|
+
return useOpenRouter ? "openrouter" : "direct";
|
|
25
|
+
}
|
|
26
|
+
function stripGatewayPrefixFromModel(model) {
|
|
27
|
+
const gateway = normalizeGatewayWireId(model);
|
|
28
|
+
if (!gateway) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return { provider: gateway.provider, model: gateway.modelId };
|
|
32
|
+
}
|
|
33
|
+
function normalizeModelField(model) {
|
|
34
|
+
const trimmed = model.trim();
|
|
35
|
+
const fromWire = stripGatewayPrefixFromModel(trimmed);
|
|
36
|
+
return fromWire?.model ?? trimmed;
|
|
37
|
+
}
|
|
38
|
+
function normalizeProviderField(provider) {
|
|
39
|
+
const trimmed = provider?.trim();
|
|
40
|
+
if (!trimmed || trimmed.toLowerCase() === "unspecified") {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return trimmed.toLowerCase();
|
|
44
|
+
}
|
|
45
|
+
function buildDisplaySlug(routing, provider, model) {
|
|
46
|
+
if (routing !== "openrouter" || !isGatewayProvider(provider)) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
return formatGatewayWireId(provider, model);
|
|
50
|
+
}
|
|
51
|
+
function finalizeNormalized(params) {
|
|
52
|
+
const provider = params.provider.trim().toLowerCase();
|
|
53
|
+
const model = params.model.trim();
|
|
54
|
+
if (!provider || !model) {
|
|
55
|
+
throwInvalidShape("Invoke model requires non-empty provider and model", {
|
|
56
|
+
provider: params.provider,
|
|
57
|
+
model: params.model,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (normalizeGatewayWireId(model)) {
|
|
61
|
+
throwInvalidShape("Invoke model must not include a gateway prefix on the model field", { provider, model });
|
|
62
|
+
}
|
|
63
|
+
if (params.routing === "openrouter" && !isGatewayProvider(provider)) {
|
|
64
|
+
throwInvalidShape("OpenRouter routing requires provider \"openrouter\"", { provider, model, routing: params.routing });
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
provider,
|
|
68
|
+
model,
|
|
69
|
+
routing: params.routing,
|
|
70
|
+
displaySlug: buildDisplaySlug(params.routing, provider, model),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function normalizeInvokeModelObject(input) {
|
|
74
|
+
const allowAlias = input.allowAlias === true;
|
|
75
|
+
const useOpenRouter = resolveUseOpenRouter(input.useOpenRouter);
|
|
76
|
+
const routing = resolveRoutingHint(input.routing, useOpenRouter);
|
|
77
|
+
let model = normalizeModelField(input.model);
|
|
78
|
+
if (!model) {
|
|
79
|
+
throwInvalidShape("Invoke model string is empty", { input });
|
|
80
|
+
}
|
|
81
|
+
if (isAliasAtGateway(input.model.trim(), allowAlias)) {
|
|
82
|
+
throwAliasAtGateway(input.model.trim());
|
|
83
|
+
}
|
|
84
|
+
let provider = normalizeProviderField(input.provider);
|
|
85
|
+
const wireFromModelOnly = stripGatewayPrefixFromModel(input.model.trim());
|
|
86
|
+
if (wireFromModelOnly) {
|
|
87
|
+
provider = wireFromModelOnly.provider;
|
|
88
|
+
model = wireFromModelOnly.model;
|
|
89
|
+
}
|
|
90
|
+
else if (provider && isGatewayProvider(provider)) {
|
|
91
|
+
model = normalizeModelField(model);
|
|
92
|
+
}
|
|
93
|
+
if (!provider && routing === "openrouter" && useOpenRouter && model.includes("/")) {
|
|
94
|
+
provider = "openrouter";
|
|
95
|
+
}
|
|
96
|
+
if (!provider && model.includes("/")) {
|
|
97
|
+
const slash = model.indexOf("/");
|
|
98
|
+
const head = model.slice(0, slash).toLowerCase();
|
|
99
|
+
if (!isGatewayProvider(head)) {
|
|
100
|
+
provider = head;
|
|
101
|
+
model = model.slice(slash + 1).trim();
|
|
102
|
+
if (!model) {
|
|
103
|
+
throwInvalidShape("Vendor/model slug is missing the model segment", {
|
|
104
|
+
input: input.model,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!provider) {
|
|
110
|
+
throwInvalidShape("Could not determine invoke provider after normalization", {
|
|
111
|
+
model: input.model,
|
|
112
|
+
providerHint: input.provider,
|
|
113
|
+
routing,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (routing === "openrouter" && useOpenRouter) {
|
|
117
|
+
if (!isGatewayProvider(provider)) {
|
|
118
|
+
provider = "openrouter";
|
|
119
|
+
}
|
|
120
|
+
if (!model.includes("/")) {
|
|
121
|
+
throwInvalidShape("OpenRouter invoke model must be a vendor/model slug", { provider, model });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return finalizeNormalized({ provider, model, routing });
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Idempotent normalizer for HTTP / gateway invoke wire shape.
|
|
128
|
+
*
|
|
129
|
+
* - Display slug (`openrouter/vendor/model`) → `{ provider: "openrouter", model: "vendor/model" }`
|
|
130
|
+
* - Invoke tuple `{ provider: "openrouter", model: "vendor/model" }` → unchanged
|
|
131
|
+
* - Profile/choice aliases → `INVOKE_MODEL_ALIAS_AT_GATEWAY` (resolve first, or use
|
|
132
|
+
* {@link resolveAndNormalizeInvokeModel})
|
|
133
|
+
*/
|
|
134
|
+
export function normalizeInvokeModel(input, options = {}) {
|
|
135
|
+
if (typeof input === "string") {
|
|
136
|
+
const model = input.trim();
|
|
137
|
+
if (!model) {
|
|
138
|
+
throwInvalidShape("Invoke model string is empty", { input });
|
|
139
|
+
}
|
|
140
|
+
return normalizeInvokeModelObject({
|
|
141
|
+
model,
|
|
142
|
+
useOpenRouter: options.useOpenRouter,
|
|
143
|
+
allowAlias: options.allowAlias,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return normalizeInvokeModelObject({
|
|
147
|
+
...input,
|
|
148
|
+
useOpenRouter: input.useOpenRouter ?? options.useOpenRouter,
|
|
149
|
+
allowAlias: input.allowAlias ?? options.allowAlias,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* `resolveAIProfile` (async) → {@link normalizeInvokeModel} for profile/choice aliases.
|
|
154
|
+
*/
|
|
155
|
+
export async function resolveAndNormalizeInvokeModel(alias, options) {
|
|
156
|
+
const resolved = await resolveAIProfile(alias, options);
|
|
157
|
+
return normalizeInvokeModel({
|
|
158
|
+
provider: resolved.provider,
|
|
159
|
+
model: resolved.modelId,
|
|
160
|
+
routing: resolved.routing,
|
|
161
|
+
useOpenRouter: options.useOpenRouter,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Bundled-registry variant of {@link resolveAndNormalizeInvokeModel} (sync, no network).
|
|
166
|
+
*/
|
|
167
|
+
export function resolveAndNormalizeBundledInvokeModel(alias, options) {
|
|
168
|
+
const resolved = resolveBundledAIProfile(alias, options);
|
|
169
|
+
return normalizeInvokeModel({
|
|
170
|
+
provider: resolved.provider,
|
|
171
|
+
model: resolved.modelId,
|
|
172
|
+
routing: resolved.routing,
|
|
173
|
+
useOpenRouter: options.useOpenRouter,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=normalizeInvokeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeInvokeModel.js","sourceRoot":"","sources":["../src/normalizeInvokeModel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED