@bitkyc08/opencodex 2.7.33 → 2.7.34-preview.20260723

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 (64) hide show
  1. package/README.ja.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +21 -10
  4. package/README.ru.md +1 -1
  5. package/README.zh-CN.md +1 -1
  6. package/gui/dist/assets/index-CFvldvJ7.js +52 -0
  7. package/gui/dist/assets/index-Sg-7L_oZ.css +1 -0
  8. package/gui/dist/index.html +2 -2
  9. package/package.json +1 -1
  10. package/src/adapters/anthropic.ts +13 -6
  11. package/src/adapters/cursor/discovery.ts +39 -4
  12. package/src/adapters/cursor/exec-policy.ts +11 -13
  13. package/src/adapters/cursor/live-transport.ts +22 -4
  14. package/src/adapters/cursor/protobuf-events.ts +140 -8
  15. package/src/adapters/cursor/protobuf-request.ts +15 -0
  16. package/src/adapters/cursor/request-builder.ts +10 -5
  17. package/src/adapters/cursor/transport.ts +3 -2
  18. package/src/adapters/cursor/types.ts +14 -0
  19. package/src/adapters/kiro-constants.ts +12 -0
  20. package/src/adapters/kiro-errors.ts +111 -2
  21. package/src/adapters/kiro-events.ts +154 -35
  22. package/src/adapters/kiro-retry.ts +116 -32
  23. package/src/adapters/kiro-tools.ts +30 -20
  24. package/src/adapters/kiro-wire.ts +47 -6
  25. package/src/adapters/kiro.ts +891 -228
  26. package/src/adapters/openai-chat.ts +12 -5
  27. package/src/adapters/openai-responses.ts +7 -2
  28. package/src/bridge.ts +109 -26
  29. package/src/claude/outbound.ts +27 -4
  30. package/src/cli/index.ts +1 -1
  31. package/src/codex/catalog.ts +375 -33
  32. package/src/combos/index.ts +3 -0
  33. package/src/combos/request.ts +4 -4
  34. package/src/combos/resolve.ts +2 -2
  35. package/src/combos/types.ts +104 -2
  36. package/src/config.ts +70 -1
  37. package/src/lib/eventstream-decoder.ts +9 -0
  38. package/src/oauth/index.ts +3 -1
  39. package/src/oauth/kiro-credentials.ts +48 -20
  40. package/src/oauth/login-cli.ts +2 -0
  41. package/src/providers/derive.ts +8 -0
  42. package/src/providers/kiro-models.ts +2 -2
  43. package/src/providers/openai-sidecar.ts +28 -1
  44. package/src/providers/registry.ts +39 -2
  45. package/src/responses/parser.ts +22 -10
  46. package/src/responses/schema.ts +1 -0
  47. package/src/responses/state.ts +50 -10
  48. package/src/router.ts +15 -3
  49. package/src/server/auth-cors.ts +7 -0
  50. package/src/server/claude-messages.ts +6 -0
  51. package/src/server/index.ts +6 -3
  52. package/src/server/management-api.ts +187 -43
  53. package/src/server/ports.ts +4 -2
  54. package/src/server/request-log.ts +3 -2
  55. package/src/server/responses-item-id-repair.ts +281 -0
  56. package/src/server/responses.ts +274 -73
  57. package/src/types.ts +109 -16
  58. package/src/update/job.ts +81 -1
  59. package/src/vision/describe.ts +2 -1
  60. package/src/web-search/executor.ts +2 -1
  61. package/src/web-search/loop.ts +9 -1
  62. package/src/web-search/progress-stream.ts +12 -10
  63. package/gui/dist/assets/index-D6Fcl4yM.css +0 -1
  64. package/gui/dist/assets/index-d63HMU0x.js +0 -52
package/README.ja.md CHANGED
@@ -233,7 +233,7 @@ opencodex は 2 つの動作を分離して保持します:
233
233
  | Ollama / vLLM / LM Studio(ローカル) | `openai-chat` | key(通常は空欄) |
234
234
  | 任意の OpenAI 互換エンドポイント | `openai-chat` | key |
235
235
 
236
- このほか DeepSeek、Groq、OpenRouter、Together、Fireworks、Cerebras、Mistral、Hugging Face、NVIDIA NIM、MiniMax、Qwen Cloud などがあります。完全な一覧は `ocx init` または[プロバイダードキュメント](https://lidge-jun.github.io/opencodex/ja/reference/configuration/)で確認してください。
236
+ このほか DeepSeek、Groq、OpenRouter、Together、Fireworks、Cerebras、Mistral、Hugging Face、NVIDIA NIM、MiniMax、Qwen Cloud、Tencent Cloud Coding Plan、SiliconFlow などがあります。完全な一覧は `ocx init` または[プロバイダードキュメント](https://lidge-jun.github.io/opencodex/ja/reference/configuration/)で確認してください。
237
237
 
238
238
  Cursor サポートは段階的な実験的ブリッジです: `ocx init` とダッシュボードの Add Provider ピッカーに Cursor の静的公開モデルカタログを持つローカル config として表示されます。Cursor アクセストークンを設定するとライブ
239
239
  HTTP/2 トランスポートが有効になります。Cursor サーバー駆動のネイティブ
package/README.ko.md CHANGED
@@ -232,7 +232,7 @@ opencodex는 두 가지 동작을 분리해서 유지합니다:
232
232
  | Ollama / vLLM / LM Studio (로컬) | `openai-chat` | key (보통 비워둠) |
233
233
  | 모든 OpenAI 호환 엔드포인트 | `openai-chat` | key |
234
234
 
235
- 그 외에 DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud 등이 있습니다. 전체 목록은 `ocx init` 또는 [프로바이더 문서](https://lidge-jun.github.io/opencodex/ko/reference/configuration/)에서 확인하세요.
235
+ 그 외에 DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud, Tencent Cloud Coding Plan, SiliconFlow 등이 있습니다. 전체 목록은 `ocx init` 또는 [프로바이더 문서](https://lidge-jun.github.io/opencodex/ko/reference/configuration/)에서 확인하세요.
236
236
 
237
237
  ## CLI
238
238
 
package/README.md CHANGED
@@ -158,6 +158,11 @@ codex -m "ollama/llama3" "Refactor this function"
158
158
 
159
159
  When you omit the `provider/` prefix, opencodex routes to the default provider — or auto-matches based on the model name pattern (e.g., `claude-*` routes to Anthropic, `gpt-*` routes to OpenAI).
160
160
 
161
+ Combo aliases are exact public model ids and may be bare names or use a custom namespace. If a
162
+ combo alias exactly matches a configured non-OpenAI `provider/model` selector, the combo
163
+ intentionally takes precedence in routing, `/v1/models`, and the Codex catalog. Renaming that
164
+ alias or deleting the combo immediately restores the physical provider selector.
165
+
161
166
  Routed models also appear in the **Codex App** model picker with per-model reasoning effort controls:
162
167
 
163
168
  Current Codex builds can expose `low`, `medium`, `high`, `xhigh`, `max`, and `ultra` reasoning
@@ -229,7 +234,7 @@ next Codex session. opencodex keeps these behaviors:
229
234
  - **Log in once, skip the API key.** OAuth support for xAI, Anthropic, and Kimi means you can authenticate with your existing account. Tokens auto-refresh. Or forward your `codex login`, paste an API key, or use `${ENV_VAR}` references — your call.
230
235
  - **Works everywhere Codex does.** Injects into Codex CLI, TUI, App, and SDK automatically. Routed models show up in Codex's model picker just like native ones.
231
236
  - **History-safe injection.** On local installs the proxy points Codex's own built-in `openai` provider at itself via a single `openai_base_url` line — new threads keep their native provider tag, so ongoing chat history is never remapped and an unclean shutdown can't hide it. (Threads re-tagged by older versions are migrated back once on the first start; remote/LAN binds use a dedicated provider entry instead, since they need an API-key header.)
232
- - **Delegate to the right model.** Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one. On the v2 multi-agent surface (GPT-5.6 Sol/Terra) the proxy injects compact delegation guidance: a preferred sub-agent model and effort (`injectionModel` / `injectionEffort`), the featured-model roster with the effort ladder each supports, and the `fork_turns` rules that let cross-model `spawn_agent` calls apply their overrides. Known limitation: when a native parent spawns a routed child, the task body can currently arrive backend-encrypted and be lost ([#92](https://github.com/lidge-jun/opencodex/issues/92)) — use the v1 surface for reliable cross-provider delegation. Want your own wording? Set `injectionPrompt` with `{{model}}` / `{{effort}}` / `{{roster}}` placeholders.
237
+ - **Delegate to the right model.** Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one. On the v2 multi-agent surface (GPT-5.6 Sol/Terra) the proxy injects compact, schema-agnostic delegation guidance: an eligible preferred sub-agent model and effort (`injectionModel` / `injectionEffort`), the configured intersection of Codex's picker-visible, v2-compatible, priority-sorted first five with available effort ladders, and the `fork_turns` rules that let cross-model `spawn_agent` calls apply their overrides. Known limitation: when a native parent spawns a routed child, the task body can currently arrive backend-encrypted and be lost ([#92](https://github.com/lidge-jun/opencodex/issues/92)) — use the v1 surface for reliable cross-provider delegation. Want your own wording? Set `injectionPrompt` with `{{model}}` / `{{effort}}` / `{{roster}}` placeholders.
233
238
  - **Prepare for preview-gated OpenAI rollouts.** GPT-5.6 Sol/Terra/Luna entries preserve the upstream effort ladders. Direct/Multi use the 372k Codex contract; OpenAI API and OpenRouter use 1.05M metadata when upstream access is available.
234
239
  - **Give any model superpowers.** Non-OpenAI models get real web search and image understanding via a `gpt-5.4-mini` sidecar over your ChatGPT login.
235
240
  - **Generate images natively.** Codex's standalone `image_gen` tool uses `POST /v1/images/generations` for generation and `POST /v1/images/edits` for edits; it is separate from the hosted Responses `image_generation` tool.
@@ -254,14 +259,17 @@ next Codex session. opencodex keeps these behaviors:
254
259
  | Ollama / vLLM / LM Studio (local) | `openai-chat` | key (usually blank) |
255
260
  | Any OpenAI-compatible endpoint | `openai-chat` | key |
256
261
 
257
- Plus DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud, and more. See the full list with `ocx init` or in the [provider docs](https://lidge-jun.github.io/opencodex/reference/configuration/).
262
+ Plus DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud, Tencent Cloud Coding Plan, SiliconFlow, and more. See the full list with `ocx init` or in the [provider docs](https://lidge-jun.github.io/opencodex/reference/configuration/).
258
263
 
259
264
  Cursor support is a staged experimental bridge: it appears in `ocx init` and the dashboard Add
260
265
  Provider picker as a local config with Cursor's static public model catalog. Live
261
266
  HTTP/2 transport is enabled when a Cursor access token is configured. Cursor server-driven native
262
267
  read/write/delete/ls/grep/shell/fetch execution is disabled by default because it bypasses Codex's
263
- approval and sandbox path; set `unsafeAllowNativeLocalExec: true` only for trusted local
264
- experiments.
268
+ approval and sandbox path. Request text such as a Codex `danger-full-access` sandbox marker never
269
+ authorizes native local exec; set `nativeLocalExec: "on"` only for trusted local experiments where
270
+ every data-plane caller is trusted. `nativeLocalExec: "codex-sandbox"` is accepted for backwards
271
+ compatibility but fails closed like `off`; legacy `unsafeAllowNativeLocalExec: true` remains an
272
+ explicit operator opt-in.
265
273
  MCP, screen recording, and computer-use are exposed through executor hooks; when no local executor
266
274
  is configured, opencodex returns typed no-executor results instead of policy-blocking the request.
267
275
  Cursor OAuth and live model discovery are enabled for the experimental Cursor adapter.
@@ -345,13 +353,16 @@ Here's a typical multi-provider setup:
345
353
  }
346
354
  ```
347
355
 
348
- Provider entries can also annotate routed catalog metadata. Use `contextWindow` for a provider-wide
349
- Codex-visible context cap, `modelContextWindows` for model-specific caps, and
356
+ Provider entries can also annotate routed catalog metadata and output defaults. Use `contextWindow`
357
+ for a provider-wide Codex-visible context cap, `modelContextWindows` for model-specific caps, and
350
358
  `modelInputModalities` for model-specific catalog input hints such as `["text"]` or
351
- `["text", "image"]`. Context values cap live `/models` metadata; they never raise a smaller live
352
- context window. The bundled GPT-5.6 Sol/Terra/Luna fallback metadata uses a 1,050,000-token context
353
- window for OpenAI API key and OpenRouter catalog entries; it does not bypass upstream preview
354
- access. See the configuration reference for the full field list.
359
+ `["text", "image"]`. For OpenAI-compatible chat providers whose upstream default response budget is
360
+ too small, set `defaultMaxOutputTokens` or per-model `modelMaxOutputTokens`; explicit
361
+ `max_output_tokens` from the client still wins, and unset configs still omit `max_tokens`. Context
362
+ values cap live `/models` metadata; they never raise a smaller live context window. The bundled
363
+ GPT-5.6 Sol/Terra/Luna fallback metadata uses a 1,050,000-token context window for OpenAI API key
364
+ and OpenRouter catalog entries; it does not bypass upstream preview access. See the configuration
365
+ reference for the full field list.
355
366
 
356
367
  > **GLM-5.2 1M context via Z.AI:** through the `openai-chat` adapter, both `glm-5.2`
357
368
  > and `glm-5.2[1m]` work — opencodex strips the trailing `[1m]` suffix before
package/README.ru.md CHANGED
@@ -262,7 +262,7 @@ OpenAI API-ключа и OpenRouter (`gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-lu
262
262
  | Ollama / vLLM / LM Studio (локально) | `openai-chat` | key (обычно пустой) |
263
263
  | Любой OpenAI-совместимый эндпоинт | `openai-chat` | key |
264
264
 
265
- А также DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud и другие. Полный список — в `ocx init` или в [документации по провайдерам](https://lidge-jun.github.io/opencodex/reference/configuration/).
265
+ А также DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud, Tencent Cloud Coding Plan, SiliconFlow и другие. Полный список — в `ocx init` или в [документации по провайдерам](https://lidge-jun.github.io/opencodex/reference/configuration/).
266
266
 
267
267
  Поддержка Cursor — поэтапный экспериментальный мост: он появляется в `ocx init` и в селекторе
268
268
  Add Provider панели управления как локальная конфигурация со статическим публичным каталогом
package/README.zh-CN.md CHANGED
@@ -225,7 +225,7 @@ opencodex 保持两种独立行为:
225
225
  | Ollama / vLLM / LM Studio(本地) | `openai-chat` | key(通常留空) |
226
226
  | 任意 OpenAI 兼容端点 | `openai-chat` | key |
227
227
 
228
- 此外还有 DeepSeek、Groq、OpenRouter、Together、Fireworks、Cerebras、Mistral、Hugging Face、NVIDIA NIM、MiniMax、Qwen Cloud 等等。完整列表可通过 `ocx init` 查看,或参阅 [provider 文档](https://lidge-jun.github.io/opencodex/zh-cn/reference/configuration/)。
228
+ 此外还有 DeepSeek、Groq、OpenRouter、Together、Fireworks、Cerebras、Mistral、Hugging Face、NVIDIA NIM、MiniMax、Qwen Cloud、腾讯云 Coding Plan、SiliconFlow 等等。完整列表可通过 `ocx init` 查看,或参阅 [provider 文档](https://lidge-jun.github.io/opencodex/zh-cn/reference/configuration/)。
229
229
 
230
230
  ## CLI
231
231