@x12i/ai-profiles 1.6.0 → 1.7.2
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 +96 -28
- package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
- package/dist/buildCatalogFromOpenRouterApi.js +2 -1
- package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
- package/dist/buildModelsRegistry.d.ts +2 -0
- package/dist/buildModelsRegistry.d.ts.map +1 -1
- package/dist/buildModelsRegistry.js +5 -5
- package/dist/buildModelsRegistry.js.map +1 -1
- package/dist/buildResolvedProfile.d.ts +2 -1
- package/dist/buildResolvedProfile.d.ts.map +1 -1
- package/dist/buildResolvedProfile.js +18 -2
- package/dist/buildResolvedProfile.js.map +1 -1
- package/dist/catalogEnrichment.d.ts.map +1 -1
- package/dist/catalogEnrichment.js +13 -6
- package/dist/catalogEnrichment.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -1
- package/dist/costPolicy.d.ts +7 -0
- package/dist/costPolicy.d.ts.map +1 -0
- package/dist/costPolicy.js +81 -0
- package/dist/costPolicy.js.map +1 -0
- package/dist/data/models-catalog.json +324 -1465
- package/dist/data/models-profiles.json +354 -420
- package/dist/data/models-profiles.schema.json +38 -11
- package/dist/data/models-registry.json +142 -841
- package/dist/data/profiles-shortcuts.json +49 -23
- 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 +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/modalityPolicy.d.ts +37 -0
- package/dist/modalityPolicy.d.ts.map +1 -0
- package/dist/modalityPolicy.js +200 -0
- package/dist/modalityPolicy.js.map +1 -0
- package/dist/modelIdentity.d.ts.map +1 -1
- package/dist/modelIdentity.js +9 -1
- package/dist/modelIdentity.js.map +1 -1
- package/dist/modelsCatalog.d.ts.map +1 -1
- package/dist/modelsCatalog.js +1 -0
- package/dist/modelsCatalog.js.map +1 -1
- 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 +35 -44
- package/dist/profileCatalogSupplement.js.map +1 -1
- package/dist/profileRegistryV2.d.ts +8 -8
- package/dist/profileRegistryV2.d.ts.map +1 -1
- package/dist/profileRegistryV2.js +12 -70
- package/dist/profileRegistryV2.js.map +1 -1
- package/dist/profileRegistryV3.d.ts +3 -0
- package/dist/profileRegistryV3.d.ts.map +1 -1
- package/dist/profileRegistryV3.js +113 -103
- package/dist/profileRegistryV3.js.map +1 -1
- package/dist/resolveAIProfile.d.ts +1 -1
- package/dist/resolveAIProfile.d.ts.map +1 -1
- package/dist/resolveAIProfile.js +28 -4
- package/dist/resolveAIProfile.js.map +1 -1
- package/dist/resolveCatalogListing.d.ts +10 -0
- package/dist/resolveCatalogListing.d.ts.map +1 -0
- package/dist/resolveCatalogListing.js +59 -0
- package/dist/resolveCatalogListing.js.map +1 -0
- package/dist/resolveModelIdentity.d.ts.map +1 -1
- package/dist/resolveModelIdentity.js +1 -0
- package/dist/resolveModelIdentity.js.map +1 -1
- package/dist/resolveModelRouting.d.ts +2 -2
- package/dist/resolveModelRouting.d.ts.map +1 -1
- package/dist/resolveModelRouting.js +3 -3
- package/dist/resolveModelRouting.js.map +1 -1
- package/dist/types.d.ts +78 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.d.ts +8 -0
- package/dist/validateProfileCatalogLinkage.d.ts.map +1 -0
- package/dist/validateProfileCatalogLinkage.js +212 -0
- package/dist/validateProfileCatalogLinkage.js.map +1 -0
- package/dist/validateProfileModalityCoverage.d.ts +9 -0
- package/dist/validateProfileModalityCoverage.d.ts.map +1 -0
- package/dist/validateProfileModalityCoverage.js +52 -0
- package/dist/validateProfileModalityCoverage.js.map +1 -0
- 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 +11 -7
- package/dist/validation/validateModelsProfilesJson.js.map +1 -1
- package/dist/vendorModelId.d.ts +4 -0
- package/dist/vendorModelId.d.ts.map +1 -0
- package/dist/vendorModelId.js +14 -0
- package/dist/vendorModelId.js.map +1 -0
- package/dist/vendorPolicy.d.ts.map +1 -1
- package/dist/vendorPolicy.js +1 -0
- package/dist/vendorPolicy.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateProfileModalityCoverage.d.ts","sourceRoot":"","sources":["../src/validateProfileModalityCoverage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAEV,kBAAkB,EAElB,qCAAqC,EACtC,MAAM,YAAY,CAAC;AASpB,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;CAAE,GACvF,qCAAqC,CAyBvC;AAkBD,wBAAgB,sCAAsC,CACpD,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,GAC9D,qCAAqC,CAEvC;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,kBAAoC,GAC7C,OAAO,CAUT"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import bundledModelsProfiles from "./data/models-profiles.json" with { type: "json" };
|
|
2
|
+
import { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
|
|
3
|
+
import { defaultModalityContractForProfile, isProfileModalityReady, listProfileModalityMismatches, } from "./modalityPolicy.js";
|
|
4
|
+
const defaultProfiles = bundledModelsProfiles;
|
|
5
|
+
export function validateProfileModalityCoverage(profiles, options) {
|
|
6
|
+
let catalog = options?.catalog;
|
|
7
|
+
try {
|
|
8
|
+
catalog ??= loadBundledModelsCatalog();
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
catalog = undefined;
|
|
12
|
+
}
|
|
13
|
+
const profileEntries = options?.profileKey
|
|
14
|
+
? [[options.profileKey, profiles.profiles[options.profileKey]]].filter(([, profile]) => profile !== undefined)
|
|
15
|
+
: Object.entries(profiles.profiles);
|
|
16
|
+
const results = [];
|
|
17
|
+
for (const [profileKey, profile] of profileEntries) {
|
|
18
|
+
if (!profile)
|
|
19
|
+
continue;
|
|
20
|
+
results.push(analyzeProfile(profileKey, profile, catalog));
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
ok: results.every((result) => result.mismatches.length === 0),
|
|
24
|
+
profiles: results,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function analyzeProfile(profileKey, profile, catalog) {
|
|
28
|
+
const requiredModalities = defaultModalityContractForProfile(profileKey, profile);
|
|
29
|
+
const mismatches = listProfileModalityMismatches(profileKey, profile, catalog);
|
|
30
|
+
return {
|
|
31
|
+
profile: profileKey,
|
|
32
|
+
requiredModalities,
|
|
33
|
+
mismatches,
|
|
34
|
+
ready: isProfileModalityReady(profileKey, profile, catalog),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function validateBundledProfileModalityCoverage(options) {
|
|
38
|
+
return validateProfileModalityCoverage(defaultProfiles, options);
|
|
39
|
+
}
|
|
40
|
+
export function isProfileModalityCoverageReady(profileKey, profiles = defaultProfiles) {
|
|
41
|
+
const profile = profiles.profiles[profileKey];
|
|
42
|
+
if (!profile)
|
|
43
|
+
return false;
|
|
44
|
+
try {
|
|
45
|
+
const catalog = loadBundledModelsCatalog();
|
|
46
|
+
return isProfileModalityReady(profileKey, profile, catalog);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return isProfileModalityReady(profileKey, profile);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=validateProfileModalityCoverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateProfileModalityCoverage.js","sourceRoot":"","sources":["../src/validateProfileModalityCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAOhF,OAAO,EACL,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,eAAe,GAAG,qBAA2C,CAAC;AAEpE,MAAM,UAAU,+BAA+B,CAC7C,QAA4B,EAC5B,OAAwF;IAExF,IAAI,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,KAAK,wBAAwB,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,EAAE,UAAU;QACxC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAU,CAAC,CAAC,MAAM,CAC3E,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CACvC;QACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAoC,EAAE,CAAC;IAEpD,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7D,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,UAAkB,EAClB,OAA4B,EAC5B,OAAqD;IAErD,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/E,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,kBAAkB;QAClB,UAAU;QACV,KAAK,EAAE,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,OAA+D;IAE/D,OAAO,+BAA+B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,UAAkB,EAClB,WAA+B,eAAe;IAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AIProfileChoice, AIProfileDefinition } from "./types.js";
|
|
2
|
+
export declare const CPU_LOCAL_OPENROUTER_MARKER: "cpu-local";
|
|
3
|
+
export declare function isCpuLocalChoice(choice: AIProfileChoice): boolean;
|
|
4
|
+
export declare function isCpuLocalProfile(profileKey: string, profile: AIProfileDefinition): boolean;
|
|
5
|
+
export declare function validateProfileTransportPolicy(profileKey: string, profile: AIProfileDefinition): void;
|
|
6
|
+
export declare function validateCpuLocalChoice(profileKey: string, choiceKey: string, choice: AIProfileChoice): void;
|
|
7
|
+
export declare function validateOpenRouterBackedChoice(profileKey: string, choiceKey: string, choice: AIProfileChoice): void;
|
|
8
|
+
//# sourceMappingURL=validateProfileTransportPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateProfileTransportPolicy.d.ts","sourceRoot":"","sources":["../src/validateProfileTransportPolicy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvE,eAAO,MAAM,2BAA2B,EAAG,WAAoB,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAOjE;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAMT;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CAqBN;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,IAAI,CAmDN;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,IAAI,CAiCN"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { AIProfilesError } from "./errors.js";
|
|
2
|
+
export const CPU_LOCAL_OPENROUTER_MARKER = "cpu-local";
|
|
3
|
+
export function isCpuLocalChoice(choice) {
|
|
4
|
+
if (choice.provider !== "local") {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const modelId = choice.modelId.trim();
|
|
8
|
+
return modelId.startsWith("funcx:") || modelId.startsWith("Xenova/");
|
|
9
|
+
}
|
|
10
|
+
export function isCpuLocalProfile(profileKey, profile) {
|
|
11
|
+
if (profileKey === "local" || profile.category === "local") {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return Object.values(profile.choices).every(isCpuLocalChoice);
|
|
15
|
+
}
|
|
16
|
+
export function validateProfileTransportPolicy(profileKey, profile) {
|
|
17
|
+
const cpuLocal = isCpuLocalProfile(profileKey, profile);
|
|
18
|
+
if (cpuLocal) {
|
|
19
|
+
if (profile.category !== "local") {
|
|
20
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local profile '${profileKey}' must use category "local".`, { profile: profileKey });
|
|
21
|
+
}
|
|
22
|
+
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
23
|
+
validateCpuLocalChoice(profileKey, choiceKey, choice);
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
28
|
+
validateOpenRouterBackedChoice(profileKey, choiceKey, choice);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function validateCpuLocalChoice(profileKey, choiceKey, choice) {
|
|
32
|
+
if (!isCpuLocalChoice(choice)) {
|
|
33
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Choice '${choiceKey}' on CPU-local profile '${profileKey}' must use provider "local" with a funcx: or Xenova/ modelId.`, { profile: profileKey, choice: choiceKey });
|
|
34
|
+
}
|
|
35
|
+
if (choice.metadata?.openRouter !== CPU_LOCAL_OPENROUTER_MARKER) {
|
|
36
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local choice '${profileKey}/${choiceKey}' must set metadata.openRouter to "${CPU_LOCAL_OPENROUTER_MARKER}".`, { profile: profileKey, choice: choiceKey });
|
|
37
|
+
}
|
|
38
|
+
const runtime = choice.runtime;
|
|
39
|
+
if (runtime?.instructionTier !== "cpu") {
|
|
40
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local choice '${profileKey}/${choiceKey}' must use runtime.instructionTier "cpu".`, { profile: profileKey, choice: choiceKey });
|
|
41
|
+
}
|
|
42
|
+
if (runtime?.executionMode !== "offline") {
|
|
43
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local choice '${profileKey}/${choiceKey}' must use runtime.executionMode "offline".`, { profile: profileKey, choice: choiceKey });
|
|
44
|
+
}
|
|
45
|
+
const backend = runtime?.backend;
|
|
46
|
+
if (backend !== "llama-cpp" && backend !== "transformersjs") {
|
|
47
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local choice '${profileKey}/${choiceKey}' must use backend "llama-cpp" or "transformersjs".`, { profile: profileKey, choice: choiceKey, backend });
|
|
48
|
+
}
|
|
49
|
+
const sourceRefs = choice.verification?.sourceRefs ?? [];
|
|
50
|
+
if (sourceRefs.some((ref) => ref.includes("openrouter"))) {
|
|
51
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `CPU-local choice '${profileKey}/${choiceKey}' must not list openrouter in verification.sourceRefs.`, { profile: profileKey, choice: choiceKey });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export function validateOpenRouterBackedChoice(profileKey, choiceKey, choice) {
|
|
55
|
+
if (isCpuLocalChoice(choice)) {
|
|
56
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Remote profile '${profileKey}' cannot include CPU-local choice '${choiceKey}'. Use the "local" profile instead.`, { profile: profileKey, choice: choiceKey });
|
|
57
|
+
}
|
|
58
|
+
if (choice.metadata?.openRouter === "vendor-direct") {
|
|
59
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Profile '${profileKey}/${choiceKey}' is vendor-direct only (no OpenRouter). Remove the profile or move it under "local".`, { profile: profileKey, choice: choiceKey });
|
|
60
|
+
}
|
|
61
|
+
if (choice.provider === "together") {
|
|
62
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Profile '${profileKey}/${choiceKey}' uses Together (no OpenRouter routing). Remove the profile or add an OpenRouter-backed vendor choice.`, { profile: profileKey, choice: choiceKey, provider: choice.provider });
|
|
63
|
+
}
|
|
64
|
+
const backend = choice.runtime?.backend;
|
|
65
|
+
if (backend && backend !== "openrouter") {
|
|
66
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Remote profile '${profileKey}/${choiceKey}' must use runtime.backend "openrouter" (got "${backend}").`, { profile: profileKey, choice: choiceKey, backend });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=validateProfileTransportPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateProfileTransportPolicy.js","sourceRoot":"","sources":["../src/validateProfileTransportPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAoB,CAAC;AAEhE,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,OAA4B;IAE5B,IAAI,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,UAAkB,EAClB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,sBAAsB,UAAU,8BAA8B,EAC9D,EAAE,OAAO,EAAE,UAAU,EAAE,CACxB,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,8BAA8B,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,SAAiB,EACjB,MAAuB;IAEvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,WAAW,SAAS,2BAA2B,UAAU,+DAA+D,EACxH,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,KAAK,2BAA2B,EAAE,CAAC;QAChE,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,UAAU,IAAI,SAAS,sCAAsC,2BAA2B,IAAI,EACjH,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,EAAE,eAAe,KAAK,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,UAAU,IAAI,SAAS,2CAA2C,EACvF,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,UAAU,IAAI,SAAS,6CAA6C,EACzF,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC5D,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,UAAU,IAAI,SAAS,qDAAqD,EACjG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC;IACzD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,UAAU,IAAI,SAAS,wDAAwD,EACpG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,UAAkB,EAClB,SAAiB,EACjB,MAAuB;IAEvB,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,UAAU,sCAAsC,SAAS,qCAAqC,EACjH,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,KAAK,eAAe,EAAE,CAAC;QACpD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,YAAY,UAAU,IAAI,SAAS,uFAAuF,EAC1H,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,YAAY,UAAU,IAAI,SAAS,wGAAwG,EAC3I,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;IACxC,IAAI,OAAO,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,UAAU,IAAI,SAAS,iDAAiD,OAAO,KAAK,EACvG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CACpD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateModelsProfilesJson.d.ts","sourceRoot":"","sources":["../../src/validation/validateModelsProfilesJson.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validateModelsProfilesJson.d.ts","sourceRoot":"","sources":["../../src/validation/validateModelsProfilesJson.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AA6PrB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAgG7E;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC5C,qBAAqB,CAqEvB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AIProfilesError } from "../errors.js";
|
|
2
2
|
import { AI_PROFILE_BACKENDS, INSTRUCTION_TIERS, MODELS_PROFILES_SCHEMA_V2, MODELS_PROFILES_SCHEMA_V3, MODELS_PROFILES_SCHEMAS, PROFILES_SHORTCUTS_SCHEMA, } from "../constants.js";
|
|
3
|
+
import { isDatedPreviewSlug, isEmbeddedOpenRouterSlug, } from "../openRouterSlugPolicy.js";
|
|
4
|
+
import { validateProfileTransportPolicy } from "../validateProfileTransportPolicy.js";
|
|
3
5
|
function isRecord(value) {
|
|
4
6
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
7
|
}
|
|
@@ -46,17 +48,18 @@ function validateChoice(choiceKey, choice, profileKey) {
|
|
|
46
48
|
requireString(choice.displayName, "displayName", `profile '${profileKey}' choice '${choiceKey}'`);
|
|
47
49
|
requireString(choice.description, "description", `profile '${profileKey}' choice '${choiceKey}'`);
|
|
48
50
|
requireString(choice.provider, "provider", `profile '${profileKey}' choice '${choiceKey}'`);
|
|
49
|
-
requireString(choice.modelId, "modelId", `profile '${profileKey}' choice '${choiceKey}'`);
|
|
51
|
+
const modelId = requireString(choice.modelId, "modelId", `profile '${profileKey}' choice '${choiceKey}'`);
|
|
52
|
+
if (isDatedPreviewSlug(modelId)) {
|
|
53
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Profile choice '${choiceKey}' on '${profileKey}' uses a dated preview modelId; use the stable vendor id (e.g. gemini-3.1-flash-lite) and resolve via catalog.`, { profile: profileKey, choice: choiceKey, modelId });
|
|
54
|
+
}
|
|
55
|
+
if (isEmbeddedOpenRouterSlug(String(choice.provider), modelId)) {
|
|
56
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Profile choice '${choiceKey}' on '${profileKey}' must store vendor-native modelId, not an OpenRouter slug (${modelId}).`, { profile: profileKey, choice: choiceKey, modelId });
|
|
57
|
+
}
|
|
50
58
|
if (isRecord(choice.runtime)) {
|
|
51
59
|
validateRuntimeField(choice.runtime, profileKey, choiceKey);
|
|
52
60
|
}
|
|
53
61
|
if (isRecord(choice.api)) {
|
|
54
|
-
|
|
55
|
-
if (choice.api.openRouterModelId !== undefined &&
|
|
56
|
-
choice.api.openRouterModelId !== null &&
|
|
57
|
-
typeof choice.api.openRouterModelId !== "string") {
|
|
58
|
-
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Invalid api.openRouterModelId on profile '${profileKey}' choice '${choiceKey}'`, { profile: profileKey, choice: choiceKey });
|
|
59
|
-
}
|
|
62
|
+
throw new AIProfilesError("REGISTRY_VALIDATION_FAILED", `Profile choice '${choiceKey}' on '${profileKey}' must not embed api/transport fields; use provider + modelId and resolve via models-catalog.json`, { profile: profileKey, choice: choiceKey });
|
|
60
63
|
}
|
|
61
64
|
if (choice.provider === "local") {
|
|
62
65
|
if (!isRecord(choice.metadata)) {
|
|
@@ -84,6 +87,7 @@ function validateProfile(profileKey, profile) {
|
|
|
84
87
|
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
85
88
|
validateChoice(choiceKey, choice, profileKey);
|
|
86
89
|
}
|
|
90
|
+
validateProfileTransportPolicy(profileKey, profile);
|
|
87
91
|
if (isRecord(profile.runtime)) {
|
|
88
92
|
validateRuntimeField(profile.runtime, profileKey, "profile");
|
|
89
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateModelsProfilesJson.js","sourceRoot":"","sources":["../../src/validation/validateModelsProfilesJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAEjB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"validateModelsProfilesJson.js","sourceRoot":"","sources":["../../src/validation/validateModelsProfilesJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAEjB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAOtF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CACpB,KAAc,EACd,KAAa,EACb,OAAe;IAEf,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,sBAAsB,KAAK,OAAO,OAAO,EAAE,EAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgC,EAChC,UAAkB,EAClB,SAAiB;IAEjB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,IACE,CAAC,iBAAiB,CAAC,QAAQ,CACzB,OAAO,CAAC,eAAqD,CAC9D,EACD,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,4BAA4B,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,UAAU,aAAa,SAAS,GAAG,EAC/G,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IACE,CAAC,mBAAmB,CAAC,QAAQ,CAC3B,OAAO,CAAC,OAA+C,CACxD,EACD,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,oBAAoB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,UAAU,aAAa,SAAS,GAAG,EAC/F,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAiC,EACjC,UAAkB,EAClB,SAAiB;IAEjB,MAAM,YAAY,GAAG,aAAa,CAChC,QAAQ,CAAC,YAAY,EACrB,uBAAuB,EACvB,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IAEF,IACE,CAAC,mBAAmB,CAAC,QAAQ,CAC3B,YAAoD,CACrD;QACD,YAAY,KAAK,YAAY;QAC7B,YAAY,KAAK,QAAQ,EACzB,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,iBAAiB,SAAS,iBAAiB,UAAU,yDAAyD,EAC9G,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,aAAa,CACX,QAAQ,CAAC,WAAW,EACpB,sBAAsB,EACtB,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IAEF,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACjC,aAAa,CACX,QAAQ,CAAC,YAAY,EACrB,uBAAuB,EACvB,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;QACF,aAAa,CACX,QAAQ,CAAC,gBAAgB,EACzB,2BAA2B,EAC3B,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;QACtC,aAAa,CACX,QAAQ,CAAC,UAAU,EACnB,qBAAqB,EACrB,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;QACF,aAAa,CACX,QAAQ,CAAC,cAAc,EACvB,yBAAyB,EACzB,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,SAAiB,EACjB,MAAe,EACf,UAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,SAAS,kBAAkB,UAAU,GAAG,EAC3D,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,UAAU,aAAa,SAAS,GAAG,CAAC,CAAC;IACxF,aAAa,CACX,MAAM,CAAC,WAAW,EAClB,aAAa,EACb,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IACF,aAAa,CACX,MAAM,CAAC,WAAW,EAClB,aAAa,EACb,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IACF,aAAa,CACX,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,aAAa,CAC3B,MAAM,CAAC,OAAO,EACd,SAAS,EACT,YAAY,UAAU,aAAa,SAAS,GAAG,CAChD,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,SAAS,SAAS,UAAU,gHAAgH,EAC/J,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,SAAS,SAAS,UAAU,+DAA+D,OAAO,IAAI,EACzH,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mBAAmB,SAAS,SAAS,UAAU,mGAAmG,EAClJ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,iBAAiB,SAAS,iBAAiB,UAAU,qBAAqB,EAC1E,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAgB;IAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,oBAAoB,UAAU,GAAG,EACjC,EAAE,OAAO,EAAE,UAAU,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,UAAU,GAAG,CAAC,CAAC;IACrE,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,UAAU,GAAG,CAAC,CAAC;IAC7E,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,UAAU,GAAG,CAAC,CAAC;IAC7E,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,UAAU,GAAG,CAAC,CAAC;IACvE,aAAa,CACX,OAAO,CAAC,aAAa,EACrB,eAAe,EACf,YAAY,UAAU,GAAG,CAC1B,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,gCAAgC,UAAU,GAAG,EAC7C,EAAE,OAAO,EAAE,UAAU,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAuB,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,YAAY,UAAU,oBAAoB,aAAa,kBAAkB,EACzE,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CACvC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,8BAA8B,CAC5B,UAAU,EACV,OAAyC,CAC1C,CAAC;IAEF,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,6BAA6B,UAAU,GAAG,EAC1C,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAC/B,CAAC;YACJ,CAAC;QAEH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,wCAAwC,CACzC,CAAC;IACJ,CAAC;IAED,IACE,CAAC,uBAAuB,CAAC,QAAQ,CAC/B,KAAK,CAAC,MAAkD,CACzD,EACD,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,4BAA4B,EAC3E,kDAAkD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EACxE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,MAAM,KAAK,yBAAyB;QAC1C,KAAK,CAAC,MAAM,KAAK,yBAAyB,EAC1C,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;QACtE,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,8CAA8C,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IACE,MAAM,CAAC,WAAW,KAAK,SAAS;oBAChC,MAAM,CAAC,WAAW,KAAK,UAAU;oBACjC,MAAM,CAAC,WAAW,KAAK,WAAW,EAClC,CAAC;oBACD,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,mCAAmC,UAAU,aAAa,SAAS,GAAG,EACtE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,2CAA2C,EAC3C,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,oDAAoD,EACpD,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAsC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,QAA6C;IAE7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;QAC/C,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,4BAA4B,EAC3E,qDAAqD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAC3E,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,qBAAqB,WAAW,GAAG,EACnC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC1B,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAC9B,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,aAAa,WAAW,GAAG,CAC5B,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,aAAa,WAAW,iCAAiC,UAAU,GAAG,EACtE,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,aAAa,CAC7B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,aAAa,WAAW,GAAG,CAC5B,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,eAAe,CACvB,4BAA4B,EAC5B,aAAa,WAAW,gCAAgC,SAAS,kBAAkB,UAAU,GAAG,EAChG,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAyC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendorModelId.d.ts","sourceRoot":"","sources":["../src/vendorModelId.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQxD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Vendor-native model ID corrections (dotted → dashed Anthropic, stale SKUs, etc.). */
|
|
2
|
+
export const VENDOR_MODEL_ID_FIXES = {
|
|
3
|
+
"claude-haiku-4.5": "claude-haiku-4-5",
|
|
4
|
+
"claude-sonnet-4.6": "claude-sonnet-4-6",
|
|
5
|
+
"claude-opus-4.7": "claude-opus-4-8",
|
|
6
|
+
"grok-4.1-fast": "grok-build-0.1",
|
|
7
|
+
"gemini-4.0-pro": "gemini-2.5-pro",
|
|
8
|
+
"meta-llama/Llama-3.3-70b-instruct": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
9
|
+
"qwen/qwen-2.5-72b-instruct": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
|
|
10
|
+
};
|
|
11
|
+
export function fixVendorModelId(modelId) {
|
|
12
|
+
return VENDOR_MODEL_ID_FIXES[modelId] ?? modelId;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=vendorModelId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendorModelId.js","sourceRoot":"","sources":["../src/vendorModelId.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,kBAAkB,EAAE,kBAAkB;IACtC,mBAAmB,EAAE,mBAAmB;IACxC,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,gBAAgB;IAClC,mCAAmC,EAAE,yCAAyC;IAC9E,4BAA4B,EAAE,yCAAyC;CACxE,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendorPolicy.d.ts","sourceRoot":"","sources":["../src/vendorPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,SAAS,UAAU,
|
|
1
|
+
{"version":3,"file":"vendorPolicy.d.ts","sourceRoot":"","sources":["../src/vendorPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,SAAS,UAAU,EAOhD,CAAC;AAEF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAE7D;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AA8BD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAgEzB"}
|
package/dist/vendorPolicy.js
CHANGED
package/dist/vendorPolicy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendorPolicy.js","sourceRoot":"","sources":["../src/vendorPolicy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vendorPolicy.js","sourceRoot":"","sources":["../src/vendorPolicy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/ai-profiles",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Resolve AI profile names into concrete model choices with bundled defaults and remote JSON refresh",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test:integration": "npm run build && vitest run test/integration.test.ts test/exports.test.ts",
|
|
26
26
|
"test:watch": "vitest",
|
|
27
27
|
"catalog:pull": "node scripts/sync-models-registry.mjs pull",
|
|
28
|
-
"catalog:fetch-or": "node scripts/
|
|
28
|
+
"catalog:fetch-or": "npm run build && node scripts/refresh-catalog-curated.mjs",
|
|
29
29
|
"catalog:build": "node scripts/sync-models-registry.mjs build",
|
|
30
30
|
"catalog:verify": "node scripts/sync-models-registry.mjs verify",
|
|
31
31
|
"catalog:sync": "node scripts/sync-models-registry.mjs sync",
|
|
@@ -34,8 +34,9 @@
|
|
|
34
34
|
"migrate:profiles-v2": "npm run build && node scripts/migrate-models-profiles-v2.mjs",
|
|
35
35
|
"migrate:profiles-v3": "npm run build && node scripts/migrate-models-profiles-v3.mjs",
|
|
36
36
|
"registry:finish": "npm run build && node scripts/finish-registry-e2e.mjs",
|
|
37
|
-
"
|
|
38
|
-
"verify:openrouter
|
|
37
|
+
"audit:profiles": "npm run build && node scripts/simulate-profile-resolve.mjs",
|
|
38
|
+
"verify:openrouter": "npm run build && node scripts/verify-openrouter-alignment.mjs --source bundled",
|
|
39
|
+
"verify:openrouter:live": "npm run build && node scripts/verify-openrouter-alignment.mjs --source bundled --check-api",
|
|
39
40
|
"prepack": "npm run build",
|
|
40
41
|
"prepublishOnly": "npm test",
|
|
41
42
|
"pack:check": "npm pack --dry-run",
|