Expand description
Spawner Linker — a Service-internal helper that takes a compiled
CompiledAgentTable (the base SpawnerAdapter), wraps it with
SpawnerLayers via the LayerRegistry, and returns the finished
Arc<dyn SpawnerAdapter>.
The old inline loop inside task_launch.rs scattered the linker
responsibility across the Service path. This module consolidates
it into one place, so the Blueprint → Compiled → Linked
three-stage split is expressed at the file boundary.
§Path
Compiler.compile(&Blueprint) → CompiledBlueprint { router: Arc<CompiledAgentTable>, ... }
│
│ link(router, blueprint.spawner_hints.layers, engine)
▼
`Arc<dyn SpawnerAdapter>` (base + every base_factories[*] + every lookup_hint(hints)[*] wrapped)
│
▼ EngineDispatcher::with_spawner
engine.dispatch_attempt_with(..., &linked) → flow evalUnregistered hint keys are silently skipped — the
LayerRegistry default is lenient, so Blueprints stay portable. A
strict mode is a carry.
Functions§
- link
- Wrap the compiled base
SpawnerAdapterwith Layers and return the finished value.