Home / File/ beta_tool_param.py — anthropic-sdk-python Source File

beta_tool_param.py — anthropic-sdk-python Source File

Architecture documentation for beta_tool_param.py, a python file in the anthropic-sdk-python codebase. 5 imports, 3 dependents.

File python AnthropicClient 5 imports 3 dependents 2 classes

Entity Profile

Dependency Diagram

graph LR
  1c4c78da_6003_b8a4_8245_9d84dfac5927["beta_tool_param.py"]
  c6699053_fad6_38a2_f621_9844eb5aedd2["_types"]
  1c4c78da_6003_b8a4_8245_9d84dfac5927 --> c6699053_fad6_38a2_f621_9844eb5aedd2
  2bc64f58_a0bc_b0fb_ccb0_7002d8485a3a["beta_cache_control_ephemeral_param.py"]
  1c4c78da_6003_b8a4_8245_9d84dfac5927 --> 2bc64f58_a0bc_b0fb_ccb0_7002d8485a3a
  f588de01_21b5_50f2_ffbb_cc9a67f33921["BetaCacheControlEphemeralParam"]
  1c4c78da_6003_b8a4_8245_9d84dfac5927 --> f588de01_21b5_50f2_ffbb_cc9a67f33921
  89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875["typing"]
  1c4c78da_6003_b8a4_8245_9d84dfac5927 --> 89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875
  37c05070_ca59_d596_7250_de9d1939227f["typing_extensions"]
  1c4c78da_6003_b8a4_8245_9d84dfac5927 --> 37c05070_ca59_d596_7250_de9d1939227f
  65f3d77c_c1b2_82e1_f9d7_1e7e05f3fdfd["__init__.py"]
  65f3d77c_c1b2_82e1_f9d7_1e7e05f3fdfd --> 1c4c78da_6003_b8a4_8245_9d84dfac5927
  44d57bee_e2e9_09e6_e442_ea81d4e62e60["beta_tool_union_param.py"]
  44d57bee_e2e9_09e6_e442_ea81d4e62e60 --> 1c4c78da_6003_b8a4_8245_9d84dfac5927
  579bd2f9_ae1a_5b30_88c4_93179ebb82b6["message_count_tokens_params.py"]
  579bd2f9_ae1a_5b30_88c4_93179ebb82b6 --> 1c4c78da_6003_b8a4_8245_9d84dfac5927
  style 1c4c78da_6003_b8a4_8245_9d84dfac5927 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing import Dict, List, Union, Iterable, Optional
from typing_extensions import Literal, Required, TypeAlias, TypedDict

from ..._types import SequenceNotStr
from .beta_cache_control_ephemeral_param import BetaCacheControlEphemeralParam

__all__ = ["BetaToolParam", "InputSchema"]


class InputSchemaTyped(TypedDict, total=False):
    """[JSON schema](https://json-schema.org/draft/2020-12) for this tool's input.

    This defines the shape of the `input` that your tool accepts and that the model will produce.
    """

    type: Required[Literal["object"]]

    properties: Optional[Dict[str, object]]

    required: Optional[SequenceNotStr[str]]


InputSchema: TypeAlias = Union[InputSchemaTyped, Dict[str, object]]


class BetaToolParam(TypedDict, total=False):
    input_schema: Required[InputSchema]
    """[JSON schema](https://json-schema.org/draft/2020-12) for this tool's input.

    This defines the shape of the `input` that your tool accepts and that the model
    will produce.
    """

    name: Required[str]
    """Name of the tool.

    This is how the tool will be called by the model and in `tool_use` blocks.
    """

    allowed_callers: List[Literal["direct", "code_execution_20250825"]]

    cache_control: Optional[BetaCacheControlEphemeralParam]
    """Create a cache control breakpoint at this content block."""

    defer_loading: bool
    """If true, tool will not be included in initial system prompt.

    Only loaded when returned via tool_reference from tool search.
    """

    description: str
    """Description of what this tool does.

    Tool descriptions should be as detailed as possible. The more information that
    the model has about what the tool is and how to use it, the better it will
    perform. You can use natural language descriptions to reinforce important
    aspects of the tool input JSON schema.
    """

    eager_input_streaming: Optional[bool]
    """Enable eager input streaming for this tool.

    When true, tool input parameters will be streamed incrementally as they are
    generated, and types will be inferred on-the-fly rather than buffering the full
    JSON output. When false, streaming is disabled for this tool even if the
    fine-grained-tool-streaming beta is active. When null (default), uses the
    default behavior based on beta headers.
    """

    input_examples: Iterable[Dict[str, object]]

    strict: bool
    """When true, guarantees schema validation on tool names and inputs"""

    type: Optional[Literal["custom"]]

Frequently Asked Questions

What does beta_tool_param.py do?
beta_tool_param.py is a source file in the anthropic-sdk-python codebase, written in python. It belongs to the AnthropicClient domain.
What does beta_tool_param.py depend on?
beta_tool_param.py imports 5 module(s): BetaCacheControlEphemeralParam, _types, beta_cache_control_ephemeral_param.py, typing, typing_extensions.
What files import beta_tool_param.py?
beta_tool_param.py is imported by 3 file(s): __init__.py, beta_tool_union_param.py, message_count_tokens_params.py.
Where is beta_tool_param.py in the architecture?
beta_tool_param.py is located at src/anthropic/types/beta/beta_tool_param.py (domain: AnthropicClient, directory: src/anthropic/types/beta).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free