mirror of
https://github.com/openai/codex.git
synced 2026-11-01 19:33:35 +00:00
## Why Host-owned tools need to wait for agent messages or steering input with the same behavior as native `wait_agent`, including when native multi-agent support is disabled. ## What changed - Add `CodexThread::wait_for_input_activity` and export `InputWaitOutcome` through core and core-api, sharing the wait implementation with `wait_agent`. - Distinguish notifying agent messages from steering input, with steering taking precedence when both are pending. Passive response items do not wake waits. - Observe input without consuming it. Waits remain active after the original turn ends, support independent observers, and can be cancelled by dropping the future. ## Testing Add coverage for pending and incoming input, agent-message classification, cancellation, independent observers, timeouts, and input arriving after the original turn completes or is interrupted. GitOrigin-RevId: d0c0bd776c3b6fd4ba3021603d87eaaf1d93976f
154 lines
7.2 KiB
Rust
154 lines
7.2 KiB
Rust
//! Public facade for thread management APIs built on `codex-core`.
|
|
|
|
#![deny(private_bounds, private_interfaces, unreachable_pub)]
|
|
|
|
pub use codex_analytics::AnalyticsEventsClient;
|
|
pub use codex_app_server_protocol::ServerNotification;
|
|
pub use codex_app_server_protocol::item_event_to_server_notification;
|
|
pub use codex_arg0::Arg0DispatchPaths;
|
|
pub use codex_arg0::arg0_dispatch_or_else;
|
|
pub use codex_config::ConfigLayerStack;
|
|
pub use codex_config::ConfigLoadOptions;
|
|
pub use codex_config::ConfigRequirements;
|
|
pub use codex_config::ConfigRequirementsToml;
|
|
pub use codex_config::config_toml::ProjectConfig;
|
|
pub use codex_config::config_toml::RealtimeAudioConfig;
|
|
pub use codex_config::config_toml::RealtimeConfig;
|
|
pub use codex_config::types::AuthCredentialsStoreMode;
|
|
pub use codex_config::types::AuthKeyringBackendKind;
|
|
pub use codex_config::types::History;
|
|
pub use codex_config::types::MemoriesConfig;
|
|
pub use codex_config::types::ModelAvailabilityNuxConfig;
|
|
pub use codex_config::types::Notice;
|
|
pub use codex_config::types::OAuthCredentialsStoreMode;
|
|
pub use codex_config::types::OtelConfig;
|
|
pub use codex_config::types::SessionPickerViewMode;
|
|
pub use codex_config::types::ToolSuggestConfig;
|
|
pub use codex_config::types::TuiKeymap;
|
|
pub use codex_config::types::TuiNotificationSettings;
|
|
pub use codex_config::types::TuiPetAnchor;
|
|
pub use codex_config::types::UriBasedFileOpener;
|
|
pub use codex_core::AgentTreeShutdown;
|
|
pub use codex_core::AgentTreeShutdownFailure;
|
|
pub use codex_core::AgentTreeShutdownFailureReason;
|
|
pub use codex_core::AgentTreeShutdownReport;
|
|
pub use codex_core::CodexAppsToolsCache;
|
|
pub use codex_core::CodexThread;
|
|
pub use codex_core::CodexThreadSettingsOverrides;
|
|
pub use codex_core::EnvironmentConfig;
|
|
pub use codex_core::EnvironmentMcpPolicy;
|
|
pub use codex_core::EnvironmentNetworkPolicy;
|
|
pub use codex_core::ForkSnapshot;
|
|
pub use codex_core::InputWaitOutcome;
|
|
pub use codex_core::LoadedAgentsMd;
|
|
pub use codex_core::McpManager;
|
|
pub use codex_core::NetworkDomainPermission;
|
|
pub use codex_core::NetworkDomainPermissionEntry;
|
|
pub use codex_core::NetworkDomainPermissions;
|
|
pub use codex_core::NetworkUnixSocketPermission;
|
|
pub use codex_core::NetworkUnixSocketPermissions;
|
|
pub use codex_core::NewThread;
|
|
pub use codex_core::NotSubmittedReason;
|
|
pub use codex_core::PromptCacheKey;
|
|
pub use codex_core::RecoverTurnRequest;
|
|
pub use codex_core::StartIfIdleSubmission;
|
|
pub use codex_core::StartThreadOptions;
|
|
pub use codex_core::StateDbHandle;
|
|
pub use codex_core::SteerSubmission;
|
|
pub use codex_core::SuspendTurnOutcome;
|
|
pub use codex_core::ThreadManager;
|
|
pub use codex_core::ThreadShutdownReport;
|
|
pub use codex_core::TurnInput;
|
|
pub use codex_core::TurnInputRequest;
|
|
pub use codex_core::TurnInputSubmission;
|
|
pub use codex_core::TurnStartOptions;
|
|
pub use codex_core::WaitForEnvironmentToolConfig;
|
|
pub use codex_core::WithTurnExtensionData;
|
|
pub use codex_core::build_models_manager;
|
|
pub use codex_core::config::Config;
|
|
pub use codex_core::config::Constrained;
|
|
pub use codex_core::config::ExtraConfig;
|
|
pub use codex_core::config::GhostSnapshotConfig;
|
|
pub use codex_core::config::MultiAgentV2Config;
|
|
pub use codex_core::config::NetworkProxySpec;
|
|
pub use codex_core::config::Permissions;
|
|
pub use codex_core::config::TerminalResizeReflowConfig;
|
|
pub use codex_core::config::ThreadStoreConfig;
|
|
pub use codex_core::config::bootstrap_auth_config;
|
|
pub use codex_core::config::find_codex_home;
|
|
pub use codex_core::config::load_config_toml_with_layer_stack;
|
|
pub use codex_core::config::resolve_bootstrap_respect_system_proxy;
|
|
pub use codex_core::init_state_db;
|
|
pub use codex_core::local_agent_graph_store_from_state_db;
|
|
pub use codex_core::passthrough_image_store;
|
|
pub use codex_core::resolve_installation_id;
|
|
pub use codex_core::thread_store_from_config;
|
|
pub use codex_exec_server::EnvironmentManager;
|
|
pub use codex_exec_server::EnvironmentRegistryConnectRequest;
|
|
pub use codex_exec_server::EnvironmentRegistryConnectResponse;
|
|
pub use codex_exec_server::EnvironmentRegistryHarnessKeyValidationRequest;
|
|
pub use codex_exec_server::EnvironmentRegistryHarnessKeyValidationResponse;
|
|
pub use codex_exec_server::EnvironmentRegistryRegistrationRequest;
|
|
pub use codex_exec_server::EnvironmentRegistryRegistrationResponse;
|
|
pub use codex_exec_server::ExecServerError;
|
|
pub use codex_exec_server::ExecServerRuntimeOptions;
|
|
pub use codex_exec_server::NoiseChannelIdentity;
|
|
pub use codex_exec_server::NoiseChannelPublicKey;
|
|
pub use codex_exec_server::NoiseRendezvousConnectBundle;
|
|
pub use codex_exec_server::NoiseRendezvousConnectProvider;
|
|
pub use codex_extension_api::ExtensionRegistryBuilder;
|
|
pub use codex_extension_api::Instructions;
|
|
pub use codex_extension_api::LoadInstructionsFuture;
|
|
pub use codex_extension_api::LoadedUserInstructions;
|
|
pub use codex_extension_api::ThreadInstructionsProvider;
|
|
pub use codex_extension_api::UserInstructionsProvider;
|
|
pub use codex_extension_api::empty_extension_registry;
|
|
pub use codex_features::Feature;
|
|
pub use codex_features::Features;
|
|
pub use codex_history::InitialHistory;
|
|
pub use codex_history::latest_dynamic_tools;
|
|
pub use codex_home::CodexHomeUserInstructionsProvider;
|
|
pub use codex_image_generation_extension::install as install_image_generation_extension;
|
|
pub use codex_login::AuthHeaders;
|
|
pub use codex_login::AuthManager;
|
|
pub use codex_login::CodexAuth;
|
|
pub use codex_login::ExternalAuth;
|
|
pub use codex_login::ExternalAuthFuture;
|
|
pub use codex_login::ExternalAuthRefreshContext;
|
|
pub use codex_login::ExternalAuthRefreshReason;
|
|
pub use codex_login::default_client::set_default_originator;
|
|
pub use codex_model_provider_info::OPENAI_PROVIDER_ID;
|
|
pub use codex_model_provider_info::built_in_model_providers;
|
|
pub use codex_models_manager::manager::RefreshStrategy;
|
|
pub use codex_models_manager::manager::SharedModelsManager;
|
|
pub use codex_protocol::ThreadId;
|
|
pub use codex_protocol::capabilities::CapabilityRootLocation;
|
|
pub use codex_protocol::capabilities::SelectedCapabilityRoot;
|
|
pub use codex_protocol::config_types::AltScreenMode;
|
|
pub use codex_protocol::config_types::ApprovalsReviewer;
|
|
pub use codex_protocol::config_types::AutoCompactTokenLimitScope;
|
|
pub use codex_protocol::config_types::CollaborationModeMask;
|
|
pub use codex_protocol::config_types::ShellEnvironmentPolicy;
|
|
pub use codex_protocol::config_types::WebSearchMode;
|
|
pub use codex_protocol::dynamic_tools::DynamicToolFunctionSpec;
|
|
pub use codex_protocol::dynamic_tools::DynamicToolNamespaceSpec;
|
|
pub use codex_protocol::dynamic_tools::DynamicToolNamespaceTool;
|
|
pub use codex_protocol::dynamic_tools::DynamicToolSpec;
|
|
pub use codex_protocol::error::Result as CodexResult;
|
|
pub use codex_protocol::models::PermissionProfile;
|
|
pub use codex_protocol::models::PermissionProfileSnapshot;
|
|
pub use codex_protocol::openai_models::ModelPreset;
|
|
pub use codex_protocol::protocol::AskForApproval;
|
|
pub use codex_protocol::protocol::EnvironmentConfigState;
|
|
pub use codex_protocol::protocol::EventMsg;
|
|
pub use codex_protocol::protocol::Op;
|
|
pub use codex_protocol::protocol::SessionConfiguredEvent;
|
|
pub use codex_protocol::protocol::SessionSource;
|
|
pub use codex_protocol::protocol::ThreadSettingsOverrides;
|
|
pub use codex_protocol::protocol::TurnEnvironmentRequest;
|
|
pub use codex_protocol::protocol::TurnEnvironmentSelection;
|
|
pub use codex_protocol::protocol::W3cTraceContext;
|
|
pub use codex_protocol::user_input::UserInput;
|
|
pub use codex_state::SqliteConfig;
|
|
pub use codex_utils_absolute_path::AbsolutePathBuf;
|