Member Junction
    Preparing search index...
    TaskNode: {
        Action: (
            base: TaskNodeBase,
            configuration: {
                actionName: string;
                inputMapping?: string;
                outputMapping?: string;
            },
        ) => TaskGraphSpecNode<"Action">;
        Agent: (
            base: TaskNodeBase,
            configuration: {
                agentName: string;
                message?: string;
                templateParameters?: Record<string, string>;
            },
        ) => TaskGraphSpecNode<"Agent">;
        External: (
            base: TaskNodeBase,
            configuration: { domain: string; ref?: string },
        ) => TaskGraphSpecNode<"External">;
        ForEach: (
            base: TaskNodeBase,
            configuration: ForEachOperation,
        ) => TaskGraphSpecNode<"ForEach">;
        Human: (
            base: TaskNodeBase,
            configuration?: {
                assignToUserID?: string;
                expiresInHours?: number;
                instructions?: string;
            },
        ) => TaskGraphSpecNode<"Human">;
        Prompt: (
            base: TaskNodeBase,
            configuration: {
                promptName: string;
                templateParameters?: Record<string, string>;
            },
        ) => TaskGraphSpecNode<"Prompt">;
        While: (
            base: TaskNodeBase,
            configuration: WhileOperation,
        ) => TaskGraphSpecNode<"While">;
    } = ...

    Convenience constructors — the one place a node of each kind is built.

    Every producer goes through these rather than assembling { kind, configuration } inline, so the pairing of a kind with its configuration shape has exactly one definition. TypeScript enforces the pairing, but a helper also makes the call sites read as intent rather than as structure.

    Type Declaration

    • ReadonlyAction: (
          base: TaskNodeBase,
          configuration: {
              actionName: string;
              inputMapping?: string;
              outputMapping?: string;
          },
      ) => TaskGraphSpecNode<"Action">
    • ReadonlyAgent: (
          base: TaskNodeBase,
          configuration: {
              agentName: string;
              message?: string;
              templateParameters?: Record<string, string>;
          },
      ) => TaskGraphSpecNode<"Agent">
    • ReadonlyExternal: (
          base: TaskNodeBase,
          configuration: { domain: string; ref?: string },
      ) => TaskGraphSpecNode<"External">
    • ReadonlyForEach: (
          base: TaskNodeBase,
          configuration: ForEachOperation,
      ) => TaskGraphSpecNode<"ForEach">
    • ReadonlyHuman: (
          base: TaskNodeBase,
          configuration?: {
              assignToUserID?: string;
              expiresInHours?: number;
              instructions?: string;
          },
      ) => TaskGraphSpecNode<"Human">
    • ReadonlyPrompt: (
          base: TaskNodeBase,
          configuration: {
              promptName: string;
              templateParameters?: Record<string, string>;
          },
      ) => TaskGraphSpecNode<"Prompt">
    • ReadonlyWhile: (
          base: TaskNodeBase,
          configuration: WhileOperation,
      ) => TaskGraphSpecNode<"While">