pub struct LocalStore { /* private fields */ }Expand description
Local product facade backed by the workspace-wide canonical SQLite schema.
Implementations§
Source§impl LocalStore
impl LocalStore
Sourcepub fn replay_display_window(
&self,
session_id: &str,
run_id: Option<&str>,
cursor: Option<&ReplayCursor>,
) -> CliResult<DisplayReplayWindow>
pub fn replay_display_window( &self, session_id: &str, run_id: Option<&str>, cursor: Option<&ReplayCursor>, ) -> CliResult<DisplayReplayWindow>
Replay display messages as scoped replay events.
Source§impl LocalStore
impl LocalStore
Sourcepub fn open(config: &CliConfig) -> CliResult<Self>
pub fn open(config: &CliConfig) -> CliResult<Self>
Open canonical shared storage and the CLI-owned blob directory.
Sourcepub fn import_legacy_database(
&self,
source_path: impl AsRef<Path>,
workspace: impl AsRef<Path>,
) -> CliResult<LocalStoreImportReport>
pub fn import_legacy_database( &self, source_path: impl AsRef<Path>, workspace: impl AsRef<Path>, ) -> CliResult<LocalStoreImportReport>
Explicitly import a project-local legacy database into canonical shared storage.
Sourcepub fn create_session(
&mut self,
profile: &str,
title: Option<String>,
) -> CliResult<SessionRecord>
pub fn create_session( &mut self, profile: &str, title: Option<String>, ) -> CliResult<SessionRecord>
Create a session.
Sourcepub fn load_session(&self, session_id: &str) -> CliResult<SessionRecord>
pub fn load_session(&self, session_id: &str) -> CliResult<SessionRecord>
Load a session.
Sourcepub fn load_workspace_session(
&self,
session_id: &str,
) -> CliResult<SessionRecord>
pub fn load_workspace_session( &self, session_id: &str, ) -> CliResult<SessionRecord>
Load a session and require it to belong to the current workspace.
Sourcepub fn resolve_session_prefix(&self, value: &str) -> CliResult<String>
pub fn resolve_session_prefix(&self, value: &str) -> CliResult<String>
Resolve an exact session id or unique prefix.
Sourcepub fn delete_session(&mut self, session_id: &str) -> CliResult<bool>
pub fn delete_session(&mut self, session_id: &str) -> CliResult<bool>
Tombstone one shared session and remove only CLI-owned compatibility blobs.
Sourcepub fn latest_session(&self) -> CliResult<Option<SessionRecord>>
pub fn latest_session(&self) -> CliResult<Option<SessionRecord>>
Latest active session in the current workspace.
Sourcepub fn admit_run(
&mut self,
session_id: &str,
prompt: String,
restore_from_run_id: Option<String>,
profile: &str,
initial_metadata: Map<String, Value>,
host_instance_id: &str,
replaces_waiting_run_id: Option<RunId>,
hitl_resume_claim_id: Option<String>,
) -> CliResult<(RunRecord, RunAdmissionLease)>
pub fn admit_run( &mut self, session_id: &str, prompt: String, restore_from_run_id: Option<String>, profile: &str, initial_metadata: Map<String, Value>, host_instance_id: &str, replaces_waiting_run_id: Option<RunId>, hitl_resume_claim_id: Option<String>, ) -> CliResult<(RunRecord, RunAdmissionLease)>
Atomically admit a queued run and return its fenced lease.
Sourcepub fn heartbeat_run_admission(
config: &CliConfig,
lease: &RunAdmissionLease,
) -> CliResult<RunAdmissionLease>
pub fn heartbeat_run_admission( config: &CliConfig, lease: &RunAdmissionLease, ) -> CliResult<RunAdmissionLease>
Extend a CLI-owned durable admission lease.
Sourcepub fn release_run_admission(&self, lease: &RunAdmissionLease) -> CliResult<()>
pub fn release_run_admission(&self, lease: &RunAdmissionLease) -> CliResult<()>
Release a CLI-owned durable admission lease.
Sourcepub fn complete_run_fenced(
&mut self,
run: &mut RunRecord,
output: String,
artifacts: RunArtifacts,
admission_lease: &RunAdmissionLease,
) -> CliResult<Vec<DisplayMessage>>
pub fn complete_run_fenced( &mut self, run: &mut RunRecord, output: String, artifacts: RunArtifacts, admission_lease: &RunAdmissionLease, ) -> CliResult<Vec<DisplayMessage>>
Complete or pause an admitted product run while its lease remains current.
Sourcepub fn fail_run_with_messages_fenced(
&mut self,
run: &mut RunRecord,
message: String,
messages: &[DisplayMessage],
admission_lease: &RunAdmissionLease,
) -> CliResult<()>
pub fn fail_run_with_messages_fenced( &mut self, run: &mut RunRecord, message: String, messages: &[DisplayMessage], admission_lease: &RunAdmissionLease, ) -> CliResult<()>
Fail an admitted product run while its lease remains current.
Sourcepub fn prepare_waiting_continuation(
&self,
session_id: &str,
run_id: &str,
) -> CliResult<PreparedContinuation>
pub fn prepare_waiting_continuation( &self, session_id: &str, run_id: &str, ) -> CliResult<PreparedContinuation>
Side-effect-free prepare a waiting HITL continuation from canonical evidence.
Sourcepub fn load_restore_state(
&self,
session_id: &str,
run_id: Option<&str>,
) -> CliResult<Option<ResumableState>>
pub fn load_restore_state( &self, session_id: &str, run_id: Option<&str>, ) -> CliResult<Option<ResumableState>>
Load the latest saved state for a continuation source.
Sourcepub fn list_sessions(&self, limit: usize) -> CliResult<Vec<SessionSummary>>
pub fn list_sessions(&self, limit: usize) -> CliResult<Vec<SessionSummary>>
List session summaries for the current workspace.
Sourcepub fn search_sessions(
&self,
query: SessionSearchQuery,
) -> CliResult<SessionSearchPage>
pub fn search_sessions( &self, query: SessionSearchQuery, ) -> CliResult<SessionSearchPage>
Search canonical local sessions and approved compatibility display projections.
Sourcepub fn list_run_records(&self, session_id: &str) -> CliResult<Vec<RunRecord>>
pub fn list_run_records(&self, session_id: &str) -> CliResult<Vec<RunRecord>>
List canonical run records in session sequence order.
Sourcepub fn list_runs(
&self,
session_id: &str,
limit: usize,
) -> CliResult<Vec<RunSummary>>
pub fn list_runs( &self, session_id: &str, limit: usize, ) -> CliResult<Vec<RunSummary>>
List run summaries in sequence order, retaining the newest limit runs.
Sourcepub fn replay_display(
&self,
session_id: &str,
run_id: Option<&str>,
after: Option<usize>,
) -> CliResult<Vec<DisplayMessage>>
pub fn replay_display( &self, session_id: &str, run_id: Option<&str>, after: Option<usize>, ) -> CliResult<Vec<DisplayMessage>>
Replay display messages for a session or run.
Sourcepub fn trim(
&mut self,
sessions: Vec<String>,
keep_runs: usize,
dry_run: bool,
) -> CliResult<TrimReport>
pub fn trim( &mut self, sessions: Vec<String>, keep_runs: usize, dry_run: bool, ) -> CliResult<TrimReport>
Trim old runs for selected sessions.
Sourcepub fn trim_with_age(
&mut self,
sessions: Vec<String>,
keep_runs: usize,
older_than: Option<Duration>,
dry_run: bool,
) -> CliResult<TrimReport>
pub fn trim_with_age( &mut self, sessions: Vec<String>, keep_runs: usize, older_than: Option<Duration>, dry_run: bool, ) -> CliResult<TrimReport>
Trim old runs for selected sessions and optional age horizon.
Sourcepub fn all_session_ids(&self) -> CliResult<Vec<String>>
pub fn all_session_ids(&self) -> CliResult<Vec<String>>
Return all session ids in the current workspace.
Sourcepub fn list_approvals(
&self,
session_id: Option<&str>,
run_id: Option<&str>,
) -> CliResult<Vec<ApprovalRecord>>
pub fn list_approvals( &self, session_id: Option<&str>, run_id: Option<&str>, ) -> CliResult<Vec<ApprovalRecord>>
List persisted approval records.
Sourcepub fn load_approval(&self, approval_id: &str) -> CliResult<ApprovalRecord>
pub fn load_approval(&self, approval_id: &str) -> CliResult<ApprovalRecord>
Load one approval record.
Sourcepub fn decide_approval(
&mut self,
approval_id: &str,
status: ApprovalStatus,
reason: Option<String>,
) -> CliResult<ApprovalRecord>
pub fn decide_approval( &mut self, approval_id: &str, status: ApprovalStatus, reason: Option<String>, ) -> CliResult<ApprovalRecord>
Record an approval decision.
Sourcepub fn list_deferred_tools(
&self,
session_id: Option<&str>,
run_id: Option<&str>,
) -> CliResult<Vec<DeferredToolRecord>>
pub fn list_deferred_tools( &self, session_id: Option<&str>, run_id: Option<&str>, ) -> CliResult<Vec<DeferredToolRecord>>
List persisted deferred tool records.
Sourcepub fn load_deferred_tool(
&self,
deferred_id: &str,
) -> CliResult<DeferredToolRecord>
pub fn load_deferred_tool( &self, deferred_id: &str, ) -> CliResult<DeferredToolRecord>
Load one deferred tool record.
Sourcepub fn complete_deferred_tool(
&mut self,
deferred_id: &str,
response: Value,
) -> CliResult<DeferredToolRecord>
pub fn complete_deferred_tool( &mut self, deferred_id: &str, response: Value, ) -> CliResult<DeferredToolRecord>
Complete one deferred tool record.
Sourcepub fn fail_deferred_tool(
&mut self,
deferred_id: &str,
error: &str,
) -> CliResult<DeferredToolRecord>
pub fn fail_deferred_tool( &mut self, deferred_id: &str, error: &str, ) -> CliResult<DeferredToolRecord>
Fail one deferred tool record.