@x12i/ai-profiles 1.7.2 → 2.0.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 (71) hide show
  1. package/README.md +41 -5
  2. package/dist/buildResolvedProfile.d.ts.map +1 -1
  3. package/dist/buildResolvedProfile.js +2 -0
  4. package/dist/buildResolvedProfile.js.map +1 -1
  5. package/dist/constants.d.ts +2 -3
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +2 -7
  8. package/dist/constants.js.map +1 -1
  9. package/dist/data/models-catalog.json +3 -3
  10. package/dist/data/models-profiles.json +514 -133
  11. package/dist/data/models-profiles.schema.json +58 -4
  12. package/dist/data/models-registry.json +71 -41
  13. package/dist/data/profiles-shortcuts.json +48 -42
  14. package/dist/errors.d.ts +1 -1
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js.map +1 -1
  17. package/dist/index.d.ts +10 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/listAIProfiles.d.ts.map +1 -1
  22. package/dist/listAIProfiles.js +34 -4
  23. package/dist/listAIProfiles.js.map +1 -1
  24. package/dist/logger.d.ts +2 -0
  25. package/dist/logger.d.ts.map +1 -0
  26. package/dist/logger.js +7 -0
  27. package/dist/logger.js.map +1 -0
  28. package/dist/modelInputFallback.d.ts +20 -0
  29. package/dist/modelInputFallback.d.ts.map +1 -0
  30. package/dist/modelInputFallback.js +265 -0
  31. package/dist/modelInputFallback.js.map +1 -0
  32. package/dist/profileCatalogLane.d.ts +22 -0
  33. package/dist/profileCatalogLane.d.ts.map +1 -0
  34. package/dist/profileCatalogLane.js +83 -0
  35. package/dist/profileCatalogLane.js.map +1 -0
  36. package/dist/profileDiscovery.d.ts +43 -0
  37. package/dist/profileDiscovery.d.ts.map +1 -0
  38. package/dist/profileDiscovery.js +129 -0
  39. package/dist/profileDiscovery.js.map +1 -0
  40. package/dist/profileModelFallback.d.ts +13 -0
  41. package/dist/profileModelFallback.d.ts.map +1 -0
  42. package/dist/profileModelFallback.js +180 -0
  43. package/dist/profileModelFallback.js.map +1 -0
  44. package/dist/profileRegistryV3.d.ts.map +1 -1
  45. package/dist/profileRegistryV3.js +6 -4
  46. package/dist/profileRegistryV3.js.map +1 -1
  47. package/dist/resolveAIProfile.d.ts +1 -1
  48. package/dist/resolveAIProfile.d.ts.map +1 -1
  49. package/dist/resolveAIProfile.js +66 -1
  50. package/dist/resolveAIProfile.js.map +1 -1
  51. package/dist/resolveAIProfileByTags.d.ts +11 -0
  52. package/dist/resolveAIProfileByTags.d.ts.map +1 -0
  53. package/dist/resolveAIProfileByTags.js +33 -0
  54. package/dist/resolveAIProfileByTags.js.map +1 -0
  55. package/dist/resolveModelIdentity.d.ts.map +1 -1
  56. package/dist/resolveModelIdentity.js +16 -0
  57. package/dist/resolveModelIdentity.js.map +1 -1
  58. package/dist/types.d.ts +35 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/validateProfileCatalogLinkage.d.ts.map +1 -1
  61. package/dist/validateProfileCatalogLinkage.js +1 -0
  62. package/dist/validateProfileCatalogLinkage.js.map +1 -1
  63. package/dist/validation/profileIntentPolicy.d.ts +8 -0
  64. package/dist/validation/profileIntentPolicy.d.ts.map +1 -0
  65. package/dist/validation/profileIntentPolicy.js +60 -0
  66. package/dist/validation/profileIntentPolicy.js.map +1 -0
  67. package/dist/validation/validateModelsProfilesJson.d.ts +1 -0
  68. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  69. package/dist/validation/validateModelsProfilesJson.js +65 -15
  70. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  71. package/package.json +3 -5
@@ -0,0 +1,180 @@
1
+ import { DebugLogAbstract } from "@x12i/logxer";
2
+ import { buildModelInvocation } from "./modelIdentity.js";
3
+ import { normalizeKey } from "./normalizeKey.js";
4
+ import { resolveChoiceInvocation } from "./resolveCatalogListing.js";
5
+ import { resolveModelIdentity } from "./resolveModelIdentity.js";
6
+ const HIGH_CONFIDENCE_SCORE = 0.72;
7
+ const AMBIGUOUS_SCORE_GAP = 0.12;
8
+ function canonicalIdentifier(value) {
9
+ return normalizeKey(value).replace(/^x-ai\//, "xai/");
10
+ }
11
+ function compactIdentifier(value) {
12
+ return canonicalIdentifier(value).replace(/[^a-z0-9]/g, "");
13
+ }
14
+ function tokenize(value) {
15
+ return canonicalIdentifier(value)
16
+ .split(/[^a-z0-9]+/g)
17
+ .filter(Boolean);
18
+ }
19
+ function uniqueValues(values) {
20
+ return [...new Set(values.filter((value) => Boolean(value)))];
21
+ }
22
+ function choiceIdentities(choice, catalog) {
23
+ const invocation = (catalog ? resolveChoiceInvocation(choice, catalog) : undefined) ??
24
+ buildModelInvocation(choice.provider, choice.modelId);
25
+ return uniqueValues([
26
+ choice.modelId,
27
+ `${choice.provider}/${choice.modelId}`,
28
+ invocation.direct.modelId,
29
+ `${invocation.direct.provider}/${invocation.direct.modelId}`,
30
+ invocation.openrouter?.modelId,
31
+ choice.displayName,
32
+ ]);
33
+ }
34
+ function buildCandidates(registry, catalog) {
35
+ const candidates = [];
36
+ for (const [profileKey, profile] of Object.entries(registry.profiles)) {
37
+ for (const [choiceKey, choice] of Object.entries(profile.choices)) {
38
+ candidates.push({
39
+ profileKey,
40
+ choiceKey,
41
+ choice,
42
+ identities: choiceIdentities(choice, catalog),
43
+ });
44
+ }
45
+ }
46
+ return candidates;
47
+ }
48
+ function findExactCandidate(candidates, inputs) {
49
+ for (const input of inputs) {
50
+ const normalizedInput = canonicalIdentifier(input);
51
+ const compactInput = compactIdentifier(input);
52
+ for (const candidate of candidates) {
53
+ for (const identity of candidate.identities) {
54
+ if (canonicalIdentifier(identity) === normalizedInput ||
55
+ compactIdentifier(identity) === compactInput) {
56
+ return {
57
+ profileKey: candidate.profileKey,
58
+ choiceKey: candidate.choiceKey,
59
+ confidence: "exact",
60
+ score: 1,
61
+ matchedBy: identity,
62
+ };
63
+ }
64
+ }
65
+ }
66
+ }
67
+ return undefined;
68
+ }
69
+ function slashSearchParts(input) {
70
+ const parts = input
71
+ .split("/")
72
+ .map((part) => part.trim())
73
+ .filter(Boolean);
74
+ return uniqueValues([input, ...parts]).sort((a, b) => b.length - a.length);
75
+ }
76
+ function scoreIdentity(input, identity) {
77
+ const inputCompact = compactIdentifier(input);
78
+ const identityCompact = compactIdentifier(identity);
79
+ if (!inputCompact || !identityCompact) {
80
+ return { score: 0, matchedBy: identity };
81
+ }
82
+ if (inputCompact === identityCompact) {
83
+ return { score: 1, matchedBy: identity };
84
+ }
85
+ let substringScore = 0;
86
+ if (inputCompact.includes(identityCompact)) {
87
+ substringScore = Math.min(0.9, identityCompact.length / inputCompact.length);
88
+ }
89
+ else if (identityCompact.includes(inputCompact)) {
90
+ substringScore = Math.min(0.82, inputCompact.length / identityCompact.length);
91
+ }
92
+ const inputTokens = new Set(tokenize(input));
93
+ const identityTokens = new Set(tokenize(identity));
94
+ const sharedTokens = [...inputTokens].filter((token) => identityTokens.has(token));
95
+ const inputCoverage = inputTokens.size > 0 ? sharedTokens.length / inputTokens.size : 0;
96
+ const identityCoverage = identityTokens.size > 0 ? sharedTokens.length / identityTokens.size : 0;
97
+ const tokenScore = inputCoverage * 0.55 + identityCoverage * 0.35;
98
+ return {
99
+ score: Math.max(substringScore, tokenScore),
100
+ matchedBy: identity,
101
+ };
102
+ }
103
+ function scoreCandidate(input, candidate) {
104
+ const parts = slashSearchParts(input);
105
+ let best = { score: 0, matchedBy: candidate.identities[0] ?? candidate.choice.modelId };
106
+ for (const part of parts) {
107
+ for (const identity of candidate.identities) {
108
+ const scored = scoreIdentity(part, identity);
109
+ if (scored.score > best.score) {
110
+ best = scored;
111
+ }
112
+ }
113
+ }
114
+ const providerHint = input.includes("/") ? canonicalIdentifier(input.split("/")[0]) : "";
115
+ const providerBonus = providerHint && providerHint === canonicalIdentifier(candidate.choice.provider) ? 0.12 : 0;
116
+ return {
117
+ ...candidate,
118
+ score: Math.min(1, best.score + providerBonus),
119
+ matchedBy: best.matchedBy,
120
+ };
121
+ }
122
+ function isModelLikeInput(input) {
123
+ if (input.includes("/")) {
124
+ return true;
125
+ }
126
+ const identity = resolveModelIdentity(input);
127
+ return identity !== null;
128
+ }
129
+ function modelIdentityInputs(input) {
130
+ const identity = resolveModelIdentity(input);
131
+ if (!identity) {
132
+ return [input];
133
+ }
134
+ return uniqueValues([input, identity.modelId, `${identity.provider}/${identity.modelId}`]);
135
+ }
136
+ export function resolveProfileFromModelInput(registry, input, catalog) {
137
+ if (!isModelLikeInput(input)) {
138
+ return undefined;
139
+ }
140
+ const candidates = buildCandidates(registry, catalog);
141
+ const exact = findExactCandidate(candidates, modelIdentityInputs(input));
142
+ if (exact) {
143
+ return exact;
144
+ }
145
+ const [best, runnerUp] = candidates
146
+ .map((candidate) => scoreCandidate(input, candidate))
147
+ .sort((a, b) => b.score - a.score);
148
+ if (!best) {
149
+ return undefined;
150
+ }
151
+ const ambiguous = runnerUp !== undefined &&
152
+ runnerUp.profileKey !== best.profileKey &&
153
+ best.score - runnerUp.score < AMBIGUOUS_SCORE_GAP;
154
+ const confidence = best.score >= HIGH_CONFIDENCE_SCORE && !ambiguous ? "high" : "low";
155
+ const warning = confidence === "low"
156
+ ? `Model-like input '${input}' did not match a known profile alias exactly; using best-effort profile '${best.profileKey}' choice '${best.choiceKey}' from '${best.matchedBy}'.`
157
+ : undefined;
158
+ return {
159
+ profileKey: best.profileKey,
160
+ choiceKey: best.choiceKey,
161
+ confidence,
162
+ score: Number(best.score.toFixed(3)),
163
+ matchedBy: best.matchedBy,
164
+ ...(warning ? { warning } : {}),
165
+ };
166
+ }
167
+ export function modelFallbackLogMeta(input, match) {
168
+ return {
169
+ debugKind: match.confidence === "low"
170
+ ? DebugLogAbstract.ANOMALY
171
+ : DebugLogAbstract.EVENT,
172
+ input,
173
+ profile: match.profileKey,
174
+ choice: match.choiceKey,
175
+ confidence: match.confidence,
176
+ score: match.score,
177
+ matchedBy: match.matchedBy,
178
+ };
179
+ }
180
+ //# sourceMappingURL=profileModelFallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileModelFallback.js","sourceRoot":"","sources":["../src/profileModelFallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"profileRegistryV3.d.ts","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EAGd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,0BAA0B,aAUrC,CAAC;AA8KH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAmC/E;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAsBpB;AA0LD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,kBAAkB,CAgEpB;AAgDD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CA4BpB;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAKrC"}
1
+ {"version":3,"file":"profileRegistryV3.d.ts","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EAGd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,0BAA0B,aAQrC,CAAC;AA+KH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAmC/E;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAsBpB;AA6LD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,kBAAkB,CAgEpB;AAgDD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CA4BpB;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAKrC"}
@@ -8,8 +8,6 @@ export const PREDICTED_VENDOR_MODEL_IDS = new Set([
8
8
  "claude-opus-4-8",
9
9
  "claude-opus-4-7",
10
10
  "grok-4.3",
11
- "deepseek-v4-pro",
12
- "deepseek-v4-flash",
13
11
  ]);
14
12
  const VERIFIED_VENDOR_MODEL_IDS = new Set([
15
13
  "gemini-2.5-flash-lite",
@@ -24,9 +22,10 @@ const VERIFIED_VENDOR_MODEL_IDS = new Set([
24
22
  "gpt-4o",
25
23
  "gpt-4o-mini",
26
24
  "o3-mini",
27
- "deepseek-chat",
28
- "deepseek-reasoner",
25
+ "deepseek-v4-flash",
26
+ "deepseek-v4-pro",
29
27
  "grok-build-0.1",
28
+ "grok-4.3",
30
29
  "minimax-m2",
31
30
  "minimax-m2.5",
32
31
  "minimax-m2.7",
@@ -234,6 +233,7 @@ function buildCodingProfile(lastVerifiedAt) {
234
233
  displayName: "Coding",
235
234
  description: "Model selection optimized for software engineering: implementation, refactors, reviews, and debugging.",
236
235
  category: "engineering",
236
+ catalogLane: "text",
237
237
  aliases: ["dev", "developer", "software", "programming", "code"],
238
238
  defaultChoice: "default",
239
239
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.coding,
@@ -304,6 +304,7 @@ function buildExtractionProfile(lastVerifiedAt) {
304
304
  displayName: "Extraction",
305
305
  description: "Model selection for NER, classification, taxonomy mapping, entity extraction, and document labeling.",
306
306
  category: "extraction",
307
+ catalogLane: "text",
307
308
  aliases: ["ner", "classify", "labeling", "entity-extraction", "parse"],
308
309
  defaultChoice: "default",
309
310
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.extraction,
@@ -360,6 +361,7 @@ function buildRoutingProfile(lastVerifiedAt) {
360
361
  displayName: "Routing",
361
362
  description: "Ultra-low-cost models for intent classification, record routing, and workflow branching.",
362
363
  category: "routing",
364
+ catalogLane: "text",
363
365
  aliases: ["router", "classifier", "intent", "branch", "triage"],
364
366
  defaultChoice: "default",
365
367
  requiredCapabilities: PROFILE_REQUIRED_CAPABILITIES.routing,
@@ -1 +1 @@
1
- {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"AASA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IAChD,SAAS;IACT,cAAc;IACd,aAAa;IACb,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,UAAU;IACV,iBAAiB;IACjB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,uBAAuB;IACvB,gBAAgB;IAChB,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,SAAS;IACT,cAAc;IACd,QAAQ;IACR,aAAa;IACb,SAAS;IACT,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,6BAA6B,GACjC;IACE,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,UAAU;QACnB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,GAAG,EAAE;QACH,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,KAAK;QAChB,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,MAAM,EAAE;QACN,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,KAAK;QACX,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,OAAO,EAAE;QACP,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,OAAO,EAAE;QACP,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,OAAO,EAAE;QACP,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,aAAa,EAAE;QACb,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,MAAM,EAAE;QACN,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAClC,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,CAAC,MAAM,CAAC;QACzB,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B;CACF,CAAC;AAEJ,SAAS,gBAAgB,CAAC,aAAqB,EAAE,QAAgB;IAC/D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAuB;IACjD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE;gBACR,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC1B,YAAY,EAAE,aAAa;aAC5B;SACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAEjD,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC;YACxB,GAAG,IAAI;YACP,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE;gBACR,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC1B,UAAU,EAAE,2BAA2B;gBACvC,YAAY,EAAE,aAAa;aAC5B;YACD,OAAO,EAAE;gBACP,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,SAAS;gBACxB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;aAC1B;YACD,YAAY,EAAE;gBACZ,cAAc,EACZ,MAAM,CAAC,YAAY,EAAE,cAAc;oBACnC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;gBACpD,UAAU,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;aAChD;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAC;QACxB,GAAG,IAAI;QACP,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;KACpF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAyB;IAEzB,MAAM,QAAQ,GAAwC,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,QAAQ;QACR,SAAS,EAAE;YACT,GAAG,KAAK,CAAC,SAAS;YAClB,OAAO,EACL,iGAAiG;YACnG,iBAAiB,EACf,gFAAgF;SACnF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,cAAsB;IAChD,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,QAAQ;QACrB,WAAW,EACT,wGAAwG;QAC1G,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC;QAChE,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,6BAA6B,CAAC,MAAM;QAC1D,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,gBAAgB;gBAC7B,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,SAAS;oBAC1B,OAAO,EAAE,YAAY;oBACrB,eAAe,EAAE,MAAM;oBACvB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,MAAM;iBACnB;gBACD,MAAM,EAAE,+EAA+E;gBACvF,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;iBACvD;aACF;YACD,aAAa,EAAE;gBACb,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,0CAA0C;gBACvD,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,MAAM;oBACvB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,MAAM;iBACnB;gBACD,MAAM,EAAE,iEAAiE;gBACzE,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;iBACpD;aACF;YACD,eAAe,EAAE;gBACf,MAAM,EAAE,iBAAiB;gBACzB,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,+CAA+C;gBAC5D,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,QAAQ;oBACzB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,MAAM;iBACnB;gBACD,MAAM,EAAE,wEAAwE;gBAChF,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;iBACtD;aACF;SACF;QACD,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAsB;IACpD,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,YAAY;QACzB,WAAW,EACT,sGAAsG;QACxG,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC;QACtE,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,6BAA6B,CAAC,UAAU;QAC9D,OAAO,EAAE;YACP,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,CAAC;SACf;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,+DAA+D;gBAC5E,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,SAAS;oBAC1B,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,CAAC;iBACf;gBACD,MAAM,EAAE,gEAAgE;gBACxE,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;iBACpD;aACF;YACD,oBAAoB,EAAE;gBACpB,MAAM,EAAE,sBAAsB;gBAC9B,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,oEAAoE;gBACjF,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,KAAK;oBACtB,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,CAAC;iBACf;gBACD,MAAM,EAAE,oEAAoE;gBAC5E,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;iBACvD;aACF;SACF;QACD,mBAAmB,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,cAAsB;IACjD,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,SAAS;QACtB,WAAW,EACT,0FAA0F;QAC5F,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC/D,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,6BAA6B,CAAC,OAAO;QAC3D,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,6DAA6D;gBAC1E,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,SAAS;oBAC1B,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,CAAC;iBACf;gBACD,MAAM,EAAE,gEAAgE;gBACxE,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;iBACpD;aACF;YACD,aAAa,EAAE;gBACb,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,2DAA2D;gBACxE,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE;oBACP,eAAe,EAAE,KAAK;oBACtB,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,CAAC;iBACf;gBACD,MAAM,EAAE,uEAAuE;gBAC/E,YAAY,EAAE;oBACZ,cAAc;oBACd,UAAU,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;iBACvD;aACF;SACF;QACD,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,OAAO,KAAK,CAAC,MAAM,KAAK,oCAAoC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAyB,EACzB,OAAqC;IAErC,MAAM,cAAc,GAClB,OAAO,EAAE,cAAc,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAwC,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAoC,EAAE,CAAC;QAEpD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAE9C,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;QAChC,CAAC;QAED,QAAQ,CAAC,UAAU,CAAC,GAAG;YACrB,GAAG,OAAO;YACV,oBAAoB,EAClB,OAAO,CAAC,oBAAoB;gBAC5B,6BAA6B,CAAC,UAAU,CAAC;YAC3C,OAAO;YACP,mBAAmB,EAAE,oBAAoB,CAAC,OAAO,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACxE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACpF,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAE3E,OAAO;QACL,MAAM,EAAE,oCAAoC;QAC5C,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,cAAc;QAChD,cAAc;QACd,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,gBAAgB;QAClC,SAAS,EAAE;YACT,QAAQ,EAAE,2DAA2D;YACrE,OAAO,EAAE,gEAAgE;YACzE,iBAAiB,EACf,gFAAgF;YAClF,WAAW,EACT,kGAAkG;YACpG,oBAAoB,EAClB,uGAAuG;YACzG,cAAc,EACZ,oFAAoF;SACvF;QACD,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI;YACpC,SAAS,EAAE;gBACT,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,yCAAyC,EAAE;gBACpE,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,wDAAwD,EAAE;gBACtF,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,8CAA8C,EAAE;gBACzE,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,+BAA+B,EAAE;gBAC5D,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,wCAAwC,EAAE;gBACpE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE;gBACvD,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,iDAAiD,EAAE;aAC/E;YACD,gBAAgB,EAAE,kDAAkD;SACrE;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,oBAAoB,GAGtB;IACF,cAAc,EAAE;QACd,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,aAAa;KACvB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAC;AAEF,SAAS,wBAAwB,CAAC,MAAuB;IACvD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,GAAG,sBAAsB,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,MAAuB;IACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAyB;IAEzB,MAAM,QAAQ,GAAwC,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;gBACxC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,UAAU,CAAC,GAAG;YACrB,GAAG,OAAO;YACV,OAAO;YACP,oBAAoB,EAAE;gBACpB,GAAG,6BAA6B,CAAC,UAAU,CAAC;gBAC5C,GAAG,OAAO,CAAC,oBAAoB;aAChC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,QAAQ;QACR,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,oBAAoB,CAClC,MAAuB,EACvB,cAA+B;IAE/B,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ import type { ResolveAIProfileOptions, ResolvedAIProfile } from "./types.js";
7
7
  *
8
8
  * @see README.md — “Why AI profiles”
9
9
  */
10
- export declare function resolveAIProfile(input: string, options?: ResolveAIProfileOptions): Promise<ResolvedAIProfile>;
10
+ export declare function resolveAIProfile(input: string, options: ResolveAIProfileOptions): Promise<ResolvedAIProfile>;
11
11
  //# sourceMappingURL=resolveAIProfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CA6J5B"}
1
+ {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAmO5B"}
@@ -3,8 +3,11 @@ import { AIProfilesError } from "./errors.js";
3
3
  import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
4
4
  import { loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
5
5
  import { matchProfileInput } from "./profileInputMatch.js";
6
+ import { buildResolvedModelInput, modelInputLogMeta, resolveModelFromInput, } from "./modelInputFallback.js";
6
7
  import { pickProfileChoiceWithConstraints } from "./modalityPolicy.js";
7
8
  import { normalizeCostCap } from "./costPolicy.js";
9
+ import { logxer } from "./logger.js";
10
+ import { assertOpenRouterCatalogCoverage, assertProfileCatalogLane, } from "./profileCatalogLane.js";
8
11
  /**
9
12
  * Resolve a profile primary key, alias, or shortcut to a concrete model and runtime config.
10
13
  *
@@ -13,7 +16,10 @@ import { normalizeCostCap } from "./costPolicy.js";
13
16
  *
14
17
  * @see README.md — “Why AI profiles”
15
18
  */
16
- export async function resolveAIProfile(input, options = {}) {
19
+ export async function resolveAIProfile(input, options) {
20
+ if (!options.catalogLane) {
21
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "resolveAIProfile requires options.catalogLane (e.g. \"text\", \"image\")", { input });
22
+ }
17
23
  const [{ registry, warnings }, catalogResult] = await Promise.all([
18
24
  loadAIProfilesRegistryWithWarnings({
19
25
  source: options.source,
@@ -26,7 +32,26 @@ export async function resolveAIProfile(input, options = {}) {
26
32
  ]);
27
33
  const loaderWarnings = [...warnings, ...catalogResult.warnings];
28
34
  const match = matchProfileInput(registry, input);
35
+ const modelFallback = match
36
+ ? undefined
37
+ : resolveModelFromInput(input, catalogResult.catalog);
29
38
  if (!match) {
39
+ if (modelFallback) {
40
+ const meta = modelInputLogMeta(input, modelFallback);
41
+ if (modelFallback.confidence === "low") {
42
+ logxer.warn("Best-effort AI model fallback for model-like input", meta);
43
+ }
44
+ else {
45
+ logxer.info("Resolved model-like input to catalog model", meta);
46
+ }
47
+ return buildResolvedModelInput({
48
+ input,
49
+ match: modelFallback,
50
+ registry,
51
+ loaderWarnings,
52
+ useOpenRouter: options.useOpenRouter,
53
+ });
54
+ }
30
55
  throw new AIProfilesError("UNKNOWN_PROFILE", `Unknown AI profile, shortcut, or alias: ${input}`, { input });
31
56
  }
32
57
  let profileKey;
@@ -53,6 +78,23 @@ export async function resolveAIProfile(input, options = {}) {
53
78
  if (!profile) {
54
79
  throw new AIProfilesError("UNKNOWN_PROFILE", `Unknown AI profile: ${profileKey}`, { input, profile: profileKey });
55
80
  }
81
+ if (options.catalogLane) {
82
+ try {
83
+ assertProfileCatalogLane({
84
+ profileKey,
85
+ profile,
86
+ requestedLane: options.catalogLane,
87
+ });
88
+ }
89
+ catch (error) {
90
+ const message = error instanceof Error ? error.message : String(error);
91
+ throw new AIProfilesError("CATALOG_LANE_MISMATCH", message, {
92
+ input,
93
+ profile: profileKey,
94
+ catalogLane: options.catalogLane,
95
+ });
96
+ }
97
+ }
56
98
  let finalChoiceKey;
57
99
  let choice;
58
100
  try {
@@ -113,6 +155,29 @@ export async function resolveAIProfile(input, options = {}) {
113
155
  if (!profile.choices[finalChoiceKey]) {
114
156
  throw new AIProfilesError("UNKNOWN_CHOICE", `Unknown choice '${finalChoiceKey}' for AI profile '${profileKey}'`, { input, profile: profileKey, choice: finalChoiceKey });
115
157
  }
158
+ const enforceOpenRouterCatalog = profileKey === "local"
159
+ ? options.requireOpenRouterCatalog === true
160
+ : options.requireOpenRouterCatalog !== false;
161
+ if (enforceOpenRouterCatalog) {
162
+ try {
163
+ assertOpenRouterCatalogCoverage({
164
+ profileKey,
165
+ choiceKey: finalChoiceKey,
166
+ choice,
167
+ catalog: catalogResult.catalog,
168
+ });
169
+ }
170
+ catch (error) {
171
+ const message = error instanceof Error ? error.message : String(error);
172
+ throw new AIProfilesError("NO_OPENROUTER_CATALOG", message, {
173
+ input,
174
+ profile: profileKey,
175
+ choice: finalChoiceKey,
176
+ provider: choice.provider,
177
+ modelId: choice.modelId,
178
+ });
179
+ }
180
+ }
116
181
  return buildResolvedProfile({
117
182
  input,
118
183
  shortcutKey: match.kind === "shortcut" ? match.shortcutKey : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,OAAgC;IAEhC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACvB,sBAAsB,EACtB,0EAA0E,EAC1E,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,kCAAkC,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,6BAA6B,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;KACH,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,KAAK;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACrD,IAAI,aAAa,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,uBAAuB,CAAC;gBAC7B,KAAK;gBACL,KAAK,EAAE,aAAa;gBACpB,QAAQ;gBACR,cAAc;gBACd,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,2CAA2C,KAAK,EAAE,EAClD,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,IAAI,UAAkB,CAAC;IACvB,IAAI,kBAAsC,CAAC;IAC3C,IAAI,eAAgE,CAAC;IAErE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,eAAe,GAAG,SAAS,CAAC;YAC5B,MAAM;QACR,KAAK,UAAU;YACb,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,kBAAkB,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7D,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,MAAM;QACR,KAAK,OAAO;YACV,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,eAAe,GAAG,SAAS,CAAC;YAC5B,MAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,uBAAuB,UAAU,EAAE,EACnC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,wBAAwB,CAAC;gBACvB,UAAU;gBACV,OAAO;gBACP,aAAa,EAAE,OAAO,CAAC,WAAW;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,OAAO,EAAE;gBAC1D,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,cAAsB,CAAC;IAC3B,IAAI,MAAM,CAAC;IAEX,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gCAAgC,CAAC,UAAU,EAAE,OAAO,EAAE;YACnE,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI;YAC1D,uBAAuB,EACrB,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC5B,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;YACpE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,OAAO,EACP;gBACE,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,kBAAkB,EAAE;oBAClB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAClE;aACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,OAAO,EACP;gBACE,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,kBAAkB;gBAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,OAAO,EACP;gBACE,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,4BAA4B,EAAE,CAAC;gBACzC,OAAO,gBAAgB,CAAC,UAAU,EAAE;oBAClC,GAAG,OAAO;oBACV,MAAM,EAAE,OAAO,CAAC,aAAa;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,OAAO,EACP,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,mBAAmB,cAAc,qBAAqB,UAAU,GAAG,EACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,wBAAwB,GAC5B,UAAU,KAAK,OAAO;QACpB,CAAC,CAAC,OAAO,CAAC,wBAAwB,KAAK,IAAI;QAC3C,CAAC,CAAC,OAAO,CAAC,wBAAwB,KAAK,KAAK,CAAC;IAEjD,IAAI,wBAAwB,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,+BAA+B,CAAC;gBAC9B,UAAU;gBACV,SAAS,EAAE,cAAc;gBACzB,MAAM;gBACN,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,OAAO,EAAE;gBAC1D,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;QAC1B,KAAK;QACL,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACtE,OAAO;QACP,MAAM;QACN,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,eAAe;QACzB,QAAQ;QACR,cAAc;QACd,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC;KACvD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AIProfileTag, ResolveAIProfileOptions, ResolvedAIProfile } from "./types.js";
2
+ export interface ResolveAIProfileByTagsOptions extends ResolveAIProfileOptions {
3
+ /** Minimum tag overlap required (default 1). */
4
+ minScore?: number;
5
+ }
6
+ /**
7
+ * Resolve the best-matching profile for a tag set (partial overlap OK).
8
+ * Picks the profile with the most matching tags; see {@link pickBestProfileByTags}.
9
+ */
10
+ export declare function resolveAIProfileByTags(tags: AIProfileTag[], options: ResolveAIProfileByTagsOptions): Promise<ResolvedAIProfile>;
11
+ //# sourceMappingURL=resolveAIProfileByTags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAIProfileByTags.d.ts","sourceRoot":"","sources":["../src/resolveAIProfileByTags.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE3F,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAAE,EACpB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA4C5B"}
@@ -0,0 +1,33 @@
1
+ import { AIProfilesError } from "./errors.js";
2
+ import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
3
+ import { profileMatchesCatalogLane } from "./profileCatalogLane.js";
4
+ import { pickBestProfileByTags } from "./profileDiscovery.js";
5
+ import { resolveAIProfile } from "./resolveAIProfile.js";
6
+ /**
7
+ * Resolve the best-matching profile for a tag set (partial overlap OK).
8
+ * Picks the profile with the most matching tags; see {@link pickBestProfileByTags}.
9
+ */
10
+ export async function resolveAIProfileByTags(tags, options) {
11
+ if (!options.catalogLane) {
12
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "resolveAIProfileByTags requires options.catalogLane", { tags });
13
+ }
14
+ const uniqueTags = [...new Set(tags)];
15
+ if (uniqueTags.length === 0) {
16
+ throw new AIProfilesError("UNKNOWN_PROFILE", "resolveAIProfileByTags requires at least one tag", { tags });
17
+ }
18
+ const { registry } = await loadAIProfilesRegistryWithWarnings({
19
+ source: options.source,
20
+ refresh: options.refresh,
21
+ });
22
+ const minScore = options.minScore ?? 1;
23
+ const pool = options.catalogLane
24
+ ? Object.fromEntries(Object.entries(registry.profiles).filter(([, profile]) => profileMatchesCatalogLane(profile, options.catalogLane)))
25
+ : registry.profiles;
26
+ const best = pickBestProfileByTags(pool, uniqueTags);
27
+ if (!best || best.score < minScore) {
28
+ throw new AIProfilesError("UNKNOWN_PROFILE", `No profile matches tags: ${uniqueTags.join(", ")}`, { tags: uniqueTags, minScore });
29
+ }
30
+ const { minScore: _minScore, ...resolveOptions } = options;
31
+ return resolveAIProfile(best.profileKey, resolveOptions);
32
+ }
33
+ //# sourceMappingURL=resolveAIProfileByTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAIProfileByTags.js","sourceRoot":"","sources":["../src/resolveAIProfileByTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAoB,EACpB,OAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACvB,sBAAsB,EACtB,qDAAqD,EACrD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,kDAAkD,EAClD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW;QAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CACvD,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAY,CAAC,CACzD,CACF;QACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAEtB,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAC3D,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveModelIdentity.d.ts","sourceRoot":"","sources":["../src/resolveModelIdentity.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EAEf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAkDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,2BAAgC,GACxC,cAAc,GAAG,IAAI,CA0EvB"}
1
+ {"version":3,"file":"resolveModelIdentity.d.ts","sourceRoot":"","sources":["../src/resolveModelIdentity.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,eAAe,EAEf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAkDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,2BAAgC,GACxC,cAAc,GAAG,IAAI,CA4FvB"}
@@ -1,7 +1,9 @@
1
1
  import { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
2
2
  import { loadBundledModelsRegistry } from "./loadModelsRegistry.js";
3
3
  import { buildModelInvocation, buildRegistryKey, matchOpenRouterCatalog, } from "./modelIdentity.js";
4
+ import { modelInputLogMeta, resolveModelFromInput, } from "./modelInputFallback.js";
4
5
  import { buildModelsCatalogIndex } from "./modelsCatalog.js";
6
+ import { logxer } from "./logger.js";
5
7
  function normalizeKey(value) {
6
8
  return value.trim().toLowerCase();
7
9
  }
@@ -88,6 +90,20 @@ export function resolveModelIdentity(input, options = {}) {
88
90
  }
89
91
  }
90
92
  }
93
+ const modelFallback = resolveModelFromInput(trimmed, catalog);
94
+ if (modelFallback) {
95
+ const meta = modelInputLogMeta(trimmed, modelFallback);
96
+ if (modelFallback.confidence === "low") {
97
+ logxer.warn("Best-effort AI model identity fallback", meta);
98
+ }
99
+ else {
100
+ logxer.info("Resolved model identity through models catalog", meta);
101
+ }
102
+ if (options.asOpenRouter && modelFallback.invocation.openrouter) {
103
+ return toVendorRef(modelFallback.invocation.openrouter, modelFallback.invocation);
104
+ }
105
+ return toVendorRef(modelFallback.invocation.direct, modelFallback.invocation);
106
+ }
91
107
  if (trimmed.includes("/")) {
92
108
  const slash = trimmed.indexOf("/");
93
109
  const providerHint = trimmed.slice(0, slash);
@@ -1 +1 @@
1
- {"version":3,"file":"resolveModelIdentity.js","sourceRoot":"","sources":["../src/resolveModelIdentity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveModelIdentity.js","sourceRoot":"","sources":["../src/resolveModelIdentity.ts"],"names":[],"mappings":"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"}