@stll/ai-catalog 0.1.12 → 0.1.14

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,8 +453,9 @@ 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-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
456
+ readonly "openai/gpt-5.6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
457
457
  readonly "openai/gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
458
+ readonly "openai/gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
458
459
  readonly "google/gemini-3.8-flash": readonly ["low", "medium", "high"];
459
460
  readonly "google/gemini-3.7-flash": readonly ["low", "medium", "high"];
460
461
  readonly "google/gemini-3.6-flash": readonly ["minimal", "low", "medium", "high"];
@@ -512,8 +513,9 @@ 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";
515
- readonly "openai/gpt-5.6-luna": "medium";
516
+ readonly "openai/gpt-5.6-sol": "medium";
516
517
  readonly "openai/gpt-5.6-terra": "medium";
518
+ readonly "openai/gpt-5.6-luna": "medium";
517
519
  readonly "google/gemini-3.8-flash": "medium";
518
520
  readonly "google/gemini-3.7-flash": "medium";
519
521
  readonly "google/gemini-3.6-flash": "medium";
@@ -571,8 +573,9 @@ 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";
574
- readonly "openai/gpt-5.6-luna": "omit";
576
+ readonly "openai/gpt-5.6-sol": "omit";
575
577
  readonly "openai/gpt-5.6-terra": "omit";
578
+ readonly "openai/gpt-5.6-luna": "omit";
576
579
  readonly "google/gemini-3.8-flash": "omit";
577
580
  readonly "google/gemini-3.7-flash": "omit";
578
581
  readonly "google/gemini-3.6-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-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"];
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-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"];
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,8 +16,9 @@ const MODEL_DOCUMENT_INPUT_OPTIONS = {
16
16
  ],
17
17
  openrouter: [
18
18
  "openai/gpt-6-astra",
19
- "openai/gpt-5.6-luna",
19
+ "openai/gpt-5.6-sol",
20
20
  "openai/gpt-5.6-terra",
21
+ "openai/gpt-5.6-luna",
21
22
  "google/gemini-3.8-flash",
22
23
  "google/gemini-3.7-flash",
23
24
  "google/gemini-3.6-flash",
@@ -115,7 +116,7 @@ const MODEL_REASONING_EFFORTS = {
115
116
  "xhigh",
116
117
  "max"
117
118
  ],
118
- "openai/gpt-5.6-luna": [
119
+ "openai/gpt-5.6-sol": [
119
120
  "none",
120
121
  "low",
121
122
  "medium",
@@ -131,6 +132,14 @@ const MODEL_REASONING_EFFORTS = {
131
132
  "xhigh",
132
133
  "max"
133
134
  ],
135
+ "openai/gpt-5.6-luna": [
136
+ "none",
137
+ "low",
138
+ "medium",
139
+ "high",
140
+ "xhigh",
141
+ "max"
142
+ ],
134
143
  "google/gemini-3.8-flash": [
135
144
  "low",
136
145
  "medium",
@@ -372,8 +381,9 @@ 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",
375
- "openai/gpt-5.6-luna": "medium",
384
+ "openai/gpt-5.6-sol": "medium",
376
385
  "openai/gpt-5.6-terra": "medium",
386
+ "openai/gpt-5.6-luna": "medium",
377
387
  "google/gemini-3.8-flash": "medium",
378
388
  "google/gemini-3.7-flash": "medium",
379
389
  "google/gemini-3.6-flash": "medium",
@@ -431,8 +441,9 @@ 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",
434
- "openai/gpt-5.6-luna": "omit",
444
+ "openai/gpt-5.6-sol": "omit",
435
445
  "openai/gpt-5.6-terra": "omit",
446
+ "openai/gpt-5.6-luna": "omit",
436
447
  "google/gemini-3.8-flash": "omit",
437
448
  "google/gemini-3.7-flash": "omit",
438
449
  "google/gemini-3.6-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.14",
4
4
  "description": "Provider-neutral AI model roles, capabilities, and curated model metadata.",
5
5
  "keywords": [
6
6
  "ai",