pub struct Orchestrator {
pub thread_runtime: ThreadRuntime,
pub planner: Arc<dyn Planner>,
pub normalizer: PlanNormalizer,
pub executor: Executor,
pub task_store: Arc<dyn TaskStore>,
pub context_builder: Option<Arc<dyn ContextBuilder>>,
pub config: OrchestratorConfig,
pub hook_registry: Arc<HookRegistry>,
pub lifecycle_hooks: Arc<LifecycleHookRegistry>,
pub skill_catalog: Arc<RwLock<SkillCatalog>>,
pub skill_config_path: Option<PathBuf>,
}Expand description
Orchestrator - wires runtime + planner + executor for a minimal pipeline
Fields§
§thread_runtime: ThreadRuntime§planner: Arc<dyn Planner>§normalizer: PlanNormalizer§executor: Executor§task_store: Arc<dyn TaskStore>§context_builder: Option<Arc<dyn ContextBuilder>>§config: OrchestratorConfig§hook_registry: Arc<HookRegistry>§lifecycle_hooks: Arc<LifecycleHookRegistry>§skill_catalog: Arc<RwLock<SkillCatalog>>§skill_config_path: Option<PathBuf>Config path used for skill re-discovery (hot reload).
Implementations§
Source§impl Orchestrator
impl Orchestrator
Sourcepub async fn handle_event(
&self,
event: Event,
) -> Result<OrchestratorResult, OrchestratorError>
pub async fn handle_event( &self, event: Event, ) -> Result<OrchestratorResult, OrchestratorError>
Handle an event end-to-end (intent -> plan -> normalize -> execute)
Source§impl Orchestrator
impl Orchestrator
Sourcepub fn new(
thread_runtime: ThreadRuntime,
planner: Arc<dyn Planner>,
normalizer: PlanNormalizer,
executor: Executor,
task_store: Arc<dyn TaskStore>,
) -> Self
pub fn new( thread_runtime: ThreadRuntime, planner: Arc<dyn Planner>, normalizer: PlanNormalizer, executor: Executor, task_store: Arc<dyn TaskStore>, ) -> Self
Create a new orchestrator
Sourcepub fn with_config(
thread_runtime: ThreadRuntime,
planner: Arc<dyn Planner>,
normalizer: PlanNormalizer,
executor: Executor,
task_store: Arc<dyn TaskStore>,
config: OrchestratorConfig,
) -> Self
pub fn with_config( thread_runtime: ThreadRuntime, planner: Arc<dyn Planner>, normalizer: PlanNormalizer, executor: Executor, task_store: Arc<dyn TaskStore>, config: OrchestratorConfig, ) -> Self
Create a new orchestrator with config
Sourcepub fn with_context_builder(self, builder: Arc<dyn ContextBuilder>) -> Self
pub fn with_context_builder(self, builder: Arc<dyn ContextBuilder>) -> Self
Attach a context builder (optional)
Sourcepub fn with_hook_registry(self, hook_registry: Arc<HookRegistry>) -> Self
pub fn with_hook_registry(self, hook_registry: Arc<HookRegistry>) -> Self
Attach runtime hook registry.
Sourcepub fn with_lifecycle_hooks(self, hooks: Arc<LifecycleHookRegistry>) -> Self
pub fn with_lifecycle_hooks(self, hooks: Arc<LifecycleHookRegistry>) -> Self
Attach lifecycle hook registry for SDK pipeline hooks.
Sourcepub fn with_skill_catalog(
self,
skill_catalog: Arc<RwLock<SkillCatalog>>,
) -> Self
pub fn with_skill_catalog( self, skill_catalog: Arc<RwLock<SkillCatalog>>, ) -> Self
Attach skill catalog for planner-time instruction injection.
Sourcepub fn with_skill_config_path(self, path: PathBuf) -> Self
pub fn with_skill_config_path(self, path: PathBuf) -> Self
Set config path for skill hot-reload discovery.
Auto Trait Implementations§
impl !Freeze for Orchestrator
impl !RefUnwindSafe for Orchestrator
impl !UnwindSafe for Orchestrator
impl Send for Orchestrator
impl Sync for Orchestrator
impl Unpin for Orchestrator
impl UnsafeUnpin for Orchestrator
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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