@x12i/ai-profiles 4.2.1 → 4.4.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 +54 -31
- package/dist/buildCatalogFromOpenRouterApi.d.ts +3 -1
- package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
- package/dist/buildCatalogFromOpenRouterApi.js +11 -69
- package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
- package/dist/constants.d.ts +5 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +15 -2
- package/dist/constants.js.map +1 -1
- package/dist/data/models-catalog.json +5036 -2055
- package/dist/data/models-profiles.json +3442 -866
- package/dist/data/models-registry.json +4594 -2772
- package/dist/ensureRemoteOpenRouterBackend.d.ts +4 -0
- package/dist/ensureRemoteOpenRouterBackend.d.ts.map +1 -0
- package/dist/ensureRemoteOpenRouterBackend.js +33 -0
- package/dist/ensureRemoteOpenRouterBackend.js.map +1 -0
- package/dist/evidence/adapterTypes.d.ts +14 -0
- package/dist/evidence/adapterTypes.d.ts.map +1 -0
- package/dist/evidence/adapterTypes.js +2 -0
- package/dist/evidence/adapterTypes.js.map +1 -0
- package/dist/evidence/adapters.d.ts +28 -0
- package/dist/evidence/adapters.d.ts.map +1 -0
- package/dist/evidence/adapters.js +102 -0
- package/dist/evidence/adapters.js.map +1 -0
- package/dist/evidence/index.d.ts +13 -0
- package/dist/evidence/index.d.ts.map +1 -0
- package/dist/evidence/index.js +9 -0
- package/dist/evidence/index.js.map +1 -0
- package/dist/evidence/local/probes.d.ts +58 -0
- package/dist/evidence/local/probes.d.ts.map +1 -0
- package/dist/evidence/local/probes.js +210 -0
- package/dist/evidence/local/probes.js.map +1 -0
- package/dist/evidence/openRouter.d.ts +11 -0
- package/dist/evidence/openRouter.d.ts.map +1 -0
- package/dist/evidence/openRouter.js +80 -0
- package/dist/evidence/openRouter.js.map +1 -0
- package/dist/evidence/patch.d.ts +8 -0
- package/dist/evidence/patch.d.ts.map +1 -0
- package/dist/evidence/patch.js +50 -0
- package/dist/evidence/patch.js.map +1 -0
- package/dist/evidence/recommend.d.ts +20 -0
- package/dist/evidence/recommend.d.ts.map +1 -0
- package/dist/evidence/recommend.js +142 -0
- package/dist/evidence/recommend.js.map +1 -0
- package/dist/evidence/refreshModelEvidence.d.ts +25 -0
- package/dist/evidence/refreshModelEvidence.d.ts.map +1 -0
- package/dist/evidence/refreshModelEvidence.js +104 -0
- package/dist/evidence/refreshModelEvidence.js.map +1 -0
- package/dist/evidence/scoreModelForTask.d.ts +13 -0
- package/dist/evidence/scoreModelForTask.d.ts.map +1 -0
- package/dist/evidence/scoreModelForTask.js +137 -0
- package/dist/evidence/scoreModelForTask.js.map +1 -0
- package/dist/evidence/scoringConfig.d.ts +11 -0
- package/dist/evidence/scoringConfig.d.ts.map +1 -0
- package/dist/evidence/scoringConfig.js +259 -0
- package/dist/evidence/scoringConfig.js.map +1 -0
- package/dist/evidence/types.d.ts +218 -0
- package/dist/evidence/types.d.ts.map +1 -0
- package/dist/evidence/types.js +2 -0
- package/dist/evidence/types.js.map +1 -0
- package/dist/finalProfileModelMappingPatch.d.ts +31 -0
- package/dist/finalProfileModelMappingPatch.d.ts.map +1 -0
- package/dist/finalProfileModelMappingPatch.js +405 -0
- package/dist/finalProfileModelMappingPatch.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/inferModelFamily.d.ts +8 -0
- package/dist/inferModelFamily.d.ts.map +1 -0
- package/dist/inferModelFamily.js +242 -0
- package/dist/inferModelFamily.js.map +1 -0
- package/dist/isConcreteModelId.d.ts +25 -0
- package/dist/isConcreteModelId.d.ts.map +1 -0
- package/dist/isConcreteModelId.js +58 -0
- package/dist/isConcreteModelId.js.map +1 -0
- package/dist/modelIdentity.d.ts.map +1 -1
- package/dist/modelIdentity.js +2 -1
- package/dist/modelIdentity.js.map +1 -1
- package/dist/modelsCatalog.d.ts +2 -2
- package/dist/modelsCatalog.d.ts.map +1 -1
- package/dist/modelsCatalog.js +36 -34
- package/dist/modelsCatalog.js.map +1 -1
- package/dist/openRouterProviderMap.d.ts +57 -0
- package/dist/openRouterProviderMap.d.ts.map +1 -0
- package/dist/openRouterProviderMap.js +120 -0
- package/dist/openRouterProviderMap.js.map +1 -0
- package/dist/profileRegistryV3.d.ts.map +1 -1
- package/dist/profileRegistryV3.js +30 -23
- package/dist/profileRegistryV3.js.map +1 -1
- package/dist/resolveInstructionTierAndBackend.d.ts.map +1 -1
- package/dist/resolveInstructionTierAndBackend.js +18 -5
- package/dist/resolveInstructionTierAndBackend.js.map +1 -1
- package/dist/resolveLocalRuntime.d.ts +22 -0
- package/dist/resolveLocalRuntime.d.ts.map +1 -0
- package/dist/resolveLocalRuntime.js +60 -0
- package/dist/resolveLocalRuntime.js.map +1 -0
- package/dist/resolveModelRouting.d.ts.map +1 -1
- package/dist/resolveModelRouting.js +8 -1
- package/dist/resolveModelRouting.js.map +1 -1
- package/dist/sourceCatalogProviders.d.ts +9 -0
- package/dist/sourceCatalogProviders.d.ts.map +1 -0
- package/dist/sourceCatalogProviders.js +51 -0
- package/dist/sourceCatalogProviders.js.map +1 -0
- package/dist/toOptimixerModelProfile.d.ts +32 -0
- package/dist/toOptimixerModelProfile.d.ts.map +1 -0
- package/dist/toOptimixerModelProfile.js +32 -0
- package/dist/toOptimixerModelProfile.js.map +1 -0
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/validateFunctionalRouting.d.ts +14 -0
- package/dist/validateFunctionalRouting.d.ts.map +1 -0
- package/dist/validateFunctionalRouting.js +178 -0
- package/dist/validateFunctionalRouting.js.map +1 -0
- package/dist/validateProfileTransportPolicy.d.ts.map +1 -1
- package/dist/validateProfileTransportPolicy.js +19 -5
- package/dist/validateProfileTransportPolicy.js.map +1 -1
- package/dist/validation/openRouterAlignment.d.ts +1 -1
- package/dist/validation/openRouterAlignment.d.ts.map +1 -1
- package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
- package/dist/validation/validateModelsProfilesJson.js +6 -3
- package/dist/validation/validateModelsProfilesJson.js.map +1 -1
- package/dist/vendorModelId.d.ts +1 -1
- package/dist/vendorModelId.d.ts.map +1 -1
- package/dist/vendorModelId.js +4 -3
- package/dist/vendorModelId.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { canonicalizeProviderId } from "./openRouterProviderMap.js";
|
|
2
|
+
/**
|
|
3
|
+
* Product-line key used for vendor `*-latest-model` choices.
|
|
4
|
+
* Prefer specific lines (flash-lite) over broad ones (flash).
|
|
5
|
+
*/
|
|
6
|
+
export function inferModelFamily(provider, vendorModelId) {
|
|
7
|
+
const p = canonicalizeProviderId(provider ?? "");
|
|
8
|
+
const id = vendorModelId.trim().toLowerCase();
|
|
9
|
+
if (!id)
|
|
10
|
+
return undefined;
|
|
11
|
+
switch (p) {
|
|
12
|
+
case "openai":
|
|
13
|
+
return inferOpenAiFamily(id);
|
|
14
|
+
case "anthropic":
|
|
15
|
+
return inferAnthropicFamily(id);
|
|
16
|
+
case "google":
|
|
17
|
+
return inferGoogleFamily(id);
|
|
18
|
+
case "deepseek":
|
|
19
|
+
return inferDeepseekFamily(id);
|
|
20
|
+
case "minimax":
|
|
21
|
+
return inferMinimaxFamily(id);
|
|
22
|
+
case "xai":
|
|
23
|
+
return id.startsWith("grok") ? "grok" : undefined;
|
|
24
|
+
case "meta":
|
|
25
|
+
return inferMetaFamily(id);
|
|
26
|
+
case "mistralai":
|
|
27
|
+
return inferMistralFamily(id);
|
|
28
|
+
case "qwen":
|
|
29
|
+
return inferQwenFamily(id);
|
|
30
|
+
case "moonshotai":
|
|
31
|
+
return id.includes("kimi") ? "kimi" : undefined;
|
|
32
|
+
case "zai":
|
|
33
|
+
return inferZaiFamily(id);
|
|
34
|
+
case "amazon":
|
|
35
|
+
return inferAmazonFamily(id);
|
|
36
|
+
case "perplexity":
|
|
37
|
+
return inferPerplexityFamily(id);
|
|
38
|
+
case "cohere":
|
|
39
|
+
return inferCohereFamily(id);
|
|
40
|
+
case "nvidia":
|
|
41
|
+
return inferNvidiaFamily(id);
|
|
42
|
+
case "microsoft":
|
|
43
|
+
return inferMicrosoftFamily(id);
|
|
44
|
+
case "tencent":
|
|
45
|
+
return inferTencentFamily(id);
|
|
46
|
+
case "baidu":
|
|
47
|
+
return id.includes("ernie") ? "ernie" : undefined;
|
|
48
|
+
case "ai21":
|
|
49
|
+
return id.includes("jamba") ? "jamba" : undefined;
|
|
50
|
+
case "reka":
|
|
51
|
+
return inferRekaFamily(id);
|
|
52
|
+
case "upstage":
|
|
53
|
+
return id.includes("solar") ? "solar" : undefined;
|
|
54
|
+
case "openrouter":
|
|
55
|
+
return id.replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || undefined;
|
|
56
|
+
default:
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function inferOpenAiFamily(id) {
|
|
61
|
+
if (/^o\d/.test(id) || /^o[34]-/.test(id))
|
|
62
|
+
return "o";
|
|
63
|
+
if (/\bcodex\b/.test(id) || /-codex($|-)/.test(id))
|
|
64
|
+
return "codex";
|
|
65
|
+
if (/\bmini\b/.test(id) || /-mini($|-)/.test(id))
|
|
66
|
+
return "mini";
|
|
67
|
+
if (/\bnano\b/.test(id) || /-nano($|-)/.test(id))
|
|
68
|
+
return "nano";
|
|
69
|
+
return "gpt";
|
|
70
|
+
}
|
|
71
|
+
function inferAnthropicFamily(id) {
|
|
72
|
+
if (id.includes("sonnet"))
|
|
73
|
+
return "sonnet";
|
|
74
|
+
if (id.includes("opus"))
|
|
75
|
+
return "opus";
|
|
76
|
+
if (id.includes("haiku"))
|
|
77
|
+
return "haiku";
|
|
78
|
+
if (id.includes("fable"))
|
|
79
|
+
return "fable";
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
function inferGoogleFamily(id) {
|
|
83
|
+
// flash-lite before flash (substring)
|
|
84
|
+
if (id.includes("flash-lite") || id.includes("flash_lite"))
|
|
85
|
+
return "flash-lite";
|
|
86
|
+
if (id.includes("flash"))
|
|
87
|
+
return "flash";
|
|
88
|
+
if (id.includes("pro"))
|
|
89
|
+
return "pro";
|
|
90
|
+
if (id.startsWith("gemma"))
|
|
91
|
+
return "gemma";
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
function inferDeepseekFamily(id) {
|
|
95
|
+
if (id.startsWith("deepseek-r1") || id.includes("reasoner"))
|
|
96
|
+
return "reasoner";
|
|
97
|
+
if (id.includes("flash"))
|
|
98
|
+
return "flash";
|
|
99
|
+
if (/-pro($|-)/.test(id) || id.endsWith("-pro"))
|
|
100
|
+
return "pro";
|
|
101
|
+
if (id.startsWith("deepseek-chat") || id.startsWith("deepseek-v"))
|
|
102
|
+
return "chat";
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
function inferMinimaxFamily(id) {
|
|
106
|
+
if (id === "minimax-01" || id.endsWith("-01"))
|
|
107
|
+
return "legacy";
|
|
108
|
+
if (id.startsWith("minimax-m") || id.includes("minimax-m"))
|
|
109
|
+
return "m";
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
function inferMetaFamily(id) {
|
|
113
|
+
if (id.includes("llama-guard") || id.includes("guard"))
|
|
114
|
+
return "guard";
|
|
115
|
+
if (id.includes("maverick"))
|
|
116
|
+
return "maverick";
|
|
117
|
+
if (id.includes("scout"))
|
|
118
|
+
return "scout";
|
|
119
|
+
if (id.includes("llama"))
|
|
120
|
+
return "llama";
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
function inferMistralFamily(id) {
|
|
124
|
+
if (id.includes("ministral"))
|
|
125
|
+
return "ministral";
|
|
126
|
+
if (id.includes("codestral"))
|
|
127
|
+
return "codestral";
|
|
128
|
+
if (id.includes("pixtral"))
|
|
129
|
+
return "pixtral";
|
|
130
|
+
if (id.includes("voxtral"))
|
|
131
|
+
return "voxtral";
|
|
132
|
+
if (id.includes("devstral"))
|
|
133
|
+
return "devstral";
|
|
134
|
+
if (id.includes("mistral-large"))
|
|
135
|
+
return "large";
|
|
136
|
+
if (id.includes("mistral-medium"))
|
|
137
|
+
return "medium";
|
|
138
|
+
if (id.includes("mistral-small"))
|
|
139
|
+
return "small";
|
|
140
|
+
if (id.includes("mistral"))
|
|
141
|
+
return "mistral";
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
function inferQwenFamily(id) {
|
|
145
|
+
if (id.includes("coder"))
|
|
146
|
+
return "coder";
|
|
147
|
+
if (id.includes("vl"))
|
|
148
|
+
return "vl";
|
|
149
|
+
if (id.includes("flash"))
|
|
150
|
+
return "flash";
|
|
151
|
+
if (id.includes("plus"))
|
|
152
|
+
return "plus";
|
|
153
|
+
if (id.includes("max"))
|
|
154
|
+
return "max";
|
|
155
|
+
if (id.includes("turbo"))
|
|
156
|
+
return "turbo";
|
|
157
|
+
if (id.startsWith("qwen") || id.includes("qwen"))
|
|
158
|
+
return "qwen";
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
function inferZaiFamily(id) {
|
|
162
|
+
if (id.includes("flash"))
|
|
163
|
+
return "glm-flash";
|
|
164
|
+
if (id.includes("turbo"))
|
|
165
|
+
return "glm-turbo";
|
|
166
|
+
if (id.includes("glm"))
|
|
167
|
+
return "glm";
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
function inferAmazonFamily(id) {
|
|
171
|
+
if (id.includes("premier"))
|
|
172
|
+
return "premier";
|
|
173
|
+
if (id.includes("micro"))
|
|
174
|
+
return "micro";
|
|
175
|
+
if (id.includes("lite"))
|
|
176
|
+
return "lite";
|
|
177
|
+
if (id.includes("pro"))
|
|
178
|
+
return "pro";
|
|
179
|
+
if (id.includes("nova"))
|
|
180
|
+
return "nova";
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
function inferPerplexityFamily(id) {
|
|
184
|
+
if (id.includes("deep-research"))
|
|
185
|
+
return "deep-research";
|
|
186
|
+
if (id.includes("reasoning"))
|
|
187
|
+
return "reasoning";
|
|
188
|
+
if (id.includes("sonar-pro") || id.endsWith("-pro"))
|
|
189
|
+
return "sonar-pro";
|
|
190
|
+
if (id.includes("sonar"))
|
|
191
|
+
return "sonar";
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
194
|
+
function inferCohereFamily(id) {
|
|
195
|
+
if (id.includes("command-r") || id.includes("command_r"))
|
|
196
|
+
return "command-r";
|
|
197
|
+
if (id.includes("command"))
|
|
198
|
+
return "command";
|
|
199
|
+
return undefined;
|
|
200
|
+
}
|
|
201
|
+
function inferNvidiaFamily(id) {
|
|
202
|
+
if (id.includes("ultra"))
|
|
203
|
+
return "ultra";
|
|
204
|
+
if (id.includes("super"))
|
|
205
|
+
return "super";
|
|
206
|
+
if (id.includes("nano"))
|
|
207
|
+
return "nano";
|
|
208
|
+
if (id.includes("nemotron"))
|
|
209
|
+
return "nemotron";
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
function inferMicrosoftFamily(id) {
|
|
213
|
+
if (id.includes("phi"))
|
|
214
|
+
return "phi";
|
|
215
|
+
if (id.includes("wizardlm"))
|
|
216
|
+
return "wizardlm";
|
|
217
|
+
return undefined;
|
|
218
|
+
}
|
|
219
|
+
function inferTencentFamily(id) {
|
|
220
|
+
if (id.startsWith("hy") || id.includes("hunyuan"))
|
|
221
|
+
return "hunyuan";
|
|
222
|
+
return undefined;
|
|
223
|
+
}
|
|
224
|
+
function inferRekaFamily(id) {
|
|
225
|
+
if (id.includes("flash"))
|
|
226
|
+
return "flash";
|
|
227
|
+
if (id.includes("edge"))
|
|
228
|
+
return "edge";
|
|
229
|
+
if (id.includes("reka"))
|
|
230
|
+
return "reka";
|
|
231
|
+
return undefined;
|
|
232
|
+
}
|
|
233
|
+
/** Stable choice key for a product-line latest route. */
|
|
234
|
+
export function latestModelChoiceKey(modelFamily) {
|
|
235
|
+
const family = modelFamily
|
|
236
|
+
.trim()
|
|
237
|
+
.toLowerCase()
|
|
238
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
239
|
+
.replace(/^-+|-+$/g, "");
|
|
240
|
+
return `${family}-latest-model`;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=inferModelFamily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inferModelFamily.js","sourceRoot":"","sources":["../src/inferModelFamily.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `value` is a known profile-side authoring reference.
|
|
3
|
+
*
|
|
4
|
+
* `true` for:
|
|
5
|
+
* - known `profile/choice` keys (`cheap/default`)
|
|
6
|
+
* - bare known profile keys (`cheap`, `openai`) — authoring / migration only
|
|
7
|
+
* - legacy `profile@choice` when the `/` form is a known choice
|
|
8
|
+
*
|
|
9
|
+
* `false` for concrete vendor / OpenRouter / gateway model ids.
|
|
10
|
+
*
|
|
11
|
+
* Prefer {@link isKnownProfileInput} when only strict `profile/choice` should pass.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isModelProfileReference(value: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether `value` is a concrete model id backed by the bundled catalog.
|
|
16
|
+
*
|
|
17
|
+
* Catalog-only — no vendor-prefix / bare-SKU keyword heuristics.
|
|
18
|
+
* Accepts vendor slugs (`google/gemma-3-4b-it`), gateway wires
|
|
19
|
+
* (`openrouter/google/gemma-3-4b-it`), and catalog-aliased bare ids when present.
|
|
20
|
+
*
|
|
21
|
+
* Returns `false` for profile references ({@link isModelProfileReference}) and
|
|
22
|
+
* unknown strings.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isConcreteModelId(value: string): boolean;
|
|
25
|
+
//# sourceMappingURL=isConcreteModelId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isConcreteModelId.d.ts","sourceRoot":"","sources":["../src/isConcreteModelId.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAwB9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWxD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { getBundledRegistry } from "./bundledRegistry.js";
|
|
2
|
+
import { isKnownProfileInput } from "./isKnownProfileChoice.js";
|
|
3
|
+
import { normalizeKey, resolveSegmentKey } from "./normalizeKey.js";
|
|
4
|
+
import { lookupBundledCatalogModel } from "./resolveCatalogModelDetails.js";
|
|
5
|
+
/**
|
|
6
|
+
* Whether `value` is a known profile-side authoring reference.
|
|
7
|
+
*
|
|
8
|
+
* `true` for:
|
|
9
|
+
* - known `profile/choice` keys (`cheap/default`)
|
|
10
|
+
* - bare known profile keys (`cheap`, `openai`) — authoring / migration only
|
|
11
|
+
* - legacy `profile@choice` when the `/` form is a known choice
|
|
12
|
+
*
|
|
13
|
+
* `false` for concrete vendor / OpenRouter / gateway model ids.
|
|
14
|
+
*
|
|
15
|
+
* Prefer {@link isKnownProfileInput} when only strict `profile/choice` should pass.
|
|
16
|
+
*/
|
|
17
|
+
export function isModelProfileReference(value) {
|
|
18
|
+
const trimmed = value.trim();
|
|
19
|
+
if (!trimmed) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (isKnownProfileInput(trimmed)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
const at = trimmed.indexOf("@");
|
|
26
|
+
if (at > 0 && !trimmed.includes("/")) {
|
|
27
|
+
const legacy = `${trimmed.slice(0, at)}/${trimmed.slice(at + 1)}`;
|
|
28
|
+
if (isKnownProfileInput(legacy)) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (trimmed.includes("/") || trimmed.includes("@") || trimmed.includes("\\")) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const registry = getBundledRegistry();
|
|
36
|
+
return resolveSegmentKey(Object.keys(registry.profiles), trimmed) != null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Whether `value` is a concrete model id backed by the bundled catalog.
|
|
40
|
+
*
|
|
41
|
+
* Catalog-only — no vendor-prefix / bare-SKU keyword heuristics.
|
|
42
|
+
* Accepts vendor slugs (`google/gemma-3-4b-it`), gateway wires
|
|
43
|
+
* (`openrouter/google/gemma-3-4b-it`), and catalog-aliased bare ids when present.
|
|
44
|
+
*
|
|
45
|
+
* Returns `false` for profile references ({@link isModelProfileReference}) and
|
|
46
|
+
* unknown strings.
|
|
47
|
+
*/
|
|
48
|
+
export function isConcreteModelId(value) {
|
|
49
|
+
const trimmed = normalizeKey(value);
|
|
50
|
+
if (!trimmed) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
if (isModelProfileReference(value)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return lookupBundledCatalogModel(value) !== undefined;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=isConcreteModelId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isConcreteModelId.js","sourceRoot":"","sources":["../src/isConcreteModelId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,yBAAyB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelIdentity.d.ts","sourceRoot":"","sources":["../src/modelIdentity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modelIdentity.d.ts","sourceRoot":"","sources":["../src/modelIdentity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,2BAA2B,GAC3B,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD,wFAAwF;AACxF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAkCV;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,uBAAuB,CA+BzB;AAuBD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOhF;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,eAAe,CAoBjB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,GAAG,CACf,MAAM,EACN,OAAO,oBAAoB,EAAE,kBAAkB,CAChD,GACA,kBAAkB,CA+BpB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,EACR,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAC,GAC5D,GAAG,CAAC,MAAM,CAAC,GACd,OAAO,CAYT;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAa/E"}
|
package/dist/modelIdentity.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseDirectFromOpenRouterSlug } from "./modelsCatalog.js";
|
|
2
|
+
import { openRouterPrefixForProvider } from "./openRouterProviderMap.js";
|
|
2
3
|
function normalizeKey(value) {
|
|
3
4
|
return value.trim().toLowerCase();
|
|
4
5
|
}
|
|
@@ -94,7 +95,7 @@ export function buildOpenRouterModelId(provider, modelId) {
|
|
|
94
95
|
return modelId;
|
|
95
96
|
}
|
|
96
97
|
const normalizedModel = normalizeAnthropicVersionSlug(modelId);
|
|
97
|
-
return `${provider}/${normalizedModel}`;
|
|
98
|
+
return `${openRouterPrefixForProvider(provider)}/${normalizedModel}`;
|
|
98
99
|
}
|
|
99
100
|
export function buildModelInvocation(provider, modelId) {
|
|
100
101
|
const direct = buildDirectInvocation(provider, modelId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelIdentity.js","sourceRoot":"","sources":["../src/modelIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"modelIdentity.js","sourceRoot":"","sources":["../src/modelIdentity.ts"],"names":[],"mappings":"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"}
|
package/dist/modelsCatalog.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { CatalogDirectSlice, ModelsCatalogJson } from "./types.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function roundCatalogPricingUsd(value: number): number;
|
|
7
7
|
/** Canonical remote catalog asset (same host pattern as models-profiles.json). */
|
|
8
|
-
export declare const MODELS_CATALOG_REMOTE_URL = "https://open-assets.x12i.com/models-catalog.
|
|
8
|
+
export declare const MODELS_CATALOG_REMOTE_URL = "https://open-assets.x12i.com/models-catalog.json";
|
|
9
9
|
/** @deprecated Legacy filename on open-assets; prefer {@link MODELS_CATALOG_REMOTE_URL}. */
|
|
10
10
|
export declare const LEGACY_OPENROUTER_CATALOG_REMOTE_URL = "https://open-assets.x12i.com/openrouter-models-catalog.json";
|
|
11
11
|
export declare const MODELS_CATALOG_FILENAME = "models-catalog.json";
|
|
@@ -16,7 +16,7 @@ export type CatalogIndexRecord = {
|
|
|
16
16
|
directProvider?: string;
|
|
17
17
|
directModelId?: string;
|
|
18
18
|
};
|
|
19
|
-
/** Derive vendor-direct identity from an OpenRouter slug
|
|
19
|
+
/** Derive vendor-direct identity from an OpenRouter slug. */
|
|
20
20
|
export declare function parseDirectFromOpenRouterSlug(slug: string, family?: string): CatalogDirectSlice;
|
|
21
21
|
/** Normalize legacy OpenRouter-only catalog or pass through unified catalog. */
|
|
22
22
|
export declare function normalizeModelsCatalog(raw: unknown): ModelsCatalogJson;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelsCatalog.d.ts","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modelsCatalog.d.ts","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,kBAAkB,EAIlB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe5D;AAwBD,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,qDAA4B,CAAC;AAEnE,4FAA4F;AAC5F,eAAO,MAAM,oCAAoC,gEACc,CAAC;AAEhE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,EAAG,iCAA0C,CAAC;AAIhF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,6DAA6D;AAC7D,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,kBAAkB,CAkCpB;AA0ID,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAmDtE;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GACzB,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CA2CjC;AAED,sDAAsD;AACtD,eAAO,MAAM,2BAA2B,gCAA0B,CAAC"}
|
package/dist/modelsCatalog.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { normalizeOpenRouterId } from "./openRouterProviderMap.js";
|
|
2
|
+
import { inferModelFamily } from "./inferModelFamily.js";
|
|
1
3
|
/**
|
|
2
4
|
* Round USD-per-1M-token (or per-request) catalog prices to human-readable decimals,
|
|
3
5
|
* stripping IEEE-754 noise from per-token × 1_000_000 conversion.
|
|
@@ -37,46 +39,45 @@ export const LEGACY_OPENROUTER_CATALOG_REMOTE_URL = "https://open-assets.x12i.co
|
|
|
37
39
|
export const MODELS_CATALOG_FILENAME = "models-catalog.json";
|
|
38
40
|
export const MODELS_CATALOG_SCHEMA = "x12i.ai-profiles.models-catalog";
|
|
39
41
|
const LEGACY_OPENROUTER_SCHEMA = "x12i.openrouter-models.catalog";
|
|
40
|
-
const DIRECT_PROVIDERS = [
|
|
41
|
-
"openai",
|
|
42
|
-
"anthropic",
|
|
43
|
-
"google",
|
|
44
|
-
"deepseek",
|
|
45
|
-
"minimax",
|
|
46
|
-
"xai",
|
|
47
|
-
"together",
|
|
48
|
-
"mistral",
|
|
49
|
-
"groq",
|
|
50
|
-
];
|
|
51
42
|
function normalizeKey(value) {
|
|
52
43
|
return value.trim().toLowerCase();
|
|
53
44
|
}
|
|
54
|
-
/** Derive vendor-direct identity from an OpenRouter slug
|
|
45
|
+
/** Derive vendor-direct identity from an OpenRouter slug. */
|
|
55
46
|
export function parseDirectFromOpenRouterSlug(slug, family) {
|
|
56
47
|
const trimmed = slug.trim();
|
|
57
48
|
if (!trimmed.includes("/")) {
|
|
58
49
|
return { provider: "openrouter", modelId: trimmed };
|
|
59
50
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
51
|
+
try {
|
|
52
|
+
const identity = normalizeOpenRouterId(trimmed);
|
|
53
|
+
if (identity.provider === "custom") {
|
|
54
|
+
const slashIndex = trimmed.indexOf("/");
|
|
55
|
+
let prefix = trimmed.slice(0, slashIndex).toLowerCase();
|
|
56
|
+
if (prefix.startsWith("~"))
|
|
57
|
+
prefix = prefix.slice(1);
|
|
58
|
+
return {
|
|
59
|
+
provider: "custom",
|
|
60
|
+
modelId: identity.modelId,
|
|
61
|
+
vendorNamespace: family ?? prefix,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
provider: identity.provider,
|
|
66
|
+
modelId: identity.modelId,
|
|
67
|
+
};
|
|
71
68
|
}
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
catch {
|
|
70
|
+
const slashIndex = trimmed.indexOf("/");
|
|
71
|
+
let prefix = trimmed.slice(0, slashIndex).toLowerCase();
|
|
72
|
+
const bare = trimmed.slice(slashIndex + 1);
|
|
73
|
+
if (prefix.startsWith("~"))
|
|
74
|
+
prefix = prefix.slice(1);
|
|
75
|
+
return {
|
|
76
|
+
provider: "custom",
|
|
77
|
+
modelId: bare,
|
|
78
|
+
vendorNamespace: family ?? prefix,
|
|
79
|
+
};
|
|
74
80
|
}
|
|
75
|
-
return {
|
|
76
|
-
provider: "custom",
|
|
77
|
-
modelId: bare,
|
|
78
|
-
vendorNamespace: family ?? prefix,
|
|
79
|
-
};
|
|
80
81
|
}
|
|
81
82
|
function buildOpenRouterSlice(orModelId, entry) {
|
|
82
83
|
return {
|
|
@@ -148,9 +149,9 @@ function upgradeCatalogEntry(raw) {
|
|
|
148
149
|
if (!openrouter.provider) {
|
|
149
150
|
openrouter.provider = "openrouter";
|
|
150
151
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
// Always re-derive direct identity from the OpenRouter slug so known prefixes
|
|
153
|
+
// never stay stuck as `custom` after provider-map updates.
|
|
154
|
+
direct = parseDirectFromOpenRouterSlug(openrouter.modelId, raw.family);
|
|
154
155
|
const tags = Array.isArray(raw.tags)
|
|
155
156
|
? raw.tags
|
|
156
157
|
: undefined;
|
|
@@ -159,7 +160,8 @@ function upgradeCatalogEntry(raw) {
|
|
|
159
160
|
openrouter,
|
|
160
161
|
displayName: raw.displayName,
|
|
161
162
|
family: raw.family,
|
|
162
|
-
modelFamily:
|
|
163
|
+
modelFamily: inferModelFamily(direct.provider, direct.modelId) ??
|
|
164
|
+
raw.modelFamily,
|
|
163
165
|
status: raw.status,
|
|
164
166
|
modalities: raw.modalities,
|
|
165
167
|
contextWindow: raw.contextWindow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelsCatalog.js","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modelsCatalog.js","sourceRoot":"","sources":["../src/modelsCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { AIProvider } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* OpenRouter slug prefix → canonical provider ID.
|
|
4
|
+
* Known prefixes must never normalize to `custom`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const openRouterProviderToProviderId: {
|
|
7
|
+
readonly openai: "openai";
|
|
8
|
+
readonly "~openai": "openai";
|
|
9
|
+
readonly anthropic: "anthropic";
|
|
10
|
+
readonly "~anthropic": "anthropic";
|
|
11
|
+
readonly google: "google";
|
|
12
|
+
readonly deepseek: "deepseek";
|
|
13
|
+
readonly "x-ai": "xai";
|
|
14
|
+
readonly xai: "xai";
|
|
15
|
+
readonly minimax: "minimax";
|
|
16
|
+
readonly mistralai: "mistralai";
|
|
17
|
+
readonly mistral: "mistralai";
|
|
18
|
+
readonly qwen: "qwen";
|
|
19
|
+
readonly moonshotai: "moonshotai";
|
|
20
|
+
readonly "~moonshotai": "moonshotai";
|
|
21
|
+
readonly "z-ai": "zai";
|
|
22
|
+
readonly zai: "zai";
|
|
23
|
+
readonly tencent: "tencent";
|
|
24
|
+
readonly "meta-llama": "meta";
|
|
25
|
+
readonly meta: "meta";
|
|
26
|
+
readonly perplexity: "perplexity";
|
|
27
|
+
readonly cohere: "cohere";
|
|
28
|
+
readonly amazon: "amazon";
|
|
29
|
+
readonly nvidia: "nvidia";
|
|
30
|
+
readonly microsoft: "microsoft";
|
|
31
|
+
readonly baidu: "baidu";
|
|
32
|
+
readonly ai21: "ai21";
|
|
33
|
+
readonly rekaai: "reka";
|
|
34
|
+
readonly reka: "reka";
|
|
35
|
+
readonly upstage: "upstage";
|
|
36
|
+
readonly openrouter: "openrouter";
|
|
37
|
+
readonly together: "together";
|
|
38
|
+
readonly groq: "groq";
|
|
39
|
+
};
|
|
40
|
+
/** Canonical provider ID → OpenRouter slug prefix (for callability). */
|
|
41
|
+
export declare const providerIdToOpenRouterPrefix: Record<string, string>;
|
|
42
|
+
export declare function openRouterPrefixForProvider(provider: string): string;
|
|
43
|
+
export type OpenRouterProviderPrefix = keyof typeof openRouterProviderToProviderId;
|
|
44
|
+
export type ModelIdentity = {
|
|
45
|
+
provider: AIProvider;
|
|
46
|
+
modelId: string;
|
|
47
|
+
openRouterId?: string;
|
|
48
|
+
canonicalSlug?: string;
|
|
49
|
+
displayName?: string;
|
|
50
|
+
};
|
|
51
|
+
/** Known OpenRouter prefixes that must not become `custom`. */
|
|
52
|
+
export declare const KNOWN_OPENROUTER_PROVIDER_PREFIXES: Set<string>;
|
|
53
|
+
export declare function normalizeOpenRouterProviderPrefix(rawPrefix: string): AIProvider;
|
|
54
|
+
export declare function normalizeOpenRouterId(openRouterId: string): ModelIdentity;
|
|
55
|
+
/** Legacy provider aliases accepted in profiles/catalog. */
|
|
56
|
+
export declare function canonicalizeProviderId(provider: string): AIProvider;
|
|
57
|
+
//# sourceMappingURL=openRouterProviderMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openRouterProviderMap.d.ts","sourceRoot":"","sources":["../src/openRouterProviderMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCjC,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0B/D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,MAAM,MAAM,wBAAwB,GAClC,MAAM,OAAO,8BAA8B,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,kCAAkC,aAI9C,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,GAChB,UAAU,CAyBZ;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAgBzE;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAQnE"}
|