mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-25 03:32:32 +00:00
# Conflicts: # .github/pull_request_template.md # .github/workflows/rust-release-zsh.yml # .vscode/extensions.json # AGENTS.md # AGENTS.md~openai-upstream_main # codex-cli/.pack/package/bin/rg # codex-cli/bin/rg # codex-rs/app-server-protocol/src/protocol/v2.rs # codex-rs/app-server/src/codex_message_processor.rs # codex-rs/core/src/codex.rs # codex-rs/core/src/model_provider_info_tests.rs # codex-rs/core/src/models_manager/manager.rs # codex-rs/core/src/models_manager/manager_tests.rs # codex-rs/core/src/tools/handlers/multi_agents_v2/assign_task.rs # codex-rs/core/src/tools/spec_tests.rs # codex-rs/debug-client/Cargo.toml # codex-rs/debug-client/src/client.rs # codex-rs/debug-client/src/output.rs # codex-rs/debug-client/src/reader.rs # codex-rs/tools/src/agent_tool.rs # codex-rs/tools/src/agent_tool_tests.rs # codex-rs/tui/src/history_cell.rs # codex-rs/vendor/bubblewrap/NEWS.md # codex-rs/vendor/bubblewrap/README.md # codex-rs/vendor/bubblewrap/SECURITY.md # codex-rs/vendor/bubblewrap/bubblewrap.c # codex-rs/vendor/bubblewrap/meson.build # codex-rs/vendor/bubblewrap/meson_options.txt # codex-rs/vendor/bubblewrap/network.c # codex-rs/vendor/bubblewrap/release-checklist.md # codex-rs/vendor/bubblewrap/utils.c # codex-rs/windows-sandbox-rs/src/setup_orchestrator.rs # docs/contributing.md # scripts/codex_package/rg
codex-api
Typed clients for Codex/OpenAI APIs built on top of the generic transport in codex-client.
- Hosts the request/response models and request builders for Responses and Compact APIs.
- Owns provider configuration (base URLs, headers, query params), auth header injection, retry tuning, and stream idle settings.
- Parses SSE streams into
ResponseEvent/ResponseStream, including rate-limit snapshots and API-specific error mapping. - Serves as the wire-level layer consumed by
codex-core; higher layers handle auth refresh and business logic.
Core interface
The public interface of this crate is intentionally small and uniform:
-
Responses endpoint
- Input:
ResponsesApiRequestfor the request body (model,instructions,input,tools,parallel_tool_calls, reasoning/text controls).ResponsesOptionsfor transport/header concerns (conversation_id,session_source,extra_headers,compression,turn_state).
- Output: a
ResponseStreamofResponseEvent(both re-exported fromcommon).
- Input:
-
Compaction endpoint
- Input:
CompactionInput<'a>(re-exported ascodex_api::CompactionInput):model: &str.input: &[ResponseItem]– history to compact.instructions: &str– fully-resolved compaction instructions.
- Output:
Vec<ResponseItem>. CompactClient::compact_input(&CompactionInput, extra_headers)wraps the JSON encoding and retry/telemetry wiring.
- Input:
-
Memory summarize endpoint
- Input:
MemorySummarizeInput(re-exported ascodex_api::MemorySummarizeInput):model: String.raw_memories: Vec<RawMemory>(serialized astracesfor wire compatibility).RawMemoryincludesid,metadata.source_path, and normalizeditems.
reasoning: Option<Reasoning>.
- Output:
Vec<MemorySummarizeOutput>. MemoriesClient::summarize_input(&MemorySummarizeInput, extra_headers)wraps JSON encoding and retry/telemetry wiring.
- Input:
All HTTP details (URLs, headers, retry/backoff policies, SSE framing) are encapsulated in codex-api and codex-client. Callers construct prompts/inputs using protocol types and work with typed streams of ResponseEvent or compacted ResponseItem values.