Download codex-rs/app-server/src/request_processors.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 34.7 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server/src/request_processors.rs
-
curl -L -o request_processors.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors.rs
34.7 kB
| use crate::bespoke_event_handling::apply_bespoke_event_handling; | |
| use crate::command_exec::CommandExecManager; | |
| use crate::command_exec::StartCommandExecParams; | |
| use crate::config_manager::ConfigManager; | |
| use crate::error_code::INPUT_TOO_LARGE_ERROR_CODE; | |
| use crate::error_code::invalid_params; | |
| use crate::models::supported_models; | |
| use crate::outgoing_message::ConnectionId; | |
| use crate::outgoing_message::ConnectionRequestId; | |
| use crate::outgoing_message::OutgoingMessageSender; | |
| use crate::outgoing_message::RequestContext; | |
| use crate::outgoing_message::ThreadScopedOutgoingMessageSender; | |
| use crate::skills_watcher::SkillsWatcher; | |
| use crate::thread_status::ThreadWatchManager; | |
| use crate::thread_status::resolve_thread_status; | |
| use chrono::Duration as ChronoDuration; | |
| use chrono::SecondsFormat; | |
| use codex_analytics::AnalyticsEventsClient; | |
| use codex_analytics::AnalyticsJsonRpcError; | |
| use codex_analytics::InputError; | |
| use codex_analytics::TurnSteerRequestError; | |
| use codex_app_server_protocol::Account; | |
| use codex_app_server_protocol::AccountLoginCompletedNotification; | |
| use codex_app_server_protocol::AccountTokenUsageDailyBucket; | |
| use codex_app_server_protocol::AccountTokenUsageSummary; | |
| use codex_app_server_protocol::AccountUpdatedNotification; | |
| use codex_app_server_protocol::AddCreditsNudgeCreditType; | |
| use codex_app_server_protocol::AddCreditsNudgeEmailStatus; | |
| use codex_app_server_protocol::AdditionalContextEntry; | |
| use codex_app_server_protocol::AdditionalContextKind; | |
| use codex_app_server_protocol::AppListUpdatedNotification; | |
| use codex_app_server_protocol::AppSummary; | |
| use codex_app_server_protocol::AppTemplateSummary; | |
| use codex_app_server_protocol::AppTemplateUnavailableReason; | |
| use codex_app_server_protocol::AppsInstalledParams; | |
| use codex_app_server_protocol::AppsInstalledResponse; | |
| use codex_app_server_protocol::AppsListParams; | |
| use codex_app_server_protocol::AppsListResponse; | |
| use codex_app_server_protocol::AppsReadParams; | |
| use codex_app_server_protocol::AppsReadResponse; | |
| use codex_app_server_protocol::AskForApproval; | |
| use codex_app_server_protocol::AuthMode; | |
| use codex_app_server_protocol::CancelLoginAccountParams; | |
| use codex_app_server_protocol::CancelLoginAccountResponse; | |
| use codex_app_server_protocol::CancelLoginAccountStatus; | |
| use codex_app_server_protocol::ClientInfo; | |
| use codex_app_server_protocol::ClientRequest; | |
| use codex_app_server_protocol::ClientResponsePayload; | |
| use codex_app_server_protocol::CodexErrorInfo; | |
| use codex_app_server_protocol::CollaborationModeListParams; | |
| use codex_app_server_protocol::CollaborationModeListResponse; | |
| use codex_app_server_protocol::CommandExecParams; | |
| use codex_app_server_protocol::CommandExecResizeParams; | |
| use codex_app_server_protocol::CommandExecTerminateParams; | |
| use codex_app_server_protocol::CommandExecWriteParams; | |
| use codex_app_server_protocol::ConfigWarningNotification; | |
| use codex_app_server_protocol::ConsumeAccountRateLimitResetCreditOutcome; | |
| use codex_app_server_protocol::ConsumeAccountRateLimitResetCreditParams; | |
| use codex_app_server_protocol::ConsumeAccountRateLimitResetCreditResponse; | |
| use codex_app_server_protocol::ConversationGitInfo; | |
| use codex_app_server_protocol::ConversationSummary; | |
| use codex_app_server_protocol::DeprecationNoticeNotification; | |
| use codex_app_server_protocol::DynamicToolFunctionSpec; | |
| use codex_app_server_protocol::DynamicToolNamespaceTool; | |
| use codex_app_server_protocol::DynamicToolSpec; | |
| use codex_app_server_protocol::EnvironmentAddParams; | |
| use codex_app_server_protocol::EnvironmentAddResponse; | |
| use codex_app_server_protocol::EnvironmentInfoParams; | |
| use codex_app_server_protocol::EnvironmentInfoResponse; | |
| use codex_app_server_protocol::EnvironmentShellInfo; | |
| use codex_app_server_protocol::EnvironmentStatusKind; | |
| use codex_app_server_protocol::EnvironmentStatusParams; | |
| use codex_app_server_protocol::EnvironmentStatusResponse; | |
| use codex_app_server_protocol::ExperimentalFeature as ApiExperimentalFeature; | |
| use codex_app_server_protocol::ExperimentalFeatureListParams; | |
| use codex_app_server_protocol::ExperimentalFeatureListResponse; | |
| use codex_app_server_protocol::ExperimentalFeatureStage as ApiExperimentalFeatureStage; | |
| use codex_app_server_protocol::FeedbackUploadParams; | |
| use codex_app_server_protocol::FeedbackUploadResponse; | |
| use codex_app_server_protocol::GetAccountParams; | |
| use codex_app_server_protocol::GetAccountRateLimitsResponse; | |
| use codex_app_server_protocol::GetAccountResponse; | |
| use codex_app_server_protocol::GetAccountTokenUsageParams; | |
| use codex_app_server_protocol::GetAccountTokenUsageResponse; | |
| use codex_app_server_protocol::GetAuthStatusParams; | |
| use codex_app_server_protocol::GetAuthStatusResponse; | |
| use codex_app_server_protocol::GetConversationSummaryParams; | |
| use codex_app_server_protocol::GetConversationSummaryResponse; | |
| use codex_app_server_protocol::GetWorkspaceMessagesResponse; | |
| use codex_app_server_protocol::GitDiffToRemoteParams; | |
| use codex_app_server_protocol::GitDiffToRemoteResponse; | |
| use codex_app_server_protocol::GitInfo as ApiGitInfo; | |
| use codex_app_server_protocol::HookHandlerMetadata; | |
| use codex_app_server_protocol::HookMetadata; | |
| use codex_app_server_protocol::HooksListParams; | |
| use codex_app_server_protocol::HooksListResponse; | |
| use codex_app_server_protocol::InitializeParams; | |
| use codex_app_server_protocol::InitializeResponse; | |
| use codex_app_server_protocol::InstalledApp; | |
| use codex_app_server_protocol::JSONRPCErrorError; | |
| use codex_app_server_protocol::ListMcpServerStatusParams; | |
| use codex_app_server_protocol::ListMcpServerStatusResponse; | |
| use codex_app_server_protocol::LoginAccountParams; | |
| use codex_app_server_protocol::LoginAccountResponse; | |
| use codex_app_server_protocol::LoginApiKeyParams; | |
| use codex_app_server_protocol::LoginAppBrand; | |
| use codex_app_server_protocol::LogoutAccountResponse; | |
| use codex_app_server_protocol::MarketplaceAddParams; | |
| use codex_app_server_protocol::MarketplaceAddResponse; | |
| use codex_app_server_protocol::MarketplaceInterface; | |
| use codex_app_server_protocol::MarketplaceRemoveParams; | |
| use codex_app_server_protocol::MarketplaceRemoveResponse; | |
| use codex_app_server_protocol::MarketplaceUpgradeErrorInfo; | |
| use codex_app_server_protocol::MarketplaceUpgradeParams; | |
| use codex_app_server_protocol::MarketplaceUpgradeResponse; | |
| use codex_app_server_protocol::McpResourceReadParams; | |
| use codex_app_server_protocol::McpResourceReadResponse; | |
| use codex_app_server_protocol::McpServerOauthClientRegistration; | |
| use codex_app_server_protocol::McpServerOauthLoginCompletedNotification; | |
| use codex_app_server_protocol::McpServerOauthLoginParams; | |
| use codex_app_server_protocol::McpServerOauthLoginResponse; | |
| use codex_app_server_protocol::McpServerRefreshResponse; | |
| use codex_app_server_protocol::McpServerStatus; | |
| use codex_app_server_protocol::McpServerStatusDetail; | |
| use codex_app_server_protocol::McpServerToolCallParams; | |
| use codex_app_server_protocol::McpServerToolCallResponse; | |
| use codex_app_server_protocol::MemoryResetResponse; | |
| use codex_app_server_protocol::MockExperimentalMethodParams; | |
| use codex_app_server_protocol::MockExperimentalMethodResponse; | |
| use codex_app_server_protocol::ModelListParams; | |
| use codex_app_server_protocol::ModelListResponse; | |
| use codex_app_server_protocol::PermissionProfileListParams; | |
| use codex_app_server_protocol::PermissionProfileListResponse; | |
| use codex_app_server_protocol::PermissionProfileSummary; | |
| use codex_app_server_protocol::PluginDetail; | |
| use codex_app_server_protocol::PluginInstallParams; | |
| use codex_app_server_protocol::PluginInstallResponse; | |
| use codex_app_server_protocol::PluginInstalledParams; | |
| use codex_app_server_protocol::PluginInstalledResponse; | |
| use codex_app_server_protocol::PluginInterface; | |
| use codex_app_server_protocol::PluginListMarketplaceKind; | |
| use codex_app_server_protocol::PluginListParams; | |
| use codex_app_server_protocol::PluginListResponse; | |
| use codex_app_server_protocol::PluginMarketplaceEntry; | |
| use codex_app_server_protocol::PluginReadParams; | |
| use codex_app_server_protocol::PluginReadResponse; | |
| use codex_app_server_protocol::PluginShareCheckoutParams; | |
| use codex_app_server_protocol::PluginShareCheckoutResponse; | |
| use codex_app_server_protocol::PluginShareContext; | |
| use codex_app_server_protocol::PluginShareDeleteParams; | |
| use codex_app_server_protocol::PluginShareDeleteResponse; | |
| use codex_app_server_protocol::PluginShareDiscoverability; | |
| use codex_app_server_protocol::PluginShareListItem; | |
| use codex_app_server_protocol::PluginShareListParams; | |
| use codex_app_server_protocol::PluginShareListResponse; | |
| use codex_app_server_protocol::PluginSharePrincipal; | |
| use codex_app_server_protocol::PluginSharePrincipalType; | |
| use codex_app_server_protocol::PluginShareSaveParams; | |
| use codex_app_server_protocol::PluginShareSaveResponse; | |
| use codex_app_server_protocol::PluginShareTarget; | |
| use codex_app_server_protocol::PluginShareUpdateDiscoverability; | |
| use codex_app_server_protocol::PluginShareUpdateTargetsParams; | |
| use codex_app_server_protocol::PluginShareUpdateTargetsResponse; | |
| use codex_app_server_protocol::PluginSkillReadParams; | |
| use codex_app_server_protocol::PluginSkillReadResponse; | |
| use codex_app_server_protocol::PluginSource; | |
| use codex_app_server_protocol::PluginSummary; | |
| use codex_app_server_protocol::PluginUninstallParams; | |
| use codex_app_server_protocol::PluginUninstallResponse; | |
| use codex_app_server_protocol::RateLimitResetCredit; | |
| use codex_app_server_protocol::RateLimitResetCreditStatus; | |
| use codex_app_server_protocol::RateLimitResetCreditsSummary; | |
| use codex_app_server_protocol::RateLimitResetType; | |
| use codex_app_server_protocol::RequestId; | |
| use codex_app_server_protocol::ReviewDelivery as ApiReviewDelivery; | |
| use codex_app_server_protocol::ReviewStartParams; | |
| use codex_app_server_protocol::ReviewStartResponse; | |
| use codex_app_server_protocol::ReviewTarget as ApiReviewTarget; | |
| use codex_app_server_protocol::SandboxMode; | |
| use codex_app_server_protocol::SendAddCreditsNudgeEmailParams; | |
| use codex_app_server_protocol::SendAddCreditsNudgeEmailResponse; | |
| use codex_app_server_protocol::ServerNotification; | |
| use codex_app_server_protocol::ServerRequestResolvedNotification; | |
| use codex_app_server_protocol::SkillSummary; | |
| use codex_app_server_protocol::SkillsConfigWriteParams; | |
| use codex_app_server_protocol::SkillsConfigWriteResponse; | |
| use codex_app_server_protocol::SkillsExtraRootsSetParams; | |
| use codex_app_server_protocol::SkillsExtraRootsSetResponse; | |
| use codex_app_server_protocol::SkillsListParams; | |
| use codex_app_server_protocol::SkillsListResponse; | |
| use codex_app_server_protocol::SortDirection; | |
| use codex_app_server_protocol::Thread; | |
| use codex_app_server_protocol::ThreadApproveGuardianDeniedActionParams; | |
| use codex_app_server_protocol::ThreadApproveGuardianDeniedActionResponse; | |
| use codex_app_server_protocol::ThreadArchiveParams; | |
| use codex_app_server_protocol::ThreadArchiveResponse; | |
| use codex_app_server_protocol::ThreadArchivedNotification; | |
| use codex_app_server_protocol::ThreadBackgroundTerminal; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsCleanParams; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsCleanResponse; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsListParams; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsListResponse; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsTerminateParams; | |
| use codex_app_server_protocol::ThreadBackgroundTerminalsTerminateResponse; | |
| use codex_app_server_protocol::ThreadClosedNotification; | |
| use codex_app_server_protocol::ThreadCompactStartParams; | |
| use codex_app_server_protocol::ThreadCompactStartResponse; | |
| use codex_app_server_protocol::ThreadDecrementElicitationParams; | |
| use codex_app_server_protocol::ThreadDecrementElicitationResponse; | |
| use codex_app_server_protocol::ThreadDeleteParams; | |
| use codex_app_server_protocol::ThreadDeleteResponse; | |
| use codex_app_server_protocol::ThreadDeletedNotification; | |
| use codex_app_server_protocol::ThreadForkParams; | |
| use codex_app_server_protocol::ThreadForkResponse; | |
| use codex_app_server_protocol::ThreadGoal; | |
| use codex_app_server_protocol::ThreadGoalClearParams; | |
| use codex_app_server_protocol::ThreadGoalClearResponse; | |
| use codex_app_server_protocol::ThreadGoalClearedNotification; | |
| use codex_app_server_protocol::ThreadGoalGetParams; | |
| use codex_app_server_protocol::ThreadGoalGetResponse; | |
| use codex_app_server_protocol::ThreadGoalSetParams; | |
| use codex_app_server_protocol::ThreadGoalSetResponse; | |
| use codex_app_server_protocol::ThreadGoalStatus; | |
| use codex_app_server_protocol::ThreadGoalUpdatedNotification; | |
| use codex_app_server_protocol::ThreadHistoryBuilder; | |
| use codex_app_server_protocol::ThreadHistoryMode; | |
| use codex_app_server_protocol::ThreadIncrementElicitationParams; | |
| use codex_app_server_protocol::ThreadIncrementElicitationResponse; | |
| use codex_app_server_protocol::ThreadInjectItemsParams; | |
| use codex_app_server_protocol::ThreadInjectItemsResponse; | |
| use codex_app_server_protocol::ThreadItem; | |
| use codex_app_server_protocol::ThreadItemEntry; | |
| use codex_app_server_protocol::ThreadItemsListParams; | |
| use codex_app_server_protocol::ThreadItemsListResponse; | |
| use codex_app_server_protocol::ThreadListCwdFilter; | |
| use codex_app_server_protocol::ThreadListParams; | |
| use codex_app_server_protocol::ThreadListResponse; | |
| use codex_app_server_protocol::ThreadLoadedListParams; | |
| use codex_app_server_protocol::ThreadLoadedListResponse; | |
| use codex_app_server_protocol::ThreadMemoryModeSetParams; | |
| use codex_app_server_protocol::ThreadMemoryModeSetResponse; | |
| use codex_app_server_protocol::ThreadMetadataGitInfoUpdateParams; | |
| use codex_app_server_protocol::ThreadMetadataUpdateParams; | |
| use codex_app_server_protocol::ThreadMetadataUpdateResponse; | |
| use codex_app_server_protocol::ThreadNameUpdatedNotification; | |
| use codex_app_server_protocol::ThreadProjectUpdatedNotification; | |
| use codex_app_server_protocol::ThreadReadParams; | |
| use codex_app_server_protocol::ThreadReadResponse; | |
| use codex_app_server_protocol::ThreadRealtimeAppendAudioParams; | |
| use codex_app_server_protocol::ThreadRealtimeAppendAudioResponse; | |
| use codex_app_server_protocol::ThreadRealtimeAppendSpeechParams; | |
| use codex_app_server_protocol::ThreadRealtimeAppendSpeechResponse; | |
| use codex_app_server_protocol::ThreadRealtimeAppendTextParams; | |
| use codex_app_server_protocol::ThreadRealtimeAppendTextResponse; | |
| use codex_app_server_protocol::ThreadRealtimeListVoicesResponse; | |
| use codex_app_server_protocol::ThreadRealtimeStartParams; | |
| use codex_app_server_protocol::ThreadRealtimeStartResponse; | |
| use codex_app_server_protocol::ThreadRealtimeStartTransport; | |
| use codex_app_server_protocol::ThreadRealtimeStopParams; | |
| use codex_app_server_protocol::ThreadRealtimeStopResponse; | |
| use codex_app_server_protocol::ThreadResumeInitialTurnsPageParams; | |
| use codex_app_server_protocol::ThreadResumeParams; | |
| use codex_app_server_protocol::ThreadResumeResponse; | |
| use codex_app_server_protocol::ThreadSearchOccurrence; | |
| use codex_app_server_protocol::ThreadSearchOccurrencesParams; | |
| use codex_app_server_protocol::ThreadSearchOccurrencesResponse; | |
| use codex_app_server_protocol::ThreadSearchParams; | |
| use codex_app_server_protocol::ThreadSearchResponse; | |
| use codex_app_server_protocol::ThreadSearchResult; | |
| use codex_app_server_protocol::ThreadSearchSortKey; | |
| use codex_app_server_protocol::ThreadSearchTextRange; | |
| use codex_app_server_protocol::ThreadSetNameParams; | |
| use codex_app_server_protocol::ThreadSetNameResponse; | |
| use codex_app_server_protocol::ThreadSettings; | |
| use codex_app_server_protocol::ThreadSettingsUpdateParams; | |
| use codex_app_server_protocol::ThreadSettingsUpdateResponse; | |
| use codex_app_server_protocol::ThreadShellCommandParams; | |
| use codex_app_server_protocol::ThreadShellCommandResponse; | |
| use codex_app_server_protocol::ThreadSortKey; | |
| use codex_app_server_protocol::ThreadSourceKind; | |
| use codex_app_server_protocol::ThreadStartParams; | |
| use codex_app_server_protocol::ThreadStartResponse; | |
| use codex_app_server_protocol::ThreadStartedNotification; | |
| use codex_app_server_protocol::ThreadStatus; | |
| use codex_app_server_protocol::ThreadTimelineListParams; | |
| use codex_app_server_protocol::ThreadTimelineListResponse; | |
| use codex_app_server_protocol::ThreadTurnsListParams; | |
| use codex_app_server_protocol::ThreadTurnsListResponse; | |
| use codex_app_server_protocol::ThreadUnarchiveParams; | |
| use codex_app_server_protocol::ThreadUnarchiveResponse; | |
| use codex_app_server_protocol::ThreadUnarchivedNotification; | |
| use codex_app_server_protocol::ThreadUnsubscribeParams; | |
| use codex_app_server_protocol::ThreadUnsubscribeResponse; | |
| use codex_app_server_protocol::ThreadUnsubscribeStatus; | |
| use codex_app_server_protocol::Turn; | |
| use codex_app_server_protocol::TurnEnvironmentParams; | |
| use codex_app_server_protocol::TurnError; | |
| use codex_app_server_protocol::TurnInterruptParams; | |
| use codex_app_server_protocol::TurnInterruptResponse; | |
| use codex_app_server_protocol::TurnItemsView; | |
| use codex_app_server_protocol::TurnSettingsUpdateParams; | |
| use codex_app_server_protocol::TurnSettingsUpdateResponse; | |
| use codex_app_server_protocol::TurnSettingsUpdateStatus; | |
| use codex_app_server_protocol::TurnStartParams; | |
| use codex_app_server_protocol::TurnStartResponse; | |
| use codex_app_server_protocol::TurnStatus; | |
| use codex_app_server_protocol::TurnSteerParams; | |
| use codex_app_server_protocol::TurnSteerResponse; | |
| use codex_app_server_protocol::UserInput as V2UserInput; | |
| use codex_app_server_protocol::WindowsSandboxReadiness; | |
| use codex_app_server_protocol::WindowsSandboxReadinessResponse; | |
| use codex_app_server_protocol::WindowsSandboxSetupCompletedNotification; | |
| use codex_app_server_protocol::WindowsSandboxSetupMode; | |
| use codex_app_server_protocol::WindowsSandboxSetupStartParams; | |
| use codex_app_server_protocol::WindowsSandboxSetupStartResponse; | |
| use codex_app_server_protocol::WorkspaceMessage; | |
| use codex_app_server_protocol::WorkspaceMessageType; | |
| use codex_arg0::Arg0DispatchPaths; | |
| use codex_backend_client::AddCreditsNudgeCreditType as BackendAddCreditsNudgeCreditType; | |
| use codex_backend_client::Client as BackendClient; | |
| use codex_backend_client::CodexWorkspaceMessage as BackendWorkspaceMessage; | |
| use codex_backend_client::CodexWorkspaceMessageType as BackendWorkspaceMessageType; | |
| use codex_backend_client::CodexWorkspaceMessagesResponse as BackendWorkspaceMessagesResponse; | |
| use codex_backend_client::ConsumeRateLimitResetCreditCode as BackendConsumeRateLimitResetCreditCode; | |
| use codex_backend_client::RateLimitResetCreditDetails as BackendRateLimitResetCreditDetails; | |
| use codex_backend_client::RateLimitResetCreditsDetails as BackendRateLimitResetCreditsDetails; | |
| use codex_backend_client::RequestError as BackendRequestError; | |
| use codex_backend_client::TokenUsageProfile; | |
| use codex_chatgpt::connectors; | |
| use codex_config::CloudConfigBundleLoadError; | |
| use codex_config::CloudConfigBundleLoadErrorCode; | |
| use codex_config::ConfigLayerStack; | |
| use codex_config::loader::project_trust_key; | |
| use codex_config::types::McpServerTransportConfig; | |
| use codex_connectors::AppInfo; | |
| use codex_core::CodexThread; | |
| use codex_core::CodexThreadSettingsOverrides; | |
| use codex_core::ForkSnapshot; | |
| use codex_core::McpManager; | |
| use codex_core::NewThread; | |
| use codex_core::NotSubmittedReason; | |
| use codex_core::SessionMeta; | |
| use codex_core::StartThreadOptions; | |
| use codex_core::SteerSubmission; | |
| use codex_core::ThreadConfigSnapshot; | |
| use codex_core::ThreadManager; | |
| use codex_core::TurnInput; | |
| use codex_core::TurnInputRequest; | |
| use codex_core::TurnInputSubmission; | |
| use codex_core::TurnStartOptions; | |
| use codex_core::config::Config; | |
| use codex_core::config::ConfigOverrides; | |
| use codex_core::config::NetworkProxyAuditMetadata; | |
| use codex_core::config::edit::ConfigEdit; | |
| use codex_core::config::edit::ConfigEditsBuilder; | |
| use codex_core::connectors::AccessibleConnectorsStatus; | |
| use codex_core::exec::ExecCapturePolicy; | |
| use codex_core::exec::ExecExpiration; | |
| use codex_core::exec::ExecParams; | |
| use codex_core::exec_env::create_env; | |
| use codex_core::path_utils; | |
| use codex_core::read_head_for_summary; | |
| use codex_core::sandboxing::SandboxPermissions; | |
| use codex_core::truncate_rollout_after_turn_id; | |
| use codex_core::truncate_rollout_before_turn_id; | |
| use codex_core::windows_sandbox::WindowsSandboxLevelExt; | |
| use codex_core::windows_sandbox::WindowsSandboxSetupMode as CoreWindowsSandboxSetupMode; | |
| use codex_core::windows_sandbox::WindowsSandboxSetupRequest; | |
| use codex_core::windows_sandbox::sandbox_setup_is_complete; | |
| use codex_core_plugins::PluginInstallError as CorePluginInstallError; | |
| use codex_core_plugins::PluginInstallRequest; | |
| use codex_core_plugins::PluginReadRequest; | |
| use codex_core_plugins::PluginUninstallError as CorePluginUninstallError; | |
| use codex_core_plugins::PluginsManager; | |
| use codex_core_plugins::loader::load_plugin_apps; | |
| use codex_core_plugins::manifest::PluginManifestInterface; | |
| use codex_core_plugins::marketplace::MarketplaceError; | |
| use codex_core_plugins::marketplace::MarketplacePluginSource; | |
| use codex_core_plugins::marketplace_add::MarketplaceAddError; | |
| use codex_core_plugins::marketplace_add::MarketplaceAddRequest; | |
| use codex_core_plugins::marketplace_add::add_marketplace as add_marketplace_to_codex_home; | |
| use codex_core_plugins::marketplace_remove::MarketplaceRemoveError; | |
| use codex_core_plugins::marketplace_remove::MarketplaceRemoveRequest as CoreMarketplaceRemoveRequest; | |
| use codex_core_plugins::marketplace_remove::remove_marketplace; | |
| use codex_core_plugins::remote::RemoteMarketplace; | |
| use codex_core_plugins::remote::RemoteMarketplaceSource; | |
| use codex_core_plugins::remote::RemotePluginCatalogError; | |
| use codex_core_plugins::remote::RemotePluginDetail as RemoteCatalogPluginDetail; | |
| use codex_core_plugins::remote::RemotePluginServiceConfig; | |
| use codex_core_plugins::remote::RemotePluginShareContext as RemoteCatalogPluginShareContext; | |
| use codex_core_plugins::remote::RemotePluginShareSummary as RemoteCatalogPluginShareSummary; | |
| use codex_core_plugins::remote::RemotePluginSummary as RemoteCatalogPluginSummary; | |
| use codex_exec_server::EnvironmentManager; | |
| use codex_exec_server::EnvironmentObservedStatus; | |
| use codex_exec_server::LOCAL_ENVIRONMENT_ID; | |
| use codex_exec_server::LOCAL_FS; | |
| use codex_features::FEATURES; | |
| use codex_features::Feature; | |
| use codex_features::Stage; | |
| use codex_feedback::CodexFeedback; | |
| use codex_feedback::FeedbackAttachmentPath; | |
| use codex_feedback::FeedbackUploadOptions; | |
| use codex_git_utils::git_diff_to_remote; | |
| use codex_git_utils::resolve_root_git_project_for_trust; | |
| use codex_login::AuthManager; | |
| use codex_login::CODEX_OPEN_APP_URL; | |
| use codex_login::CodexAuth; | |
| use codex_login::LoginSuccessPage; | |
| use codex_login::LoginSuccessPageBrand; | |
| use codex_login::ServerOptions as LoginServerOptions; | |
| use codex_login::ShutdownHandle; | |
| use codex_login::complete_device_code_login; | |
| use codex_login::login_with_api_key; | |
| use codex_login::login_with_bedrock_api_key; | |
| use codex_login::oauth_client_id; | |
| use codex_login::request_device_code; | |
| use codex_login::run_login_server; | |
| use codex_mcp::McpRuntimeContext; | |
| use codex_mcp::McpServerStatusSnapshot; | |
| use codex_mcp::McpSnapshotDetail; | |
| use codex_mcp::collect_mcp_server_status_snapshot_with_detail; | |
| use codex_mcp::discover_supported_scopes; | |
| use codex_mcp::read_mcp_resource as read_mcp_resource_without_thread; | |
| use codex_mcp::resolve_oauth_scopes; | |
| use codex_memories_write::clear_memory_roots_contents; | |
| use codex_model_provider::create_model_provider; | |
| use codex_models_manager::collaboration_mode_presets::builtin_collaboration_mode_presets; | |
| use codex_protocol::ThreadId; | |
| use codex_protocol::config_types::CollaborationMode; | |
| use codex_protocol::config_types::ForcedLoginMethod; | |
| use codex_protocol::config_types::Personality; | |
| use codex_protocol::config_types::ReasoningSummary; | |
| use codex_protocol::config_types::TrustLevel; | |
| use codex_protocol::config_types::WindowsSandboxLevel; | |
| use codex_protocol::error::CodexErr; | |
| use codex_protocol::error::Result as CodexResult; | |
| use codex_protocol::items::TurnItem; | |
| use codex_protocol::models::ResponseItem; | |
| use codex_protocol::openai_models::ReasoningEffort; | |
| use codex_protocol::protocol::AgentStatus; | |
| use codex_protocol::protocol::ConversationAudioParams; | |
| use codex_protocol::protocol::ConversationSpeechParams; | |
| use codex_protocol::protocol::ConversationStartParams; | |
| use codex_protocol::protocol::ConversationStartTransport; | |
| use codex_protocol::protocol::ConversationTextParams; | |
| use codex_protocol::protocol::EnvironmentConfigState; | |
| use codex_protocol::protocol::EventMsg; | |
| use codex_protocol::protocol::GitInfo as CoreGitInfo; | |
| use codex_protocol::protocol::McpAuthStatus as CoreMcpAuthStatus; | |
| use codex_protocol::protocol::Op; | |
| use codex_protocol::protocol::RealtimeVoicesList; | |
| use codex_protocol::protocol::ReviewDelivery as CoreReviewDelivery; | |
| use codex_protocol::protocol::ReviewRequest; | |
| use codex_protocol::protocol::ReviewTarget as CoreReviewTarget; | |
| use codex_protocol::protocol::SessionConfiguredEvent; | |
| use codex_protocol::protocol::SessionMetaLine; | |
| use codex_protocol::protocol::TurnEnvironmentSelection; | |
| use codex_protocol::protocol::TurnEnvironmentSelections; | |
| use codex_protocol::protocol::W3cTraceContext; | |
| use codex_protocol::protocol::strip_user_message_prefix; | |
| use codex_protocol::user_input::MAX_USER_INPUT_TEXT_CHARS; | |
| use codex_protocol::user_input::UserInput as CoreInputItem; | |
| use codex_rmcp_client::McpOAuthClientRegistration; | |
| use codex_rmcp_client::StreamableHttpRedirectMode; | |
| use codex_rmcp_client::perform_oauth_login_return_url; | |
| use codex_rollout::InitialHistory; | |
| use codex_rollout::ResumedHistory; | |
| use codex_rollout::RolloutItem; | |
| use codex_rollout::is_persisted_rollout_item; | |
| use codex_rollout::state_db::StateDbHandle; | |
| use codex_rollout::state_db::reconcile_rollout; | |
| use codex_state::ThreadMetadata; | |
| use codex_state::log_db::LogDbLayer; | |
| use codex_thread_store::ArchiveThreadParams as StoreArchiveThreadParams; | |
| use codex_thread_store::ArchiveThreadsParams as StoreArchiveThreadsParams; | |
| use codex_thread_store::ClearableField as StoreClearableField; | |
| use codex_thread_store::DeleteThreadsParams as StoreDeleteThreadsParams; | |
| use codex_thread_store::GitInfoPatch as StoreGitInfoPatch; | |
| use codex_thread_store::ItemSortKey as StoreItemSortKey; | |
| use codex_thread_store::ListItemsParams as StoreListItemsParams; | |
| use codex_thread_store::ListThreadsParams as StoreListThreadsParams; | |
| use codex_thread_store::ListTimelineParams as StoreListTimelineParams; | |
| use codex_thread_store::ListTurnsParams as StoreListTurnsParams; | |
| use codex_thread_store::LoadThreadHistoryParams as StoreLoadThreadHistoryParams; | |
| use codex_thread_store::LocalThreadStore; | |
| use codex_thread_store::ReadThreadByRolloutPathParams as StoreReadThreadByRolloutPathParams; | |
| use codex_thread_store::ReadThreadParams as StoreReadThreadParams; | |
| use codex_thread_store::SearchThreadOccurrencesParams as StoreSearchThreadOccurrencesParams; | |
| use codex_thread_store::SearchThreadsParams as StoreSearchThreadsParams; | |
| use codex_thread_store::SortDirection as StoreSortDirection; | |
| use codex_thread_store::StoredThread; | |
| use codex_thread_store::StoredTurn; | |
| use codex_thread_store::StoredTurnItemsView; | |
| use codex_thread_store::StoredTurnStatus; | |
| use codex_thread_store::ThreadMetadataPatch as StoreThreadMetadataPatch; | |
| use codex_thread_store::ThreadRelationFilter as StoreThreadRelationFilter; | |
| use codex_thread_store::ThreadSortKey as StoreThreadSortKey; | |
| use codex_thread_store::ThreadStore; | |
| use codex_thread_store::ThreadStoreError; | |
| use codex_utils_absolute_path::AbsolutePathBuf; | |
| use codex_utils_pty::DEFAULT_OUTPUT_BYTES_CAP; | |
| use std::collections::BTreeMap; | |
| use std::collections::HashMap; | |
| use std::collections::HashSet; | |
| use std::io::Error as IoError; | |
| use std::path::Path; | |
| use std::path::PathBuf; | |
| use std::result::Result; | |
| use std::sync::Arc; | |
| use std::time::Duration; | |
| use std::time::Instant; | |
| use tokio::sync::Mutex; | |
| use tokio::sync::Semaphore; | |
| use tokio::sync::SemaphorePermit; | |
| use tokio::sync::broadcast; | |
| use tokio::sync::oneshot; | |
| use tokio::sync::watch; | |
| use tokio_util::sync::CancellationToken; | |
| use tokio_util::sync::DropGuard; | |
| use tokio_util::task::TaskTracker; | |
| use toml::Value as TomlValue; | |
| use tracing::Instrument; | |
| use tracing::error; | |
| use tracing::info; | |
| use tracing::warn; | |
| use uuid::Uuid; | |
| use codex_app_server_protocol::ServerRequest; | |
| mod account_processor; | |
| mod apps_processor; | |
| mod bedrock_auth; | |
| mod catalog_processor; | |
| mod command_exec_processor; | |
| mod config_processor; | |
| mod diagnostics; | |
| mod environment_processor; | |
| mod feedback_doctor_report; | |
| mod feedback_processor; | |
| mod feedback_thread_index; | |
| mod fs_processor; | |
| mod git_processor; | |
| mod initialize_processor; | |
| mod marketplace_processor; | |
| mod mcp_event_stream; | |
| mod mcp_processor; | |
| mod memory_status; | |
| mod persisted_resume_settings; | |
| mod plugins; | |
| mod process_exec_processor; | |
| mod projects; | |
| mod remote_control_processor; | |
| mod search; | |
| mod thread_attachments; | |
| mod thread_enrichment; | |
| mod thread_fork_goal; | |
| mod thread_input; | |
| mod thread_processor; | |
| mod thread_queue_processor; | |
| mod thread_sections; | |
| mod token_usage_replay; | |
| mod turn_processor; | |
| mod windows_sandbox_processor; | |
| pub(crate) use account_processor::AccountRequestProcessor; | |
| pub(crate) use apps_processor::AppsRequestProcessor; | |
| pub(crate) use catalog_processor::CatalogRequestProcessor; | |
| pub(crate) use command_exec_processor::CommandExecRequestProcessor; | |
| pub(crate) use config_processor::ConfigRequestProcessor; | |
| pub(crate) use diagnostics::read_server_diagnostics; | |
| pub(crate) use environment_processor::EnvironmentRequestProcessor; | |
| pub(crate) use feedback_processor::FeedbackRequestProcessor; | |
| pub(crate) use fs_processor::FsRequestProcessor; | |
| pub(crate) use git_processor::GitRequestProcessor; | |
| pub(crate) use initialize_processor::InitializeRequestProcessor; | |
| pub(crate) use marketplace_processor::MarketplaceRequestProcessor; | |
| pub(crate) use mcp_event_stream::McpEventStreamReady; | |
| pub(crate) use mcp_event_stream::McpEventStreams; | |
| pub(crate) use mcp_processor::McpRequestProcessor; | |
| pub(crate) use plugins::PluginRequestProcessor; | |
| pub(crate) use process_exec_processor::ProcessExecRequestProcessor; | |
| pub(crate) use projects::ProjectRequestProcessor; | |
| pub(crate) use remote_control_processor::RemoteControlRequestProcessor; | |
| pub(crate) use search::SearchRequestProcessor; | |
| pub(crate) use thread_goal_processor::ThreadGoalRequestProcessor; | |
| pub(crate) use thread_processor::ThreadRequestProcessor; | |
| pub(crate) use thread_processor::ThreadResumeTarget; | |
| pub(crate) use thread_queue_processor::ThreadQueueRequestProcessor; | |
| pub(crate) use turn_processor::TurnRequestProcessor; | |
| pub(crate) use windows_sandbox_processor::WindowsSandboxRequestProcessor; | |
| use crate::error_code::internal_error; | |
| use crate::error_code::invalid_request; | |
| use crate::filters::compute_source_filters; | |
| use crate::filters::source_kind_matches; | |
| use crate::thread_state::ConnectionCapabilities; | |
| use crate::thread_state::ThreadListenerCommand; | |
| use crate::thread_state::ThreadState; | |
| use crate::thread_state::ThreadStateManager; | |
| use token_usage_replay::restored_token_usage_turn_id; | |
| use token_usage_replay::send_thread_token_usage_update_to_connection; | |
| pub(crate) fn apply_live_thread_settings( | |
| thread: &mut Thread, | |
| config_snapshot: &ThreadConfigSnapshot, | |
| ) { | |
| thread.model = Some(config_snapshot.model.clone()); | |
| thread.reasoning_effort = config_snapshot.reasoning_effort.clone(); | |
| thread.environments = Some( | |
| config_snapshot | |
| .environment_selections() | |
| .iter() | |
| .map(Into::into) | |
| .collect(), | |
| ); | |
| } | |
| fn resolve_request_cwd(cwd: Option<PathBuf>) -> Result<Option<AbsolutePathBuf>, JSONRPCErrorError> { | |
| cwd.map(|cwd| { | |
| AbsolutePathBuf::relative_to_current_dir(path_utils::normalize_for_native_workdir(cwd)) | |
| .map_err(|err| invalid_request(format!("invalid cwd: {err}"))) | |
| }) | |
| .transpose() | |
| } | |
| fn resolve_turn_environment_selections( | |
| thread_manager: &ThreadManager, | |
| environments: Option<Vec<TurnEnvironmentParams>>, | |
| ) -> Result<Option<Vec<TurnEnvironmentSelection>>, JSONRPCErrorError> { | |
| let Some(environments) = environments else { | |
| return Ok(None); | |
| }; | |
| let mut selections = Vec::with_capacity(environments.len()); | |
| for environment in environments { | |
| let environment_id = environment.environment_id; | |
| let cwd = environment | |
| .cwd | |
| .to_inferred_path_uri() | |
| .ok_or_else(|| { | |
| invalid_request(format!( | |
| "invalid cwd for environment `{environment_id}`: path `{}` does not use absolute POSIX or Windows path syntax", | |
| environment.cwd | |
| )) | |
| })?; | |
| let workspace_roots = environment | |
| .runtime_workspace_roots | |
| .map(|roots| { | |
| let mut resolved_roots = Vec::new(); | |
| for root in roots { | |
| let root = root.to_inferred_path_uri().ok_or_else(|| { | |
| invalid_request(format!( | |
| "invalid runtime workspace root for environment `{environment_id}`: path `{root}` does not use absolute POSIX or Windows path syntax" | |
| )) | |
| })?; | |
| if !resolved_roots.contains(&root) { | |
| resolved_roots.push(root); | |
| } | |
| } | |
| Ok::<_, JSONRPCErrorError>(resolved_roots) | |
| }) | |
| .transpose()? | |
| .unwrap_or_else(|| vec![cwd.clone()]); | |
| selections.push(TurnEnvironmentSelection { | |
| environment_id, | |
| cwd, | |
| workspace_roots, | |
| config: EnvironmentConfigState::FromThread, | |
| }); | |
| } | |
| thread_manager | |
| .validate_environment_selections(&selections) | |
| .map_err(environment_selection_error)?; | |
| Ok(Some(selections)) | |
| } | |
| fn resolve_runtime_workspace_roots(workspace_roots: Vec<AbsolutePathBuf>) -> Vec<AbsolutePathBuf> { | |
| let mut resolved_roots = Vec::new(); | |
| for root in workspace_roots { | |
| if !resolved_roots.iter().any(|existing| existing == &root) { | |
| resolved_roots.push(root); | |
| } | |
| } | |
| resolved_roots | |
| } | |
| mod config_errors; | |
| mod request_errors; | |
| mod thread_delete; | |
| mod thread_goal_processor; | |
| mod thread_lifecycle; | |
| mod thread_resume_redaction; | |
| mod thread_summary; | |
| use self::config_errors::*; | |
| use self::request_errors::*; | |
| use self::thread_goal_processor::api_thread_goal_from_state; | |
| use self::thread_lifecycle::*; | |
| use self::thread_resume_redaction::*; | |
| use self::thread_summary::*; | |
| pub(crate) use self::thread_lifecycle::populate_thread_turns_from_history; | |
| pub(crate) use self::thread_processor::thread_from_stored_thread; | |
| pub(crate) use self::thread_summary::read_summary_from_rollout; | |
| pub(crate) use self::thread_summary::summary_to_thread; | |
| pub(crate) use self::thread_summary::thread_settings_from_config_snapshot; | |
| pub(crate) fn build_legacy_api_turns_from_rollout_items(items: &[RolloutItem]) -> Vec<Turn> { | |
| let mut builder = ThreadHistoryBuilder::new(); | |
| for item in items { | |
| if is_persisted_rollout_item(item, codex_protocol::protocol::ThreadHistoryMode::Legacy) { | |
| builder.handle_rollout_item(item); | |
| } | |
| } | |
| builder.finish() | |
| } | |