mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
## Why Direct executor skill discovery used unrestricted filesystem access, bypassing the turn's permission context. Cached catalogs also needed to account for changes in filesystem access within a turn. ## What changed - Bind selected capability roots to callback-scoped filesystem access through `AccessedSelectedCapabilityRoot`. - Pass accessors built with the turn's granted permissions into skill preparation and discovery, removing the executor skill provider's environment lookup and unrestricted accessor. - Include filesystem access keys in the direct discovery cache so permission changes trigger rediscovery. ## Testing Extend tests to verify that restricted discovery returns no skills when sandbox access is unavailable, restoring access restores discovery, and changing or restoring access invalidates the catalog cache. GitOrigin-RevId: 0f7aa7646f65923f65f0cfc0b387d94bd7f2db05
138 lines
5.4 KiB
Rust
138 lines
5.4 KiB
Rust
mod capabilities;
|
|
mod catalog_refresh;
|
|
mod contributors;
|
|
mod message_lifecycle;
|
|
mod registry;
|
|
mod session_isolation;
|
|
mod state;
|
|
mod tool_policy;
|
|
mod turn_admission;
|
|
mod user_instructions;
|
|
|
|
pub use message_lifecycle::MessageLifecycleContributor;
|
|
pub use message_lifecycle::MessageLifecycleInput;
|
|
pub use session_isolation::IsolatedSessionExtensions;
|
|
pub use session_isolation::SessionIsolation;
|
|
pub use tool_policy::ToolPolicy;
|
|
|
|
pub use capabilities::ConversationHistorySnapshot;
|
|
pub use capabilities::ExtensionEventSink;
|
|
pub use capabilities::ExtensionMetrics;
|
|
pub use capabilities::ExtensionWarning;
|
|
pub use capabilities::NoopExtensionEventSink;
|
|
pub use capabilities::NoopResponseItemInjector;
|
|
pub use capabilities::ResponseItemInjectionFuture;
|
|
pub use capabilities::ResponseItemInjector;
|
|
pub use capabilities::record_catalog_entries;
|
|
pub use catalog_refresh::CatalogRefreshBackoff;
|
|
pub use codex_context_fragments::ContextualUserFragment;
|
|
pub use codex_mcp::McpProtocolMode;
|
|
pub use codex_mcp::ToolInfo as McpToolInfo;
|
|
pub use codex_protocol::models::ContentItem;
|
|
pub use codex_protocol::models::ContentItemKind;
|
|
pub use codex_protocol::models::ResponseItem;
|
|
pub use codex_protocol::models::input_text;
|
|
pub use codex_protocol::security_risk::SecurityRiskScore;
|
|
pub use codex_tools::ConversationHistory;
|
|
pub use codex_tools::ExtensionTurnItem;
|
|
pub use codex_tools::FunctionCallError;
|
|
pub use codex_tools::JsonToolOutput;
|
|
pub use codex_tools::NoopTurnItemEmitter;
|
|
pub use codex_tools::ResponsesApiTool;
|
|
pub use codex_tools::ToolCall;
|
|
pub use codex_tools::ToolCallSource;
|
|
pub use codex_tools::ToolEnvironment;
|
|
pub use codex_tools::ToolExecutor;
|
|
pub use codex_tools::ToolExecutorFuture;
|
|
pub use codex_tools::ToolName;
|
|
pub use codex_tools::ToolOutput;
|
|
pub use codex_tools::ToolPayload;
|
|
pub use codex_tools::ToolSpec;
|
|
pub use codex_tools::TurnItemEmissionFuture;
|
|
pub use codex_tools::TurnItemEmitter;
|
|
pub use codex_tools::parse_tool_input_schema;
|
|
pub use codex_tools::parse_tool_input_schema_without_compaction;
|
|
pub use contributors::AccessedSelectedCapabilityRoot;
|
|
pub use contributors::ApprovalDecision;
|
|
pub use contributors::ApprovalDecisionInput;
|
|
pub use contributors::ApprovalReviewContributor;
|
|
pub use contributors::CatalogRefreshInput;
|
|
pub use contributors::CodeModeCellTiming;
|
|
pub use contributors::CommandStartInput;
|
|
pub use contributors::ConfigContributor;
|
|
pub use contributors::ContextContributor;
|
|
pub use contributors::ExtensionFuture;
|
|
pub use contributors::GuardianV2Enabled;
|
|
pub use contributors::McpServerContribution;
|
|
pub use contributors::McpServerContributionContext;
|
|
pub use contributors::McpServerContributor;
|
|
pub use contributors::McpToolContext;
|
|
pub use contributors::McpToolResultInput;
|
|
pub use contributors::McpToolSource;
|
|
pub use contributors::PreviousWorldStateSection;
|
|
pub use contributors::PromptFragment;
|
|
pub use contributors::PromptSlot;
|
|
pub use contributors::RenderedWorldStateFragment;
|
|
pub use contributors::SelectedPlugin;
|
|
pub use contributors::SelectedPluginContribution;
|
|
pub use contributors::SelectedPluginIdentity;
|
|
pub use contributors::SelectedPluginSnapshot;
|
|
pub use contributors::SkillInvocationContributor;
|
|
pub use contributors::SkillInvocationInput;
|
|
pub use contributors::SkillInvocationKind;
|
|
pub use contributors::StepPreparationInput;
|
|
pub use contributors::SynchronousApprovalReviewer;
|
|
pub use contributors::ThreadIdleCause;
|
|
pub use contributors::ThreadIdleInput;
|
|
pub use contributors::ThreadLifecycleContributor;
|
|
pub use contributors::ThreadOriginator;
|
|
pub use contributors::ThreadReadyInput;
|
|
pub use contributors::ThreadResumeInput;
|
|
pub use contributors::ThreadStartInput;
|
|
pub use contributors::ThreadStopInput;
|
|
pub use contributors::TokenUsageContributor;
|
|
pub use contributors::ToolCallOutcome;
|
|
pub use contributors::ToolContributor;
|
|
pub use contributors::ToolFinishInput;
|
|
pub use contributors::ToolLifecycleContributor;
|
|
pub use contributors::ToolLifecycleFuture;
|
|
pub use contributors::ToolStartInput;
|
|
pub use contributors::ToolTimingBoundary;
|
|
pub use contributors::ToolTimingInput;
|
|
pub use contributors::TurnAbortInput;
|
|
pub use contributors::TurnContextContributionInput;
|
|
pub use contributors::TurnErrorInput;
|
|
pub use contributors::TurnInputContext;
|
|
pub use contributors::TurnInputContributor;
|
|
pub use contributors::TurnInputEnvironment;
|
|
pub use contributors::TurnItemContributor;
|
|
pub use contributors::TurnLifecycleContributor;
|
|
pub use contributors::TurnStartInput;
|
|
pub use contributors::TurnStartPhase;
|
|
pub use contributors::TurnStopInput;
|
|
pub use contributors::WorldStateContributionInput;
|
|
pub use contributors::WorldStateSectionContribution;
|
|
pub use registry::ExtensionRegistry;
|
|
pub use registry::ExtensionRegistryBuilder;
|
|
pub use registry::empty_extension_registry;
|
|
pub use state::ExtensionData;
|
|
pub use state::ExtensionDataInit;
|
|
pub use turn_admission::TurnStartAdmission;
|
|
pub use user_instructions::Instructions;
|
|
pub use user_instructions::LoadInstructionsFuture;
|
|
pub use user_instructions::LoadedUserInstructions;
|
|
pub use user_instructions::ThreadInstructionsProvider;
|
|
pub use user_instructions::UserInstructionsProvider;
|
|
|
|
pub use contributors::ToolDispatchInput;
|
|
|
|
mod model_request;
|
|
pub use model_request::GuardianAssessment;
|
|
pub use model_request::ModelRequestContributor;
|
|
pub use model_request::ModelRequestInput;
|
|
pub use model_request::ModelRequestKind;
|
|
pub use model_request::ModelResponseError;
|
|
pub use model_request::ModelResponseInterceptor;
|
|
pub use model_request::ModelResponseStream;
|
|
pub use model_request::ResponseEvent;
|