Commit Graph
15 Commits
Author SHA1 Message Date
can1357 dd80dcd035 test(catalog): adapt ChatGPT-only retention test to multi-account discovery API
- #6266 replaced openaiCodexModelManagerOptions' accessToken field with resolveAccounts; #6219's authoritative-pruning test predates that and silently skipped discovery, leaving the absent static model unpruned.
2026-07-22 21:19:53 +02:00
can1357 45d00ad296 Merge PR #6266: fix(catalog): union Codex models across OAuth accounts (@roboomp) 2026-07-22 21:13:12 +02:00
can1357 12b6c33c07 Merge PR #6219: fix(catalog): retain ChatGPT-only Codex models (@roboomp)
# Conflicts:
#	packages/catalog/test/codex-discovery.test.ts
2026-07-22 21:13:01 +02:00
roboomp a3a39b1b00 fix(catalog): rejected partial codex account unions
Treat a multi-account Codex discovery result as authoritative only when every
configured account returned a valid catalog. If any account fetch fails, return
null so model resolution retains the previous or bundled catalog instead of
caching a partial union that hides models for the cache TTL.

Update the regression coverage to combine one successful account response with
one failed response and assert the partial account model is not promoted.

Fixes #6265
2026-07-22 07:11:55 +00:00
roboomp b9dd5bce8a fix(catalog): unioned codex models across oauth accounts
Codex catalog discovery resolved a single access token, mapped it to one
chatgpt-account-id, and made one authoritative fetchCodexModels call whose
result pruned bundled entries. With multiple ChatGPT/Codex OAuth accounts,
the visible catalog depended on whichever account the discovery preflight
selected, hiding models available only through a sibling account.

openaiCodexModelManagerOptions now takes a resolveAccounts callback, fetches
each configured account's /models catalog independently, and unions them by
id before the authoritative merge. Bundled models are retained when every
account fetch fails. The runtime wiring resolves every stored openai-codex
OAuth account via AuthStorage.getOAuthAccesses.

Fixes #6265
2026-07-22 07:00:31 +00:00
roboomp 930bb33f4a fix(catalog): floored gpt-5.6 codex context window at 372k
Codex discovery under-reports the gpt-5.6 sol/terra/luna window: some
accounts omit `context_window`, others actively return 272000. The #5707
`?? fallback` only fired on absence, so an actively-reported 272000 passed
through and `preferDiscoveryLimit` overwrote the bundled 372K pin at
runtime, dropping compaction from 279000 to 204000 tokens.

Treat GPT_5_6_CONTEXT_WINDOW as a floor for these SKUs via Math.max so
neither omission nor active under-report regresses the real capacity;
other models keep honoring the reported value. Corrected the stale
"omits" comments in codex.ts and generated-policies.ts.

Fixes #6259
2026-07-22 04:03:25 +00:00
roboomp 5c5d860719 fix(catalog): retained ChatGPT-only Codex models
Stopped treating the public API availability flag as an OAuth discovery rejection signal while preserving account-hidden filtering and authoritative pruning.

Fixes #6108
2026-07-21 21:14:16 +00:00
can1357 ffab5689a0 Merge PR #5497: fix(catalog): prune unsupported Codex account models (@roboomp)
# Conflicts:
#	packages/catalog/src/discovery/codex.ts
#	packages/catalog/src/models.json
#	packages/catalog/test/codex-discovery.test.ts
2026-07-18 21:02:46 +02:00
roboomp 1945734b42 fix(catalog): pinned gpt-5.6 codex discovery fallback to 372k
The generation-time policy pin only corrected the bundled JSON. Logged-in
Codex users hit fetchCodexModels() at runtime, and mergeDynamicModel prefers
any positive dynamic contextWindow over the bundled one, so the 272000
discovery fallback re-overwrote the 372000 bundle on every live refresh.

Made the Codex discovery context_window fallback SKU-aware: GPT-5.6
luna/sol/terra now fall back to 372000 (their upstream hard capacity) when
upstream omits the field, matching the generation-time policy.

Fixes #5705
2026-07-16 13:46:45 +00:00
roboomp 51ab2fcf23 fix(catalog): made codex discovery authoritative
Replaced stale bundled OpenAI Codex entries after successful account-scoped discovery in both runtime resolution and catalog generation.

Fixes #5364
2026-07-14 19:17:43 +00:00
roboomp 060179729e fix(codex): sent version header with requests
Added Codex version headers to turn requests and model discovery so backend-gated models resolve consistently.

Fixes #5105
2026-07-10 18:08:40 +00:00
can1357 29deeef876 feat: enabled codex responses lite for gpt-5.6 models and remote compaction
- Enabled Codex Responses Lite for GPT-5.6 models by integrating model discovery flags and wire contract updates.
- Implemented request transformations for streaming and remote compaction, including header injection and image detail stripping.
- Introduced sequential-cutoff logic and atomic reasoning summary events for concurrent stream processing.
- Added comprehensive test suites to validate remote compaction, image handling, and reasoning summary delivery.
2026-07-10 09:46:27 +02:00
roboomp bdd3da17ef fix(catalog): stopped promoting legacy v2 model cache rows
Replace the v2->current version UPDATE with a DELETE that clears every row not matching the active schema, so cache-schema bumps actually invalidate stale entries (including pre-V2 Codex rows that still lack remoteCompaction.v2StreamingEnabled).

Fixes #4146
2026-07-01 13:56:48 +00:00
roboomp c25b498913 fix(catalog): invalidated codex discovery cache
Bump the model cache schema so fresh authoritative OpenAI Codex rows written before V2 remote compaction metadata are ignored and refreshed.

Add coverage for legacy cache rows that would otherwise skip Codex discovery and keep the legacy compaction path.

Fixes #4146
2026-07-01 13:51:31 +00:00
roboomp 6daf5a89e5 fix(catalog): enabled codex v2 remote compaction
Add provider-native V2 remote compaction metadata to discovered OpenAI Codex models so context-full compaction uses the streaming compaction_trigger path instead of the legacy compact endpoint.

Expose the V2 remote compaction schema fields in models.yml and cover the Codex discovery metadata contract.

Fixes #4146
2026-07-01 13:43:03 +00:00