Skip to main content

ExecutionSession

Struct ExecutionSession 

Source
pub struct ExecutionSession {
Show 25 fields pub id: SessionId, pub organization_id: String, pub workspace_id: WorkspaceId, pub harness_id: HarnessId, pub agent_id: Option<AgentId>, pub title: Option<String>, pub goal: Option<String>, pub locale: Option<String>, pub tags: Vec<String>, pub model_id: Option<ModelId>, pub capabilities: Vec<CapabilityRef>, pub tools: Vec<ToolDefinition>, pub mcp_servers: ScopedMcpServers, pub system_prompt: Option<String>, pub initial_files: Vec<InitialFile>, pub hints: Option<HashMap<String, Value>>, pub network_access: Option<NetworkAccessList>, pub max_iterations: Option<usize>, pub parallel_tool_calls: Option<bool>, pub status: SessionExecutionState, pub usage: Option<TokenUsage>, pub parent_session_id: Option<SessionId>, pub forked_from_session_id: Option<SessionId>, pub blueprint_id: Option<String>, pub blueprint_config: Option<Value>,
}
Expand description

Portable execution view of one session (EVE-882).

Carries exactly what turn execution consumes: the typed correlation values, the session’s own configuration overlay layer (leaf of the harness → agent → session chain), the neutral execution state, and cumulative usage accounting. It is not a persistence record — origin facets, activity projections, participants, ownership summaries, timestamps, and list/UI metadata stay in everruns-platform.

Fields§

§id: SessionId

Session identity (correlation value).

§organization_id: String

Public (org_…) organization id used for execution scoping. This is a correlation value, not the organization record.

§workspace_id: WorkspaceId

Workspace owning the session’s virtual filesystem. For the default 1:1 case this mirrors the session id.

§harness_id: HarnessId

Harness providing the base environment configuration layer.

§agent_id: Option<AgentId>

Optional agent working in this session.

§title: Option<String>

Human-readable title (readable/writable through the session capability).

§goal: Option<String>

Session objective visible to the runtime agent at system-prompt level.

§locale: Option<String>

Locale for localized agent behavior and formatting (BCP 47).

§tags: Vec<String>

Tags consulted by execution modes (e.g. progress reporting).

§model_id: Option<ModelId>

Session-level model override (higher priority than agent/harness).

§capabilities: Vec<CapabilityRef>

Session-level capabilities (additive to agent capabilities).

§tools: Vec<ToolDefinition>

Client-side tools for this session (additive to agent tools).

§mcp_servers: ScopedMcpServers

Remote MCP servers scoped to this session only.

§system_prompt: Option<String>

Session-level system prompt override.

§initial_files: Vec<InitialFile>

Session-level initial files (additive to agent initial_files).

§hints: Option<HashMap<String, Value>>

Session-level client hints; per-message controls.hints override these key-by-key (shallow merge).

§network_access: Option<NetworkAccessList>

Network access list merged with harness and agent layers.

§max_iterations: Option<usize>

Maximum number of LLM iterations per turn for this session.

§parallel_tool_calls: Option<bool>

Request-level parallel tool calling preference (EVE-598).

§status: SessionExecutionState

Neutral execution state driven by the host lifecycle.

§usage: Option<TokenUsage>

Cumulative token usage for all LLM calls in this session.

§parent_session_id: Option<SessionId>

Parent session that spawned this subagent (subagent nesting depth).

§forked_from_session_id: Option<SessionId>

Session this one was forked from (delegation-result correlation).

§blueprint_id: Option<String>

Blueprint ID. When set, execution builds the RuntimeAgent from the blueprint definition instead of harness/agent configuration.

§blueprint_config: Option<Value>

Validated config passed by host at blueprint spawn time.

Implementations§

Source§

impl ExecutionSession

Source

pub fn new( id: SessionId, workspace_id: WorkspaceId, harness_id: HarnessId, ) -> Self

Create an execution session with the given correlation identity; all configuration starts empty, status starts at started, and the organization defaults to the single-tenant default org.

Source

pub fn with_own_workspace(id: SessionId, harness_id: HarnessId) -> Self

Create an execution session under the default 1:1 workspace identity (workspace.id == session.id).

Trait Implementations§

Source§

impl Clone for ExecutionSession

Source§

fn clone(&self) -> ExecutionSession

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutionSession

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ExecutionSession

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<&ExecutionSession> for AgentConfigOverlay

Source§

fn from(s: &ExecutionSession) -> Self

Converts to this type from the input type.
Source§

impl Serialize for ExecutionSession

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more