Skip to content

Add Codex provider#6

Open
furrypinkrabbit wants to merge 2 commits into
ozongzi:mainfrom
furrypinkrabbit:main
Open

Add Codex provider#6
furrypinkrabbit wants to merge 2 commits into
ozongzi:mainfrom
furrypinkrabbit:main

Conversation

@furrypinkrabbit
Copy link
Copy Markdown

Summary

Add a new codex provider backed by the local Codex CLI app-server protocol.

This lets agentix use Codex as an LLM provider while keeping agentix in control of tool execution, history reconstruction, and provider-state round-trip.

Changes

  • Add Provider::Codex and Request::codex()
  • Add codex feature and include it in cli
  • Drive codex app-server --listen stdio:// for streaming output
  • Map agentix tools to Codex dynamicTools
  • Interrupt Codex turns on tool calls, execute tools locally, then resume via thread/inject_items
  • Round-trip opaque OpenAI Responses items through provider_data["openai_responses_items"]
  • Add Request::tool_choice(...) builder
  • Add aaagw -i codex
  • Add examples/13_codex_agent_multiturn.rs
  • Bump crate version to 0.26.0
  • Update README and CHANGELOG

Compatibility Notes

Codex app-server does not expose exact equivalents for every OpenAI/agentix option, so unsupported mappings now fail fast instead of silently degrading.

Unsupported for Provider::Codex:

  • temperature
  • max_tokens
  • extra_body
  • JSON object response mode
  • JSON Schema with strict=false
  • forced tool choice: required or named tool
  • document/PDF input
  • non-text tool results

Supported:

  • streaming text
  • image input
  • dynamic function tools
  • tool_choice=none
  • ReasoningEffort
  • strict JSON Schema via outputSchema
  • opaque encrypted/provider state round-trip

Verification

  • cargo check --features cli
  • cargo test --lib --features codex
  • cargo run --example 13_codex_agent_multiturn --features codex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant