@x12i/ai-profiles 1.7.0 → 1.8.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 +25 -10
- package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
- package/dist/buildCatalogFromOpenRouterApi.js +2 -1
- package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
- package/dist/buildResolvedProfile.d.ts.map +1 -1
- package/dist/buildResolvedProfile.js +7 -0
- package/dist/buildResolvedProfile.js.map +1 -1
- package/dist/data/models-catalog.json +335 -1584
- package/dist/data/models-profiles.json +37 -113
- package/dist/data/models-registry.json +18 -825
- package/dist/data/profiles-shortcuts.json +0 -14
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +7 -0
- package/dist/logger.js.map +1 -0
- package/dist/modelInputFallback.d.ts +20 -0
- package/dist/modelInputFallback.d.ts.map +1 -0
- package/dist/modelInputFallback.js +261 -0
- package/dist/modelInputFallback.js.map +1 -0
- package/dist/openRouterSlugPolicy.d.ts +20 -0
- package/dist/openRouterSlugPolicy.d.ts.map +1 -0
- package/dist/openRouterSlugPolicy.js +66 -0
- package/dist/openRouterSlugPolicy.js.map +1 -0
- package/dist/profileCatalogSupplement.d.ts.map +1 -1
- package/dist/profileCatalogSupplement.js +0 -66
- package/dist/profileCatalogSupplement.js.map +1 -1
- package/dist/profileModelFallback.d.ts +13 -0
- package/dist/profileModelFallback.d.ts.map +1 -0
- package/dist/profileModelFallback.js +180 -0
- package/dist/profileModelFallback.js.map +1 -0
- package/dist/profileRegistryV3.d.ts.map +1 -1
- package/dist/profileRegistryV3.js +25 -28
- package/dist/profileRegistryV3.js.map +1 -1
- package/dist/resolveAIProfile.d.ts.map +1 -1
- package/dist/resolveAIProfile.js +21 -0
- package/dist/resolveAIProfile.js.map +1 -1
- package/dist/resolveModelIdentity.d.ts.map +1 -1
- package/dist/resolveModelIdentity.js +16 -0
- package/dist/resolveModelIdentity.js.map +1 -1
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.js +35 -8
- package/dist/validateProfileCatalogLinkage.js.map +1 -1
- package/dist/validateProfileTransportPolicy.d.ts +8 -0
- package/dist/validateProfileTransportPolicy.d.ts.map +1 -0
- package/dist/validateProfileTransportPolicy.js +69 -0
- package/dist/validateProfileTransportPolicy.js.map +1 -0
- package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
- package/dist/validation/validateModelsProfilesJson.js +10 -1
- package/dist/validation/validateModelsProfilesJson.js.map +1 -1
- package/package.json +6 -6
|
@@ -155,20 +155,6 @@
|
|
|
155
155
|
"profile": "vision",
|
|
156
156
|
"choice": "document_ocr"
|
|
157
157
|
},
|
|
158
|
-
"open-weights": {
|
|
159
|
-
"profile": "open_weights"
|
|
160
|
-
},
|
|
161
|
-
"llama": {
|
|
162
|
-
"profile": "open_weights",
|
|
163
|
-
"choice": "default"
|
|
164
|
-
},
|
|
165
|
-
"qwen": {
|
|
166
|
-
"profile": "open_weights",
|
|
167
|
-
"choice": "multilingual_code"
|
|
168
|
-
},
|
|
169
|
-
"self-hostable": {
|
|
170
|
-
"profile": "open_weights"
|
|
171
|
-
},
|
|
172
158
|
"absolute-floor": {
|
|
173
159
|
"profile": "cheap",
|
|
174
160
|
"choice": "deepseek_cheap"
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export { normalizeCostCap, getChoicePricingForCap, choiceWithinCostCap, filterCh
|
|
|
23
23
|
export { validateProfileModalityCoverage, validateBundledProfileModalityCoverage, isProfileModalityCoverageReady, } from "./validateProfileModalityCoverage.js";
|
|
24
24
|
export { validateProfileCatalogLinkage, validateBundledProfileCatalogLinkage, } from "./validateProfileCatalogLinkage.js";
|
|
25
25
|
export { verifyOpenRouterAlignment, formatOpenRouterAlignmentReport, OPENROUTER_MODELS_CATALOG_URL, } from "./validation/openRouterAlignment.js";
|
|
26
|
+
export { assertStableOpenRouterSlug, filterSupersededOpenRouterPreviewModels, isDatedPreviewSlug, isEmbeddedOpenRouterSlug, stableSlugWarning, } from "./openRouterSlugPolicy.js";
|
|
27
|
+
export { CPU_LOCAL_OPENROUTER_MARKER, isCpuLocalChoice, isCpuLocalProfile, validateCpuLocalChoice, validateOpenRouterBackedChoice, validateProfileTransportPolicy, } from "./validateProfileTransportPolicy.js";
|
|
26
28
|
export { MODELS_CATALOG_FILENAME, MODELS_CATALOG_REMOTE_URL, MODELS_CATALOG_SCHEMA, normalizeModelsCatalog, buildModelsCatalogIndex, parseDirectFromOpenRouterSlug, } from "./modelsCatalog.js";
|
|
27
29
|
export { loadAIProfilesRegistry, loadAIProfilesRegistryWithWarnings, } from "./loader/loadAIProfilesRegistry.js";
|
|
28
30
|
export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.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
|
@@ -22,6 +22,8 @@ export { normalizeCostCap, getChoicePricingForCap, choiceWithinCostCap, filterCh
|
|
|
22
22
|
export { validateProfileModalityCoverage, validateBundledProfileModalityCoverage, isProfileModalityCoverageReady, } from "./validateProfileModalityCoverage.js";
|
|
23
23
|
export { validateProfileCatalogLinkage, validateBundledProfileCatalogLinkage, } from "./validateProfileCatalogLinkage.js";
|
|
24
24
|
export { verifyOpenRouterAlignment, formatOpenRouterAlignmentReport, OPENROUTER_MODELS_CATALOG_URL, } from "./validation/openRouterAlignment.js";
|
|
25
|
+
export { assertStableOpenRouterSlug, filterSupersededOpenRouterPreviewModels, isDatedPreviewSlug, isEmbeddedOpenRouterSlug, stableSlugWarning, } from "./openRouterSlugPolicy.js";
|
|
26
|
+
export { CPU_LOCAL_OPENROUTER_MARKER, isCpuLocalChoice, isCpuLocalProfile, validateCpuLocalChoice, validateOpenRouterBackedChoice, validateProfileTransportPolicy, } from "./validateProfileTransportPolicy.js";
|
|
25
27
|
export { MODELS_CATALOG_FILENAME, MODELS_CATALOG_REMOTE_URL, MODELS_CATALOG_SCHEMA, normalizeModelsCatalog, buildModelsCatalogIndex, parseDirectFromOpenRouterSlug, } from "./modelsCatalog.js";
|
|
26
28
|
export { loadAIProfilesRegistry, loadAIProfilesRegistryWithWarnings, } from "./loader/loadAIProfilesRegistry.js";
|
|
27
29
|
export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,+BAIjB,CAAC"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IACjC,WAAW,EAAE,mBAAmB;IAChC,SAAS,EAAE,aAAa;IACxB,cAAc,EAAE,aAAa;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AIProfileWarning, CatalogModelEntry, ModelInvocation, ModelsCatalogJson, ResolvedAIProfile, AIProfilesRegistry } from "./types.js";
|
|
2
|
+
export type ModelInputMatchConfidence = "exact" | "high" | "low";
|
|
3
|
+
export interface ModelInputFallbackMatch {
|
|
4
|
+
entry?: CatalogModelEntry;
|
|
5
|
+
invocation: ModelInvocation;
|
|
6
|
+
confidence: ModelInputMatchConfidence;
|
|
7
|
+
score: number;
|
|
8
|
+
matchedBy: string;
|
|
9
|
+
warning?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function resolveModelFromInput(input: string, catalog: ModelsCatalogJson): ModelInputFallbackMatch | undefined;
|
|
12
|
+
export declare function modelInputLogMeta(input: string, match: ModelInputFallbackMatch): Record<string, unknown>;
|
|
13
|
+
export declare function buildResolvedModelInput(params: {
|
|
14
|
+
input: string;
|
|
15
|
+
match: ModelInputFallbackMatch;
|
|
16
|
+
registry: AIProfilesRegistry;
|
|
17
|
+
loaderWarnings?: AIProfileWarning[];
|
|
18
|
+
useOpenRouter?: boolean;
|
|
19
|
+
}): ResolvedAIProfile;
|
|
20
|
+
//# sourceMappingURL=modelInputFallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelInputFallback.d.ts","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,gBAAgB,EAEhB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwLD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,uBAAuB,GAAG,SAAS,CAiDrC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAoEpB"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { DebugLogAbstract } from "@x12i/logxer";
|
|
2
|
+
import { capabilitiesFromCatalogEntry, limitsFromCatalogEntry, pricingFromCatalogEntry, } from "./catalogEnrichment.js";
|
|
3
|
+
import { DEFAULT_CACHE_TTL_MS, DEFAULT_RUNTIME_DEFAULTS } from "./constants.js";
|
|
4
|
+
import { getMemoryCache } from "./loader/memoryCache.js";
|
|
5
|
+
import { buildModelInvocation } from "./modelIdentity.js";
|
|
6
|
+
import { normalizeKey } from "./normalizeKey.js";
|
|
7
|
+
import { normalizeModalityContract } from "./modalityPolicy.js";
|
|
8
|
+
import { resolveUseOpenRouter } from "./resolveModelRouting.js";
|
|
9
|
+
const HIGH_CONFIDENCE_SCORE = 0.72;
|
|
10
|
+
const AMBIGUOUS_SCORE_GAP = 0.12;
|
|
11
|
+
function canonicalIdentifier(value) {
|
|
12
|
+
return normalizeKey(value).replace(/^x-ai\//, "xai/");
|
|
13
|
+
}
|
|
14
|
+
function compactIdentifier(value) {
|
|
15
|
+
return canonicalIdentifier(value).replace(/[^a-z0-9]/g, "");
|
|
16
|
+
}
|
|
17
|
+
function tokenize(value) {
|
|
18
|
+
return canonicalIdentifier(value)
|
|
19
|
+
.split(/[^a-z0-9]+/g)
|
|
20
|
+
.filter(Boolean);
|
|
21
|
+
}
|
|
22
|
+
function uniqueValues(values) {
|
|
23
|
+
return [...new Set(values.filter((value) => Boolean(value)))];
|
|
24
|
+
}
|
|
25
|
+
function entryIdentities(entry) {
|
|
26
|
+
return uniqueValues([
|
|
27
|
+
entry.direct.modelId,
|
|
28
|
+
`${entry.direct.provider}/${entry.direct.modelId}`,
|
|
29
|
+
entry.openrouter.modelId,
|
|
30
|
+
entry.openrouter.canonicalSlug,
|
|
31
|
+
entry.displayName,
|
|
32
|
+
]);
|
|
33
|
+
}
|
|
34
|
+
function buildCatalogCandidates(catalog) {
|
|
35
|
+
return catalog.models.map((entry) => ({
|
|
36
|
+
entry,
|
|
37
|
+
identities: entryIdentities(entry),
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
function invocationFromCatalogEntry(entry) {
|
|
41
|
+
return {
|
|
42
|
+
direct: {
|
|
43
|
+
provider: entry.direct.provider,
|
|
44
|
+
modelId: entry.direct.modelId,
|
|
45
|
+
},
|
|
46
|
+
openrouter: {
|
|
47
|
+
provider: entry.openrouter.provider,
|
|
48
|
+
modelId: entry.openrouter.modelId,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function modelLikeFallbackInvocation(input) {
|
|
53
|
+
if (!input.includes("/")) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const slash = input.indexOf("/");
|
|
57
|
+
const providerHint = input.slice(0, slash).trim();
|
|
58
|
+
const modelId = input.slice(slash + 1).trim();
|
|
59
|
+
if (!providerHint || !modelId) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return buildModelInvocation(providerHint, input);
|
|
63
|
+
}
|
|
64
|
+
function findExactCatalogCandidate(candidates, input) {
|
|
65
|
+
const normalizedInput = canonicalIdentifier(input);
|
|
66
|
+
const compactInput = compactIdentifier(input);
|
|
67
|
+
for (const candidate of candidates) {
|
|
68
|
+
for (const identity of candidate.identities) {
|
|
69
|
+
if (canonicalIdentifier(identity) === normalizedInput ||
|
|
70
|
+
compactIdentifier(identity) === compactInput) {
|
|
71
|
+
return {
|
|
72
|
+
entry: candidate.entry,
|
|
73
|
+
invocation: invocationFromCatalogEntry(candidate.entry),
|
|
74
|
+
confidence: "exact",
|
|
75
|
+
score: 1,
|
|
76
|
+
matchedBy: identity,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
function slashSearchParts(input) {
|
|
84
|
+
const parts = input
|
|
85
|
+
.split("/")
|
|
86
|
+
.map((part) => part.trim())
|
|
87
|
+
.filter(Boolean);
|
|
88
|
+
return uniqueValues([input, ...parts]).sort((a, b) => b.length - a.length);
|
|
89
|
+
}
|
|
90
|
+
function scoreIdentity(input, identity) {
|
|
91
|
+
const inputCompact = compactIdentifier(input);
|
|
92
|
+
const identityCompact = compactIdentifier(identity);
|
|
93
|
+
if (!inputCompact || !identityCompact) {
|
|
94
|
+
return { score: 0, matchedBy: identity };
|
|
95
|
+
}
|
|
96
|
+
if (inputCompact === identityCompact) {
|
|
97
|
+
return { score: 1, matchedBy: identity };
|
|
98
|
+
}
|
|
99
|
+
let substringScore = 0;
|
|
100
|
+
if (inputCompact.includes(identityCompact)) {
|
|
101
|
+
substringScore = Math.min(0.9, identityCompact.length / inputCompact.length);
|
|
102
|
+
}
|
|
103
|
+
else if (identityCompact.includes(inputCompact)) {
|
|
104
|
+
substringScore = Math.min(0.82, inputCompact.length / identityCompact.length);
|
|
105
|
+
}
|
|
106
|
+
const inputTokens = new Set(tokenize(input));
|
|
107
|
+
const identityTokens = new Set(tokenize(identity));
|
|
108
|
+
const sharedTokens = [...inputTokens].filter((token) => identityTokens.has(token));
|
|
109
|
+
const inputCoverage = inputTokens.size > 0 ? sharedTokens.length / inputTokens.size : 0;
|
|
110
|
+
const identityCoverage = identityTokens.size > 0 ? sharedTokens.length / identityTokens.size : 0;
|
|
111
|
+
const tokenScore = inputCoverage * 0.55 + identityCoverage * 0.35;
|
|
112
|
+
return {
|
|
113
|
+
score: Math.max(substringScore, tokenScore),
|
|
114
|
+
matchedBy: identity,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function scoreCatalogCandidate(input, candidate) {
|
|
118
|
+
const parts = slashSearchParts(input);
|
|
119
|
+
let best = {
|
|
120
|
+
score: 0,
|
|
121
|
+
matchedBy: candidate.identities[0] ?? candidate.entry.direct.modelId,
|
|
122
|
+
};
|
|
123
|
+
for (const part of parts) {
|
|
124
|
+
for (const identity of candidate.identities) {
|
|
125
|
+
const scored = scoreIdentity(part, identity);
|
|
126
|
+
if (scored.score > best.score) {
|
|
127
|
+
best = scored;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const providerHint = input.includes("/") ? canonicalIdentifier(input.split("/")[0]) : "";
|
|
132
|
+
const providerBonus = providerHint && providerHint === canonicalIdentifier(candidate.entry.direct.provider)
|
|
133
|
+
? 0.12
|
|
134
|
+
: 0;
|
|
135
|
+
return {
|
|
136
|
+
...candidate,
|
|
137
|
+
score: Math.min(1, best.score + providerBonus),
|
|
138
|
+
matchedBy: best.matchedBy,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function isModelLikeInput(input) {
|
|
142
|
+
return input.includes("/");
|
|
143
|
+
}
|
|
144
|
+
export function resolveModelFromInput(input, catalog) {
|
|
145
|
+
if (!isModelLikeInput(input)) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
const candidates = buildCatalogCandidates(catalog);
|
|
149
|
+
const exact = findExactCatalogCandidate(candidates, input);
|
|
150
|
+
if (exact) {
|
|
151
|
+
return exact;
|
|
152
|
+
}
|
|
153
|
+
const [best, runnerUp] = candidates
|
|
154
|
+
.map((candidate) => scoreCatalogCandidate(input, candidate))
|
|
155
|
+
.sort((a, b) => b.score - a.score);
|
|
156
|
+
if (!best) {
|
|
157
|
+
const invocation = modelLikeFallbackInvocation(input);
|
|
158
|
+
return invocation
|
|
159
|
+
? {
|
|
160
|
+
invocation,
|
|
161
|
+
confidence: "low",
|
|
162
|
+
score: 0,
|
|
163
|
+
matchedBy: input,
|
|
164
|
+
warning: `Model-like input '${input}' did not match the models catalog; returning parsed model identity as a low-confidence fallback.`,
|
|
165
|
+
}
|
|
166
|
+
: undefined;
|
|
167
|
+
}
|
|
168
|
+
const ambiguous = runnerUp !== undefined &&
|
|
169
|
+
canonicalIdentifier(runnerUp.entry.openrouter.modelId) !==
|
|
170
|
+
canonicalIdentifier(best.entry.openrouter.modelId) &&
|
|
171
|
+
best.score - runnerUp.score < AMBIGUOUS_SCORE_GAP;
|
|
172
|
+
const confidence = best.score >= HIGH_CONFIDENCE_SCORE && !ambiguous ? "high" : "low";
|
|
173
|
+
const warning = confidence === "low"
|
|
174
|
+
? `Model-like input '${input}' did not match the models catalog exactly; using best-effort catalog model '${best.entry.openrouter.modelId}' from '${best.matchedBy}'.`
|
|
175
|
+
: undefined;
|
|
176
|
+
return {
|
|
177
|
+
entry: best.entry,
|
|
178
|
+
invocation: invocationFromCatalogEntry(best.entry),
|
|
179
|
+
confidence,
|
|
180
|
+
score: Number(best.score.toFixed(3)),
|
|
181
|
+
matchedBy: best.matchedBy,
|
|
182
|
+
...(warning ? { warning } : {}),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
export function modelInputLogMeta(input, match) {
|
|
186
|
+
return {
|
|
187
|
+
debugKind: match.confidence === "low"
|
|
188
|
+
? DebugLogAbstract.ANOMALY
|
|
189
|
+
: DebugLogAbstract.EVENT,
|
|
190
|
+
input,
|
|
191
|
+
provider: match.invocation.direct.provider,
|
|
192
|
+
modelId: match.invocation.direct.modelId,
|
|
193
|
+
openRouterModelId: match.invocation.openrouter?.modelId,
|
|
194
|
+
confidence: match.confidence,
|
|
195
|
+
score: match.score,
|
|
196
|
+
matchedBy: match.matchedBy,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
export function buildResolvedModelInput(params) {
|
|
200
|
+
const { input, match, registry, loaderWarnings = [] } = params;
|
|
201
|
+
const cache = getMemoryCache();
|
|
202
|
+
const cacheLoadedAt = cache?.loadedAt ?? Date.parse(registry.loadedAt);
|
|
203
|
+
const expiresAt = new Date((cache?.expiresAt ?? cacheLoadedAt + DEFAULT_CACHE_TTL_MS)).toISOString();
|
|
204
|
+
const useOpenRouter = resolveUseOpenRouter(params.useOpenRouter);
|
|
205
|
+
const endpoint = useOpenRouter && match.invocation.openrouter
|
|
206
|
+
? match.invocation.openrouter
|
|
207
|
+
: match.invocation.direct;
|
|
208
|
+
const routing = endpoint.provider === "openrouter" ? "openrouter" : "direct";
|
|
209
|
+
const catalogEntry = match.entry;
|
|
210
|
+
const rawModalities = catalogEntry?.modalities ?? catalogEntry?.openrouter.modalities ?? undefined;
|
|
211
|
+
const modalities = normalizeModalityContract(rawModalities);
|
|
212
|
+
const pricingBase = catalogEntry ? pricingFromCatalogEntry(catalogEntry) : undefined;
|
|
213
|
+
const pricing = pricingBase
|
|
214
|
+
? {
|
|
215
|
+
...pricingBase,
|
|
216
|
+
currency: registry.currency,
|
|
217
|
+
unit: registry.pricingUnit,
|
|
218
|
+
}
|
|
219
|
+
: undefined;
|
|
220
|
+
const warnings = [...loaderWarnings];
|
|
221
|
+
if (match.warning) {
|
|
222
|
+
warnings.push({
|
|
223
|
+
code: "MODEL_INPUT_FALLBACK_GUESS",
|
|
224
|
+
message: match.warning,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
input,
|
|
229
|
+
resolutionKind: "model",
|
|
230
|
+
profile: "model",
|
|
231
|
+
profileDisplayName: "Direct Model",
|
|
232
|
+
profileDescription: "Direct model input resolved from the models catalog.",
|
|
233
|
+
category: "model",
|
|
234
|
+
choice: catalogEntry?.openrouter.modelId ?? input,
|
|
235
|
+
choiceDisplayName: catalogEntry?.displayName ??
|
|
236
|
+
`${match.invocation.direct.provider}/${match.invocation.direct.modelId}`,
|
|
237
|
+
choiceDescription: "Direct model input resolved without mapping to an AI profile.",
|
|
238
|
+
provider: endpoint.provider,
|
|
239
|
+
modelId: endpoint.modelId,
|
|
240
|
+
routing,
|
|
241
|
+
instructionTier: DEFAULT_RUNTIME_DEFAULTS.instructionTier,
|
|
242
|
+
backend: routing === "openrouter" ? "openrouter" : "custom",
|
|
243
|
+
pricing,
|
|
244
|
+
...(catalogEntry?.status === "active" ? { modelStatus: "verified" } : {}),
|
|
245
|
+
...(catalogEntry ? { limits: limitsFromCatalogEntry(catalogEntry) } : {}),
|
|
246
|
+
...(catalogEntry ? { capabilities: capabilitiesFromCatalogEntry(catalogEntry) } : {}),
|
|
247
|
+
modalities,
|
|
248
|
+
requiredModalities: modalities,
|
|
249
|
+
runtime: {
|
|
250
|
+
...DEFAULT_RUNTIME_DEFAULTS,
|
|
251
|
+
backend: routing === "openrouter" ? "openrouter" : "custom",
|
|
252
|
+
},
|
|
253
|
+
source: registry.source,
|
|
254
|
+
...(registry.version !== undefined ? { registryVersion: registry.version } : {}),
|
|
255
|
+
loadedAt: registry.loadedAt,
|
|
256
|
+
expiresAt,
|
|
257
|
+
invocation: match.invocation,
|
|
258
|
+
...(warnings.length > 0 ? { warnings } : {}),
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=modelInputFallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelInputFallback.js","sourceRoot":"","sources":["../src/modelInputFallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter slug stability rules.
|
|
3
|
+
*
|
|
4
|
+
* Profiles store vendor-native ids (e.g. `gemini-2.5-flash-lite`). Routed calls must use
|
|
5
|
+
* stable OpenRouter `id` values (e.g. `google/gemini-2.5-flash-lite`), not retired dated
|
|
6
|
+
* preview slugs (e.g. `google/gemini-2.5-flash-lite-preview-06-17`).
|
|
7
|
+
*/
|
|
8
|
+
export declare function isDatedPreviewSlug(value: string): boolean;
|
|
9
|
+
/** True when modelId embeds a vendor OpenRouter slug (`google/gemini-…`) instead of a native id. */
|
|
10
|
+
export declare function isEmbeddedOpenRouterSlug(provider: string, modelId: string): boolean;
|
|
11
|
+
export declare function assertStableOpenRouterSlug(slug: string): void;
|
|
12
|
+
export declare function stableSlugWarning(slug: string): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* When syncing from the OpenRouter API, drop preview variants that have a stable sibling id.
|
|
15
|
+
* Example: omit `google/gemini-2.5-flash-lite-preview-09-2025` when `google/gemini-2.5-flash-lite` exists.
|
|
16
|
+
*/
|
|
17
|
+
export declare function filterSupersededOpenRouterPreviewModels<T extends {
|
|
18
|
+
id: string;
|
|
19
|
+
}>(models: T[]): T[];
|
|
20
|
+
//# sourceMappingURL=openRouterSlugPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openRouterSlugPolicy.d.ts","sourceRoot":"","sources":["../src/openRouterSlugPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,oGAAoG;AACpG,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAST;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7D;AAED;;;GAGG;AACH,wBAAgB,uCAAuC,CACrD,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACxB,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAgBlB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter slug stability rules.
|
|
3
|
+
*
|
|
4
|
+
* Profiles store vendor-native ids (e.g. `gemini-2.5-flash-lite`). Routed calls must use
|
|
5
|
+
* stable OpenRouter `id` values (e.g. `google/gemini-2.5-flash-lite`), not retired dated
|
|
6
|
+
* preview slugs (e.g. `google/gemini-2.5-flash-lite-preview-06-17`).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Dated preview suffixes OpenRouter retires (e.g. `-preview-06-17`, `-preview-09-2025`).
|
|
10
|
+
* Generic `-preview` without date segments (e.g. `qwen3.6-max-preview`) is not matched.
|
|
11
|
+
*/
|
|
12
|
+
const DATED_PREVIEW_DATE_SUFFIX = /-preview(?:-\d{2,4}){2,}(?:$|[/-])/i;
|
|
13
|
+
const DATED_PREVIEW_PATTERN = /(?:^|[/-])[^/]*-preview(?:-\d{2,4}){2,}(?:$|[/-])/i;
|
|
14
|
+
/** Providers whose profile modelId must be vendor-native, not `vendor/model` OpenRouter slugs. */
|
|
15
|
+
const OPENROUTER_VENDOR_PREFIXES = {
|
|
16
|
+
google: ["google"],
|
|
17
|
+
openai: ["openai"],
|
|
18
|
+
anthropic: ["anthropic"],
|
|
19
|
+
deepseek: ["deepseek"],
|
|
20
|
+
xai: ["x-ai", "xai"],
|
|
21
|
+
minimax: ["minimax"],
|
|
22
|
+
};
|
|
23
|
+
export function isDatedPreviewSlug(value) {
|
|
24
|
+
return DATED_PREVIEW_PATTERN.test(value.trim());
|
|
25
|
+
}
|
|
26
|
+
/** True when modelId embeds a vendor OpenRouter slug (`google/gemini-…`) instead of a native id. */
|
|
27
|
+
export function isEmbeddedOpenRouterSlug(provider, modelId) {
|
|
28
|
+
const trimmed = modelId.trim();
|
|
29
|
+
if (!trimmed.includes("/")) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const prefix = trimmed.split("/")[0]?.toLowerCase() ?? "";
|
|
33
|
+
const allowed = OPENROUTER_VENDOR_PREFIXES[provider.trim().toLowerCase()];
|
|
34
|
+
return allowed?.includes(prefix) ?? false;
|
|
35
|
+
}
|
|
36
|
+
export function assertStableOpenRouterSlug(slug) {
|
|
37
|
+
if (isDatedPreviewSlug(slug)) {
|
|
38
|
+
throw new Error(`Unstable OpenRouter slug "${slug}": dated preview ids are retired by OpenRouter. ` +
|
|
39
|
+
"Resolve via resolveAIProfile() or use the stable catalog openrouter.modelId.");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function stableSlugWarning(slug) {
|
|
43
|
+
if (isDatedPreviewSlug(slug)) {
|
|
44
|
+
return (`OpenRouter slug "${slug}" is a dated preview id and is often unavailable. ` +
|
|
45
|
+
"Use resolveAIProfile().modelId or catalog openrouter.modelId instead of canonicalSlug or hardcoded preview slugs.");
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* When syncing from the OpenRouter API, drop preview variants that have a stable sibling id.
|
|
51
|
+
* Example: omit `google/gemini-2.5-flash-lite-preview-09-2025` when `google/gemini-2.5-flash-lite` exists.
|
|
52
|
+
*/
|
|
53
|
+
export function filterSupersededOpenRouterPreviewModels(models) {
|
|
54
|
+
const stableIds = new Set(models
|
|
55
|
+
.map((m) => m.id.trim().toLowerCase())
|
|
56
|
+
.filter((id) => id && !isDatedPreviewSlug(id)));
|
|
57
|
+
return models.filter((model) => {
|
|
58
|
+
const id = model.id.trim();
|
|
59
|
+
if (!id || !isDatedPreviewSlug(id)) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
const stableSibling = id.replace(DATED_PREVIEW_DATE_SUFFIX, "");
|
|
63
|
+
return !stableIds.has(stableSibling.toLowerCase());
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=openRouterSlugPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openRouterSlugPolicy.js","sourceRoot":"","sources":["../src/openRouterSlugPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAExE,MAAM,qBAAqB,GACzB,oDAAoD,CAAC;AAEvD,kGAAkG;AAClG,MAAM,0BAA0B,GAAsC;IACpE,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACpB,OAAO,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,OAAe;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,OAAO,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,kDAAkD;YACjF,8EAA8E,CACjF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,oBAAoB,IAAI,oDAAoD;YAC5E,mHAAmH,CACpH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uCAAuC,CAErD,MAAW;IACX,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,MAAM;SACH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SACrC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACjD,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileCatalogSupplement.d.ts","sourceRoot":"","sources":["../src/profileCatalogSupplement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"profileCatalogSupplement.d.ts","sourceRoot":"","sources":["../src/profileCatalogSupplement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,EAqRzD,CAAC"}
|
|
@@ -126,30 +126,6 @@ export const PROFILE_CATALOG_SUPPLEMENT = [
|
|
|
126
126
|
contextWindow: 200000,
|
|
127
127
|
maxCompletionTokens: 8192,
|
|
128
128
|
},
|
|
129
|
-
{
|
|
130
|
-
direct: { provider: "google", modelId: "gemini-2.5-pro" },
|
|
131
|
-
openrouter: {
|
|
132
|
-
provider: "openrouter",
|
|
133
|
-
modelId: "google/gemini-2.5-pro",
|
|
134
|
-
status: "active",
|
|
135
|
-
modalities: { input: ["text", "image", "video", "file"], output: ["text"] },
|
|
136
|
-
pricing: {
|
|
137
|
-
input: 1.25,
|
|
138
|
-
output: 10,
|
|
139
|
-
cachedInput: 0.125,
|
|
140
|
-
batchInput: 0.625,
|
|
141
|
-
batchOutput: 5,
|
|
142
|
-
},
|
|
143
|
-
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
144
|
-
contextWindow: 1048576,
|
|
145
|
-
maxCompletionTokens: 65536,
|
|
146
|
-
},
|
|
147
|
-
displayName: "Google: Gemini 2.5 Pro",
|
|
148
|
-
family: "gemini",
|
|
149
|
-
status: "active",
|
|
150
|
-
contextWindow: 1048576,
|
|
151
|
-
maxCompletionTokens: 65536,
|
|
152
|
-
},
|
|
153
129
|
{
|
|
154
130
|
direct: { provider: "google", modelId: "gemini-2.5-flash-lite" },
|
|
155
131
|
openrouter: {
|
|
@@ -246,48 +222,6 @@ export const PROFILE_CATALOG_SUPPLEMENT = [
|
|
|
246
222
|
contextWindow: 65536,
|
|
247
223
|
maxCompletionTokens: 8192,
|
|
248
224
|
},
|
|
249
|
-
{
|
|
250
|
-
direct: {
|
|
251
|
-
provider: "together",
|
|
252
|
-
modelId: "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
253
|
-
},
|
|
254
|
-
openrouter: {
|
|
255
|
-
provider: "openrouter",
|
|
256
|
-
modelId: "meta-llama/llama-3.3-70b-instruct-turbo",
|
|
257
|
-
status: "active",
|
|
258
|
-
modalities: { input: ["text"], output: ["text"] },
|
|
259
|
-
pricing: { input: 0.88, output: 0.88 },
|
|
260
|
-
capabilities: { reasoning: false, toolCalling: true, structuredOutputs: true },
|
|
261
|
-
contextWindow: 131072,
|
|
262
|
-
maxCompletionTokens: 8192,
|
|
263
|
-
},
|
|
264
|
-
displayName: "Meta: Llama 3.3 70B Instruct Turbo",
|
|
265
|
-
family: "llama",
|
|
266
|
-
status: "active",
|
|
267
|
-
contextWindow: 131072,
|
|
268
|
-
maxCompletionTokens: 8192,
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
direct: {
|
|
272
|
-
provider: "together",
|
|
273
|
-
modelId: "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
|
|
274
|
-
},
|
|
275
|
-
openrouter: {
|
|
276
|
-
provider: "openrouter",
|
|
277
|
-
modelId: "qwen/qwen3-235b-a22b-instruct-2507-tput",
|
|
278
|
-
status: "active",
|
|
279
|
-
modalities: { input: ["text"], output: ["text"] },
|
|
280
|
-
pricing: { input: 1.2, output: 1.2 },
|
|
281
|
-
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
282
|
-
contextWindow: 131072,
|
|
283
|
-
maxCompletionTokens: 8192,
|
|
284
|
-
},
|
|
285
|
-
displayName: "Qwen3 235B A22B Instruct",
|
|
286
|
-
family: "qwen",
|
|
287
|
-
status: "active",
|
|
288
|
-
contextWindow: 131072,
|
|
289
|
-
maxCompletionTokens: 8192,
|
|
290
|
-
},
|
|
291
225
|
{
|
|
292
226
|
direct: { provider: "minimax", modelId: "minimax-m2" },
|
|
293
227
|
openrouter: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileCatalogSupplement.js","sourceRoot":"","sources":["../src/profileCatalogSupplement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"profileCatalogSupplement.js","sourceRoot":"","sources":["../src/profileCatalogSupplement.ts"],"names":[],"mappings":"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"}
|