pub struct ExecutableApp { /* private fields */ }Expand description
A validated executable operation graph.
Implementations§
Source§impl ExecutableApp
impl ExecutableApp
Sourcepub fn new(
operations: impl IntoIterator<Item = ExecutableOperation>,
) -> Result<Self, ExecutableBuildError>
pub fn new( operations: impl IntoIterator<Item = ExecutableOperation>, ) -> Result<Self, ExecutableBuildError>
Validates and compiles executable operations.
§Errors
Returns ExecutableBuildError for invalid routes or unresolved
dependencies.
Sourcepub fn with_security_schemes(
operations: impl IntoIterator<Item = ExecutableOperation>,
schemes: impl IntoIterator<Item = SecuritySchemeDescriptor>,
) -> Result<Self, ExecutableBuildError>
pub fn with_security_schemes( operations: impl IntoIterator<Item = ExecutableOperation>, schemes: impl IntoIterator<Item = SecuritySchemeDescriptor>, ) -> Result<Self, ExecutableBuildError>
Compiles executable operations with application security schemes.
§Errors
Returns ExecutableBuildError for invalid routes, security
requirements, or unresolved dependencies.
Sourcepub fn from_plugin(plugin: Plugin) -> Result<Self, ExecutableBuildError>
pub fn from_plugin(plugin: Plugin) -> Result<Self, ExecutableBuildError>
Compiles plugin scopes, singleton values, request provider plans, and executable operations.
§Errors
Returns ExecutableBuildError for invalid routes, plugin names,
missing providers, cycles, invalid lifetimes, or singleton failures.
Sourcepub fn from_plugin_with_overrides(
plugin: Plugin,
overrides: TestOverrides,
) -> Result<Self, ExecutableBuildError>
pub fn from_plugin_with_overrides( plugin: Plugin, overrides: TestOverrides, ) -> Result<Self, ExecutableBuildError>
Compiles a plugin graph after applying typed test-only provider replacements.
Overrides are applied before graph validation and compilation, so mocks cannot bypass missing dependency, cycle, or lifetime diagnostics.
§Errors
Returns ExecutableBuildError for invalid overrides or for any normal
plugin graph compilation failure.
pub const fn definition(&self) -> &AppDefinition
pub fn operation(&self, id: &OperationId) -> Option<&ExecutableOperation>
pub fn operation_index(&self, id: &OperationId) -> Option<usize>
pub fn operation_at(&self, index: usize) -> Option<&ExecutableOperation>
pub fn operation_for_mcp_tool(&self, name: &str) -> Option<&ExecutableOperation>
pub async fn invoke(&self, id: &OperationId, input: Value) -> ExecutionOutcome
pub async fn invoke_controlled( &self, id: &OperationId, input: Value, control: InvocationControl, ) -> ExecutionOutcome
Sourcepub async fn startup(&self) -> Result<(), DependencyError>
pub async fn startup(&self) -> Result<(), DependencyError>
Runs application startup hooks in parent-before-child order.
§Errors
Returns the first startup hook failure and stops the remaining startup sequence.
Sourcepub async fn shutdown(&self) -> Result<(), DependencyError>
pub async fn shutdown(&self) -> Result<(), DependencyError>
Runs application shutdown hooks in child-before-parent order.
Every hook runs even when an earlier hook fails. The first error in execution order is returned after all cleanup has completed.
§Errors
Returns the first shutdown hook failure.