@x12i/ai-profiles 1.7.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 +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 +6 -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/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/profileRegistryV3.d.ts.map +1 -1
- package/dist/profileRegistryV3.js +25 -28
- package/dist/profileRegistryV3.js.map +1 -1
- package/dist/types.d.ts +2 -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 +4 -4
|
@@ -5,18 +5,13 @@ import { findCatalogModelEntry } from "./catalogEnrichment.js";
|
|
|
5
5
|
import { buildRegistryKey } from "./modelIdentity.js";
|
|
6
6
|
import { getChoiceVendorModelId } from "./profileRegistryV2.js";
|
|
7
7
|
import { resolveChoiceInvocation } from "./resolveCatalogListing.js";
|
|
8
|
+
import { stableSlugWarning } from "./openRouterSlugPolicy.js";
|
|
9
|
+
import { isCpuLocalChoice, validateOpenRouterBackedChoice, } from "./validateProfileTransportPolicy.js";
|
|
8
10
|
import { resolveAIProfile } from "./resolveAIProfile.js";
|
|
9
11
|
const defaultProfiles = bundledModelsProfiles;
|
|
10
12
|
const defaultCatalog = bundledModelsCatalog;
|
|
11
13
|
function isExemptFromCatalog(choice) {
|
|
12
|
-
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
const modelId = choice.modelId.trim();
|
|
16
|
-
if (modelId.startsWith("funcx:") || modelId.startsWith("Xenova/")) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return (choice.metadata?.openRouter === "vendor-direct" || choice.provider === "together");
|
|
14
|
+
return isCpuLocalChoice(choice);
|
|
20
15
|
}
|
|
21
16
|
function hasEmbeddedApi(choice) {
|
|
22
17
|
return (typeof choice === "object" &&
|
|
@@ -32,6 +27,19 @@ export async function validateProfileCatalogLinkage(profiles, catalog, options)
|
|
|
32
27
|
for (const [profileKey, profile] of Object.entries(profiles.profiles)) {
|
|
33
28
|
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
34
29
|
choiceCount++;
|
|
30
|
+
if (!isExemptFromCatalog(choice)) {
|
|
31
|
+
try {
|
|
32
|
+
validateOpenRouterBackedChoice(profileKey, choiceKey, choice);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
issues.push({
|
|
36
|
+
profile: profileKey,
|
|
37
|
+
choice: choiceKey,
|
|
38
|
+
code: "heuristic_fallback",
|
|
39
|
+
message: error instanceof Error ? error.message : "Invalid remote transport policy.",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
35
43
|
if (hasEmbeddedApi(choice)) {
|
|
36
44
|
issues.push({
|
|
37
45
|
profile: profileKey,
|
|
@@ -83,6 +91,16 @@ export async function validateProfileCatalogLinkage(profiles, catalog, options)
|
|
|
83
91
|
message: "Expected catalog-backed OpenRouter endpoint but invocation.openrouter is null.",
|
|
84
92
|
});
|
|
85
93
|
}
|
|
94
|
+
const orSlug = invocation.openrouter?.modelId;
|
|
95
|
+
const slugWarning = orSlug ? stableSlugWarning(orSlug) : null;
|
|
96
|
+
if (slugWarning) {
|
|
97
|
+
issues.push({
|
|
98
|
+
profile: profileKey,
|
|
99
|
+
choice: choiceKey,
|
|
100
|
+
code: "unstable_openrouter_slug",
|
|
101
|
+
message: slugWarning,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
86
104
|
}
|
|
87
105
|
}
|
|
88
106
|
const registryBuild = buildModelsRegistry(profiles, catalog);
|
|
@@ -169,6 +187,15 @@ export async function validateProfileCatalogLinkage(profiles, catalog, options)
|
|
|
169
187
|
message: `Default resolve invocation OpenRouter slug does not match catalog.`,
|
|
170
188
|
});
|
|
171
189
|
}
|
|
190
|
+
const resolvedWarning = stableSlugWarning(resolved.modelId);
|
|
191
|
+
if (resolvedWarning) {
|
|
192
|
+
issues.push({
|
|
193
|
+
profile: profileKey,
|
|
194
|
+
choice: choiceKey,
|
|
195
|
+
code: "unstable_openrouter_slug",
|
|
196
|
+
message: resolvedWarning,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
172
199
|
}
|
|
173
200
|
}
|
|
174
201
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateProfileCatalogLinkage.js","sourceRoot":"","sources":["../src/validateProfileCatalogLinkage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACpF,OAAO,qBAAqB,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"validateProfileCatalogLinkage.js","sourceRoot":"","sources":["../src/validateProfileCatalogLinkage.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,7 +48,13 @@ 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
|
}
|
|
@@ -79,6 +87,7 @@ function validateProfile(profileKey, profile) {
|
|
|
79
87
|
for (const [choiceKey, choice] of Object.entries(profile.choices)) {
|
|
80
88
|
validateChoice(choiceKey, choice, profileKey);
|
|
81
89
|
}
|
|
90
|
+
validateProfileTransportPolicy(profileKey, profile);
|
|
82
91
|
if (isRecord(profile.runtime)) {
|
|
83
92
|
validateRuntimeField(profile.runtime, profileKey, "profile");
|
|
84
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/ai-profiles",
|
|
3
|
-
"version": "1.7.
|
|
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",
|
|
@@ -35,8 +35,8 @@
|
|
|
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
37
|
"audit:profiles": "npm run build && node scripts/simulate-profile-resolve.mjs",
|
|
38
|
-
"verify:openrouter": "npm run
|
|
39
|
-
"verify:openrouter:live": "node scripts/verify-openrouter-alignment.mjs --source
|
|
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",
|
|
40
40
|
"prepack": "npm run build",
|
|
41
41
|
"prepublishOnly": "npm test",
|
|
42
42
|
"pack:check": "npm pack --dry-run",
|