mirror of
https://github.com/openai/codex.git
synced 2026-05-03 19:06:58 +00:00
## Why Follow-up to #20291. The v2 item-event-to-notification translation had been embedded in `app-server/src/bespoke_event_handling.rs`, which made it hard to reuse anywhere else. This PR moves that stateless mapping into shared protocol code so other entry points can produce the same `ServerNotification` payloads without copying app-server logic. That also lets `thread-manager-sample` demonstrate the same notification surface that the app server exposes, instead of only printing the final assistant message. ## What changed - move `item_event_to_server_notification` into `codex-app-server-protocol::protocol::event_mapping` - keep the mapper tests next to the shared implementation in `codex-app-server-protocol` - re-export the mapper from `codex-core-api` so lightweight consumers can use it without reaching into `app-server-protocol` directly - simplify `app-server/src/bespoke_event_handling.rs` so it delegates the stateless event-to-notification projection to the shared helper - update `thread-manager-sample` to: - print mapped notifications as newline-delimited JSON - use the shared mapper through `codex-core-api` - enable the default feature set so the sample exposes the normal tool surface - use a `read_only` permission profile so shell commands can run in the sample without widening permissions ## Testing - `cargo test -p codex-app-server-protocol` - `cargo test -p codex-core-api` - `cargo test -p codex-app-server bespoke_event_handling::tests` - `cargo test -p codex-thread-manager-sample` - `cargo run -p codex-thread-manager-sample -- "briefly explore the repo with pwd and ls, then summarize it"`
51 lines
1.9 KiB
Rust
51 lines
1.9 KiB
Rust
mod experimental_api;
|
|
mod export;
|
|
mod jsonrpc_lite;
|
|
mod protocol;
|
|
mod schema_fixtures;
|
|
|
|
pub use experimental_api::*;
|
|
pub use export::GenerateTsOptions;
|
|
pub use export::generate_internal_json_schema;
|
|
pub use export::generate_json;
|
|
pub use export::generate_json_with_experimental;
|
|
pub use export::generate_ts;
|
|
pub use export::generate_ts_with_options;
|
|
pub use export::generate_types;
|
|
pub use jsonrpc_lite::*;
|
|
pub use protocol::common::*;
|
|
pub use protocol::event_mapping::*;
|
|
pub use protocol::item_builders::*;
|
|
pub use protocol::thread_history::*;
|
|
pub use protocol::v1::ApplyPatchApprovalParams;
|
|
pub use protocol::v1::ApplyPatchApprovalResponse;
|
|
pub use protocol::v1::ClientInfo;
|
|
pub use protocol::v1::ConversationGitInfo;
|
|
pub use protocol::v1::ConversationSummary;
|
|
pub use protocol::v1::ExecCommandApprovalParams;
|
|
pub use protocol::v1::ExecCommandApprovalResponse;
|
|
pub use protocol::v1::GetAuthStatusParams;
|
|
pub use protocol::v1::GetAuthStatusResponse;
|
|
pub use protocol::v1::GetConversationSummaryParams;
|
|
pub use protocol::v1::GetConversationSummaryResponse;
|
|
pub use protocol::v1::GitDiffToRemoteParams;
|
|
pub use protocol::v1::GitDiffToRemoteResponse;
|
|
pub use protocol::v1::GitSha;
|
|
pub use protocol::v1::InitializeCapabilities;
|
|
pub use protocol::v1::InitializeParams;
|
|
pub use protocol::v1::InitializeResponse;
|
|
pub use protocol::v1::InterruptConversationResponse;
|
|
pub use protocol::v1::LoginApiKeyParams;
|
|
pub use protocol::v1::Profile;
|
|
pub use protocol::v1::SandboxSettings;
|
|
pub use protocol::v1::Tools;
|
|
pub use protocol::v1::UserSavedConfig;
|
|
pub use protocol::v2::*;
|
|
pub use schema_fixtures::SchemaFixtureOptions;
|
|
#[doc(hidden)]
|
|
pub use schema_fixtures::generate_typescript_schema_fixture_subtree_for_tests;
|
|
pub use schema_fixtures::read_schema_fixture_subtree;
|
|
pub use schema_fixtures::read_schema_fixture_tree;
|
|
pub use schema_fixtures::write_schema_fixtures;
|
|
pub use schema_fixtures::write_schema_fixtures_with_options;
|