Expand description
Codex harness edge and isolated configuration planning.
Structs§
- Active
Codex Turn - AppServer
Discovery Receipt - Auth
Command - Auth
Token - Codex
Agent Runtime - Codex
AppServer Capability Receipt - Codex
AppServer Client - Drives the pure transcript state machine through an injected line transport.
- Codex
AppServer Probe - Non-secret observations supplied by a separately controlled probe.
- Codex
CliVersion - Codex
Request Identity - Codex
Role Projection - Codex
SseEncoder - Codex
Subagent Request Context - Fixed, owner-authorized limits for a canonical Codex multi-agent turn.
- Codex
Wire Error - Config
Preview - Confirmed
Config Plan - Installed
Codex Cli - Installed
Codex Desktop - Installed
Config - Machine
Plan - Managed
Account Projection - Mav2
Spawn Agent Contract - Validated MAv2
spawn_agentcontract (PRD-001u R5). - Model
Page Projection - Model
Projection - Owned
AppServer Config - Configuration for a newly owned
codex app-serverprocess. - Owned
AppServer Transport - A newly spawned app-server child with exclusively owned stdio handles.
- Rate
Limit Window Projection - Rate
Limits Projection - S08Owned
Child Turn Receipt - Shutdown
Receipt - Turn
Completion Receipt - Turn
RunReceipt - User
Config Target
Enums§
- AppServer
Auth Mode - AppServer
Process Error - AppServer
Rpc - AppServer
Transport - Auth
Error - Capability
Input Error - Codex
Role - Codex
SseEncode Error - Codex
Subscription Unavailable Reason - Codex
Tool Policy - Explicit handling policy for whole-agent tool lifecycle events.
- Codex
Wire Error Kind - Config
Error - Mav2
Fork Turns - MAv2
fork_turnssemantics:none,all, or a positive integer. - Mav2
Spawn Agent Error - Namespace
IdSmuggle Error - Reasoning
Effort - Replay
Disposition - Runtime
Error - Runtime
Event - Terminal
Failure Class - Content-free mapping of canonical
turn/completedfailure metadata. - Terminal
Status - Tool
Call Status
Constants§
- APP_
SERVER_ DISCOVERY_ SCHEMA_ VERSION - CODEX_
APP_ SERVER_ PROTOCOL_ VERSION - CURRENT_
DESKTOP_ APP_ VERSION - ChatGPT Desktop application version verified for the current bounded receipt.
- CURRENT_
DESKTOP_ BUILD - ChatGPT Desktop build verified for the current bounded receipt.
- CURRENT_
DESKTOP_ CODEX_ VERSION - Codex CLI version embedded in the verified ChatGPT Desktop application.
- CURRENT_
STANDALONE_ CLI_ VERSION - Standalone Codex CLI version verified for the current bounded receipt.
- MAV2_
AGENTS_ NAMESPACE - The documented non-reserved MAv2 namespace workaround
(openai/codex#31864): moving the fully-qualified tool identity to
functions.agents.<fn>bypasses the reserved-schema 400. - MAV2_
COLLABORATION_ NAMESPACE - The Codex MAv2 fixed namespace (openai/codex#29067, merged 2026-06-23). This namespace is model-reserved for GPT-5.6 Sol/Terra/Luna and requires the exact canonical schema.
- MAV2_
TOOL_ NAMES - The fixed MAv2 tool set exposed under the chosen namespace.
- MULTI_
AGENT_ NAMESPACE - The Codex harness multi-agent namespace exposed to the CLI.
- NAMESPACE_
ID_ SMUGGLE_ MARKER - Id-smuggling separator modeled on the rflectr
__ts__pattern (PRD-001u R-A/AC-09): the namespace is carried through a field the host echoes unchanged (the tool-use call id) as<rawId>__ns__<base64url(namespace)>. The marker is collision-proof: a raw id that already contains it is refused at encode time, so the encoder never produces an ambiguous value. A value that carries the marker and decodes to a canonical subagent namespace is by construction one this encoder produced;decode_namespace_call_idcannot, however, distinguish a provider-supplied id that happens to match the shape from an encoder-produced id, so callers must treat the decode result as advisory rather than provenance. - OPENAI_
ROLE_ PROJECTIONS - S08_
OPENAI_ MODEL - S08_
OWNED_ CHILD_ TURN_ SCHEMA - SUPPORTED_
DISCOVERY_ QUOTA_ RPCS - The complete app-server RPC set SteadyMux may inspect.
Traits§
- AppServer
Line Transport - A bounded line transport consumed by
CodexAppServerClient.
Functions§
- canonical_
subagent_ request_ context - Returns the fixed subagent context only for canonical Codex subagent
requests: the
multi_agent_v1namespace, either MAv2 namespace (collaborationoragents), or a bare MAv2 tool name. Both the namespace tool declaration and a namespace function-call are authoritative request context. A bare canonical namespace name is also refused conservatively so it cannot bypass the pre-visible contract through a malformed provider seam. - decode_
namespace_ call_ id - Decodes a namespace-smuggled call id back to
(raw, namespace). ReturnsNonewhen the value does not carry the marker or the payload does not decode to a canonical subagent namespace, so a plain call id always round-trips as a plain call id. - encode_
namespace_ call_ id - Encodes a namespace into a call id as
<rawId>__ns__<base64url(namespace)>. Idempotent: an already-encoded id is returned unchanged. Collision-proof: a raw id that already contains the marker is refused instead of producing an ambiguous value. - is_
mav2_ tool_ name - Returns true when a bare tool name identifies a canonical Codex MAv2 tool.
- is_
subagent_ namespace - Returns true when a namespace is one of the canonical subagent namespaces
(
multi_agent_v1,collaboration, oragents). - normalize_
mav2_ provider_ tool_ call - Normalizes a provider-emitted tool call name into a
(namespace, name)pair for the Codex wire, resolving MAv2 namespace semantics for the route’s chosen namespace (PRD-001u R2.1/R2.2). Backends that cannot represent namespaces receive the flattenednamespace__nameform on the request side; this reverses that translation. A bare MAv2 tool name (for examplespawn_agent, the PRD-001u AC-04 fake emission shape) is mapped to the route’s chosen namespace so the CLI can resolve the call instead of rejecting it withunsupported call. Flattened-name and v1-container handling is delegated tonormalize_provider_tool_call. - normalize_
provider_ tool_ call - Normalizes a provider-emitted tool call name into a
(namespace, name)pair for the Codex wire. Backends that cannot represent namespaces receive the flattenednamespace__nameform on the request side; this reverses that translation. A bare namespace-container name (for examplemulti_agent_v1) is mapped to the namespace function its argument shape matches so the CLI can resolve the call instead of rejecting it withunsupported call. - normalize_
responses_ request - restore_
from_ receipt - run_
s08_ owned_ child_ turn - Runs exactly one fixed, tool-free OpenAI subscription turn through an injected app-server transport. The receipt is content-free and its correlation is the exact client message ID accepted by the protocol.
- validate_
mav2_ spawn_ agent_ arguments - Validates an MAv2
spawn_agentargument object deterministically before any visible output (PRD-001u R5.1/R5.2).fork_contextis rejected in v2;fork_turnsmust benone,all, or a positive integer;modelandreasoning_effortare optional per-child overrides.