langgraph-ui-components 0.0.17 → 0.0.18

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 (316) hide show
  1. package/dist/index.es100.js +20 -354
  2. package/dist/index.es100.js.map +1 -1
  3. package/dist/index.es101.js +172 -127
  4. package/dist/index.es101.js.map +1 -1
  5. package/dist/index.es102.js +231 -60
  6. package/dist/index.es102.js.map +1 -1
  7. package/dist/index.es103.js +352 -34
  8. package/dist/index.es103.js.map +1 -1
  9. package/dist/index.es104.js +134 -34
  10. package/dist/index.es104.js.map +1 -1
  11. package/dist/index.es105.js +65 -161
  12. package/dist/index.es105.js.map +1 -1
  13. package/dist/index.es106.js +30 -196
  14. package/dist/index.es106.js.map +1 -1
  15. package/dist/index.es107.js +36 -13
  16. package/dist/index.es107.js.map +1 -1
  17. package/dist/index.es108.js +162 -26
  18. package/dist/index.es108.js.map +1 -1
  19. package/dist/index.es109.js +196 -27
  20. package/dist/index.es109.js.map +1 -1
  21. package/dist/index.es110.js +13 -3156
  22. package/dist/index.es110.js.map +1 -1
  23. package/dist/index.es111.js +27 -34
  24. package/dist/index.es111.js.map +1 -1
  25. package/dist/index.es112.js +34 -5
  26. package/dist/index.es112.js.map +1 -1
  27. package/dist/index.es113.js +3145 -61
  28. package/dist/index.es113.js.map +1 -1
  29. package/dist/index.es114.js +33 -33
  30. package/dist/index.es114.js.map +1 -1
  31. package/dist/index.es115.js +5 -21
  32. package/dist/index.es115.js.map +1 -1
  33. package/dist/index.es116.js +69 -64
  34. package/dist/index.es116.js.map +1 -1
  35. package/dist/index.es117.js +37 -3
  36. package/dist/index.es117.js.map +1 -1
  37. package/dist/index.es12.js +1 -1
  38. package/dist/index.es121.js +9 -9
  39. package/dist/index.es122.js +1 -1
  40. package/dist/index.es126.js +1 -1
  41. package/dist/index.es128.js +2 -2
  42. package/dist/index.es13.js +9 -3
  43. package/dist/index.es13.js.map +1 -1
  44. package/dist/index.es136.js +1 -1
  45. package/dist/index.es137.js +6 -6
  46. package/dist/index.es139.js +1 -1
  47. package/dist/index.es14.js +6 -6
  48. package/dist/index.es140.js +1 -1
  49. package/dist/index.es143.js +1 -1
  50. package/dist/index.es144.js +1 -1
  51. package/dist/index.es145.js +1 -1
  52. package/dist/index.es146.js +1 -1
  53. package/dist/index.es147.js +1 -1
  54. package/dist/index.es148.js +1 -1
  55. package/dist/index.es149.js +1 -1
  56. package/dist/index.es150.js +1 -1
  57. package/dist/index.es151.js +1 -1
  58. package/dist/index.es152.js +1 -1
  59. package/dist/index.es153.js +1 -1
  60. package/dist/index.es154.js +1 -1
  61. package/dist/index.es155.js +1 -1
  62. package/dist/index.es156.js +1 -1
  63. package/dist/index.es157.js +1 -1
  64. package/dist/index.es158.js +1 -1
  65. package/dist/index.es159.js +1 -1
  66. package/dist/index.es16.js +10 -5
  67. package/dist/index.es16.js.map +1 -1
  68. package/dist/index.es160.js +1 -1
  69. package/dist/index.es161.js +1 -1
  70. package/dist/index.es162.js +1 -1
  71. package/dist/index.es163.js +1 -1
  72. package/dist/index.es164.js +1 -1
  73. package/dist/index.es165.js +1 -1
  74. package/dist/index.es166.js +1 -1
  75. package/dist/index.es167.js +1 -1
  76. package/dist/index.es168.js +1 -1
  77. package/dist/index.es169.js +1 -1
  78. package/dist/index.es170.js +1 -1
  79. package/dist/index.es171.js +1 -1
  80. package/dist/index.es172.js +1 -1
  81. package/dist/index.es173.js +1 -1
  82. package/dist/index.es174.js +1 -1
  83. package/dist/index.es175.js +1 -1
  84. package/dist/index.es176.js +1 -1
  85. package/dist/index.es177.js +1 -1
  86. package/dist/index.es178.js +1 -1
  87. package/dist/index.es179.js +1 -1
  88. package/dist/index.es18.js +7 -7
  89. package/dist/index.es180.js +1 -1
  90. package/dist/index.es181.js +1 -1
  91. package/dist/index.es182.js +1 -1
  92. package/dist/index.es183.js +1 -1
  93. package/dist/index.es184.js +1 -1
  94. package/dist/index.es185.js +1 -1
  95. package/dist/index.es186.js +1 -1
  96. package/dist/index.es187.js +1 -1
  97. package/dist/index.es191.js +2 -56
  98. package/dist/index.es191.js.map +1 -1
  99. package/dist/index.es192.js +2 -100
  100. package/dist/index.es192.js.map +1 -1
  101. package/dist/index.es193.js +2 -191
  102. package/dist/index.es193.js.map +1 -1
  103. package/dist/index.es194.js +2 -110
  104. package/dist/index.es194.js.map +1 -1
  105. package/dist/index.es195.js +2 -35
  106. package/dist/index.es195.js.map +1 -1
  107. package/dist/index.es196.js +2 -10
  108. package/dist/index.es196.js.map +1 -1
  109. package/dist/index.es197.js +2 -11
  110. package/dist/index.es197.js.map +1 -1
  111. package/dist/index.es198.js +2 -12
  112. package/dist/index.es198.js.map +1 -1
  113. package/dist/index.es199.js +2 -91
  114. package/dist/index.es199.js.map +1 -1
  115. package/dist/index.es2.js +96 -11
  116. package/dist/index.es2.js.map +1 -1
  117. package/dist/index.es20.js +2 -2
  118. package/dist/index.es200.js +2 -275
  119. package/dist/index.es200.js.map +1 -1
  120. package/dist/index.es201.js +2 -2
  121. package/dist/index.es202.js +2 -164
  122. package/dist/index.es202.js.map +1 -1
  123. package/dist/index.es203.js +2 -51
  124. package/dist/index.es203.js.map +1 -1
  125. package/dist/index.es204.js +2 -40
  126. package/dist/index.es204.js.map +1 -1
  127. package/dist/index.es205.js +2 -35
  128. package/dist/index.es205.js.map +1 -1
  129. package/dist/index.es206.js +2 -40
  130. package/dist/index.es206.js.map +1 -1
  131. package/dist/index.es207.js +2 -24
  132. package/dist/index.es207.js.map +1 -1
  133. package/dist/index.es208.js +2 -591
  134. package/dist/index.es208.js.map +1 -1
  135. package/dist/index.es209.js +2 -125
  136. package/dist/index.es209.js.map +1 -1
  137. package/dist/index.es210.js +2 -164
  138. package/dist/index.es210.js.map +1 -1
  139. package/dist/index.es211.js +2 -2
  140. package/dist/index.es212.js +2 -2
  141. package/dist/index.es213.js +2 -2
  142. package/dist/index.es214.js +2 -2
  143. package/dist/index.es215.js +2 -2
  144. package/dist/index.es216.js +2 -2
  145. package/dist/index.es217.js +2 -2
  146. package/dist/index.es218.js +2 -2
  147. package/dist/index.es219.js +2 -2
  148. package/dist/index.es22.js +35 -119
  149. package/dist/index.es22.js.map +1 -1
  150. package/dist/index.es220.js +2 -2
  151. package/dist/index.es221.js +2 -2
  152. package/dist/index.es222.js +2 -2
  153. package/dist/index.es223.js +2 -2
  154. package/dist/index.es224.js +2 -2
  155. package/dist/index.es225.js +2 -2
  156. package/dist/index.es226.js +2 -2
  157. package/dist/index.es227.js +2 -2
  158. package/dist/index.es228.js +2 -2
  159. package/dist/index.es229.js +2 -2
  160. package/dist/index.es23.js +66 -36
  161. package/dist/index.es23.js.map +1 -1
  162. package/dist/index.es230.js +2 -2
  163. package/dist/index.es231.js +2 -2
  164. package/dist/index.es232.js +2 -2
  165. package/dist/index.es233.js +2 -2
  166. package/dist/index.es234.js +2 -2
  167. package/dist/index.es235.js +2 -2
  168. package/dist/index.es236.js +56 -2
  169. package/dist/index.es236.js.map +1 -1
  170. package/dist/index.es237.js +100 -2
  171. package/dist/index.es237.js.map +1 -1
  172. package/dist/index.es238.js +191 -2
  173. package/dist/index.es238.js.map +1 -1
  174. package/dist/index.es239.js +110 -2
  175. package/dist/index.es239.js.map +1 -1
  176. package/dist/index.es24.js +30 -64
  177. package/dist/index.es24.js.map +1 -1
  178. package/dist/index.es240.js +35 -2
  179. package/dist/index.es240.js.map +1 -1
  180. package/dist/index.es241.js +10 -2
  181. package/dist/index.es241.js.map +1 -1
  182. package/dist/index.es242.js +11 -2
  183. package/dist/index.es242.js.map +1 -1
  184. package/dist/index.es243.js +12 -2
  185. package/dist/index.es243.js.map +1 -1
  186. package/dist/index.es244.js +91 -2
  187. package/dist/index.es244.js.map +1 -1
  188. package/dist/index.es245.js +275 -2
  189. package/dist/index.es245.js.map +1 -1
  190. package/dist/index.es246.js +2 -2
  191. package/dist/index.es247.js +164 -2
  192. package/dist/index.es247.js.map +1 -1
  193. package/dist/index.es248.js +51 -2
  194. package/dist/index.es248.js.map +1 -1
  195. package/dist/index.es249.js +40 -2
  196. package/dist/index.es249.js.map +1 -1
  197. package/dist/index.es25.js +120 -29
  198. package/dist/index.es25.js.map +1 -1
  199. package/dist/index.es250.js +35 -2
  200. package/dist/index.es250.js.map +1 -1
  201. package/dist/index.es251.js +40 -2
  202. package/dist/index.es251.js.map +1 -1
  203. package/dist/index.es252.js +24 -2
  204. package/dist/index.es252.js.map +1 -1
  205. package/dist/index.es253.js +591 -2
  206. package/dist/index.es253.js.map +1 -1
  207. package/dist/index.es254.js +125 -2
  208. package/dist/index.es254.js.map +1 -1
  209. package/dist/index.es255.js +164 -2
  210. package/dist/index.es255.js.map +1 -1
  211. package/dist/index.es256.js +2 -2
  212. package/dist/index.es26.js +102 -123
  213. package/dist/index.es26.js.map +1 -1
  214. package/dist/index.es267.js +1 -1
  215. package/dist/index.es27.js +66 -101
  216. package/dist/index.es27.js.map +1 -1
  217. package/dist/index.es28.js +139 -66
  218. package/dist/index.es28.js.map +1 -1
  219. package/dist/index.es29.js +295 -131
  220. package/dist/index.es29.js.map +1 -1
  221. package/dist/index.es30.js +114 -298
  222. package/dist/index.es30.js.map +1 -1
  223. package/dist/index.es305.js +1 -1
  224. package/dist/index.es307.js +1 -1
  225. package/dist/index.es319.js +1 -1
  226. package/dist/index.es32.js +7 -7
  227. package/dist/index.es33.js +1 -1
  228. package/dist/index.es339.js +2 -2
  229. package/dist/index.es36.js +4 -4
  230. package/dist/index.es37.js +289 -114
  231. package/dist/index.es37.js.map +1 -1
  232. package/dist/index.es38.js +44 -70
  233. package/dist/index.es38.js.map +1 -1
  234. package/dist/index.es39.js +145 -19
  235. package/dist/index.es39.js.map +1 -1
  236. package/dist/index.es40.js +5 -261
  237. package/dist/index.es40.js.map +1 -1
  238. package/dist/index.es41.js +247 -38
  239. package/dist/index.es41.js.map +1 -1
  240. package/dist/index.es42.js +110 -207
  241. package/dist/index.es42.js.map +1 -1
  242. package/dist/index.es43.js +68 -64
  243. package/dist/index.es43.js.map +1 -1
  244. package/dist/index.es44.js +17 -141
  245. package/dist/index.es44.js.map +1 -1
  246. package/dist/index.es45.js +251 -14
  247. package/dist/index.es45.js.map +1 -1
  248. package/dist/index.es46.js +36 -223
  249. package/dist/index.es46.js.map +1 -1
  250. package/dist/index.es47.js +213 -7
  251. package/dist/index.es47.js.map +1 -1
  252. package/dist/index.es48.js +55 -1180
  253. package/dist/index.es48.js.map +1 -1
  254. package/dist/index.es49.js +141 -6
  255. package/dist/index.es49.js.map +1 -1
  256. package/dist/index.es50.js +21 -144
  257. package/dist/index.es50.js.map +1 -1
  258. package/dist/index.es51.js +230 -5
  259. package/dist/index.es51.js.map +1 -1
  260. package/dist/index.es52.js +8 -292
  261. package/dist/index.es52.js.map +1 -1
  262. package/dist/index.es53.js +1190 -43
  263. package/dist/index.es53.js.map +1 -1
  264. package/dist/index.es54.js +7 -144
  265. package/dist/index.es54.js.map +1 -1
  266. package/dist/index.es55.js +136 -241
  267. package/dist/index.es55.js.map +1 -1
  268. package/dist/index.es59.js +1 -1
  269. package/dist/index.es6.js +21 -8
  270. package/dist/index.es6.js.map +1 -1
  271. package/dist/index.es60.js +1 -1
  272. package/dist/index.es61.js +1 -1
  273. package/dist/index.es62.js +7 -7
  274. package/dist/index.es67.js +3 -3
  275. package/dist/index.es69.js +2 -2
  276. package/dist/index.es70.js +1 -1
  277. package/dist/index.es71.js +1 -1
  278. package/dist/index.es72.js +1 -1
  279. package/dist/index.es77.js +7 -7
  280. package/dist/index.es78.js +17 -17
  281. package/dist/index.es82.js +1 -1
  282. package/dist/index.es83.js +4 -4
  283. package/dist/index.es84.js +20 -11
  284. package/dist/index.es84.js.map +1 -1
  285. package/dist/index.es85.js +66 -38
  286. package/dist/index.es85.js.map +1 -1
  287. package/dist/index.es86.js +3 -34
  288. package/dist/index.es86.js.map +1 -1
  289. package/dist/index.es87.js +10 -230
  290. package/dist/index.es87.js.map +1 -1
  291. package/dist/index.es88.js +39 -29
  292. package/dist/index.es88.js.map +1 -1
  293. package/dist/index.es89.js +32 -73
  294. package/dist/index.es89.js.map +1 -1
  295. package/dist/index.es90.js +200 -44
  296. package/dist/index.es90.js.map +1 -1
  297. package/dist/index.es91.js +15 -37
  298. package/dist/index.es91.js.map +1 -1
  299. package/dist/index.es92.js +71 -26
  300. package/dist/index.es92.js.map +1 -1
  301. package/dist/index.es93.js +72 -39
  302. package/dist/index.es93.js.map +1 -1
  303. package/dist/index.es94.js +48 -53
  304. package/dist/index.es94.js.map +1 -1
  305. package/dist/index.es95.js +30 -13
  306. package/dist/index.es95.js.map +1 -1
  307. package/dist/index.es96.js +40 -134
  308. package/dist/index.es96.js.map +1 -1
  309. package/dist/index.es97.js +56 -20
  310. package/dist/index.es97.js.map +1 -1
  311. package/dist/index.es98.js +11 -180
  312. package/dist/index.es98.js.map +1 -1
  313. package/dist/index.es99.js +129 -233
  314. package/dist/index.es99.js.map +1 -1
  315. package/dist/styles.css +1 -1
  316. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es91.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/groq.ts\n/**\n* Converts a Groq AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Groq's API format\n* and converts it to the standardized v1 content block format. It handles\n* both parsed reasoning (in additional_kwargs.reasoning) and raw reasoning\n* (in <think> tags within content).\n*\n* @param message - The AI message containing Groq-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* // Parsed format (reasoning_format=\"parsed\")\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*\n* @example\n* ```typescript\n* // Raw format (reasoning_format=\"raw\")\n* const message = new AIMessage({\n* content: \"<think>Let me think...</think>The answer is 42\"\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromGroqMessage(message) {\n\tconst blocks = [];\n\tconst parsedReasoning = message.additional_kwargs?.reasoning;\n\tif (_isString(parsedReasoning) && parsedReasoning.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: parsedReasoning\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tlet textContent = message.content;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) {\n\t\tlet textContent = block.text;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t}\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatGroqTranslator = {\n\ttranslateContent: convertToV1FromGroqMessage,\n\ttranslateContentChunk: convertToV1FromGroqMessage\n};\n\n//#endregion\nexport { ChatGroqTranslator };\n//# sourceMappingURL=groq.js.map"],"names":[],"mappings":";AA2CA,SAAS,2BAA2B,SAAS;AAC5C,QAAM,SAAS,CAAA;AACf,QAAM,kBAAkB,QAAQ,mBAAmB;AACnD,MAAI,UAAU,eAAe,KAAK,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,IACzE,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,cAAc,QAAQ;AAC1B,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,GAAG;AAClK,QAAI,cAAc,MAAM;AACxB,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF;AACA,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,qBAAqB;AAAA,EAC1B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es91.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/deepseek.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/deepseek.ts\n/**\n* Converts a DeepSeek AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from DeepSeek's API format\n* and converts it to the standardized v1 content block format. It handles\n* both string content and the reasoning_content in additional_kwargs.\n*\n* @param message - The AI message containing DeepSeek-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromDeepSeekMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromDeepSeekMessage(message) {\n\tconst blocks = [];\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatDeepSeekTranslator = {\n\ttranslateContent: convertToV1FromDeepSeekMessage,\n\ttranslateContentChunk: convertToV1FromDeepSeekMessage\n};\n\n//#endregion\nexport { ChatDeepSeekTranslator };\n//# sourceMappingURL=deepseek.js.map"],"names":[],"mappings":";AA2BA,SAAS,+BAA+B,SAAS;AAChD,QAAM,SAAS,CAAA;AACf,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,yBAAyB;AAAA,EAC9B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,33 +1,78 @@
1
- import { _isString } from "./index.es86.js";
2
- function convertToV1FromOllamaMessage(message) {
3
- const blocks = [];
4
- const reasoningContent = message.additional_kwargs?.reasoning_content;
5
- if (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({
6
- type: "reasoning",
7
- reasoning: reasoningContent
8
- });
9
- if (typeof message.content === "string") {
10
- if (message.content.length > 0) blocks.push({
1
+ import { _isContentBlock, _isString, _isObject } from "./index.es89.js";
2
+ function convertToV1FromChatGoogleMessage(message) {
3
+ function* iterateContent() {
4
+ const content = typeof message.content === "string" ? [{
11
5
  type: "text",
12
6
  text: message.content
13
- });
14
- } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) blocks.push({
15
- type: "text",
16
- text: block.text
17
- });
18
- for (const toolCall of message.tool_calls ?? []) blocks.push({
19
- type: "tool_call",
20
- id: toolCall.id,
21
- name: toolCall.name,
22
- args: toolCall.args
23
- });
24
- return blocks;
7
+ }] : message.content;
8
+ for (const block of content) {
9
+ if (_isContentBlock(block, "text") && _isString(block.text)) {
10
+ yield {
11
+ type: "text",
12
+ text: block.text
13
+ };
14
+ continue;
15
+ } else if (_isContentBlock(block, "thinking") && _isString(block.thinking)) {
16
+ yield {
17
+ type: "reasoning",
18
+ reasoning: block.thinking,
19
+ ...block.signature ? { signature: block.signature } : {}
20
+ };
21
+ continue;
22
+ } else if (_isContentBlock(block, "inlineData") && _isObject(block.inlineData) && _isString(block.inlineData.mimeType) && _isString(block.inlineData.data)) {
23
+ yield {
24
+ type: "file",
25
+ mimeType: block.inlineData.mimeType,
26
+ data: block.inlineData.data
27
+ };
28
+ continue;
29
+ } else if (_isContentBlock(block, "functionCall") && _isObject(block.functionCall) && _isString(block.functionCall.name) && _isObject(block.functionCall.args)) {
30
+ yield {
31
+ type: "tool_call",
32
+ id: message.id,
33
+ name: block.functionCall.name,
34
+ args: block.functionCall.args
35
+ };
36
+ continue;
37
+ } else if (_isContentBlock(block, "functionResponse")) {
38
+ yield {
39
+ type: "non_standard",
40
+ value: block
41
+ };
42
+ continue;
43
+ } else if (_isContentBlock(block, "fileData") && _isObject(block.fileData) && _isString(block.fileData.mimeType) && _isString(block.fileData.fileUri)) {
44
+ yield {
45
+ type: "file",
46
+ mimeType: block.fileData.mimeType,
47
+ fileId: block.fileData.fileUri
48
+ };
49
+ continue;
50
+ } else if (_isContentBlock(block, "executableCode")) {
51
+ yield {
52
+ type: "non_standard",
53
+ value: block
54
+ };
55
+ continue;
56
+ } else if (_isContentBlock(block, "codeExecutionResult")) {
57
+ yield {
58
+ type: "non_standard",
59
+ value: block
60
+ };
61
+ continue;
62
+ }
63
+ yield {
64
+ type: "non_standard",
65
+ value: block
66
+ };
67
+ }
68
+ }
69
+ return Array.from(iterateContent());
25
70
  }
26
- const ChatOllamaTranslator = {
27
- translateContent: convertToV1FromOllamaMessage,
28
- translateContentChunk: convertToV1FromOllamaMessage
71
+ const ChatGoogleGenAITranslator = {
72
+ translateContent: convertToV1FromChatGoogleMessage,
73
+ translateContentChunk: convertToV1FromChatGoogleMessage
29
74
  };
30
75
  export {
31
- ChatOllamaTranslator
76
+ ChatGoogleGenAITranslator
32
77
  };
33
78
  //# sourceMappingURL=index.es92.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es92.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/ollama.ts\n/**\n* Converts an Ollama AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Ollama's API format\n* and converts it to the standardized v1 content block format. It handles\n* the reasoning_content in additional_kwargs (populated when think mode is enabled).\n*\n* @param message - The AI message containing Ollama-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromOllamaMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromOllamaMessage(message) {\n\tconst blocks = [];\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatOllamaTranslator = {\n\ttranslateContent: convertToV1FromOllamaMessage,\n\ttranslateContentChunk: convertToV1FromOllamaMessage\n};\n\n//#endregion\nexport { ChatOllamaTranslator };\n//# sourceMappingURL=ollama.js.map"],"names":[],"mappings":";AA2BA,SAAS,6BAA6B,SAAS;AAC9C,QAAM,SAAS,CAAA;AACf,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,uBAAuB;AAAA,EAC5B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es92.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_genai.js"],"sourcesContent":["import { _isContentBlock, _isObject, _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/google_genai.ts\nfunction convertToV1FromChatGoogleMessage(message) {\n\tfunction* iterateContent() {\n\t\tconst content = typeof message.content === \"string\" ? [{\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t}] : message.content;\n\t\tfor (const block of content) {\n\t\t\tif (_isContentBlock(block, \"text\") && _isString(block.text)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: block.text\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"thinking\") && _isString(block.thinking)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"reasoning\",\n\t\t\t\t\treasoning: block.thinking,\n\t\t\t\t\t...block.signature ? { signature: block.signature } : {}\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"inlineData\") && _isObject(block.inlineData) && _isString(block.inlineData.mimeType) && _isString(block.inlineData.data)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\tmimeType: block.inlineData.mimeType,\n\t\t\t\t\tdata: block.inlineData.data\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"functionCall\") && _isObject(block.functionCall) && _isString(block.functionCall.name) && _isObject(block.functionCall.args)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\tid: message.id,\n\t\t\t\t\tname: block.functionCall.name,\n\t\t\t\t\targs: block.functionCall.args\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"functionResponse\")) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"non_standard\",\n\t\t\t\t\tvalue: block\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"fileData\") && _isObject(block.fileData) && _isString(block.fileData.mimeType) && _isString(block.fileData.fileUri)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\tmimeType: block.fileData.mimeType,\n\t\t\t\t\tfileId: block.fileData.fileUri\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"executableCode\")) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"non_standard\",\n\t\t\t\t\tvalue: block\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"codeExecutionResult\")) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"non_standard\",\n\t\t\t\t\tvalue: block\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tyield {\n\t\t\t\ttype: \"non_standard\",\n\t\t\t\tvalue: block\n\t\t\t};\n\t\t}\n\t}\n\treturn Array.from(iterateContent());\n}\nconst ChatGoogleGenAITranslator = {\n\ttranslateContent: convertToV1FromChatGoogleMessage,\n\ttranslateContentChunk: convertToV1FromChatGoogleMessage\n};\n\n//#endregion\nexport { ChatGoogleGenAITranslator };\n//# sourceMappingURL=google_genai.js.map"],"names":[],"mappings":";AAGA,SAAS,iCAAiC,SAAS;AAClD,YAAU,iBAAiB;AAC1B,UAAM,UAAU,OAAO,QAAQ,YAAY,WAAW,CAAC;AAAA,MACtD,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG,IAAI,QAAQ;AACb,eAAW,SAAS,SAAS;AAC5B,UAAI,gBAAgB,OAAO,MAAM,KAAK,UAAU,MAAM,IAAI,GAAG;AAC5D,cAAM;AAAA,UACL,MAAM;AAAA,UACN,MAAM,MAAM;AAAA,QACjB;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,UAAU,KAAK,UAAU,MAAM,QAAQ,GAAG;AAC3E,cAAM;AAAA,UACL,MAAM;AAAA,UACN,WAAW,MAAM;AAAA,UACjB,GAAG,MAAM,YAAY,EAAE,WAAW,MAAM,UAAS,IAAK,CAAA;AAAA,QAC3D;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,YAAY,KAAK,UAAU,MAAM,UAAU,KAAK,UAAU,MAAM,WAAW,QAAQ,KAAK,UAAU,MAAM,WAAW,IAAI,GAAG;AAC3J,cAAM;AAAA,UACL,MAAM;AAAA,UACN,UAAU,MAAM,WAAW;AAAA,UAC3B,MAAM,MAAM,WAAW;AAAA,QAC5B;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,cAAc,KAAK,UAAU,MAAM,YAAY,KAAK,UAAU,MAAM,aAAa,IAAI,KAAK,UAAU,MAAM,aAAa,IAAI,GAAG;AAC/J,cAAM;AAAA,UACL,MAAM;AAAA,UACN,IAAI,QAAQ;AAAA,UACZ,MAAM,MAAM,aAAa;AAAA,UACzB,MAAM,MAAM,aAAa;AAAA,QAC9B;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,kBAAkB,GAAG;AACtD,cAAM;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,QACZ;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,UAAU,KAAK,UAAU,MAAM,QAAQ,KAAK,UAAU,MAAM,SAAS,QAAQ,KAAK,UAAU,MAAM,SAAS,OAAO,GAAG;AACtJ,cAAM;AAAA,UACL,MAAM;AAAA,UACN,UAAU,MAAM,SAAS;AAAA,UACzB,QAAQ,MAAM,SAAS;AAAA,QAC5B;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,gBAAgB,GAAG;AACpD,cAAM;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,QACZ;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,qBAAqB,GAAG;AACzD,cAAM;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,QACZ;AACI;AAAA,MACD;AACA,YAAM;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,MACX;AAAA,IACE;AAAA,EACD;AACA,SAAO,MAAM,KAAK,gBAAgB;AACnC;AACK,MAAC,4BAA4B;AAAA,EACjC,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,46 +1,79 @@
1
- import { _isObject, _isArray, _isString } from "./index.es86.js";
2
- function convertToV1FromXAIMessage(message) {
3
- const blocks = [];
4
- if (_isObject(message.additional_kwargs?.reasoning)) {
5
- const reasoning = message.additional_kwargs.reasoning;
6
- if (_isArray(reasoning.summary)) {
7
- const summaryText = reasoning.summary.reduce((acc, item) => {
8
- if (_isObject(item) && _isString(item.text)) return `${acc}${item.text}`;
9
- return acc;
10
- }, "");
11
- if (summaryText.length > 0) blocks.push({
12
- type: "reasoning",
13
- reasoning: summaryText
14
- });
15
- }
16
- }
17
- const reasoningContent = message.additional_kwargs?.reasoning_content;
18
- if (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({
19
- type: "reasoning",
20
- reasoning: reasoningContent
21
- });
22
- if (typeof message.content === "string") {
23
- if (message.content.length > 0) blocks.push({
1
+ import { _isContentBlock, _isString, iife, _isArray } from "./index.es89.js";
2
+ function convertToV1FromChatVertexMessage(message) {
3
+ function* iterateContent() {
4
+ const content = typeof message.content === "string" ? [{
24
5
  type: "text",
25
6
  text: message.content
26
- });
27
- } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) blocks.push({
28
- type: "text",
29
- text: block.text
30
- });
31
- for (const toolCall of message.tool_calls ?? []) blocks.push({
32
- type: "tool_call",
33
- id: toolCall.id,
34
- name: toolCall.name,
35
- args: toolCall.args
36
- });
37
- return blocks;
7
+ }] : message.content;
8
+ for (const block of content) {
9
+ if (_isContentBlock(block, "reasoning") && _isString(block.reasoning)) {
10
+ const signature = iife(() => {
11
+ const reasoningIndex = content.indexOf(block);
12
+ if (_isArray(message.additional_kwargs?.signatures) && reasoningIndex >= 0) return message.additional_kwargs.signatures.at(reasoningIndex);
13
+ return void 0;
14
+ });
15
+ if (_isString(signature)) yield {
16
+ type: "reasoning",
17
+ reasoning: block.reasoning,
18
+ signature
19
+ };
20
+ else yield {
21
+ type: "reasoning",
22
+ reasoning: block.reasoning
23
+ };
24
+ continue;
25
+ } else if (_isContentBlock(block, "thinking") && _isString(block.thinking)) {
26
+ yield {
27
+ type: "reasoning",
28
+ reasoning: block.thinking,
29
+ ...block.signature ? { signature: block.signature } : {}
30
+ };
31
+ continue;
32
+ } else if (_isContentBlock(block, "text") && _isString(block.text)) {
33
+ yield {
34
+ type: "text",
35
+ text: block.text
36
+ };
37
+ continue;
38
+ } else if (_isContentBlock(block, "image_url")) {
39
+ if (_isString(block.image_url)) if (block.image_url.startsWith("data:")) {
40
+ const dataUrlRegex = /^data:([^;]+);base64,(.+)$/;
41
+ const match = block.image_url.match(dataUrlRegex);
42
+ if (match) yield {
43
+ type: "image",
44
+ data: match[2],
45
+ mimeType: match[1]
46
+ };
47
+ else yield {
48
+ type: "image",
49
+ url: block.image_url
50
+ };
51
+ } else yield {
52
+ type: "image",
53
+ url: block.image_url
54
+ };
55
+ continue;
56
+ } else if (_isContentBlock(block, "media") && _isString(block.mimeType) && _isString(block.data)) {
57
+ yield {
58
+ type: "file",
59
+ mimeType: block.mimeType,
60
+ data: block.data
61
+ };
62
+ continue;
63
+ }
64
+ yield {
65
+ type: "non_standard",
66
+ value: block
67
+ };
68
+ }
69
+ }
70
+ return Array.from(iterateContent());
38
71
  }
39
- const ChatXAITranslator = {
40
- translateContent: convertToV1FromXAIMessage,
41
- translateContentChunk: convertToV1FromXAIMessage
72
+ const ChatVertexTranslator = {
73
+ translateContent: convertToV1FromChatVertexMessage,
74
+ translateContentChunk: convertToV1FromChatVertexMessage
42
75
  };
43
76
  export {
44
- ChatXAITranslator
77
+ ChatVertexTranslator
45
78
  };
46
79
  //# sourceMappingURL=index.es93.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es93.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.js"],"sourcesContent":["import { _isArray, _isObject, _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/xai.ts\n/**\n* Converts an xAI AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from xAI's API format\n* and converts it to the standardized v1 content block format. It handles\n* both the responses API (reasoning object with summary) and completions API\n* (reasoning_content string) formats.\n*\n* @param message - The AI message containing xAI-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* // Responses API format\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: {\n* reasoning: {\n* id: \"reasoning_123\",\n* type: \"reasoning\",\n* summary: [{ type: \"summary_text\", text: \"Let me think...\" }]\n* }\n* }\n* });\n* const standardBlocks = convertToV1FromXAIMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*\n* @example\n* ```typescript\n* // Completions API format\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromXAIMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromXAIMessage(message) {\n\tconst blocks = [];\n\tif (_isObject(message.additional_kwargs?.reasoning)) {\n\t\tconst reasoning = message.additional_kwargs.reasoning;\n\t\tif (_isArray(reasoning.summary)) {\n\t\t\tconst summaryText = reasoning.summary.reduce((acc, item) => {\n\t\t\t\tif (_isObject(item) && _isString(item.text)) return `${acc}${item.text}`;\n\t\t\t\treturn acc;\n\t\t\t}, \"\");\n\t\t\tif (summaryText.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: summaryText\n\t\t\t});\n\t\t}\n\t}\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatXAITranslator = {\n\ttranslateContent: convertToV1FromXAIMessage,\n\ttranslateContentChunk: convertToV1FromXAIMessage\n};\n\n//#endregion\nexport { ChatXAITranslator };\n//# sourceMappingURL=xai.js.map"],"names":[],"mappings":";AAkDA,SAAS,0BAA0B,SAAS;AAC3C,QAAM,SAAS,CAAA;AACf,MAAI,UAAU,QAAQ,mBAAmB,SAAS,GAAG;AACpD,UAAM,YAAY,QAAQ,kBAAkB;AAC5C,QAAI,SAAS,UAAU,OAAO,GAAG;AAChC,YAAM,cAAc,UAAU,QAAQ,OAAO,CAAC,KAAK,SAAS;AAC3D,YAAI,UAAU,IAAI,KAAK,UAAU,KAAK,IAAI,EAAG,QAAO,GAAG,GAAG,GAAG,KAAK,IAAI;AACtE,eAAO;AAAA,MACR,GAAG,EAAE;AACL,UAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,QACvC,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AAAA,IACF;AAAA,EACD;AACA,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,oBAAoB;AAAA,EACzB,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es93.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_vertexai.js"],"sourcesContent":["import { _isArray, _isContentBlock, _isString, iife } from \"./utils.js\";\n\n//#region src/messages/block_translators/google_vertexai.ts\nfunction convertToV1FromChatVertexMessage(message) {\n\tfunction* iterateContent() {\n\t\tconst content = typeof message.content === \"string\" ? [{\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t}] : message.content;\n\t\tfor (const block of content) {\n\t\t\tif (_isContentBlock(block, \"reasoning\") && _isString(block.reasoning)) {\n\t\t\t\tconst signature = iife(() => {\n\t\t\t\t\tconst reasoningIndex = content.indexOf(block);\n\t\t\t\t\tif (_isArray(message.additional_kwargs?.signatures) && reasoningIndex >= 0) return message.additional_kwargs.signatures.at(reasoningIndex);\n\t\t\t\t\treturn void 0;\n\t\t\t\t});\n\t\t\t\tif (_isString(signature)) yield {\n\t\t\t\t\ttype: \"reasoning\",\n\t\t\t\t\treasoning: block.reasoning,\n\t\t\t\t\tsignature\n\t\t\t\t};\n\t\t\t\telse yield {\n\t\t\t\t\ttype: \"reasoning\",\n\t\t\t\t\treasoning: block.reasoning\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"thinking\") && _isString(block.thinking)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"reasoning\",\n\t\t\t\t\treasoning: block.thinking,\n\t\t\t\t\t...block.signature ? { signature: block.signature } : {}\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"text\") && _isString(block.text)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: block.text\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"image_url\")) {\n\t\t\t\tif (_isString(block.image_url)) if (block.image_url.startsWith(\"data:\")) {\n\t\t\t\t\tconst dataUrlRegex = /^data:([^;]+);base64,(.+)$/;\n\t\t\t\t\tconst match = block.image_url.match(dataUrlRegex);\n\t\t\t\t\tif (match) yield {\n\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\tdata: match[2],\n\t\t\t\t\t\tmimeType: match[1]\n\t\t\t\t\t};\n\t\t\t\t\telse yield {\n\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\turl: block.image_url\n\t\t\t\t\t};\n\t\t\t\t} else yield {\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\turl: block.image_url\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t} else if (_isContentBlock(block, \"media\") && _isString(block.mimeType) && _isString(block.data)) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\tmimeType: block.mimeType,\n\t\t\t\t\tdata: block.data\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tyield {\n\t\t\t\ttype: \"non_standard\",\n\t\t\t\tvalue: block\n\t\t\t};\n\t\t}\n\t}\n\treturn Array.from(iterateContent());\n}\nconst ChatVertexTranslator = {\n\ttranslateContent: convertToV1FromChatVertexMessage,\n\ttranslateContentChunk: convertToV1FromChatVertexMessage\n};\n\n//#endregion\nexport { ChatVertexTranslator };\n//# sourceMappingURL=google_vertexai.js.map"],"names":[],"mappings":";AAGA,SAAS,iCAAiC,SAAS;AAClD,YAAU,iBAAiB;AAC1B,UAAM,UAAU,OAAO,QAAQ,YAAY,WAAW,CAAC;AAAA,MACtD,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG,IAAI,QAAQ;AACb,eAAW,SAAS,SAAS;AAC5B,UAAI,gBAAgB,OAAO,WAAW,KAAK,UAAU,MAAM,SAAS,GAAG;AACtE,cAAM,YAAY,KAAK,MAAM;AAC5B,gBAAM,iBAAiB,QAAQ,QAAQ,KAAK;AAC5C,cAAI,SAAS,QAAQ,mBAAmB,UAAU,KAAK,kBAAkB,EAAG,QAAO,QAAQ,kBAAkB,WAAW,GAAG,cAAc;AACzI,iBAAO;AAAA,QACR,CAAC;AACD,YAAI,UAAU,SAAS,EAAG,OAAM;AAAA,UAC/B,MAAM;AAAA,UACN,WAAW,MAAM;AAAA,UACjB;AAAA,QACL;AAAA,YACS,OAAM;AAAA,UACV,MAAM;AAAA,UACN,WAAW,MAAM;AAAA,QACtB;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,UAAU,KAAK,UAAU,MAAM,QAAQ,GAAG;AAC3E,cAAM;AAAA,UACL,MAAM;AAAA,UACN,WAAW,MAAM;AAAA,UACjB,GAAG,MAAM,YAAY,EAAE,WAAW,MAAM,UAAS,IAAK,CAAA;AAAA,QAC3D;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,MAAM,KAAK,UAAU,MAAM,IAAI,GAAG;AACnE,cAAM;AAAA,UACL,MAAM;AAAA,UACN,MAAM,MAAM;AAAA,QACjB;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,WAAW,GAAG;AAC/C,YAAI,UAAU,MAAM,SAAS,EAAG,KAAI,MAAM,UAAU,WAAW,OAAO,GAAG;AACxE,gBAAM,eAAe;AACrB,gBAAM,QAAQ,MAAM,UAAU,MAAM,YAAY;AAChD,cAAI,MAAO,OAAM;AAAA,YAChB,MAAM;AAAA,YACN,MAAM,MAAM,CAAC;AAAA,YACb,UAAU,MAAM,CAAC;AAAA,UACvB;AAAA,cACU,OAAM;AAAA,YACV,MAAM;AAAA,YACN,KAAK,MAAM;AAAA,UACjB;AAAA,QACI,MAAO,OAAM;AAAA,UACZ,MAAM;AAAA,UACN,KAAK,MAAM;AAAA,QAChB;AACI;AAAA,MACD,WAAW,gBAAgB,OAAO,OAAO,KAAK,UAAU,MAAM,QAAQ,KAAK,UAAU,MAAM,IAAI,GAAG;AACjG,cAAM;AAAA,UACL,MAAM;AAAA,UACN,UAAU,MAAM;AAAA,UAChB,MAAM,MAAM;AAAA,QACjB;AACI;AAAA,MACD;AACA,YAAM;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,MACX;AAAA,IACE;AAAA,EACD;AACA,SAAO,MAAM,KAAK,gBAAgB;AACnC;AACK,MAAC,uBAAuB;AAAA,EAC5B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,60 +1,55 @@
1
- import { getGlobalAsyncLocalStorageInstance, _CONTEXT_VARIABLES_KEY, setGlobalAsyncLocalStorageInstance } from "./index.es120.js";
2
- import { CallbackManager } from "./index.es121.js";
3
- import "uuid";
4
- import "./index.es122.js";
5
- import "./index.es123.js";
6
- import "./index.es124.js";
7
- import { RunTree } from "./index.es125.js";
8
- var MockAsyncLocalStorage = class {
9
- getStore() {
10
- return void 0;
11
- }
12
- run(_store, callback) {
13
- return callback();
14
- }
15
- enterWith(_store) {
16
- return void 0;
17
- }
18
- };
19
- const mockAsyncLocalStorage = new MockAsyncLocalStorage();
20
- const LC_CHILD_KEY = /* @__PURE__ */ Symbol.for("lc:child_config");
21
- var AsyncLocalStorageProvider = class {
22
- getInstance() {
23
- return getGlobalAsyncLocalStorageInstance() ?? mockAsyncLocalStorage;
24
- }
25
- getRunnableConfig() {
26
- const storage = this.getInstance();
27
- return storage.getStore()?.extra?.[LC_CHILD_KEY];
28
- }
29
- runWithConfig(config, callback, avoidCreatingRootRunTree) {
30
- const callbackManager = CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);
31
- const storage = this.getInstance();
32
- const previousValue = storage.getStore();
33
- const parentRunId = callbackManager?.getParentRunId();
34
- const langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name === "langchain_tracer");
35
- let runTree;
36
- if (langChainTracer && parentRunId) runTree = langChainTracer.getRunTreeWithTracingConfig(parentRunId);
37
- else if (!avoidCreatingRootRunTree) runTree = new RunTree({
38
- name: "<runnable_lambda>",
39
- tracingEnabled: false
1
+ import { _isString } from "./index.es89.js";
2
+ function convertToV1FromGroqMessage(message) {
3
+ const blocks = [];
4
+ const parsedReasoning = message.additional_kwargs?.reasoning;
5
+ if (_isString(parsedReasoning) && parsedReasoning.length > 0) blocks.push({
6
+ type: "reasoning",
7
+ reasoning: parsedReasoning
8
+ });
9
+ if (typeof message.content === "string") {
10
+ let textContent = message.content;
11
+ const thinkMatch = textContent.match(/<think>([\s\S]*?)<\/think>/);
12
+ if (thinkMatch) {
13
+ const thinkingContent = thinkMatch[1].trim();
14
+ if (thinkingContent.length > 0) blocks.push({
15
+ type: "reasoning",
16
+ reasoning: thinkingContent
17
+ });
18
+ textContent = textContent.replace(/<think>[\s\S]*?<\/think>/, "").trim();
19
+ }
20
+ if (textContent.length > 0) blocks.push({
21
+ type: "text",
22
+ text: textContent
40
23
  });
41
- if (runTree) runTree.extra = {
42
- ...runTree.extra,
43
- [LC_CHILD_KEY]: config
44
- };
45
- if (previousValue !== void 0 && previousValue[_CONTEXT_VARIABLES_KEY] !== void 0) {
46
- if (runTree === void 0) runTree = {};
47
- runTree[_CONTEXT_VARIABLES_KEY] = previousValue[_CONTEXT_VARIABLES_KEY];
24
+ } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) {
25
+ let textContent = block.text;
26
+ const thinkMatch = textContent.match(/<think>([\s\S]*?)<\/think>/);
27
+ if (thinkMatch) {
28
+ const thinkingContent = thinkMatch[1].trim();
29
+ if (thinkingContent.length > 0) blocks.push({
30
+ type: "reasoning",
31
+ reasoning: thinkingContent
32
+ });
33
+ textContent = textContent.replace(/<think>[\s\S]*?<\/think>/, "").trim();
48
34
  }
49
- return storage.run(runTree, callback);
50
- }
51
- initializeGlobalInstance(instance) {
52
- if (getGlobalAsyncLocalStorageInstance() === void 0) setGlobalAsyncLocalStorageInstance(instance);
35
+ if (textContent.length > 0) blocks.push({
36
+ type: "text",
37
+ text: textContent
38
+ });
53
39
  }
40
+ for (const toolCall of message.tool_calls ?? []) blocks.push({
41
+ type: "tool_call",
42
+ id: toolCall.id,
43
+ name: toolCall.name,
44
+ args: toolCall.args
45
+ });
46
+ return blocks;
47
+ }
48
+ const ChatGroqTranslator = {
49
+ translateContent: convertToV1FromGroqMessage,
50
+ translateContentChunk: convertToV1FromGroqMessage
54
51
  };
55
- const AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();
56
52
  export {
57
- AsyncLocalStorageProviderSingleton,
58
- MockAsyncLocalStorage
53
+ ChatGroqTranslator
59
54
  };
60
55
  //# sourceMappingURL=index.es94.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es94.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/singletons/async_local_storage/index.js"],"sourcesContent":["import { _CONTEXT_VARIABLES_KEY, getGlobalAsyncLocalStorageInstance, setGlobalAsyncLocalStorageInstance } from \"./globals.js\";\nimport { CallbackManager } from \"../../callbacks/manager.js\";\nimport { RunTree } from \"langsmith\";\n\n//#region src/singletons/async_local_storage/index.ts\nvar MockAsyncLocalStorage = class {\n\tgetStore() {\n\t\treturn void 0;\n\t}\n\trun(_store, callback) {\n\t\treturn callback();\n\t}\n\tenterWith(_store) {\n\t\treturn void 0;\n\t}\n};\nconst mockAsyncLocalStorage = new MockAsyncLocalStorage();\nconst LC_CHILD_KEY = Symbol.for(\"lc:child_config\");\nvar AsyncLocalStorageProvider = class {\n\tgetInstance() {\n\t\treturn getGlobalAsyncLocalStorageInstance() ?? mockAsyncLocalStorage;\n\t}\n\tgetRunnableConfig() {\n\t\tconst storage = this.getInstance();\n\t\treturn storage.getStore()?.extra?.[LC_CHILD_KEY];\n\t}\n\trunWithConfig(config, callback, avoidCreatingRootRunTree) {\n\t\tconst callbackManager = CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);\n\t\tconst storage = this.getInstance();\n\t\tconst previousValue = storage.getStore();\n\t\tconst parentRunId = callbackManager?.getParentRunId();\n\t\tconst langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name === \"langchain_tracer\");\n\t\tlet runTree;\n\t\tif (langChainTracer && parentRunId) runTree = langChainTracer.getRunTreeWithTracingConfig(parentRunId);\n\t\telse if (!avoidCreatingRootRunTree) runTree = new RunTree({\n\t\t\tname: \"<runnable_lambda>\",\n\t\t\ttracingEnabled: false\n\t\t});\n\t\tif (runTree) runTree.extra = {\n\t\t\t...runTree.extra,\n\t\t\t[LC_CHILD_KEY]: config\n\t\t};\n\t\tif (previousValue !== void 0 && previousValue[_CONTEXT_VARIABLES_KEY] !== void 0) {\n\t\t\tif (runTree === void 0) runTree = {};\n\t\t\trunTree[_CONTEXT_VARIABLES_KEY] = previousValue[_CONTEXT_VARIABLES_KEY];\n\t\t}\n\t\treturn storage.run(runTree, callback);\n\t}\n\tinitializeGlobalInstance(instance) {\n\t\tif (getGlobalAsyncLocalStorageInstance() === void 0) setGlobalAsyncLocalStorageInstance(instance);\n\t}\n};\nconst AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();\n\n//#endregion\nexport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;;;AAKG,IAAC,wBAAwB,MAAM;AAAA,EACjC,WAAW;AACV,WAAO;AAAA,EACR;AAAA,EACA,IAAI,QAAQ,UAAU;AACrB,WAAO,SAAQ;AAAA,EAChB;AAAA,EACA,UAAU,QAAQ;AACjB,WAAO;AAAA,EACR;AACD;AACA,MAAM,wBAAwB,IAAI,sBAAqB;AACvD,MAAM,eAAe,uBAAO,IAAI,iBAAiB;AACjD,IAAI,4BAA4B,MAAM;AAAA,EACrC,cAAc;AACb,WAAO,mCAAkC,KAAM;AAAA,EAChD;AAAA,EACA,oBAAoB;AACnB,UAAM,UAAU,KAAK,YAAW;AAChC,WAAO,QAAQ,YAAY,QAAQ,YAAY;AAAA,EAChD;AAAA,EACA,cAAc,QAAQ,UAAU,0BAA0B;AACzD,UAAM,kBAAkB,gBAAgB,eAAe,QAAQ,WAAW,QAAQ,QAAQ,MAAM,QAAQ,QAAQ,QAAQ;AACxH,UAAM,UAAU,KAAK,YAAW;AAChC,UAAM,gBAAgB,QAAQ,SAAQ;AACtC,UAAM,cAAc,iBAAiB,eAAc;AACnD,UAAM,kBAAkB,iBAAiB,UAAU,KAAK,CAAC,YAAY,SAAS,SAAS,kBAAkB;AACzG,QAAI;AACJ,QAAI,mBAAmB,YAAa,WAAU,gBAAgB,4BAA4B,WAAW;AAAA,aAC5F,CAAC,yBAA0B,WAAU,IAAI,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,gBAAgB;AAAA,IACnB,CAAG;AACD,QAAI,QAAS,SAAQ,QAAQ;AAAA,MAC5B,GAAG,QAAQ;AAAA,MACX,CAAC,YAAY,GAAG;AAAA,IACnB;AACE,QAAI,kBAAkB,UAAU,cAAc,sBAAsB,MAAM,QAAQ;AACjF,UAAI,YAAY,OAAQ,WAAU,CAAA;AAClC,cAAQ,sBAAsB,IAAI,cAAc,sBAAsB;AAAA,IACvE;AACA,WAAO,QAAQ,IAAI,SAAS,QAAQ;AAAA,EACrC;AAAA,EACA,yBAAyB,UAAU;AAClC,QAAI,mCAAkC,MAAO,OAAQ,oCAAmC,QAAQ;AAAA,EACjG;AACD;AACK,MAAC,qCAAqC,IAAI,0BAAyB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es94.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/groq.ts\n/**\n* Converts a Groq AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Groq's API format\n* and converts it to the standardized v1 content block format. It handles\n* both parsed reasoning (in additional_kwargs.reasoning) and raw reasoning\n* (in <think> tags within content).\n*\n* @param message - The AI message containing Groq-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* // Parsed format (reasoning_format=\"parsed\")\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*\n* @example\n* ```typescript\n* // Raw format (reasoning_format=\"raw\")\n* const message = new AIMessage({\n* content: \"<think>Let me think...</think>The answer is 42\"\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromGroqMessage(message) {\n\tconst blocks = [];\n\tconst parsedReasoning = message.additional_kwargs?.reasoning;\n\tif (_isString(parsedReasoning) && parsedReasoning.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: parsedReasoning\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tlet textContent = message.content;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) {\n\t\tlet textContent = block.text;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t}\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatGroqTranslator = {\n\ttranslateContent: convertToV1FromGroqMessage,\n\ttranslateContentChunk: convertToV1FromGroqMessage\n};\n\n//#endregion\nexport { ChatGroqTranslator };\n//# sourceMappingURL=groq.js.map"],"names":[],"mappings":";AA2CA,SAAS,2BAA2B,SAAS;AAC5C,QAAM,SAAS,CAAA;AACf,QAAM,kBAAkB,QAAQ,mBAAmB;AACnD,MAAI,UAAU,eAAe,KAAK,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,IACzE,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,cAAc,QAAQ;AAC1B,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,GAAG;AAClK,QAAI,cAAc,MAAM;AACxB,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF;AACA,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,qBAAqB;AAAA,EAC1B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,16 +1,33 @@
1
- import { __export } from "./index.es56.js";
2
- import { _CONTEXT_VARIABLES_KEY } from "./index.es120.js";
3
- import { MockAsyncLocalStorage, AsyncLocalStorageProviderSingleton } from "./index.es94.js";
4
- var singletons_exports = {};
5
- __export(singletons_exports, {
6
- AsyncLocalStorageProviderSingleton: () => AsyncLocalStorageProviderSingleton,
7
- MockAsyncLocalStorage: () => MockAsyncLocalStorage,
8
- _CONTEXT_VARIABLES_KEY: () => _CONTEXT_VARIABLES_KEY
9
- });
1
+ import { _isString } from "./index.es89.js";
2
+ function convertToV1FromOllamaMessage(message) {
3
+ const blocks = [];
4
+ const reasoningContent = message.additional_kwargs?.reasoning_content;
5
+ if (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({
6
+ type: "reasoning",
7
+ reasoning: reasoningContent
8
+ });
9
+ if (typeof message.content === "string") {
10
+ if (message.content.length > 0) blocks.push({
11
+ type: "text",
12
+ text: message.content
13
+ });
14
+ } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) blocks.push({
15
+ type: "text",
16
+ text: block.text
17
+ });
18
+ for (const toolCall of message.tool_calls ?? []) blocks.push({
19
+ type: "tool_call",
20
+ id: toolCall.id,
21
+ name: toolCall.name,
22
+ args: toolCall.args
23
+ });
24
+ return blocks;
25
+ }
26
+ const ChatOllamaTranslator = {
27
+ translateContent: convertToV1FromOllamaMessage,
28
+ translateContentChunk: convertToV1FromOllamaMessage
29
+ };
10
30
  export {
11
- AsyncLocalStorageProviderSingleton,
12
- MockAsyncLocalStorage,
13
- _CONTEXT_VARIABLES_KEY,
14
- singletons_exports
31
+ ChatOllamaTranslator
15
32
  };
16
33
  //# sourceMappingURL=index.es95.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es95.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/singletons/index.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { _CONTEXT_VARIABLES_KEY } from \"./async_local_storage/globals.js\";\nimport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage } from \"./async_local_storage/index.js\";\n\n//#region src/singletons/index.ts\nvar singletons_exports = {};\n__export(singletons_exports, {\n\tAsyncLocalStorageProviderSingleton: () => AsyncLocalStorageProviderSingleton,\n\tMockAsyncLocalStorage: () => MockAsyncLocalStorage,\n\t_CONTEXT_VARIABLES_KEY: () => _CONTEXT_VARIABLES_KEY\n});\n\n//#endregion\nexport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage, _CONTEXT_VARIABLES_KEY, singletons_exports };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;AAKG,IAAC,qBAAqB,CAAA;AACzB,SAAS,oBAAoB;AAAA,EAC5B,oCAAoC,MAAM;AAAA,EAC1C,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAC/B,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es95.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/ollama.ts\n/**\n* Converts an Ollama AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Ollama's API format\n* and converts it to the standardized v1 content block format. It handles\n* the reasoning_content in additional_kwargs (populated when think mode is enabled).\n*\n* @param message - The AI message containing Ollama-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromOllamaMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromOllamaMessage(message) {\n\tconst blocks = [];\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatOllamaTranslator = {\n\ttranslateContent: convertToV1FromOllamaMessage,\n\ttranslateContentChunk: convertToV1FromOllamaMessage\n};\n\n//#endregion\nexport { ChatOllamaTranslator };\n//# sourceMappingURL=ollama.js.map"],"names":[],"mappings":";AA2BA,SAAS,6BAA6B,SAAS;AAC9C,QAAM,SAAS,CAAA;AACf,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,uBAAuB;AAAA,EAC5B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}