langchain.js
    Preparing search index...

    Type Alias InferSubagentState<T, TName, ToolCall>

    InferSubagentState: InferSubagentByName<T, TName> extends never
        ? Record<string, unknown>
        : InferSubagentByName<T, TName> extends infer SA
            ? BaseSubagentState<ToolCall> & InferMiddlewareStatesFromArray<
                ExtractSubAgentMiddleware<SA>,
            >
            : Record<string, unknown>

    Infer the state type for a specific subagent by extracting and merging its middleware state schemas, plus the base agent state (messages).

    Type Parameters

    • T

      The DeepAgent to extract from

    • TName extends string

      The name of the subagent

    • ToolCall = DefaultToolCall

      The tool call type for messages. Defaults to DefaultToolCall.

    const agent = createDeepAgent({
    subagents: [
    { name: "researcher", middleware: [ResearchMiddleware] }
    ] as const,
    });

    type ResearcherState = InferSubagentState<typeof agent, "researcher">;
    // ResearcherState includes { messages: Message<ToolCall>[], ...ResearchMiddleware state }