@x12i/ai-profiles 1.8.0 → 2.0.1

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 (74) hide show
  1. package/README.md +45 -6
  2. package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
  3. package/dist/buildCatalogFromOpenRouterApi.js +2 -2
  4. package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
  5. package/dist/buildResolvedProfile.d.ts.map +1 -1
  6. package/dist/buildResolvedProfile.js +1 -0
  7. package/dist/buildResolvedProfile.js.map +1 -1
  8. package/dist/constants.d.ts +2 -3
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +2 -7
  11. package/dist/constants.js.map +1 -1
  12. package/dist/data/models-catalog.json +13 -13
  13. package/dist/data/models-profiles.json +551 -138
  14. package/dist/data/models-profiles.schema.json +87 -4
  15. package/dist/data/models-registry.json +71 -41
  16. package/dist/data/profiles-shortcuts.json +48 -42
  17. package/dist/errors.d.ts +1 -1
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/index.d.ts +12 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +9 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/listAIProfiles.d.ts.map +1 -1
  25. package/dist/listAIProfiles.js +34 -4
  26. package/dist/listAIProfiles.js.map +1 -1
  27. package/dist/modelInputFallback.d.ts.map +1 -1
  28. package/dist/modelInputFallback.js +7 -3
  29. package/dist/modelInputFallback.js.map +1 -1
  30. package/dist/modelsCatalog.d.ts +5 -0
  31. package/dist/modelsCatalog.d.ts.map +1 -1
  32. package/dist/modelsCatalog.js +32 -2
  33. package/dist/modelsCatalog.js.map +1 -1
  34. package/dist/profileCatalogLane.d.ts +22 -0
  35. package/dist/profileCatalogLane.d.ts.map +1 -0
  36. package/dist/profileCatalogLane.js +83 -0
  37. package/dist/profileCatalogLane.js.map +1 -0
  38. package/dist/profileDiscovery.d.ts +43 -0
  39. package/dist/profileDiscovery.d.ts.map +1 -0
  40. package/dist/profileDiscovery.js +129 -0
  41. package/dist/profileDiscovery.js.map +1 -0
  42. package/dist/profileRegistryV3.d.ts.map +1 -1
  43. package/dist/profileRegistryV3.js +6 -4
  44. package/dist/profileRegistryV3.js.map +1 -1
  45. package/dist/resolveAIProfile.d.ts +1 -1
  46. package/dist/resolveAIProfile.d.ts.map +1 -1
  47. package/dist/resolveAIProfile.js +51 -2
  48. package/dist/resolveAIProfile.js.map +1 -1
  49. package/dist/resolveAIProfileByTags.d.ts +11 -0
  50. package/dist/resolveAIProfileByTags.d.ts.map +1 -0
  51. package/dist/resolveAIProfileByTags.js +33 -0
  52. package/dist/resolveAIProfileByTags.js.map +1 -0
  53. package/dist/resolveSecondaryModel.d.ts +6 -0
  54. package/dist/resolveSecondaryModel.d.ts.map +1 -0
  55. package/dist/resolveSecondaryModel.js +82 -0
  56. package/dist/resolveSecondaryModel.js.map +1 -0
  57. package/dist/secondaryModel.d.ts +42 -0
  58. package/dist/secondaryModel.d.ts.map +1 -0
  59. package/dist/secondaryModel.js +172 -0
  60. package/dist/secondaryModel.js.map +1 -0
  61. package/dist/types.d.ts +91 -1
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/validateProfileCatalogLinkage.d.ts.map +1 -1
  64. package/dist/validateProfileCatalogLinkage.js +1 -0
  65. package/dist/validateProfileCatalogLinkage.js.map +1 -1
  66. package/dist/validation/profileIntentPolicy.d.ts +8 -0
  67. package/dist/validation/profileIntentPolicy.d.ts.map +1 -0
  68. package/dist/validation/profileIntentPolicy.js +60 -0
  69. package/dist/validation/profileIntentPolicy.js.map +1 -0
  70. package/dist/validation/validateModelsProfilesJson.d.ts +1 -0
  71. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  72. package/dist/validation/validateModelsProfilesJson.js +127 -17
  73. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  74. package/package.json +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileRegistryV3.js","sourceRoot":"","sources":["../src/profileRegistryV3.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ import type { ResolveAIProfileOptions, ResolvedAIProfile } from "./types.js";
7
7
  *
8
8
  * @see README.md — “Why AI profiles”
9
9
  */
10
- export declare function resolveAIProfile(input: string, options?: ResolveAIProfileOptions): Promise<ResolvedAIProfile>;
10
+ export declare function resolveAIProfile(input: string, options: ResolveAIProfileOptions): Promise<ResolvedAIProfile>;
11
11
  //# sourceMappingURL=resolveAIProfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAiL5B"}
1
+ {"version":3,"file":"resolveAIProfile.d.ts","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA8O5B"}
@@ -7,6 +7,8 @@ import { buildResolvedModelInput, modelInputLogMeta, resolveModelFromInput, } fr
7
7
  import { pickProfileChoiceWithConstraints } from "./modalityPolicy.js";
8
8
  import { normalizeCostCap } from "./costPolicy.js";
9
9
  import { logxer } from "./logger.js";
10
+ import { assertOpenRouterCatalogCoverage, assertProfileCatalogLane, } from "./profileCatalogLane.js";
11
+ import { attachSecondaryToResolved } from "./resolveSecondaryModel.js";
10
12
  /**
11
13
  * Resolve a profile primary key, alias, or shortcut to a concrete model and runtime config.
12
14
  *
@@ -15,7 +17,10 @@ import { logxer } from "./logger.js";
15
17
  *
16
18
  * @see README.md — “Why AI profiles”
17
19
  */
18
- export async function resolveAIProfile(input, options = {}) {
20
+ export async function resolveAIProfile(input, options) {
21
+ if (!options.catalogLane) {
22
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "resolveAIProfile requires options.catalogLane (e.g. \"text\", \"image\")", { input });
23
+ }
19
24
  const [{ registry, warnings }, catalogResult] = await Promise.all([
20
25
  loadAIProfilesRegistryWithWarnings({
21
26
  source: options.source,
@@ -74,6 +79,23 @@ export async function resolveAIProfile(input, options = {}) {
74
79
  if (!profile) {
75
80
  throw new AIProfilesError("UNKNOWN_PROFILE", `Unknown AI profile: ${profileKey}`, { input, profile: profileKey });
76
81
  }
82
+ if (options.catalogLane) {
83
+ try {
84
+ assertProfileCatalogLane({
85
+ profileKey,
86
+ profile,
87
+ requestedLane: options.catalogLane,
88
+ });
89
+ }
90
+ catch (error) {
91
+ const message = error instanceof Error ? error.message : String(error);
92
+ throw new AIProfilesError("CATALOG_LANE_MISMATCH", message, {
93
+ input,
94
+ profile: profileKey,
95
+ catalogLane: options.catalogLane,
96
+ });
97
+ }
98
+ }
77
99
  let finalChoiceKey;
78
100
  let choice;
79
101
  try {
@@ -134,7 +156,30 @@ export async function resolveAIProfile(input, options = {}) {
134
156
  if (!profile.choices[finalChoiceKey]) {
135
157
  throw new AIProfilesError("UNKNOWN_CHOICE", `Unknown choice '${finalChoiceKey}' for AI profile '${profileKey}'`, { input, profile: profileKey, choice: finalChoiceKey });
136
158
  }
137
- return buildResolvedProfile({
159
+ const enforceOpenRouterCatalog = profileKey === "local"
160
+ ? options.requireOpenRouterCatalog === true
161
+ : options.requireOpenRouterCatalog !== false;
162
+ if (enforceOpenRouterCatalog) {
163
+ try {
164
+ assertOpenRouterCatalogCoverage({
165
+ profileKey,
166
+ choiceKey: finalChoiceKey,
167
+ choice,
168
+ catalog: catalogResult.catalog,
169
+ });
170
+ }
171
+ catch (error) {
172
+ const message = error instanceof Error ? error.message : String(error);
173
+ throw new AIProfilesError("NO_OPENROUTER_CATALOG", message, {
174
+ input,
175
+ profile: profileKey,
176
+ choice: finalChoiceKey,
177
+ provider: choice.provider,
178
+ modelId: choice.modelId,
179
+ });
180
+ }
181
+ }
182
+ const resolved = buildResolvedProfile({
138
183
  input,
139
184
  shortcutKey: match.kind === "shortcut" ? match.shortcutKey : undefined,
140
185
  profile,
@@ -147,5 +192,9 @@ export async function resolveAIProfile(input, options = {}) {
147
192
  catalog: catalogResult.catalog,
148
193
  costCapApplied: normalizeCostCap(options.costCapPer1M),
149
194
  });
195
+ if (options.includeSecondary) {
196
+ return attachSecondaryToResolved(resolved, registry, catalogResult.catalog, options.useOpenRouter);
197
+ }
198
+ return resolved;
150
199
  }
151
200
  //# sourceMappingURL=resolveAIProfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveAIProfile.js","sourceRoot":"","sources":["../src/resolveAIProfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AIProfileTag, ResolveAIProfileOptions, ResolvedAIProfile } from "./types.js";
2
+ export interface ResolveAIProfileByTagsOptions extends ResolveAIProfileOptions {
3
+ /** Minimum tag overlap required (default 1). */
4
+ minScore?: number;
5
+ }
6
+ /**
7
+ * Resolve the best-matching profile for a tag set (partial overlap OK).
8
+ * Picks the profile with the most matching tags; see {@link pickBestProfileByTags}.
9
+ */
10
+ export declare function resolveAIProfileByTags(tags: AIProfileTag[], options: ResolveAIProfileByTagsOptions): Promise<ResolvedAIProfile>;
11
+ //# sourceMappingURL=resolveAIProfileByTags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAIProfileByTags.d.ts","sourceRoot":"","sources":["../src/resolveAIProfileByTags.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE3F,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAAE,EACpB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA4C5B"}
@@ -0,0 +1,33 @@
1
+ import { AIProfilesError } from "./errors.js";
2
+ import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
3
+ import { profileMatchesCatalogLane } from "./profileCatalogLane.js";
4
+ import { pickBestProfileByTags } from "./profileDiscovery.js";
5
+ import { resolveAIProfile } from "./resolveAIProfile.js";
6
+ /**
7
+ * Resolve the best-matching profile for a tag set (partial overlap OK).
8
+ * Picks the profile with the most matching tags; see {@link pickBestProfileByTags}.
9
+ */
10
+ export async function resolveAIProfileByTags(tags, options) {
11
+ if (!options.catalogLane) {
12
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "resolveAIProfileByTags requires options.catalogLane", { tags });
13
+ }
14
+ const uniqueTags = [...new Set(tags)];
15
+ if (uniqueTags.length === 0) {
16
+ throw new AIProfilesError("UNKNOWN_PROFILE", "resolveAIProfileByTags requires at least one tag", { tags });
17
+ }
18
+ const { registry } = await loadAIProfilesRegistryWithWarnings({
19
+ source: options.source,
20
+ refresh: options.refresh,
21
+ });
22
+ const minScore = options.minScore ?? 1;
23
+ const pool = options.catalogLane
24
+ ? Object.fromEntries(Object.entries(registry.profiles).filter(([, profile]) => profileMatchesCatalogLane(profile, options.catalogLane)))
25
+ : registry.profiles;
26
+ const best = pickBestProfileByTags(pool, uniqueTags);
27
+ if (!best || best.score < minScore) {
28
+ throw new AIProfilesError("UNKNOWN_PROFILE", `No profile matches tags: ${uniqueTags.join(", ")}`, { tags: uniqueTags, minScore });
29
+ }
30
+ const { minScore: _minScore, ...resolveOptions } = options;
31
+ return resolveAIProfile(best.profileKey, resolveOptions);
32
+ }
33
+ //# sourceMappingURL=resolveAIProfileByTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAIProfileByTags.js","sourceRoot":"","sources":["../src/resolveAIProfileByTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAoB,EACpB,OAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACvB,sBAAsB,EACtB,qDAAqD,EACrD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,kDAAkD,EAClD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW;QAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CACvD,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAY,CAAC,CACzD,CACF;QACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAEtB,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAC3D,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { getSecondaryForResolvedProfile } from "./secondaryModel.js";
2
+ import type { ResolveSecondaryModelOptions, ResolveSecondaryModelResult, ResolvedAIProfile } from "./types.js";
3
+ export declare function resolveSecondaryModel(input: string, options: ResolveSecondaryModelOptions): Promise<ResolveSecondaryModelResult>;
4
+ export { getSecondaryForResolvedProfile } from "./secondaryModel.js";
5
+ export declare function attachSecondaryToResolved(resolved: ResolvedAIProfile, registry: Parameters<typeof getSecondaryForResolvedProfile>[1], catalog: Parameters<typeof getSecondaryForResolvedProfile>[2], useOpenRouter?: boolean): ResolvedAIProfile;
6
+ //# sourceMappingURL=resolveSecondaryModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSecondaryModel.d.ts","sourceRoot":"","sources":["../src/resolveSecondaryModel.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,8BAA8B,EAG/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CA8FtC;AAED,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAC9D,OAAO,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAC7D,aAAa,CAAC,EAAE,OAAO,GACtB,iBAAiB,CAKnB"}
@@ -0,0 +1,82 @@
1
+ import { AIProfilesError } from "./errors.js";
2
+ import { loadAIProfilesRegistryWithWarnings } from "./loader/loadAIProfilesRegistry.js";
3
+ import { loadModelsCatalogWithWarnings } from "./loader/loadModelsCatalog.js";
4
+ import { matchProfileInput } from "./profileInputMatch.js";
5
+ import { pickProfileChoiceWithConstraints } from "./modalityPolicy.js";
6
+ import { getSecondaryForResolvedProfile, resolveProfileMatchChoiceKeys, resolveSecondaryForChoice, } from "./secondaryModel.js";
7
+ export async function resolveSecondaryModel(input, options) {
8
+ if (!options.catalogLane) {
9
+ throw new AIProfilesError("MISSING_CATALOG_LANE", "resolveSecondaryModel requires options.catalogLane (e.g. \"text\", \"image\")", { input });
10
+ }
11
+ const [{ registry, warnings }, catalogResult] = await Promise.all([
12
+ loadAIProfilesRegistryWithWarnings({
13
+ source: options.source,
14
+ refresh: options.refresh,
15
+ }),
16
+ loadModelsCatalogWithWarnings({
17
+ source: options.source,
18
+ refresh: options.refresh,
19
+ }),
20
+ ]);
21
+ const match = matchProfileInput(registry, input);
22
+ if (!match) {
23
+ throw new AIProfilesError("UNKNOWN_PROFILE", `Unknown AI profile, shortcut, or alias: ${input}`, { input });
24
+ }
25
+ const { profileKey, requestedChoiceKey } = resolveProfileMatchChoiceKeys(match, options.choice);
26
+ const profile = registry.profiles[profileKey];
27
+ if (!profile) {
28
+ throw new AIProfilesError("UNKNOWN_PROFILE", `Unknown AI profile: ${profileKey}`, { input, profile: profileKey });
29
+ }
30
+ let finalChoiceKey;
31
+ let primaryChoice;
32
+ try {
33
+ const picked = pickProfileChoiceWithConstraints(profileKey, profile, {
34
+ choiceKey: requestedChoiceKey,
35
+ allowedProviders: options.allowedProviders,
36
+ preferLeadingVendors: options.preferLeadingVendors ?? true,
37
+ explicitChoiceRequested: options.choice !== undefined ||
38
+ (match.kind === "shortcut" && match.shortcut.choice !== undefined),
39
+ inputModalities: options.inputModalities,
40
+ outputModalities: options.outputModalities,
41
+ catalog: catalogResult.catalog,
42
+ });
43
+ finalChoiceKey = picked.choiceKey;
44
+ primaryChoice = picked.choice;
45
+ }
46
+ catch (error) {
47
+ const message = error instanceof Error ? error.message : String(error);
48
+ if (message.startsWith("Unknown choice")) {
49
+ throw new AIProfilesError("UNKNOWN_CHOICE", message, { input, profile: profileKey, choice: requestedChoiceKey });
50
+ }
51
+ throw error;
52
+ }
53
+ const secondary = resolveSecondaryForChoice({
54
+ profileKey,
55
+ profile,
56
+ primaryChoiceKey: finalChoiceKey,
57
+ primaryChoice,
58
+ registry,
59
+ catalog: catalogResult.catalog,
60
+ useOpenRouter: options.useOpenRouter,
61
+ loaderWarnings: warnings,
62
+ });
63
+ return {
64
+ primary: {
65
+ profile: profileKey,
66
+ choice: finalChoiceKey,
67
+ provider: primaryChoice.provider,
68
+ modelId: primaryChoice.modelId,
69
+ },
70
+ secondary,
71
+ source: registry.source,
72
+ loadedAt: registry.loadedAt,
73
+ };
74
+ }
75
+ export { getSecondaryForResolvedProfile } from "./secondaryModel.js";
76
+ export function attachSecondaryToResolved(resolved, registry, catalog, useOpenRouter) {
77
+ const secondary = getSecondaryForResolvedProfile(resolved, registry, catalog, {
78
+ useOpenRouter,
79
+ });
80
+ return { ...resolved, secondary };
81
+ }
82
+ //# sourceMappingURL=resolveSecondaryModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSecondaryModel.js","sourceRoot":"","sources":["../src/resolveSecondaryModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { matchProfileInput } from "./profileInputMatch.js";
2
+ import type { AIProfileChoice, AIProfileDefinition, AIProfilesRegistry, ModelsCatalogJson, ResolvedAIProfile, ResolvedSecondaryModel, SecondaryRef } from "./types.js";
3
+ export declare function getSecondaryRef(profile: AIProfileDefinition, primaryChoiceKey: string): SecondaryRef | undefined;
4
+ export declare function secondaryRefToChoice(profileKey: string, profile: AIProfileDefinition, ref: SecondaryRef): {
5
+ choiceKey: string;
6
+ choice: AIProfileChoice;
7
+ };
8
+ export declare function assertNoSecondaryCycle(profileKey: string, profile: AIProfileDefinition, primaryChoiceKey: string, ref: SecondaryRef): void;
9
+ export declare function buildResolvedSecondaryModel(params: {
10
+ profileKey: string;
11
+ primaryChoiceKey: string;
12
+ profile: AIProfileDefinition;
13
+ choice: AIProfileChoice;
14
+ secondaryChoiceKey?: string;
15
+ registry: AIProfilesRegistry;
16
+ catalog?: ModelsCatalogJson;
17
+ useOpenRouter?: boolean;
18
+ loaderWarnings?: ResolvedAIProfile["warnings"];
19
+ reason?: string;
20
+ }): ResolvedSecondaryModel;
21
+ export declare function resolveSecondaryForChoice(params: {
22
+ profileKey: string;
23
+ profile: AIProfileDefinition;
24
+ primaryChoiceKey: string;
25
+ primaryChoice: AIProfileChoice;
26
+ registry: AIProfilesRegistry;
27
+ catalog?: ModelsCatalogJson;
28
+ useOpenRouter?: boolean;
29
+ loaderWarnings?: ResolvedAIProfile["warnings"];
30
+ }): ResolvedSecondaryModel | null;
31
+ export declare function getSecondaryForResolvedProfile(resolved: ResolvedAIProfile, registry: AIProfilesRegistry, catalog?: ModelsCatalogJson, options?: {
32
+ useOpenRouter?: boolean;
33
+ }): ResolvedSecondaryModel | null;
34
+ export declare function listProfileSecondaries(profileKey: string, registry: AIProfilesRegistry): Array<{
35
+ choice: string;
36
+ secondary: SecondaryRef;
37
+ }>;
38
+ export declare function resolveProfileMatchChoiceKeys(match: NonNullable<ReturnType<typeof matchProfileInput>>, optionsChoice?: string): {
39
+ profileKey: string;
40
+ requestedChoiceKey?: string;
41
+ };
42
+ //# sourceMappingURL=secondaryModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secondaryModel.d.ts","sourceRoot":"","sources":["../src/secondaryModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,gBAAgB,EAAE,MAAM,GACvB,YAAY,GAAG,SAAS,CAe1B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE,YAAY,GAChB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAyBhD;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,YAAY,GAChB,IAAI,CAoCN;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,sBAAsB,CA8BzB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAChD,GAAG,sBAAsB,GAAG,IAAI,CA4ChC;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,sBAAsB,GAAG,IAAI,CAyB/B;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,kBAAkB,GAC3B,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,CAepD;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EACxD,aAAa,CAAC,EAAE,MAAM,GACrB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,CAYrD"}
@@ -0,0 +1,172 @@
1
+ import { buildResolvedProfile } from "./buildResolvedProfile.js";
2
+ import { AIProfilesError } from "./errors.js";
3
+ import { fixVendorModelId } from "./profileRegistryV2.js";
4
+ export function getSecondaryRef(profile, primaryChoiceKey) {
5
+ const primary = profile.choices[primaryChoiceKey];
6
+ if (!primary) {
7
+ return undefined;
8
+ }
9
+ if (primary.secondary) {
10
+ return primary.secondary;
11
+ }
12
+ if (profile.defaultSecondaryChoice) {
13
+ return { kind: "choice", choice: profile.defaultSecondaryChoice };
14
+ }
15
+ return undefined;
16
+ }
17
+ export function secondaryRefToChoice(profileKey, profile, ref) {
18
+ if (ref.kind === "choice") {
19
+ const choice = profile.choices[ref.choice];
20
+ if (!choice) {
21
+ throw new AIProfilesError("UNKNOWN_SECONDARY_CHOICE", `Unknown secondary choice '${ref.choice}' for profile '${profileKey}'`, { profile: profileKey, choice: ref.choice });
22
+ }
23
+ return { choiceKey: ref.choice, choice };
24
+ }
25
+ const syntheticKey = `__secondary:${ref.provider}:${ref.modelId}`;
26
+ const choice = {
27
+ choice: syntheticKey,
28
+ displayName: "Secondary model",
29
+ description: ref.reason ?? "Explicit secondary model reference.",
30
+ provider: ref.provider,
31
+ modelId: fixVendorModelId(ref.modelId),
32
+ runtime: ref.runtime,
33
+ reason: ref.reason,
34
+ };
35
+ return { choiceKey: syntheticKey, choice };
36
+ }
37
+ export function assertNoSecondaryCycle(profileKey, profile, primaryChoiceKey, ref) {
38
+ if (ref.kind !== "choice") {
39
+ return;
40
+ }
41
+ const visited = new Set([primaryChoiceKey]);
42
+ let current = ref.choice;
43
+ while (current) {
44
+ if (visited.has(current)) {
45
+ throw new AIProfilesError("SECONDARY_CYCLE", `Secondary choice chain cycles on profile '${profileKey}' (involves '${current}')`, { profile: profileKey, choice: primaryChoiceKey, cycleAt: current });
46
+ }
47
+ visited.add(current);
48
+ const nextRef = profile.choices[current]?.secondary;
49
+ if (!nextRef) {
50
+ if (profile.defaultSecondaryChoice &&
51
+ profile.defaultSecondaryChoice !== current) {
52
+ current = profile.defaultSecondaryChoice;
53
+ continue;
54
+ }
55
+ break;
56
+ }
57
+ if (nextRef.kind !== "choice") {
58
+ break;
59
+ }
60
+ current = nextRef.choice;
61
+ }
62
+ }
63
+ export function buildResolvedSecondaryModel(params) {
64
+ const resolved = buildResolvedProfile({
65
+ input: `${params.profileKey}:${params.primaryChoiceKey}:secondary`,
66
+ profile: params.profile,
67
+ choice: params.choice,
68
+ choiceKey: params.secondaryChoiceKey ?? params.choice.choice,
69
+ registry: params.registry,
70
+ catalog: params.catalog,
71
+ useOpenRouter: params.useOpenRouter,
72
+ loaderWarnings: params.loaderWarnings,
73
+ });
74
+ return {
75
+ profile: params.profileKey,
76
+ primaryChoice: params.primaryChoiceKey,
77
+ ...(params.secondaryChoiceKey && !params.secondaryChoiceKey.startsWith("__secondary:")
78
+ ? { secondaryChoice: params.secondaryChoiceKey }
79
+ : {}),
80
+ provider: resolved.provider,
81
+ modelId: resolved.modelId,
82
+ routing: resolved.routing,
83
+ instructionTier: resolved.instructionTier,
84
+ backend: resolved.backend,
85
+ ...(resolved.pricing !== undefined ? { pricing: resolved.pricing } : {}),
86
+ modalities: resolved.modalities,
87
+ invocation: resolved.invocation,
88
+ reason: params.reason ?? resolved.reason,
89
+ runtime: resolved.runtime,
90
+ ...(resolved.warnings?.length ? { warnings: resolved.warnings } : {}),
91
+ };
92
+ }
93
+ export function resolveSecondaryForChoice(params) {
94
+ const ref = getSecondaryRef(params.profile, params.primaryChoiceKey);
95
+ if (!ref) {
96
+ return null;
97
+ }
98
+ assertNoSecondaryCycle(params.profileKey, params.profile, params.primaryChoiceKey, ref);
99
+ const { choiceKey, choice } = secondaryRefToChoice(params.profileKey, params.profile, ref);
100
+ if (choice.provider === params.primaryChoice.provider &&
101
+ choice.modelId === params.primaryChoice.modelId) {
102
+ return buildResolvedSecondaryModel({
103
+ ...params,
104
+ choice,
105
+ secondaryChoiceKey: ref.kind === "choice" ? choiceKey : undefined,
106
+ reason: ref.reason,
107
+ loaderWarnings: [
108
+ ...(params.loaderWarnings ?? []),
109
+ {
110
+ code: "SECONDARY_SAME_AS_PRIMARY",
111
+ message: `Secondary resolves to the same SKU as primary (${choice.provider}/${choice.modelId}).`,
112
+ },
113
+ ],
114
+ });
115
+ }
116
+ return buildResolvedSecondaryModel({
117
+ ...params,
118
+ choice,
119
+ secondaryChoiceKey: ref.kind === "choice" ? choiceKey : undefined,
120
+ reason: ref.reason ?? choice.reason,
121
+ });
122
+ }
123
+ export function getSecondaryForResolvedProfile(resolved, registry, catalog, options) {
124
+ if (resolved.resolutionKind === "model") {
125
+ return null;
126
+ }
127
+ const profile = registry.profiles[resolved.profile];
128
+ if (!profile) {
129
+ return null;
130
+ }
131
+ const primaryChoice = profile.choices[resolved.choice];
132
+ if (!primaryChoice) {
133
+ return null;
134
+ }
135
+ return resolveSecondaryForChoice({
136
+ profileKey: resolved.profile,
137
+ profile,
138
+ primaryChoiceKey: resolved.choice,
139
+ primaryChoice,
140
+ registry,
141
+ catalog,
142
+ useOpenRouter: options?.useOpenRouter,
143
+ loaderWarnings: resolved.warnings,
144
+ });
145
+ }
146
+ export function listProfileSecondaries(profileKey, registry) {
147
+ const profile = registry.profiles[profileKey];
148
+ if (!profile) {
149
+ return [];
150
+ }
151
+ const out = [];
152
+ for (const [choiceKey, choice] of Object.entries(profile.choices)) {
153
+ if (choice.secondary) {
154
+ out.push({ choice: choiceKey, secondary: choice.secondary });
155
+ }
156
+ }
157
+ return out;
158
+ }
159
+ export function resolveProfileMatchChoiceKeys(match, optionsChoice) {
160
+ switch (match.kind) {
161
+ case "profile":
162
+ return { profileKey: match.profileKey, requestedChoiceKey: optionsChoice };
163
+ case "shortcut":
164
+ return {
165
+ profileKey: match.profileKey,
166
+ requestedChoiceKey: optionsChoice ?? match.shortcut.choice,
167
+ };
168
+ case "alias":
169
+ return { profileKey: match.profileKey, requestedChoiceKey: optionsChoice };
170
+ }
171
+ }
172
+ //# sourceMappingURL=secondaryModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secondaryModel.js","sourceRoot":"","sources":["../src/secondaryModel.ts"],"names":[],"mappings":"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"}