@oh-my-pi/pi-catalog 17.3.5 → 17.3.7

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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.3.6] - 2026-08-17
6
+
7
+ ### Changed
8
+
9
+ - Changed the paid xAI (XAI_API_KEY) and SuperGrok (xai-oauth) default models to grok-4.6.
10
+
11
+ ### Fixed
12
+
13
+ - Raised the GPT-5.6 Sol/Terra/Luna context window on the Codex transport (openai-codex) from 372K to 1M tokens: OpenAI enabled the 1M window for subscription Codex on 2026-08-16, but the Codex model registry still reports the stale 272,000, so discovery now floors these SKUs at 1,000,000 instead of trusting the reported value ([openai/codex#38917](https://github.com/openai/codex/issues/38917)).
14
+
5
15
  ## [17.3.5] - 2026-08-16
6
16
 
7
17
  ### Added
@@ -433,12 +433,12 @@ export declare const CATALOG_PROVIDERS: readonly [{
433
433
  };
434
434
  }, {
435
435
  readonly id: "xai";
436
- readonly defaultModel: "grok-4.5";
436
+ readonly defaultModel: "grok-4.6";
437
437
  readonly envVars: readonly ["XAI_API_KEY"];
438
438
  readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
439
439
  }, {
440
440
  readonly id: "xai-oauth";
441
- readonly defaultModel: "grok-4.5";
441
+ readonly defaultModel: "grok-4.6";
442
442
  readonly envVars: readonly ["XAI_OAUTH_TOKEN", "XAI_API_KEY"];
443
443
  readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
444
444
  readonly catalogDiscovery: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-catalog",
4
- "version": "17.3.5",
4
+ "version": "17.3.7",
5
5
  "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@bufbuild/protobuf": "^2.12.1",
38
- "@oh-my-pi/omptype": "17.3.5",
39
- "@oh-my-pi/pi-utils": "17.3.5"
38
+ "@oh-my-pi/omptype": "17.3.7",
39
+ "@oh-my-pi/pi-utils": "17.3.7"
40
40
  },
41
41
  "devDependencies": {
42
- "@oh-my-pi/pi-ai": "17.3.5",
42
+ "@oh-my-pi/pi-ai": "17.3.7",
43
43
  "@types/bun": "^1.3.14"
44
44
  },
45
45
  "engines": {
@@ -9,13 +9,19 @@ const DEFAULT_MODEL_LIST_PATHS = ["/codex/models", "/models"] as const;
9
9
  const DEFAULT_CONTEXT_WINDOW = 272_000;
10
10
  const DEFAULT_MAX_TOKENS = 128_000;
11
11
  /**
12
- * GPT-5.6 luna/sol/terra hard context capacity. Codex discovery omits
13
- * `context_window` for these SKUs, so the generic {@link DEFAULT_CONTEXT_WINDOW}
14
- * (272000) would understate the real window — OpenAI's Codex model registry
15
- * declares context_window = max_context_window = 372000 (#5705). Used as the
16
- * fallback only when upstream reports no value.
12
+ * Fallback for GPT-5.6-family SKUs when upstream omits `context_window`: the
13
+ * generic {@link DEFAULT_CONTEXT_WINDOW} (272000) understates the registry's
14
+ * former 372000 hard capacity (#5705).
17
15
  */
18
16
  const GPT_5_6_CONTEXT_WINDOW = 372_000;
17
+ /**
18
+ * OpenAI enabled a 1M-token window for subscription Codex on GPT-5.6
19
+ * luna/sol/terra (2026-08-16), but the Codex model registry still reports the
20
+ * stale 272000 — so the reported value must be floored, not just defaulted
21
+ * (openai/codex#38917; Codex CLI override `model_context_window = 1000000`).
22
+ */
23
+ const GPT_5_6_1M_CONTEXT_WINDOW = 1_000_000;
24
+ const CODEX_GPT_5_6_1M_SLUGS: ReadonlySet<string> = new Set(["gpt-5.6-luna", "gpt-5.6-sol", "gpt-5.6-terra"]);
19
25
  const CODEX_REMOTE_COMPACTION = {
20
26
  enabled: true,
21
27
  api: "openai-codex-responses",
@@ -224,14 +230,18 @@ function normalizeCodexModelEntry(entry: unknown, baseUrl: string): NormalizedCo
224
230
  }
225
231
 
226
232
  const name = toNonEmptyString(payload.display_name) ?? slug;
227
- // Codex discovery omits `context_window` for GPT-5.6 luna/sol/terra; the
228
- // generic 272000 fallback understates their real 372000 window (#5705).
233
+ // Codex discovery historically omitted `context_window` for GPT-5.6-family
234
+ // SKUs (#5705); luna/sol/terra additionally floor the reported value because
235
+ // the registry still declares the pre-1M 272000 window.
229
236
  const parsed = parseKnownModel(slug);
230
237
  const fallbackContextWindow =
231
238
  parsed.family === "openai" && semverEqual(parsed.version, "5.6")
232
239
  ? GPT_5_6_CONTEXT_WINDOW
233
240
  : DEFAULT_CONTEXT_WINDOW;
234
- const contextWindow = toPositiveInt(payload.context_window) ?? fallbackContextWindow;
241
+ const reportedContextWindow = toPositiveInt(payload.context_window) ?? fallbackContextWindow;
242
+ const contextWindow = CODEX_GPT_5_6_1M_SLUGS.has(slug)
243
+ ? Math.max(reportedContextWindow, GPT_5_6_1M_CONTEXT_WINDOW)
244
+ : reportedContextWindow;
235
245
  const maxTokens = Math.min(DEFAULT_MAX_TOKENS, contextWindow);
236
246
  const reasoning = supportsReasoning(payload.default_reasoning_level, payload.supported_reasoning_levels);
237
247
  const input = normalizeInputModalities(payload.input_modalities);