@stll/ai-catalog 0.1.12 → 0.1.13

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.
package/dist/index.d.ts CHANGED
@@ -453,6 +453,7 @@ export declare const MODEL_REASONING_EFFORTS: {
453
453
  readonly "gemini-3.5-flash": readonly ["minimal", "low", "medium", "high"];
454
454
  readonly "gemini-3.1-flash-lite": readonly ["minimal", "low", "medium", "high"];
455
455
  readonly "openai/gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max"];
456
+ readonly "openai/gpt-5.6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
456
457
  readonly "openai/gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
457
458
  readonly "openai/gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
458
459
  readonly "google/gemini-3.8-flash": readonly ["low", "medium", "high"];
@@ -512,6 +513,7 @@ export declare const MODEL_DEFAULT_REASONING_EFFORTS: {
512
513
  readonly "gemini-3.5-flash": null;
513
514
  readonly "gemini-3.1-flash-lite": null;
514
515
  readonly "openai/gpt-6-astra": "medium";
516
+ readonly "openai/gpt-5.6-sol": "medium";
515
517
  readonly "openai/gpt-5.6-luna": "medium";
516
518
  readonly "openai/gpt-5.6-terra": "medium";
517
519
  readonly "google/gemini-3.8-flash": "medium";
@@ -571,6 +573,7 @@ export declare const MODEL_TEMPERATURE_POLICIES: {
571
573
  readonly "gemini-3.5-flash": "emit";
572
574
  readonly "gemini-3.1-flash-lite": "emit";
573
575
  readonly "openai/gpt-6-astra": "omit";
576
+ readonly "openai/gpt-5.6-sol": "omit";
574
577
  readonly "openai/gpt-5.6-luna": "omit";
575
578
  readonly "openai/gpt-5.6-terra": "omit";
576
579
  readonly "google/gemini-3.8-flash": "omit";
@@ -780,8 +783,8 @@ export declare const DEFAULT_MODELS: {
780
783
  export declare const BYOK_MODEL_OPTIONS: {
781
784
  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"];
782
785
  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"];
783
- 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"];
784
- readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "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"];
786
+ 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"];
787
+ 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"];
785
788
  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"];
786
789
  readonly mistral: readonly ["mistral-large-latest", "mistral-medium-latest", "mistral-small-latest"];
787
790
  };
@@ -905,6 +908,10 @@ export declare const MODEL_DISPLAY_METADATA: {
905
908
  readonly displayName: "GPT-6 Astra";
906
909
  readonly iconProvider: "openai";
907
910
  };
911
+ readonly "openai/gpt-5.6-sol": {
912
+ readonly displayName: "GPT-5.6 Sol";
913
+ readonly iconProvider: "openai";
914
+ };
908
915
  readonly "openai/gpt-5.6-luna": {
909
916
  readonly displayName: "GPT-5.6 Luna";
910
917
  readonly iconProvider: "openai";
@@ -1018,7 +1025,7 @@ export declare const getModelDisplayMetadata: (modelId: string) => ModelDisplayM
1018
1025
  */
1019
1026
  export declare const BYOK_DOCUMENT_INPUT_MODEL_OPTIONS: {
1020
1027
  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"];
1021
- readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "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"];
1028
+ readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-sol", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "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"];
1022
1029
  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"];
1023
1030
  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"];
1024
1031
  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"];
@@ -1049,7 +1056,7 @@ export declare const isBYOKModelRoleSupported: ({ provider, modelId, role }: {
1049
1056
  export declare const CHAT_PDF_ATTACHMENT_MODEL_OPTIONS: {
1050
1057
  readonly mistral: readonly ["mistral-medium-latest", "mistral-small-latest"];
1051
1058
  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"];
1052
- readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "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"];
1059
+ readonly openrouter: readonly ["openai/gpt-6-astra", "openai/gpt-5.6-sol", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "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"];
1053
1060
  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"];
1054
1061
  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"];
1055
1062
  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"];
@@ -1233,6 +1240,7 @@ export declare const CONTEXT_WINDOW_TOKENS: {
1233
1240
  readonly "anthropic/claude-opus-4.8": 200000;
1234
1241
  readonly "anthropic/claude-sonnet-4.6": 200000;
1235
1242
  readonly "openai/gpt-6-astra": 922000;
1243
+ readonly "openai/gpt-5.6-sol": 922000;
1236
1244
  readonly "openai/gpt-5.6-luna": 922000;
1237
1245
  readonly "openai/gpt-5.6-terra": 922000;
1238
1246
  readonly "openai/gpt-5.5": 400000;
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
16
16
  ],
17
17
  openrouter: [
18
18
  "openai/gpt-6-astra",
19
+ "openai/gpt-5.6-sol",
19
20
  "openai/gpt-5.6-luna",
20
21
  "openai/gpt-5.6-terra",
21
22
  "google/gemini-3.8-flash",
@@ -115,6 +116,14 @@ const MODEL_REASONING_EFFORTS = {
115
116
  "xhigh",
116
117
  "max"
117
118
  ],
119
+ "openai/gpt-5.6-sol": [
120
+ "none",
121
+ "low",
122
+ "medium",
123
+ "high",
124
+ "xhigh",
125
+ "max"
126
+ ],
118
127
  "openai/gpt-5.6-luna": [
119
128
  "none",
120
129
  "low",
@@ -372,6 +381,7 @@ const MODEL_DEFAULT_REASONING_EFFORTS = {
372
381
  "gemini-3.5-flash": null,
373
382
  "gemini-3.1-flash-lite": null,
374
383
  "openai/gpt-6-astra": "medium",
384
+ "openai/gpt-5.6-sol": "medium",
375
385
  "openai/gpt-5.6-luna": "medium",
376
386
  "openai/gpt-5.6-terra": "medium",
377
387
  "google/gemini-3.8-flash": "medium",
@@ -431,6 +441,7 @@ const MODEL_TEMPERATURE_POLICIES = {
431
441
  "gemini-3.5-flash": "emit",
432
442
  "gemini-3.1-flash-lite": "emit",
433
443
  "openai/gpt-6-astra": "omit",
444
+ "openai/gpt-5.6-sol": "omit",
434
445
  "openai/gpt-5.6-luna": "omit",
435
446
  "openai/gpt-5.6-terra": "omit",
436
447
  "google/gemini-3.8-flash": "omit",
@@ -952,6 +963,28 @@ const FIRST_PARTY_MODEL_PROVIDERS = [
952
963
  "mistral"
953
964
  ];
954
965
  /**
966
+ * Provider IDs for the GPT-5.6 family. OpenAI exposes Sol through the
967
+ * `gpt-5.6` alias while OpenRouter uses the explicit `gpt-5.6-sol` ID. Keep
968
+ * both routes in one row so adding a family member cannot update one picker
969
+ * and silently omit the other.
970
+ */
971
+ const GPT_56_MODEL_IDS = {
972
+ sol: {
973
+ openai: "gpt-5.6",
974
+ openrouter: "openai/gpt-5.6-sol"
975
+ },
976
+ terra: {
977
+ openai: "gpt-5.6-terra",
978
+ openrouter: "openai/gpt-5.6-terra"
979
+ },
980
+ luna: {
981
+ openai: "gpt-5.6-luna",
982
+ openrouter: "openai/gpt-5.6-luna"
983
+ }
984
+ };
985
+ const GPT_56_OPENAI_MODEL_IDS = Object.values(GPT_56_MODEL_IDS).map(({ openai }) => openai);
986
+ const GPT_56_OPENROUTER_MODEL_IDS = Object.values(GPT_56_MODEL_IDS).map(({ openrouter }) => openrouter);
987
+ /**
955
988
  * Per-role default model IDs for the BYOK-capable cloud providers.
956
989
  * Shared between the instance default table (`DEFAULT_MODELS`) and the
957
990
  * settings-UI default selection, so a default is defined exactly once.
@@ -964,10 +997,10 @@ const BYOK_DEFAULT_MODELS = {
964
997
  pdf: "gemini-3.7-flash"
965
998
  },
966
999
  openrouter: {
967
- fast: "openai/gpt-5.6-luna",
968
- chat: "openai/gpt-5.6-terra",
969
- reasoning: "openai/gpt-5.6-terra",
970
- pdf: "openai/gpt-5.6-terra"
1000
+ fast: GPT_56_MODEL_IDS.luna.openrouter,
1001
+ chat: GPT_56_MODEL_IDS.terra.openrouter,
1002
+ reasoning: GPT_56_MODEL_IDS.terra.openrouter,
1003
+ pdf: GPT_56_MODEL_IDS.terra.openrouter
971
1004
  },
972
1005
  openai: {
973
1006
  fast: "gpt-5.4-nano",
@@ -1053,9 +1086,7 @@ const BYOK_MODEL_OPTIONS = {
1053
1086
  ],
1054
1087
  openai: [
1055
1088
  "gpt-6-astra",
1056
- "gpt-5.6",
1057
- "gpt-5.6-terra",
1058
- "gpt-5.6-luna",
1089
+ ...GPT_56_OPENAI_MODEL_IDS,
1059
1090
  "gpt-5.5",
1060
1091
  "gpt-5.4",
1061
1092
  "gpt-5.4-mini",
@@ -1064,8 +1095,7 @@ const BYOK_MODEL_OPTIONS = {
1064
1095
  ],
1065
1096
  openrouter: [
1066
1097
  "openai/gpt-6-astra",
1067
- "openai/gpt-5.6-luna",
1068
- "openai/gpt-5.6-terra",
1098
+ ...GPT_56_OPENROUTER_MODEL_IDS,
1069
1099
  "google/gemini-3.8-flash",
1070
1100
  "google/gemini-3.7-flash",
1071
1101
  "google/gemini-3.6-flash",
@@ -1171,15 +1201,15 @@ const MODEL_DISPLAY_METADATA = {
1171
1201
  displayName: "GPT-6 Astra",
1172
1202
  iconProvider: "openai"
1173
1203
  },
1174
- "gpt-5.6": {
1204
+ [GPT_56_MODEL_IDS.sol.openai]: {
1175
1205
  displayName: "GPT-5.6 Sol",
1176
1206
  iconProvider: "openai"
1177
1207
  },
1178
- "gpt-5.6-terra": {
1208
+ [GPT_56_MODEL_IDS.terra.openai]: {
1179
1209
  displayName: "GPT-5.6 Terra",
1180
1210
  iconProvider: "openai"
1181
1211
  },
1182
- "gpt-5.6-luna": {
1212
+ [GPT_56_MODEL_IDS.luna.openai]: {
1183
1213
  displayName: "GPT-5.6 Luna",
1184
1214
  iconProvider: "openai"
1185
1215
  },
@@ -1207,11 +1237,15 @@ const MODEL_DISPLAY_METADATA = {
1207
1237
  displayName: "GPT-6 Astra",
1208
1238
  iconProvider: "openai"
1209
1239
  },
1210
- "openai/gpt-5.6-luna": {
1240
+ [GPT_56_MODEL_IDS.sol.openrouter]: {
1241
+ displayName: "GPT-5.6 Sol",
1242
+ iconProvider: "openai"
1243
+ },
1244
+ [GPT_56_MODEL_IDS.luna.openrouter]: {
1211
1245
  displayName: "GPT-5.6 Luna",
1212
1246
  iconProvider: "openai"
1213
1247
  },
1214
- "openai/gpt-5.6-terra": {
1248
+ [GPT_56_MODEL_IDS.terra.openrouter]: {
1215
1249
  displayName: "GPT-5.6 Terra",
1216
1250
  iconProvider: "openai"
1217
1251
  },
@@ -1576,6 +1610,7 @@ const CONTEXT_WINDOW_TOKENS = {
1576
1610
  "anthropic/claude-opus-4.8": 2e5,
1577
1611
  "anthropic/claude-sonnet-4.6": 2e5,
1578
1612
  "openai/gpt-6-astra": 922e3,
1613
+ "openai/gpt-5.6-sol": 922e3,
1579
1614
  "openai/gpt-5.6-luna": 922e3,
1580
1615
  "openai/gpt-5.6-terra": 922e3,
1581
1616
  "openai/gpt-5.5": 4e5,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stll/ai-catalog",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "Provider-neutral AI model roles, capabilities, and curated model metadata.",
5
5
  "keywords": [
6
6
  "ai",