@x12i/ai-profiles 3.4.1 → 4.0.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.
@@ -22,8 +22,17 @@ export type OpenRouterApiModel = {
22
22
  export type OpenRouterApiModelsResponse = {
23
23
  data: OpenRouterApiModel[];
24
24
  };
25
+ export type TextOnlyCatalogOptions = {
26
+ /** Include `:free` tier OpenRouter SKUs (default false). */
27
+ includeFree?: boolean;
28
+ };
29
+ /** True when the model is a text chat SKU (text output; no audio/video; not image generation). */
30
+ export declare function isTextOnlyOpenRouterModel(model: OpenRouterApiModel): boolean;
31
+ export declare function filterTextOnlyOpenRouterModels(models: OpenRouterApiModel[], options?: TextOnlyCatalogOptions): OpenRouterApiModel[];
25
32
  /** Build the legacy OpenRouter-only catalog document (fed into {@link normalizeModelsCatalog}). */
26
- export declare function buildLegacyCatalogFromOpenRouterApi(response: OpenRouterApiModelsResponse): Record<string, unknown>;
27
- /** Fetch response → unified {@link ModelsCatalogJson}. */
33
+ export declare function buildLegacyCatalogFromOpenRouterApi(response: OpenRouterApiModelsResponse, options?: TextOnlyCatalogOptions): Record<string, unknown>;
34
+ /** Fetch response → unified {@link ModelsCatalogJson} (text-only SKUs). */
35
+ export declare function buildTextModelsCatalogFromOpenRouterApi(response: OpenRouterApiModelsResponse, options?: TextOnlyCatalogOptions): ModelsCatalogJson;
36
+ /** @deprecated Prefer {@link buildTextModelsCatalogFromOpenRouterApi}. */
28
37
  export declare function buildModelsCatalogFromOpenRouterApi(response: OpenRouterApiModelsResponse): ModelsCatalogJson;
29
38
  //# sourceMappingURL=buildCatalogFromOpenRouterApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildCatalogFromOpenRouterApi.d.ts","sourceRoot":"","sources":["../src/buildCatalogFromOpenRouterApi.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAiC,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE;QACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B,CAAC;AA8FF,mGAAmG;AACnG,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAED,0DAA0D;AAC1D,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,GACpC,iBAAiB,CAoBnB"}
1
+ {"version":3,"file":"buildCatalogFromOpenRouterApi.d.ts","sourceRoot":"","sources":["../src/buildCatalogFromOpenRouterApi.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAiC,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE;QACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAuB5E;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,kBAAkB,EAAE,EAC5B,OAAO,GAAE,sBAA2B,GACnC,kBAAkB,EAAE,CAYtB;AA8FD,mGAAmG;AACnG,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,EACrC,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAED,2EAA2E;AAC3E,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,2BAA2B,EACrC,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,CAqBnB;AAED,0EAA0E;AAC1E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,GACpC,iBAAiB,CAEnB"}
@@ -1,6 +1,38 @@
1
1
  import { OPENROUTER_MODELS_API_URL } from "./constants.js";
2
2
  import { filterSupersededOpenRouterPreviewModels } from "./openRouterSlugPolicy.js";
3
3
  import { MODELS_CATALOG_REMOTE_URL, normalizeModelsCatalog, roundCatalogPricingUsd, } from "./modelsCatalog.js";
4
+ /** True when the model is a text chat SKU (text output; no audio/video; not image generation). */
5
+ export function isTextOnlyOpenRouterModel(model) {
6
+ const input = model.architecture?.input_modalities ?? ["text"];
7
+ const output = model.architecture?.output_modalities ?? ["text"];
8
+ const modality = model.architecture?.modality ?? "";
9
+ const textOnlyOutput = output.every((m) => m.toLowerCase() === "text");
10
+ if (!textOnlyOutput) {
11
+ return false;
12
+ }
13
+ if (input.some((m) => ["audio", "video"].includes(m.toLowerCase()))) {
14
+ return false;
15
+ }
16
+ if (/->\s*image|->\s*audio|->\s*video/i.test(modality)) {
17
+ return false;
18
+ }
19
+ if (/image\+text->image|text\+image->image/i.test(modality)) {
20
+ return false;
21
+ }
22
+ return true;
23
+ }
24
+ export function filterTextOnlyOpenRouterModels(models, options = {}) {
25
+ const includeFree = options.includeFree ?? false;
26
+ return models.filter((model) => {
27
+ if (!model?.id?.trim()) {
28
+ return false;
29
+ }
30
+ if (!includeFree && model.id.includes(":free")) {
31
+ return false;
32
+ }
33
+ return isTextOnlyOpenRouterModel(model);
34
+ });
35
+ }
4
36
  function perTokenToPerMillion(tokenPrice) {
5
37
  if (tokenPrice === null || tokenPrice === undefined || tokenPrice === "") {
6
38
  return undefined;
@@ -72,8 +104,8 @@ function mapLegacyEntry(model) {
72
104
  };
73
105
  }
74
106
  /** Build the legacy OpenRouter-only catalog document (fed into {@link normalizeModelsCatalog}). */
75
- export function buildLegacyCatalogFromOpenRouterApi(response) {
76
- const models = filterSupersededOpenRouterPreviewModels((response.data ?? []).filter((m) => m?.id?.trim()));
107
+ export function buildLegacyCatalogFromOpenRouterApi(response, options = {}) {
108
+ const models = filterSupersededOpenRouterPreviewModels(filterTextOnlyOpenRouterModels(response.data ?? [], options));
77
109
  return {
78
110
  schema: "x12i.openrouter-models.catalog",
79
111
  version: "1.0.0",
@@ -91,9 +123,9 @@ export function buildLegacyCatalogFromOpenRouterApi(response) {
91
123
  models: models.map(mapLegacyEntry),
92
124
  };
93
125
  }
94
- /** Fetch response → unified {@link ModelsCatalogJson}. */
95
- export function buildModelsCatalogFromOpenRouterApi(response) {
96
- const legacy = buildLegacyCatalogFromOpenRouterApi(response);
126
+ /** Fetch response → unified {@link ModelsCatalogJson} (text-only SKUs). */
127
+ export function buildTextModelsCatalogFromOpenRouterApi(response, options = {}) {
128
+ const legacy = buildLegacyCatalogFromOpenRouterApi(response, options);
97
129
  const catalog = normalizeModelsCatalog(legacy);
98
130
  return {
99
131
  ...catalog,
@@ -102,13 +134,18 @@ export function buildModelsCatalogFromOpenRouterApi(response) {
102
134
  catalogUrl: OPENROUTER_MODELS_API_URL,
103
135
  pricingUrl: "https://openrouter.ai/pricing",
104
136
  verifiedAt: new Date().toISOString().slice(0, 10),
105
- normalization: "OpenRouter API pricing fields are per-token decimal strings. Values are normalized to USD per 1M tokens.",
137
+ normalization: "OpenRouter API pricing fields are per-token decimal strings. Values are normalized to USD per 1M tokens. Filtered to text-only models (text/file input, text output).",
106
138
  },
107
139
  },
108
140
  notes: [
109
141
  ...(catalog.notes ?? []),
142
+ "Text-only catalog: excludes image, audio, and video input/output SKUs.",
110
143
  `Remote asset URL: ${MODELS_CATALOG_REMOTE_URL}`,
111
144
  ],
112
145
  };
113
146
  }
147
+ /** @deprecated Prefer {@link buildTextModelsCatalogFromOpenRouterApi}. */
148
+ export function buildModelsCatalogFromOpenRouterApi(response) {
149
+ return buildTextModelsCatalogFromOpenRouterApi(response);
150
+ }
114
151
  //# sourceMappingURL=buildCatalogFromOpenRouterApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildCatalogFromOpenRouterApi.js","sourceRoot":"","sources":["../src/buildCatalogFromOpenRouterApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildCatalogFromOpenRouterApi.js","sourceRoot":"","sources":["../src/buildCatalogFromOpenRouterApi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalogEnrichment.d.ts","sourceRoot":"","sources":["../src/catalogEnrichment.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,iBAAiB,EAGjB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAwCpB,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,GACvB,cAAc,GAAG,SAAS,CAiB5B;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,GACvB,mBAAmB,CAMrB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iBAAiB,EACxB,eAAe,CAAC,EAAE,OAAO,YAAY,EAAE,eAAe,GACrD,yBAAyB,CAwB3B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE;IACN,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,GACA,iBAAiB,GAAG,SAAS,CA6B/B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAClD,eAAe,CAAC,EAAE,OAAO,YAAY,EAAE,eAAe,GACrD;IACD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAiBA"}
1
+ {"version":3,"file":"catalogEnrichment.d.ts","sourceRoot":"","sources":["../src/catalogEnrichment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,iBAAiB,EAGjB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAwCpB,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,GACvB,cAAc,GAAG,SAAS,CAiB5B;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,GACvB,mBAAmB,CAMrB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iBAAiB,EACxB,eAAe,CAAC,EAAE,OAAO,YAAY,EAAE,eAAe,GACrD,yBAAyB,CAwB3B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE;IACN,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,GACA,iBAAiB,GAAG,SAAS,CA+B/B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAClD,eAAe,CAAC,EAAE,OAAO,YAAY,EAAE,eAAe,GACrD;IACD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAiBA"}
@@ -1,5 +1,6 @@
1
1
  import { openRouterReasoningWireFromCatalog } from "./cost/reasoningWire.js";
2
2
  import { buildModelsCatalogIndex } from "./modelsCatalog.js";
3
+ import { fixVendorModelId } from "./vendorModelId.js";
3
4
  import { normalizeModalityContract } from "./modalityPolicy.js";
4
5
  import { getChoiceOpenRouterModelId, getChoiceVendorModelId } from "./profileRegistryV2.js";
5
6
  function normalizeKey(value) {
@@ -85,7 +86,9 @@ export function findCatalogModelEntry(catalog, params) {
85
86
  }
86
87
  }
87
88
  return catalog.models.find((model) => model.direct.provider === params.provider &&
88
- normalizeKey(model.direct.modelId) === normalizeKey(params.modelId));
89
+ (normalizeKey(model.direct.modelId) === normalizeKey(params.modelId) ||
90
+ normalizeKey(fixVendorModelId(model.direct.modelId)) ===
91
+ normalizeKey(params.modelId)));
89
92
  }
90
93
  export function enrichChoiceFromCatalog(catalog, choice, routed, instructionTier) {
91
94
  const entry = findCatalogModelEntry(catalog, {
@@ -1 +1 @@
1
- {"version":3,"file":"catalogEnrichment.js","sourceRoot":"","sources":["../src/catalogEnrichment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogEnrichment.js","sourceRoot":"","sources":["../src/catalogEnrichment.ts"],"names":[],"mappings":"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"}