pub struct DynamicWorkflowRuntime { /* private fields */ }Expand description
Runs A3S Flow workflow and step invocations through a sandboxed PTC script.
Implementations§
Source§impl DynamicWorkflowRuntime
impl DynamicWorkflowRuntime
pub fn new( registry: Arc<ToolRegistry>, context: ToolContext, source: impl Into<String>, ) -> Self
pub fn with_allowed_tools( self, allowed_tools: impl IntoIterator<Item = String>, ) -> Self
pub fn with_limits(self, limits: DynamicWorkflowScriptLimits) -> Self
Sourcepub fn with_task_scheduler(
self,
scheduler: Arc<TaskScheduler>,
admit_steps_globally: bool,
) -> Self
pub fn with_task_scheduler( self, scheduler: Arc<TaskScheduler>, admit_steps_globally: bool, ) -> Self
Attach the agent-wide scheduler when this runtime is used as a standalone host adapter.
admit_steps_globally = false is the correct setting for a runtime
invoked from an existing AgentSession operation: the parent operation
already owns the global lease and Flow steps use the local bounded gate.
Sourcepub fn with_task_scheduler_quota(self, quota: TaskSchedulerQuota) -> Self
pub fn with_task_scheduler_quota(self, quota: TaskSchedulerQuota) -> Self
Bind a digest-only owner quota to scheduler-backed Flow admissions.
This does not create another queue or workflow authority; it only tells the existing scheduler how many slots this runtime may own at once.
Sourcepub fn admission_stats(&self) -> DynamicWorkflowAdmissionStats
pub fn admission_stats(&self) -> DynamicWorkflowAdmissionStats
Return local Flow-step admission counters for diagnostics and hosts.
Sourcepub async fn scheduler_quota_snapshot(
&self,
) -> Result<Option<TaskSchedulerQuotaSnapshot>, TaskSchedulerError>
pub async fn scheduler_quota_snapshot( &self, ) -> Result<Option<TaskSchedulerQuotaSnapshot>, TaskSchedulerError>
Return the live owner-quota projection for this runtime, when it is layered on an agent-wide scheduler. The projection contains only the digest identity and current occupancy; Flow history and worker leases remain independent authorities.
Trait Implementations§
Source§impl Clone for DynamicWorkflowRuntime
impl Clone for DynamicWorkflowRuntime
Source§fn clone(&self) -> DynamicWorkflowRuntime
fn clone(&self) -> DynamicWorkflowRuntime
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl FlowRuntime for DynamicWorkflowRuntime
impl FlowRuntime for DynamicWorkflowRuntime
Source§fn run_workflow<'life0, 'async_trait>(
&'life0 self,
invocation: WorkflowInvocation,
) -> Pin<Box<dyn Future<Output = Result<RuntimeCommand>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_workflow<'life0, 'async_trait>(
&'life0 self,
invocation: WorkflowInvocation,
) -> Pin<Box<dyn Future<Output = Result<RuntimeCommand>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for DynamicWorkflowRuntime
impl !UnwindSafe for DynamicWorkflowRuntime
impl Freeze for DynamicWorkflowRuntime
impl Send for DynamicWorkflowRuntime
impl Sync for DynamicWorkflowRuntime
impl Unpin for DynamicWorkflowRuntime
impl UnsafeUnpin for DynamicWorkflowRuntime
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more