mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
## What changed - Scope remote installed-plugin and loaded-plugin snapshots to the active account, and discard in-flight loads when the account changes. - Serialize bundle reconciliation with direct installs and uninstalls, and use cache generations to prevent stale refreshes from overwriting newer state. - Validate the complete installed-plugin snapshot before downloading bundles or removing stale cache entries, while retaining valid installed metadata when materialization fails. ## Testing - Cover account changes during plugin loading, incomplete snapshots, refresh/reconciliation races, and reconciliation cancellation recovery. GitOrigin-RevId: 694c25577b420b93dacc6c65e3c0ecb7b8cc64c3
103 lines
4.0 KiB
Rust
103 lines
4.0 KiB
Rust
mod app_mcp_routing;
|
|
mod artifact_operation;
|
|
mod command_migration;
|
|
mod discoverable;
|
|
mod error_subtype;
|
|
mod executor_hooks;
|
|
mod git_policy;
|
|
mod http_client_selector;
|
|
pub mod installed_marketplaces;
|
|
pub mod loader;
|
|
mod manager;
|
|
pub mod manifest;
|
|
pub mod marketplace;
|
|
pub mod marketplace_add;
|
|
mod marketplace_policy;
|
|
pub mod marketplace_remove;
|
|
pub mod marketplace_upgrade;
|
|
mod npm_source;
|
|
mod plugin_bundle_archive;
|
|
mod plugin_metrics;
|
|
mod plugin_metrics_sidecar;
|
|
mod provider;
|
|
mod recommended_plugin_install;
|
|
pub mod remote;
|
|
pub mod remote_bundle;
|
|
pub mod remote_legacy;
|
|
mod remote_plugin_id_resolver;
|
|
mod script_attribution;
|
|
mod skill_snapshots;
|
|
pub mod startup_sync;
|
|
pub mod store;
|
|
#[cfg(test)]
|
|
mod test_support;
|
|
pub mod toggles;
|
|
mod tool_suggest_metadata;
|
|
|
|
pub(crate) use git_policy::PluginGitMode;
|
|
pub(crate) use git_policy::configure_trusted_git_repository;
|
|
|
|
pub const OPENAI_CURATED_MARKETPLACE_NAME: &str = "openai-curated";
|
|
pub const OPENAI_API_CURATED_MARKETPLACE_NAME: &str = "openai-api-curated";
|
|
pub const OPENAI_BUNDLED_MARKETPLACE_NAME: &str = "openai-bundled";
|
|
pub(crate) const OPENAI_BUNDLED_ALPHA_MARKETPLACE_NAME: &str = "openai-bundled-alpha";
|
|
pub(crate) const OPENAI_PRIMARY_RUNTIME_MARKETPLACE_NAME: &str = "openai-primary-runtime";
|
|
|
|
pub fn is_openai_curated_marketplace_name(marketplace_name: &str) -> bool {
|
|
marketplace_name == OPENAI_CURATED_MARKETPLACE_NAME
|
|
|| marketplace_name == OPENAI_API_CURATED_MARKETPLACE_NAME
|
|
}
|
|
|
|
pub type LoadedPlugin = codex_plugin::LoadedPlugin<codex_config::McpServerConfig>;
|
|
pub type PluginLoadOutcome = codex_plugin::PluginLoadOutcome<codex_config::McpServerConfig>;
|
|
|
|
pub use app_mcp_routing::apps_route_available;
|
|
pub use artifact_operation::ArtifactOperation;
|
|
pub use artifact_operation::recognize_artifact_operation;
|
|
pub use command_migration::CommandDescriptionMode;
|
|
pub use command_migration::CommandMigrationProfile;
|
|
pub use command_migration::RewriteProfile as CommandRewriteProfile;
|
|
pub use command_migration::count_missing_commands_with_profile;
|
|
pub use command_migration::import_commands_with_profile;
|
|
pub use command_migration::missing_command_names_with_profile;
|
|
pub use discoverable::ToolSuggestDiscoverablePlugin;
|
|
pub use discoverable::ToolSuggestPluginDiscoveryInput;
|
|
pub use executor_hooks::executor_plugin_hook_sources;
|
|
pub use loader::PluginHookLoadOutcome;
|
|
pub use manager::ConfiguredMarketplace;
|
|
pub use manager::ConfiguredMarketplaceListOutcome;
|
|
pub use manager::ConfiguredMarketplacePlugin;
|
|
pub use manager::EffectivePluginsChange;
|
|
pub use manager::PluginDetail;
|
|
pub use manager::PluginDetailsUnavailableReason;
|
|
pub use manager::PluginInstallError;
|
|
pub use manager::PluginInstallOutcome;
|
|
pub use manager::PluginInstallRequest;
|
|
pub use manager::PluginListBackgroundTaskOptions;
|
|
pub use manager::PluginReadOutcome;
|
|
pub use manager::PluginReadRequest;
|
|
pub use manager::PluginUninstallError;
|
|
pub use manager::PluginsConfigInput;
|
|
pub use manager::PluginsManager;
|
|
pub use manager::RecommendedPluginCandidatesInput;
|
|
pub use manager::RemoteInstalledPluginSyncGuard;
|
|
pub use marketplace_policy::allowed_configured_marketplace_names;
|
|
pub use marketplace_upgrade::ConfiguredMarketplaceUpgradeError as PluginMarketplaceUpgradeError;
|
|
pub use marketplace_upgrade::ConfiguredMarketplaceUpgradeOutcome as PluginMarketplaceUpgradeOutcome;
|
|
pub use plugin_metrics::PluginMeasurementDefinition;
|
|
pub use plugin_metrics::PluginMetricsOperation;
|
|
pub use plugin_metrics::ResolvedPluginMetricsOperation;
|
|
pub use plugin_metrics_sidecar::PLUGIN_METRICS_OUTPUT_ENV_VAR;
|
|
pub use plugin_metrics_sidecar::PluginMeasurementBatch;
|
|
pub use plugin_metrics_sidecar::PluginMetricsSidecar;
|
|
pub use plugin_metrics_sidecar::strip_output_env;
|
|
pub use provider::ExecutorPluginProvider;
|
|
pub use provider::ExecutorPluginProviderError;
|
|
pub use provider::ResolvedExecutorPlugin;
|
|
pub use recommended_plugin_install::hydrate_selected_recommended_plugin_install_metadata;
|
|
pub use remote::RecommendedPlugin;
|
|
pub use remote::RecommendedPluginsMode;
|
|
pub use script_attribution::PluginCommandAttribution;
|
|
pub use script_attribution::TrustedPluginRoots;
|
|
pub use script_attribution::command_script_arguments;
|