Skip to content

ccproxy.plugins.codex.models

ccproxy.plugins.codex.models

Codex plugin local CLI health models and detection models.

CodexHeaders

Bases: BaseModel

Pydantic model for Codex CLI headers extraction with field aliases.

to_headers_dict

to_headers_dict()

Convert to headers dictionary for HTTP forwarding with proper case.

Source code in ccproxy/plugins/codex/models.py
def to_headers_dict(self) -> dict[str, str]:
    """Convert to headers dictionary for HTTP forwarding with proper case."""
    headers = {}

    # Map field names to proper HTTP header names
    header_mapping = {
        "session_id": "session_id",
        "originator": "originator",
        "openai_beta": "openai-beta",
        "version": "version",
        "chatgpt_account_id": "chatgpt-account-id",
    }

    for field_name, header_name in header_mapping.items():
        value = getattr(self, field_name, None)
        if value is not None and value != "":
            headers[header_name] = value

    return headers

CodexInstructionsData

Bases: BaseModel

Extracted Codex instructions information.

CodexCacheData

Bases: BaseModel

Cached Codex CLI detection data with version tracking.

CodexMessage

Bases: BaseModel

Message format for Codex requests.

CodexRequest

Bases: BaseModel

OpenAI Codex completion request model.

CodexResponse

Bases: BaseModel

OpenAI Codex completion response model.

CodexAuthData

Bases: TypedDict

Authentication data for Codex/OpenAI provider.

Attributes:

Name Type Description
access_token str | None

Bearer token for OpenAI API authentication

chatgpt_account_id str | None

Account ID for ChatGPT session-based requests