@stll/ai-catalog 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +149 -64
  2. package/dist/index.js +190 -43
  3. package/package.json +8 -8
package/dist/index.d.ts CHANGED
@@ -108,6 +108,38 @@ export declare const MODEL_RATES: {
108
108
  readonly cachedWriteInputPerMTok: 2500000;
109
109
  };
110
110
  };
111
+ readonly "gpt-6-sol": {
112
+ readonly kind: "input-token-tiered";
113
+ readonly inputTokenThreshold: 272000;
114
+ readonly standard: {
115
+ readonly inputPerMTok: 200000;
116
+ readonly outputPerMTok: 1000000;
117
+ readonly cachedInputPerMTok: 20000;
118
+ readonly cachedWriteInputPerMTok: 250000;
119
+ };
120
+ readonly aboveThreshold: {
121
+ readonly inputPerMTok: 400000;
122
+ readonly outputPerMTok: 1500000;
123
+ readonly cachedInputPerMTok: 40000;
124
+ readonly cachedWriteInputPerMTok: 500000;
125
+ };
126
+ };
127
+ readonly "gpt-6-luna": {
128
+ readonly kind: "input-token-tiered";
129
+ readonly inputTokenThreshold: 272000;
130
+ readonly standard: {
131
+ readonly inputPerMTok: 10000;
132
+ readonly outputPerMTok: 50000;
133
+ readonly cachedInputPerMTok: 1000;
134
+ readonly cachedWriteInputPerMTok: 12500;
135
+ };
136
+ readonly aboveThreshold: {
137
+ readonly inputPerMTok: 20000;
138
+ readonly outputPerMTok: 75000;
139
+ readonly cachedInputPerMTok: 2000;
140
+ readonly cachedWriteInputPerMTok: 25000;
141
+ };
142
+ };
111
143
  readonly "gpt-5.6": {
112
144
  readonly kind: "input-token-tiered";
113
145
  readonly inputTokenThreshold: 272000;
@@ -223,6 +255,13 @@ export declare const MODEL_RATES: {
223
255
  readonly cachedInputPerMTok: 100000;
224
256
  readonly cachedWriteInputPerMTok: 1250000;
225
257
  };
258
+ readonly "claude-opus-5-5": {
259
+ readonly kind: "flat";
260
+ readonly inputPerMTok: 400000;
261
+ readonly outputPerMTok: 2000000;
262
+ readonly cachedInputPerMTok: 20000;
263
+ readonly cachedWriteInputPerMTok: 500000;
264
+ };
226
265
  readonly "claude-opus-5": {
227
266
  readonly kind: "flat";
228
267
  readonly inputPerMTok: 500000;
@@ -310,11 +349,6 @@ export declare const MODEL_RATES: {
310
349
  readonly inputPerMTok: 7000;
311
350
  readonly outputPerMTok: 30000;
312
351
  };
313
- readonly "us.deepseek.r1-v1:0": {
314
- readonly kind: "flat";
315
- readonly inputPerMTok: 135000;
316
- readonly outputPerMTok: 540000;
317
- };
318
352
  readonly "mistral-large-latest": {
319
353
  readonly kind: "flat";
320
354
  readonly inputPerMTok: 50000;
@@ -362,6 +396,11 @@ export declare const MODEL_RATES: {
362
396
  readonly outputPerMTok: 1000000;
363
397
  readonly cachedInputPerMTok: 125000;
364
398
  };
399
+ readonly "us.deepseek.r1-v1:0": {
400
+ readonly kind: "flat";
401
+ readonly inputPerMTok: 135000;
402
+ readonly outputPerMTok: 540000;
403
+ };
365
404
  };
366
405
  //#endregion
367
406
  //#region src/model-rate-policy.d.ts
@@ -395,6 +434,10 @@ export declare const RETAINED_MODELS_DEV_RATE_ENTRIES: {
395
434
  readonly modelId: "gpt-4o";
396
435
  readonly provider: "openai";
397
436
  };
437
+ readonly "us.deepseek.r1-v1:0": {
438
+ readonly modelId: "us.deepseek.r1-v1:0";
439
+ readonly provider: "amazon-bedrock";
440
+ };
398
441
  };
399
442
  /**
400
443
  * Exact mappings where Stella uses a provider routing ID while models.dev
@@ -418,6 +461,11 @@ type CapabilityOverride = {
418
461
  documentInputReason: string;
419
462
  reasoningEfforts: readonly ReasoningEffort[] | null;
420
463
  temperatureSupported: boolean;
464
+ /**
465
+ * Every role sends tool definitions or structured output, so an
466
+ * offered model must accept tools.
467
+ */
468
+ toolCalling: true;
421
469
  /** Why the upstream source cannot answer for this model. Dated. */
422
470
  reason: string;
423
471
  };
@@ -453,6 +501,8 @@ export declare const MODEL_REASONING_EFFORTS: {
453
501
  readonly "gemini-3.5-flash": readonly ["minimal", "low", "medium", "high"];
454
502
  readonly "gemini-3.1-flash-lite": readonly ["minimal", "low", "medium", "high"];
455
503
  readonly "openai/gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max"];
504
+ readonly "openai/gpt-6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
505
+ readonly "openai/gpt-6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
456
506
  readonly "openai/gpt-5.6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
457
507
  readonly "openai/gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
458
508
  readonly "openai/gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
@@ -470,6 +520,8 @@ export declare const MODEL_REASONING_EFFORTS: {
470
520
  readonly "openai/gpt-5.5": readonly ["none", "low", "medium", "high", "xhigh"];
471
521
  readonly "openai/gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
472
522
  readonly "gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max"];
523
+ readonly "gpt-6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
524
+ readonly "gpt-6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
473
525
  readonly "gpt-5.6": readonly ["none", "low", "medium", "high", "xhigh", "max"];
474
526
  readonly "gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
475
527
  readonly "gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
@@ -481,6 +533,7 @@ export declare const MODEL_REASONING_EFFORTS: {
481
533
  readonly "claude-sonnet-5": readonly ["none", "low", "medium", "high", "xhigh", "max"];
482
534
  readonly "claude-fable-5-1": readonly ["low", "medium", "high", "xhigh", "max"];
483
535
  readonly "claude-fable-5": readonly ["low", "medium", "high", "xhigh", "max"];
536
+ readonly "claude-opus-5-5": readonly ["low", "medium", "high", "xhigh", "max"];
484
537
  readonly "claude-opus-5": readonly ["low", "medium", "high", "xhigh", "max"];
485
538
  readonly "claude-opus-4-8": readonly ["low", "medium", "high", "xhigh", "max"];
486
539
  readonly "claude-opus-4-7": readonly ["low", "medium", "high", "xhigh", "max"];
@@ -494,7 +547,6 @@ export declare const MODEL_REASONING_EFFORTS: {
494
547
  readonly "us.amazon.nova-micro-v1:0": null;
495
548
  readonly "openai.gpt-oss-120b-1:0": readonly ["low", "medium", "high"];
496
549
  readonly "openai.gpt-oss-20b-1:0": readonly ["low", "medium", "high"];
497
- readonly "us.deepseek.r1-v1:0": null;
498
550
  readonly "mistral-large-latest": null;
499
551
  readonly "mistral-medium-latest": readonly ["none", "high"];
500
552
  readonly "mistral-small-latest": readonly ["none", "high"];
@@ -513,6 +565,8 @@ export declare const MODEL_DEFAULT_REASONING_EFFORTS: {
513
565
  readonly "gemini-3.5-flash": null;
514
566
  readonly "gemini-3.1-flash-lite": null;
515
567
  readonly "openai/gpt-6-astra": "medium";
568
+ readonly "openai/gpt-6-sol": "medium";
569
+ readonly "openai/gpt-6-luna": "medium";
516
570
  readonly "openai/gpt-5.6-sol": "medium";
517
571
  readonly "openai/gpt-5.6-terra": "medium";
518
572
  readonly "openai/gpt-5.6-luna": "medium";
@@ -530,6 +584,8 @@ export declare const MODEL_DEFAULT_REASONING_EFFORTS: {
530
584
  readonly "openai/gpt-5.5": "medium";
531
585
  readonly "openai/gpt-5.4-mini": "medium";
532
586
  readonly "gpt-6-astra": null;
587
+ readonly "gpt-6-sol": null;
588
+ readonly "gpt-6-luna": null;
533
589
  readonly "gpt-5.6": null;
534
590
  readonly "gpt-5.6-terra": null;
535
591
  readonly "gpt-5.6-luna": null;
@@ -541,6 +597,7 @@ export declare const MODEL_DEFAULT_REASONING_EFFORTS: {
541
597
  readonly "claude-sonnet-5": null;
542
598
  readonly "claude-fable-5-1": null;
543
599
  readonly "claude-fable-5": null;
600
+ readonly "claude-opus-5-5": null;
544
601
  readonly "claude-opus-5": null;
545
602
  readonly "claude-opus-4-8": null;
546
603
  readonly "claude-opus-4-7": null;
@@ -554,7 +611,6 @@ export declare const MODEL_DEFAULT_REASONING_EFFORTS: {
554
611
  readonly "us.amazon.nova-micro-v1:0": null;
555
612
  readonly "openai.gpt-oss-120b-1:0": null;
556
613
  readonly "openai.gpt-oss-20b-1:0": null;
557
- readonly "us.deepseek.r1-v1:0": null;
558
614
  readonly "mistral-large-latest": null;
559
615
  readonly "mistral-medium-latest": null;
560
616
  readonly "mistral-small-latest": null;
@@ -573,6 +629,8 @@ export declare const MODEL_TEMPERATURE_POLICIES: {
573
629
  readonly "gemini-3.5-flash": "emit";
574
630
  readonly "gemini-3.1-flash-lite": "emit";
575
631
  readonly "openai/gpt-6-astra": "omit";
632
+ readonly "openai/gpt-6-sol": "omit";
633
+ readonly "openai/gpt-6-luna": "omit";
576
634
  readonly "openai/gpt-5.6-sol": "omit";
577
635
  readonly "openai/gpt-5.6-terra": "omit";
578
636
  readonly "openai/gpt-5.6-luna": "omit";
@@ -590,6 +648,8 @@ export declare const MODEL_TEMPERATURE_POLICIES: {
590
648
  readonly "openai/gpt-5.5": "omit";
591
649
  readonly "openai/gpt-5.4-mini": "omit";
592
650
  readonly "gpt-6-astra": "omit";
651
+ readonly "gpt-6-sol": "omit";
652
+ readonly "gpt-6-luna": "omit";
593
653
  readonly "gpt-5.6": "omit";
594
654
  readonly "gpt-5.6-terra": "omit";
595
655
  readonly "gpt-5.6-luna": "omit";
@@ -601,6 +661,7 @@ export declare const MODEL_TEMPERATURE_POLICIES: {
601
661
  readonly "claude-sonnet-5": "omit";
602
662
  readonly "claude-fable-5-1": "omit";
603
663
  readonly "claude-fable-5": "omit";
664
+ readonly "claude-opus-5-5": "omit";
604
665
  readonly "claude-opus-5": "omit";
605
666
  readonly "claude-opus-4-8": "omit";
606
667
  readonly "claude-opus-4-7": "omit";
@@ -614,7 +675,6 @@ export declare const MODEL_TEMPERATURE_POLICIES: {
614
675
  readonly "us.amazon.nova-micro-v1:0": "emit";
615
676
  readonly "openai.gpt-oss-120b-1:0": "emit";
616
677
  readonly "openai.gpt-oss-20b-1:0": "emit";
617
- readonly "us.deepseek.r1-v1:0": "emit";
618
678
  readonly "mistral-large-latest": "emit";
619
679
  readonly "mistral-medium-latest": "emit";
620
680
  readonly "mistral-small-latest": "emit";
@@ -675,28 +735,28 @@ export declare const FIRST_PARTY_MODEL_PROVIDERS: Exclude<FirstPartyModelProvide
675
735
  */
676
736
  export declare const BYOK_DEFAULT_MODELS: {
677
737
  readonly google: {
678
- readonly fast: "gemini-3.7-flash";
679
- readonly chat: "gemini-3.7-flash";
680
- readonly reasoning: "gemini-3.7-flash";
681
- readonly pdf: "gemini-3.7-flash";
738
+ readonly fast: "gemini-3.8-flash";
739
+ readonly chat: "gemini-3.8-flash";
740
+ readonly reasoning: "gemini-3.8-flash";
741
+ readonly pdf: "gemini-3.8-flash";
682
742
  };
683
743
  readonly openrouter: {
684
- readonly fast: "openai/gpt-5.6-luna";
685
- readonly chat: "openai/gpt-5.6-terra";
686
- readonly reasoning: "openai/gpt-5.6-terra";
687
- readonly pdf: "openai/gpt-5.6-terra";
744
+ readonly fast: "openai/gpt-6-luna";
745
+ readonly chat: "openai/gpt-6-sol";
746
+ readonly reasoning: "openai/gpt-6-sol";
747
+ readonly pdf: "openai/gpt-6-sol";
688
748
  };
689
749
  readonly openai: {
690
- readonly fast: "gpt-5.4-nano";
691
- readonly chat: "gpt-5.4-mini";
692
- readonly reasoning: "gpt-5.4";
693
- readonly pdf: "gpt-5.4";
750
+ readonly fast: "gpt-6-luna";
751
+ readonly chat: "gpt-6-sol";
752
+ readonly reasoning: "gpt-6-sol";
753
+ readonly pdf: "gpt-6-sol";
694
754
  };
695
755
  readonly anthropic: {
696
- readonly fast: "claude-opus-5";
697
- readonly chat: "claude-opus-4-8";
698
- readonly reasoning: "claude-opus-5";
699
- readonly pdf: "claude-opus-4-8";
756
+ readonly fast: "claude-opus-5-5";
757
+ readonly chat: "claude-opus-5-5";
758
+ readonly reasoning: "claude-opus-5-5";
759
+ readonly pdf: "claude-opus-5-5";
700
760
  };
701
761
  readonly bedrock: {
702
762
  readonly fast: "us.anthropic.claude-sonnet-4-5-20250929-v1:0";
@@ -718,10 +778,10 @@ export declare const BYOK_DEFAULT_MODELS: {
718
778
  */
719
779
  export declare const DEFAULT_MODELS: {
720
780
  readonly azure_foundry: {
721
- readonly fast: "gpt-5.4-nano";
722
- readonly chat: "gpt-5.4-mini";
723
- readonly reasoning: "gpt-5.4";
724
- readonly pdf: "gpt-5.4";
781
+ readonly fast: "gpt-5.6-luna";
782
+ readonly chat: "gpt-5.6-terra";
783
+ readonly reasoning: "gpt-5.6-terra";
784
+ readonly pdf: "gpt-5.6-terra";
725
785
  };
726
786
  readonly openai_compatible: {
727
787
  readonly fast: "default";
@@ -736,28 +796,28 @@ export declare const DEFAULT_MODELS: {
736
796
  readonly pdf: "speakleash/Bielik-11B-v2.3-Instruct";
737
797
  };
738
798
  readonly google: {
739
- readonly fast: "gemini-3.7-flash";
740
- readonly chat: "gemini-3.7-flash";
741
- readonly reasoning: "gemini-3.7-flash";
742
- readonly pdf: "gemini-3.7-flash";
799
+ readonly fast: "gemini-3.8-flash";
800
+ readonly chat: "gemini-3.8-flash";
801
+ readonly reasoning: "gemini-3.8-flash";
802
+ readonly pdf: "gemini-3.8-flash";
743
803
  };
744
804
  readonly openrouter: {
745
- readonly fast: "openai/gpt-5.6-luna";
746
- readonly chat: "openai/gpt-5.6-terra";
747
- readonly reasoning: "openai/gpt-5.6-terra";
748
- readonly pdf: "openai/gpt-5.6-terra";
805
+ readonly fast: "openai/gpt-6-luna";
806
+ readonly chat: "openai/gpt-6-sol";
807
+ readonly reasoning: "openai/gpt-6-sol";
808
+ readonly pdf: "openai/gpt-6-sol";
749
809
  };
750
810
  readonly openai: {
751
- readonly fast: "gpt-5.4-nano";
752
- readonly chat: "gpt-5.4-mini";
753
- readonly reasoning: "gpt-5.4";
754
- readonly pdf: "gpt-5.4";
811
+ readonly fast: "gpt-6-luna";
812
+ readonly chat: "gpt-6-sol";
813
+ readonly reasoning: "gpt-6-sol";
814
+ readonly pdf: "gpt-6-sol";
755
815
  };
756
816
  readonly anthropic: {
757
- readonly fast: "claude-opus-5";
758
- readonly chat: "claude-opus-4-8";
759
- readonly reasoning: "claude-opus-5";
760
- readonly pdf: "claude-opus-4-8";
817
+ readonly fast: "claude-opus-5-5";
818
+ readonly chat: "claude-opus-5-5";
819
+ readonly reasoning: "claude-opus-5-5";
820
+ readonly pdf: "claude-opus-5-5";
761
821
  };
762
822
  readonly bedrock: {
763
823
  readonly fast: "us.anthropic.claude-sonnet-4-5-20250929-v1:0";
@@ -784,10 +844,10 @@ export declare const DEFAULT_MODELS: {
784
844
  */
785
845
  export declare const BYOK_MODEL_OPTIONS: {
786
846
  readonly google: readonly ["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"];
787
- readonly anthropic: readonly ["claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-4-5-20251001"];
788
- readonly openai: readonly ["gpt-6-astra", ...("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"];
789
- readonly openrouter: readonly ["openai/gpt-6-astra", ...("openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-5.6-luna")[], "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-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"];
790
- readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "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", "us.deepseek.r1-v1:0"];
847
+ readonly anthropic: readonly ["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-4-5-20251001"];
848
+ readonly openai: readonly [...("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"];
849
+ readonly openrouter: readonly [...("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-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-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"];
850
+ readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "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"];
791
851
  readonly mistral: readonly ["mistral-large-latest", "mistral-medium-latest", "mistral-small-latest"];
792
852
  };
793
853
  export type BYOKProvider = keyof typeof BYOK_MODEL_OPTIONS;
@@ -846,6 +906,10 @@ export declare const MODEL_DISPLAY_METADATA: {
846
906
  readonly displayName: "Claude Fable 5";
847
907
  readonly iconProvider: "anthropic";
848
908
  };
909
+ readonly "claude-opus-5-5": {
910
+ readonly displayName: "Claude Opus 5.5";
911
+ readonly iconProvider: "anthropic";
912
+ };
849
913
  readonly "claude-opus-5": {
850
914
  readonly displayName: "Claude Opus 5";
851
915
  readonly iconProvider: "anthropic";
@@ -874,6 +938,14 @@ export declare const MODEL_DISPLAY_METADATA: {
874
938
  readonly displayName: "GPT-6 Astra";
875
939
  readonly iconProvider: "openai";
876
940
  };
941
+ readonly "gpt-6-sol": {
942
+ readonly displayName: "GPT-6 Sol";
943
+ readonly iconProvider: "openai";
944
+ };
945
+ readonly "gpt-6-luna": {
946
+ readonly displayName: "GPT-6 Luna";
947
+ readonly iconProvider: "openai";
948
+ };
877
949
  readonly "gpt-5.6": {
878
950
  readonly displayName: "GPT-5.6 Sol";
879
951
  readonly iconProvider: "openai";
@@ -910,6 +982,14 @@ export declare const MODEL_DISPLAY_METADATA: {
910
982
  readonly displayName: "GPT-6 Astra";
911
983
  readonly iconProvider: "openai";
912
984
  };
985
+ readonly "openai/gpt-6-sol": {
986
+ readonly displayName: "GPT-6 Sol";
987
+ readonly iconProvider: "openai";
988
+ };
989
+ readonly "openai/gpt-6-luna": {
990
+ readonly displayName: "GPT-6 Luna";
991
+ readonly iconProvider: "openai";
992
+ };
913
993
  readonly "openai/gpt-5.6-sol": {
914
994
  readonly displayName: "GPT-5.6 Sol";
915
995
  readonly iconProvider: "openai";
@@ -1002,10 +1082,6 @@ export declare const MODEL_DISPLAY_METADATA: {
1002
1082
  readonly displayName: "GPT OSS 20B";
1003
1083
  readonly iconProvider: "openai";
1004
1084
  };
1005
- readonly "us.deepseek.r1-v1:0": {
1006
- readonly displayName: "DeepSeek R1";
1007
- readonly iconProvider: "bedrock";
1008
- };
1009
1085
  readonly "mistral-large-latest": {
1010
1086
  readonly displayName: "Mistral Large";
1011
1087
  readonly iconProvider: "mistral";
@@ -1027,9 +1103,9 @@ export declare const getModelDisplayMetadata: (modelId: string) => ModelDisplayM
1027
1103
  */
1028
1104
  export declare const BYOK_DOCUMENT_INPUT_MODEL_OPTIONS: {
1029
1105
  readonly google: readonly ["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"];
1030
- readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "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-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"];
1031
- readonly openai: readonly ["gpt-6-astra", "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"];
1032
- readonly anthropic: readonly ["claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-4-5-20251001"];
1106
+ readonly openrouter: readonly ["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-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-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"];
1107
+ readonly openai: readonly ["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"];
1108
+ readonly anthropic: readonly ["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-4-5-20251001"];
1033
1109
  readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-lite-v1:0"];
1034
1110
  readonly mistral: readonly [];
1035
1111
  };
@@ -1058,9 +1134,9 @@ export declare const isBYOKModelRoleSupported: ({ provider, modelId, role }: {
1058
1134
  export declare const CHAT_PDF_ATTACHMENT_MODEL_OPTIONS: {
1059
1135
  readonly mistral: readonly ["mistral-medium-latest", "mistral-small-latest"];
1060
1136
  readonly google: readonly ["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"];
1061
- readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-sol", "openai/gpt-5.6-terra", "openai/gpt-5.6-luna", "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-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"];
1062
- readonly openai: readonly ["gpt-6-astra", "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"];
1063
- readonly anthropic: readonly ["claude-sonnet-5", "claude-fable-5-1", "claude-fable-5", "claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-4-5-20251001"];
1137
+ readonly openrouter: readonly ["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-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-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"];
1138
+ readonly openai: readonly ["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"];
1139
+ readonly anthropic: readonly ["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-4-5-20251001"];
1064
1140
  readonly bedrock: readonly ["us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-lite-v1:0"];
1065
1141
  };
1066
1142
  export declare const isChatPdfAttachmentModelSupported: ({ provider, modelId }: {
@@ -1092,7 +1168,7 @@ export declare const resolveWorkingBYOKModelForRole: ({ provider, modelId, role
1092
1168
  * legacy budget-based form, so every Opus 4.6+/Sonnet 4.6/Fable entry
1093
1169
  * offered above must appear here or it will 400 on the reasoning role.
1094
1170
  */
1095
- export declare const ANTHROPIC_ADAPTIVE_THINKING_MODELS: readonly ["claude-sonnet-5", "claude-opus-5", "claude-sonnet-4-6", "claude-opus-4-6", "claude-opus-4-7", "claude-opus-4-8", "claude-fable-5", "claude-fable-5-1"];
1171
+ export declare const ANTHROPIC_ADAPTIVE_THINKING_MODELS: readonly ["claude-sonnet-5", "claude-opus-5", "claude-sonnet-4-6", "claude-opus-4-6", "claude-opus-4-7", "claude-opus-4-8", "claude-fable-5", "claude-fable-5-1", "claude-opus-5-5"];
1096
1172
  /**
1097
1173
  * Canonical reasoning-effort ladder, ordered weakest to strongest.
1098
1174
  * Union of every effort keyword the offered providers accept; no
@@ -1118,10 +1194,10 @@ export type ResolvedReasoningEffort = v.InferOutput<typeof resolvedReasoningEffo
1118
1194
  * provider lands with an explicit decision.
1119
1195
  */
1120
1196
  export declare const FALLBACK_CHAT_MODEL_BY_PROVIDER: {
1121
- readonly google: "gemini-3.7-flash";
1122
- readonly openrouter: "openai/gpt-5.6-luna";
1123
- readonly openai: "gpt-5.6-luna";
1124
- readonly anthropic: "claude-opus-5";
1197
+ readonly google: "gemini-3.8-flash";
1198
+ readonly openrouter: "openai/gpt-6-luna";
1199
+ readonly openai: "gpt-6-luna";
1200
+ readonly anthropic: "claude-opus-5-5";
1125
1201
  readonly bedrock: "us.anthropic.claude-sonnet-4-5-20250929-v1:0";
1126
1202
  readonly mistral: "mistral-small-latest";
1127
1203
  readonly azure_foundry: null;
@@ -1169,6 +1245,8 @@ export declare const MODEL_STREAMING_TOOL_USE: {
1169
1245
  readonly "gemini-3.5-flash": "supported";
1170
1246
  readonly "gemini-3.1-flash-lite": "supported";
1171
1247
  readonly "openai/gpt-6-astra": "supported";
1248
+ readonly "openai/gpt-6-sol": "supported";
1249
+ readonly "openai/gpt-6-luna": "supported";
1172
1250
  readonly "openai/gpt-5.6-sol": "supported";
1173
1251
  readonly "openai/gpt-5.6-terra": "supported";
1174
1252
  readonly "openai/gpt-5.6-luna": "supported";
@@ -1186,6 +1264,8 @@ export declare const MODEL_STREAMING_TOOL_USE: {
1186
1264
  readonly "openai/gpt-5.5": "supported";
1187
1265
  readonly "openai/gpt-5.4-mini": "supported";
1188
1266
  readonly "gpt-6-astra": "supported";
1267
+ readonly "gpt-6-sol": "supported";
1268
+ readonly "gpt-6-luna": "supported";
1189
1269
  readonly "gpt-5.6": "supported";
1190
1270
  readonly "gpt-5.6-terra": "supported";
1191
1271
  readonly "gpt-5.6-luna": "supported";
@@ -1197,6 +1277,7 @@ export declare const MODEL_STREAMING_TOOL_USE: {
1197
1277
  readonly "claude-sonnet-5": "supported";
1198
1278
  readonly "claude-fable-5-1": "supported";
1199
1279
  readonly "claude-fable-5": "supported";
1280
+ readonly "claude-opus-5-5": "supported";
1200
1281
  readonly "claude-opus-5": "supported";
1201
1282
  readonly "claude-opus-4-8": "supported";
1202
1283
  readonly "claude-opus-4-7": "supported";
@@ -1210,7 +1291,6 @@ export declare const MODEL_STREAMING_TOOL_USE: {
1210
1291
  readonly "us.amazon.nova-micro-v1:0": "supported";
1211
1292
  readonly "openai.gpt-oss-120b-1:0": "supported";
1212
1293
  readonly "openai.gpt-oss-20b-1:0": "supported";
1213
- readonly "us.deepseek.r1-v1:0": "unsupported";
1214
1294
  readonly "mistral-large-latest": "supported";
1215
1295
  readonly "mistral-medium-latest": "supported";
1216
1296
  readonly "mistral-small-latest": "supported";
@@ -1288,6 +1368,8 @@ export declare const CONTEXT_WINDOW_TOKENS: {
1288
1368
  readonly "gpt-5.4": 400000;
1289
1369
  readonly "gpt-5.5": 400000;
1290
1370
  readonly "gpt-6-astra": 922000;
1371
+ readonly "gpt-6-sol": 922000;
1372
+ readonly "gpt-6-luna": 922000;
1291
1373
  readonly "gpt-5.6": 922000;
1292
1374
  readonly "gpt-5.6-luna": 922000;
1293
1375
  readonly "gpt-5.6-terra": 922000;
@@ -1298,6 +1380,7 @@ export declare const CONTEXT_WINDOW_TOKENS: {
1298
1380
  readonly "claude-opus-4-7": 200000;
1299
1381
  readonly "claude-opus-4-8": 200000;
1300
1382
  readonly "claude-opus-5": 1000000;
1383
+ readonly "claude-opus-5-5": 1000000;
1301
1384
  readonly "claude-fable-5": 200000;
1302
1385
  readonly "claude-fable-5-1": 1000000;
1303
1386
  readonly "mistral-small-latest": 128000;
@@ -1317,6 +1400,8 @@ export declare const CONTEXT_WINDOW_TOKENS: {
1317
1400
  readonly "anthropic/claude-opus-4.8": 200000;
1318
1401
  readonly "anthropic/claude-sonnet-4.6": 200000;
1319
1402
  readonly "openai/gpt-6-astra": 922000;
1403
+ readonly "openai/gpt-6-sol": 922000;
1404
+ readonly "openai/gpt-6-luna": 922000;
1320
1405
  readonly "openai/gpt-5.6-sol": 922000;
1321
1406
  readonly "openai/gpt-5.6-luna": 922000;
1322
1407
  readonly "openai/gpt-5.6-terra": 922000;
package/dist/index.js CHANGED
@@ -16,6 +16,8 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
16
16
  ],
17
17
  openrouter: [
18
18
  "openai/gpt-6-astra",
19
+ "openai/gpt-6-sol",
20
+ "openai/gpt-6-luna",
19
21
  "openai/gpt-5.6-sol",
20
22
  "openai/gpt-5.6-terra",
21
23
  "openai/gpt-5.6-luna",
@@ -35,6 +37,8 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
35
37
  ],
36
38
  openai: [
37
39
  "gpt-6-astra",
40
+ "gpt-6-sol",
41
+ "gpt-6-luna",
38
42
  "gpt-5.6",
39
43
  "gpt-5.6-terra",
40
44
  "gpt-5.6-luna",
@@ -48,6 +52,7 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
48
52
  "claude-sonnet-5",
49
53
  "claude-fable-5-1",
50
54
  "claude-fable-5",
55
+ "claude-opus-5-5",
51
56
  "claude-opus-5",
52
57
  "claude-opus-4-8",
53
58
  "claude-opus-4-7",
@@ -116,6 +121,22 @@ const MODEL_REASONING_EFFORTS = {
116
121
  "xhigh",
117
122
  "max"
118
123
  ],
124
+ "openai/gpt-6-sol": [
125
+ "none",
126
+ "low",
127
+ "medium",
128
+ "high",
129
+ "xhigh",
130
+ "max"
131
+ ],
132
+ "openai/gpt-6-luna": [
133
+ "none",
134
+ "low",
135
+ "medium",
136
+ "high",
137
+ "xhigh",
138
+ "max"
139
+ ],
119
140
  "openai/gpt-5.6-sol": [
120
141
  "none",
121
142
  "low",
@@ -232,6 +253,22 @@ const MODEL_REASONING_EFFORTS = {
232
253
  "xhigh",
233
254
  "max"
234
255
  ],
256
+ "gpt-6-sol": [
257
+ "none",
258
+ "low",
259
+ "medium",
260
+ "high",
261
+ "xhigh",
262
+ "max"
263
+ ],
264
+ "gpt-6-luna": [
265
+ "none",
266
+ "low",
267
+ "medium",
268
+ "high",
269
+ "xhigh",
270
+ "max"
271
+ ],
235
272
  "gpt-5.6": [
236
273
  "none",
237
274
  "low",
@@ -313,6 +350,13 @@ const MODEL_REASONING_EFFORTS = {
313
350
  "xhigh",
314
351
  "max"
315
352
  ],
353
+ "claude-opus-5-5": [
354
+ "low",
355
+ "medium",
356
+ "high",
357
+ "xhigh",
358
+ "max"
359
+ ],
316
360
  "claude-opus-5": [
317
361
  "low",
318
362
  "medium",
@@ -362,7 +406,6 @@ const MODEL_REASONING_EFFORTS = {
362
406
  "medium",
363
407
  "high"
364
408
  ],
365
- "us.deepseek.r1-v1:0": null,
366
409
  "mistral-large-latest": null,
367
410
  "mistral-medium-latest": ["none", "high"],
368
411
  "mistral-small-latest": ["none", "high"]
@@ -381,6 +424,8 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
381
424
  "gemini-3.5-flash": null,
382
425
  "gemini-3.1-flash-lite": null,
383
426
  "openai/gpt-6-astra": "medium",
427
+ "openai/gpt-6-sol": "medium",
428
+ "openai/gpt-6-luna": "medium",
384
429
  "openai/gpt-5.6-sol": "medium",
385
430
  "openai/gpt-5.6-terra": "medium",
386
431
  "openai/gpt-5.6-luna": "medium",
@@ -398,6 +443,8 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
398
443
  "openai/gpt-5.5": "medium",
399
444
  "openai/gpt-5.4-mini": "medium",
400
445
  "gpt-6-astra": null,
446
+ "gpt-6-sol": null,
447
+ "gpt-6-luna": null,
401
448
  "gpt-5.6": null,
402
449
  "gpt-5.6-terra": null,
403
450
  "gpt-5.6-luna": null,
@@ -409,6 +456,7 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
409
456
  "claude-sonnet-5": null,
410
457
  "claude-fable-5-1": null,
411
458
  "claude-fable-5": null,
459
+ "claude-opus-5-5": null,
412
460
  "claude-opus-5": null,
413
461
  "claude-opus-4-8": null,
414
462
  "claude-opus-4-7": null,
@@ -422,7 +470,6 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
422
470
  "us.amazon.nova-micro-v1:0": null,
423
471
  "openai.gpt-oss-120b-1:0": null,
424
472
  "openai.gpt-oss-20b-1:0": null,
425
- "us.deepseek.r1-v1:0": null,
426
473
  "mistral-large-latest": null,
427
474
  "mistral-medium-latest": null,
428
475
  "mistral-small-latest": null
@@ -441,6 +488,8 @@ const MODEL_TEMPERATURE_POLICIES = {
441
488
  "gemini-3.5-flash": "emit",
442
489
  "gemini-3.1-flash-lite": "emit",
443
490
  "openai/gpt-6-astra": "omit",
491
+ "openai/gpt-6-sol": "omit",
492
+ "openai/gpt-6-luna": "omit",
444
493
  "openai/gpt-5.6-sol": "omit",
445
494
  "openai/gpt-5.6-terra": "omit",
446
495
  "openai/gpt-5.6-luna": "omit",
@@ -458,6 +507,8 @@ const MODEL_TEMPERATURE_POLICIES = {
458
507
  "openai/gpt-5.5": "omit",
459
508
  "openai/gpt-5.4-mini": "omit",
460
509
  "gpt-6-astra": "omit",
510
+ "gpt-6-sol": "omit",
511
+ "gpt-6-luna": "omit",
461
512
  "gpt-5.6": "omit",
462
513
  "gpt-5.6-terra": "omit",
463
514
  "gpt-5.6-luna": "omit",
@@ -469,6 +520,7 @@ const MODEL_TEMPERATURE_POLICIES = {
469
520
  "claude-sonnet-5": "omit",
470
521
  "claude-fable-5-1": "omit",
471
522
  "claude-fable-5": "omit",
523
+ "claude-opus-5-5": "omit",
472
524
  "claude-opus-5": "omit",
473
525
  "claude-opus-4-8": "omit",
474
526
  "claude-opus-4-7": "omit",
@@ -482,7 +534,6 @@ const MODEL_TEMPERATURE_POLICIES = {
482
534
  "us.amazon.nova-micro-v1:0": "emit",
483
535
  "openai.gpt-oss-120b-1:0": "emit",
484
536
  "openai.gpt-oss-20b-1:0": "emit",
485
- "us.deepseek.r1-v1:0": "emit",
486
537
  "mistral-large-latest": "emit",
487
538
  "mistral-medium-latest": "emit",
488
539
  "mistral-small-latest": "emit"
@@ -556,6 +607,38 @@ const MODEL_RATES = {
556
607
  cachedWriteInputPerMTok: 25e5
557
608
  }
558
609
  },
610
+ "gpt-6-sol": {
611
+ kind: "input-token-tiered",
612
+ inputTokenThreshold: 272e3,
613
+ standard: {
614
+ inputPerMTok: 2e5,
615
+ outputPerMTok: 1e6,
616
+ cachedInputPerMTok: 2e4,
617
+ cachedWriteInputPerMTok: 25e4
618
+ },
619
+ aboveThreshold: {
620
+ inputPerMTok: 4e5,
621
+ outputPerMTok: 15e5,
622
+ cachedInputPerMTok: 4e4,
623
+ cachedWriteInputPerMTok: 5e5
624
+ }
625
+ },
626
+ "gpt-6-luna": {
627
+ kind: "input-token-tiered",
628
+ inputTokenThreshold: 272e3,
629
+ standard: {
630
+ inputPerMTok: 1e4,
631
+ outputPerMTok: 5e4,
632
+ cachedInputPerMTok: 1e3,
633
+ cachedWriteInputPerMTok: 12500
634
+ },
635
+ aboveThreshold: {
636
+ inputPerMTok: 2e4,
637
+ outputPerMTok: 75e3,
638
+ cachedInputPerMTok: 2e3,
639
+ cachedWriteInputPerMTok: 25e3
640
+ }
641
+ },
559
642
  "gpt-5.6": {
560
643
  kind: "input-token-tiered",
561
644
  inputTokenThreshold: 272e3,
@@ -671,6 +754,13 @@ const MODEL_RATES = {
671
754
  cachedInputPerMTok: 1e5,
672
755
  cachedWriteInputPerMTok: 125e4
673
756
  },
757
+ "claude-opus-5-5": {
758
+ kind: "flat",
759
+ inputPerMTok: 4e5,
760
+ outputPerMTok: 2e6,
761
+ cachedInputPerMTok: 2e4,
762
+ cachedWriteInputPerMTok: 5e5
763
+ },
674
764
  "claude-opus-5": {
675
765
  kind: "flat",
676
766
  inputPerMTok: 5e5,
@@ -758,11 +848,6 @@ const MODEL_RATES = {
758
848
  inputPerMTok: 7e3,
759
849
  outputPerMTok: 3e4
760
850
  },
761
- "us.deepseek.r1-v1:0": {
762
- kind: "flat",
763
- inputPerMTok: 135e3,
764
- outputPerMTok: 54e4
765
- },
766
851
  "mistral-large-latest": {
767
852
  kind: "flat",
768
853
  inputPerMTok: 5e4,
@@ -809,6 +894,11 @@ const MODEL_RATES = {
809
894
  inputPerMTok: 25e4,
810
895
  outputPerMTok: 1e6,
811
896
  cachedInputPerMTok: 125e3
897
+ },
898
+ "us.deepseek.r1-v1:0": {
899
+ kind: "flat",
900
+ inputPerMTok: 135e3,
901
+ outputPerMTok: 54e4
812
902
  }
813
903
  };
814
904
  //#endregion
@@ -852,6 +942,10 @@ const RETAINED_MODELS_DEV_RATE_ENTRIES = {
852
942
  "gpt-4o": {
853
943
  modelId: "gpt-4o",
854
944
  provider: "openai"
945
+ },
946
+ "us.deepseek.r1-v1:0": {
947
+ modelId: "us.deepseek.r1-v1:0",
948
+ provider: "amazon-bedrock"
855
949
  }
856
950
  };
857
951
  /**
@@ -964,6 +1058,26 @@ const FIRST_PARTY_MODEL_PROVIDERS = [
964
1058
  "mistral"
965
1059
  ];
966
1060
  /**
1061
+ * Provider IDs for the GPT-6 family. Like GPT-5.6 below, one row feeds both
1062
+ * the OpenAI and the OpenRouter picker.
1063
+ */
1064
+ const GPT_6_MODEL_IDS = {
1065
+ astra: {
1066
+ openai: "gpt-6-astra",
1067
+ openrouter: "openai/gpt-6-astra"
1068
+ },
1069
+ sol: {
1070
+ openai: "gpt-6-sol",
1071
+ openrouter: "openai/gpt-6-sol"
1072
+ },
1073
+ luna: {
1074
+ openai: "gpt-6-luna",
1075
+ openrouter: "openai/gpt-6-luna"
1076
+ }
1077
+ };
1078
+ const GPT_6_OPENAI_MODEL_IDS = Object.values(GPT_6_MODEL_IDS).map(({ openai }) => openai);
1079
+ const GPT_6_OPENROUTER_MODEL_IDS = Object.values(GPT_6_MODEL_IDS).map(({ openrouter }) => openrouter);
1080
+ /**
967
1081
  * Provider IDs for the GPT-5.6 family. OpenAI exposes Sol through the
968
1082
  * `gpt-5.6` alias while OpenRouter uses the explicit `gpt-5.6-sol` ID. Keep
969
1083
  * both routes in one row so adding a family member cannot update one picker
@@ -992,28 +1106,28 @@ const GPT_56_OPENROUTER_MODEL_IDS = Object.values(GPT_56_MODEL_IDS).map(({ openr
992
1106
  */
993
1107
  const BYOK_DEFAULT_MODELS = {
994
1108
  google: {
995
- fast: "gemini-3.7-flash",
996
- chat: "gemini-3.7-flash",
997
- reasoning: "gemini-3.7-flash",
998
- pdf: "gemini-3.7-flash"
1109
+ fast: "gemini-3.8-flash",
1110
+ chat: "gemini-3.8-flash",
1111
+ reasoning: "gemini-3.8-flash",
1112
+ pdf: "gemini-3.8-flash"
999
1113
  },
1000
1114
  openrouter: {
1001
- fast: GPT_56_MODEL_IDS.luna.openrouter,
1002
- chat: GPT_56_MODEL_IDS.terra.openrouter,
1003
- reasoning: GPT_56_MODEL_IDS.terra.openrouter,
1004
- pdf: GPT_56_MODEL_IDS.terra.openrouter
1115
+ fast: GPT_6_MODEL_IDS.luna.openrouter,
1116
+ chat: GPT_6_MODEL_IDS.sol.openrouter,
1117
+ reasoning: GPT_6_MODEL_IDS.sol.openrouter,
1118
+ pdf: GPT_6_MODEL_IDS.sol.openrouter
1005
1119
  },
1006
1120
  openai: {
1007
- fast: "gpt-5.4-nano",
1008
- chat: "gpt-5.4-mini",
1009
- reasoning: "gpt-5.4",
1010
- pdf: "gpt-5.4"
1121
+ fast: GPT_6_MODEL_IDS.luna.openai,
1122
+ chat: GPT_6_MODEL_IDS.sol.openai,
1123
+ reasoning: GPT_6_MODEL_IDS.sol.openai,
1124
+ pdf: GPT_6_MODEL_IDS.sol.openai
1011
1125
  },
1012
1126
  anthropic: {
1013
- fast: "claude-opus-5",
1014
- chat: "claude-opus-4-8",
1015
- reasoning: "claude-opus-5",
1016
- pdf: "claude-opus-4-8"
1127
+ fast: "claude-opus-5-5",
1128
+ chat: "claude-opus-5-5",
1129
+ reasoning: "claude-opus-5-5",
1130
+ pdf: "claude-opus-5-5"
1017
1131
  },
1018
1132
  bedrock: {
1019
1133
  fast: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
@@ -1036,10 +1150,10 @@ const BYOK_DEFAULT_MODELS = {
1036
1150
  const DEFAULT_MODELS = {
1037
1151
  ...BYOK_DEFAULT_MODELS,
1038
1152
  azure_foundry: {
1039
- fast: "gpt-5.4-nano",
1040
- chat: "gpt-5.4-mini",
1041
- reasoning: "gpt-5.4",
1042
- pdf: "gpt-5.4"
1153
+ fast: GPT_56_MODEL_IDS.luna.openai,
1154
+ chat: GPT_56_MODEL_IDS.terra.openai,
1155
+ reasoning: GPT_56_MODEL_IDS.terra.openai,
1156
+ pdf: GPT_56_MODEL_IDS.terra.openai
1043
1157
  },
1044
1158
  openai_compatible: {
1045
1159
  fast: "default",
@@ -1078,6 +1192,7 @@ const BYOK_MODEL_OPTIONS = {
1078
1192
  "claude-sonnet-5",
1079
1193
  "claude-fable-5-1",
1080
1194
  "claude-fable-5",
1195
+ "claude-opus-5-5",
1081
1196
  "claude-opus-5",
1082
1197
  "claude-opus-4-8",
1083
1198
  "claude-opus-4-7",
@@ -1086,7 +1201,7 @@ const BYOK_MODEL_OPTIONS = {
1086
1201
  "claude-haiku-4-5-20251001"
1087
1202
  ],
1088
1203
  openai: [
1089
- "gpt-6-astra",
1204
+ ...GPT_6_OPENAI_MODEL_IDS,
1090
1205
  ...GPT_56_OPENAI_MODEL_IDS,
1091
1206
  "gpt-5.5",
1092
1207
  "gpt-5.4",
@@ -1095,7 +1210,7 @@ const BYOK_MODEL_OPTIONS = {
1095
1210
  "gpt-5.2"
1096
1211
  ],
1097
1212
  openrouter: [
1098
- "openai/gpt-6-astra",
1213
+ ...GPT_6_OPENROUTER_MODEL_IDS,
1099
1214
  ...GPT_56_OPENROUTER_MODEL_IDS,
1100
1215
  "google/gemini-3.8-flash",
1101
1216
  "google/gemini-3.7-flash",
@@ -1118,8 +1233,7 @@ const BYOK_MODEL_OPTIONS = {
1118
1233
  "us.amazon.nova-lite-v1:0",
1119
1234
  "us.amazon.nova-micro-v1:0",
1120
1235
  "openai.gpt-oss-120b-1:0",
1121
- "openai.gpt-oss-20b-1:0",
1122
- "us.deepseek.r1-v1:0"
1236
+ "openai.gpt-oss-20b-1:0"
1123
1237
  ],
1124
1238
  mistral: [
1125
1239
  "mistral-large-latest",
@@ -1174,6 +1288,10 @@ const MODEL_DISPLAY_METADATA = {
1174
1288
  displayName: "Claude Fable 5",
1175
1289
  iconProvider: "anthropic"
1176
1290
  },
1291
+ "claude-opus-5-5": {
1292
+ displayName: "Claude Opus 5.5",
1293
+ iconProvider: "anthropic"
1294
+ },
1177
1295
  "claude-opus-5": {
1178
1296
  displayName: "Claude Opus 5",
1179
1297
  iconProvider: "anthropic"
@@ -1198,10 +1316,18 @@ const MODEL_DISPLAY_METADATA = {
1198
1316
  displayName: "Claude Haiku 4.5",
1199
1317
  iconProvider: "anthropic"
1200
1318
  },
1201
- "gpt-6-astra": {
1319
+ [GPT_6_MODEL_IDS.astra.openai]: {
1202
1320
  displayName: "GPT-6 Astra",
1203
1321
  iconProvider: "openai"
1204
1322
  },
1323
+ [GPT_6_MODEL_IDS.sol.openai]: {
1324
+ displayName: "GPT-6 Sol",
1325
+ iconProvider: "openai"
1326
+ },
1327
+ [GPT_6_MODEL_IDS.luna.openai]: {
1328
+ displayName: "GPT-6 Luna",
1329
+ iconProvider: "openai"
1330
+ },
1205
1331
  [GPT_56_MODEL_IDS.sol.openai]: {
1206
1332
  displayName: "GPT-5.6 Sol",
1207
1333
  iconProvider: "openai"
@@ -1234,10 +1360,18 @@ const MODEL_DISPLAY_METADATA = {
1234
1360
  displayName: "GPT-5.2",
1235
1361
  iconProvider: "openai"
1236
1362
  },
1237
- "openai/gpt-6-astra": {
1363
+ [GPT_6_MODEL_IDS.astra.openrouter]: {
1238
1364
  displayName: "GPT-6 Astra",
1239
1365
  iconProvider: "openai"
1240
1366
  },
1367
+ [GPT_6_MODEL_IDS.sol.openrouter]: {
1368
+ displayName: "GPT-6 Sol",
1369
+ iconProvider: "openai"
1370
+ },
1371
+ [GPT_6_MODEL_IDS.luna.openrouter]: {
1372
+ displayName: "GPT-6 Luna",
1373
+ iconProvider: "openai"
1374
+ },
1241
1375
  [GPT_56_MODEL_IDS.sol.openrouter]: {
1242
1376
  displayName: "GPT-5.6 Sol",
1243
1377
  iconProvider: "openai"
@@ -1330,10 +1464,6 @@ const MODEL_DISPLAY_METADATA = {
1330
1464
  displayName: "GPT OSS 20B",
1331
1465
  iconProvider: "openai"
1332
1466
  },
1333
- "us.deepseek.r1-v1:0": {
1334
- displayName: "DeepSeek R1",
1335
- iconProvider: "bedrock"
1336
- },
1337
1467
  "mistral-large-latest": {
1338
1468
  displayName: "Mistral Large",
1339
1469
  iconProvider: "mistral"
@@ -1436,7 +1566,8 @@ const ANTHROPIC_ADAPTIVE_THINKING_MODELS = [
1436
1566
  "claude-opus-4-7",
1437
1567
  "claude-opus-4-8",
1438
1568
  "claude-fable-5",
1439
- "claude-fable-5-1"
1569
+ "claude-fable-5-1",
1570
+ "claude-opus-5-5"
1440
1571
  ];
1441
1572
  /**
1442
1573
  * Canonical reasoning-effort ladder, ordered weakest to strongest.
@@ -1463,8 +1594,8 @@ const resolvedReasoningEffortSchema = v.pipe(v.picklist(REASONING_EFFORTS), v.br
1463
1594
  */
1464
1595
  const FALLBACK_CHAT_MODEL_BY_PROVIDER = {
1465
1596
  google: DEFAULT_MODELS.google.fast,
1466
- openrouter: "openai/gpt-5.6-luna",
1467
- openai: "gpt-5.6-luna",
1597
+ openrouter: DEFAULT_MODELS.openrouter.fast,
1598
+ openai: DEFAULT_MODELS.openai.fast,
1468
1599
  anthropic: DEFAULT_MODELS.anthropic.fast,
1469
1600
  bedrock: DEFAULT_MODELS.bedrock.fast,
1470
1601
  mistral: DEFAULT_MODELS.mistral.fast,
@@ -1515,6 +1646,8 @@ const MODEL_STREAMING_TOOL_USE = {
1515
1646
  "gemini-3.5-flash": "supported",
1516
1647
  "gemini-3.1-flash-lite": "supported",
1517
1648
  "openai/gpt-6-astra": "supported",
1649
+ "openai/gpt-6-sol": "supported",
1650
+ "openai/gpt-6-luna": "supported",
1518
1651
  "openai/gpt-5.6-sol": "supported",
1519
1652
  "openai/gpt-5.6-terra": "supported",
1520
1653
  "openai/gpt-5.6-luna": "supported",
@@ -1532,6 +1665,8 @@ const MODEL_STREAMING_TOOL_USE = {
1532
1665
  "openai/gpt-5.5": "supported",
1533
1666
  "openai/gpt-5.4-mini": "supported",
1534
1667
  "gpt-6-astra": "supported",
1668
+ "gpt-6-sol": "supported",
1669
+ "gpt-6-luna": "supported",
1535
1670
  "gpt-5.6": "supported",
1536
1671
  "gpt-5.6-terra": "supported",
1537
1672
  "gpt-5.6-luna": "supported",
@@ -1543,6 +1678,7 @@ const MODEL_STREAMING_TOOL_USE = {
1543
1678
  "claude-sonnet-5": "supported",
1544
1679
  "claude-fable-5-1": "supported",
1545
1680
  "claude-fable-5": "supported",
1681
+ "claude-opus-5-5": "supported",
1546
1682
  "claude-opus-5": "supported",
1547
1683
  "claude-opus-4-8": "supported",
1548
1684
  "claude-opus-4-7": "supported",
@@ -1556,12 +1692,18 @@ const MODEL_STREAMING_TOOL_USE = {
1556
1692
  "us.amazon.nova-micro-v1:0": "supported",
1557
1693
  "openai.gpt-oss-120b-1:0": "supported",
1558
1694
  "openai.gpt-oss-20b-1:0": "supported",
1559
- "us.deepseek.r1-v1:0": "unsupported",
1560
1695
  "mistral-large-latest": "supported",
1561
1696
  "mistral-medium-latest": "supported",
1562
1697
  "mistral-small-latest": "supported"
1563
1698
  };
1564
- const MODEL_STREAMING_TOOL_USE_BY_ID = MODEL_STREAMING_TOOL_USE;
1699
+ const MODEL_STREAMING_TOOL_USE_BY_ID = {
1700
+ "gemini-2.5-flash": "supported",
1701
+ "gemini-2.5-pro": "supported",
1702
+ "gpt-4o-mini": "supported",
1703
+ "gpt-4o": "supported",
1704
+ "us.deepseek.r1-v1:0": "unsupported",
1705
+ ...MODEL_STREAMING_TOOL_USE
1706
+ };
1565
1707
  /**
1566
1708
  * Whether stella may send tools (or a structured-output schema) to this
1567
1709
  * model on a streaming request. Unlisted ids resolve to `true`: custom
@@ -1658,6 +1800,8 @@ const CONTEXT_WINDOW_TOKENS = {
1658
1800
  "gpt-5.4": 4e5,
1659
1801
  "gpt-5.5": 4e5,
1660
1802
  "gpt-6-astra": 922e3,
1803
+ "gpt-6-sol": 922e3,
1804
+ "gpt-6-luna": 922e3,
1661
1805
  "gpt-5.6": 922e3,
1662
1806
  "gpt-5.6-luna": 922e3,
1663
1807
  "gpt-5.6-terra": 922e3,
@@ -1668,6 +1812,7 @@ const CONTEXT_WINDOW_TOKENS = {
1668
1812
  "claude-opus-4-7": 2e5,
1669
1813
  "claude-opus-4-8": 2e5,
1670
1814
  "claude-opus-5": 1e6,
1815
+ "claude-opus-5-5": 1e6,
1671
1816
  "claude-fable-5": 2e5,
1672
1817
  "claude-fable-5-1": 1e6,
1673
1818
  "mistral-small-latest": 128e3,
@@ -1687,6 +1832,8 @@ const CONTEXT_WINDOW_TOKENS = {
1687
1832
  "anthropic/claude-opus-4.8": 2e5,
1688
1833
  "anthropic/claude-sonnet-4.6": 2e5,
1689
1834
  "openai/gpt-6-astra": 922e3,
1835
+ "openai/gpt-6-sol": 922e3,
1836
+ "openai/gpt-6-luna": 922e3,
1690
1837
  "openai/gpt-5.6-sol": 922e3,
1691
1838
  "openai/gpt-5.6-luna": 922e3,
1692
1839
  "openai/gpt-5.6-terra": 922e3,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stll/ai-catalog",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Provider-neutral AI model roles, capabilities, and curated model metadata.",
5
5
  "keywords": [
6
6
  "ai",
@@ -41,21 +41,21 @@
41
41
  "pack:dry-run": "bun pm pack --dry-run",
42
42
  "test": "bun test src",
43
43
  "typecheck": "bun ../../packages/scripts/src/tsc-native.ts --noEmit",
44
- "lint": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --report-unused-disable-directives-severity=error --deny-warnings --type-aware packages/ai-catalog",
44
+ "lint": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --report-unused-disable-directives-severity=error --type-aware packages/ai-catalog",
45
45
  "lint:fix": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --type-aware --fix packages/ai-catalog",
46
46
  "format": "bun ../../scripts/run-oxfmt.ts .",
47
47
  "prepack": "bun run build"
48
48
  },
49
49
  "dependencies": {
50
- "valibot": "1.4.2"
50
+ "valibot": "1.5.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@stll/typescript-config": "0.0.0",
54
- "@tanstack/ai-anthropic": "0.18.5",
55
- "@tanstack/ai-bedrock": "0.3.7",
56
- "@tanstack/ai-gemini": "0.29.1",
57
- "@tanstack/ai-mistral": "0.6.1",
58
- "@tanstack/ai-openrouter": "0.19.8",
54
+ "@tanstack/ai-anthropic": "0.18.6",
55
+ "@tanstack/ai-bedrock": "0.3.8",
56
+ "@tanstack/ai-gemini": "0.29.2",
57
+ "@tanstack/ai-mistral": "0.6.2",
58
+ "@tanstack/ai-openrouter": "0.19.9",
59
59
  "bun-types": "1.4.2",
60
60
  "tsdown": "0.23.0"
61
61
  },