@stll/ai-catalog 0.9.0 → 0.10.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.
@@ -1,4 +1,4 @@
1
- import { D as ReasoningEffort, a as BYOKProvider } from "./index-COmyIxMN.js";
1
+ import { D as ReasoningEffort, a as BYOKProvider } from "./index-Cez3kbD9.js";
2
2
  //#region src/benchmark-frontier.d.ts
3
3
  export type ModelBenchmarkMeasurement = {
4
4
  sourceModelId: string;
@@ -1,5 +1,5 @@
1
1
  import { ModelBenchmarkMeasurement } from "./benchmark-frontier.js";
2
- import { w as OfferedBYOKModelId } from "./index-COmyIxMN.js";
2
+ import { w as OfferedBYOKModelId } from "./index-Cez3kbD9.js";
3
3
  //#region src/benchmark-sources.d.ts
4
4
  export declare const MODEL_BENCHMARK_NAME = "Text Arena";
5
5
  export declare const MODEL_BENCHMARK_LICENCE = "CC BY 4.0";
@@ -1,4 +1,4 @@
1
- import { E as getModelRate, G as MODEL_RATE_UNITS_PER_USD, K as getStandardModelRate } from "./src-DvSnw4Iz.js";
1
+ import { E as getModelRate, G as MODEL_RATE_UNITS_PER_USD, K as getStandardModelRate } from "./src-d-7yksBq.js";
2
2
  //#region src/benchmark-sources.ts
3
3
  const MODEL_BENCHMARK_NAME = "Text Arena";
4
4
  const MODEL_BENCHMARK_LICENCE = "CC BY 4.0";
@@ -1755,9 +1755,9 @@ declare const MODEL_RATES: {
1755
1755
  };
1756
1756
  readonly "mistral-large-4": {
1757
1757
  readonly kind: "flat";
1758
- readonly inputPerMTok: 136000;
1759
- readonly outputPerMTok: 418000;
1760
- readonly cachedInputPerMTok: 14000;
1758
+ readonly inputPerMTok: 70000;
1759
+ readonly outputPerMTok: 210000;
1760
+ readonly cachedInputPerMTok: 7000;
1761
1761
  };
1762
1762
  readonly "mistral-large-latest": {
1763
1763
  readonly kind: "flat";
@@ -2812,7 +2812,7 @@ declare const MODEL_REASONING_EFFORTS: {
2812
2812
  readonly "us.amazon.nova-micro-v1:0": null;
2813
2813
  readonly "openai.gpt-oss-120b-1:0": readonly ["low", "medium", "high"];
2814
2814
  readonly "openai.gpt-oss-20b-1:0": readonly ["low", "medium", "high"];
2815
- readonly "mistral-large-4": readonly ["none", "high"];
2815
+ readonly "mistral-large-4": readonly ["low", "medium", "high"];
2816
2816
  readonly "mistral-large-latest": null;
2817
2817
  readonly "mistral-medium-latest": readonly ["none", "high"];
2818
2818
  readonly "mistral-small-latest": readonly ["none", "high"];
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as MODEL_IMAGE_INPUT_CAPABILITIES, A as STREAMING_TOOL_USE_SUPPORTS, At as MODEL_TASK_OVERRIDE_GROUP, B as getModelRate, Bt as resolveDefaultModel, C as ModelDisplayMetadata, Ct as ModelRateAmounts, D as ReasoningEffort, Dt as MODEL_OVERRIDE_GROUPS, E as RECOMMENDED_CHAT_MODELS, F as TemperaturePolicy, G as isBYOKProviderRoleSupported, H as getModelReasoningEfforts, I as getContextWindowTokens, J as resolveReasoningEffort, K as isChatPdfAttachmentModelSupported, L as getModelDefaultReasoningEffort, Lt as ModelOverrideGroup, M as TANSTACK_AI_PROVIDERS, N as TEMPERATURE_POLICIES, O as ResolveReasoningEffortOptions, Ot as MODEL_OVERRIDE_GROUP_TASK, P as TanStackAIProvider, Q as MODEL_DEFAULT_REASONING_EFFORTS, R as getModelDisplayMetadata, Rt as ModelTask, S as MODEL_STREAMING_TOOL_USE, St as ModelRate, T as REASONING_EFFORTS, Tt as resolveModelRate, U as getOutputTokenLimit, V as getModelReasoningCapabilities, Vt as resolveDefaultOverrideModels, W as isBYOKModelRoleSupported, X as shouldEmitTemperature, Y as resolveWorkingBYOKModelForTask, Z as supportsStreamingToolUse, _ as IMAGE_INPUT_CAPABILITIES, _t as REASONING_REPLAY_FORMATS, a as BYOKProvider, at as CAPABILITY_OVERRIDES, b as MODEL_CATALOG_PROVIDER_KIND, bt as MODEL_RATES, c as BYOK_MODEL_OPTIONS, ct as ImageInputOverride, d as DECISION_MODEL_CATALOG, dt as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, et as MODEL_OUTPUT_TOKEN_LIMITS, f as DECISION_MODEL_PROVIDERS, ft as MODELS_DEV_RATE_SOURCE_ALIASES, g as FirstPartyModelProvider, gt as ModelReasoningCapabilities, h as FIRST_PARTY_MODEL_PROVIDERS, ht as MODEL_REASONING_CAPABILITIES, i as BYOKModelIdByProvider, it as DocumentInputOverride, j as StreamingToolUseSupport, k as ResolvedReasoningEffort, kt as MODEL_TASKS, l as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, lt as ImageInputOverrides, m as DecisionModelProvider, mt as RETAINED_MODELS_DEV_RATE_ENTRIES, n as AI_PROVIDERS, nt as MODEL_TEMPERATURE_POLICIES, o as BYOK_DEFAULT_MODELS, ot as CapabilityOverride, p as DEFAULT_CONTEXT_WINDOW_TOKENS, pt as ModelsDevRateProvider, q as normalizeModelCatalogId, r as ANTHROPIC_ADAPTIVE_THINKING_MODELS, rt as DOCUMENT_INPUT_OVERRIDES, s as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, st as IMAGE_INPUT_OVERRIDES, t as AIProvider, tt as MODEL_REASONING_EFFORTS, u as CONTEXT_WINDOW_TOKENS, ut as MODELS_DEV_RATE_CORRECTIONS, v as ImageInputCapability, vt as ReasoningProvenance, w as OfferedBYOKModelId, wt as getStandardModelRate, x as MODEL_DISPLAY_METADATA, xt as MODEL_RATE_UNITS_PER_USD, y as MODEL_CATALOG_ID_ALIASES, yt as ReasoningReplayFormat, z as getModelImageInputCapability } from "./index-COmyIxMN.js";
1
+ import { $ as MODEL_IMAGE_INPUT_CAPABILITIES, A as STREAMING_TOOL_USE_SUPPORTS, At as MODEL_TASK_OVERRIDE_GROUP, B as getModelRate, Bt as resolveDefaultModel, C as ModelDisplayMetadata, Ct as ModelRateAmounts, D as ReasoningEffort, Dt as MODEL_OVERRIDE_GROUPS, E as RECOMMENDED_CHAT_MODELS, F as TemperaturePolicy, G as isBYOKProviderRoleSupported, H as getModelReasoningEfforts, I as getContextWindowTokens, J as resolveReasoningEffort, K as isChatPdfAttachmentModelSupported, L as getModelDefaultReasoningEffort, Lt as ModelOverrideGroup, M as TANSTACK_AI_PROVIDERS, N as TEMPERATURE_POLICIES, O as ResolveReasoningEffortOptions, Ot as MODEL_OVERRIDE_GROUP_TASK, P as TanStackAIProvider, Q as MODEL_DEFAULT_REASONING_EFFORTS, R as getModelDisplayMetadata, Rt as ModelTask, S as MODEL_STREAMING_TOOL_USE, St as ModelRate, T as REASONING_EFFORTS, Tt as resolveModelRate, U as getOutputTokenLimit, V as getModelReasoningCapabilities, Vt as resolveDefaultOverrideModels, W as isBYOKModelRoleSupported, X as shouldEmitTemperature, Y as resolveWorkingBYOKModelForTask, Z as supportsStreamingToolUse, _ as IMAGE_INPUT_CAPABILITIES, _t as REASONING_REPLAY_FORMATS, a as BYOKProvider, at as CAPABILITY_OVERRIDES, b as MODEL_CATALOG_PROVIDER_KIND, bt as MODEL_RATES, c as BYOK_MODEL_OPTIONS, ct as ImageInputOverride, d as DECISION_MODEL_CATALOG, dt as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, et as MODEL_OUTPUT_TOKEN_LIMITS, f as DECISION_MODEL_PROVIDERS, ft as MODELS_DEV_RATE_SOURCE_ALIASES, g as FirstPartyModelProvider, gt as ModelReasoningCapabilities, h as FIRST_PARTY_MODEL_PROVIDERS, ht as MODEL_REASONING_CAPABILITIES, i as BYOKModelIdByProvider, it as DocumentInputOverride, j as StreamingToolUseSupport, k as ResolvedReasoningEffort, kt as MODEL_TASKS, l as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, lt as ImageInputOverrides, m as DecisionModelProvider, mt as RETAINED_MODELS_DEV_RATE_ENTRIES, n as AI_PROVIDERS, nt as MODEL_TEMPERATURE_POLICIES, o as BYOK_DEFAULT_MODELS, ot as CapabilityOverride, p as DEFAULT_CONTEXT_WINDOW_TOKENS, pt as ModelsDevRateProvider, q as normalizeModelCatalogId, r as ANTHROPIC_ADAPTIVE_THINKING_MODELS, rt as DOCUMENT_INPUT_OVERRIDES, s as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, st as IMAGE_INPUT_OVERRIDES, t as AIProvider, tt as MODEL_REASONING_EFFORTS, u as CONTEXT_WINDOW_TOKENS, ut as MODELS_DEV_RATE_CORRECTIONS, v as ImageInputCapability, vt as ReasoningProvenance, w as OfferedBYOKModelId, wt as getStandardModelRate, x as MODEL_DISPLAY_METADATA, xt as MODEL_RATE_UNITS_PER_USD, y as MODEL_CATALOG_ID_ALIASES, yt as ReasoningReplayFormat, z as getModelImageInputCapability } from "./index-Cez3kbD9.js";
2
2
  export { AIProvider, AI_PROVIDERS, ANTHROPIC_ADAPTIVE_THINKING_MODELS, BYOKModelIdByProvider, BYOKProvider, BYOK_DEFAULT_MODELS, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, BYOK_MODEL_OPTIONS, CAPABILITY_OVERRIDES, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, CONTEXT_WINDOW_TOKENS, type CapabilityOverride, DECISION_MODEL_CATALOG, DECISION_MODEL_PROVIDERS, DEFAULT_CONTEXT_WINDOW_TOKENS, DOCUMENT_INPUT_OVERRIDES, DecisionModelProvider, type DocumentInputOverride, FIRST_PARTY_MODEL_PROVIDERS, FirstPartyModelProvider, IMAGE_INPUT_CAPABILITIES, IMAGE_INPUT_OVERRIDES, ImageInputCapability, type ImageInputOverride, type ImageInputOverrides, MODELS_DEV_RATE_CORRECTIONS, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, MODELS_DEV_RATE_SOURCE_ALIASES, MODEL_CATALOG_ID_ALIASES, MODEL_CATALOG_PROVIDER_KIND, MODEL_DEFAULT_REASONING_EFFORTS, MODEL_DISPLAY_METADATA, MODEL_IMAGE_INPUT_CAPABILITIES, MODEL_OUTPUT_TOKEN_LIMITS, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_RATES, MODEL_RATE_UNITS_PER_USD, MODEL_REASONING_CAPABILITIES, MODEL_REASONING_EFFORTS, MODEL_STREAMING_TOOL_USE, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, MODEL_TEMPERATURE_POLICIES, ModelDisplayMetadata, type ModelOverrideGroup, type ModelRate, type ModelRateAmounts, type ModelReasoningCapabilities, type ModelTask, type ModelsDevRateProvider, OfferedBYOKModelId, REASONING_EFFORTS, REASONING_REPLAY_FORMATS, RECOMMENDED_CHAT_MODELS, RETAINED_MODELS_DEV_RATE_ENTRIES, ReasoningEffort, type ReasoningProvenance, type ReasoningReplayFormat, ResolveReasoningEffortOptions, ResolvedReasoningEffort, STREAMING_TOOL_USE_SUPPORTS, StreamingToolUseSupport, TANSTACK_AI_PROVIDERS, TEMPERATURE_POLICIES, TanStackAIProvider, TemperaturePolicy, getContextWindowTokens, getModelDefaultReasoningEffort, getModelDisplayMetadata, getModelImageInputCapability, getModelRate, getModelReasoningCapabilities, getModelReasoningEfforts, getOutputTokenLimit, getStandardModelRate, isBYOKModelRoleSupported, isBYOKProviderRoleSupported, isChatPdfAttachmentModelSupported, normalizeModelCatalogId, resolveDefaultModel, resolveDefaultOverrideModels, resolveModelRate, resolveReasoningEffort, resolveWorkingBYOKModelForTask, shouldEmitTemperature, supportsStreamingToolUse };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as MODEL_OUTPUT_TOKEN_LIMITS, A as isBYOKModelRoleSupported, B as IMAGE_INPUT_OVERRIDES, C as getModelDefaultReasoningEffort, D as getModelReasoningCapabilities, E as getModelRate, F as resolveWorkingBYOKModelForTask, G as MODEL_RATE_UNITS_PER_USD, H as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, I as shouldEmitTemperature, J as MODEL_REASONING_CAPABILITIES, K as getStandardModelRate, L as supportsStreamingToolUse, M as isChatPdfAttachmentModelSupported, N as normalizeModelCatalogId, O as getModelReasoningEfforts, P as resolveReasoningEffort, Q as MODEL_IMAGE_INPUT_CAPABILITIES, R as DOCUMENT_INPUT_OVERRIDES, S as getContextWindowTokens, T as getModelImageInputCapability, U as MODELS_DEV_RATE_SOURCE_ALIASES, V as MODELS_DEV_RATE_CORRECTIONS, W as RETAINED_MODELS_DEV_RATE_ENTRIES, X as MODEL_RATES, Y as REASONING_REPLAY_FORMATS, Z as MODEL_DEFAULT_REASONING_EFFORTS, _ as REASONING_EFFORTS, a as BYOK_MODEL_OPTIONS, b as TANSTACK_AI_PROVIDERS, c as DECISION_MODEL_CATALOG, d as FIRST_PARTY_MODEL_PROVIDERS, et as MODEL_REASONING_EFFORTS, f as IMAGE_INPUT_CAPABILITIES, g as MODEL_STREAMING_TOOL_USE, h as MODEL_DISPLAY_METADATA, i as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, j as isBYOKProviderRoleSupported, k as getOutputTokenLimit, l as DECISION_MODEL_PROVIDERS, m as MODEL_CATALOG_PROVIDER_KIND, n as ANTHROPIC_ADAPTIVE_THINKING_MODELS, o as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, p as MODEL_CATALOG_ID_ALIASES, q as resolveModelRate, r as BYOK_DEFAULT_MODELS, s as CONTEXT_WINDOW_TOKENS, t as AI_PROVIDERS, tt as MODEL_TEMPERATURE_POLICIES, u as DEFAULT_CONTEXT_WINDOW_TOKENS, v as RECOMMENDED_CHAT_MODELS, w as getModelDisplayMetadata, x as TEMPERATURE_POLICIES, y as STREAMING_TOOL_USE_SUPPORTS, z as CAPABILITY_OVERRIDES } from "./src-DvSnw4Iz.js";
1
+ import { $ as MODEL_OUTPUT_TOKEN_LIMITS, A as isBYOKModelRoleSupported, B as IMAGE_INPUT_OVERRIDES, C as getModelDefaultReasoningEffort, D as getModelReasoningCapabilities, E as getModelRate, F as resolveWorkingBYOKModelForTask, G as MODEL_RATE_UNITS_PER_USD, H as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, I as shouldEmitTemperature, J as MODEL_REASONING_CAPABILITIES, K as getStandardModelRate, L as supportsStreamingToolUse, M as isChatPdfAttachmentModelSupported, N as normalizeModelCatalogId, O as getModelReasoningEfforts, P as resolveReasoningEffort, Q as MODEL_IMAGE_INPUT_CAPABILITIES, R as DOCUMENT_INPUT_OVERRIDES, S as getContextWindowTokens, T as getModelImageInputCapability, U as MODELS_DEV_RATE_SOURCE_ALIASES, V as MODELS_DEV_RATE_CORRECTIONS, W as RETAINED_MODELS_DEV_RATE_ENTRIES, X as MODEL_RATES, Y as REASONING_REPLAY_FORMATS, Z as MODEL_DEFAULT_REASONING_EFFORTS, _ as REASONING_EFFORTS, a as BYOK_MODEL_OPTIONS, b as TANSTACK_AI_PROVIDERS, c as DECISION_MODEL_CATALOG, d as FIRST_PARTY_MODEL_PROVIDERS, et as MODEL_REASONING_EFFORTS, f as IMAGE_INPUT_CAPABILITIES, g as MODEL_STREAMING_TOOL_USE, h as MODEL_DISPLAY_METADATA, i as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, j as isBYOKProviderRoleSupported, k as getOutputTokenLimit, l as DECISION_MODEL_PROVIDERS, m as MODEL_CATALOG_PROVIDER_KIND, n as ANTHROPIC_ADAPTIVE_THINKING_MODELS, o as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, p as MODEL_CATALOG_ID_ALIASES, q as resolveModelRate, r as BYOK_DEFAULT_MODELS, s as CONTEXT_WINDOW_TOKENS, t as AI_PROVIDERS, tt as MODEL_TEMPERATURE_POLICIES, u as DEFAULT_CONTEXT_WINDOW_TOKENS, v as RECOMMENDED_CHAT_MODELS, w as getModelDisplayMetadata, x as TEMPERATURE_POLICIES, y as STREAMING_TOOL_USE_SUPPORTS, z as CAPABILITY_OVERRIDES } from "./src-d-7yksBq.js";
2
2
  import { MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, resolveDefaultModel, resolveDefaultOverrideModels } from "./model-defaults-ledger.js";
3
3
  export { AI_PROVIDERS, ANTHROPIC_ADAPTIVE_THINKING_MODELS, BYOK_DEFAULT_MODELS, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, BYOK_MODEL_OPTIONS, CAPABILITY_OVERRIDES, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, CONTEXT_WINDOW_TOKENS, DECISION_MODEL_CATALOG, DECISION_MODEL_PROVIDERS, DEFAULT_CONTEXT_WINDOW_TOKENS, DOCUMENT_INPUT_OVERRIDES, FIRST_PARTY_MODEL_PROVIDERS, IMAGE_INPUT_CAPABILITIES, IMAGE_INPUT_OVERRIDES, MODELS_DEV_RATE_CORRECTIONS, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, MODELS_DEV_RATE_SOURCE_ALIASES, MODEL_CATALOG_ID_ALIASES, MODEL_CATALOG_PROVIDER_KIND, MODEL_DEFAULT_REASONING_EFFORTS, MODEL_DISPLAY_METADATA, MODEL_IMAGE_INPUT_CAPABILITIES, MODEL_OUTPUT_TOKEN_LIMITS, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_RATES, MODEL_RATE_UNITS_PER_USD, MODEL_REASONING_CAPABILITIES, MODEL_REASONING_EFFORTS, MODEL_STREAMING_TOOL_USE, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, MODEL_TEMPERATURE_POLICIES, REASONING_EFFORTS, REASONING_REPLAY_FORMATS, RECOMMENDED_CHAT_MODELS, RETAINED_MODELS_DEV_RATE_ENTRIES, STREAMING_TOOL_USE_SUPPORTS, TANSTACK_AI_PROVIDERS, TEMPERATURE_POLICIES, getContextWindowTokens, getModelDefaultReasoningEffort, getModelDisplayMetadata, getModelImageInputCapability, getModelRate, getModelReasoningCapabilities, getModelReasoningEfforts, getOutputTokenLimit, getStandardModelRate, isBYOKModelRoleSupported, isBYOKProviderRoleSupported, isChatPdfAttachmentModelSupported, normalizeModelCatalogId, resolveDefaultModel, resolveDefaultOverrideModels, resolveModelRate, resolveReasoningEffort, resolveWorkingBYOKModelForTask, shouldEmitTemperature, supportsStreamingToolUse };
@@ -1,2 +1,2 @@
1
- import { At as MODEL_TASK_OVERRIDE_GROUP, Bt as resolveDefaultModel, Dt as MODEL_OVERRIDE_GROUPS, Et as MODEL_DEFAULTS_LEDGER, Ft as ModelDefaultsLedger, It as ModelMode, Lt as ModelOverrideGroup, Mt as ModelDefaultEntry, Nt as ModelDefaultQuality, Ot as MODEL_OVERRIDE_GROUP_TASK, Pt as ModelDefaultRationale, Rt as ModelTask, Vt as resolveDefaultOverrideModels, jt as ModelDefaultCandidate, kt as MODEL_TASKS, zt as ResolvedDefaultModel } from "./index-COmyIxMN.js";
1
+ import { At as MODEL_TASK_OVERRIDE_GROUP, Bt as resolveDefaultModel, Dt as MODEL_OVERRIDE_GROUPS, Et as MODEL_DEFAULTS_LEDGER, Ft as ModelDefaultsLedger, It as ModelMode, Lt as ModelOverrideGroup, Mt as ModelDefaultEntry, Nt as ModelDefaultQuality, Ot as MODEL_OVERRIDE_GROUP_TASK, Pt as ModelDefaultRationale, Rt as ModelTask, Vt as resolveDefaultOverrideModels, jt as ModelDefaultCandidate, kt as MODEL_TASKS, zt as ResolvedDefaultModel } from "./index-Cez3kbD9.js";
2
2
  export { MODEL_DEFAULTS_LEDGER, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, ModelDefaultCandidate, ModelDefaultEntry, ModelDefaultQuality, ModelDefaultRationale, ModelDefaultsLedger, ModelMode, ModelOverrideGroup, ModelTask, ResolvedDefaultModel, resolveDefaultModel, resolveDefaultOverrideModels };
@@ -560,7 +560,11 @@ const MODEL_REASONING_EFFORTS = {
560
560
  "medium",
561
561
  "high"
562
562
  ],
563
- "mistral-large-4": ["none", "high"],
563
+ "mistral-large-4": [
564
+ "low",
565
+ "medium",
566
+ "high"
567
+ ],
564
568
  "mistral-large-latest": null,
565
569
  "mistral-medium-latest": ["none", "high"],
566
570
  "mistral-small-latest": ["none", "high"]
@@ -1160,9 +1164,9 @@ const MODEL_RATES = {
1160
1164
  },
1161
1165
  "mistral-large-4": {
1162
1166
  kind: "flat",
1163
- inputPerMTok: 136e3,
1164
- outputPerMTok: 418e3,
1165
- cachedInputPerMTok: 14e3
1167
+ inputPerMTok: 7e4,
1168
+ outputPerMTok: 21e4,
1169
+ cachedInputPerMTok: 7e3
1166
1170
  },
1167
1171
  "mistral-large-latest": {
1168
1172
  kind: "flat",
@@ -4,6 +4,7 @@ type TranscriptionDurationPrice = {
4
4
  usdNumerator: number;
5
5
  secondsDenominator: number;
6
6
  };
7
+ type TranscriptionResidency = "eu" | "us";
7
8
  type TranscriptionRegionalAvailability = {
8
9
  status: "available";
9
10
  price: TranscriptionDurationPrice;
@@ -18,7 +19,7 @@ type TranscriptionModelMetadata = {
18
19
  timestamps: "none" | "segment" | "word";
19
20
  vocabularyMechanism: "none" | "groq-prompt" | "azure-phrase-list" | "context-hint";
20
21
  diarization: "supported" | "unconfirmed";
21
- residency: Record<"eu" | "us", TranscriptionRegionalAvailability>;
22
+ residency: Record<TranscriptionResidency, TranscriptionRegionalAvailability>;
22
23
  source: {
23
24
  url: string;
24
25
  checkedAt: string;
@@ -203,6 +204,12 @@ export type TranscriptionModelId = keyof typeof TRANSCRIPTION_MODELS;
203
204
  export type TranscriptionModel = (typeof TRANSCRIPTION_MODELS)[TranscriptionModelId];
204
205
  export type TranscriptionVocabularyMechanism = TranscriptionModelMetadata["vocabularyMechanism"];
205
206
  export declare const isTranscriptionModelId: (modelId: string) => modelId is TranscriptionModelId;
207
+ /**
208
+ * The model a caller gets when it names none: the cheapest one offered in
209
+ * the organization's region at that region's price, or `undefined` when the
210
+ * region offers none. Ties keep catalog order.
211
+ */
212
+ export declare const defaultTranscriptionModelId: (residency: TranscriptionResidency) => TranscriptionModelId | undefined;
206
213
  export declare const getTranscriptionModel: (modelId: string) => {
207
214
  readonly displayName: "Whisper Large V3 Turbo";
208
215
  readonly price: {
@@ -149,6 +149,25 @@ const TRANSCRIPTION_MODELS = {
149
149
  }
150
150
  };
151
151
  const isTranscriptionModelId = (modelId) => Object.hasOwn(TRANSCRIPTION_MODELS, modelId);
152
+ /**
153
+ * The model a caller gets when it names none: the cheapest one offered in
154
+ * the organization's region at that region's price, or `undefined` when the
155
+ * region offers none. Ties keep catalog order.
156
+ */
157
+ const defaultTranscriptionModelId = (residency) => {
158
+ let cheapest;
159
+ for (const modelId of Object.keys(TRANSCRIPTION_MODELS)) {
160
+ if (!isTranscriptionModelId(modelId)) continue;
161
+ const regional = TRANSCRIPTION_MODELS[modelId].residency[residency];
162
+ if (regional.status !== "available") continue;
163
+ const { price } = regional;
164
+ if (cheapest === void 0 || price.usdNumerator * cheapest.price.secondsDenominator < cheapest.price.usdNumerator * price.secondsDenominator) cheapest = {
165
+ modelId,
166
+ price
167
+ };
168
+ }
169
+ return cheapest?.modelId;
170
+ };
152
171
  const getTranscriptionModel = (modelId) => Object.hasOwn(TRANSCRIPTION_MODELS, modelId) && isTranscriptionModelId(modelId) ? TRANSCRIPTION_MODELS[modelId] : void 0;
153
172
  //#endregion
154
- export { TRANSCRIPTION_MODELS, getTranscriptionModel, isTranscriptionModelId };
173
+ export { TRANSCRIPTION_MODELS, defaultTranscriptionModelId, getTranscriptionModel, isTranscriptionModelId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stll/ai-catalog",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "Provider-neutral AI model roles, capabilities, and curated model metadata.",
5
5
  "keywords": [
6
6
  "ai",