@x12i/ai-profiles 4.4.0 → 4.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1086 -1082
  3. package/dist/browser.d.ts +31 -0
  4. package/dist/browser.d.ts.map +1 -0
  5. package/dist/browser.js +124 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/data/models-catalog.json +17393 -17393
  8. package/dist/data/models-profiles.bak.json +2336 -2336
  9. package/dist/data/models-profiles.json +10370 -8746
  10. package/dist/data/models-profiles.schema.json +240 -240
  11. package/dist/data/models-registry.json +11192 -10728
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/inferModelFamily.d.ts +2 -0
  17. package/dist/inferModelFamily.d.ts.map +1 -1
  18. package/dist/inferModelFamily.js +32 -1
  19. package/dist/inferModelFamily.js.map +1 -1
  20. package/package.json +90 -85
  21. package/dist/data/openrouter-models-catalog.json +0 -857
  22. package/dist/data/profiles-shortcuts.json +0 -295
  23. package/dist/isKnownProfileInput.d.ts +0 -9
  24. package/dist/isKnownProfileInput.d.ts.map +0 -1
  25. package/dist/isKnownProfileInput.js +0 -14
  26. package/dist/isKnownProfileInput.js.map +0 -1
  27. package/dist/isKnownProfileOrShortcut.d.ts +0 -6
  28. package/dist/isKnownProfileOrShortcut.d.ts.map +0 -1
  29. package/dist/isKnownProfileOrShortcut.js +0 -11
  30. package/dist/isKnownProfileOrShortcut.js.map +0 -1
  31. package/dist/legacyGraphEngineAliasMap.d.ts +0 -13
  32. package/dist/legacyGraphEngineAliasMap.d.ts.map +0 -1
  33. package/dist/legacyGraphEngineAliasMap.js +0 -16
  34. package/dist/legacyGraphEngineAliasMap.js.map +0 -1
  35. package/dist/listAIShortcuts.d.ts +0 -4
  36. package/dist/listAIShortcuts.d.ts.map +0 -1
  37. package/dist/listAIShortcuts.js +0 -12
  38. package/dist/listAIShortcuts.js.map +0 -1
  39. package/dist/profileDiscoveryMatch.d.ts +0 -15
  40. package/dist/profileDiscoveryMatch.d.ts.map +0 -1
  41. package/dist/profileDiscoveryMatch.js +0 -18
  42. package/dist/profileDiscoveryMatch.js.map +0 -1
  43. package/dist/profileInputMatch.d.ts +0 -20
  44. package/dist/profileInputMatch.d.ts.map +0 -1
  45. package/dist/profileInputMatch.js +0 -30
  46. package/dist/profileInputMatch.js.map +0 -1
  47. package/dist/profileModelFallback.d.ts +0 -13
  48. package/dist/profileModelFallback.d.ts.map +0 -1
  49. package/dist/profileModelFallback.js +0 -180
  50. package/dist/profileModelFallback.js.map +0 -1
@@ -1,295 +0,0 @@
1
- {
2
- "schema": "x12i.ai-profiles.shortcuts",
3
- "version": "2.0.0",
4
- "generatedAt": "2026-06-02T13:39:41.774Z",
5
- "shortcuts": {
6
- "economy": {
7
- "profile": "cheap",
8
- "choice": "default"
9
- },
10
- "budget": {
11
- "profile": "cheap",
12
- "choice": "default"
13
- },
14
- "low-cost": {
15
- "profile": "cheap",
16
- "choice": "default"
17
- },
18
- "cheapest": {
19
- "profile": "cheap",
20
- "choice": "google_floor"
21
- },
22
- "cheap-safe": {
23
- "profile": "cheap",
24
- "choice": "anthropic_cheap"
25
- },
26
- "cheap-power": {
27
- "profile": "value",
28
- "choice": "default"
29
- },
30
- "value": {
31
- "profile": "value",
32
- "choice": "default"
33
- },
34
- "test": {
35
- "profile": "testing",
36
- "choice": "default"
37
- },
38
- "testing": {
39
- "profile": "testing",
40
- "choice": "default"
41
- },
42
- "smoke-test": {
43
- "profile": "testing",
44
- "choice": "default"
45
- },
46
- "instant": {
47
- "profile": "fast",
48
- "choice": "default"
49
- },
50
- "quick": {
51
- "profile": "fast",
52
- "choice": "default"
53
- },
54
- "fast-cheap": {
55
- "profile": "fast",
56
- "choice": "google_fast"
57
- },
58
- "default": {
59
- "profile": "balanced",
60
- "choice": "default"
61
- },
62
- "standard": {
63
- "profile": "balanced",
64
- "choice": "default"
65
- },
66
- "normal": {
67
- "profile": "balanced",
68
- "choice": "default"
69
- },
70
- "thinking": {
71
- "profile": "deep",
72
- "choice": "default"
73
- },
74
- "high-reasoning": {
75
- "profile": "deep",
76
- "choice": "default"
77
- },
78
- "long-context": {
79
- "profile": "deep",
80
- "choice": "google_deep"
81
- },
82
- "ultra": {
83
- "profile": "deep",
84
- "choice": "default"
85
- },
86
- "premium": {
87
- "profile": "pro",
88
- "choice": "default"
89
- },
90
- "best": {
91
- "profile": "pro",
92
- "choice": "default"
93
- },
94
- "strong": {
95
- "profile": "pro",
96
- "choice": "default"
97
- },
98
- "schema": {
99
- "profile": "json",
100
- "choice": "default"
101
- },
102
- "strict-json": {
103
- "profile": "json",
104
- "choice": "default"
105
- },
106
- "cheap-json": {
107
- "profile": "json",
108
- "choice": "google_json"
109
- },
110
- "agent": {
111
- "profile": "agentic",
112
- "choice": "default"
113
- },
114
- "tools": {
115
- "profile": "agentic",
116
- "choice": "default"
117
- },
118
- "cheap-agent": {
119
- "profile": "agentic",
120
- "choice": "google_agentic"
121
- },
122
- "web-research": {
123
- "profile": "research",
124
- "choice": "default"
125
- },
126
- "source-review": {
127
- "profile": "research",
128
- "choice": "default"
129
- },
130
- "premium-research": {
131
- "profile": "research",
132
- "choice": "openai_research"
133
- },
134
- "offline": {
135
- "profile": "local",
136
- "choice": "llama_cpp_gguf"
137
- },
138
- "on-device": {
139
- "profile": "local",
140
- "choice": "llama_cpp_gguf"
141
- },
142
- "cpu": {
143
- "profile": "local",
144
- "choice": "llama_cpp_gguf"
145
- },
146
- "weak": {
147
- "profile": "local",
148
- "choice": "llama_cpp_gguf"
149
- },
150
- "threat-intel": {
151
- "profile": "cyber",
152
- "choice": "default"
153
- },
154
- "security": {
155
- "profile": "cyber",
156
- "choice": "default"
157
- },
158
- "audit": {
159
- "profile": "cyber",
160
- "choice": "deep_forensics"
161
- },
162
- "log-parser": {
163
- "profile": "cyber",
164
- "choice": "log_analysis"
165
- },
166
- "writing": {
167
- "profile": "content",
168
- "choice": "default"
169
- },
170
- "copy": {
171
- "profile": "content",
172
- "choice": "default"
173
- },
174
- "pseo": {
175
- "profile": "content",
176
- "choice": "pseo_bulk"
177
- },
178
- "brand-voice": {
179
- "profile": "content",
180
- "choice": "brand_voice"
181
- },
182
- "triage": {
183
- "profile": "routing",
184
- "choice": "default"
185
- },
186
- "tl-dr": {
187
- "profile": "sum",
188
- "choice": "default"
189
- },
190
- "mega-summary": {
191
- "profile": "sum",
192
- "choice": "mega_context"
193
- },
194
- "image": {
195
- "profile": "vision",
196
- "choice": "default"
197
- },
198
- "ocr": {
199
- "profile": "vision",
200
- "choice": "document_ocr"
201
- },
202
- "absolute-floor": {
203
- "profile": "cheap",
204
- "choice": "deepseek_cheap"
205
- },
206
- "coding": {
207
- "profile": "coding",
208
- "choice": "default"
209
- },
210
- "dev": {
211
- "profile": "coding",
212
- "choice": "default"
213
- },
214
- "extraction": {
215
- "profile": "extraction",
216
- "choice": "default"
217
- },
218
- "extract": {
219
- "profile": "extraction",
220
- "choice": "default"
221
- },
222
- "routing": {
223
- "profile": "routing",
224
- "choice": "default"
225
- },
226
- "route": {
227
- "profile": "routing",
228
- "choice": "default"
229
- },
230
- "cyber-analysis": {
231
- "profile": "cyber",
232
- "choice": "default"
233
- },
234
- "cyber-default": {
235
- "profile": "cyber",
236
- "choice": "default"
237
- },
238
- "cyber-forensics": {
239
- "profile": "cyber",
240
- "choice": "deep_forensics"
241
- },
242
- "final-answer": {
243
- "profile": "vol",
244
- "choice": "final"
245
- },
246
- "hard-reason": {
247
- "profile": "deep",
248
- "choice": "deepseek_pro"
249
- },
250
- "volume-agent": {
251
- "profile": "vol",
252
- "choice": "default"
253
- },
254
- "agent-volume": {
255
- "profile": "vol",
256
- "choice": "default"
257
- },
258
- "flash-tier": {
259
- "profile": "vol",
260
- "choice": "flash"
261
- },
262
- "coding-pro": {
263
- "profile": "coding",
264
- "choice": "deepseek_pro"
265
- },
266
- "intel-cyber": {
267
- "profile": "cyber",
268
- "choice": "grok_intel"
269
- },
270
- "mm-cheap": {
271
- "profile": "cheap",
272
- "choice": "minimax_cheap"
273
- },
274
- "mm-fast": {
275
- "profile": "fast",
276
- "choice": "minimax_fast"
277
- },
278
- "mm-balanced": {
279
- "profile": "balanced",
280
- "choice": "minimax_balanced"
281
- },
282
- "mm-deep": {
283
- "profile": "deep",
284
- "choice": "minimax_deep"
285
- },
286
- "mm-agent": {
287
- "profile": "agentic",
288
- "choice": "minimax_agentic"
289
- },
290
- "mm-coding": {
291
- "profile": "coding",
292
- "choice": "minimax_coding"
293
- }
294
- }
295
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Whether `input` is a registry-side profile reference (not a concrete model slug).
3
- *
4
- * Returns true for `profile/choice`, shortcuts, bare profiles, and profile aliases.
5
- * Returns false for vendor slugs (`google/gemini-2.5-flash-lite`) and gateway wires
6
- * (`openrouter/openai/gpt-5.5`). Sync — bundled registry only.
7
- */
8
- export declare function isKnownProfileInput(input: string): boolean;
9
- //# sourceMappingURL=isKnownProfileInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isKnownProfileInput.d.ts","sourceRoot":"","sources":["../src/isKnownProfileInput.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG1D"}
@@ -1,14 +0,0 @@
1
- import { getBundledRegistry } from "./bundledRegistry.js";
2
- import { isKnownProfileInputForRegistry } from "./profileChoiceKey.js";
3
- /**
4
- * Whether `input` is a registry-side profile reference (not a concrete model slug).
5
- *
6
- * Returns true for `profile/choice`, shortcuts, bare profiles, and profile aliases.
7
- * Returns false for vendor slugs (`google/gemini-2.5-flash-lite`) and gateway wires
8
- * (`openrouter/openai/gpt-5.5`). Sync — bundled registry only.
9
- */
10
- export function isKnownProfileInput(input) {
11
- const registry = getBundledRegistry();
12
- return isKnownProfileInputForRegistry(registry, input);
13
- }
14
- //# sourceMappingURL=isKnownProfileInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isKnownProfileInput.js","sourceRoot":"","sources":["../src/isKnownProfileInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Returns true when `input` matches a profile primary key, shortcut, or alias.
3
- * Sync — bundled registry only, safe on first paint.
4
- */
5
- export declare function isKnownProfileOrShortcut(input: string): boolean;
6
- //# sourceMappingURL=isKnownProfileOrShortcut.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isKnownProfileOrShortcut.d.ts","sourceRoot":"","sources":["../src/isKnownProfileOrShortcut.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/D"}
@@ -1,11 +0,0 @@
1
- import { getBundledRegistry } from "./bundledRegistry.js";
2
- import { matchProfileInput } from "./profileInputMatch.js";
3
- /**
4
- * Returns true when `input` matches a profile primary key, shortcut, or alias.
5
- * Sync — bundled registry only, safe on first paint.
6
- */
7
- export function isKnownProfileOrShortcut(input) {
8
- const registry = getBundledRegistry();
9
- return matchProfileInput(registry, input) !== undefined;
10
- }
11
- //# sourceMappingURL=isKnownProfileOrShortcut.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isKnownProfileOrShortcut.js","sourceRoot":"","sources":["../src/isKnownProfileOrShortcut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC;AAC1D,CAAC"}
@@ -1,13 +0,0 @@
1
- import { LEGACY_GRAPH_ENGINE_ALIAS_KEYS } from "./constants.js";
2
- export { LEGACY_GRAPH_ENGINE_ALIAS_KEYS };
3
- export type LegacyGraphEngineAliasKey = (typeof LEGACY_GRAPH_ENGINE_ALIAS_KEYS)[number];
4
- /**
5
- * Maps legacy graph-engine profile tokens to recommended primary profile keys.
6
- * For one-time migration scripts only — graph JSON should store primary keys
7
- * (`balanced`, `cheap`, …) after breaking migration.
8
- *
9
- * Distinct from FuncX runtime shortcuts in `profiles-shortcuts.json`
10
- * (e.g. `strong` → `pro`, `weak` → `local` via `resolveAIProfile`).
11
- */
12
- export declare const legacyGraphEngineAliasMap: Readonly<Record<LegacyGraphEngineAliasKey, string>>;
13
- //# sourceMappingURL=legacyGraphEngineAliasMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacyGraphEngineAliasMap.d.ts","sourceRoot":"","sources":["../src/legacyGraphEngineAliasMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAKjC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { LEGACY_GRAPH_ENGINE_ALIAS_KEYS } from "./constants.js";
2
- export { LEGACY_GRAPH_ENGINE_ALIAS_KEYS };
3
- /**
4
- * Maps legacy graph-engine profile tokens to recommended primary profile keys.
5
- * For one-time migration scripts only — graph JSON should store primary keys
6
- * (`balanced`, `cheap`, …) after breaking migration.
7
- *
8
- * Distinct from FuncX runtime shortcuts in `profiles-shortcuts.json`
9
- * (e.g. `strong` → `pro`, `weak` → `local` via `resolveAIProfile`).
10
- */
11
- export const legacyGraphEngineAliasMap = {
12
- default: "balanced",
13
- strong: "deep",
14
- weak: "cheap",
15
- };
16
- //# sourceMappingURL=legacyGraphEngineAliasMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacyGraphEngineAliasMap.js","sourceRoot":"","sources":["../src/legacyGraphEngineAliasMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAK1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAElC;IACF,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,OAAO;CACL,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { AIShortcutSummary } from "./types.js";
2
- /** Lists shortcut keys from the bundled registry (sync, no network). */
3
- export declare function listAIShortcuts(): AIShortcutSummary[];
4
- //# sourceMappingURL=listAIShortcuts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listAIShortcuts.d.ts","sourceRoot":"","sources":["../src/listAIShortcuts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wEAAwE;AACxE,wBAAgB,eAAe,IAAI,iBAAiB,EAAE,CASrD"}
@@ -1,12 +0,0 @@
1
- import { getBundledRegistry } from "./bundledRegistry.js";
2
- /** Lists shortcut keys from the bundled registry (sync, no network). */
3
- export function listAIShortcuts() {
4
- const registry = getBundledRegistry();
5
- return Object.entries(registry.shortcuts).map(([key, shortcut]) => ({
6
- key,
7
- profile: shortcut.profile,
8
- choice: shortcut.choice,
9
- description: shortcut.description,
10
- }));
11
- }
12
- //# sourceMappingURL=listAIShortcuts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listAIShortcuts.js","sourceRoot":"","sources":["../src/listAIShortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,wEAAwE;AACxE,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IAEtC,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,GAAG;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { AIProfilesRegistry } from "./types.js";
2
- /**
3
- * Loose profile-level match for discovery APIs only (tags, search, cost scouting).
4
- * Never used by {@link resolveAIProfile}.
5
- */
6
- export type DiscoveryProfileMatch = {
7
- kind: "profile";
8
- profileKey: string;
9
- } | {
10
- kind: "alias";
11
- profileKey: string;
12
- alias: string;
13
- };
14
- export declare function matchDiscoveryProfileInput(registry: Pick<AIProfilesRegistry, "profiles">, input: string): DiscoveryProfileMatch | undefined;
15
- //# sourceMappingURL=profileDiscoveryMatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileDiscoveryMatch.d.ts","sourceRoot":"","sources":["../src/profileDiscoveryMatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAsBnC"}
@@ -1,18 +0,0 @@
1
- import { normalizeKey, normalizeSegmentKey, resolveSegmentKey } from "./normalizeKey.js";
2
- export function matchDiscoveryProfileInput(registry, input) {
3
- const key = normalizeKey(input);
4
- if (!key) {
5
- return undefined;
6
- }
7
- const profileKey = resolveSegmentKey(Object.keys(registry.profiles), key);
8
- if (profileKey) {
9
- return { kind: "profile", profileKey };
10
- }
11
- for (const [profileKey, profile] of Object.entries(registry.profiles)) {
12
- if (profile.aliases?.some((alias) => normalizeSegmentKey(alias) === normalizeSegmentKey(key))) {
13
- return { kind: "alias", profileKey, alias: key };
14
- }
15
- }
16
- return undefined;
17
- }
18
- //# sourceMappingURL=profileDiscoveryMatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileDiscoveryMatch.js","sourceRoot":"","sources":["../src/profileDiscoveryMatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAWzF,MAAM,UAAU,0BAA0B,CACxC,QAA8C,EAC9C,KAAa;IAEb,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IACE,OAAO,CAAC,OAAO,EAAE,IAAI,CACnB,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,mBAAmB,CAAC,GAAG,CAAC,CACnE,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { AIProfileShortcut, AIProfilesRegistry } from "./types.js";
2
- export type ProfileInputMatch = {
3
- kind: "profile";
4
- profileKey: string;
5
- } | {
6
- kind: "shortcut";
7
- profileKey: string;
8
- shortcutKey: string;
9
- shortcut: AIProfileShortcut;
10
- } | {
11
- kind: "alias";
12
- profileKey: string;
13
- alias: string;
14
- };
15
- /**
16
- * Resolves user input to a profile: primary key, shortcut (optional choice), or alias.
17
- * Shortcuts take precedence over aliases when the same string appears in both.
18
- */
19
- export declare function matchProfileInput(registry: Pick<AIProfilesRegistry, "profiles" | "shortcuts">, input: string): ProfileInputMatch | undefined;
20
- //# sourceMappingURL=profileInputMatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileInputMatch.d.ts","sourceRoot":"","sources":["../src/profileInputMatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC,EAC5D,KAAK,EAAE,MAAM,GACZ,iBAAiB,GAAG,SAAS,CA6B/B"}
@@ -1,30 +0,0 @@
1
- import { normalizeKey } from "./normalizeKey.js";
2
- /**
3
- * Resolves user input to a profile: primary key, shortcut (optional choice), or alias.
4
- * Shortcuts take precedence over aliases when the same string appears in both.
5
- */
6
- export function matchProfileInput(registry, input) {
7
- const key = normalizeKey(input);
8
- if (!key) {
9
- return undefined;
10
- }
11
- if (registry.profiles[key]) {
12
- return { kind: "profile", profileKey: key };
13
- }
14
- const shortcut = registry.shortcuts[key];
15
- if (shortcut) {
16
- return {
17
- kind: "shortcut",
18
- profileKey: shortcut.profile,
19
- shortcutKey: key,
20
- shortcut,
21
- };
22
- }
23
- for (const [profileKey, profile] of Object.entries(registry.profiles)) {
24
- if (profile.aliases?.some((alias) => normalizeKey(alias) === key)) {
25
- return { kind: "alias", profileKey, alias: key };
26
- }
27
- }
28
- return undefined;
29
- }
30
- //# sourceMappingURL=profileInputMatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileInputMatch.js","sourceRoot":"","sources":["../src/profileInputMatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAajD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA4D,EAC5D,KAAa;IAEb,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,QAAQ,CAAC,OAAO;YAC5B,WAAW,EAAE,GAAG;YAChB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { AIProfilesRegistry, ModelsCatalogJson } from "./types.js";
2
- export type ModelProfileMatchConfidence = "exact" | "high" | "low";
3
- export interface ModelProfileFallbackMatch {
4
- profileKey: string;
5
- choiceKey: string;
6
- confidence: ModelProfileMatchConfidence;
7
- score: number;
8
- matchedBy: string;
9
- warning?: string;
10
- }
11
- export declare function resolveProfileFromModelInput(registry: Pick<AIProfilesRegistry, "profiles">, input: string, catalog?: ModelsCatalogJson): ModelProfileFallbackMatch | undefined;
12
- export declare function modelFallbackLogMeta(input: string, match: ModelProfileFallbackMatch): Record<string, unknown>;
13
- //# sourceMappingURL=profileModelFallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileModelFallback.d.ts","sourceRoot":"","sources":["../src/profileModelFallback.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,2BAA2B,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0LD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,iBAAiB,GAC1B,yBAAyB,GAAG,SAAS,CAuCvC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,yBAAyB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB"}