v0.3.3
Added
- StaticHierarchical topology (
Topology::StaticHierarchical): eliminates the coordinator LLM call when routing is static. Swarms carry#[Topology(TopologyEnum::StaticHierarchical)], implement the newHasRoutePlancontract, and return a fixed route-plan array fromplan(). Supportsprompt(),run(),queue()(in_process), andstream().dispatchDurable()is unsupported in v1 and throws before any infrastructure check fires.- Sequential worker nodes always stream live text deltas.
- Parallel groups in
stream()useconcurrentmode by default (branches run viaConcurrencyManager; the sequential tail streams live) orsequentialmode (each branch streams in declaration order). Controlled by#[StreamParallelBranches('concurrent'|'sequential')]on the swarm class, or theswarm.static_hierarchical.stream_parallel_branchesconfig key (SWARM_STATIC_HIERARCHICAL_STREAM_PARALLEL_BRANCHES). - Same parallel groups,
with_outputsnamed-output synthesis, DAG validation, andMaxAgentStepsenforcement as hierarchical.MaxAgentStepscounts worker nodes only — there is no coordinator step. - Swarm response and
SwarmCompletedmetadata includetopology,route_plan_start,executed_node_ids,executed_agent_classes,parallel_groups,executed_steps, andexecution_mode.coordinator_agent_classis intentionally absent. - Documentation: Static Hierarchical Topology.
Full changelog: https://github.com/builtbyberry/laravel-swarm/blob/main/CHANGELOG.md