@stll/ai-catalog 0.10.1 → 0.11.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.
@@ -1,5 +1,4 @@
1
- import { D as ReasoningEffort, a as BYOKProvider } from "./index-Cez3kbD9.js";
2
- //#region src/benchmark-frontier.d.ts
1
+ import { D as ReasoningEffort, a as BYOKProvider } from "./index-B_CvkAFI.js";
3
2
  export type ModelBenchmarkMeasurement = {
4
3
  sourceModelId: string;
5
4
  reasoningEffort: ReasoningEffort | null;
@@ -74,5 +73,4 @@ export declare const getModelBenchmarkTradeoff: (measurements: readonly Classifi
74
73
  * project the result back onto each route. A route that shares an Arena row
75
74
  * with the preferred route inherits that row's classification.
76
75
  */
77
- export declare const classifyBenchmarkModelOptions: <TOption extends BenchmarkModelOption>(options: readonly TOption[]) => ClassifiedBenchmarkModelOption<TOption>[];
78
- //#endregion
76
+ export declare const classifyBenchmarkModelOptions: <TOption extends BenchmarkModelOption>(options: readonly TOption[]) => ClassifiedBenchmarkModelOption<TOption>[];
@@ -1,4 +1,4 @@
1
- //#region src/benchmark-frontier.ts
1
+ // src/benchmark-frontier.ts
2
2
  const MODEL_BENCHMARK_AVAILABILITIES = ["available", "provider_unconfigured"];
3
3
  const buildModelBenchmarkPoints = (options) => options.flatMap((option) => {
4
4
  const cost = option.costPerTypicalCallUsd;
@@ -121,5 +121,4 @@ const classifyBenchmarkModelOptions = (options) => {
121
121
  };
122
122
  });
123
123
  };
124
- //#endregion
125
124
  export { MODEL_BENCHMARK_AVAILABILITIES, MODEL_BENCHMARK_CLASSIFICATIONS, PREMIUM_COST_MULTIPLIER, buildModelBenchmarkPoints, classifyBenchmarkModelOptions, classifyBenchmarkPoints, dominatesBenchmarkPoint, getModelBenchmarkTradeoff, getParetoFrontier, getPremiumBenchmarkPointIds, getUniqueModelBenchmarkPoints, statisticallyDominatesBenchmarkPoint };
@@ -1,6 +1,5 @@
1
1
  import { ModelBenchmarkMeasurement } from "./benchmark-frontier.js";
2
- import { w as OfferedBYOKModelId } from "./index-Cez3kbD9.js";
3
- //#region src/benchmark-sources.d.ts
2
+ import { w as OfferedBYOKModelId } from "./index-B_CvkAFI.js";
4
3
  export declare const MODEL_BENCHMARK_NAME = "Text Arena";
5
4
  export declare const MODEL_BENCHMARK_LICENCE = "CC BY 4.0";
6
5
  export declare const MODEL_BENCHMARK_DATASET = "lmarena-ai/leaderboard-dataset";
@@ -43,6 +42,7 @@ export declare const MODEL_BENCHMARK_SOURCES: {
43
42
  }];
44
43
  readonly "gemini-3.1-flash-lite": readonly [];
45
44
  readonly "openai/gpt-6.1-sol": readonly [];
45
+ readonly "openai/gpt-6.1-terra": readonly [];
46
46
  readonly "openai/gpt-6-astra": readonly [{
47
47
  readonly sourceModelId: "gpt-6-astra-max";
48
48
  readonly reasoningEffort: "max";
@@ -116,6 +116,7 @@ export declare const MODEL_BENCHMARK_SOURCES: {
116
116
  readonly reasoningEffort: "high";
117
117
  }];
118
118
  readonly "gpt-6.1-sol": readonly [];
119
+ readonly "gpt-6.1-terra": readonly [];
119
120
  readonly "gpt-6-astra": readonly [{
120
121
  readonly sourceModelId: "gpt-6-astra-max";
121
122
  readonly reasoningEffort: "max";
@@ -278,6 +279,7 @@ export declare const MODEL_UNRATED_REASON: {
278
279
  readonly "gemini-4-argon": "too_new";
279
280
  readonly "gemini-3.1-flash-lite": "preview_only";
280
281
  readonly "openai/gpt-6.1-sol": "too_new";
282
+ readonly "openai/gpt-6.1-terra": "too_new";
281
283
  readonly "google/gemini-4-argon": "too_new";
282
284
  readonly "google/gemini-3.5-flash-lite": "named_default_effort";
283
285
  readonly "google/gemini-3.1-pro-preview": "named_default_effort";
@@ -285,6 +287,7 @@ export declare const MODEL_UNRATED_REASON: {
285
287
  readonly "anthropic/claude-sonnet-5.5": "too_new";
286
288
  readonly "anthropic/claude-sonnet-4.6": "named_default_effort";
287
289
  readonly "gpt-6.1-sol": "too_new";
290
+ readonly "gpt-6.1-terra": "too_new";
288
291
  readonly "claude-sonnet-5-5": "too_new";
289
292
  readonly "mistral-large-4": "too_new";
290
293
  readonly "mistral-large-latest": "floating_alias";
@@ -302,8 +305,6 @@ type ModelBenchmarkRating = {
302
305
  type ModelBenchmarkSourceEntry = (typeof MODEL_BENCHMARK_SOURCES)[OfferedBYOKModelId][number];
303
306
  /** Every Arena model id the catalog references; the snapshot must cover it. */
304
307
  type ModelBenchmarkSourceModelId = ModelBenchmarkSourceEntry["sourceModelId"];
305
- //#endregion
306
- //#region src/benchmarks.gen.d.ts
307
308
  export declare const MODEL_BENCHMARK_PUBLISH_DATE = "2026-09-30";
308
309
  export declare const MODEL_BENCHMARK_RATINGS: {
309
310
  readonly "gemini-3.8-flash-high": {
@@ -594,8 +595,6 @@ export declare const MODEL_BENCHMARK_RATINGS: {
594
595
  readonly voteCount: 10371;
595
596
  };
596
597
  };
597
- //#endregion
598
- //#region src/benchmarks.d.ts
599
598
  export declare const TYPICAL_CALL_INPUT_TOKENS = 20000;
600
599
  export declare const TYPICAL_CALL_OUTPUT_TOKENS = 2000;
601
600
  /**
@@ -609,5 +608,4 @@ export declare const getTypicalCallCostUsd: (modelId: string) => number | null;
609
608
  export declare const getModelBenchmarkMeasurements: (modelId: OfferedBYOKModelId) => ModelBenchmarkMeasurement[];
610
609
  /** Why an offered model has no exact Text Arena row; `null` when it has one. */
611
610
  export declare const getModelUnratedReason: (modelId: OfferedBYOKModelId) => ModelUnratedReason | null;
612
- //#endregion
613
611
  export type { ModelBenchmarkRating, ModelBenchmarkSourceModelId, ModelUnratedReason };
@@ -1,5 +1,5 @@
1
- import { E as getModelRate, G as MODEL_RATE_UNITS_PER_USD, K as getStandardModelRate } from "./src-d-7yksBq.js";
2
- //#region src/benchmark-sources.ts
1
+ import { E as getModelRate, G as MODEL_RATE_UNITS_PER_USD, K as getStandardModelRate } from "./src-BlOTZVsF.js";
2
+ // src/benchmark-sources.ts
3
3
  const MODEL_BENCHMARK_NAME = "Text Arena";
4
4
  const MODEL_BENCHMARK_LICENCE = "CC BY 4.0";
5
5
  const MODEL_BENCHMARK_DATASET = "lmarena-ai/leaderboard-dataset";
@@ -42,6 +42,7 @@ const MODEL_BENCHMARK_SOURCES = {
42
42
  }],
43
43
  "gemini-3.1-flash-lite": [],
44
44
  "openai/gpt-6.1-sol": [],
45
+ "openai/gpt-6.1-terra": [],
45
46
  "openai/gpt-6-astra": [{
46
47
  sourceModelId: "gpt-6-astra-max",
47
48
  reasoningEffort: "max"
@@ -115,6 +116,7 @@ const MODEL_BENCHMARK_SOURCES = {
115
116
  reasoningEffort: "high"
116
117
  }],
117
118
  "gpt-6.1-sol": [],
119
+ "gpt-6.1-terra": [],
118
120
  "gpt-6-astra": [{
119
121
  sourceModelId: "gpt-6-astra-max",
120
122
  reasoningEffort: "max"
@@ -273,6 +275,7 @@ const MODEL_UNRATED_REASON = {
273
275
  "gemini-4-argon": "too_new",
274
276
  "gemini-3.1-flash-lite": "preview_only",
275
277
  "openai/gpt-6.1-sol": "too_new",
278
+ "openai/gpt-6.1-terra": "too_new",
276
279
  "google/gemini-4-argon": "too_new",
277
280
  "google/gemini-3.5-flash-lite": "named_default_effort",
278
281
  "google/gemini-3.1-pro-preview": "named_default_effort",
@@ -280,14 +283,14 @@ const MODEL_UNRATED_REASON = {
280
283
  "anthropic/claude-sonnet-5.5": "too_new",
281
284
  "anthropic/claude-sonnet-4.6": "named_default_effort",
282
285
  "gpt-6.1-sol": "too_new",
286
+ "gpt-6.1-terra": "too_new",
283
287
  "claude-sonnet-5-5": "too_new",
284
288
  "mistral-large-4": "too_new",
285
289
  "mistral-large-latest": "floating_alias",
286
290
  "mistral-medium-latest": "floating_alias",
287
291
  "mistral-small-latest": "floating_alias"
288
292
  };
289
- //#endregion
290
- //#region src/benchmarks.gen.ts
293
+ // src/benchmarks.gen.ts
291
294
  const MODEL_BENCHMARK_PUBLISH_DATE = "2026-09-30";
292
295
  const MODEL_BENCHMARK_RATINGS = {
293
296
  "gemini-3.8-flash-high": {
@@ -578,8 +581,7 @@ const MODEL_BENCHMARK_RATINGS = {
578
581
  voteCount: 10371
579
582
  }
580
583
  };
581
- //#endregion
582
- //#region src/benchmarks.ts
584
+ // src/benchmarks.ts
583
585
  /**
584
586
  * Cost and quality trade-offs across the offered catalog.
585
587
  *
@@ -619,5 +621,4 @@ const getModelBenchmarkMeasurements = (modelId) => MODEL_BENCHMARK_SOURCES[model
619
621
  const MODEL_UNRATED_REASON_BY_ID = MODEL_UNRATED_REASON;
620
622
  /** Why an offered model has no exact Text Arena row; `null` when it has one. */
621
623
  const getModelUnratedReason = (modelId) => MODEL_UNRATED_REASON_BY_ID[modelId] ?? null;
622
- //#endregion
623
624
  export { MODEL_BENCHMARK_CATEGORY, MODEL_BENCHMARK_CONFIG, MODEL_BENCHMARK_DATASET, MODEL_BENCHMARK_LICENCE, MODEL_BENCHMARK_NAME, MODEL_BENCHMARK_PUBLISH_DATE, MODEL_BENCHMARK_RATINGS, MODEL_BENCHMARK_SOURCES, MODEL_BENCHMARK_SOURCE_URL, MODEL_BENCHMARK_SPLIT, MODEL_UNRATED_REASON, MODEL_UNRATED_REASONS, TYPICAL_CALL_INPUT_TOKENS, TYPICAL_CALL_OUTPUT_TOKENS, getModelBenchmarkMeasurements, getModelUnratedReason, getTypicalCallCostUsd };
@@ -1,5 +1,4 @@
1
1
  import * as v from "valibot";
2
- //#region src/model-defaults-ledger.d.ts
3
2
  declare const MODEL_TASKS: readonly ["chat", "reasoning", "analysis", "pdf", "search-expand", "classify", "short-text"];
4
3
  type ModelTask = (typeof MODEL_TASKS)[number];
5
4
  declare const MODEL_OVERRIDE_GROUPS: readonly ["fast", "chat", "reasoning", "pdf"];
@@ -1341,8 +1340,6 @@ declare const resolveDefaultOverrideModels: <TProvider extends AIProvider>(orgPr
1341
1340
  modelId: string;
1342
1341
  } | null;
1343
1342
  };
1344
- //#endregion
1345
- //#region src/model-rate.d.ts
1346
1343
  /**
1347
1344
  * models.dev publishes USD prices per one million tokens. Stella stores the
1348
1345
  * same rates as integer ledger units so usage arithmetic never depends on
@@ -1382,8 +1379,6 @@ type ModelRate = ({
1382
1379
  };
1383
1380
  declare const getStandardModelRate: (rate: ModelRate) => ModelRateAmounts;
1384
1381
  declare const resolveModelRate: (rate: ModelRate, inputTokens: number) => ModelRateAmounts;
1385
- //#endregion
1386
- //#region src/model-rates.gen.d.ts
1387
1382
  declare const MODEL_RATES: {
1388
1383
  readonly "gemini-4-argon": {
1389
1384
  readonly kind: "flat";
@@ -1457,6 +1452,22 @@ declare const MODEL_RATES: {
1457
1452
  readonly cachedWriteInputPerMTok: 500000;
1458
1453
  };
1459
1454
  };
1455
+ readonly "gpt-6.1-terra": {
1456
+ readonly kind: "input-token-tiered";
1457
+ readonly inputTokenThreshold: 272000;
1458
+ readonly standard: {
1459
+ readonly inputPerMTok: 100000;
1460
+ readonly outputPerMTok: 500000;
1461
+ readonly cachedInputPerMTok: 5000;
1462
+ readonly cachedWriteInputPerMTok: 125000;
1463
+ };
1464
+ readonly aboveThreshold: {
1465
+ readonly inputPerMTok: 200000;
1466
+ readonly outputPerMTok: 750000;
1467
+ readonly cachedInputPerMTok: 10000;
1468
+ readonly cachedWriteInputPerMTok: 250000;
1469
+ };
1470
+ };
1460
1471
  readonly "gpt-6-astra": {
1461
1472
  readonly kind: "input-token-tiered";
1462
1473
  readonly inputTokenThreshold: 272000;
@@ -1815,8 +1826,6 @@ declare const MODEL_RATES: {
1815
1826
  readonly outputPerMTok: 540000;
1816
1827
  };
1817
1828
  };
1818
- //#endregion
1819
- //#region src/reasoning-capabilities.d.ts
1820
1829
  declare const REASONING_REPLAY_FORMATS: readonly ["openai-encrypted-content", "openai-item-id", "anthropic-thinking-signature", "anthropic-redacted-thinking", "google-thought-signature", "none"];
1821
1830
  type ReasoningReplayFormat = (typeof REASONING_REPLAY_FORMATS)[number];
1822
1831
  type ReasoningProvenance = {
@@ -1937,6 +1946,14 @@ declare const MODEL_REASONING_CAPABILITIES: {
1937
1946
  readonly anthropicThinking: "none";
1938
1947
  readonly replayCompatibility: readonly [];
1939
1948
  };
1949
+ readonly "openai/gpt-6.1-terra": {
1950
+ readonly support: "supported";
1951
+ readonly emittedFormats: readonly ["none"];
1952
+ readonly openAIIncludeEncryptedContent: false;
1953
+ readonly openAIStore: null;
1954
+ readonly anthropicThinking: "none";
1955
+ readonly replayCompatibility: readonly [];
1956
+ };
1940
1957
  readonly "openai/gpt-6-astra": {
1941
1958
  readonly support: "supported";
1942
1959
  readonly emittedFormats: readonly ["none"];
@@ -2125,6 +2142,18 @@ declare const MODEL_REASONING_CAPABILITIES: {
2125
2142
  readonly format: "openai-encrypted-content";
2126
2143
  }];
2127
2144
  };
2145
+ readonly "gpt-6.1-terra": {
2146
+ readonly support: "supported";
2147
+ readonly emittedFormats: readonly ["openai-encrypted-content"];
2148
+ readonly openAIIncludeEncryptedContent: true;
2149
+ readonly openAIStore: false;
2150
+ readonly anthropicThinking: "none";
2151
+ readonly replayCompatibility: readonly [{
2152
+ readonly provider: "openai";
2153
+ readonly model: "gpt-6.1-terra";
2154
+ readonly format: "openai-encrypted-content";
2155
+ }];
2156
+ };
2128
2157
  readonly "gpt-6-astra": {
2129
2158
  readonly support: "supported";
2130
2159
  readonly emittedFormats: readonly ["openai-encrypted-content"];
@@ -2546,8 +2575,6 @@ declare const MODEL_REASONING_CAPABILITIES: {
2546
2575
  readonly replayCompatibility: readonly [];
2547
2576
  };
2548
2577
  };
2549
- //#endregion
2550
- //#region src/model-rate-policy.d.ts
2551
2578
  declare const MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER: {
2552
2579
  readonly google: "google";
2553
2580
  readonly openai: "openai";
@@ -2610,8 +2637,6 @@ type ReviewedModelRateCorrection = {
2610
2637
  * source no rated model uses.
2611
2638
  */
2612
2639
  declare const MODELS_DEV_RATE_CORRECTIONS: Readonly<Record<string, readonly ReviewedModelRateCorrection[]>>;
2613
- //#endregion
2614
- //#region src/capabilities-overrides.d.ts
2615
2640
  /**
2616
2641
  * Hand-declared capabilities for offered models that models.dev does
2617
2642
  * not cover. The capability generator
@@ -2644,8 +2669,6 @@ type ImageInputOverride = {
2644
2669
  type ImageInputOverrides = { [TProvider in BYOKProvider]?: Partial<Record<BYOKModelIdByProvider[TProvider], ImageInputOverride>>; };
2645
2670
  /** Only official provider documentation may override input-modality evidence. */
2646
2671
  declare const IMAGE_INPUT_OVERRIDES: ImageInputOverrides;
2647
- //#endregion
2648
- //#region src/document-input-overrides.d.ts
2649
2672
  type DocumentInputOverride = {
2650
2673
  /** Whether the model accepts a PDF/file content part. */
2651
2674
  supported: boolean;
@@ -2658,8 +2681,6 @@ type DocumentInputOverride = {
2658
2681
  * override once upstream agrees, so sourced data takes ownership automatically.
2659
2682
  */
2660
2683
  declare const DOCUMENT_INPUT_OVERRIDES: Partial<Record<OfferedBYOKModelId, DocumentInputOverride>>;
2661
- //#endregion
2662
- //#region src/capabilities.gen.d.ts
2663
2684
  /** Every offered provider/model pair has explicit image-input evidence. */
2664
2685
  declare const MODEL_IMAGE_INPUT_CAPABILITIES: {
2665
2686
  readonly google: {
@@ -2674,6 +2695,7 @@ declare const MODEL_IMAGE_INPUT_CAPABILITIES: {
2674
2695
  };
2675
2696
  readonly openrouter: {
2676
2697
  readonly "openai/gpt-6.1-sol": "supported";
2698
+ readonly "openai/gpt-6.1-terra": "supported";
2677
2699
  readonly "openai/gpt-6-astra": "supported";
2678
2700
  readonly "openai/gpt-6-sol": "supported";
2679
2701
  readonly "openai/gpt-6-luna": "supported";
@@ -2699,6 +2721,7 @@ declare const MODEL_IMAGE_INPUT_CAPABILITIES: {
2699
2721
  };
2700
2722
  readonly openai: {
2701
2723
  readonly "gpt-6.1-sol": "supported";
2724
+ readonly "gpt-6.1-terra": "supported";
2702
2725
  readonly "gpt-6-astra": "supported";
2703
2726
  readonly "gpt-6-sol": "supported";
2704
2727
  readonly "gpt-6-luna": "supported";
@@ -2758,6 +2781,7 @@ declare const MODEL_REASONING_EFFORTS: {
2758
2781
  readonly "gemini-3.5-flash": readonly ["minimal", "low", "medium", "high"];
2759
2782
  readonly "gemini-3.1-flash-lite": readonly ["minimal", "low", "medium", "high"];
2760
2783
  readonly "openai/gpt-6.1-sol": readonly ["low", "medium", "high", "xhigh", "max"];
2784
+ readonly "openai/gpt-6.1-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
2761
2785
  readonly "openai/gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max"];
2762
2786
  readonly "openai/gpt-6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
2763
2787
  readonly "openai/gpt-6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
@@ -2781,6 +2805,7 @@ declare const MODEL_REASONING_EFFORTS: {
2781
2805
  readonly "openai/gpt-5.5": readonly ["none", "low", "medium", "high", "xhigh"];
2782
2806
  readonly "openai/gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
2783
2807
  readonly "gpt-6.1-sol": readonly ["low", "medium", "high", "xhigh", "max"];
2808
+ readonly "gpt-6.1-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
2784
2809
  readonly "gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max"];
2785
2810
  readonly "gpt-6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
2786
2811
  readonly "gpt-6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
@@ -2832,6 +2857,7 @@ declare const MODEL_DEFAULT_REASONING_EFFORTS: {
2832
2857
  readonly "gemini-3.5-flash": null;
2833
2858
  readonly "gemini-3.1-flash-lite": null;
2834
2859
  readonly "openai/gpt-6.1-sol": "medium";
2860
+ readonly "openai/gpt-6.1-terra": "medium";
2835
2861
  readonly "openai/gpt-6-astra": "medium";
2836
2862
  readonly "openai/gpt-6-sol": "medium";
2837
2863
  readonly "openai/gpt-6-luna": "medium";
@@ -2855,6 +2881,7 @@ declare const MODEL_DEFAULT_REASONING_EFFORTS: {
2855
2881
  readonly "openai/gpt-5.5": "medium";
2856
2882
  readonly "openai/gpt-5.4-mini": "medium";
2857
2883
  readonly "gpt-6.1-sol": null;
2884
+ readonly "gpt-6.1-terra": null;
2858
2885
  readonly "gpt-6-astra": null;
2859
2886
  readonly "gpt-6-sol": null;
2860
2887
  readonly "gpt-6-luna": null;
@@ -2906,6 +2933,7 @@ declare const MODEL_TEMPERATURE_POLICIES: {
2906
2933
  readonly "gemini-3.5-flash": "emit";
2907
2934
  readonly "gemini-3.1-flash-lite": "emit";
2908
2935
  readonly "openai/gpt-6.1-sol": "omit";
2936
+ readonly "openai/gpt-6.1-terra": "omit";
2909
2937
  readonly "openai/gpt-6-astra": "omit";
2910
2938
  readonly "openai/gpt-6-sol": "omit";
2911
2939
  readonly "openai/gpt-6-luna": "omit";
@@ -2929,6 +2957,7 @@ declare const MODEL_TEMPERATURE_POLICIES: {
2929
2957
  readonly "openai/gpt-5.5": "omit";
2930
2958
  readonly "openai/gpt-5.4-mini": "omit";
2931
2959
  readonly "gpt-6.1-sol": "omit";
2960
+ readonly "gpt-6.1-terra": "omit";
2932
2961
  readonly "gpt-6-astra": "omit";
2933
2962
  readonly "gpt-6-sol": "omit";
2934
2963
  readonly "gpt-6-luna": "omit";
@@ -2980,6 +3009,7 @@ declare const MODEL_OUTPUT_TOKEN_LIMITS: {
2980
3009
  readonly "gemini-3.5-flash": 65536;
2981
3010
  readonly "gemini-3.1-flash-lite": 65536;
2982
3011
  readonly "openai/gpt-6.1-sol": 128000;
3012
+ readonly "openai/gpt-6.1-terra": 128000;
2983
3013
  readonly "openai/gpt-6-astra": 128000;
2984
3014
  readonly "openai/gpt-6-sol": 128000;
2985
3015
  readonly "openai/gpt-6-luna": 128000;
@@ -3003,6 +3033,7 @@ declare const MODEL_OUTPUT_TOKEN_LIMITS: {
3003
3033
  readonly "openai/gpt-5.5": 128000;
3004
3034
  readonly "openai/gpt-5.4-mini": 128000;
3005
3035
  readonly "gpt-6.1-sol": 128000;
3036
+ readonly "gpt-6.1-terra": 128000;
3006
3037
  readonly "gpt-6-astra": 128000;
3007
3038
  readonly "gpt-6-sol": 128000;
3008
3039
  readonly "gpt-6-luna": 128000;
@@ -3039,8 +3070,6 @@ declare const MODEL_OUTPUT_TOKEN_LIMITS: {
3039
3070
  readonly "mistral-medium-latest": 262144;
3040
3071
  readonly "mistral-small-latest": 256000;
3041
3072
  };
3042
- //#endregion
3043
- //#region src/index.d.ts
3044
3073
  declare const TEMPERATURE_POLICIES: readonly ["emit", "omit"];
3045
3074
  type TemperaturePolicy = (typeof TEMPERATURE_POLICIES)[number];
3046
3075
  declare const IMAGE_INPUT_CAPABILITIES: readonly ["supported", "unsupported", "unknown"];
@@ -3225,8 +3254,8 @@ declare const BYOK_DEFAULT_MODELS: {
3225
3254
  declare const BYOK_MODEL_OPTIONS: {
3226
3255
  readonly google: readonly ["gemini-4-argon", "gemini-3.8-flash", "gemini-3.7-flash", "gemini-3.6-flash", "gemini-3.5-flash-lite", "gemini-3.1-pro-preview", "gemini-3.5-flash", "gemini-3.1-flash-lite"];
3227
3256
  readonly anthropic: readonly ["claude-sonnet-5-5", "claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-5-5", "claude-haiku-4-5-20251001"];
3228
- readonly openai: readonly [...("gpt-5.6" | "gpt-5.6-luna" | "gpt-5.6-terra" | "gpt-6-astra" | "gpt-6-luna" | "gpt-6-sol" | "gpt-6.1-sol")[], "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3229
- readonly openrouter: readonly [...("openai/gpt-5.6-luna" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-6-astra" | "openai/gpt-6-luna" | "openai/gpt-6-sol" | "openai/gpt-6.1-sol")[], "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3257
+ readonly openai: readonly [...("gpt-5.6" | "gpt-5.6-luna" | "gpt-5.6-terra" | "gpt-6-astra" | "gpt-6-luna" | "gpt-6-sol" | "gpt-6.1-sol" | "gpt-6.1-terra")[], "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3258
+ readonly openrouter: readonly [...("openai/gpt-5.6-luna" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-6-astra" | "openai/gpt-6-luna" | "openai/gpt-6-sol" | "openai/gpt-6.1-sol" | "openai/gpt-6.1-terra")[], "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3230
3259
  readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-haiku-5-5", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-lite-v1:0", "us.amazon.nova-micro-v1:0", "openai.gpt-oss-120b-1:0", "openai.gpt-oss-20b-1:0"];
3231
3260
  readonly mistral: readonly ["mistral-large-4", "mistral-large-latest", "mistral-medium-latest", "mistral-small-latest"];
3232
3261
  };
@@ -3354,6 +3383,10 @@ declare const MODEL_DISPLAY_METADATA: {
3354
3383
  readonly displayName: "GPT-6.1 Sol";
3355
3384
  readonly iconProvider: "openai";
3356
3385
  };
3386
+ readonly "gpt-6.1-terra": {
3387
+ readonly displayName: "GPT-6.1 Terra";
3388
+ readonly iconProvider: "openai";
3389
+ };
3357
3390
  readonly "gpt-6-astra": {
3358
3391
  readonly displayName: "GPT-6 Astra";
3359
3392
  readonly iconProvider: "openai";
@@ -3375,6 +3408,7 @@ declare const MODEL_DISPLAY_METADATA: {
3375
3408
  readonly "gpt-5.6-terra": {
3376
3409
  readonly displayName: "GPT-5.6 Terra";
3377
3410
  readonly iconProvider: "openai";
3411
+ readonly supersededBy: "gpt-6.1-terra";
3378
3412
  };
3379
3413
  readonly "gpt-5.6-luna": {
3380
3414
  readonly displayName: "GPT-5.6 Luna";
@@ -3407,6 +3441,10 @@ declare const MODEL_DISPLAY_METADATA: {
3407
3441
  readonly displayName: "GPT-6.1 Sol";
3408
3442
  readonly iconProvider: "openai";
3409
3443
  };
3444
+ readonly "openai/gpt-6.1-terra": {
3445
+ readonly displayName: "GPT-6.1 Terra";
3446
+ readonly iconProvider: "openai";
3447
+ };
3410
3448
  readonly "openai/gpt-6-astra": {
3411
3449
  readonly displayName: "GPT-6 Astra";
3412
3450
  readonly iconProvider: "openai";
@@ -3433,6 +3471,7 @@ declare const MODEL_DISPLAY_METADATA: {
3433
3471
  readonly "openai/gpt-5.6-terra": {
3434
3472
  readonly displayName: "GPT-5.6 Terra";
3435
3473
  readonly iconProvider: "openai";
3474
+ readonly supersededBy: "openai/gpt-6.1-terra";
3436
3475
  };
3437
3476
  readonly "google/gemini-4-argon": {
3438
3477
  readonly displayName: "Gemini 4 Argon";
@@ -3565,8 +3604,8 @@ declare const getModelDisplayMetadata: (modelId: string) => ModelDisplayMetadata
3565
3604
  */
3566
3605
  declare const BYOK_DOCUMENT_INPUT_MODEL_OPTIONS: {
3567
3606
  readonly google: readonly ["gemini-4-argon", "gemini-3.8-flash", "gemini-3.7-flash", "gemini-3.6-flash", "gemini-3.5-flash-lite", "gemini-3.1-pro-preview", "gemini-3.5-flash", "gemini-3.1-flash-lite"];
3568
- readonly openrouter: readonly ["openai/gpt-6.1-sol", "openai/gpt-6-astra", "openai/gpt-6-sol", "openai/gpt-6-luna", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3569
- readonly openai: readonly ["gpt-6.1-sol", "gpt-6-astra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3607
+ readonly openrouter: readonly ["openai/gpt-6.1-sol", "openai/gpt-6.1-terra", "openai/gpt-6-astra", "openai/gpt-6-sol", "openai/gpt-6-luna", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3608
+ readonly openai: readonly ["gpt-6.1-sol", "gpt-6.1-terra", "gpt-6-astra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3570
3609
  readonly anthropic: readonly ["claude-sonnet-5-5", "claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-5-5", "claude-haiku-4-5-20251001"];
3571
3610
  readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-haiku-5-5", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-lite-v1:0"];
3572
3611
  readonly mistral: readonly [];
@@ -3600,8 +3639,8 @@ declare const isBYOKModelRoleSupported: ({ provider, modelId, role }: {
3600
3639
  */
3601
3640
  declare const CHAT_PDF_ATTACHMENT_MODEL_OPTIONS: {
3602
3641
  readonly google: readonly ["gemini-4-argon", "gemini-3.8-flash", "gemini-3.7-flash", "gemini-3.6-flash", "gemini-3.5-flash-lite", "gemini-3.1-pro-preview", "gemini-3.5-flash", "gemini-3.1-flash-lite"];
3603
- readonly openrouter: readonly ["openai/gpt-6.1-sol", "openai/gpt-6-astra", "openai/gpt-6-sol", "openai/gpt-6-luna", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3604
- readonly openai: readonly ["gpt-6.1-sol", "gpt-6-astra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3642
+ readonly openrouter: readonly ["openai/gpt-6.1-sol", "openai/gpt-6.1-terra", "openai/gpt-6-astra", "openai/gpt-6-sol", "openai/gpt-6-luna", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.1-flash-lite", "anthropic/claude-haiku-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-opus-4.8", "anthropic/claude-sonnet-4.6", "openai/gpt-5.5", "openai/gpt-5.4-mini"];
3643
+ readonly openai: readonly ["gpt-6.1-sol", "gpt-6.1-terra", "gpt-6-astra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.2"];
3605
3644
  readonly anthropic: readonly ["claude-sonnet-5-5", "claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-5-5", "claude-haiku-4-5-20251001"];
3606
3645
  readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-haiku-5-5", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-lite-v1:0"];
3607
3646
  readonly mistral: readonly ["mistral-medium-latest", "mistral-small-latest"];
@@ -3690,6 +3729,7 @@ declare const MODEL_STREAMING_TOOL_USE: {
3690
3729
  readonly "gemini-3.5-flash": "supported";
3691
3730
  readonly "gemini-3.1-flash-lite": "supported";
3692
3731
  readonly "openai/gpt-6.1-sol": "supported";
3732
+ readonly "openai/gpt-6.1-terra": "supported";
3693
3733
  readonly "openai/gpt-6-astra": "supported";
3694
3734
  readonly "openai/gpt-6-sol": "supported";
3695
3735
  readonly "openai/gpt-6-luna": "supported";
@@ -3712,6 +3752,7 @@ declare const MODEL_STREAMING_TOOL_USE: {
3712
3752
  readonly "openai/gpt-5.5": "supported";
3713
3753
  readonly "openai/gpt-5.4-mini": "supported";
3714
3754
  readonly "gpt-6.1-sol": "supported";
3755
+ readonly "gpt-6.1-terra": "supported";
3715
3756
  readonly "gpt-6-astra": "supported";
3716
3757
  readonly "gpt-6-sol": "supported";
3717
3758
  readonly "gpt-6-luna": "supported";
@@ -3823,6 +3864,7 @@ declare const CONTEXT_WINDOW_TOKENS: {
3823
3864
  readonly "gpt-5.4": 400000;
3824
3865
  readonly "gpt-5.5": 400000;
3825
3866
  readonly "gpt-6.1-sol": 922000;
3867
+ readonly "gpt-6.1-terra": 922000;
3826
3868
  readonly "gpt-6-astra": 922000;
3827
3869
  readonly "gpt-6-sol": 922000;
3828
3870
  readonly "gpt-6-luna": 922000;
@@ -3860,6 +3902,7 @@ declare const CONTEXT_WINDOW_TOKENS: {
3860
3902
  readonly "anthropic/claude-opus-4.8": 200000;
3861
3903
  readonly "anthropic/claude-sonnet-4.6": 200000;
3862
3904
  readonly "openai/gpt-6.1-sol": 922000;
3905
+ readonly "openai/gpt-6.1-terra": 922000;
3863
3906
  readonly "openai/gpt-6-astra": 922000;
3864
3907
  readonly "openai/gpt-6-sol": 922000;
3865
3908
  readonly "openai/gpt-6-luna": 922000;
@@ -3902,5 +3945,4 @@ declare const DECISION_MODEL_CATALOG: {
3902
3945
  };
3903
3946
  };
3904
3947
  declare const getModelReasoningCapabilities: (modelId: string) => ModelReasoningCapabilities | null;
3905
- //#endregion
3906
3948
  export { MODEL_IMAGE_INPUT_CAPABILITIES as $, STREAMING_TOOL_USE_SUPPORTS as A, MODEL_TASK_OVERRIDE_GROUP as At, getModelRate as B, resolveDefaultModel as Bt, ModelDisplayMetadata as C, ModelRateAmounts as Ct, ReasoningEffort as D, MODEL_OVERRIDE_GROUPS as Dt, RECOMMENDED_CHAT_MODELS as E, MODEL_DEFAULTS_LEDGER as Et, TemperaturePolicy as F, ModelDefaultsLedger as Ft, isBYOKProviderRoleSupported as G, getModelReasoningEfforts as H, getContextWindowTokens as I, ModelMode as It, resolveReasoningEffort as J, isChatPdfAttachmentModelSupported as K, getModelDefaultReasoningEffort as L, ModelOverrideGroup as Lt, TANSTACK_AI_PROVIDERS as M, ModelDefaultEntry as Mt, TEMPERATURE_POLICIES as N, ModelDefaultQuality as Nt, ResolveReasoningEffortOptions as O, MODEL_OVERRIDE_GROUP_TASK as Ot, TanStackAIProvider as P, ModelDefaultRationale as Pt, MODEL_DEFAULT_REASONING_EFFORTS as Q, getModelDisplayMetadata as R, ModelTask as Rt, MODEL_STREAMING_TOOL_USE as S, ModelRate as St, REASONING_EFFORTS as T, resolveModelRate as Tt, getOutputTokenLimit as U, getModelReasoningCapabilities as V, resolveDefaultOverrideModels as Vt, isBYOKModelRoleSupported as W, shouldEmitTemperature as X, resolveWorkingBYOKModelForTask as Y, supportsStreamingToolUse as Z, IMAGE_INPUT_CAPABILITIES as _, REASONING_REPLAY_FORMATS as _t, BYOKProvider as a, CAPABILITY_OVERRIDES as at, MODEL_CATALOG_PROVIDER_KIND as b, MODEL_RATES as bt, BYOK_MODEL_OPTIONS as c, ImageInputOverride as ct, DECISION_MODEL_CATALOG as d, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER as dt, MODEL_OUTPUT_TOKEN_LIMITS as et, DECISION_MODEL_PROVIDERS as f, MODELS_DEV_RATE_SOURCE_ALIASES as ft, FirstPartyModelProvider as g, ModelReasoningCapabilities as gt, FIRST_PARTY_MODEL_PROVIDERS as h, MODEL_REASONING_CAPABILITIES as ht, BYOKModelIdByProvider as i, DocumentInputOverride as it, StreamingToolUseSupport as j, ModelDefaultCandidate as jt, ResolvedReasoningEffort as k, MODEL_TASKS as kt, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS as l, ImageInputOverrides as lt, DecisionModelProvider as m, RETAINED_MODELS_DEV_RATE_ENTRIES as mt, AI_PROVIDERS as n, MODEL_TEMPERATURE_POLICIES as nt, BYOK_DEFAULT_MODELS as o, CapabilityOverride as ot, DEFAULT_CONTEXT_WINDOW_TOKENS as p, ModelsDevRateProvider as pt, normalizeModelCatalogId as q, ANTHROPIC_ADAPTIVE_THINKING_MODELS as r, DOCUMENT_INPUT_OVERRIDES as rt, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS as s, IMAGE_INPUT_OVERRIDES as st, AIProvider as t, MODEL_REASONING_EFFORTS as tt, CONTEXT_WINDOW_TOKENS as u, MODELS_DEV_RATE_CORRECTIONS as ut, ImageInputCapability as v, ReasoningProvenance as vt, OfferedBYOKModelId as w, getStandardModelRate as wt, MODEL_DISPLAY_METADATA as x, MODEL_RATE_UNITS_PER_USD as xt, MODEL_CATALOG_ID_ALIASES as y, ReasoningReplayFormat as yt, getModelImageInputCapability as z, ResolvedDefaultModel as zt };
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-Cez3kbD9.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-B_CvkAFI.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-d-7yksBq.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-BlOTZVsF.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-Cez3kbD9.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-B_CvkAFI.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 };
@@ -1,4 +1,4 @@
1
- //#region src/model-defaults-ledger.ts
1
+ // src/model-defaults-ledger.ts
2
2
  const MODEL_TASKS = [
3
3
  "chat",
4
4
  "reasoning",
@@ -446,5 +446,4 @@ const resolveDefaultOverrideModels = (orgProviders) => ({
446
446
  orgProviders
447
447
  }))
448
448
  });
449
- //#endregion
450
449
  export { MODEL_DEFAULTS_LEDGER, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, resolveDefaultModel, resolveDefaultOverrideModels };
@@ -1,6 +1,6 @@
1
1
  import { MODEL_DEFAULTS_LEDGER, MODEL_TASK_OVERRIDE_GROUP, resolveDefaultModel } from "./model-defaults-ledger.js";
2
2
  import * as v from "valibot";
3
- //#region src/capabilities.gen.ts
3
+ // src/capabilities.gen.ts
4
4
  /**
5
5
  * Offered models whose provider API accepts PDF/file content. Generated from
6
6
  * live input-modality metadata plus reviewed source corrections.
@@ -18,6 +18,7 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
18
18
  ],
19
19
  openrouter: [
20
20
  "openai/gpt-6.1-sol",
21
+ "openai/gpt-6.1-terra",
21
22
  "openai/gpt-6-astra",
22
23
  "openai/gpt-6-sol",
23
24
  "openai/gpt-6-luna",
@@ -43,6 +44,7 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
43
44
  ],
44
45
  openai: [
45
46
  "gpt-6.1-sol",
47
+ "gpt-6.1-terra",
46
48
  "gpt-6-astra",
47
49
  "gpt-6-sol",
48
50
  "gpt-6-luna",
@@ -92,6 +94,7 @@ const MODEL_IMAGE_INPUT_CAPABILITIES = {
92
94
  },
93
95
  openrouter: {
94
96
  "openai/gpt-6.1-sol": "supported",
97
+ "openai/gpt-6.1-terra": "supported",
95
98
  "openai/gpt-6-astra": "supported",
96
99
  "openai/gpt-6-sol": "supported",
97
100
  "openai/gpt-6-luna": "supported",
@@ -117,6 +120,7 @@ const MODEL_IMAGE_INPUT_CAPABILITIES = {
117
120
  },
118
121
  openai: {
119
122
  "gpt-6.1-sol": "supported",
123
+ "gpt-6.1-terra": "supported",
120
124
  "gpt-6-astra": "supported",
121
125
  "gpt-6-sol": "supported",
122
126
  "gpt-6-luna": "supported",
@@ -218,6 +222,14 @@ const MODEL_REASONING_EFFORTS = {
218
222
  "xhigh",
219
223
  "max"
220
224
  ],
225
+ "openai/gpt-6.1-terra": [
226
+ "none",
227
+ "low",
228
+ "medium",
229
+ "high",
230
+ "xhigh",
231
+ "max"
232
+ ],
221
233
  "openai/gpt-6-astra": [
222
234
  "low",
223
235
  "medium",
@@ -377,6 +389,14 @@ const MODEL_REASONING_EFFORTS = {
377
389
  "xhigh",
378
390
  "max"
379
391
  ],
392
+ "gpt-6.1-terra": [
393
+ "none",
394
+ "low",
395
+ "medium",
396
+ "high",
397
+ "xhigh",
398
+ "max"
399
+ ],
380
400
  "gpt-6-astra": [
381
401
  "low",
382
402
  "medium",
@@ -584,6 +604,7 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
584
604
  "gemini-3.5-flash": null,
585
605
  "gemini-3.1-flash-lite": null,
586
606
  "openai/gpt-6.1-sol": "medium",
607
+ "openai/gpt-6.1-terra": "medium",
587
608
  "openai/gpt-6-astra": "medium",
588
609
  "openai/gpt-6-sol": "medium",
589
610
  "openai/gpt-6-luna": "medium",
@@ -607,6 +628,7 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
607
628
  "openai/gpt-5.5": "medium",
608
629
  "openai/gpt-5.4-mini": "medium",
609
630
  "gpt-6.1-sol": null,
631
+ "gpt-6.1-terra": null,
610
632
  "gpt-6-astra": null,
611
633
  "gpt-6-sol": null,
612
634
  "gpt-6-luna": null,
@@ -658,6 +680,7 @@ const MODEL_TEMPERATURE_POLICIES = {
658
680
  "gemini-3.5-flash": "emit",
659
681
  "gemini-3.1-flash-lite": "emit",
660
682
  "openai/gpt-6.1-sol": "omit",
683
+ "openai/gpt-6.1-terra": "omit",
661
684
  "openai/gpt-6-astra": "omit",
662
685
  "openai/gpt-6-sol": "omit",
663
686
  "openai/gpt-6-luna": "omit",
@@ -681,6 +704,7 @@ const MODEL_TEMPERATURE_POLICIES = {
681
704
  "openai/gpt-5.5": "omit",
682
705
  "openai/gpt-5.4-mini": "omit",
683
706
  "gpt-6.1-sol": "omit",
707
+ "gpt-6.1-terra": "omit",
684
708
  "gpt-6-astra": "omit",
685
709
  "gpt-6-sol": "omit",
686
710
  "gpt-6-luna": "omit",
@@ -732,6 +756,7 @@ const MODEL_OUTPUT_TOKEN_LIMITS = {
732
756
  "gemini-3.5-flash": 65536,
733
757
  "gemini-3.1-flash-lite": 65536,
734
758
  "openai/gpt-6.1-sol": 128e3,
759
+ "openai/gpt-6.1-terra": 128e3,
735
760
  "openai/gpt-6-astra": 128e3,
736
761
  "openai/gpt-6-sol": 128e3,
737
762
  "openai/gpt-6-luna": 128e3,
@@ -755,6 +780,7 @@ const MODEL_OUTPUT_TOKEN_LIMITS = {
755
780
  "openai/gpt-5.5": 128e3,
756
781
  "openai/gpt-5.4-mini": 128e3,
757
782
  "gpt-6.1-sol": 128e3,
783
+ "gpt-6.1-terra": 128e3,
758
784
  "gpt-6-astra": 128e3,
759
785
  "gpt-6-sol": 128e3,
760
786
  "gpt-6-luna": 128e3,
@@ -791,8 +817,7 @@ const MODEL_OUTPUT_TOKEN_LIMITS = {
791
817
  "mistral-medium-latest": 262144,
792
818
  "mistral-small-latest": 256e3
793
819
  };
794
- //#endregion
795
- //#region src/model-rates.gen.ts
820
+ // src/model-rates.gen.ts
796
821
  const MODEL_RATES = {
797
822
  "gemini-4-argon": {
798
823
  kind: "flat",
@@ -866,6 +891,22 @@ const MODEL_RATES = {
866
891
  cachedWriteInputPerMTok: 5e5
867
892
  }
868
893
  },
894
+ "gpt-6.1-terra": {
895
+ kind: "input-token-tiered",
896
+ inputTokenThreshold: 272e3,
897
+ standard: {
898
+ inputPerMTok: 1e5,
899
+ outputPerMTok: 5e5,
900
+ cachedInputPerMTok: 5e3,
901
+ cachedWriteInputPerMTok: 125e3
902
+ },
903
+ aboveThreshold: {
904
+ inputPerMTok: 2e5,
905
+ outputPerMTok: 75e4,
906
+ cachedInputPerMTok: 1e4,
907
+ cachedWriteInputPerMTok: 25e4
908
+ }
909
+ },
869
910
  "gpt-6-astra": {
870
911
  kind: "input-token-tiered",
871
912
  inputTokenThreshold: 272e3,
@@ -1224,8 +1265,7 @@ const MODEL_RATES = {
1224
1265
  outputPerMTok: 54e4
1225
1266
  }
1226
1267
  };
1227
- //#endregion
1228
- //#region src/reasoning-capabilities.ts
1268
+ // src/reasoning-capabilities.ts
1229
1269
  const REASONING_REPLAY_FORMATS = [
1230
1270
  "openai-encrypted-content",
1231
1271
  "openai-item-id",
@@ -1339,6 +1379,14 @@ const MODEL_REASONING_CAPABILITIES = {
1339
1379
  anthropicThinking: "none",
1340
1380
  replayCompatibility: []
1341
1381
  },
1382
+ "openai/gpt-6.1-terra": {
1383
+ support: "supported",
1384
+ emittedFormats: ["none"],
1385
+ openAIIncludeEncryptedContent: false,
1386
+ openAIStore: null,
1387
+ anthropicThinking: "none",
1388
+ replayCompatibility: []
1389
+ },
1342
1390
  "openai/gpt-6-astra": {
1343
1391
  support: "supported",
1344
1392
  emittedFormats: ["none"],
@@ -1527,6 +1575,18 @@ const MODEL_REASONING_CAPABILITIES = {
1527
1575
  format: "openai-encrypted-content"
1528
1576
  }]
1529
1577
  },
1578
+ "gpt-6.1-terra": {
1579
+ support: "supported",
1580
+ emittedFormats: ["openai-encrypted-content"],
1581
+ openAIIncludeEncryptedContent: true,
1582
+ openAIStore: false,
1583
+ anthropicThinking: "none",
1584
+ replayCompatibility: [{
1585
+ provider: "openai",
1586
+ model: "gpt-6.1-terra",
1587
+ format: "openai-encrypted-content"
1588
+ }]
1589
+ },
1530
1590
  "gpt-6-astra": {
1531
1591
  support: "supported",
1532
1592
  emittedFormats: ["openai-encrypted-content"],
@@ -1948,8 +2008,7 @@ const MODEL_REASONING_CAPABILITIES = {
1948
2008
  replayCompatibility: []
1949
2009
  }
1950
2010
  };
1951
- //#endregion
1952
- //#region src/model-rate.ts
2011
+ // src/model-rate.ts
1953
2012
  /**
1954
2013
  * models.dev publishes USD prices per one million tokens. Stella stores the
1955
2014
  * same rates as integer ledger units so usage arithmetic never depends on
@@ -1958,8 +2017,7 @@ const MODEL_REASONING_CAPABILITIES = {
1958
2017
  const MODEL_RATE_UNITS_PER_USD = 1e5;
1959
2018
  const getStandardModelRate = (rate) => rate.kind === "flat" ? rate : rate.standard;
1960
2019
  const resolveModelRate = (rate, inputTokens) => rate.kind === "input-token-tiered" && inputTokens > rate.inputTokenThreshold ? rate.aboveThreshold : getStandardModelRate(rate);
1961
- //#endregion
1962
- //#region src/model-rate-policy.ts
2020
+ // src/model-rate-policy.ts
1963
2021
  const MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER = {
1964
2022
  google: "google",
1965
2023
  openai: "openai",
@@ -2017,13 +2075,11 @@ const MODELS_DEV_RATE_CORRECTIONS = { "anthropic:claude-sonnet-5-5": [{
2017
2075
  reason: "2026-10-07: models.dev lists half the provider cache-read price",
2018
2076
  sourceUrl: "https://platform.claude.com/docs/en/models/sonnet-5-5/overview"
2019
2077
  }] };
2020
- //#endregion
2021
- //#region src/capabilities-overrides.ts
2078
+ // src/capabilities-overrides.ts
2022
2079
  const CAPABILITY_OVERRIDES = {};
2023
2080
  /** Only official provider documentation may override input-modality evidence. */
2024
2081
  const IMAGE_INPUT_OVERRIDES = {};
2025
- //#endregion
2026
- //#region src/document-input-overrides.ts
2082
+ // src/document-input-overrides.ts
2027
2083
  /**
2028
2084
  * Reviewed document-input corrections for models.dev records that exist but
2029
2085
  * under-report the provider API's file-input support. The generator rejects an
@@ -2059,8 +2115,7 @@ const DOCUMENT_INPUT_OVERRIDES = {
2059
2115
  reason: "2026-08-20: OpenAI Responses accepts input_file PDF content for this vision-capable model; models.dev currently omits the pdf modality"
2060
2116
  }
2061
2117
  };
2062
- //#endregion
2063
- //#region src/index.ts
2118
+ // src/index.ts
2064
2119
  /**
2065
2120
  * Canonical AI provider and model catalog.
2066
2121
  *
@@ -2131,10 +2186,16 @@ const FIRST_PARTY_MODEL_PROVIDERS = [
2131
2186
  * Provider IDs for the GPT-6.1 family, kept in one row per member like GPT-6
2132
2187
  * below.
2133
2188
  */
2134
- const GPT_61_MODEL_IDS = { sol: {
2135
- openai: "gpt-6.1-sol",
2136
- openrouter: "openai/gpt-6.1-sol"
2137
- } };
2189
+ const GPT_61_MODEL_IDS = {
2190
+ sol: {
2191
+ openai: "gpt-6.1-sol",
2192
+ openrouter: "openai/gpt-6.1-sol"
2193
+ },
2194
+ terra: {
2195
+ openai: "gpt-6.1-terra",
2196
+ openrouter: "openai/gpt-6.1-terra"
2197
+ }
2198
+ };
2138
2199
  const GPT_61_OPENAI_MODEL_IDS = Object.values(GPT_61_MODEL_IDS).map(({ openai }) => openai);
2139
2200
  const GPT_61_OPENROUTER_MODEL_IDS = Object.values(GPT_61_MODEL_IDS).map(({ openrouter }) => openrouter);
2140
2201
  /**
@@ -2421,6 +2482,10 @@ const MODEL_DISPLAY_METADATA = {
2421
2482
  displayName: "GPT-6.1 Sol",
2422
2483
  iconProvider: "openai"
2423
2484
  },
2485
+ [GPT_61_MODEL_IDS.terra.openai]: {
2486
+ displayName: "GPT-6.1 Terra",
2487
+ iconProvider: "openai"
2488
+ },
2424
2489
  [GPT_6_MODEL_IDS.astra.openai]: {
2425
2490
  displayName: "GPT-6 Astra",
2426
2491
  iconProvider: "openai"
@@ -2441,7 +2506,8 @@ const MODEL_DISPLAY_METADATA = {
2441
2506
  },
2442
2507
  [GPT_56_MODEL_IDS.terra.openai]: {
2443
2508
  displayName: "GPT-5.6 Terra",
2444
- iconProvider: "openai"
2509
+ iconProvider: "openai",
2510
+ supersededBy: GPT_61_MODEL_IDS.terra.openai
2445
2511
  },
2446
2512
  [GPT_56_MODEL_IDS.luna.openai]: {
2447
2513
  displayName: "GPT-5.6 Luna",
@@ -2474,6 +2540,10 @@ const MODEL_DISPLAY_METADATA = {
2474
2540
  displayName: "GPT-6.1 Sol",
2475
2541
  iconProvider: "openai"
2476
2542
  },
2543
+ [GPT_61_MODEL_IDS.terra.openrouter]: {
2544
+ displayName: "GPT-6.1 Terra",
2545
+ iconProvider: "openai"
2546
+ },
2477
2547
  [GPT_6_MODEL_IDS.astra.openrouter]: {
2478
2548
  displayName: "GPT-6 Astra",
2479
2549
  iconProvider: "openai"
@@ -2499,7 +2569,8 @@ const MODEL_DISPLAY_METADATA = {
2499
2569
  },
2500
2570
  [GPT_56_MODEL_IDS.terra.openrouter]: {
2501
2571
  displayName: "GPT-5.6 Terra",
2502
- iconProvider: "openai"
2572
+ iconProvider: "openai",
2573
+ supersededBy: GPT_61_MODEL_IDS.terra.openrouter
2503
2574
  },
2504
2575
  "google/gemini-4-argon": {
2505
2576
  displayName: "Gemini 4 Argon",
@@ -2768,6 +2839,7 @@ const MODEL_STREAMING_TOOL_USE = {
2768
2839
  "gemini-3.5-flash": "supported",
2769
2840
  "gemini-3.1-flash-lite": "supported",
2770
2841
  "openai/gpt-6.1-sol": "supported",
2842
+ "openai/gpt-6.1-terra": "supported",
2771
2843
  "openai/gpt-6-astra": "supported",
2772
2844
  "openai/gpt-6-sol": "supported",
2773
2845
  "openai/gpt-6-luna": "supported",
@@ -2790,6 +2862,7 @@ const MODEL_STREAMING_TOOL_USE = {
2790
2862
  "openai/gpt-5.5": "supported",
2791
2863
  "openai/gpt-5.4-mini": "supported",
2792
2864
  "gpt-6.1-sol": "supported",
2865
+ "gpt-6.1-terra": "supported",
2793
2866
  "gpt-6-astra": "supported",
2794
2867
  "gpt-6-sol": "supported",
2795
2868
  "gpt-6-luna": "supported",
@@ -2932,6 +3005,7 @@ const CONTEXT_WINDOW_TOKENS = {
2932
3005
  "gpt-5.4": 4e5,
2933
3006
  "gpt-5.5": 4e5,
2934
3007
  "gpt-6.1-sol": 922e3,
3008
+ "gpt-6.1-terra": 922e3,
2935
3009
  "gpt-6-astra": 922e3,
2936
3010
  "gpt-6-sol": 922e3,
2937
3011
  "gpt-6-luna": 922e3,
@@ -2969,6 +3043,7 @@ const CONTEXT_WINDOW_TOKENS = {
2969
3043
  "anthropic/claude-opus-4.8": 2e5,
2970
3044
  "anthropic/claude-sonnet-4.6": 2e5,
2971
3045
  "openai/gpt-6.1-sol": 922e3,
3046
+ "openai/gpt-6.1-terra": 922e3,
2972
3047
  "openai/gpt-6-astra": 922e3,
2973
3048
  "openai/gpt-6-sol": 922e3,
2974
3049
  "openai/gpt-6-luna": 922e3,
@@ -3015,5 +3090,4 @@ const getModelReasoningCapabilities = (modelId) => {
3015
3090
  const normalized = normalizeModelCatalogId(modelId);
3016
3091
  return Object.hasOwn(MODEL_REASONING_CAPABILITIES_BY_ID, normalized) ? MODEL_REASONING_CAPABILITIES_BY_ID[normalized] ?? null : null;
3017
3092
  };
3018
- //#endregion
3019
3093
  export { MODEL_OUTPUT_TOKEN_LIMITS as $, isBYOKModelRoleSupported as A, IMAGE_INPUT_OVERRIDES as B, getModelDefaultReasoningEffort as C, getModelReasoningCapabilities as D, getModelRate as E, resolveWorkingBYOKModelForTask as F, MODEL_RATE_UNITS_PER_USD as G, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER as H, shouldEmitTemperature as I, MODEL_REASONING_CAPABILITIES as J, getStandardModelRate as K, supportsStreamingToolUse as L, isChatPdfAttachmentModelSupported as M, normalizeModelCatalogId as N, getModelReasoningEfforts as O, resolveReasoningEffort as P, MODEL_IMAGE_INPUT_CAPABILITIES as Q, DOCUMENT_INPUT_OVERRIDES as R, getContextWindowTokens as S, getModelImageInputCapability as T, MODELS_DEV_RATE_SOURCE_ALIASES as U, MODELS_DEV_RATE_CORRECTIONS as V, RETAINED_MODELS_DEV_RATE_ENTRIES as W, MODEL_RATES as X, REASONING_REPLAY_FORMATS as Y, MODEL_DEFAULT_REASONING_EFFORTS as Z, REASONING_EFFORTS as _, BYOK_MODEL_OPTIONS as a, TANSTACK_AI_PROVIDERS as b, DECISION_MODEL_CATALOG as c, FIRST_PARTY_MODEL_PROVIDERS as d, MODEL_REASONING_EFFORTS as et, IMAGE_INPUT_CAPABILITIES as f, MODEL_STREAMING_TOOL_USE as g, MODEL_DISPLAY_METADATA as h, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS as i, isBYOKProviderRoleSupported as j, getOutputTokenLimit as k, DECISION_MODEL_PROVIDERS as l, MODEL_CATALOG_PROVIDER_KIND as m, ANTHROPIC_ADAPTIVE_THINKING_MODELS as n, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS as o, MODEL_CATALOG_ID_ALIASES as p, resolveModelRate as q, BYOK_DEFAULT_MODELS as r, CONTEXT_WINDOW_TOKENS as s, AI_PROVIDERS as t, MODEL_TEMPERATURE_POLICIES as tt, DEFAULT_CONTEXT_WINDOW_TOKENS as u, RECOMMENDED_CHAT_MODELS as v, getModelDisplayMetadata as w, TEMPERATURE_POLICIES as x, STREAMING_TOOL_USE_SUPPORTS as y, CAPABILITY_OVERRIDES as z };
@@ -1,4 +1,3 @@
1
- //#region src/transcription.d.ts
2
1
  type TranscriptionDurationPrice = {
3
2
  kind: "audio-second";
4
3
  usdNumerator: number;
@@ -377,5 +376,4 @@ export declare const getTranscriptionModel: (modelId: string) => {
377
376
  readonly checkedAt: "2026-10-29";
378
377
  };
379
378
  } | undefined;
380
- //#endregion
381
379
  export {};
@@ -1,4 +1,4 @@
1
- //#region src/transcription.ts
1
+ // src/transcription.ts
2
2
  const TRANSCRIPTION_MODELS = {
3
3
  "openai/whisper-large-v3-turbo": {
4
4
  displayName: "Whisper Large V3 Turbo",
@@ -169,5 +169,4 @@ const defaultTranscriptionModelId = (residency) => {
169
169
  return cheapest?.modelId;
170
170
  };
171
171
  const getTranscriptionModel = (modelId) => Object.hasOwn(TRANSCRIPTION_MODELS, modelId) && isTranscriptionModelId(modelId) ? TRANSCRIPTION_MODELS[modelId] : void 0;
172
- //#endregion
173
172
  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.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Provider-neutral AI model roles, capabilities, and curated model metadata.",
5
5
  "keywords": [
6
6
  "ai",
@@ -79,8 +79,8 @@
79
79
  "@tanstack/ai-openrouter": "0.21.1",
80
80
  "bun-types": "1.4.4",
81
81
  "fast-check": "^4.10.2",
82
- "tsdown": "0.23.1",
83
- "tsrs": "0.18.0-ts7.1.0-dev.20260929"
82
+ "tsdown": "0.23.4",
83
+ "tsrs": "0.20.1-ts7.1.0-beta"
84
84
  },
85
85
  "main": "./dist/index.js",
86
86
  "types": "./dist/index.d.ts"