@x12i/ai-profiles 1.4.0 → 1.5.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 +186 -16
- package/dist/buildCatalogFromOpenRouterApi.d.ts +29 -0
- package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -0
- package/dist/buildCatalogFromOpenRouterApi.js +113 -0
- package/dist/buildCatalogFromOpenRouterApi.js.map +1 -0
- package/dist/buildModelsRegistry.d.ts +25 -0
- package/dist/buildModelsRegistry.d.ts.map +1 -0
- package/dist/buildModelsRegistry.js +190 -0
- package/dist/buildModelsRegistry.js.map +1 -0
- package/dist/buildResolvedProfile.d.ts +3 -1
- package/dist/buildResolvedProfile.d.ts.map +1 -1
- package/dist/buildResolvedProfile.js +94 -11
- package/dist/buildResolvedProfile.js.map +1 -1
- package/dist/catalogEnrichment.d.ts +19 -0
- package/dist/catalogEnrichment.d.ts.map +1 -0
- package/dist/catalogEnrichment.js +87 -0
- package/dist/catalogEnrichment.js.map +1 -0
- package/dist/computeRegistryStatistics.d.ts +15 -0
- package/dist/computeRegistryStatistics.d.ts.map +1 -0
- package/dist/computeRegistryStatistics.js +168 -0
- package/dist/computeRegistryStatistics.js.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/data/models-catalog.json +2219 -0
- package/dist/data/models-profiles.json +1361 -193
- package/dist/data/models-profiles.schema.json +130 -0
- package/dist/data/models-registry.json +1606 -0
- package/dist/data/openrouter-models-catalog.json +857 -0
- package/dist/data/profiles-shortcuts.json +101 -2
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/formatRegistryStatistics.d.ts +4 -0
- package/dist/formatRegistryStatistics.d.ts.map +1 -0
- package/dist/formatRegistryStatistics.js +34 -0
- package/dist/formatRegistryStatistics.js.map +1 -0
- package/dist/getAIRegistryStatistics.d.ts +11 -0
- package/dist/getAIRegistryStatistics.d.ts.map +1 -0
- package/dist/getAIRegistryStatistics.js +52 -0
- package/dist/getAIRegistryStatistics.js.map +1 -0
- package/dist/index.d.ts +22 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/dist/listAIProfiles.d.ts +6 -0
- package/dist/listAIProfiles.d.ts.map +1 -1
- package/dist/listAIProfiles.js +6 -0
- package/dist/listAIProfiles.js.map +1 -1
- package/dist/loadModelsRegistry.d.ts +6 -0
- package/dist/loadModelsRegistry.d.ts.map +1 -0
- package/dist/loadModelsRegistry.js +43 -0
- package/dist/loadModelsRegistry.js.map +1 -0
- package/dist/loader/catalogMemoryCache.d.ts +12 -0
- package/dist/loader/catalogMemoryCache.d.ts.map +1 -0
- package/dist/loader/catalogMemoryCache.js +14 -0
- package/dist/loader/catalogMemoryCache.js.map +1 -0
- package/dist/loader/loadBundledModelsCatalog.d.ts +3 -0
- package/dist/loader/loadBundledModelsCatalog.d.ts.map +1 -0
- package/dist/loader/loadBundledModelsCatalog.js +20 -0
- package/dist/loader/loadBundledModelsCatalog.js.map +1 -0
- package/dist/loader/loadBundledModelsProfiles.d.ts +4 -0
- package/dist/loader/loadBundledModelsProfiles.d.ts.map +1 -0
- package/dist/loader/loadBundledModelsProfiles.js +14 -0
- package/dist/loader/loadBundledModelsProfiles.js.map +1 -0
- package/dist/loader/loadBundledRegistry.d.ts.map +1 -1
- package/dist/loader/loadBundledRegistry.js +2 -1
- package/dist/loader/loadBundledRegistry.js.map +1 -1
- package/dist/loader/loadModelsCatalog.d.ts +9 -0
- package/dist/loader/loadModelsCatalog.d.ts.map +1 -0
- package/dist/loader/loadModelsCatalog.js +72 -0
- package/dist/loader/loadModelsCatalog.js.map +1 -0
- package/dist/loader/loadModelsProfilesJson.d.ts +3 -0
- package/dist/loader/loadModelsProfilesJson.d.ts.map +1 -0
- package/dist/loader/loadModelsProfilesJson.js +18 -0
- package/dist/loader/loadModelsProfilesJson.js.map +1 -0
- package/dist/loader/loadRemoteModelsCatalog.d.ts +3 -0
- package/dist/loader/loadRemoteModelsCatalog.d.ts.map +1 -0
- package/dist/loader/loadRemoteModelsCatalog.js +23 -0
- package/dist/loader/loadRemoteModelsCatalog.js.map +1 -0
- package/dist/loader/loadRemoteModelsProfiles.d.ts +3 -0
- package/dist/loader/loadRemoteModelsProfiles.d.ts.map +1 -0
- package/dist/loader/loadRemoteModelsProfiles.js +21 -0
- package/dist/loader/loadRemoteModelsProfiles.js.map +1 -0
- package/dist/loader/loadRemoteRegistry.d.ts.map +1 -1
- package/dist/loader/loadRemoteRegistry.js +2 -1
- package/dist/loader/loadRemoteRegistry.js.map +1 -1
- package/dist/mergeCatalogSupplement.d.ts +4 -0
- package/dist/mergeCatalogSupplement.d.ts.map +1 -0
- package/dist/mergeCatalogSupplement.js +26 -0
- package/dist/mergeCatalogSupplement.js.map +1 -0
- package/dist/modelIdentity.d.ts +33 -0
- package/dist/modelIdentity.d.ts.map +1 -0
- package/dist/modelIdentity.js +150 -0
- package/dist/modelIdentity.js.map +1 -0
- package/dist/modelsCatalog.d.ts +21 -0
- package/dist/modelsCatalog.d.ts.map +1 -0
- package/dist/modelsCatalog.js +187 -0
- package/dist/modelsCatalog.js.map +1 -0
- package/dist/profileCatalogSupplement.d.ts +7 -0
- package/dist/profileCatalogSupplement.d.ts.map +1 -0
- package/dist/profileCatalogSupplement.js +292 -0
- package/dist/profileCatalogSupplement.js.map +1 -0
- package/dist/profileRegistryV2.d.ts +19 -0
- package/dist/profileRegistryV2.d.ts.map +1 -0
- package/dist/profileRegistryV2.js +257 -0
- package/dist/profileRegistryV2.js.map +1 -0
- package/dist/profileRegistryV3.d.ts +11 -0
- package/dist/profileRegistryV3.d.ts.map +1 -0
- package/dist/profileRegistryV3.js +526 -0
- package/dist/profileRegistryV3.js.map +1 -0
- package/dist/resolveAIProfile.d.ts +8 -0
- package/dist/resolveAIProfile.d.ts.map +1 -1
- package/dist/resolveAIProfile.js +62 -18
- package/dist/resolveAIProfile.js.map +1 -1
- package/dist/resolveModelRouting.d.ts +2 -1
- package/dist/resolveModelRouting.d.ts.map +1 -1
- package/dist/resolveModelRouting.js +9 -10
- package/dist/resolveModelRouting.js.map +1 -1
- package/dist/types.d.ts +339 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/dist/validateProfileVendorCoverage.d.ts +12 -0
- package/dist/validateProfileVendorCoverage.d.ts.map +1 -0
- package/dist/validateProfileVendorCoverage.js +58 -0
- package/dist/validateProfileVendorCoverage.js.map +1 -0
- package/dist/validation/openRouterAlignment.d.ts +6 -15
- package/dist/validation/openRouterAlignment.d.ts.map +1 -1
- package/dist/validation/openRouterAlignment.js +9 -57
- package/dist/validation/openRouterAlignment.js.map +1 -1
- package/dist/validation/validateModelsCatalog.d.ts +3 -0
- package/dist/validation/validateModelsCatalog.d.ts.map +1 -0
- package/dist/validation/validateModelsCatalog.js +42 -0
- package/dist/validation/validateModelsCatalog.js.map +1 -0
- package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
- package/dist/validation/validateModelsProfilesJson.js +38 -2
- package/dist/validation/validateModelsProfilesJson.js.map +1 -1
- package/dist/vendorPolicy.d.ts +20 -0
- package/dist/vendorPolicy.d.ts.map +1 -0
- package/dist/vendorPolicy.js +71 -0
- package/dist/vendorPolicy.js.map +1 -0
- package/package.json +12 -2
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { REMOTE_MODELS_CATALOG_URL } from "./constants.js";
|
|
2
|
+
/** Canonical remote catalog asset (same host pattern as models-profiles.json). */
|
|
3
|
+
export const MODELS_CATALOG_REMOTE_URL = REMOTE_MODELS_CATALOG_URL;
|
|
4
|
+
/** @deprecated Legacy filename on open-assets; prefer {@link MODELS_CATALOG_REMOTE_URL}. */
|
|
5
|
+
export const LEGACY_OPENROUTER_CATALOG_REMOTE_URL = "https://open-assets.x12i.com/openrouter-models-catalog.json";
|
|
6
|
+
export const MODELS_CATALOG_FILENAME = "models-catalog.json";
|
|
7
|
+
export const MODELS_CATALOG_SCHEMA = "x12i.ai-profiles.models-catalog";
|
|
8
|
+
const LEGACY_OPENROUTER_SCHEMA = "x12i.openrouter-models.catalog";
|
|
9
|
+
const DIRECT_PROVIDERS = [
|
|
10
|
+
"openai",
|
|
11
|
+
"anthropic",
|
|
12
|
+
"google",
|
|
13
|
+
"deepseek",
|
|
14
|
+
"xai",
|
|
15
|
+
"together",
|
|
16
|
+
"mistral",
|
|
17
|
+
"groq",
|
|
18
|
+
];
|
|
19
|
+
function normalizeKey(value) {
|
|
20
|
+
return value.trim().toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
/** Derive vendor-direct identity from an OpenRouter slug (`qwen/qwen3.7-max` → custom + qwen3.7-max). */
|
|
23
|
+
export function parseDirectFromOpenRouterSlug(slug, family) {
|
|
24
|
+
const trimmed = slug.trim();
|
|
25
|
+
if (!trimmed.includes("/")) {
|
|
26
|
+
return { provider: "openrouter", modelId: trimmed };
|
|
27
|
+
}
|
|
28
|
+
const slashIndex = trimmed.indexOf("/");
|
|
29
|
+
let prefix = trimmed.slice(0, slashIndex).toLowerCase();
|
|
30
|
+
const bare = trimmed.slice(slashIndex + 1);
|
|
31
|
+
if (prefix.startsWith("~")) {
|
|
32
|
+
prefix = prefix.slice(1);
|
|
33
|
+
}
|
|
34
|
+
if (prefix === "x-ai") {
|
|
35
|
+
return { provider: "xai", modelId: bare };
|
|
36
|
+
}
|
|
37
|
+
if (DIRECT_PROVIDERS.includes(prefix)) {
|
|
38
|
+
return { provider: prefix, modelId: bare };
|
|
39
|
+
}
|
|
40
|
+
if (prefix === "openrouter") {
|
|
41
|
+
return { provider: "openrouter", modelId: bare };
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
provider: "custom",
|
|
45
|
+
modelId: bare,
|
|
46
|
+
vendorNamespace: family ?? prefix,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function buildOpenRouterSlice(orModelId, entry) {
|
|
50
|
+
return {
|
|
51
|
+
provider: "openrouter",
|
|
52
|
+
modelId: orModelId,
|
|
53
|
+
canonicalSlug: entry.canonicalSlug,
|
|
54
|
+
status: entry.status,
|
|
55
|
+
modalities: entry.modalities,
|
|
56
|
+
pricing: entry.pricing,
|
|
57
|
+
capabilities: entry.capabilities,
|
|
58
|
+
contextWindow: entry.contextWindow,
|
|
59
|
+
maxCompletionTokens: entry.maxCompletionTokens,
|
|
60
|
+
knowledgeCutoff: entry.knowledgeCutoff,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function legacyEntryToCatalogModel(entry) {
|
|
64
|
+
const orModelId = entry.modelId?.trim() ?? "";
|
|
65
|
+
const direct = parseDirectFromOpenRouterSlug(orModelId, entry.family);
|
|
66
|
+
const openrouter = buildOpenRouterSlice(orModelId, entry);
|
|
67
|
+
return {
|
|
68
|
+
direct,
|
|
69
|
+
openrouter,
|
|
70
|
+
displayName: entry.displayName,
|
|
71
|
+
family: entry.family,
|
|
72
|
+
status: entry.status,
|
|
73
|
+
modalities: entry.modalities,
|
|
74
|
+
contextWindow: entry.contextWindow,
|
|
75
|
+
maxCompletionTokens: entry.maxCompletionTokens,
|
|
76
|
+
knowledgeCutoff: entry.knowledgeCutoff,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function upgradeCatalogEntry(raw) {
|
|
80
|
+
const openrouterRaw = (raw.openrouter ?? {});
|
|
81
|
+
const legacyVendor = raw.vendor;
|
|
82
|
+
const legacyDirect = raw.direct;
|
|
83
|
+
let direct = legacyDirect ?? legacyVendor;
|
|
84
|
+
const orModelId = openrouterRaw.modelId ??
|
|
85
|
+
raw.modelId ??
|
|
86
|
+
"";
|
|
87
|
+
let openrouter = openrouterRaw.modelId !== undefined
|
|
88
|
+
? {
|
|
89
|
+
provider: "openrouter",
|
|
90
|
+
modelId: String(openrouterRaw.modelId),
|
|
91
|
+
canonicalSlug: openrouterRaw.canonicalSlug,
|
|
92
|
+
status: openrouterRaw.status,
|
|
93
|
+
modalities: openrouterRaw.modalities,
|
|
94
|
+
pricing: openrouterRaw.pricing,
|
|
95
|
+
capabilities: openrouterRaw.capabilities,
|
|
96
|
+
contextWindow: openrouterRaw.contextWindow,
|
|
97
|
+
maxCompletionTokens: openrouterRaw.maxCompletionTokens,
|
|
98
|
+
knowledgeCutoff: openrouterRaw.knowledgeCutoff,
|
|
99
|
+
}
|
|
100
|
+
: undefined;
|
|
101
|
+
if (!openrouter && orModelId) {
|
|
102
|
+
openrouter = buildOpenRouterSlice(orModelId, raw);
|
|
103
|
+
}
|
|
104
|
+
if (!openrouter) {
|
|
105
|
+
throw new Error("catalog entry missing openrouter modelId");
|
|
106
|
+
}
|
|
107
|
+
if (!openrouter.provider) {
|
|
108
|
+
openrouter.provider = "openrouter";
|
|
109
|
+
}
|
|
110
|
+
if (!direct || direct.provider === "openrouter") {
|
|
111
|
+
direct = parseDirectFromOpenRouterSlug(openrouter.modelId, raw.family);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
direct,
|
|
115
|
+
openrouter,
|
|
116
|
+
displayName: raw.displayName,
|
|
117
|
+
family: raw.family,
|
|
118
|
+
status: raw.status,
|
|
119
|
+
modalities: raw.modalities,
|
|
120
|
+
contextWindow: raw.contextWindow,
|
|
121
|
+
maxCompletionTokens: raw.maxCompletionTokens,
|
|
122
|
+
knowledgeCutoff: raw.knowledgeCutoff,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/** Normalize legacy OpenRouter-only catalog or pass through unified catalog. */
|
|
126
|
+
export function normalizeModelsCatalog(raw) {
|
|
127
|
+
if (!raw || typeof raw !== "object") {
|
|
128
|
+
throw new Error("models catalog must be an object");
|
|
129
|
+
}
|
|
130
|
+
const doc = raw;
|
|
131
|
+
if (doc.schema === MODELS_CATALOG_SCHEMA) {
|
|
132
|
+
const models = doc.models.map((entry) => upgradeCatalogEntry(entry));
|
|
133
|
+
return {
|
|
134
|
+
...doc,
|
|
135
|
+
models,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
if (doc.schema === LEGACY_OPENROUTER_SCHEMA || Array.isArray(doc.models)) {
|
|
139
|
+
const legacy = doc;
|
|
140
|
+
const openrouterSource = legacy.source ?? {};
|
|
141
|
+
return {
|
|
142
|
+
schema: MODELS_CATALOG_SCHEMA,
|
|
143
|
+
version: legacy.version ?? "1.0.0",
|
|
144
|
+
generatedAt: legacy.generatedAt ?? new Date().toISOString(),
|
|
145
|
+
currency: "USD",
|
|
146
|
+
pricingUnit: "1M_tokens",
|
|
147
|
+
sources: {
|
|
148
|
+
openrouter: {
|
|
149
|
+
catalogUrl: openrouterSource.catalogUrl ??
|
|
150
|
+
MODELS_CATALOG_REMOTE_URL,
|
|
151
|
+
pricingUrl: openrouterSource.pricingUrl,
|
|
152
|
+
verifiedAt: openrouterSource.verifiedAt,
|
|
153
|
+
normalization: openrouterSource.normalization,
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
notes: legacy.notes,
|
|
157
|
+
models: (legacy.models ?? []).map(legacyEntryToCatalogModel),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
throw new Error(`Unsupported models catalog schema: ${String(doc.schema)}`);
|
|
161
|
+
}
|
|
162
|
+
export function buildModelsCatalogIndex(catalog) {
|
|
163
|
+
const index = new Map();
|
|
164
|
+
for (const entry of catalog.models) {
|
|
165
|
+
const or = entry.openrouter;
|
|
166
|
+
const direct = entry.direct;
|
|
167
|
+
const record = {
|
|
168
|
+
openRouterModelId: or.modelId,
|
|
169
|
+
canonicalSlug: or.canonicalSlug,
|
|
170
|
+
directProvider: direct.provider,
|
|
171
|
+
directModelId: direct.modelId,
|
|
172
|
+
};
|
|
173
|
+
index.set(normalizeKey(or.modelId), record);
|
|
174
|
+
if (or.canonicalSlug?.trim()) {
|
|
175
|
+
index.set(normalizeKey(or.canonicalSlug), record);
|
|
176
|
+
}
|
|
177
|
+
index.set(normalizeKey(`${direct.provider}/${direct.modelId}`), record);
|
|
178
|
+
index.set(normalizeKey(direct.modelId), record);
|
|
179
|
+
if (direct.vendorNamespace) {
|
|
180
|
+
index.set(normalizeKey(`${direct.vendorNamespace}/${direct.modelId}`), record);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return index;
|
|
184
|
+
}
|
|
185
|
+
/** @deprecated Use {@link buildModelsCatalogIndex} */
|
|
186
|
+
export const buildOpenRouterCatalogIndex = buildModelsCatalogIndex;
|
|
187
|
+
//# sourceMappingURL=modelsCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelsCatalog.js","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CatalogModelEntry } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Catalog rows for every vendor SKU referenced in models-profiles.json.
|
|
4
|
+
* Merged into models-catalog.json by `npm run registry:finish`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PROFILE_CATALOG_SUPPLEMENT: CatalogModelEntry[];
|
|
7
|
+
//# sourceMappingURL=profileCatalogSupplement.d.ts.map
|
|
@@ -0,0 +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,EA8RzD,CAAC"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catalog rows for every vendor SKU referenced in models-profiles.json.
|
|
3
|
+
* Merged into models-catalog.json by `npm run registry:finish`.
|
|
4
|
+
*/
|
|
5
|
+
export const PROFILE_CATALOG_SUPPLEMENT = [
|
|
6
|
+
{
|
|
7
|
+
direct: { provider: "openai", modelId: "gpt-5.4" },
|
|
8
|
+
openrouter: {
|
|
9
|
+
provider: "openrouter",
|
|
10
|
+
modelId: "openai/gpt-5.4",
|
|
11
|
+
status: "active",
|
|
12
|
+
modalities: { input: ["text", "image", "file"], output: ["text"] },
|
|
13
|
+
pricing: { input: 2.5, output: 15, cachedInput: 0.25 },
|
|
14
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
15
|
+
contextWindow: 1050000,
|
|
16
|
+
maxCompletionTokens: 128000,
|
|
17
|
+
},
|
|
18
|
+
displayName: "OpenAI: GPT-5.4",
|
|
19
|
+
family: "gpt",
|
|
20
|
+
status: "active",
|
|
21
|
+
contextWindow: 1050000,
|
|
22
|
+
maxCompletionTokens: 128000,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
direct: { provider: "openai", modelId: "gpt-5.4-mini" },
|
|
26
|
+
openrouter: {
|
|
27
|
+
provider: "openrouter",
|
|
28
|
+
modelId: "openai/gpt-5.4-mini",
|
|
29
|
+
status: "active",
|
|
30
|
+
modalities: { input: ["text", "image", "file"], output: ["text"] },
|
|
31
|
+
pricing: { input: 0.75, output: 4.5, cachedInput: 0.075 },
|
|
32
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
33
|
+
contextWindow: 400000,
|
|
34
|
+
maxCompletionTokens: 128000,
|
|
35
|
+
},
|
|
36
|
+
displayName: "OpenAI: GPT-5.4 Mini",
|
|
37
|
+
family: "gpt",
|
|
38
|
+
status: "active",
|
|
39
|
+
contextWindow: 400000,
|
|
40
|
+
maxCompletionTokens: 128000,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
direct: { provider: "openai", modelId: "gpt-4o-mini" },
|
|
44
|
+
openrouter: {
|
|
45
|
+
provider: "openrouter",
|
|
46
|
+
modelId: "openai/gpt-4o-mini",
|
|
47
|
+
status: "active",
|
|
48
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
49
|
+
pricing: { input: 0.15, output: 0.6, cachedInput: 0.075 },
|
|
50
|
+
capabilities: { reasoning: false, toolCalling: true, structuredOutputs: true },
|
|
51
|
+
contextWindow: 128000,
|
|
52
|
+
maxCompletionTokens: 16384,
|
|
53
|
+
},
|
|
54
|
+
displayName: "OpenAI: GPT-4o Mini",
|
|
55
|
+
family: "gpt",
|
|
56
|
+
status: "active",
|
|
57
|
+
contextWindow: 128000,
|
|
58
|
+
maxCompletionTokens: 16384,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
direct: { provider: "anthropic", modelId: "claude-sonnet-4-6" },
|
|
62
|
+
openrouter: {
|
|
63
|
+
provider: "openrouter",
|
|
64
|
+
modelId: "anthropic/claude-sonnet-4.6",
|
|
65
|
+
status: "active",
|
|
66
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
67
|
+
pricing: {
|
|
68
|
+
input: 3,
|
|
69
|
+
output: 15,
|
|
70
|
+
cachedInput: 0.3,
|
|
71
|
+
cacheWrite: 3.75,
|
|
72
|
+
},
|
|
73
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
74
|
+
contextWindow: 200000,
|
|
75
|
+
maxCompletionTokens: 8192,
|
|
76
|
+
},
|
|
77
|
+
displayName: "Anthropic: Claude Sonnet 4.6",
|
|
78
|
+
family: "claude",
|
|
79
|
+
status: "active",
|
|
80
|
+
contextWindow: 200000,
|
|
81
|
+
maxCompletionTokens: 8192,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
direct: { provider: "anthropic", modelId: "claude-opus-4-8" },
|
|
85
|
+
openrouter: {
|
|
86
|
+
provider: "openrouter",
|
|
87
|
+
modelId: "anthropic/claude-opus-4.8",
|
|
88
|
+
status: "active",
|
|
89
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
90
|
+
pricing: {
|
|
91
|
+
input: 15,
|
|
92
|
+
output: 75,
|
|
93
|
+
cachedInput: 1.5,
|
|
94
|
+
cacheWrite: 18.75,
|
|
95
|
+
},
|
|
96
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
97
|
+
contextWindow: 200000,
|
|
98
|
+
maxCompletionTokens: 8192,
|
|
99
|
+
},
|
|
100
|
+
displayName: "Anthropic: Claude Opus 4.8",
|
|
101
|
+
family: "claude",
|
|
102
|
+
status: "active",
|
|
103
|
+
contextWindow: 200000,
|
|
104
|
+
maxCompletionTokens: 8192,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
direct: { provider: "anthropic", modelId: "claude-opus-4-5" },
|
|
108
|
+
openrouter: {
|
|
109
|
+
provider: "openrouter",
|
|
110
|
+
modelId: "anthropic/claude-opus-4.5",
|
|
111
|
+
status: "active",
|
|
112
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
113
|
+
pricing: {
|
|
114
|
+
input: 15,
|
|
115
|
+
output: 75,
|
|
116
|
+
cachedInput: 1.5,
|
|
117
|
+
cacheWrite: 18.75,
|
|
118
|
+
},
|
|
119
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
120
|
+
contextWindow: 200000,
|
|
121
|
+
maxCompletionTokens: 8192,
|
|
122
|
+
},
|
|
123
|
+
displayName: "Anthropic: Claude Opus 4.5",
|
|
124
|
+
family: "claude",
|
|
125
|
+
status: "active",
|
|
126
|
+
contextWindow: 200000,
|
|
127
|
+
maxCompletionTokens: 8192,
|
|
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
|
+
{
|
|
154
|
+
direct: { provider: "google", modelId: "gemini-2.5-flash-lite" },
|
|
155
|
+
openrouter: {
|
|
156
|
+
provider: "openrouter",
|
|
157
|
+
modelId: "google/gemini-2.5-flash-lite",
|
|
158
|
+
status: "active",
|
|
159
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
160
|
+
pricing: {
|
|
161
|
+
input: 0.05,
|
|
162
|
+
output: 0.2,
|
|
163
|
+
cachedInput: 0.01,
|
|
164
|
+
batchInput: 0.025,
|
|
165
|
+
batchOutput: 0.1,
|
|
166
|
+
},
|
|
167
|
+
capabilities: { reasoning: false, toolCalling: true, structuredOutputs: true },
|
|
168
|
+
contextWindow: 1048576,
|
|
169
|
+
maxCompletionTokens: 65536,
|
|
170
|
+
},
|
|
171
|
+
displayName: "Google: Gemini 2.5 Flash Lite",
|
|
172
|
+
family: "gemini",
|
|
173
|
+
status: "active",
|
|
174
|
+
contextWindow: 1048576,
|
|
175
|
+
maxCompletionTokens: 65536,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
direct: { provider: "anthropic", modelId: "claude-haiku-4-5" },
|
|
179
|
+
openrouter: {
|
|
180
|
+
provider: "openrouter",
|
|
181
|
+
modelId: "anthropic/claude-haiku-4.5",
|
|
182
|
+
status: "active",
|
|
183
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
184
|
+
pricing: { input: 0.8, output: 4, cachedInput: 0.08 },
|
|
185
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
186
|
+
contextWindow: 200000,
|
|
187
|
+
maxCompletionTokens: 8192,
|
|
188
|
+
},
|
|
189
|
+
displayName: "Anthropic: Claude Haiku 4.5",
|
|
190
|
+
family: "claude",
|
|
191
|
+
status: "active",
|
|
192
|
+
contextWindow: 200000,
|
|
193
|
+
maxCompletionTokens: 8192,
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
direct: { provider: "anthropic", modelId: "claude-sonnet-4-5" },
|
|
197
|
+
openrouter: {
|
|
198
|
+
provider: "openrouter",
|
|
199
|
+
modelId: "anthropic/claude-sonnet-4.5",
|
|
200
|
+
status: "active",
|
|
201
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
202
|
+
pricing: { input: 3, output: 15, cachedInput: 0.3, cacheWrite: 3.75 },
|
|
203
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
204
|
+
contextWindow: 200000,
|
|
205
|
+
maxCompletionTokens: 8192,
|
|
206
|
+
},
|
|
207
|
+
displayName: "Anthropic: Claude Sonnet 4.5",
|
|
208
|
+
family: "claude",
|
|
209
|
+
status: "active",
|
|
210
|
+
contextWindow: 200000,
|
|
211
|
+
maxCompletionTokens: 8192,
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
direct: { provider: "openai", modelId: "gpt-4.1" },
|
|
215
|
+
openrouter: {
|
|
216
|
+
provider: "openrouter",
|
|
217
|
+
modelId: "openai/gpt-4.1",
|
|
218
|
+
status: "active",
|
|
219
|
+
modalities: { input: ["text", "image"], output: ["text"] },
|
|
220
|
+
pricing: { input: 2, output: 8, cachedInput: 0.5 },
|
|
221
|
+
capabilities: { reasoning: true, toolCalling: true, structuredOutputs: true },
|
|
222
|
+
contextWindow: 1047576,
|
|
223
|
+
maxCompletionTokens: 32768,
|
|
224
|
+
},
|
|
225
|
+
displayName: "OpenAI: GPT-4.1",
|
|
226
|
+
family: "gpt",
|
|
227
|
+
status: "active",
|
|
228
|
+
contextWindow: 1047576,
|
|
229
|
+
maxCompletionTokens: 32768,
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
direct: { provider: "deepseek", modelId: "deepseek-chat" },
|
|
233
|
+
openrouter: {
|
|
234
|
+
provider: "openrouter",
|
|
235
|
+
modelId: "deepseek/deepseek-chat",
|
|
236
|
+
status: "active",
|
|
237
|
+
modalities: { input: ["text"], output: ["text"] },
|
|
238
|
+
pricing: { input: 0.27, output: 1.1 },
|
|
239
|
+
capabilities: { reasoning: false, toolCalling: true, structuredOutputs: true },
|
|
240
|
+
contextWindow: 65536,
|
|
241
|
+
maxCompletionTokens: 8192,
|
|
242
|
+
},
|
|
243
|
+
displayName: "DeepSeek: Chat",
|
|
244
|
+
family: "deepseek",
|
|
245
|
+
status: "active",
|
|
246
|
+
contextWindow: 65536,
|
|
247
|
+
maxCompletionTokens: 8192,
|
|
248
|
+
},
|
|
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
|
+
];
|
|
292
|
+
//# sourceMappingURL=profileCatalogSupplement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileCatalogSupplement.js","sourceRoot":"","sources":["../src/profileCatalogSupplement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AIProfileChoice, AIProfileDefinition, AIModelPricing, ModelsProfilesJson, ProfileChoiceApi, ProfileChoicePricingV2 } from "./types.js";
|
|
2
|
+
export type { ProfileChoiceApi, ProfileChoicePricingV2, };
|
|
3
|
+
/** Vendor-native model ID corrections (dotted → dashed Anthropic, stale SKUs, etc.). */
|
|
4
|
+
export declare const VENDOR_MODEL_ID_FIXES: Record<string, string>;
|
|
5
|
+
export declare function fixVendorModelId(modelId: string): string;
|
|
6
|
+
export declare function openRouterSlugFor(provider: string, vendorModelId: string): string | null;
|
|
7
|
+
/** Flatten v2 pricing for {@link ResolvedAIProfile} and legacy consumers. */
|
|
8
|
+
export declare function flattenChoicePricing(pricing?: ProfileChoicePricingV2): AIModelPricing | undefined;
|
|
9
|
+
export declare function isModelsProfilesV2(value: ModelsProfilesJson): boolean;
|
|
10
|
+
export declare function getChoiceApi(choice: AIProfileChoice): ProfileChoiceApi | undefined;
|
|
11
|
+
export declare function getChoiceVendorModelId(choice: AIProfileChoice): string;
|
|
12
|
+
export declare function buildModelInvocationFromChoice(choice: AIProfileChoice): import("./modelIdentity.js").ModelInvocation;
|
|
13
|
+
export declare function getChoiceOpenRouterModelId(choice: AIProfileChoice): string | null;
|
|
14
|
+
export declare function getChoicePricing(choice: AIProfileChoice): AIModelPricing | undefined;
|
|
15
|
+
export declare function defaultFallbackOrder(profile: AIProfileDefinition): string[];
|
|
16
|
+
export declare function migrateModelsProfilesToV2(input: ModelsProfilesJson, options?: {
|
|
17
|
+
lastVerifiedAt?: string;
|
|
18
|
+
}): ModelsProfilesJson;
|
|
19
|
+
//# sourceMappingURL=profileRegistryV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileRegistryV2.d.ts","sourceRoot":"","sources":["../src/profileRegistryV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EAEd,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,GACvB,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQxD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxF;AAmFD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,GAAG,SAAS,CAuB5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS,CAElF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAGtE;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,GACtB,OAAO,oBAAoB,EAAE,eAAe,CA6B9C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAMjF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,SAAS,CAKpF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,GAC3B,MAAM,EAAE,CAQV;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,kBAAkB,CA2GpB"}
|