Member Junction
    Preparing search index...

    Everything an executor needs to run a single task node.

    type TaskAgentRunParams = {
        AgentID: string;
        ContextUser: UserInfo;
        ContinuationDepth?: number;
        DependencyOutputs: Map<string, unknown>;
        InputPayload: unknown;
        OnProgress?: TaskRunProgressCallback;
        Provider: IMetadataProvider;
        SubmittingAgentRunID?: string | null;
        TaskID: string;
    }
    Index

    Properties

    AgentID: string

    Agent assigned to the task.

    ContextUser: UserInfo

    User the work runs as.

    ContinuationDepth?: number

    How many continuation hops led to this run, from the graph's own metadata.

    Carried so the chain is BOUNDED. A flow that dispatches a graph containing itself recurses forever otherwise: each spawned run starts at depth zero, so MAX_REINVOKE_DEPTH compares against a permanent zero and never fires. The cap exists; this is what feeds it.

    DependencyOutputs: Map<string, unknown>

    Parsed OutputPayload of each completed dependency, keyed by that task's ID.

    InputPayload: unknown

    Parsed Task.InputPayload, if any.

    Optional progress sink; the dispatcher turns calls into rate-limited NodeProgress frames.

    Provider minted for this task alone — never shared with a sibling.

    SubmittingAgentRunID?: string | null

    The agent run that submitted this graph, when there was one.

    Becomes the spawned run's ParentRunID, which is what makes a workflow's total cost a single indexed sum over RootParentRunID instead of a walk. Null for a graph nobody's run submitted — a schedule, MCP, or a person — and that is a real case, not a missing value.

    Note this is a run→run link: the task graph sits BETWEEN the two conceptually but cannot be the parent, because the column points at a run. The graph is recovered through Task.AgentRunID and Task.ParentID.

    TaskID: string

    The task row being executed.