claude-1.0.1: Servant bindings to Anthropic's Claude API
Safe HaskellNone
LanguageHaskell2010

Claude.V1.Messages

Description

/v1/messages

This module provides types and utilities for the Claude Messages API.

Synopsis

Main types

data CreateMessage Source #

Request body for /v1/messages

For programmatic tool calling (PTC), use the container field to reuse a code execution container from a previous response.

Constructors

CreateMessage 

Fields

Instances

Instances details
FromJSON CreateMessage Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON CreateMessage Source # 
Instance details

Defined in Claude.V1.Messages

Generic CreateMessage Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep CreateMessage 
Instance details

Defined in Claude.V1.Messages

type Rep CreateMessage = D1 ('MetaData "CreateMessage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CreateMessage" 'PrefixI 'True) (((S1 ('MetaSel ('Just "model") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Message)) :*: S1 ('MetaSel ('Just "max_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural))) :*: ((S1 ('MetaSel ('Just "system") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "temperature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double))) :*: (S1 ('MetaSel ('Just "top_p") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "top_k") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural))))) :*: ((S1 ('MetaSel ('Just "stop_sequences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Text))) :*: (S1 ('MetaSel ('Just "stream") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "metadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Map Text Text))))) :*: ((S1 ('MetaSel ('Just "tools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector ToolDefinition))) :*: S1 ('MetaSel ('Just "tool_choice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolChoice))) :*: (S1 ('MetaSel ('Just "container") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "output_format") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe OutputFormat)))))))
Show CreateMessage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CreateMessage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CreateMessage = D1 ('MetaData "CreateMessage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CreateMessage" 'PrefixI 'True) (((S1 ('MetaSel ('Just "model") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Message)) :*: S1 ('MetaSel ('Just "max_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural))) :*: ((S1 ('MetaSel ('Just "system") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "temperature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double))) :*: (S1 ('MetaSel ('Just "top_p") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "top_k") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural))))) :*: ((S1 ('MetaSel ('Just "stop_sequences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Text))) :*: (S1 ('MetaSel ('Just "stream") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "metadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Map Text Text))))) :*: ((S1 ('MetaSel ('Just "tools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector ToolDefinition))) :*: S1 ('MetaSel ('Just "tool_choice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolChoice))) :*: (S1 ('MetaSel ('Just "container") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "output_format") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe OutputFormat)))))))

_CreateMessage :: CreateMessage Source #

Default CreateMessage with only required fields

data MessageResponse Source #

Response from the Messages API

For programmatic tool calling (PTC), the container field contains information about the code execution container, which can be reused across turns by passing its id in subsequent requests.

Instances

Instances details
FromJSON MessageResponse Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON MessageResponse Source # 
Instance details

Defined in Claude.V1.Messages

Generic MessageResponse Source # 
Instance details

Defined in Claude.V1.Messages

Show MessageResponse Source # 
Instance details

Defined in Claude.V1.Messages

type Rep MessageResponse Source # 
Instance details

Defined in Claude.V1.Messages

data MessageStreamEvent Source #

Streaming events for /v1/messages

Instances

Instances details
FromJSON MessageStreamEvent Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON MessageStreamEvent Source # 
Instance details

Defined in Claude.V1.Messages

Generic MessageStreamEvent Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep MessageStreamEvent 
Instance details

Defined in Claude.V1.Messages

type Rep MessageStreamEvent = D1 ('MetaData "MessageStreamEvent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (((C1 ('MetaCons "Message_Start" 'PrefixI 'True) (S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageResponse)) :+: C1 ('MetaCons "Content_Block_Start" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "content_block") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ContentBlock))) :+: (C1 ('MetaCons "Content_Block_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "delta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ContentBlockDelta)) :+: C1 ('MetaCons "Content_Block_Stop" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))) :+: ((C1 ('MetaCons "Message_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "message_delta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageDelta) :*: S1 ('MetaSel ('Just "usage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StreamUsage)) :+: C1 ('MetaCons "Message_Stop" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Ping" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Error" 'PrefixI 'True) (S1 ('MetaSel ('Just "error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))))
Show MessageStreamEvent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep MessageStreamEvent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep MessageStreamEvent = D1 ('MetaData "MessageStreamEvent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (((C1 ('MetaCons "Message_Start" 'PrefixI 'True) (S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageResponse)) :+: C1 ('MetaCons "Content_Block_Start" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "content_block") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ContentBlock))) :+: (C1 ('MetaCons "Content_Block_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "delta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ContentBlockDelta)) :+: C1 ('MetaCons "Content_Block_Stop" 'PrefixI 'True) (S1 ('MetaSel ('Just "index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))) :+: ((C1 ('MetaCons "Message_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "message_delta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageDelta) :*: S1 ('MetaSel ('Just "usage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StreamUsage)) :+: C1 ('MetaCons "Message_Stop" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Ping" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Error" 'PrefixI 'True) (S1 ('MetaSel ('Just "error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))))

Structured outputs

data OutputFormat Source #

Output format specification for structured outputs

Use with the structured-outputs-2025-11-13 beta header.

Example:

let outputFormat = jsonSchemaFormat $ Aeson.object
        [ "type" .= ("object" :: Text)
        , "properties" .= Aeson.object
            [ "name" .= Aeson.object ["type" .= ("string" :: Text)]
            , "age" .= Aeson.object ["type" .= ("integer" :: Text)]
            ]
        , "required" .= (["name", "age"] :: [Text])
        , "additionalProperties" .= False
        ]

Constructors

OutputFormat 

Fields

Instances

Instances details
FromJSON OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

Generic OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep OutputFormat 
Instance details

Defined in Claude.V1.Messages

type Rep OutputFormat = D1 ('MetaData "OutputFormat" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "OutputFormat" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "schema") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))
Show OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

Eq OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

type Rep OutputFormat Source # 
Instance details

Defined in Claude.V1.Messages

type Rep OutputFormat = D1 ('MetaData "OutputFormat" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "OutputFormat" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "schema") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))

jsonSchemaFormat :: Value -> OutputFormat Source #

Create a JSON schema output format

This is the primary way to use structured outputs.

Content types

data Content Source #

Content block in a message (for requests)

For programmatic tool calling (PTC), replay assistant messages using:

Instances

Instances details
FromJSON Content Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON Content Source # 
Instance details

Defined in Claude.V1.Messages

Generic Content Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep Content 
Instance details

Defined in Claude.V1.Messages

type Rep Content = D1 ('MetaData "Content" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "Content_Text" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl))) :+: C1 ('MetaCons "Content_Image" 'PrefixI 'True) (S1 ('MetaSel ('Just "source") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImageSource) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl)))) :+: (C1 ('MetaCons "Content_Tool_Use" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "caller") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolCaller)))) :+: (C1 ('MetaCons "Content_Server_Tool_Use" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))) :+: C1 ('MetaCons "Content_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "is_error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))))

Methods

from :: Content -> Rep Content x #

to :: Rep Content x -> Content #

Show Content Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Content Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Content = D1 ('MetaData "Content" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "Content_Text" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl))) :+: C1 ('MetaCons "Content_Image" 'PrefixI 'True) (S1 ('MetaSel ('Just "source") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImageSource) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl)))) :+: (C1 ('MetaCons "Content_Tool_Use" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "caller") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolCaller)))) :+: (C1 ('MetaCons "Content_Server_Tool_Use" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))) :+: C1 ('MetaCons "Content_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "is_error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))))

data ContentBlock Source #

Content block in a response

Extended to support:

  • server_tool_use: Server-initiated tool use (e.g., tool search, code execution)
  • tool_search_tool_result: Results from server-side tool search
  • code_execution_tool_result: Results from code execution (PTC)

For programmatic tool calling, ContentBlock_Tool_Use includes an optional caller field indicating whether the tool was called directly by Claude or programmatically by code execution.

Instances

Instances details
FromJSON ContentBlock Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ContentBlock Source # 
Instance details

Defined in Claude.V1.Messages

Generic ContentBlock Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ContentBlock 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlock = D1 ('MetaData "ContentBlock" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "ContentBlock_Text" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "ContentBlock_Tool_Use" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "caller") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolCaller)))) :+: C1 ('MetaCons "ContentBlock_Server_Tool_Use" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))))) :+: (C1 ('MetaCons "ContentBlock_Tool_Search_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tool_search_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ToolSearchToolResultContent)) :+: (C1 ('MetaCons "ContentBlock_Code_Execution_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "code_execution_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CodeExecutionToolResultContent)) :+: C1 ('MetaCons "ContentBlock_Unknown" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "raw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))))
Show ContentBlock Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlock Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlock = D1 ('MetaData "ContentBlock" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "ContentBlock_Text" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "ContentBlock_Tool_Use" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "caller") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolCaller)))) :+: C1 ('MetaCons "ContentBlock_Server_Tool_Use" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))))) :+: (C1 ('MetaCons "ContentBlock_Tool_Search_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tool_search_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ToolSearchToolResultContent)) :+: (C1 ('MetaCons "ContentBlock_Code_Execution_Tool_Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "code_execution_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CodeExecutionToolResultContent)) :+: C1 ('MetaCons "ContentBlock_Unknown" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "raw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))))

data TextContent Source #

Text content block

Constructors

TextContent 

Fields

Instances

Instances details
FromJSON TextContent Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON TextContent Source # 
Instance details

Defined in Claude.V1.Messages

Generic TextContent Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep TextContent 
Instance details

Defined in Claude.V1.Messages

type Rep TextContent = D1 ('MetaData "TextContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TextContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show TextContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TextContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TextContent = D1 ('MetaData "TextContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TextContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ImageSource Source #

Image source for vision capabilities

Constructors

ImageSource 

Fields

Instances

Instances details
FromJSON ImageSource Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ImageSource Source # 
Instance details

Defined in Claude.V1.Messages

Generic ImageSource Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ImageSource 
Instance details

Defined in Claude.V1.Messages

type Rep ImageSource = D1 ('MetaData "ImageSource" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ImageSource" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "media_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))
Show ImageSource Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ImageSource Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ImageSource = D1 ('MetaData "ImageSource" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ImageSource" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "media_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data ToolUseContent Source #

Tool use content block (in assistant messages)

Constructors

ToolUseContent 

Fields

Instances

Instances details
FromJSON ToolUseContent Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ToolUseContent Source # 
Instance details

Defined in Claude.V1.Messages

Generic ToolUseContent Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ToolUseContent 
Instance details

Defined in Claude.V1.Messages

type Rep ToolUseContent = D1 ('MetaData "ToolUseContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolUseContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))))
Show ToolUseContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolUseContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolUseContent = D1 ('MetaData "ToolUseContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolUseContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value))))

data ToolResultContent Source #

Tool result content (in user messages, following tool use)

Instances

Instances details
FromJSON ToolResultContent Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ToolResultContent Source # 
Instance details

Defined in Claude.V1.Messages

Generic ToolResultContent Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ToolResultContent 
Instance details

Defined in Claude.V1.Messages

type Rep ToolResultContent = D1 ('MetaData "ToolResultContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolResultContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "is_error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))
Show ToolResultContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolResultContent Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolResultContent = D1 ('MetaData "ToolResultContent" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolResultContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_use_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "is_error") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))

Message types

data Message Source #

A message in the conversation

The optional cache_control field allows setting cache breakpoints at the message level (in addition to content-level caching).

Constructors

Message 

Instances

Instances details
FromJSON Message Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON Message Source # 
Instance details

Defined in Claude.V1.Messages

Generic Message Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep Message 
Instance details

Defined in Claude.V1.Messages

type Rep Message = D1 ('MetaData "Message" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Message" 'PrefixI 'True) (S1 ('MetaSel ('Just "role") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Content)) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl)))))

Methods

from :: Message -> Rep Message x #

to :: Rep Message x -> Message #

Show Message Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Message Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Message = D1 ('MetaData "Message" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Message" 'PrefixI 'True) (S1 ('MetaSel ('Just "role") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Content)) :*: S1 ('MetaSel ('Just "cache_control") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CacheControl)))))

data Role Source #

Role of a message participant

Constructors

User 
Assistant 

Instances

Instances details
FromJSON Role Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON Role Source # 
Instance details

Defined in Claude.V1.Messages

Generic Role Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep Role 
Instance details

Defined in Claude.V1.Messages

type Rep Role = D1 ('MetaData "Role" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "User" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Assistant" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Role -> Rep Role x #

to :: Rep Role x -> Role #

Show Role Source # 
Instance details

Defined in Claude.V1.Messages

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

Eq Role Source # 
Instance details

Defined in Claude.V1.Messages

Methods

(==) :: Role -> Role -> Bool #

(/=) :: Role -> Role -> Bool #

type Rep Role Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Role = D1 ('MetaData "Role" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "User" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Assistant" 'PrefixI 'False) (U1 :: Type -> Type))

Response types

data StopReason Source #

Reason why the model stopped generating

Constructors

End_Turn 
Max_Tokens 
Stop_Sequence 
Tool_Use 
Refusal

Model refused the request for safety reasons (structured outputs only)

Instances

Instances details
FromJSON StopReason Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON StopReason Source # 
Instance details

Defined in Claude.V1.Messages

Generic StopReason Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep StopReason 
Instance details

Defined in Claude.V1.Messages

type Rep StopReason = D1 ('MetaData "StopReason" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "End_Turn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Max_Tokens" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Stop_Sequence" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Tool_Use" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Refusal" 'PrefixI 'False) (U1 :: Type -> Type))))
Show StopReason Source # 
Instance details

Defined in Claude.V1.Messages

Eq StopReason Source # 
Instance details

Defined in Claude.V1.Messages

type Rep StopReason Source # 
Instance details

Defined in Claude.V1.Messages

type Rep StopReason = D1 ('MetaData "StopReason" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) ((C1 ('MetaCons "End_Turn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Max_Tokens" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Stop_Sequence" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Tool_Use" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Refusal" 'PrefixI 'False) (U1 :: Type -> Type))))

data Usage Source #

Token usage information

Instances

Instances details
FromJSON Usage Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON Usage Source # 
Instance details

Defined in Claude.V1.Messages

Generic Usage Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep Usage 
Instance details

Defined in Claude.V1.Messages

type Rep Usage = D1 ('MetaData "Usage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Usage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "output_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)) :*: (S1 ('MetaSel ('Just "cache_creation_input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "cache_read_input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "server_tool_use") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ServerToolUseUsage))))))

Methods

from :: Usage -> Rep Usage x #

to :: Rep Usage x -> Usage #

Show Usage Source # 
Instance details

Defined in Claude.V1.Messages

Methods

showsPrec :: Int -> Usage -> ShowS #

show :: Usage -> String #

showList :: [Usage] -> ShowS #

type Rep Usage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep Usage = D1 ('MetaData "Usage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Usage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "output_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)) :*: (S1 ('MetaSel ('Just "cache_creation_input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "cache_read_input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "server_tool_use") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ServerToolUseUsage))))))

data ServerToolUseUsage Source #

Server tool use usage information (e.g., tool search requests, web search requests)

Instances

Instances details
FromJSON ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

Generic ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ServerToolUseUsage 
Instance details

Defined in Claude.V1.Messages

type Rep ServerToolUseUsage = D1 ('MetaData "ServerToolUseUsage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ServerToolUseUsage" 'PrefixI 'True) (S1 ('MetaSel ('Just "web_search_requests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "tool_search_requests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural))))
Show ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

Eq ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ServerToolUseUsage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ServerToolUseUsage = D1 ('MetaData "ServerToolUseUsage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ServerToolUseUsage" 'PrefixI 'True) (S1 ('MetaSel ('Just "web_search_requests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "tool_search_requests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural))))

Tool search response types

data ToolReference Source #

A reference to a tool found by tool search

Constructors

ToolReference 

Fields

Instances

Instances details
FromJSON ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

Generic ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ToolReference 
Instance details

Defined in Claude.V1.Messages

type Rep ToolReference = D1 ('MetaData "ToolReference" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolReference" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

Eq ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolReference Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ToolReference = D1 ('MetaData "ToolReference" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolReference" 'PrefixI 'True) (S1 ('MetaSel ('Just "tool_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ToolSearchToolResultContent Source #

Content of a tool search tool result

This can be either successful search results with tool references, an error, or an unknown type for forward compatibility.

Programmatic tool calling (PTC) types

data ContainerInfo Source #

Container information for programmatic tool calling (PTC)

When using code execution, Claude runs code in a container. The container can be reused across multiple turns by passing its id in subsequent requests.

Constructors

ContainerInfo 

Fields

Instances

Instances details
FromJSON ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

Generic ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ContainerInfo 
Instance details

Defined in Claude.V1.Messages

type Rep ContainerInfo = D1 ('MetaData "ContainerInfo" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ContainerInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "expires_at") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)))
Show ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

Eq ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContainerInfo Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContainerInfo = D1 ('MetaData "ContainerInfo" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ContainerInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "expires_at") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)))

data ToolCaller Source #

Identifies who called a tool (for programmatic tool calling)

data CodeExecutionResult Source #

Result from code execution

Contains stdout, stderr, return code, and any additional content (e.g., generated files, images).

Constructors

CodeExecutionResult 

Fields

Instances

Instances details
FromJSON CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

Generic CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep CodeExecutionResult 
Instance details

Defined in Claude.V1.Messages

type Rep CodeExecutionResult = D1 ('MetaData "CodeExecutionResult" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CodeExecutionResult" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stdout") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "stderr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "return_code") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Value)))))
Show CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

Eq CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CodeExecutionResult Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CodeExecutionResult = D1 ('MetaData "CodeExecutionResult" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CodeExecutionResult" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stdout") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "stderr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "return_code") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Value)))))

data CodeExecutionToolResultContent Source #

Content of a code execution tool result

contentBlockToContent :: ContentBlock -> Maybe Content Source #

Convert a response ContentBlock to a request Content for replaying

This is useful for programmatic tool calling (PTC) where you need to replay assistant messages in subsequent requests.

Returns Nothing for content blocks that don't need to be replayed:

Tool types (re-exported from Claude.V1.Tool)

data Tool Source #

A tool that can be used by Claude

Tools allow Claude to call external functions. When Claude decides to use a tool, it will return a tool_use content block with the tool name and input arguments.

Set strict = Just True to enable strict schema validation (structured outputs). This requires the structured-outputs-2025-11-13 beta header.

Constructors

Tool 

Fields

Instances

Instances details
FromJSON Tool Source # 
Instance details

Defined in Claude.V1.Tool

ToJSON Tool Source # 
Instance details

Defined in Claude.V1.Tool

Generic Tool Source # 
Instance details

Defined in Claude.V1.Tool

Associated Types

type Rep Tool 
Instance details

Defined in Claude.V1.Tool

Methods

from :: Tool -> Rep Tool x #

to :: Rep Tool x -> Tool #

Show Tool Source # 
Instance details

Defined in Claude.V1.Tool

Methods

showsPrec :: Int -> Tool -> ShowS #

show :: Tool -> String #

showList :: [Tool] -> ShowS #

Eq Tool Source # 
Instance details

Defined in Claude.V1.Tool

Methods

(==) :: Tool -> Tool -> Bool #

(/=) :: Tool -> Tool -> Bool #

type Rep Tool Source # 
Instance details

Defined in Claude.V1.Tool

data ToolChoice Source #

Controls which tool the model should use

Constructors

ToolChoice_Auto

Let Claude decide whether to use tools

ToolChoice_Any

Force Claude to use one of the provided tools

ToolChoice_Tool

Force Claude to use a specific tool

Fields

Instances

Instances details
FromJSON ToolChoice Source # 
Instance details

Defined in Claude.V1.Tool

ToJSON ToolChoice Source # 
Instance details

Defined in Claude.V1.Tool

Generic ToolChoice Source # 
Instance details

Defined in Claude.V1.Tool

Associated Types

type Rep ToolChoice 
Instance details

Defined in Claude.V1.Tool

type Rep ToolChoice = D1 ('MetaData "ToolChoice" "Claude.V1.Tool" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolChoice_Auto" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ToolChoice_Any" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ToolChoice_Tool" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))
Show ToolChoice Source # 
Instance details

Defined in Claude.V1.Tool

type Rep ToolChoice Source # 
Instance details

Defined in Claude.V1.Tool

type Rep ToolChoice = D1 ('MetaData "ToolChoice" "Claude.V1.Tool" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "ToolChoice_Auto" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ToolChoice_Any" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ToolChoice_Tool" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data InputSchema Source #

Tool input schema (JSON Schema)

The schema follows JSON Schema format. At minimum, specify type_ as "object". For strict mode (structured outputs), set additionalProperties = Just False.

Constructors

InputSchema 

Fields

Instances

Instances details
FromJSON InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

ToJSON InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

Generic InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

Associated Types

type Rep InputSchema 
Instance details

Defined in Claude.V1.Tool

type Rep InputSchema = D1 ('MetaData "InputSchema" "Claude.V1.Tool" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "InputSchema" 'PrefixI 'True) ((S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value))) :*: (S1 ('MetaSel ('Just "required") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Text))) :*: S1 ('MetaSel ('Just "additionalProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))
Show InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

Eq InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

type Rep InputSchema Source # 
Instance details

Defined in Claude.V1.Tool

type Rep InputSchema = D1 ('MetaData "InputSchema" "Claude.V1.Tool" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "InputSchema" 'PrefixI 'True) ((S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value))) :*: (S1 ('MetaSel ('Just "required") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Text))) :*: S1 ('MetaSel ('Just "additionalProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))

data ToolDefinition Source #

A tool definition for the tools array

The tools array in Claude API requests is heterogeneous:

  • Function tools: regular tools with name, description, and input schema
  • Tool search tools: server-side tool search configuration
  • Code execution tool: for programmatic tool calling (PTC)

Use inlineTool or deferredTool to wrap a Tool, or toolSearchRegex/toolSearchBm25 to add tool search capability. Use codeExecutionTool for PTC.

data ToolSearchTool Source #

Tool search tool configuration

Used to enable server-side tool search, which allows Claude to efficiently search through large numbers of tools using regex or BM25 matching.

Constructors

ToolSearchTool 

functionTool Source #

Arguments

:: Text

Tool name (must match [a-zA-Z0-9_-]+)

-> Maybe Text

Description of what the tool does

-> Value

JSON Schema for the input parameters

-> Tool 

Create a function tool with a name, description, and JSON schema for parameters

This is the primary way to define tools for Claude. To enable strict schema validation, use strictFunctionTool instead.

strictFunctionTool Source #

Arguments

:: Text

Tool name (must match [a-zA-Z0-9_-]+)

-> Maybe Text

Description of what the tool does

-> Value

JSON Schema for the input parameters

-> Tool 

Create a function tool with strict schema validation enabled

This is like functionTool but enables strict mode for structured outputs. Automatically sets additionalProperties = False as required by the API. Requires the structured-outputs-2025-11-13 beta header.

inlineTool :: Tool -> ToolDefinition Source #

Wrap a tool for inline (non-deferred) loading

deferredTool :: Tool -> ToolDefinition Source #

Wrap a tool for deferred loading (used with tool search)

toolSearchRegex :: ToolDefinition Source #

Tool search using regex matching

Requires anthropic-beta: advanced-tool-use-2025-11-20 header.

toolSearchBm25 :: ToolDefinition Source #

Tool search using BM25 matching

Requires anthropic-beta: advanced-tool-use-2025-11-20 header.

codeExecutionTool :: ToolDefinition Source #

Code execution tool for programmatic tool calling (PTC)

Requires anthropic-beta: advanced-tool-use-2025-11-20 header. When included in the tools array, Claude can write and execute code to call other tools programmatically.

allowedCallersCodeExecution :: Vector Text Source #

Allowed callers for code execution (PTC)

Use with allowCallers to mark a function tool as callable by code execution.

allowCallers :: Vector Text -> ToolDefinition -> ToolDefinition Source #

Set allowed_callers on a function tool definition

Only affects ToolDef_Function; other tool types are returned unchanged.

Example:

allowCallers allowedCallersCodeExecution (inlineTool myTool)

toolChoiceAuto :: ToolChoice Source #

Convenience: auto tool choice (let Claude decide)

toolChoiceAny :: ToolChoice Source #

Convenience: any tool choice (force tool use)

toolChoiceTool :: Text -> ToolChoice Source #

Convenience: specific tool choice

Streaming types

data ContentBlockDelta Source #

Content block delta in streaming

Instances

Instances details
FromJSON ContentBlockDelta Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON ContentBlockDelta Source # 
Instance details

Defined in Claude.V1.Messages

Generic ContentBlockDelta Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep ContentBlockDelta 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlockDelta = D1 ('MetaData "ContentBlockDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Delta_Text_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "Delta_Input_Json_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "partial_json") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show ContentBlockDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlockDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep ContentBlockDelta = D1 ('MetaData "ContentBlockDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "Delta_Text_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "Delta_Input_Json_Delta" 'PrefixI 'True) (S1 ('MetaSel ('Just "partial_json") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data TextDelta Source #

Text delta in streaming

Constructors

TextDelta 

Fields

Instances

Instances details
FromJSON TextDelta Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON TextDelta Source # 
Instance details

Defined in Claude.V1.Messages

Generic TextDelta Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep TextDelta 
Instance details

Defined in Claude.V1.Messages

type Rep TextDelta = D1 ('MetaData "TextDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TextDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show TextDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TextDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TextDelta = D1 ('MetaData "TextDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TextDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data InputJsonDelta Source #

Input JSON delta in streaming (for tool use)

Constructors

InputJsonDelta 

Fields

Instances

Instances details
FromJSON InputJsonDelta Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON InputJsonDelta Source # 
Instance details

Defined in Claude.V1.Messages

Generic InputJsonDelta Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep InputJsonDelta 
Instance details

Defined in Claude.V1.Messages

type Rep InputJsonDelta = D1 ('MetaData "InputJsonDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "InputJsonDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "partial_json") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show InputJsonDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep InputJsonDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep InputJsonDelta = D1 ('MetaData "InputJsonDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "InputJsonDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "partial_json") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data MessageDelta Source #

Message delta in streaming (for stop_reason, etc.)

Instances

Instances details
FromJSON MessageDelta Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON MessageDelta Source # 
Instance details

Defined in Claude.V1.Messages

Generic MessageDelta Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep MessageDelta 
Instance details

Defined in Claude.V1.Messages

type Rep MessageDelta = D1 ('MetaData "MessageDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "MessageDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "stop_reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe StopReason)) :*: S1 ('MetaSel ('Just "stop_sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))
Show MessageDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep MessageDelta Source # 
Instance details

Defined in Claude.V1.Messages

type Rep MessageDelta = D1 ('MetaData "MessageDelta" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "MessageDelta" 'PrefixI 'True) (S1 ('MetaSel ('Just "stop_reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe StopReason)) :*: S1 ('MetaSel ('Just "stop_sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))

data StreamUsage Source #

Usage in streaming message_delta events

Constructors

StreamUsage 

Instances

Instances details
FromJSON StreamUsage Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON StreamUsage Source # 
Instance details

Defined in Claude.V1.Messages

Generic StreamUsage Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep StreamUsage 
Instance details

Defined in Claude.V1.Messages

type Rep StreamUsage = D1 ('MetaData "StreamUsage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "StreamUsage" 'PrefixI 'True) (S1 ('MetaSel ('Just "output_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))
Show StreamUsage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep StreamUsage Source # 
Instance details

Defined in Claude.V1.Messages

type Rep StreamUsage = D1 ('MetaData "StreamUsage" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "StreamUsage" 'PrefixI 'True) (S1 ('MetaSel ('Just "output_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))

Token counting

data CountTokensRequest Source #

Request body for /v1/messages/count_tokens

Note: This differs from CreateMessage - it doesn't include max_tokens and other generation parameters.

Instances

Instances details
FromJSON CountTokensRequest Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON CountTokensRequest Source # 
Instance details

Defined in Claude.V1.Messages

Generic CountTokensRequest Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep CountTokensRequest 
Instance details

Defined in Claude.V1.Messages

type Rep CountTokensRequest = D1 ('MetaData "CountTokensRequest" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CountTokensRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "model") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Message))) :*: (S1 ('MetaSel ('Just "system") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "tools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector ToolDefinition))) :*: S1 ('MetaSel ('Just "tool_choice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolChoice))))))
Show CountTokensRequest Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CountTokensRequest Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CountTokensRequest = D1 ('MetaData "CountTokensRequest" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CountTokensRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "model") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Message))) :*: (S1 ('MetaSel ('Just "system") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "tools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector ToolDefinition))) :*: S1 ('MetaSel ('Just "tool_choice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolChoice))))))

_CountTokensRequest :: CountTokensRequest Source #

Default CountTokensRequest

data TokenCount Source #

Response from the token counting endpoint

Constructors

TokenCount 

Instances

Instances details
FromJSON TokenCount Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON TokenCount Source # 
Instance details

Defined in Claude.V1.Messages

Generic TokenCount Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep TokenCount 
Instance details

Defined in Claude.V1.Messages

type Rep TokenCount = D1 ('MetaData "TokenCount" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TokenCount" 'PrefixI 'True) (S1 ('MetaSel ('Just "input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))
Show TokenCount Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TokenCount Source # 
Instance details

Defined in Claude.V1.Messages

type Rep TokenCount = D1 ('MetaData "TokenCount" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "TokenCount" 'PrefixI 'True) (S1 ('MetaSel ('Just "input_tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))

Prompt caching

data CacheControl Source #

Cache control for prompt caching

Constructors

CacheControl 

Fields

  • type_ :: Text

    Currently only "ephemeral" is supported

Instances

Instances details
FromJSON CacheControl Source # 
Instance details

Defined in Claude.V1.Messages

ToJSON CacheControl Source # 
Instance details

Defined in Claude.V1.Messages

Generic CacheControl Source # 
Instance details

Defined in Claude.V1.Messages

Associated Types

type Rep CacheControl 
Instance details

Defined in Claude.V1.Messages

type Rep CacheControl = D1 ('MetaData "CacheControl" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CacheControl" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show CacheControl Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CacheControl Source # 
Instance details

Defined in Claude.V1.Messages

type Rep CacheControl = D1 ('MetaData "CacheControl" "Claude.V1.Messages" "claude-1.0.1-EgYZW4derSS3e7Da0dFQBO" 'False) (C1 ('MetaCons "CacheControl" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

ephemeralCache :: CacheControl Source #

Convenience constructor for ephemeral cache control

Convenience constructors

textContent :: Text -> Content Source #

Create a text content block without cache control

imageContent :: ImageSource -> Content Source #

Create an image content block without cache control

Servant

type API = "messages" :> (MessagesAPI :<|> CountTokensAPI) Source #

Combined Servant API

type MessagesAPI = ReqBody '[JSON] CreateMessage :> Post '[JSON] MessageResponse Source #

Servant API for /v1/messages

type CountTokensAPI = "count_tokens" :> (ReqBody '[JSON] CountTokensRequest :> Post '[JSON] TokenCount) Source #

Servant API for /v1/messages/count_tokens