ART Framework API Docs
    Preparing search index...

    Interface TodoItem

    Represents a single step or task in the PES Agent's execution plan. Each TodoItem corresponds to one action the agent needs to take, which could be a tool call, a reasoning step, or a subtask.

    TodoItem

    interface TodoItem {
        actualToolCalls?: ParsedToolCall[];
        createdTimestamp: number;
        dependencies?: string[];
        description: string;
        expectedOutcome?: string;
        id: string;
        requiredTools?: string[];
        result?: any;
        status: TodoItemStatus;
        stepType?: "tool" | "reasoning";
        thoughts?: string[];
        toolCalls?: ParsedToolCall[];
        toolResults?: ToolResult[];
        toolValidationMode?: "strict" | "advisory";
        updatedTimestamp: number;
        validationStatus?: "failed" | "passed" | "skipped";
    }
    Index

    Properties

    actualToolCalls?: ParsedToolCall[]

    The tool calls that were actually executed during processing. This may differ from the planned calls if the agent modified its approach.

    createdTimestamp: number

    The Unix timestamp (in milliseconds) when this item was created. This is used for tracking execution order and debugging.

    dependencies?: string[]

    An array of todo item IDs that must be completed before this item can start. This enables the agent to define task dependencies and execution order. If empty or undefined, the item has no dependencies and can execute immediately.

    description: string

    A human-readable description of what this item accomplishes. This description is typically generated by the planning LLM and should be clear and actionable.

    expectedOutcome?: string

    A description of the expected outcome for this item. This helps the LLM understand what success looks like and guides execution.

    id: string

    A unique identifier for this specific todo item. This ID is used for tracking, logging, and referencing the item across systems.

    requiredTools?: string[]

    For tool-type steps, an array of tool names that must be called during execution. This is used by TAEF for validation - if required tools are not called, the agent may be prompted to retry or the step may fail validation.

    result?: any

    The actual result produced by executing this item. The structure depends on the step type and what was executed.

    The current execution status of this item. Values come from the TodoItemStatus enum.

    stepType?: "tool" | "reasoning"

    The type of execution step this item represents.

    • 'tool': The item requires executing one or more tools.
    • 'reasoning': The item requires LLM reasoning without external tool calls.

    This classification is part of the TAEF (Tool-Aware Execution Framework) system.

    thoughts?: string[]

    An array of thought strings captured during execution. These represent the agent's internal reasoning for this specific item.

    toolCalls?: ParsedToolCall[]

    The tool calls that were planned for this item. This comes from the planning phase and represents the intended execution.

    toolResults?: ToolResult[]

    The results from all tool executions for this item. Includes both successful and failed tool attempts.

    toolValidationMode?: "strict" | "advisory"

    The validation mode for tool execution in this item.

    • 'strict': Required tools must be called for the step to pass validation.
    • 'advisory': Required tools are recommended but not enforced.
    updatedTimestamp: number

    The Unix timestamp (in milliseconds) when this item was last updated. This tracks the most recent modification to the item's state.

    validationStatus?: "failed" | "passed" | "skipped"

    The validation status for this item's execution.

    • 'passed': The item passed all validation checks (e.g., required tools called).
    • 'failed': The item failed validation.
    • 'skipped': Validation was skipped for this item.