Base class for Tools that accept input of any shape defined by a Zod schema.

Hierarchy (view full)

Constructors

Properties

allowExternal?: boolean
apiBaseUrl?: string
callbacks?: Callbacks
categories?: CrawlCategory[]
description: string = ...

A description of the tool.

excludeDomains?: string[]
excludePaths?: string[]
instructions?: string
limit?: number
maxBreadth?: number
maxDepth?: number
metadata?: Record<string, unknown>
name: string = "tavily_map"
responseFormat?: string

The tool response format.

If "content" then the output of the tool is interpreted as the contents of a ToolMessage. If "content_and_artifact" then the output is expected to be a two-tuple corresponding to the (content, artifact) of a ToolMessage.

"content"
returnDirect: boolean

Whether to return the tool's output directly.

Setting this to true means that after the tool is called, an agent should stop looping.

schema: ZodObject<{
    allowExternal: ZodOptional<ZodBoolean>;
    categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
    excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
    excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
    instructions: ZodOptional<ZodString>;
    selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
    selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
    url: ZodString;
}, "strip", ZodTypeAny, {
    allowExternal?: boolean;
    categories?: (
        | "Documentation"
        | "Blog"
        | "Blogs"
        | "Community"
        | "About"
        | "Contact"
        | "Privacy"
        | "Terms"
        | "Status"
        | "Pricing"
        | "Enterprise"
        | "Careers"
        | "E-Commerce"
        | "Authentication"
        | "Developer"
        | "Developers"
        | "Solutions"
        | "Partners"
        | "Downloads"
        | "Media"
        | "Events"
        | "People")[];
    excludeDomains?: string[];
    excludePaths?: string[];
    instructions?: string;
    selectDomains?: string[];
    selectPaths?: string[];
    url: string;
}, {
    allowExternal?: boolean;
    categories?: (
        | "Documentation"
        | "Blog"
        | "Blogs"
        | "Community"
        | "About"
        | "Contact"
        | "Privacy"
        | "Terms"
        | "Status"
        | "Pricing"
        | "Enterprise"
        | "Careers"
        | "E-Commerce"
        | "Authentication"
        | "Developer"
        | "Developers"
        | "Solutions"
        | "Partners"
        | "Downloads"
        | "Media"
        | "Events"
        | "People")[];
    excludeDomains?: string[];
    excludePaths?: string[];
    instructions?: string;
    selectDomains?: string[];
    selectPaths?: string[];
    url: string;
}> = inputSchema

A Zod schema representing the parameters of the tool.

selectDomains?: string[]
selectPaths?: string[]
tags?: string[]
verbose: boolean

Whether to print out response text.

verboseParsingErrors: boolean

Methods

  • Convert a runnable to a tool. Return a new instance of RunnableToolLike which contains the runnable, name, description and schema.

    Type Parameters

    • T extends StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }> = StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>

    Parameters

    • fields: {
          description?: string;
          name?: string;
          schema: InteropZodType<T>;
      }
      • Optionaldescription?: string

        The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.

      • Optionalname?: string

        The name of the tool. If not provided, it will default to the name of the runnable.

      • schema: InteropZodType<T>

        The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.

    Returns RunnableToolLike<InteropZodType<ToolCall | T>, any>

    An instance of RunnableToolLike which is a runnable that can be used as a tool.

  • Assigns new fields to the dict output of this runnable. Returns a new runnable.

    Parameters

    • mapping: RunnableMapLike<Record<string, unknown>, Record<string, unknown>>

    Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

  • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

    Parameters

    • inputs: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>[]

      Array of inputs to each batch call.

    • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> | Partial<RunnableConfig<Record<string, any>>>[]

      Either a single call options object to apply to each batch call or an array for each call.

    • OptionalbatchOptions: RunnableBatchOptions & {
          returnExceptions?: false;
      }

    Returns Promise<any[]>

    An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

  • Parameters

    • inputs: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>[]
    • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> | Partial<RunnableConfig<Record<string, any>>>[]
    • OptionalbatchOptions: RunnableBatchOptions & {
          returnExceptions: true;
      }

    Returns Promise<any[]>

  • Parameters

    • inputs: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>[]
    • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> | Partial<RunnableConfig<Record<string, any>>>[]
    • OptionalbatchOptions: RunnableBatchOptions

    Returns Promise<any[]>

  • Bind arguments to a Runnable, returning a new Runnable.

    Parameters

    • kwargs: Partial<RunnableConfig<Record<string, any>>>

    Returns Runnable<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, any, RunnableConfig<Record<string, any>>>

    A new RunnableBinding that, when invoked, will apply the bound args.

    Use withConfig instead. This will be removed in the next breaking release.

  • Type Parameters

    • TArg extends StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • TConfig extends undefined | ToolRunnableConfig

    Parameters

    • arg: TArg

      The input argument for the tool.

    • OptionalconfigArg: TConfig

      Optional configuration or callbacks for the tool.

    • Optionaltags: string[]

      Optional tags for the tool.

    Returns Promise<any>

    A Promise that resolves with a string.

    Use .invoke() instead. Will be removed in 0.3.0.

    Calls the tool with the provided argument, configuration, and tags. It parses the input according to the schema, handles any errors, and manages callbacks.

  • Parameters

    • Optional_: RunnableConfig<Record<string, any>>

    Returns Graph

  • Parameters

    • Optionalsuffix: string

    Returns string

  • Invokes the tool with the provided input and configuration.

    Type Parameters

    • TInput extends StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • TConfig extends undefined | ToolRunnableConfig

    Parameters

    • input: TInput

      The input for the tool.

    • Optionalconfig: TConfig

      Optional configuration for the tool.

    Returns Promise<any>

    A Promise that resolves with the tool's output.

  • Return a new Runnable that maps a list of inputs to a list of outputs, by calling invoke() with each input.

    Returns Runnable<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>[], any[], RunnableConfig<Record<string, any>>>

    This will be removed in the next breaking release.

  • Pick keys from the dict output of this runnable. Returns a new runnable.

    Parameters

    • keys: string | string[]

    Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

  • Create a new runnable sequence that runs each individual runnable in series, piping the output of one runnable into another runnable or runnable-like.

    Type Parameters

    • NewRunOutput

    Parameters

    • coerceable: RunnableLike<any, NewRunOutput, RunnableConfig<Record<string, any>>>

      A runnable, function, or object whose values are functions or runnables.

    Returns Runnable<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, Exclude<NewRunOutput, Error>, RunnableConfig<Record<string, any>>>

    A new runnable sequence.

  • Stream output in chunks.

    Parameters

    • input: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

    Returns Promise<IterableReadableStream<any>>

    A readable stream that is also an iterable.

  • Generate a stream of events emitted by the internal steps of the runnable.

    Use to create an iterator over StreamEvents that provide real-time information about the progress of the runnable, including StreamEvents from intermediate results.

    A StreamEvent is a dictionary with the following schema:

    • event: string - Event names are of the format: on_[runnable_type]_(start|stream|end).
    • name: string - The name of the runnable that generated the event.
    • run_id: string - Randomly generated ID associated with the given execution of the runnable that emitted the event. A child runnable that gets invoked as part of the execution of a parent runnable is assigned its own unique ID.
    • tags: string[] - The tags of the runnable that generated the event.
    • metadata: Record<string, any> - The metadata of the runnable that generated the event.
    • data: Record<string, any>

    Below is a table that illustrates some events that might be emitted by various chains. Metadata fields have been omitted from the table for brevity. Chain definitions have been included after the table.

    ATTENTION This reference table is for the V2 version of the schema.

    +----------------------+-----------------------------+------------------------------------------+
    | event                | input                       | output/chunk                             |
    +======================+=============================+==========================================+
    | on_chat_model_start  | {"messages": BaseMessage[]} |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_chat_model_stream |                             | AIMessageChunk("hello")                  |
    +----------------------+-----------------------------+------------------------------------------+
    | on_chat_model_end    | {"messages": BaseMessage[]} | AIMessageChunk("hello world")            |
    +----------------------+-----------------------------+------------------------------------------+
    | on_llm_start         | {'input': 'hello'}          |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_llm_stream        |                             | 'Hello'                                  |
    +----------------------+-----------------------------+------------------------------------------+
    | on_llm_end           | 'Hello human!'              |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_chain_start       |                             |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_chain_stream      |                             | "hello world!"                           |
    +----------------------+-----------------------------+------------------------------------------+
    | on_chain_end         | [Document(...)]             | "hello world!, goodbye world!"           |
    +----------------------+-----------------------------+------------------------------------------+
    | on_tool_start        | {"x": 1, "y": "2"}          |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_tool_end          |                             | {"x": 1, "y": "2"}                       |
    +----------------------+-----------------------------+------------------------------------------+
    | on_retriever_start   | {"query": "hello"}          |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_retriever_end     | {"query": "hello"}          | [Document(...), ..]                      |
    +----------------------+-----------------------------+------------------------------------------+
    | on_prompt_start      | {"question": "hello"}       |                                          |
    +----------------------+-----------------------------+------------------------------------------+
    | on_prompt_end        | {"question": "hello"}       | ChatPromptValue(messages: BaseMessage[]) |
    +----------------------+-----------------------------+------------------------------------------+
    

    The "on_chain_*" events are the default for Runnables that don't fit one of the above categories.

    In addition to the standard events above, users can also dispatch custom events.

    Custom events will be only be surfaced with in the v2 version of the API!

    A custom event has following format:

    +-----------+------+------------------------------------------------------------+
    | Attribute | Type | Description                                                |
    +===========+======+============================================================+
    | name      | str  | A user defined name for the event.                         |
    +-----------+------+------------------------------------------------------------+
    | data      | Any  | The data associated with the event. This can be anything.  |
    +-----------+------+------------------------------------------------------------+
    

    Here's an example:

    import { RunnableLambda } from "@langchain/core/runnables";
    import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
    // Use this import for web environments that don't support "async_hooks"
    // and manually pass config to child runs.
    // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

    const slowThing = RunnableLambda.from(async (someInput: string) => {
    // Placeholder for some slow operation
    await new Promise((resolve) => setTimeout(resolve, 100));
    await dispatchCustomEvent("progress_event", {
    message: "Finished step 1 of 2",
    });
    await new Promise((resolve) => setTimeout(resolve, 100));
    return "Done";
    });

    const eventStream = await slowThing.streamEvents("hello world", {
    version: "v2",
    });

    for await (const event of eventStream) {
    if (event.event === "on_custom_event") {
    console.log(event);
    }
    }

    Parameters

    • input: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • options: Partial<RunnableConfig<Record<string, any>>> & {
          version: "v1" | "v2";
      }
    • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

    Returns IterableReadableStream<StreamEvent>

  • Parameters

    • input: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • options: Partial<RunnableConfig<Record<string, any>>> & {
          encoding: "text/event-stream";
          version: "v1" | "v2";
      }
    • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

    Returns IterableReadableStream<Uint8Array<ArrayBufferLike>>

  • Stream all output from a runnable, as reported to the callback system. This includes all inner runs of LLMs, Retrievers, Tools, etc. Output is streamed as Log objects, which include a list of jsonpatch ops that describe how the state of the run has changed in each step, and the final state of the run. The jsonpatch ops can be applied in order to construct state.

    Parameters

    • input: StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>
    • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>
    • OptionalstreamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">

    Returns AsyncGenerator<RunLogPatch, any, any>

  • Default implementation of transform, which buffers input and then calls stream. Subclasses should override this method if they can start producing output while input is still being generated.

    Parameters

    • generator: AsyncGenerator<StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, any, any>
    • options: Partial<RunnableConfig<Record<string, any>>>

    Returns AsyncGenerator<any, any, any>

  • Bind config to a Runnable, returning a new Runnable.

    Parameters

    • config: Partial<RunnableConfig<Record<string, any>>>

      New configuration parameters to attach to the new runnable.

    Returns Runnable<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, any, RunnableConfig<Record<string, any>>>

    A new RunnableBinding with a config matching what's passed.

  • Create a new runnable from the current one that will try invoking other passed fallback runnables if the initial invocation fails.

    Parameters

    • fields: {
          fallbacks: Runnable<StructuredToolCallInput<ZodObject<{
              allowExternal: ZodOptional<ZodBoolean>;
              categories: ZodOptional<ZodArray<ZodEnum<[(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)]>, "many">>;
              excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
              excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
              instructions: ZodOptional<ZodString>;
              selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
              selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
              url: ZodString;
          }, "strip", ZodTypeAny, {
              allowExternal?: boolean;
              categories?: (
                  | "Documentation"
                  | "Blog"
                  | "Blogs"
                  | "Community"
                  | "About"
                  | "Contact"
                  | "Privacy"
                  | "Terms"
                  | "Status"
                  | "Pricing"
                  | "Enterprise"
                  | "Careers"
                  | "E-Commerce"
                  | "Authentication"
                  | "Developer"
                  | "Developers"
                  | "Solutions"
                  | "Partners"
                  | "Downloads"
                  | "Media"
                  | "Events"
                  | "People")[];
              excludeDomains?: string[];
              excludePaths?: string[];
              instructions?: string;
              selectDomains?: string[];
              selectPaths?: string[];
              url: string;
          }, {
              allowExternal?: boolean;
              categories?: (
                  | "Documentation"
                  | "Blog"
                  | "Blogs"
                  | "Community"
                  | "About"
                  | "Contact"
                  | "Privacy"
                  | "Terms"
                  | "Status"
                  | "Pricing"
                  | "Enterprise"
                  | "Careers"
                  | "E-Commerce"
                  | "Authentication"
                  | "Developer"
                  | "Developers"
                  | "Solutions"
                  | "Partners"
                  | "Downloads"
                  | "Media"
                  | "Events"
                  | "People")[];
              excludeDomains?: string[];
              excludePaths?: string[];
              instructions?: string;
              selectDomains?: string[];
              selectPaths?: string[];
              url: string;
          }>, {
              allowExternal?: boolean;
              categories?: (
                  | "Documentation"
                  | "Blog"
                  | "Blogs"
                  | "Community"
                  | "About"
                  | "Contact"
                  | "Privacy"
                  | "Terms"
                  | "Status"
                  | "Pricing"
                  | "Enterprise"
                  | "Careers"
                  | "E-Commerce"
                  | "Authentication"
                  | "Developer"
                  | "Developers"
                  | "Solutions"
                  | "Partners"
                  | "Downloads"
                  | "Media"
                  | "Events"
                  | "People")[];
              excludeDomains?: string[];
              excludePaths?: string[];
              instructions?: string;
              selectDomains?: string[];
              selectPaths?: string[];
              url: string;
          }>, any, RunnableConfig<Record<string, any>>>[];
      } | Runnable<StructuredToolCallInput<ZodObject<{
          allowExternal: ZodOptional<ZodBoolean>;
          categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
          excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
          excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
          instructions: ZodOptional<ZodString>;
          selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
          selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
          url: ZodString;
      }, "strip", ZodTypeAny, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, {
          allowExternal?: boolean;
          categories?: (
              | "Documentation"
              | "Blog"
              | "Blogs"
              | "Community"
              | "About"
              | "Contact"
              | "Privacy"
              | "Terms"
              | "Status"
              | "Pricing"
              | "Enterprise"
              | "Careers"
              | "E-Commerce"
              | "Authentication"
              | "Developer"
              | "Developers"
              | "Solutions"
              | "Partners"
              | "Downloads"
              | "Media"
              | "Events"
              | "People")[];
          excludeDomains?: string[];
          excludePaths?: string[];
          instructions?: string;
          selectDomains?: string[];
          selectPaths?: string[];
          url: string;
      }>, any, RunnableConfig<Record<string, any>>>[]

    Returns RunnableWithFallbacks<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, any>

    A new RunnableWithFallbacks.

  • Bind lifecycle listeners to a Runnable, returning a new Runnable. The Run object contains information about the run, including its id, type, input, output, error, startTime, endTime, and any tags or metadata added to the run.

    Parameters

    • params: {
          onEnd?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>);
          onError?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>);
          onStart?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>);
      }

      The object containing the callback functions.

      • OptionalonEnd?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>)

        Called after the runnable finishes running, with the Run object.

          • (run, config?): void | Promise<void>
          • Parameters

            • run: Run
            • Optionalconfig: RunnableConfig<Record<string, any>>

            Returns void | Promise<void>

      • OptionalonError?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>)

        Called if the runnable throws an error, with the Run object.

          • (run, config?): void | Promise<void>
          • Parameters

            • run: Run
            • Optionalconfig: RunnableConfig<Record<string, any>>

            Returns void | Promise<void>

      • OptionalonStart?: ((run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>)

        Called before the runnable starts running, with the Run object.

          • (run, config?): void | Promise<void>
          • Parameters

            • run: Run
            • Optionalconfig: RunnableConfig<Record<string, any>>

            Returns void | Promise<void>

    Returns Runnable<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, any, RunnableConfig<Record<string, any>>>

  • Add retry logic to an existing runnable.

    Parameters

    • Optionalfields: {
          onFailedAttempt?: RunnableRetryFailedAttemptHandler;
          stopAfterAttempt?: number;
      }
      • OptionalonFailedAttempt?: RunnableRetryFailedAttemptHandler

        A function that is called when a retry fails.

      • OptionalstopAfterAttempt?: number

        The number of attempts to retry.

    Returns RunnableRetry<StructuredToolCallInput<ZodObject<{
        allowExternal: ZodOptional<ZodBoolean>;
        categories: ZodOptional<ZodArray<ZodEnum<["Documentation", "Blog", "Blogs", "Community", "About", "Contact", "Privacy", "Terms", "Status", "Pricing", "Enterprise", "Careers", "E-Commerce", "Authentication", "Developer", "Developers"]>, "many">>;
        excludeDomains: ZodOptional<ZodArray<ZodString, "many">>;
        excludePaths: ZodOptional<ZodArray<ZodString, "many">>;
        instructions: ZodOptional<ZodString>;
        selectDomains: ZodOptional<ZodArray<ZodString, "many">>;
        selectPaths: ZodOptional<ZodArray<ZodString, "many">>;
        url: ZodString;
    }, "strip", ZodTypeAny, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, {
        allowExternal?: boolean;
        categories?: (
            | "Documentation"
            | "Blog"
            | "Blogs"
            | "Community"
            | "About"
            | "Contact"
            | "Privacy"
            | "Terms"
            | "Status"
            | "Pricing"
            | "Enterprise"
            | "Careers"
            | "E-Commerce"
            | "Authentication"
            | "Developer"
            | "Developers"
            | "Solutions"
            | "Partners"
            | "Downloads"
            | "Media"
            | "Events"
            | "People")[];
        excludeDomains?: string[];
        excludePaths?: string[];
        instructions?: string;
        selectDomains?: string[];
        selectPaths?: string[];
        url: string;
    }>, any, RunnableConfig<Record<string, any>>>

    A new RunnableRetry that, when invoked, will retry according to the parameters.

  • Parameters

    • thing: any

    Returns thing is Runnable<any, any, RunnableConfig<Record<string, any>>>