@langchain/anthropic 0.3.31 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +8 -8
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/chat_models.cjs +781 -1012
  4. package/dist/chat_models.cjs.map +1 -0
  5. package/dist/chat_models.d.cts +620 -0
  6. package/dist/chat_models.d.cts.map +1 -0
  7. package/dist/chat_models.d.ts +227 -211
  8. package/dist/chat_models.d.ts.map +1 -0
  9. package/dist/chat_models.js +775 -1003
  10. package/dist/chat_models.js.map +1 -0
  11. package/dist/index.cjs +6 -20
  12. package/dist/index.d.cts +4 -0
  13. package/dist/index.d.ts +4 -3
  14. package/dist/index.js +4 -2
  15. package/dist/output_parsers.cjs +65 -104
  16. package/dist/output_parsers.cjs.map +1 -0
  17. package/dist/output_parsers.js +64 -100
  18. package/dist/output_parsers.js.map +1 -0
  19. package/dist/types.d.cts +33 -0
  20. package/dist/types.d.cts.map +1 -0
  21. package/dist/types.d.ts +30 -32
  22. package/dist/types.d.ts.map +1 -0
  23. package/dist/utils/content.cjs +151 -0
  24. package/dist/utils/content.cjs.map +1 -0
  25. package/dist/utils/content.js +146 -0
  26. package/dist/utils/content.js.map +1 -0
  27. package/dist/utils/errors.cjs +16 -27
  28. package/dist/utils/errors.cjs.map +1 -0
  29. package/dist/utils/errors.js +17 -25
  30. package/dist/utils/errors.js.map +1 -0
  31. package/dist/utils/index.cjs +7 -0
  32. package/dist/utils/index.cjs.map +1 -0
  33. package/dist/utils/index.js +6 -0
  34. package/dist/utils/index.js.map +1 -0
  35. package/dist/utils/message_inputs.cjs +223 -534
  36. package/dist/utils/message_inputs.cjs.map +1 -0
  37. package/dist/utils/message_inputs.js +224 -532
  38. package/dist/utils/message_inputs.js.map +1 -0
  39. package/dist/utils/message_outputs.cjs +186 -250
  40. package/dist/utils/message_outputs.cjs.map +1 -0
  41. package/dist/utils/message_outputs.js +185 -247
  42. package/dist/utils/message_outputs.js.map +1 -0
  43. package/dist/utils/prompts.cjs +46 -45
  44. package/dist/utils/prompts.cjs.map +1 -0
  45. package/dist/utils/prompts.d.cts +45 -0
  46. package/dist/utils/prompts.d.cts.map +1 -0
  47. package/dist/utils/prompts.d.ts +8 -2
  48. package/dist/utils/prompts.d.ts.map +1 -0
  49. package/dist/utils/prompts.js +46 -42
  50. package/dist/utils/prompts.js.map +1 -0
  51. package/dist/utils/standard.cjs +285 -0
  52. package/dist/utils/standard.cjs.map +1 -0
  53. package/dist/utils/standard.js +285 -0
  54. package/dist/utils/standard.js.map +1 -0
  55. package/dist/utils/tools.cjs +15 -30
  56. package/dist/utils/tools.cjs.map +1 -0
  57. package/dist/utils/tools.js +15 -28
  58. package/dist/utils/tools.js.map +1 -0
  59. package/package.json +45 -71
  60. package/dist/experimental/index.cjs +0 -17
  61. package/dist/experimental/index.d.ts +0 -1
  62. package/dist/experimental/index.js +0 -1
  63. package/dist/experimental/tool_calling.cjs +0 -318
  64. package/dist/experimental/tool_calling.d.ts +0 -57
  65. package/dist/experimental/tool_calling.js +0 -314
  66. package/dist/experimental/utils/tool_calling.cjs +0 -106
  67. package/dist/experimental/utils/tool_calling.d.ts +0 -10
  68. package/dist/experimental/utils/tool_calling.js +0 -101
  69. package/dist/load/import_constants.cjs +0 -5
  70. package/dist/load/import_constants.d.ts +0 -1
  71. package/dist/load/import_constants.js +0 -2
  72. package/dist/load/import_map.cjs +0 -39
  73. package/dist/load/import_map.d.ts +0 -2
  74. package/dist/load/import_map.js +0 -3
  75. package/dist/load/import_type.cjs +0 -3
  76. package/dist/load/import_type.d.ts +0 -5
  77. package/dist/load/import_type.js +0 -2
  78. package/dist/load/index.cjs +0 -63
  79. package/dist/load/index.d.ts +0 -14
  80. package/dist/load/index.js +0 -25
  81. package/dist/load/map_keys.cjs +0 -2
  82. package/dist/load/map_keys.d.ts +0 -3
  83. package/dist/load/map_keys.js +0 -1
  84. package/dist/load/serializable.cjs +0 -17
  85. package/dist/load/serializable.d.ts +0 -1
  86. package/dist/load/serializable.js +0 -1
  87. package/dist/output_parsers.d.ts +0 -22
  88. package/dist/types.cjs +0 -48
  89. package/dist/types.js +0 -45
  90. package/dist/utils/errors.d.ts +0 -3
  91. package/dist/utils/message_inputs.d.ts +0 -14
  92. package/dist/utils/message_outputs.d.ts +0 -14
  93. package/dist/utils/tools.d.ts +0 -3
  94. package/experimental.cjs +0 -1
  95. package/experimental.d.cts +0 -1
  96. package/experimental.d.ts +0 -1
  97. package/experimental.js +0 -1
  98. package/index.cjs +0 -1
  99. package/index.d.cts +0 -1
  100. package/index.d.ts +0 -1
  101. package/index.js +0 -1
package/dist/types.d.ts CHANGED
@@ -1,35 +1,33 @@
1
1
  import Anthropic from "@anthropic-ai/sdk";
2
2
  import { BindToolsInput } from "@langchain/core/language_models/chat_models";
3
- export type AnthropicToolResponse = {
4
- type: "tool_use";
5
- id: string;
6
- name: string;
7
- input: Record<string, any>;
8
- };
9
- export type AnthropicMessageParam = Anthropic.MessageParam;
10
- export type AnthropicMessageResponse = Anthropic.ContentBlock | AnthropicToolResponse;
11
- export type AnthropicMessageCreateParams = Anthropic.MessageCreateParamsNonStreaming;
12
- export type AnthropicStreamingMessageCreateParams = Anthropic.MessageCreateParamsStreaming;
13
- export type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;
14
- export type AnthropicContextManagementConfigParam = Anthropic.Beta.BetaContextManagementConfig;
15
- export type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;
16
- export type AnthropicRequestOptions = Anthropic.RequestOptions;
17
- export type AnthropicToolChoice = {
18
- type: "tool";
19
- name: string;
3
+
4
+ //#region src/types.d.ts
5
+
6
+ type AnthropicMessageCreateParams = Anthropic.MessageCreateParamsNonStreaming;
7
+ type AnthropicStreamingMessageCreateParams = Anthropic.MessageCreateParamsStreaming;
8
+ type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;
9
+ type AnthropicContextManagementConfigParam = Anthropic.Beta.BetaContextManagementConfig;
10
+ type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;
11
+ type AnthropicRequestOptions = Anthropic.RequestOptions;
12
+ type AnthropicToolChoice = {
13
+ type: "tool";
14
+ name: string;
20
15
  } | "any" | "auto" | "none" | string;
21
- export type ChatAnthropicToolType = Anthropic.Messages.Tool | BindToolsInput;
22
- export type AnthropicTextBlockParam = Anthropic.Messages.TextBlockParam;
23
- export type AnthropicImageBlockParam = Anthropic.Messages.ImageBlockParam;
24
- export type AnthropicToolUseBlockParam = Anthropic.Messages.ToolUseBlockParam;
25
- export type AnthropicToolResultBlockParam = Anthropic.Messages.ToolResultBlockParam;
26
- export type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;
27
- export type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;
28
- export type AnthropicRedactedThinkingBlockParam = Anthropic.Messages.RedactedThinkingBlockParam;
29
- export type AnthropicServerToolUseBlockParam = Anthropic.Messages.ServerToolUseBlockParam;
30
- export type AnthropicWebSearchToolResultBlockParam = Anthropic.Messages.WebSearchToolResultBlockParam;
31
- export type AnthropicWebSearchResultBlockParam = Anthropic.Messages.WebSearchResultBlockParam;
32
- export type AnthropicSearchResultBlockParam = Anthropic.SearchResultBlockParam;
33
- export type ChatAnthropicContentBlock = AnthropicTextBlockParam | AnthropicImageBlockParam | AnthropicToolUseBlockParam | AnthropicToolResultBlockParam | AnthropicDocumentBlockParam | AnthropicThinkingBlockParam | AnthropicRedactedThinkingBlockParam | AnthropicServerToolUseBlockParam | AnthropicWebSearchToolResultBlockParam | AnthropicWebSearchResultBlockParam | AnthropicSearchResultBlockParam;
34
- export declare function isAnthropicImageBlockParam(block: unknown): block is AnthropicImageBlockParam;
35
- export type AnthropicBuiltInToolUnion = Exclude<Anthropic.Messages.ToolUnion, Anthropic.Messages.Tool>;
16
+ type ChatAnthropicToolType = Anthropic.Messages.Tool | BindToolsInput;
17
+ type AnthropicTextBlockParam = Anthropic.Messages.TextBlockParam;
18
+ type AnthropicImageBlockParam = Anthropic.Messages.ImageBlockParam;
19
+ type AnthropicToolUseBlockParam = Anthropic.Messages.ToolUseBlockParam;
20
+ type AnthropicToolResultBlockParam = Anthropic.Messages.ToolResultBlockParam;
21
+ type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;
22
+ type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;
23
+ type AnthropicRedactedThinkingBlockParam = Anthropic.Messages.RedactedThinkingBlockParam;
24
+ type AnthropicServerToolUseBlockParam = Anthropic.Messages.ServerToolUseBlockParam;
25
+ type AnthropicWebSearchToolResultBlockParam = Anthropic.Messages.WebSearchToolResultBlockParam;
26
+ type AnthropicWebSearchResultBlockParam = Anthropic.Messages.WebSearchResultBlockParam;
27
+ type AnthropicSearchResultBlockParam = Anthropic.SearchResultBlockParam;
28
+ type AnthropicContainerUploadBlockParam = Anthropic.Beta.BetaContainerUploadBlockParam;
29
+ // Union of all possible content block types including server tool use
30
+ type ChatAnthropicContentBlock = AnthropicTextBlockParam | AnthropicImageBlockParam | AnthropicToolUseBlockParam | AnthropicToolResultBlockParam | AnthropicDocumentBlockParam | AnthropicThinkingBlockParam | AnthropicRedactedThinkingBlockParam | AnthropicServerToolUseBlockParam | AnthropicWebSearchToolResultBlockParam | AnthropicWebSearchResultBlockParam | AnthropicSearchResultBlockParam | AnthropicContainerUploadBlockParam;
31
+ //#endregion
32
+ export { AnthropicContextManagementConfigParam, AnthropicMessageCreateParams, AnthropicMessageStreamEvent, AnthropicRequestOptions, AnthropicStreamingMessageCreateParams, AnthropicThinkingConfigParam, AnthropicToolChoice, ChatAnthropicContentBlock, ChatAnthropicToolType };
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":["Anthropic","BindToolsInput","AnthropicToolResponse","Record","AnthropicMessageParam","MessageParam","AnthropicMessageResponse","ContentBlock","AnthropicMessageCreateParams","MessageCreateParamsNonStreaming","AnthropicStreamingMessageCreateParams","MessageCreateParamsStreaming","AnthropicThinkingConfigParam","ThinkingConfigParam","AnthropicContextManagementConfigParam","Beta","BetaContextManagementConfig","AnthropicMessageStreamEvent","MessageStreamEvent","AnthropicRequestOptions","RequestOptions","AnthropicToolChoice","ChatAnthropicToolType","Messages","Tool","AnthropicTextBlockParam","TextBlockParam","AnthropicImageBlockParam","ImageBlockParam","AnthropicToolUseBlockParam","ToolUseBlockParam","AnthropicToolResultBlockParam","ToolResultBlockParam","AnthropicDocumentBlockParam","DocumentBlockParam","AnthropicThinkingBlockParam","ThinkingBlockParam","AnthropicRedactedThinkingBlockParam","RedactedThinkingBlockParam","AnthropicServerToolUseBlockParam","ServerToolUseBlockParam","AnthropicWebSearchToolResultBlockParam","WebSearchToolResultBlockParam","AnthropicWebSearchResultBlockParam","WebSearchResultBlockParam","AnthropicSearchResultBlockParam","SearchResultBlockParam","AnthropicContainerUploadBlockParam","BetaContainerUploadBlockParam","ChatAnthropicContentBlock","isAnthropicImageBlockParam","AnthropicBuiltInToolUnion","ToolUnion","Exclude"],"sources":["../src/types.d.ts"],"sourcesContent":["import Anthropic from \"@anthropic-ai/sdk\";\nimport { BindToolsInput } from \"@langchain/core/language_models/chat_models\";\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};\nexport type AnthropicMessageParam = Anthropic.MessageParam;\nexport type AnthropicMessageResponse = Anthropic.ContentBlock | AnthropicToolResponse;\nexport type AnthropicMessageCreateParams = Anthropic.MessageCreateParamsNonStreaming;\nexport type AnthropicStreamingMessageCreateParams = Anthropic.MessageCreateParamsStreaming;\nexport type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;\nexport type AnthropicContextManagementConfigParam = Anthropic.Beta.BetaContextManagementConfig;\nexport type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;\nexport type AnthropicRequestOptions = Anthropic.RequestOptions;\nexport type AnthropicToolChoice = {\n type: \"tool\";\n name: string;\n} | \"any\" | \"auto\" | \"none\" | 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 = Anthropic.Messages.ToolResultBlockParam;\nexport type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;\nexport type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;\nexport type AnthropicRedactedThinkingBlockParam = Anthropic.Messages.RedactedThinkingBlockParam;\nexport type AnthropicServerToolUseBlockParam = Anthropic.Messages.ServerToolUseBlockParam;\nexport type AnthropicWebSearchToolResultBlockParam = Anthropic.Messages.WebSearchToolResultBlockParam;\nexport type AnthropicWebSearchResultBlockParam = Anthropic.Messages.WebSearchResultBlockParam;\nexport type AnthropicSearchResultBlockParam = Anthropic.SearchResultBlockParam;\nexport type AnthropicContainerUploadBlockParam = Anthropic.Beta.BetaContainerUploadBlockParam;\n// Union of all possible content block types including server tool use\nexport type ChatAnthropicContentBlock = AnthropicTextBlockParam | AnthropicImageBlockParam | AnthropicToolUseBlockParam | AnthropicToolResultBlockParam | AnthropicDocumentBlockParam | AnthropicThinkingBlockParam | AnthropicRedactedThinkingBlockParam | AnthropicServerToolUseBlockParam | AnthropicWebSearchToolResultBlockParam | AnthropicWebSearchResultBlockParam | AnthropicSearchResultBlockParam | AnthropicContainerUploadBlockParam;\nexport declare function isAnthropicImageBlockParam(block: unknown): block is AnthropicImageBlockParam;\n// Type for built-in tools only (excludes custom Tool type)\nexport type AnthropicBuiltInToolUnion = Exclude<Anthropic.Messages.ToolUnion, Anthropic.Messages.Tool>;\n"],"mappings":";;;;;AAqBYsB,KAVAd,4BAAAA,GAA+BR,SAAAA,CAAUS,+BAUpB;AAAA,KATrBC,qCAAAA,GAAwCV,SAAAA,CAAUW,4BAS7B;AAAGX,KARxBY,4BAAAA,GAA+BZ,SAAAA,CAAUa,mBAQEW;AAAOvB,KAPlDa,qCAAAA,GAAwCd,SAAAA,CAAUe,IAAAA,CAAKC,2BAOLf;AAAc,KANhEgB,2BAAAA,GAA8BjB,SAAAA,CAAUkB,kBAMwB;AAChEO,KANAN,uBAAAA,GAA0BnB,SAAAA,CAAUoB,cAMSM;AAC7CC,KANAN,mBAAAA,GAMwB;EACxBQ,IAAAA,EAAAA,MAAAA;EACAE,IAAAA,EAAAA,MAAAA;AACZ,CAAA,GAAYE,KAAAA,GAAAA,MAAAA,GAAAA,MAAAA,GAAAA,MAA2B;AAC3BE,KANAb,qBAAAA,GAAwBtB,SAAAA,CAAUuB,QAAAA,CAASC,IAMHD,GANUtB,cAMDmC;AACjDC,KANAZ,uBAAAA,GAA0BzB,SAAAA,CAAUuB,QAAAA,CAASG,cAMGH;AAChDgB,KANAZ,wBAAAA,GAA2B3B,SAAAA,CAAUuB,QAAAA,CAASK,eAMQY;AACtDC,KANAZ,0BAAAA,GAA6B7B,SAAAA,CAAUuB,QAAAA,CAASO,iBAMYY;AAC5DC,KANAZ,6BAAAA,GAAgC/B,SAAAA,CAAUuB,QAAAA,CAASS,oBAMKY;AACxDC,KANAZ,2BAAAA,GAA8BjC,SAAAA,CAAUuB,QAAAA,CAASW,kBAMLY;AAC5CC,KANAZ,2BAAAA,GAA8BnC,SAAAA,CAAUuB,QAAAA,CAASa,kBAMGY;AAEpDC,KAPAZ,mCAAAA,GAAsCrC,SAAAA,CAAUuB,QAAAA,CAASe,0BAOhC;AAAA,KANzBC,gCAAAA,GAAmCvC,SAAAA,CAAUuB,QAAAA,CAASiB,uBAM7B;AAAGf,KAL5BgB,sCAAAA,GAAyCzC,SAAAA,CAAUuB,QAAAA,CAASmB,6BAKhCjB;AAA0BE,KAJtDgB,kCAAAA,GAAqC3C,SAAAA,CAAUuB,QAAAA,CAASqB,yBAIFjB;AAA2BE,KAHjFgB,+BAAAA,GAAkC7C,SAAAA,CAAU8C,sBAGqCjB;AAA6BE,KAF9GgB,kCAAAA,GAAqC/C,SAAAA,CAAUe,IAAAA,CAAKiC,6BAE0DjB;;AAA8DI,KAA5Kc,yBAAAA,GAA4BxB,uBAAgJU,GAAtHR,wBAAsHQ,GAA3FN,0BAA2FM,GAA9DJ,6BAA8DI,GAA9BF,2BAA8BE,GAAAA,2BAAAA,GAA8BE,mCAA9BF,GAAoEI,gCAApEJ,GAAuGM,sCAAvGN,GAAgJQ,kCAAhJR,GAAqLU,+BAArLV,GAAuNY,kCAAvNZ"}
@@ -0,0 +1,151 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
3
+
4
+ //#region src/utils/content.ts
5
+ function _isAnthropicThinkingBlock(block) {
6
+ return typeof block === "object" && block !== null && "type" in block && block.type === "thinking";
7
+ }
8
+ function _isAnthropicRedactedThinkingBlock(block) {
9
+ return typeof block === "object" && block !== null && "type" in block && block.type === "redacted_thinking";
10
+ }
11
+ function _isAnthropicSearchResultBlock(block) {
12
+ return typeof block === "object" && block !== null && "type" in block && block.type === "search_result";
13
+ }
14
+ function _isAnthropicImageBlockParam(block) {
15
+ if (typeof block !== "object" || block == null) return false;
16
+ if (!("type" in block) || block.type !== "image") return false;
17
+ if (!("source" in block) || typeof block.source !== "object" || block.source == null) return false;
18
+ if (!("type" in block.source)) return false;
19
+ if (block.source.type === "base64") {
20
+ if (!("media_type" in block.source)) return false;
21
+ if (typeof block.source.media_type !== "string") return false;
22
+ if (!("data" in block.source)) return false;
23
+ if (typeof block.source.data !== "string") return false;
24
+ return true;
25
+ }
26
+ if (block.source.type === "url") {
27
+ if (!("url" in block.source)) return false;
28
+ if (typeof block.source.url !== "string") return false;
29
+ return true;
30
+ }
31
+ return false;
32
+ }
33
+ const standardContentBlockConverter = {
34
+ providerName: "anthropic",
35
+ fromStandardTextBlock(block) {
36
+ return {
37
+ type: "text",
38
+ text: block.text,
39
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
40
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
41
+ };
42
+ },
43
+ fromStandardImageBlock(block) {
44
+ if (block.source_type === "url") {
45
+ const data = (0, __langchain_core_messages.parseBase64DataUrl)({
46
+ dataUrl: block.url,
47
+ asTypedArray: false
48
+ });
49
+ if (data) return {
50
+ type: "image",
51
+ source: {
52
+ type: "base64",
53
+ data: data.data,
54
+ media_type: data.mime_type
55
+ },
56
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
57
+ };
58
+ else return {
59
+ type: "image",
60
+ source: {
61
+ type: "url",
62
+ url: block.url
63
+ },
64
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
65
+ };
66
+ } else if (block.source_type === "base64") return {
67
+ type: "image",
68
+ source: {
69
+ type: "base64",
70
+ data: block.data,
71
+ media_type: block.mime_type ?? ""
72
+ },
73
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
74
+ };
75
+ else throw new Error(`Unsupported image source type: ${block.source_type}`);
76
+ },
77
+ fromStandardFileBlock(block) {
78
+ const mime_type = (block.mime_type ?? "").split(";")[0];
79
+ if (block.source_type === "url") {
80
+ if (mime_type === "application/pdf" || mime_type === "") return {
81
+ type: "document",
82
+ source: {
83
+ type: "url",
84
+ url: block.url
85
+ },
86
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
87
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
88
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
89
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
90
+ };
91
+ throw new Error(`Unsupported file mime type for file url source: ${block.mime_type}`);
92
+ } else if (block.source_type === "text") if (mime_type === "text/plain" || mime_type === "") return {
93
+ type: "document",
94
+ source: {
95
+ type: "text",
96
+ data: block.text,
97
+ media_type: block.mime_type ?? ""
98
+ },
99
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
100
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
101
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
102
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
103
+ };
104
+ else throw new Error(`Unsupported file mime type for file text source: ${block.mime_type}`);
105
+ else if (block.source_type === "base64") if (mime_type === "application/pdf" || mime_type === "") return {
106
+ type: "document",
107
+ source: {
108
+ type: "base64",
109
+ data: block.data,
110
+ media_type: "application/pdf"
111
+ },
112
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
113
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
114
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
115
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
116
+ };
117
+ else if ([
118
+ "image/jpeg",
119
+ "image/png",
120
+ "image/gif",
121
+ "image/webp"
122
+ ].includes(mime_type)) return {
123
+ type: "document",
124
+ source: {
125
+ type: "content",
126
+ content: [{
127
+ type: "image",
128
+ source: {
129
+ type: "base64",
130
+ data: block.data,
131
+ media_type: mime_type
132
+ }
133
+ }]
134
+ },
135
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
136
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
137
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
138
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
139
+ };
140
+ else throw new Error(`Unsupported file mime type for file base64 source: ${block.mime_type}`);
141
+ else throw new Error(`Unsupported file source type: ${block.source_type}`);
142
+ }
143
+ };
144
+
145
+ //#endregion
146
+ exports._isAnthropicImageBlockParam = _isAnthropicImageBlockParam;
147
+ exports._isAnthropicRedactedThinkingBlock = _isAnthropicRedactedThinkingBlock;
148
+ exports._isAnthropicSearchResultBlock = _isAnthropicSearchResultBlock;
149
+ exports._isAnthropicThinkingBlock = _isAnthropicThinkingBlock;
150
+ exports.standardContentBlockConverter = standardContentBlockConverter;
151
+ //# sourceMappingURL=content.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.cjs","names":["block: unknown","standardContentBlockConverter: StandardContentBlockConverter<{\n text: Anthropic.Messages.TextBlockParam;\n image: Anthropic.Messages.ImageBlockParam;\n file: Anthropic.Messages.DocumentBlockParam;\n}>"],"sources":["../../src/utils/content.ts"],"sourcesContent":["import type Anthropic from \"@anthropic-ai/sdk\";\nimport {\n parseBase64DataUrl,\n type StandardContentBlockConverter,\n} from \"@langchain/core/messages\";\n\nexport function _isAnthropicThinkingBlock(\n block: unknown\n): block is Anthropic.Messages.ThinkingBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"thinking\"\n );\n}\n\nexport function _isAnthropicRedactedThinkingBlock(\n block: unknown\n): block is Anthropic.Messages.RedactedThinkingBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"redacted_thinking\"\n );\n}\n\nexport function _isAnthropicSearchResultBlock(\n block: unknown\n): block is Anthropic.Beta.BetaSearchResultBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"search_result\"\n );\n}\n\nexport function _isAnthropicImageBlockParam(\n block: unknown\n): block is Anthropic.Messages.ImageBlockParam {\n if (typeof block !== \"object\" || block == null) {\n return false;\n }\n if (!(\"type\" in block) || block.type !== \"image\") {\n return false;\n }\n\n if (\n !(\"source\" in block) ||\n typeof block.source !== \"object\" ||\n block.source == null\n ) {\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\nexport const standardContentBlockConverter: StandardContentBlockConverter<{\n text: Anthropic.Messages.TextBlockParam;\n image: Anthropic.Messages.ImageBlockParam;\n file: Anthropic.Messages.DocumentBlockParam;\n}> = {\n providerName: \"anthropic\",\n\n fromStandardTextBlock(block): Anthropic.Messages.TextBlockParam {\n return {\n type: \"text\",\n text: block.text,\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.TextBlockParam;\n },\n\n fromStandardImageBlock(block): Anthropic.Messages.ImageBlockParam {\n if (block.source_type === \"url\") {\n const data = parseBase64DataUrl({\n dataUrl: block.url,\n asTypedArray: false,\n });\n if (data) {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n data: data.data,\n media_type: data.mime_type,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n } else {\n return {\n type: \"image\",\n source: {\n type: \"url\",\n url: block.url,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n }\n } else {\n if (block.source_type === \"base64\") {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: block.mime_type ?? \"\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n } else {\n throw new Error(`Unsupported image source type: ${block.source_type}`);\n }\n }\n },\n\n fromStandardFileBlock(block): Anthropic.Messages.DocumentBlockParam {\n const mime_type = (block.mime_type ?? \"\").split(\";\")[0];\n\n if (block.source_type === \"url\") {\n if (mime_type === \"application/pdf\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"url\",\n url: block.url,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n }\n throw new Error(\n `Unsupported file mime type for file url source: ${block.mime_type}`\n );\n } else if (block.source_type === \"text\") {\n if (mime_type === \"text/plain\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"text\",\n data: block.text,\n media_type: block.mime_type ?? \"\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else {\n throw new Error(\n `Unsupported file mime type for file text source: ${block.mime_type}`\n );\n }\n } else if (block.source_type === \"base64\") {\n if (mime_type === \"application/pdf\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: \"application/pdf\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else if (\n [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\"].includes(\n mime_type\n )\n ) {\n return {\n type: \"document\",\n source: {\n type: \"content\",\n content: [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: mime_type as\n | \"image/jpeg\"\n | \"image/png\"\n | \"image/gif\"\n | \"image/webp\",\n },\n },\n ],\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else {\n throw new Error(\n `Unsupported file mime type for file base64 source: ${block.mime_type}`\n );\n }\n } else {\n throw new Error(`Unsupported file source type: ${block.source_type}`);\n }\n },\n};\n"],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ import { parseBase64DataUrl } from "@langchain/core/messages";
2
+
3
+ //#region src/utils/content.ts
4
+ function _isAnthropicThinkingBlock(block) {
5
+ return typeof block === "object" && block !== null && "type" in block && block.type === "thinking";
6
+ }
7
+ function _isAnthropicRedactedThinkingBlock(block) {
8
+ return typeof block === "object" && block !== null && "type" in block && block.type === "redacted_thinking";
9
+ }
10
+ function _isAnthropicSearchResultBlock(block) {
11
+ return typeof block === "object" && block !== null && "type" in block && block.type === "search_result";
12
+ }
13
+ function _isAnthropicImageBlockParam(block) {
14
+ if (typeof block !== "object" || block == null) return false;
15
+ if (!("type" in block) || block.type !== "image") return false;
16
+ if (!("source" in block) || typeof block.source !== "object" || block.source == null) return false;
17
+ if (!("type" in block.source)) return false;
18
+ if (block.source.type === "base64") {
19
+ if (!("media_type" in block.source)) return false;
20
+ if (typeof block.source.media_type !== "string") return false;
21
+ if (!("data" in block.source)) return false;
22
+ if (typeof block.source.data !== "string") return false;
23
+ return true;
24
+ }
25
+ if (block.source.type === "url") {
26
+ if (!("url" in block.source)) return false;
27
+ if (typeof block.source.url !== "string") return false;
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+ const standardContentBlockConverter = {
33
+ providerName: "anthropic",
34
+ fromStandardTextBlock(block) {
35
+ return {
36
+ type: "text",
37
+ text: block.text,
38
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
39
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
40
+ };
41
+ },
42
+ fromStandardImageBlock(block) {
43
+ if (block.source_type === "url") {
44
+ const data = parseBase64DataUrl({
45
+ dataUrl: block.url,
46
+ asTypedArray: false
47
+ });
48
+ if (data) return {
49
+ type: "image",
50
+ source: {
51
+ type: "base64",
52
+ data: data.data,
53
+ media_type: data.mime_type
54
+ },
55
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
56
+ };
57
+ else return {
58
+ type: "image",
59
+ source: {
60
+ type: "url",
61
+ url: block.url
62
+ },
63
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
64
+ };
65
+ } else if (block.source_type === "base64") return {
66
+ type: "image",
67
+ source: {
68
+ type: "base64",
69
+ data: block.data,
70
+ media_type: block.mime_type ?? ""
71
+ },
72
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {}
73
+ };
74
+ else throw new Error(`Unsupported image source type: ${block.source_type}`);
75
+ },
76
+ fromStandardFileBlock(block) {
77
+ const mime_type = (block.mime_type ?? "").split(";")[0];
78
+ if (block.source_type === "url") {
79
+ if (mime_type === "application/pdf" || mime_type === "") return {
80
+ type: "document",
81
+ source: {
82
+ type: "url",
83
+ url: block.url
84
+ },
85
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
86
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
87
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
88
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
89
+ };
90
+ throw new Error(`Unsupported file mime type for file url source: ${block.mime_type}`);
91
+ } else if (block.source_type === "text") if (mime_type === "text/plain" || mime_type === "") return {
92
+ type: "document",
93
+ source: {
94
+ type: "text",
95
+ data: block.text,
96
+ media_type: block.mime_type ?? ""
97
+ },
98
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
99
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
100
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
101
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
102
+ };
103
+ else throw new Error(`Unsupported file mime type for file text source: ${block.mime_type}`);
104
+ else if (block.source_type === "base64") if (mime_type === "application/pdf" || mime_type === "") return {
105
+ type: "document",
106
+ source: {
107
+ type: "base64",
108
+ data: block.data,
109
+ media_type: "application/pdf"
110
+ },
111
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
112
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
113
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
114
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
115
+ };
116
+ else if ([
117
+ "image/jpeg",
118
+ "image/png",
119
+ "image/gif",
120
+ "image/webp"
121
+ ].includes(mime_type)) return {
122
+ type: "document",
123
+ source: {
124
+ type: "content",
125
+ content: [{
126
+ type: "image",
127
+ source: {
128
+ type: "base64",
129
+ data: block.data,
130
+ media_type: mime_type
131
+ }
132
+ }]
133
+ },
134
+ ..."cache_control" in (block.metadata ?? {}) ? { cache_control: block.metadata.cache_control } : {},
135
+ ..."citations" in (block.metadata ?? {}) ? { citations: block.metadata.citations } : {},
136
+ ..."context" in (block.metadata ?? {}) ? { context: block.metadata.context } : {},
137
+ ..."title" in (block.metadata ?? {}) ? { title: block.metadata.title } : {}
138
+ };
139
+ else throw new Error(`Unsupported file mime type for file base64 source: ${block.mime_type}`);
140
+ else throw new Error(`Unsupported file source type: ${block.source_type}`);
141
+ }
142
+ };
143
+
144
+ //#endregion
145
+ export { _isAnthropicImageBlockParam, _isAnthropicRedactedThinkingBlock, _isAnthropicSearchResultBlock, _isAnthropicThinkingBlock, standardContentBlockConverter };
146
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","names":["block: unknown","standardContentBlockConverter: StandardContentBlockConverter<{\n text: Anthropic.Messages.TextBlockParam;\n image: Anthropic.Messages.ImageBlockParam;\n file: Anthropic.Messages.DocumentBlockParam;\n}>"],"sources":["../../src/utils/content.ts"],"sourcesContent":["import type Anthropic from \"@anthropic-ai/sdk\";\nimport {\n parseBase64DataUrl,\n type StandardContentBlockConverter,\n} from \"@langchain/core/messages\";\n\nexport function _isAnthropicThinkingBlock(\n block: unknown\n): block is Anthropic.Messages.ThinkingBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"thinking\"\n );\n}\n\nexport function _isAnthropicRedactedThinkingBlock(\n block: unknown\n): block is Anthropic.Messages.RedactedThinkingBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"redacted_thinking\"\n );\n}\n\nexport function _isAnthropicSearchResultBlock(\n block: unknown\n): block is Anthropic.Beta.BetaSearchResultBlockParam {\n return (\n typeof block === \"object\" &&\n block !== null &&\n \"type\" in block &&\n block.type === \"search_result\"\n );\n}\n\nexport function _isAnthropicImageBlockParam(\n block: unknown\n): block is Anthropic.Messages.ImageBlockParam {\n if (typeof block !== \"object\" || block == null) {\n return false;\n }\n if (!(\"type\" in block) || block.type !== \"image\") {\n return false;\n }\n\n if (\n !(\"source\" in block) ||\n typeof block.source !== \"object\" ||\n block.source == null\n ) {\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\nexport const standardContentBlockConverter: StandardContentBlockConverter<{\n text: Anthropic.Messages.TextBlockParam;\n image: Anthropic.Messages.ImageBlockParam;\n file: Anthropic.Messages.DocumentBlockParam;\n}> = {\n providerName: \"anthropic\",\n\n fromStandardTextBlock(block): Anthropic.Messages.TextBlockParam {\n return {\n type: \"text\",\n text: block.text,\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.TextBlockParam;\n },\n\n fromStandardImageBlock(block): Anthropic.Messages.ImageBlockParam {\n if (block.source_type === \"url\") {\n const data = parseBase64DataUrl({\n dataUrl: block.url,\n asTypedArray: false,\n });\n if (data) {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n data: data.data,\n media_type: data.mime_type,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n } else {\n return {\n type: \"image\",\n source: {\n type: \"url\",\n url: block.url,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n }\n } else {\n if (block.source_type === \"base64\") {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: block.mime_type ?? \"\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n } as Anthropic.Messages.ImageBlockParam;\n } else {\n throw new Error(`Unsupported image source type: ${block.source_type}`);\n }\n }\n },\n\n fromStandardFileBlock(block): Anthropic.Messages.DocumentBlockParam {\n const mime_type = (block.mime_type ?? \"\").split(\";\")[0];\n\n if (block.source_type === \"url\") {\n if (mime_type === \"application/pdf\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"url\",\n url: block.url,\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n }\n throw new Error(\n `Unsupported file mime type for file url source: ${block.mime_type}`\n );\n } else if (block.source_type === \"text\") {\n if (mime_type === \"text/plain\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"text\",\n data: block.text,\n media_type: block.mime_type ?? \"\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else {\n throw new Error(\n `Unsupported file mime type for file text source: ${block.mime_type}`\n );\n }\n } else if (block.source_type === \"base64\") {\n if (mime_type === \"application/pdf\" || mime_type === \"\") {\n return {\n type: \"document\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: \"application/pdf\",\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else if (\n [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\"].includes(\n mime_type\n )\n ) {\n return {\n type: \"document\",\n source: {\n type: \"content\",\n content: [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n data: block.data,\n media_type: mime_type as\n | \"image/jpeg\"\n | \"image/png\"\n | \"image/gif\"\n | \"image/webp\",\n },\n },\n ],\n },\n ...(\"cache_control\" in (block.metadata ?? {})\n ? { cache_control: block.metadata!.cache_control }\n : {}),\n ...(\"citations\" in (block.metadata ?? {})\n ? { citations: block.metadata!.citations }\n : {}),\n ...(\"context\" in (block.metadata ?? {})\n ? { context: block.metadata!.context }\n : {}),\n ...(\"title\" in (block.metadata ?? {})\n ? { title: block.metadata!.title }\n : {}),\n } as Anthropic.Messages.DocumentBlockParam;\n } else {\n throw new Error(\n `Unsupported file mime type for file base64 source: ${block.mime_type}`\n );\n }\n } else {\n throw new Error(`Unsupported file source type: ${block.source_type}`);\n }\n },\n};\n"],"mappings":"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"}
@@ -1,31 +1,20 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- /* eslint-disable no-param-reassign */
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.addLangChainErrorFields = addLangChainErrorFields;
6
- exports.wrapAnthropicClientError = wrapAnthropicClientError;
1
+
2
+ //#region src/utils/errors.ts
7
3
  function addLangChainErrorFields(error, lc_error_code) {
8
- error.lc_error_code = lc_error_code;
9
- error.message = `${error.message}\n\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\n`;
10
- return error;
4
+ error.lc_error_code = lc_error_code;
5
+ error.message = `${error.message}\n\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\n`;
6
+ return error;
11
7
  }
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
8
  function wrapAnthropicClientError(e) {
14
- let error;
15
- if (e.status === 400 && e.message.includes("tool")) {
16
- error = addLangChainErrorFields(e, "INVALID_TOOL_RESULTS");
17
- }
18
- else if (e.status === 401) {
19
- error = addLangChainErrorFields(e, "MODEL_AUTHENTICATION");
20
- }
21
- else if (e.status === 404) {
22
- error = addLangChainErrorFields(e, "MODEL_NOT_FOUND");
23
- }
24
- else if (e.status === 429) {
25
- error = addLangChainErrorFields(e, "MODEL_RATE_LIMIT");
26
- }
27
- else {
28
- error = e;
29
- }
30
- return error;
9
+ let error;
10
+ if (e.status === 400 && e.message.includes("tool")) error = addLangChainErrorFields(e, "INVALID_TOOL_RESULTS");
11
+ else if (e.status === 401) error = addLangChainErrorFields(e, "MODEL_AUTHENTICATION");
12
+ else if (e.status === 404) error = addLangChainErrorFields(e, "MODEL_NOT_FOUND");
13
+ else if (e.status === 429) error = addLangChainErrorFields(e, "MODEL_RATE_LIMIT");
14
+ else error = e;
15
+ return error;
31
16
  }
17
+
18
+ //#endregion
19
+ exports.wrapAnthropicClientError = wrapAnthropicClientError;
20
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","names":["error: any","lc_error_code: LangChainErrorCodes","e: any"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-param-reassign */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\\n`;\n return error;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrapAnthropicClientError(e: any) {\n let error;\n if (e.status === 400 && e.message.includes(\"tool\")) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else if (e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";;AAcA,SAAgB,wBACdA,OACAC,eACA;CACC,MAAc,gBAAgB;CAC/B,MAAM,UAAU,GAAG,MAAM,QAAQ,8EAA8E,EAAE,cAAc,GAAG,CAAC;AACnI,QAAO;AACR;AAGD,SAAgB,yBAAyBC,GAAQ;CAC/C,IAAI;AACJ,KAAI,EAAE,WAAW,OAAO,EAAE,QAAQ,SAAS,OAAO,EAChD,QAAQ,wBAAwB,GAAG,uBAAuB;UACjD,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,uBAAuB;UACjD,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,kBAAkB;UAC5C,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,mBAAmB;MAEtD,QAAQ;AAEV,QAAO;AACR"}
@@ -1,27 +1,19 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable no-param-reassign */
3
- export function addLangChainErrorFields(error, lc_error_code) {
4
- error.lc_error_code = lc_error_code;
5
- error.message = `${error.message}\n\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\n`;
6
- return error;
1
+ //#region src/utils/errors.ts
2
+ function addLangChainErrorFields(error, lc_error_code) {
3
+ error.lc_error_code = lc_error_code;
4
+ error.message = `${error.message}\n\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\n`;
5
+ return error;
7
6
  }
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- export function wrapAnthropicClientError(e) {
10
- let error;
11
- if (e.status === 400 && e.message.includes("tool")) {
12
- error = addLangChainErrorFields(e, "INVALID_TOOL_RESULTS");
13
- }
14
- else if (e.status === 401) {
15
- error = addLangChainErrorFields(e, "MODEL_AUTHENTICATION");
16
- }
17
- else if (e.status === 404) {
18
- error = addLangChainErrorFields(e, "MODEL_NOT_FOUND");
19
- }
20
- else if (e.status === 429) {
21
- error = addLangChainErrorFields(e, "MODEL_RATE_LIMIT");
22
- }
23
- else {
24
- error = e;
25
- }
26
- return error;
7
+ function wrapAnthropicClientError(e) {
8
+ let error;
9
+ if (e.status === 400 && e.message.includes("tool")) error = addLangChainErrorFields(e, "INVALID_TOOL_RESULTS");
10
+ else if (e.status === 401) error = addLangChainErrorFields(e, "MODEL_AUTHENTICATION");
11
+ else if (e.status === 404) error = addLangChainErrorFields(e, "MODEL_NOT_FOUND");
12
+ else if (e.status === 429) error = addLangChainErrorFields(e, "MODEL_RATE_LIMIT");
13
+ else error = e;
14
+ return error;
27
15
  }
16
+
17
+ //#endregion
18
+ export { wrapAnthropicClientError };
19
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","names":["error: any","lc_error_code: LangChainErrorCodes","e: any"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-param-reassign */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${lc_error_code}/\\n`;\n return error;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrapAnthropicClientError(e: any) {\n let error;\n if (e.status === 400 && e.message.includes(\"tool\")) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else if (e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";AAcA,SAAgB,wBACdA,OACAC,eACA;CACC,MAAc,gBAAgB;CAC/B,MAAM,UAAU,GAAG,MAAM,QAAQ,8EAA8E,EAAE,cAAc,GAAG,CAAC;AACnI,QAAO;AACR;AAGD,SAAgB,yBAAyBC,GAAQ;CAC/C,IAAI;AACJ,KAAI,EAAE,WAAW,OAAO,EAAE,QAAQ,SAAS,OAAO,EAChD,QAAQ,wBAAwB,GAAG,uBAAuB;UACjD,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,uBAAuB;UACjD,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,kBAAkB;UAC5C,EAAE,WAAW,KACtB,QAAQ,wBAAwB,GAAG,mBAAmB;MAEtD,QAAQ;AAEV,QAAO;AACR"}
@@ -0,0 +1,7 @@
1
+
2
+ //#region src/utils/index.ts
3
+ const iife = (fn) => fn();
4
+
5
+ //#endregion
6
+ exports.iife = iife;
7
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["fn: () => T"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export const iife = <T>(fn: () => T) => fn();\n\nexport const safeParseJson = <T>(json: string): T | object => {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n};\n"],"mappings":";;AAAA,MAAa,OAAO,CAAIA,OAAgB,IAAI"}
@@ -0,0 +1,6 @@
1
+ //#region src/utils/index.ts
2
+ const iife = (fn) => fn();
3
+
4
+ //#endregion
5
+ export { iife };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["fn: () => T"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export const iife = <T>(fn: () => T) => fn();\n\nexport const safeParseJson = <T>(json: string): T | object => {\n try {\n return JSON.parse(json);\n } catch {\n return {};\n }\n};\n"],"mappings":";AAAA,MAAa,OAAO,CAAIA,OAAgB,IAAI"}