mirror of
https://github.com/openai/codex.git
synced 2026-05-05 05:42:33 +03:00
feat: wire spreadsheet artifact (#13362)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
//! Session-wide mutable state.
|
||||
|
||||
use codex_artifact_presentation::PresentationArtifactManager;
|
||||
use codex_artifact_spreadsheet::SpreadsheetArtifactManager;
|
||||
use codex_protocol::models::ResponseItem;
|
||||
use std::collections::HashMap;
|
||||
use std::collections::HashSet;
|
||||
@@ -17,6 +18,12 @@ use crate::tasks::RegularTask;
|
||||
use crate::truncate::TruncationPolicy;
|
||||
use codex_protocol::protocol::TurnContextItem;
|
||||
|
||||
#[derive(Default)]
|
||||
pub(crate) struct SessionArtifacts {
|
||||
pub(crate) presentation: PresentationArtifactManager,
|
||||
pub(crate) spreadsheet: SpreadsheetArtifactManager,
|
||||
}
|
||||
|
||||
/// Persistent, session-scoped state previously stored directly on `Session`.
|
||||
pub(crate) struct SessionState {
|
||||
pub(crate) session_configuration: SessionConfiguration,
|
||||
@@ -33,7 +40,7 @@ pub(crate) struct SessionState {
|
||||
pub(crate) startup_regular_task: Option<JoinHandle<CodexResult<RegularTask>>>,
|
||||
pub(crate) active_mcp_tool_selection: Option<Vec<String>>,
|
||||
pub(crate) active_connector_selection: HashSet<String>,
|
||||
pub(crate) presentation_artifacts: PresentationArtifactManager,
|
||||
pub(crate) artifacts: SessionArtifacts,
|
||||
}
|
||||
|
||||
impl SessionState {
|
||||
@@ -51,7 +58,7 @@ impl SessionState {
|
||||
startup_regular_task: None,
|
||||
active_mcp_tool_selection: None,
|
||||
active_connector_selection: HashSet::new(),
|
||||
presentation_artifacts: PresentationArtifactManager::default(),
|
||||
artifacts: SessionArtifacts::default(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user