Helper type to flatten and merge middleware from all subagents
FlattenSubAgentMiddleware: T extends readonly [] readonly [] : T extends readonly [First, ...Rest] Rest extends readonly SubAgent | CompiledSubAgent[] readonly [...ExtractSubAgentMiddleware<
First
>, ...FlattenSubAgentMiddleware<Rest>] : ExtractSubAgentMiddleware<First> : readonly []