Theia API Documentation v1.72.1
    Preparing search index...

    Interface for ChatResponseContent parts that require user interaction. Content parts that implement this interface can be tracked by the delegation renderer without content-type-specific checks.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _arguments?: string
    _confirmationRejecter?: (reason?: unknown) => void
    _confirmationResolver?: (value: boolean) => void
    _confirmationTimeout?: number
    _confirmed: Promise<boolean>
    _data?: Record<string, string>
    _finished?: boolean
    _finishedResolver?: () => void
    _id?: string
    _name?: string
    _needsUserConfirmation: Promise<void>
    _needsUserConfirmationResolver?: () => void
    _onDidChangeEmitter: Emitter<void>
    _result?: ToolCallResult
    _whenFinished: Promise<void>
    kind: "toolCall"
    onDidChange: Event<void>

    Fires when the serialized form of this tool call changes outside of the agent's stream (e.g. after a renderer persists intermediate state via updateResult). The parent ChatResponse forwards this event so chat-session auto-save picks up the change.

    type: "claude-code-tool-call" = 'claude-code-tool-call'

    Accessors

    • get arguments(): undefined | string

      Returns undefined | string

    • get confirmationTimeout(): undefined | number

      Timeout in seconds for confirmation dialogs. 0 means no timeout.

      Returns undefined | number

    • set confirmationTimeout(value: undefined | number): void

      Timeout in seconds for confirmation dialogs. 0 means no timeout.

      Parameters

      • value: undefined | number

      Returns void

    • get confirmed(): Promise<boolean>

      Returns Promise<boolean>

    • get data(): undefined | Record<string, string>

      Provider-specific metadata about the tool call that the language model needs back on subsequent turns (e.g. Google's thoughtSignature, cache pointers). The full record is passed to the model via toLanguageModelMessage as ToolUseMessage.data.

      Returns undefined | Record<string, string>

    • get finished(): boolean

      Returns boolean

    • get id(): undefined | string

      Returns undefined | string

    • get interactionId(): undefined | string

      Stable identifier for deduplication in pending interaction tracking.

      Returns undefined | string

    • get isResolved(): boolean

      Whether the interaction has been resolved (e.g., confirmed/denied, option selected).

      Returns boolean

    • get name(): undefined | string

      Returns undefined | string

    • get needsUserConfirmation(): Promise<void>

      Resolves when the tool call requires user confirmation (show Allow/Deny UI).

      Returns Promise<void>

    • get result(): ToolCallResult

      Returns ToolCallResult

    • get whenFinished(): Promise<void>

      Returns Promise<void>

    • get whenResolved(): Promise<void>

      Resolves when the interaction is resolved. Used for cleanup in delegation chains.

      Returns Promise<void>

    Methods

    • Represents the content as a string. Returns undefined if the content is purely informational and/or visual and should not be included in the overall representation of the response.

      Returns string

    • Mark the tool call as completed with the given result.

      This is used to update the UI immediately when a tool finishes execution, without waiting for all parallel tool calls to complete. The language model batches tool results (via Promise.all) before yielding them to the stream, so without this early completion signal, the UI wouldn't update until all tools finish. The values set here will be overwritten by merge() when the language model eventually yields the results, but they should be identical.

      Parameters

      Returns void

    • Update the tool call's result without marking it finished. Use this to persist intermediate state for long-running tools (e.g. the user-interaction wizard) so progress survives chat-session reloads. On restore the tool call is always marked finished (no live handler exists anymore), so a partial result must be self-describing; consumers should not rely on finished to tell partial from final.

      Parameters

      Returns void