Skip to content

Commit b07f606

Browse files
Merge pull request #877 from corbitsdev/cl-7425-codex-provider-main
Switch Codex Responses to the shared provider package
2 parents fa85931 + e28538b commit b07f606

14 files changed

Lines changed: 176 additions & 1977 deletions

‎bun.lock‎

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docs/IMPLEMENTATION.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ Positional arguments after flags are joined into the optional initial task deliv
393393

394394
- OpenAI-compatible chat completions, streamed via `@intx/inference`
395395
- JSON-schema tool definitions for director-layer tools (`ask_operator`, `present`, `submit_output`) and agent tools (`manage_tasks`, `tool_search`, `use_skill`, `search_agents`, …)
396-
- Codex Responses (`codex-responses-adapter.ts` `buildRequest`): ChatGPT Codex is Responses-only. `instructions` is exactly the supplied Corbits system prompt (including an empty string), omitted when unset. `input` contains only the converted conversation turns, preserving their roles and order without a synthetic developer bridge. There is no official-prompt fetch, cache, or startup refresh. It requires `store: false` (`store: true` → 400) and rejects `previous_response_id`. Multi-turn continuity is full `input` replay; encrypted reasoning captured via `include: ["reasoning.encrypted_content"]` is resent as a `reasoning` item. `prompt_cache_key` (session id) is the cache-routing signal. `parallel_tool_calls` is sent `false` (serial at this surface); the reactor already fans out a multi-call batch concurrently. `max_output_tokens` is omitted (backend rejects it).
396+
- Codex Responses (`@corbits/codex-provider` via `codex-responses.ts`): ChatGPT Codex is Responses-only. The host system prompt is wrapped with product identity as a leading `developer` input item; conversation turns follow in order. There is no official-prompt fetch, cache, or startup refresh. It requires `store: false` (`store: true` → 400) and rejects `previous_response_id`. Multi-turn continuity is full `input` replay; encrypted reasoning captured via `include: ["reasoning.encrypted_content"]` is resent as a `reasoning` item. `prompt_cache_key` (session id) is the cache-routing signal. `parallel_tool_calls` is sent `false` (serial at this surface); the reactor already fans out a multi-call batch concurrently. `max_output_tokens` is omitted (backend rejects it).
397397

398398
### State Persistence
399399

‎package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"tar": "^7.5.1"
8181
},
8282
"dependencies": {
83+
"@corbits/codex-provider": "github:corbitsdev/corbits-codex-provider",
8384
"@corbits/openai-responses": "github:corbitsdev/corbits-openai-responses",
8485
"@corbits/xai-provider": "github:corbitsdev/corbits-xai-provider",
8586
"@intx/agent": "workspace:*",

‎src/config/index.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import {
4141
CODEX_RESPONSES_PROVIDER,
4242
CODEX_ACCOUNT_ID_OPTION,
4343
CODEX_SESSION_ID_OPTION,
44-
} from "../provider/codex-responses-adapter.js";
44+
} from "../provider/codex-responses.js";
4545
import {
4646
GROK_RESPONSES_PROVIDER,
4747
GROK_SESSION_ID_OPTION,

0 commit comments

Comments
 (0)