Helper type to infer and merge tools from an array of middleware. Recursively extracts tools from each middleware and combines them into a single tuple.
InferMiddlewareToolsArray: T extends readonly [] readonly [] : T extends readonly [First, ...Rest] First extends AgentMiddleware Rest extends readonly AgentMiddleware[] readonly [...InferMiddlewareTools<
First
>, ...InferMiddlewareToolsArray<Rest>] : InferMiddlewareTools<First> : readonly [] : readonly []