mirror of
https://github.com/openai/codex.git
synced 2026-05-23 12:34:25 +00:00
## Why Extensions can already expose typed contributions and receive host capabilities such as `AgentSpawner`, but they do not have a typed way to send protocol events back through the host. Extensions that need to surface progress or status should not have to own persistence, ordering, transport fanout, or logging decisions themselves. ## What - Add `ExtensionEventSink`, a host-provided fire-and-forget sink for `codex_protocol::protocol::Event`. - Add `NoopExtensionEventSink` so hosts that do not expose extension event emission keep the existing empty-registry behavior. - Store the sink on `ExtensionRegistryBuilder` / `ExtensionRegistry`, with `with_event_sink(...)` and `event_sink()` accessors, and re-export the new capability from `codex-extension-api`. ## Testing - Not run locally; PR metadata/body update only.
42 lines
1.5 KiB
Rust
42 lines
1.5 KiB
Rust
mod capabilities;
|
|
mod contributors;
|
|
mod registry;
|
|
mod state;
|
|
|
|
pub use capabilities::AgentSpawnFuture;
|
|
pub use capabilities::AgentSpawner;
|
|
pub use capabilities::ExtensionEventSink;
|
|
pub use capabilities::NoopExtensionEventSink;
|
|
pub use codex_tools::FunctionCallError;
|
|
pub use codex_tools::JsonToolOutput;
|
|
pub use codex_tools::ResponsesApiTool;
|
|
pub use codex_tools::ToolCall;
|
|
pub use codex_tools::ToolExecutor;
|
|
pub use codex_tools::ToolName;
|
|
pub use codex_tools::ToolOutput;
|
|
pub use codex_tools::ToolPayload;
|
|
pub use codex_tools::ToolSpec;
|
|
pub use codex_tools::parse_tool_input_schema;
|
|
pub use contributors::ApprovalReviewContributor;
|
|
pub use contributors::ApprovalReviewFuture;
|
|
pub use contributors::ConfigContributor;
|
|
pub use contributors::ContextContributor;
|
|
pub use contributors::PromptFragment;
|
|
pub use contributors::PromptSlot;
|
|
pub use contributors::ThreadLifecycleContributor;
|
|
pub use contributors::ThreadResumeInput;
|
|
pub use contributors::ThreadStartInput;
|
|
pub use contributors::ThreadStopInput;
|
|
pub use contributors::TokenUsageContributor;
|
|
pub use contributors::ToolContributor;
|
|
pub use contributors::TurnAbortInput;
|
|
pub use contributors::TurnItemContributionFuture;
|
|
pub use contributors::TurnItemContributor;
|
|
pub use contributors::TurnLifecycleContributor;
|
|
pub use contributors::TurnStartInput;
|
|
pub use contributors::TurnStopInput;
|
|
pub use registry::ExtensionRegistry;
|
|
pub use registry::ExtensionRegistryBuilder;
|
|
pub use registry::empty_extension_registry;
|
|
pub use state::ExtensionData;
|