@x12i/ai-profiles 1.4.0 → 1.6.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 +237 -21
- 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 +26 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -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 +161 -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/resolveModelIdentity.d.ts +17 -0
- package/dist/resolveModelIdentity.d.ts.map +1 -0
- package/dist/resolveModelIdentity.js +107 -0
- package/dist/resolveModelIdentity.js.map +1 -0
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "x12i.ai-profiles.shortcuts",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"generatedAt": "2026-05-
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"generatedAt": "2026-05-29T00:00:00.000Z",
|
|
5
5
|
"shortcuts": {
|
|
6
6
|
"economy": {
|
|
7
7
|
"profile": "cheap"
|
|
@@ -107,6 +107,105 @@
|
|
|
107
107
|
"weak": {
|
|
108
108
|
"profile": "local",
|
|
109
109
|
"choice": "llama_cpp_gguf"
|
|
110
|
+
},
|
|
111
|
+
"threat-intel": {
|
|
112
|
+
"profile": "cyber"
|
|
113
|
+
},
|
|
114
|
+
"security": {
|
|
115
|
+
"profile": "cyber"
|
|
116
|
+
},
|
|
117
|
+
"audit": {
|
|
118
|
+
"profile": "cyber",
|
|
119
|
+
"choice": "deep_forensics"
|
|
120
|
+
},
|
|
121
|
+
"log-parser": {
|
|
122
|
+
"profile": "cyber",
|
|
123
|
+
"choice": "log_analysis"
|
|
124
|
+
},
|
|
125
|
+
"writing": {
|
|
126
|
+
"profile": "content"
|
|
127
|
+
},
|
|
128
|
+
"copy": {
|
|
129
|
+
"profile": "content"
|
|
130
|
+
},
|
|
131
|
+
"pseo": {
|
|
132
|
+
"profile": "content",
|
|
133
|
+
"choice": "pseo_bulk"
|
|
134
|
+
},
|
|
135
|
+
"brand-voice": {
|
|
136
|
+
"profile": "content",
|
|
137
|
+
"choice": "brand_voice"
|
|
138
|
+
},
|
|
139
|
+
"triage": {
|
|
140
|
+
"profile": "routing",
|
|
141
|
+
"choice": "default"
|
|
142
|
+
},
|
|
143
|
+
"tl-dr": {
|
|
144
|
+
"profile": "summarization",
|
|
145
|
+
"choice": "default"
|
|
146
|
+
},
|
|
147
|
+
"mega-summary": {
|
|
148
|
+
"profile": "summarization",
|
|
149
|
+
"choice": "mega_context"
|
|
150
|
+
},
|
|
151
|
+
"image": {
|
|
152
|
+
"profile": "vision"
|
|
153
|
+
},
|
|
154
|
+
"ocr": {
|
|
155
|
+
"profile": "vision",
|
|
156
|
+
"choice": "document_ocr"
|
|
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
|
+
"absolute-floor": {
|
|
173
|
+
"profile": "cheap",
|
|
174
|
+
"choice": "absolute_floor"
|
|
175
|
+
},
|
|
176
|
+
"deepseek-cheap": {
|
|
177
|
+
"profile": "cheap",
|
|
178
|
+
"choice": "absolute_floor"
|
|
179
|
+
},
|
|
180
|
+
"grok-fast": {
|
|
181
|
+
"profile": "fast",
|
|
182
|
+
"choice": "grok_fast"
|
|
183
|
+
},
|
|
184
|
+
"deepseek-pro": {
|
|
185
|
+
"profile": "deep",
|
|
186
|
+
"choice": "deepseek_pro"
|
|
187
|
+
},
|
|
188
|
+
"grok-deep": {
|
|
189
|
+
"profile": "deep",
|
|
190
|
+
"choice": "grok_flagship"
|
|
191
|
+
},
|
|
192
|
+
"coding": {
|
|
193
|
+
"profile": "coding"
|
|
194
|
+
},
|
|
195
|
+
"dev": {
|
|
196
|
+
"profile": "coding"
|
|
197
|
+
},
|
|
198
|
+
"extraction": {
|
|
199
|
+
"profile": "extraction"
|
|
200
|
+
},
|
|
201
|
+
"extract": {
|
|
202
|
+
"profile": "extraction"
|
|
203
|
+
},
|
|
204
|
+
"routing": {
|
|
205
|
+
"profile": "routing"
|
|
206
|
+
},
|
|
207
|
+
"route": {
|
|
208
|
+
"profile": "routing"
|
|
110
209
|
}
|
|
111
210
|
}
|
|
112
211
|
}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED";
|
|
1
|
+
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "NO_ALLOWED_VENDOR" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED";
|
|
2
2
|
export declare class AIProfilesError extends Error {
|
|
3
3
|
code: AIProfilesErrorCode;
|
|
4
4
|
details?: Record<string, unknown> | undefined;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAE/B;IAEA;IAHT,YACS,IAAyB,EAChC,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAqB;QAEzB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatRegistryStatistics.d.ts","sourceRoot":"","sources":["../src/formatRegistryStatistics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,+CAA+C;AAC/C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAoD5E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Human-readable summary for logs and CLI. */
|
|
2
|
+
export function formatRegistryStatistics(stats) {
|
|
3
|
+
const lines = [
|
|
4
|
+
"AI registry statistics",
|
|
5
|
+
` generated: ${stats.generatedAt}`,
|
|
6
|
+
` profiles source: ${stats.sources.profiles}`,
|
|
7
|
+
...(stats.sources.catalog
|
|
8
|
+
? [` catalog source: ${stats.sources.catalog}`]
|
|
9
|
+
: []),
|
|
10
|
+
"",
|
|
11
|
+
"Profiles",
|
|
12
|
+
` profiles: ${stats.profiles.total}`,
|
|
13
|
+
` choices: ${stats.profiles.choices}`,
|
|
14
|
+
` shortcuts: ${stats.shortcuts.total}`,
|
|
15
|
+
` aliases: ${stats.profiles.aliases}`,
|
|
16
|
+
` providers (${stats.profiles.uniqueProviders}): ${stats.profiles.providers.join(", ")}`,
|
|
17
|
+
` unique model keys: ${stats.profiles.uniqueModelKeys}`,
|
|
18
|
+
` avg choices / profile: ${stats.profiles.averageChoicesPerProfile}`,
|
|
19
|
+
];
|
|
20
|
+
if (Object.keys(stats.profiles.byCategory).length > 0) {
|
|
21
|
+
lines.push(" by category:");
|
|
22
|
+
for (const category of stats.profiles.categories) {
|
|
23
|
+
lines.push(` ${category}: ${stats.profiles.byCategory[category] ?? 0}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (stats.catalog) {
|
|
27
|
+
lines.push("", "Catalog", ` models: ${stats.catalog.totalModels}`, ` direct providers (${stats.catalog.uniqueDirectProviders}): ${stats.catalog.directProviders.join(", ")}`, ` with pricing: ${stats.catalog.withPricing}`, ` with reasoning: ${stats.catalog.withReasoningCapability}`);
|
|
28
|
+
}
|
|
29
|
+
if (stats.linkage) {
|
|
30
|
+
lines.push("", "Linkage", ` registry entries: ${stats.linkage.registryEntries}`, ` matched: ${stats.linkage.matched}`, ` faulty: ${stats.linkage.faulty}`, ` catalog-miss: ${stats.linkage.catalogMiss}`, ` skipped: ${stats.linkage.skipped}`);
|
|
31
|
+
}
|
|
32
|
+
return lines.join("\n");
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=formatRegistryStatistics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatRegistryStatistics.js","sourceRoot":"","sources":["../src/formatRegistryStatistics.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,MAAM,UAAU,wBAAwB,CAAC,KAA2B;IAClE,MAAM,KAAK,GAAa;QACtB,wBAAwB;QACxB,gBAAgB,KAAK,CAAC,WAAW,EAAE;QACnC,sBAAsB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;YACvB,CAAC,CAAC,CAAC,qBAAqB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;QACF,UAAU;QACV,eAAe,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrC,cAAc,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;QACtC,gBAAgB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;QACvC,cAAc,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;QACtC,gBAAgB,KAAK,CAAC,QAAQ,CAAC,eAAe,MAAM,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACzF,wBAAwB,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE;QACxD,4BAA4B,KAAK,CAAC,QAAQ,CAAC,wBAAwB,EAAE;KACtE,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CACR,OAAO,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,SAAS,EACT,aAAa,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EACxC,uBAAuB,KAAK,CAAC,OAAO,CAAC,qBAAqB,MAAM,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1G,mBAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAC9C,qBAAqB,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,SAAS,EACT,uBAAuB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EACtD,cAAc,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EACrC,aAAa,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EACnC,mBAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAC9C,cAAc,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AIProfileWarning, AIRegistryStatistics, GetAIRegistryStatisticsOptions } from "./types.js";
|
|
2
|
+
export interface GetAIRegistryStatisticsResult {
|
|
3
|
+
statistics: AIRegistryStatistics;
|
|
4
|
+
warnings: AIProfileWarning[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Aggregate counts for profiles, choices, providers, catalog models, and linkage.
|
|
8
|
+
* Uses the same bundled / remote / auto loading pattern as {@link loadAIProfilesRegistry}.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAIRegistryStatistics(options?: GetAIRegistryStatisticsOptions): Promise<GetAIRegistryStatisticsResult>;
|
|
11
|
+
//# sourceMappingURL=getAIRegistryStatistics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAIRegistryStatistics.d.ts","sourceRoot":"","sources":["../src/getAIRegistryStatistics.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,OAAO,CAAC,6BAA6B,CAAC,CAiDxC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { buildRegistryStatistics } from "./computeRegistryStatistics.js";
|
|
2
|
+
import { buildModelsRegistry } from "./buildModelsRegistry.js";
|
|
3
|
+
import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
|
|
4
|
+
import { loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
|
|
5
|
+
import { loadModelsProfilesJson } from "./loader/loadModelsProfilesJson.js";
|
|
6
|
+
/**
|
|
7
|
+
* Aggregate counts for profiles, choices, providers, catalog models, and linkage.
|
|
8
|
+
* Uses the same bundled / remote / auto loading pattern as {@link loadAIProfilesRegistry}.
|
|
9
|
+
*/
|
|
10
|
+
export async function getAIRegistryStatistics(options = {}) {
|
|
11
|
+
const includeCatalog = options.includeCatalog ?? true;
|
|
12
|
+
const includeLinkage = options.includeLinkage ?? true;
|
|
13
|
+
const warnings = [];
|
|
14
|
+
const { registry, warnings: profileWarnings } = await loadAIProfilesRegistryWithWarnings({
|
|
15
|
+
source: options.source,
|
|
16
|
+
refresh: options.refresh,
|
|
17
|
+
});
|
|
18
|
+
warnings.push(...profileWarnings);
|
|
19
|
+
let catalog;
|
|
20
|
+
let catalogSource;
|
|
21
|
+
if (includeCatalog || includeLinkage) {
|
|
22
|
+
const catalogResult = await loadModelsCatalogWithWarnings({
|
|
23
|
+
source: options.source,
|
|
24
|
+
refresh: options.refresh,
|
|
25
|
+
});
|
|
26
|
+
catalog = catalogResult.catalog;
|
|
27
|
+
catalogSource = catalogResult.source;
|
|
28
|
+
warnings.push(...catalogResult.warnings);
|
|
29
|
+
}
|
|
30
|
+
let linkageRegistry;
|
|
31
|
+
if (includeLinkage && catalog) {
|
|
32
|
+
const profilesJson = await loadModelsProfilesJson({
|
|
33
|
+
source: options.source,
|
|
34
|
+
refresh: options.refresh,
|
|
35
|
+
});
|
|
36
|
+
linkageRegistry = buildModelsRegistry(profilesJson, catalog).registry;
|
|
37
|
+
}
|
|
38
|
+
const statistics = buildRegistryStatistics({
|
|
39
|
+
registry,
|
|
40
|
+
profilesSource: registry.source,
|
|
41
|
+
catalog,
|
|
42
|
+
catalogSource,
|
|
43
|
+
linkageRegistry,
|
|
44
|
+
filter: {
|
|
45
|
+
includeDeprecated: options.includeDeprecated,
|
|
46
|
+
includeExperimental: options.includeExperimental,
|
|
47
|
+
category: options.category,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
return { statistics, warnings };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=getAIRegistryStatistics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAIRegistryStatistics.js","sourceRoot":"","sources":["../src/getAIRegistryStatistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAY5E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA0C,EAAE;IAE5C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,GAC3C,MAAM,kCAAkC,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACL,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC;IACZ,IAAI,aAA+C,CAAC;IAEpD,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC;YACxD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QAChC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,eAAe,CAAC;IAEpB,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,eAAe,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACxE,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC;QACzC,QAAQ;QACR,cAAc,EAAE,QAAQ,CAAC,MAAM;QAC/B,OAAO;QACP,aAAa;QACb,eAAe;QACf,MAAM,EAAE;YACN,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
export { listAIProfiles } from "./listAIProfiles.js";
|
|
2
2
|
export { listAIShortcuts } from "./listAIShortcuts.js";
|
|
3
|
+
export { getAIRegistryStatistics } from "./getAIRegistryStatistics.js";
|
|
4
|
+
export { computeProfilesStatistics, computeCatalogStatistics, computeLinkageStatistics, computeShortcutsStatistics, buildRegistryStatistics, } from "./computeRegistryStatistics.js";
|
|
5
|
+
export { formatRegistryStatistics } from "./formatRegistryStatistics.js";
|
|
3
6
|
export { resolveAIProfile } from "./resolveAIProfile.js";
|
|
4
7
|
export { isKnownProfileOrShortcut } from "./isKnownProfileOrShortcut.js";
|
|
5
8
|
export { resolveUseOpenRouter, readUseOpenRouterFromEnv, buildOpenRouterModelId, } from "./resolveModelRouting.js";
|
|
6
|
-
export
|
|
9
|
+
export { buildModelInvocation, buildDirectInvocation, buildRegistryKey, matchOpenRouterCatalog, normalizeAnthropicVersionSlug, openRouterResolutionCandidates, } from "./modelIdentity.js";
|
|
10
|
+
export { resolveModelIdentity } from "./resolveModelIdentity.js";
|
|
11
|
+
export type { ModelVendorRef, ResolveModelIdentityOptions, } from "./resolveModelIdentity.js";
|
|
12
|
+
export { migrateModelsProfilesToV2, buildModelInvocationFromChoice, getChoiceVendorModelId, getChoiceOpenRouterModelId, getChoicePricing, flattenChoicePricing, fixVendorModelId, } from "./profileRegistryV2.js";
|
|
13
|
+
export { migrateModelsProfilesToV3, isModelsProfilesV3, applyVerifiedProfileDefaults, resolveChoicePricing, PREDICTED_VENDOR_MODEL_IDS, } from "./profileRegistryV3.js";
|
|
14
|
+
export { mergeCatalogSupplement } from "./mergeCatalogSupplement.js";
|
|
15
|
+
export { PROFILE_CATALOG_SUPPLEMENT } from "./profileCatalogSupplement.js";
|
|
16
|
+
export { enrichChoiceFromCatalog, findCatalogModelEntry, pricingFromCatalogEntry, limitsFromCatalogEntry, capabilitiesFromCatalogEntry, } from "./catalogEnrichment.js";
|
|
17
|
+
export { buildModelsRegistry, listFaultyFromRegistry } from "./buildModelsRegistry.js";
|
|
18
|
+
export { loadBundledModelsRegistry, loadModelsRegistryFromPath, lookupInvocationForChoice, listFaultyProfileChoices, } from "./loadModelsRegistry.js";
|
|
19
|
+
export { validateProfileVendorCoverage, validateBundledProfileVendorCoverage, isProfileVendorTrimReady, isProfileLeadingVendorReady, } from "./validateProfileVendorCoverage.js";
|
|
20
|
+
export { LEADING_VENDORS, pickProfileChoice } from "./vendorPolicy.js";
|
|
21
|
+
export { verifyOpenRouterAlignment, formatOpenRouterAlignmentReport, OPENROUTER_MODELS_CATALOG_URL, } from "./validation/openRouterAlignment.js";
|
|
22
|
+
export { MODELS_CATALOG_FILENAME, MODELS_CATALOG_REMOTE_URL, MODELS_CATALOG_SCHEMA, normalizeModelsCatalog, buildModelsCatalogIndex, parseDirectFromOpenRouterSlug, } from "./modelsCatalog.js";
|
|
23
|
+
export { loadAIProfilesRegistry, loadAIProfilesRegistryWithWarnings, } from "./loader/loadAIProfilesRegistry.js";
|
|
24
|
+
export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
|
|
25
|
+
export { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
|
|
26
|
+
export { buildModelsCatalogFromOpenRouterApi, buildLegacyCatalogFromOpenRouterApi, } from "./buildCatalogFromOpenRouterApi.js";
|
|
27
|
+
export { REMOTE_MODELS_CATALOG_URL, OPENROUTER_MODELS_API_URL } from "./constants.js";
|
|
28
|
+
export type { AIProfilesRegistry, AIProfileDefinition, AIProfileChoice, AIProfileShortcut, AIProfileSummary, AIShortcutSummary, ResolvedAIProfile, ListAIProfilesOptions, ResolveAIProfileOptions, AIProvider, AIModelPricing, AIRuntimeDefaults, AIProfileBackend, AIProfileWarning, InstructionTier, RegistrySourceMode, ModelInvocation, ModelInvocationEndpoint, ModelsRegistryJson, ModelRegistryEntry, ModelsCatalogJson, CatalogModelEntry, CatalogDirectSlice, CatalogOpenRouterSlice, OpenRouterModelsCatalogJson, ValidateProfileVendorCoverageResult, ProfileVendorCoverageResult, AIRegistryStatistics, GetAIRegistryStatisticsOptions, ProfileStatisticsFilter, ModelAvailabilityStatus, DeploymentType, ProfileRequiredCapabilities, ModelCapabilitiesSnapshot, } from "./types.js";
|
|
29
|
+
export type { GetAIRegistryStatisticsResult } from "./getAIRegistryStatistics.js";
|
|
30
|
+
export type { LoadCatalogResult } from "./loader/loadModelsCatalog.js";
|
|
31
|
+
export type { LoadRegistryOptions, LoadRegistryResult, } from "./types.js";
|
|
7
32
|
export type { AIModelRoutingMode } from "./resolveModelRouting.js";
|
|
8
33
|
export { AIProfilesError } from "./errors.js";
|
|
9
34
|
export type { AIProfilesErrorCode } from "./errors.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
export { listAIProfiles } from "./listAIProfiles.js";
|
|
2
2
|
export { listAIShortcuts } from "./listAIShortcuts.js";
|
|
3
|
+
export { getAIRegistryStatistics } from "./getAIRegistryStatistics.js";
|
|
4
|
+
export { computeProfilesStatistics, computeCatalogStatistics, computeLinkageStatistics, computeShortcutsStatistics, buildRegistryStatistics, } from "./computeRegistryStatistics.js";
|
|
5
|
+
export { formatRegistryStatistics } from "./formatRegistryStatistics.js";
|
|
3
6
|
export { resolveAIProfile } from "./resolveAIProfile.js";
|
|
4
7
|
export { isKnownProfileOrShortcut } from "./isKnownProfileOrShortcut.js";
|
|
5
8
|
export { resolveUseOpenRouter, readUseOpenRouterFromEnv, buildOpenRouterModelId, } from "./resolveModelRouting.js";
|
|
9
|
+
export { buildModelInvocation, buildDirectInvocation, buildRegistryKey, matchOpenRouterCatalog, normalizeAnthropicVersionSlug, openRouterResolutionCandidates, } from "./modelIdentity.js";
|
|
10
|
+
export { resolveModelIdentity } from "./resolveModelIdentity.js";
|
|
11
|
+
export { migrateModelsProfilesToV2, buildModelInvocationFromChoice, getChoiceVendorModelId, getChoiceOpenRouterModelId, getChoicePricing, flattenChoicePricing, fixVendorModelId, } from "./profileRegistryV2.js";
|
|
12
|
+
export { migrateModelsProfilesToV3, isModelsProfilesV3, applyVerifiedProfileDefaults, resolveChoicePricing, PREDICTED_VENDOR_MODEL_IDS, } from "./profileRegistryV3.js";
|
|
13
|
+
export { mergeCatalogSupplement } from "./mergeCatalogSupplement.js";
|
|
14
|
+
export { PROFILE_CATALOG_SUPPLEMENT } from "./profileCatalogSupplement.js";
|
|
15
|
+
export { enrichChoiceFromCatalog, findCatalogModelEntry, pricingFromCatalogEntry, limitsFromCatalogEntry, capabilitiesFromCatalogEntry, } from "./catalogEnrichment.js";
|
|
16
|
+
export { buildModelsRegistry, listFaultyFromRegistry } from "./buildModelsRegistry.js";
|
|
17
|
+
export { loadBundledModelsRegistry, loadModelsRegistryFromPath, lookupInvocationForChoice, listFaultyProfileChoices, } from "./loadModelsRegistry.js";
|
|
18
|
+
export { validateProfileVendorCoverage, validateBundledProfileVendorCoverage, isProfileVendorTrimReady, isProfileLeadingVendorReady, } from "./validateProfileVendorCoverage.js";
|
|
19
|
+
export { LEADING_VENDORS, pickProfileChoice } from "./vendorPolicy.js";
|
|
20
|
+
export { verifyOpenRouterAlignment, formatOpenRouterAlignmentReport, OPENROUTER_MODELS_CATALOG_URL, } from "./validation/openRouterAlignment.js";
|
|
21
|
+
export { MODELS_CATALOG_FILENAME, MODELS_CATALOG_REMOTE_URL, MODELS_CATALOG_SCHEMA, normalizeModelsCatalog, buildModelsCatalogIndex, parseDirectFromOpenRouterSlug, } from "./modelsCatalog.js";
|
|
22
|
+
export { loadAIProfilesRegistry, loadAIProfilesRegistryWithWarnings, } from "./loader/loadAIProfilesRegistry.js";
|
|
23
|
+
export { loadModelsCatalog, loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
|
|
24
|
+
export { loadBundledModelsCatalog } from "./loader/loadBundledModelsCatalog.js";
|
|
25
|
+
export { buildModelsCatalogFromOpenRouterApi, buildLegacyCatalogFromOpenRouterApi, } from "./buildCatalogFromOpenRouterApi.js";
|
|
26
|
+
export { REMOTE_MODELS_CATALOG_URL, OPENROUTER_MODELS_API_URL } from "./constants.js";
|
|
6
27
|
export { AIProfilesError } from "./errors.js";
|
|
7
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EACL,mCAAmC,EACnC,mCAAmC,GACpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAgDtF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/listAIProfiles.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { AIProfileSummary, ListAIProfilesOptions } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* List profile capability contracts (primary keys, aliases, choices, defaults).
|
|
4
|
+
* Use for pickers and discovery; call {@link resolveAIProfile} to get model + runtime details.
|
|
5
|
+
*
|
|
6
|
+
* @see README.md — “Why AI profiles”
|
|
7
|
+
*/
|
|
2
8
|
export declare function listAIProfiles(options?: ListAIProfilesOptions): Promise<AIProfileSummary[]>;
|
|
3
9
|
//# sourceMappingURL=listAIProfiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listAIProfiles.d.ts","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B"}
|
|
1
|
+
{"version":3,"file":"listAIProfiles.d.ts","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B"}
|
package/dist/listAIProfiles.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
|
|
2
|
+
/**
|
|
3
|
+
* List profile capability contracts (primary keys, aliases, choices, defaults).
|
|
4
|
+
* Use for pickers and discovery; call {@link resolveAIProfile} to get model + runtime details.
|
|
5
|
+
*
|
|
6
|
+
* @see README.md — “Why AI profiles”
|
|
7
|
+
*/
|
|
2
8
|
export async function listAIProfiles(options = {}) {
|
|
3
9
|
const { registry } = await loadAIProfilesRegistryWithWarnings({
|
|
4
10
|
source: options.source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listAIProfiles.js","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAGxF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,eAAe,EAAE,aAAa,CAAC,QAAQ;YACvC,cAAc,EAAE,aAAa,CAAC,OAAO;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"listAIProfiles.js","sourceRoot":"","sources":["../src/listAIProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAGxF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,eAAe,EAAE,aAAa,CAAC,QAAQ;YACvC,cAAc,EAAE,aAAa,CAAC,OAAO;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ModelInvocation, ModelsRegistryJson } from "./types.js";
|
|
2
|
+
export declare function loadBundledModelsRegistry(): ModelsRegistryJson;
|
|
3
|
+
export declare function loadModelsRegistryFromPath(path: string): ModelsRegistryJson;
|
|
4
|
+
export declare function lookupInvocationForChoice(registry: ModelsRegistryJson, provider: string, modelId: string): ModelInvocation | undefined;
|
|
5
|
+
export declare function listFaultyProfileChoices(registry?: ModelsRegistryJson): import("./buildModelsRegistry.js").FaultyProfileChoice[];
|
|
6
|
+
//# sourceMappingURL=loadModelsRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadModelsRegistry.d.ts","sourceRoot":"","sources":["../src/loadModelsRegistry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAWtE,wBAAgB,yBAAyB,IAAI,kBAAkB,CAK9D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAE3E;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,eAAe,GAAG,SAAS,CAoB7B;AAMD,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,kBAAgD,4DAG3D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { listFaultyFromRegistry } from "./buildModelsRegistry.js";
|
|
5
|
+
import { buildRegistryKey } from "./modelIdentity.js";
|
|
6
|
+
const dataDir = join(dirname(fileURLToPath(import.meta.url)), "data");
|
|
7
|
+
let cachedRegistry;
|
|
8
|
+
function readBundledRegistry() {
|
|
9
|
+
const path = join(dataDir, "models-registry.json");
|
|
10
|
+
return JSON.parse(readFileSync(path, "utf8"));
|
|
11
|
+
}
|
|
12
|
+
export function loadBundledModelsRegistry() {
|
|
13
|
+
if (!cachedRegistry) {
|
|
14
|
+
cachedRegistry = readBundledRegistry();
|
|
15
|
+
}
|
|
16
|
+
return cachedRegistry;
|
|
17
|
+
}
|
|
18
|
+
export function loadModelsRegistryFromPath(path) {
|
|
19
|
+
return JSON.parse(readFileSync(path, "utf8"));
|
|
20
|
+
}
|
|
21
|
+
export function lookupInvocationForChoice(registry, provider, modelId) {
|
|
22
|
+
const registryKey = buildRegistryKey(provider, modelId);
|
|
23
|
+
const entry = registry.models[registryKey];
|
|
24
|
+
if (entry) {
|
|
25
|
+
return entry.invocation;
|
|
26
|
+
}
|
|
27
|
+
for (const modelEntry of Object.values(registry.models)) {
|
|
28
|
+
const matchesUsage = modelEntry.usage.profileChoices.length > 0;
|
|
29
|
+
if (matchesUsage &&
|
|
30
|
+
modelEntry.vendor.provider === provider &&
|
|
31
|
+
normalizeModelId(modelEntry.vendor.modelId) === normalizeModelId(modelId)) {
|
|
32
|
+
return modelEntry.invocation;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
function normalizeModelId(modelId) {
|
|
38
|
+
return modelId.trim().toLowerCase();
|
|
39
|
+
}
|
|
40
|
+
export function listFaultyProfileChoices(registry = loadBundledModelsRegistry()) {
|
|
41
|
+
return listFaultyFromRegistry(registry);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=loadModelsRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadModelsRegistry.js","sourceRoot":"","sources":["../src/loadModelsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtE,IAAI,cAA8C,CAAC;AAEnD,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAuB,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,mBAAmB,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAuB,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAA4B,EAC5B,QAAgB,EAChB,OAAe;IAEf,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,IACE,YAAY;YACZ,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACvC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,EACzE,CAAC;YACD,OAAO,UAAU,CAAC,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAA+B,yBAAyB,EAAE;IAE1D,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ModelsCatalogJson } from "../types.js";
|
|
2
|
+
export interface CatalogMemoryCache {
|
|
3
|
+
catalog: ModelsCatalogJson;
|
|
4
|
+
loadedAt: number;
|
|
5
|
+
expiresAt: number;
|
|
6
|
+
source: "remote" | "bundled";
|
|
7
|
+
}
|
|
8
|
+
export declare function getCatalogMemoryCache(): CatalogMemoryCache | null;
|
|
9
|
+
export declare function setCatalogMemoryCache(cache: CatalogMemoryCache): void;
|
|
10
|
+
export declare function clearCatalogMemoryCache(): void;
|
|
11
|
+
export declare function isCatalogCacheValid(cache: CatalogMemoryCache | null): boolean;
|
|
12
|
+
//# sourceMappingURL=catalogMemoryCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogMemoryCache.d.ts","sourceRoot":"","sources":["../../src/loader/catalogMemoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AAID,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAErE;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAE7E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
let catalogMemoryCache = null;
|
|
2
|
+
export function getCatalogMemoryCache() {
|
|
3
|
+
return catalogMemoryCache;
|
|
4
|
+
}
|
|
5
|
+
export function setCatalogMemoryCache(cache) {
|
|
6
|
+
catalogMemoryCache = cache;
|
|
7
|
+
}
|
|
8
|
+
export function clearCatalogMemoryCache() {
|
|
9
|
+
catalogMemoryCache = null;
|
|
10
|
+
}
|
|
11
|
+
export function isCatalogCacheValid(cache) {
|
|
12
|
+
return !!cache && Date.now() < cache.expiresAt;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=catalogMemoryCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogMemoryCache.js","sourceRoot":"","sources":["../../src/loader/catalogMemoryCache.ts"],"names":[],"mappings":"AASA,IAAI,kBAAkB,GAA8B,IAAI,CAAC;AAEzD,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,kBAAkB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadBundledModelsCatalog.d.ts","sourceRoot":"","sources":["../../src/loader/loadBundledModelsCatalog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,wBAAgB,wBAAwB,IAAI,iBAAiB,CAkB5D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import bundledModelsCatalog from "../data/models-catalog.json" with { type: "json" };
|
|
2
|
+
import { AIProfilesError } from "../errors.js";
|
|
3
|
+
import { normalizeModelsCatalog } from "../modelsCatalog.js";
|
|
4
|
+
import { validateModelsCatalogJson } from "../validation/validateModelsCatalog.js";
|
|
5
|
+
export function loadBundledModelsCatalog() {
|
|
6
|
+
try {
|
|
7
|
+
const normalized = normalizeModelsCatalog(bundledModelsCatalog);
|
|
8
|
+
return validateModelsCatalogJson(normalized);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (error instanceof AIProfilesError) {
|
|
12
|
+
throw new AIProfilesError(error.code === "REGISTRY_SCHEMA_UNSUPPORTED" ||
|
|
13
|
+
error.code === "REGISTRY_VALIDATION_FAILED"
|
|
14
|
+
? "BUNDLED_JSON_INVALID"
|
|
15
|
+
: error.code, error.message, error.details);
|
|
16
|
+
}
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=loadBundledModelsCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadBundledModelsCatalog.js","sourceRoot":"","sources":["../../src/loader/loadBundledModelsCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAChE,OAAO,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,IAAI,KAAK,6BAA6B;gBAC1C,KAAK,CAAC,IAAI,KAAK,4BAA4B;gBAC3C,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,KAAK,CAAC,IAAI,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ModelsProfilesJson } from "../types.js";
|
|
2
|
+
export declare function normalizeModelsProfilesDocument(raw: ModelsProfilesJson): ModelsProfilesJson;
|
|
3
|
+
export declare function loadBundledModelsProfiles(): ModelsProfilesJson;
|
|
4
|
+
//# sourceMappingURL=loadBundledModelsProfiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadBundledModelsProfiles.d.ts","sourceRoot":"","sources":["../../src/loader/loadBundledModelsProfiles.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,kBAAkB,GACtB,kBAAkB,CAKpB;AAED,wBAAgB,yBAAyB,IAAI,kBAAkB,CAG9D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import bundledModelsProfiles from "../data/models-profiles.json" with { type: "json" };
|
|
2
|
+
import { isModelsProfilesV3, migrateModelsProfilesToV3, } from "../profileRegistryV3.js";
|
|
3
|
+
import { validateModelsProfilesJson } from "../validation/validateModelsProfilesJson.js";
|
|
4
|
+
export function normalizeModelsProfilesDocument(raw) {
|
|
5
|
+
if (isModelsProfilesV3(raw)) {
|
|
6
|
+
return raw;
|
|
7
|
+
}
|
|
8
|
+
return migrateModelsProfilesToV3(raw);
|
|
9
|
+
}
|
|
10
|
+
export function loadBundledModelsProfiles() {
|
|
11
|
+
const validated = validateModelsProfilesJson(bundledModelsProfiles);
|
|
12
|
+
return normalizeModelsProfilesDocument(validated);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=loadBundledModelsProfiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadBundledModelsProfiles.js","sourceRoot":"","sources":["../../src/loader/loadBundledModelsProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEvF,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAGzF,MAAM,UAAU,+BAA+B,CAC7C,GAAuB;IAEvB,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,SAAS,GAAG,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IACpE,OAAO,+BAA+B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadBundledRegistry.d.ts","sourceRoot":"","sources":["../../src/loader/loadBundledRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loadBundledRegistry.d.ts","sourceRoot":"","sources":["../../src/loader/loadBundledRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtD,wBAAgB,mBAAmB,IAAI,kBAAkB,CAyBxD"}
|
|
@@ -2,10 +2,11 @@ import bundledModelsProfiles from "../data/models-profiles.json" with { type: "j
|
|
|
2
2
|
import bundledProfilesShortcuts from "../data/profiles-shortcuts.json" with { type: "json" };
|
|
3
3
|
import { AIProfilesError } from "../errors.js";
|
|
4
4
|
import { validateModelsProfilesJson, validateProfilesShortcutsJson, } from "../validation/validateModelsProfilesJson.js";
|
|
5
|
+
import { normalizeModelsProfilesDocument } from "./loadBundledModelsProfiles.js";
|
|
5
6
|
import { combineRegistry } from "./combineRegistry.js";
|
|
6
7
|
export function loadBundledRegistry() {
|
|
7
8
|
try {
|
|
8
|
-
const modelsProfiles = validateModelsProfilesJson(bundledModelsProfiles);
|
|
9
|
+
const modelsProfiles = normalizeModelsProfilesDocument(validateModelsProfilesJson(bundledModelsProfiles));
|
|
9
10
|
const shortcuts = validateProfilesShortcutsJson(bundledProfilesShortcuts, modelsProfiles.profiles);
|
|
10
11
|
return combineRegistry(modelsProfiles, shortcuts, "bundled");
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadBundledRegistry.js","sourceRoot":"","sources":["../../src/loader/loadBundledRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvF,OAAO,wBAAwB,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"loadBundledRegistry.js","sourceRoot":"","sources":["../../src/loader/loadBundledRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvF,OAAO,wBAAwB,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,+BAA+B,CACpD,0BAA0B,CAAC,qBAAqB,CAAC,CAClD,CAAC;QACF,MAAM,SAAS,GAAG,6BAA6B,CAC7C,wBAAwB,EACxB,cAAc,CAAC,QAAQ,CACxB,CAAC;QAEF,OAAO,eAAe,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,IAAI,KAAK,6BAA6B;gBAC1C,KAAK,CAAC,IAAI,KAAK,4BAA4B;gBAC3C,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,KAAK,CAAC,IAAI,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AIProfileWarning, LoadRegistryOptions, ModelsCatalogJson } from "../types.js";
|
|
2
|
+
export interface LoadCatalogResult {
|
|
3
|
+
catalog: ModelsCatalogJson;
|
|
4
|
+
warnings: AIProfileWarning[];
|
|
5
|
+
source: "remote" | "bundled";
|
|
6
|
+
}
|
|
7
|
+
export declare function loadModelsCatalog(options?: LoadRegistryOptions): Promise<ModelsCatalogJson>;
|
|
8
|
+
export declare function loadModelsCatalogWithWarnings(options?: LoadRegistryOptions): Promise<LoadCatalogResult>;
|
|
9
|
+
//# sourceMappingURL=loadModelsCatalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadModelsCatalog.d.ts","sourceRoot":"","sources":["../../src/loader/loadModelsCatalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AAkBD,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAG5B;AAED,wBAAsB,6BAA6B,CACjD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA6D5B"}
|