mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Add step-scoped data to extension contributors (#34525)
## What changed - Add an `ExtensionData` store to each `StepContext`. - Pass the step store to context, world-state, turn-input, and tool contributors so extensions can use capabilities bound to the current sampling step. - Preserve the captured step context when rebuilding initial context during compaction. GitOrigin-RevId: 51f3105d3a793f60534f122f9be8247c131c2ca5
This commit is contained in:
1 parent
2d85e6d3a6
commit
c44c4de7b4
28 files changed
+195
-74
No files matched your search
@@ -6,6 +6,7 @@ use crate::session::McpRuntimeSnapshot;
|
||||
use crate::session::turn_context::TurnContext;
|
||||
use codex_exec_server::ExecutorCapabilityDiscoverySnapshot;
|
||||
use codex_exec_server::ResolvedSelectedCapabilityRoot;
|
||||
use codex_extension_api::ExtensionData;
|
||||
use codex_mcp::ToolInfo;
|
||||
use tokio::sync::OnceCell;
|
||||
|
||||
@@ -22,6 +23,8 @@ pub(crate) struct StepContext {
|
||||
pub(crate) mcp: Arc<McpRuntimeSnapshot>,
|
||||
/// The fixed MCP tool list used for this exact sampling request.
|
||||
mcp_tool_snapshot: OnceCell<Vec<ToolInfo>>,
|
||||
/// Extension capabilities bound to this exact sampling step.
|
||||
pub(crate) extension_data: ExtensionData,
|
||||
/// The canonical AGENTS.md value observed with this environment snapshot.
|
||||
pub(crate) loaded_agents_md: Option<Arc<LoadedAgentsMd>>,
|
||||
}
|
||||
@@ -35,6 +38,7 @@ impl StepContext {
|
||||
mcp: Arc<McpRuntimeSnapshot>,
|
||||
loaded_agents_md: Option<Arc<LoadedAgentsMd>>,
|
||||
) -> Self {
|
||||
let extension_data = ExtensionData::new(turn.sub_id.clone());
|
||||
Self {
|
||||
turn,
|
||||
environments,
|
||||
@@ -42,6 +46,7 @@ impl StepContext {
|
||||
executor_capability_discovery,
|
||||
mcp,
|
||||
mcp_tool_snapshot: OnceCell::new(),
|
||||
extension_data,
|
||||
loaded_agents_md,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user