langchain.js
    Preparing search index...

    Interface ClearToolUsesEditConfig

    Configuration for clearing tool outputs when token limits are exceeded.

    interface ClearToolUsesEditConfig {
        clearAtLeast?: number;
        clearToolInputs?: boolean;
        excludeTools?: string[];
        keep?: { fraction?: number; messages?: number; tokens?: number };
        keepMessages?: number;
        placeholder?: string;
        trigger?:
            | { fraction?: number; messages?: number; tokens?: number }
            | { fraction?: number; messages?: number; tokens?: number }[];
        triggerTokens?: number;
    }
    Index

    Properties

    clearAtLeast?: number

    This property is deprecated and will be removed in a future version. Use keep: { tokens: value } or keep: { messages: value } instead to control retention.

    clearToolInputs?: boolean

    Whether to clear the originating tool call parameters on the AI message.

    false
    
    excludeTools?: string[]

    List of tool names to exclude from clearing.

    []
    
    keep?: { fraction?: number; messages?: number; tokens?: number }

    Context retention policy applied after editing. Specify how many tool results to preserve using messages, tokens, or fraction.

    Type Declaration

    • Optionalfraction?: number

      Fraction of the model's context size to keep

    • Optionalmessages?: number
    • Optionaltokens?: number

      Number of tokens to keep

    // Keep 3 most recent tool results
    keep: { messages: 3 }

    // Keep tool results that fit within 1000 tokens
    keep: { tokens: 1000 }

    // Keep tool results that fit within 30% of model's max input tokens
    keep: { fraction: 0.3 }
    keepMessages?: number

    Use keep: { messages: value } instead.

    placeholder?: string

    Placeholder text inserted for cleared tool outputs.

    "[cleared]"
    
    trigger?:
        | { fraction?: number; messages?: number; tokens?: number }
        | { fraction?: number; messages?: number; tokens?: number }[]

    Trigger conditions for context editing. Can be a single condition object (all properties must be met) or an array of conditions (any condition must be met).

    Type Declaration

    • { fraction?: number; messages?: number; tokens?: number }
      • Optionalfraction?: number

        Fraction of the model's context size to use as the trigger

      • Optionalmessages?: number

        Number of messages to use as the trigger

      • Optionaltokens?: number

        Number of tokens to use as the trigger

    • { fraction?: number; messages?: number; tokens?: number }[]
      • Optionalfraction?: number

        Fraction of the model's context size to use as the trigger

      • Optionalmessages?: number

        Number of messages to use as the trigger

      • Optionaltokens?: number

        Number of tokens to use as the trigger

    // Single condition: trigger if tokens >= 100000 AND messages >= 50
    trigger: { tokens: 100000, messages: 50 }

    // Multiple conditions: trigger if (tokens >= 100000 AND messages >= 50) OR (tokens >= 50000 AND messages >= 100)
    trigger: [
    { tokens: 100000, messages: 50 },
    { tokens: 50000, messages: 100 }
    ]

    // Fractional trigger: trigger at 80% of model's max input tokens
    trigger: { fraction: 0.8 }
    triggerTokens?: number

    Use trigger: { tokens: value } instead.