Source code for acodex.types.codex_options

from __future__ import annotations

from typing import TYPE_CHECKING, TypeAlias, TypedDict

if TYPE_CHECKING:
    from typing_extensions import NotRequired

# fmt: off
CodexConfigValue: TypeAlias = str | int | float | bool | list["CodexConfigValue"] | dict[str, "CodexConfigValue"]
CodexConfigObject: TypeAlias = dict[str, CodexConfigValue]
# fmt: on


[docs] class CodexOptions(TypedDict): """Options used to construct a Codex client.""" codex_path_override: NotRequired[str] """Optional path to the Codex executable.""" base_url: NotRequired[str] """Optional base URL used by Codex API calls.""" api_key: NotRequired[str] """Optional API key used by Codex API calls.""" config: NotRequired[CodexConfigObject] """Additional ``--config key=value`` overrides passed to Codex CLI. Provide a JSON-like object and the SDK will flatten dotted paths and serialize values as TOML literals for CLI compatibility. """ env: NotRequired[dict[str, str]] """Environment variables passed to the Codex CLI process. When provided, the SDK does not inherit from the current process environment. """