{"version":3,"file":"types.cjs","sources":["../../../../src/llm/anthropic/types.ts"],"sourcesContent":["import Anthropic from '@anthropic-ai/sdk';\nimport { BindToolsInput } from '@langchain/core/language_models/chat_models';\n\nexport type AnthropicStreamUsage = Anthropic.Usage;\nexport type AnthropicMessageDeltaEvent = Anthropic.MessageDeltaEvent;\nexport type AnthropicMessageStartEvent = Anthropic.MessageStartEvent;\n\nexport type AnthropicToolResponse = {\n  type: 'tool_use';\n  id: string;\n  name: string;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  input: Record<string, any>;\n};\n\nexport type AnthropicMessageParam = Anthropic.MessageParam;\nexport type AnthropicMessageResponse =\n  | Anthropic.ContentBlock\n  | AnthropicToolResponse;\nexport type AnthropicMessageCreateParams =\n  Anthropic.MessageCreateParamsNonStreaming;\nexport type AnthropicStreamingMessageCreateParams =\n  Anthropic.MessageCreateParamsStreaming;\nexport type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;\nexport type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;\nexport type AnthropicRequestOptions = Anthropic.RequestOptions;\nexport type AnthropicToolChoice =\n  | {\n      type: 'tool';\n      name: string;\n    }\n  | 'any'\n  | 'auto'\n  | 'none'\n  | string;\nexport type ChatAnthropicToolType = Anthropic.Messages.Tool | BindToolsInput;\nexport type AnthropicTextBlockParam = Anthropic.Messages.TextBlockParam;\nexport type AnthropicImageBlockParam = Anthropic.Messages.ImageBlockParam;\nexport type AnthropicToolUseBlockParam = Anthropic.Messages.ToolUseBlockParam;\nexport type AnthropicToolResultBlockParam =\n  Anthropic.Messages.ToolResultBlockParam;\nexport type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;\nexport type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;\nexport type AnthropicRedactedThinkingBlockParam =\n  Anthropic.Messages.RedactedThinkingBlockParam;\nexport type AnthropicServerToolUseBlockParam =\n  Anthropic.Messages.ServerToolUseBlockParam;\nexport type AnthropicWebSearchToolResultBlockParam =\n  Anthropic.Messages.WebSearchToolResultBlockParam;\nexport type AnthropicWebSearchResultBlockParam =\n  Anthropic.Messages.WebSearchResultBlockParam;\nexport type AnthropicSearchResultBlockParam =\n  Anthropic.Beta.BetaSearchResultBlockParam;\nexport type AnthropicCompactionBlockParam =\n  Anthropic.Beta.BetaCompactionBlockParam;\nexport type AnthropicOutputConfig = Anthropic.Messages.OutputConfig;\nexport type ChatAnthropicOutputFormat = Anthropic.Messages.JSONOutputFormat;\n\n// Union of all possible content block types including server tool use\nexport type AnthropicContentBlock =\n  | AnthropicTextBlockParam\n  | AnthropicImageBlockParam\n  | AnthropicToolUseBlockParam\n  | AnthropicToolResultBlockParam\n  | AnthropicDocumentBlockParam\n  | AnthropicThinkingBlockParam\n  | AnthropicRedactedThinkingBlockParam\n  | AnthropicServerToolUseBlockParam\n  | AnthropicWebSearchToolResultBlockParam\n  | AnthropicWebSearchResultBlockParam\n  | AnthropicCompactionBlockParam;\n\n// Union of all possible content block types including server tool use\nexport type ChatAnthropicContentBlock =\n  | AnthropicTextBlockParam\n  | AnthropicImageBlockParam\n  | AnthropicToolUseBlockParam\n  | AnthropicToolResultBlockParam\n  | AnthropicDocumentBlockParam\n  | AnthropicThinkingBlockParam\n  | AnthropicRedactedThinkingBlockParam\n  | AnthropicServerToolUseBlockParam\n  | AnthropicWebSearchToolResultBlockParam\n  | AnthropicWebSearchResultBlockParam\n  | AnthropicSearchResultBlockParam\n  | AnthropicCompactionBlockParam;\n\nexport function isAnthropicImageBlockParam(\n  block: unknown\n): block is AnthropicImageBlockParam {\n  if (block == null) {\n    return false;\n  }\n  if (typeof block !== 'object') {\n    return false;\n  }\n  if (!('type' in block) || block.type !== 'image') {\n    return false;\n  }\n\n  if (!('source' in block) || typeof block.source !== 'object') {\n    return false;\n  }\n\n  if (block.source == null) {\n    return false;\n  }\n\n  if (!('type' in block.source)) {\n    return false;\n  }\n\n  if (block.source.type === 'base64') {\n    if (!('media_type' in block.source)) {\n      return false;\n    }\n\n    if (typeof block.source.media_type !== 'string') {\n      return false;\n    }\n\n    if (!('data' in block.source)) {\n      return false;\n    }\n\n    if (typeof block.source.data !== 'string') {\n      return false;\n    }\n\n    return true;\n  }\n\n  if (block.source.type === 'url') {\n    if (!('url' in block.source)) {\n      return false;\n    }\n\n    if (typeof block.source.url !== 'string') {\n      return false;\n    }\n\n    return true;\n  }\n\n  return false;\n}\n"],"names":[],"mappings":";;AAuFM,SAAU,0BAA0B,CACxC,KAAc,EAAA;AAEd,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAChD,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC5D,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACxB,QAAA,OAAO,KAAK;IACd;IAEA,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AAC7B,QAAA,OAAO,KAAK;IACd;IAEA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QAClC,IAAI,EAAE,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;AAC/C,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AAC7B,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzC,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE;QAC/B,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5B,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;AACxC,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,KAAK;AACd;;;;"}