Skip to main content

Module task_launch

Module task_launch 

Source
Expand description

TaskLaunchService — the domain service that runs a Blueprint flow to completion through the engine.

Responsibilities:

  1. Compile the Blueprint and link it into a SpawnerAdapter (via service::linker::link, wrapped by EngineDispatcher::with_spawner).
  2. Acquire an Operator session (via engine.attach).
  3. Run flow.ir’s eval_async through an EngineDispatcher and return the final ctx.
  4. If any step fails (dispatcher error), eval_async errors and the failure propagates as-is.

Callers on the Application layer never touch the engine directly — bind, start_task, and eval_async all stay inside the Service.

A single-task-spawn API (calling start_task directly) is deliberately absent here: a single spawn can be modeled as a one-Step flow, and we do not want two interfaces for the same shape.

Structs§

TaskLaunchInput
Input to TaskLaunchService::launch.
TaskLaunchOutput
Result of a successful TaskLaunchService::launch call.
TaskLaunchService
Domain service that compiles, links, and runs a Blueprint’s flow to completion through the Engine. See the module doc for the full responsibility list.

Enums§

TaskLaunchError
Failure modes of TaskLaunchService::launch.