langgraph-ui-components 0.0.7 → 0.0.8

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 (283) hide show
  1. package/dist/index.es100.js +25 -157
  2. package/dist/index.es100.js.map +1 -1
  3. package/dist/index.es101.js +3130 -176
  4. package/dist/index.es101.js.map +1 -1
  5. package/dist/index.es102.js +36 -13
  6. package/dist/index.es102.js.map +1 -1
  7. package/dist/index.es103.js +5 -30
  8. package/dist/index.es103.js.map +1 -1
  9. package/dist/index.es104.js +69 -30
  10. package/dist/index.es104.js.map +1 -1
  11. package/dist/index.es105.js +28 -3148
  12. package/dist/index.es105.js.map +1 -1
  13. package/dist/index.es106.js +5 -16
  14. package/dist/index.es106.js.map +1 -1
  15. package/dist/index.es107.js +2 -7
  16. package/dist/index.es107.js.map +1 -1
  17. package/dist/index.es108.js +13 -2
  18. package/dist/index.es108.js.map +1 -1
  19. package/dist/index.es109.js +499 -9
  20. package/dist/index.es109.js.map +1 -1
  21. package/dist/index.es11.js +2 -2
  22. package/dist/index.es11.js.map +1 -1
  23. package/dist/index.es110.js +5 -501
  24. package/dist/index.es110.js.map +1 -1
  25. package/dist/index.es111.js +2 -7
  26. package/dist/index.es111.js.map +1 -1
  27. package/dist/index.es112.js +148 -2
  28. package/dist/index.es112.js.map +1 -1
  29. package/dist/index.es113.js +878 -118
  30. package/dist/index.es113.js.map +1 -1
  31. package/dist/index.es114.js +251 -877
  32. package/dist/index.es114.js.map +1 -1
  33. package/dist/index.es115.js +3 -281
  34. package/dist/index.es115.js.map +1 -1
  35. package/dist/index.es116.js +445 -3
  36. package/dist/index.es116.js.map +1 -1
  37. package/dist/index.es117.js +39 -437
  38. package/dist/index.es117.js.map +1 -1
  39. package/dist/index.es118.js +22 -46
  40. package/dist/index.es118.js.map +1 -1
  41. package/dist/index.es119.js +78 -21
  42. package/dist/index.es119.js.map +1 -1
  43. package/dist/index.es120.js +126 -76
  44. package/dist/index.es120.js.map +1 -1
  45. package/dist/index.es121.js +45 -125
  46. package/dist/index.es121.js.map +1 -1
  47. package/dist/index.es122.js +9 -48
  48. package/dist/index.es122.js.map +1 -1
  49. package/dist/index.es123.js +45 -10
  50. package/dist/index.es123.js.map +1 -1
  51. package/dist/index.es124.js +97 -43
  52. package/dist/index.es124.js.map +1 -1
  53. package/dist/index.es125.js +48 -94
  54. package/dist/index.es125.js.map +1 -1
  55. package/dist/index.es126.js +14 -51
  56. package/dist/index.es126.js.map +1 -1
  57. package/dist/index.es127.js +13 -162
  58. package/dist/index.es127.js.map +1 -1
  59. package/dist/index.es128.js +89 -2
  60. package/dist/index.es128.js.map +1 -1
  61. package/dist/index.es129.js +2 -15
  62. package/dist/index.es129.js.map +1 -1
  63. package/dist/index.es130.js +54 -87
  64. package/dist/index.es130.js.map +1 -1
  65. package/dist/index.es131.js +100 -2
  66. package/dist/index.es131.js.map +1 -1
  67. package/dist/index.es132.js +186 -51
  68. package/dist/index.es132.js.map +1 -1
  69. package/dist/index.es133.js +97 -87
  70. package/dist/index.es133.js.map +1 -1
  71. package/dist/index.es134.js +31 -187
  72. package/dist/index.es134.js.map +1 -1
  73. package/dist/index.es135.js +10 -110
  74. package/dist/index.es135.js.map +1 -1
  75. package/dist/index.es136.js +11 -35
  76. package/dist/index.es136.js.map +1 -1
  77. package/dist/index.es137.js +12 -10
  78. package/dist/index.es137.js.map +1 -1
  79. package/dist/index.es138.js +90 -10
  80. package/dist/index.es138.js.map +1 -1
  81. package/dist/index.es139.js +274 -11
  82. package/dist/index.es139.js.map +1 -1
  83. package/dist/index.es140.js +2 -91
  84. package/dist/index.es140.js.map +1 -1
  85. package/dist/index.es141.js +150 -261
  86. package/dist/index.es141.js.map +1 -1
  87. package/dist/index.es142.js +51 -2
  88. package/dist/index.es142.js.map +1 -1
  89. package/dist/index.es143.js +34 -158
  90. package/dist/index.es143.js.map +1 -1
  91. package/dist/index.es144.js +34 -50
  92. package/dist/index.es144.js.map +1 -1
  93. package/dist/index.es145.js +32 -32
  94. package/dist/index.es145.js.map +1 -1
  95. package/dist/index.es146.js +23 -34
  96. package/dist/index.es146.js.map +1 -1
  97. package/dist/index.es147.js +583 -32
  98. package/dist/index.es147.js.map +1 -1
  99. package/dist/index.es148.js +121 -20
  100. package/dist/index.es148.js.map +1 -1
  101. package/dist/index.es149.js +158 -585
  102. package/dist/index.es149.js.map +1 -1
  103. package/dist/index.es15.js +15 -15
  104. package/dist/index.es150.js +2 -125
  105. package/dist/index.es150.js.map +1 -1
  106. package/dist/index.es157.js +2 -2
  107. package/dist/index.es159.js +2 -2
  108. package/dist/index.es161.js +64 -25
  109. package/dist/index.es161.js.map +1 -1
  110. package/dist/index.es162.js +22 -12
  111. package/dist/index.es162.js.map +1 -1
  112. package/dist/index.es163.js +5 -53
  113. package/dist/index.es163.js.map +1 -1
  114. package/dist/index.es164.js +337 -52
  115. package/dist/index.es164.js.map +1 -1
  116. package/dist/index.es165.js +24 -21
  117. package/dist/index.es165.js.map +1 -1
  118. package/dist/index.es166.js +12 -6
  119. package/dist/index.es166.js.map +1 -1
  120. package/dist/index.es167.js +49 -344
  121. package/dist/index.es167.js.map +1 -1
  122. package/dist/index.es175.js +1 -1
  123. package/dist/index.es178.js +1 -1
  124. package/dist/index.es183.js +1 -1
  125. package/dist/index.es195.js +2 -2
  126. package/dist/index.es197.js +2 -2
  127. package/dist/index.es200.js +1 -1
  128. package/dist/index.es201.js +1 -1
  129. package/dist/index.es203.js +1 -1
  130. package/dist/index.es204.js +2 -2
  131. package/dist/index.es206.js +1 -1
  132. package/dist/index.es209.js +3 -3
  133. package/dist/index.es21.js +1 -1
  134. package/dist/index.es210.js +2 -2
  135. package/dist/index.es212.js +1 -1
  136. package/dist/index.es214.js +1 -1
  137. package/dist/index.es215.js +1 -1
  138. package/dist/index.es217.js +1 -1
  139. package/dist/index.es218.js +2 -2
  140. package/dist/index.es219.js +1 -1
  141. package/dist/index.es220.js +1 -1
  142. package/dist/index.es221.js +1 -1
  143. package/dist/index.es222.js +1 -1
  144. package/dist/index.es223.js +1 -1
  145. package/dist/index.es224.js +1 -1
  146. package/dist/index.es225.js +1 -1
  147. package/dist/index.es229.js +2 -2
  148. package/dist/index.es28.js +7 -7
  149. package/dist/index.es29.js +1 -1
  150. package/dist/index.es32.js +4 -4
  151. package/dist/index.es33.js +15 -1191
  152. package/dist/index.es33.js.map +1 -1
  153. package/dist/index.es34.js +117 -6
  154. package/dist/index.es34.js.map +1 -1
  155. package/dist/index.es35.js +70 -8
  156. package/dist/index.es35.js.map +1 -1
  157. package/dist/index.es36.js +19 -148
  158. package/dist/index.es36.js.map +1 -1
  159. package/dist/index.es37.js +255 -112
  160. package/dist/index.es37.js.map +1 -1
  161. package/dist/index.es38.js +40 -68
  162. package/dist/index.es38.js.map +1 -1
  163. package/dist/index.es39.js +214 -17
  164. package/dist/index.es39.js.map +1 -1
  165. package/dist/index.es40.js +53 -247
  166. package/dist/index.es40.js.map +1 -1
  167. package/dist/index.es41.js +123 -24
  168. package/dist/index.es41.js.map +1 -1
  169. package/dist/index.es42.js +14 -205
  170. package/dist/index.es42.js.map +1 -1
  171. package/dist/index.es43.js +221 -58
  172. package/dist/index.es43.js.map +1 -1
  173. package/dist/index.es44.js +7 -140
  174. package/dist/index.es44.js.map +1 -1
  175. package/dist/index.es45.js +1185 -17
  176. package/dist/index.es45.js.map +1 -1
  177. package/dist/index.es46.js +6 -229
  178. package/dist/index.es46.js.map +1 -1
  179. package/dist/index.es47.js +146 -15
  180. package/dist/index.es47.js.map +1 -1
  181. package/dist/index.es49.js +7 -90
  182. package/dist/index.es49.js.map +1 -1
  183. package/dist/index.es50.js +92 -6
  184. package/dist/index.es50.js.map +1 -1
  185. package/dist/index.es51.js +3 -14
  186. package/dist/index.es51.js.map +1 -1
  187. package/dist/index.es52.js +36 -8
  188. package/dist/index.es52.js.map +1 -1
  189. package/dist/index.es53.js +61 -83
  190. package/dist/index.es53.js.map +1 -1
  191. package/dist/index.es54.js +37 -3
  192. package/dist/index.es54.js.map +1 -1
  193. package/dist/index.es55.js +304 -34
  194. package/dist/index.es55.js.map +1 -1
  195. package/dist/index.es56.js +9 -72
  196. package/dist/index.es56.js.map +1 -1
  197. package/dist/index.es57.js +85 -32
  198. package/dist/index.es57.js.map +1 -1
  199. package/dist/index.es58.js +6 -304
  200. package/dist/index.es58.js.map +1 -1
  201. package/dist/index.es59.js +15 -9
  202. package/dist/index.es59.js.map +1 -1
  203. package/dist/index.es60.js +142 -5
  204. package/dist/index.es60.js.map +1 -1
  205. package/dist/index.es61.js +285 -148
  206. package/dist/index.es61.js.map +1 -1
  207. package/dist/index.es62.js +62 -668
  208. package/dist/index.es62.js.map +1 -1
  209. package/dist/index.es63.js +201 -131
  210. package/dist/index.es63.js.map +1 -1
  211. package/dist/index.es64.js +29 -295
  212. package/dist/index.es64.js.map +1 -1
  213. package/dist/index.es65.js +8 -65
  214. package/dist/index.es65.js.map +1 -1
  215. package/dist/index.es66.js +9 -210
  216. package/dist/index.es66.js.map +1 -1
  217. package/dist/index.es67.js +181 -28
  218. package/dist/index.es67.js.map +1 -1
  219. package/dist/index.es68.js +23 -8
  220. package/dist/index.es68.js.map +1 -1
  221. package/dist/index.es69.js +1397 -9
  222. package/dist/index.es69.js.map +1 -1
  223. package/dist/index.es70.js +9 -187
  224. package/dist/index.es70.js.map +1 -1
  225. package/dist/index.es71.js +8 -24
  226. package/dist/index.es71.js.map +1 -1
  227. package/dist/index.es72.js +5 -1399
  228. package/dist/index.es72.js.map +1 -1
  229. package/dist/index.es73.js +163 -9
  230. package/dist/index.es73.js.map +1 -1
  231. package/dist/index.es74.js +672 -8
  232. package/dist/index.es74.js.map +1 -1
  233. package/dist/index.es75.js +11 -36
  234. package/dist/index.es75.js.map +1 -1
  235. package/dist/index.es76.js +40 -5
  236. package/dist/index.es76.js.map +1 -1
  237. package/dist/index.es77.js +32 -71
  238. package/dist/index.es77.js.map +1 -1
  239. package/dist/index.es78.js +225 -30
  240. package/dist/index.es78.js.map +1 -1
  241. package/dist/index.es79.js +29 -11
  242. package/dist/index.es79.js.map +1 -1
  243. package/dist/index.es80.js +72 -37
  244. package/dist/index.es80.js.map +1 -1
  245. package/dist/index.es81.js +74 -32
  246. package/dist/index.es81.js.map +1 -1
  247. package/dist/index.es82.js +46 -226
  248. package/dist/index.es82.js.map +1 -1
  249. package/dist/index.es83.js +6 -6
  250. package/dist/index.es83.js.map +1 -1
  251. package/dist/index.es84.js +39 -71
  252. package/dist/index.es84.js.map +1 -1
  253. package/dist/index.es85.js +54 -73
  254. package/dist/index.es85.js.map +1 -1
  255. package/dist/index.es86.js +13 -52
  256. package/dist/index.es86.js.map +1 -1
  257. package/dist/index.es87.js +135 -28
  258. package/dist/index.es87.js.map +1 -1
  259. package/dist/index.es88.js +20 -42
  260. package/dist/index.es88.js.map +1 -1
  261. package/dist/index.es89.js +175 -50
  262. package/dist/index.es89.js.map +1 -1
  263. package/dist/index.es90.js +240 -12
  264. package/dist/index.es90.js.map +1 -1
  265. package/dist/index.es91.js +348 -130
  266. package/dist/index.es91.js.map +1 -1
  267. package/dist/index.es92.js +134 -18
  268. package/dist/index.es92.js.map +1 -1
  269. package/dist/index.es93.js +62 -174
  270. package/dist/index.es93.js.map +1 -1
  271. package/dist/index.es94.js +30 -234
  272. package/dist/index.es94.js.map +1 -1
  273. package/dist/index.es95.js +26 -344
  274. package/dist/index.es95.js.map +1 -1
  275. package/dist/index.es96.js +156 -127
  276. package/dist/index.es96.js.map +1 -1
  277. package/dist/index.es97.js +196 -63
  278. package/dist/index.es97.js.map +1 -1
  279. package/dist/index.es98.js +14 -37
  280. package/dist/index.es98.js.map +1 -1
  281. package/dist/index.es99.js +27 -34
  282. package/dist/index.es99.js.map +1 -1
  283. package/package.json +1 -1
@@ -1,79 +1,60 @@
1
- import { _isContentBlock, _isString, iife, _isArray } from "./index.es81.js";
2
- function convertToV1FromChatVertexMessage(message) {
3
- function* iterateContent() {
4
- const content = typeof message.content === "string" ? [{
5
- type: "text",
6
- text: message.content
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
- };
1
+ import { getGlobalAsyncLocalStorageInstance, _CONTEXT_VARIABLES_KEY, setGlobalAsyncLocalStorageInstance } from "./index.es108.js";
2
+ import { CallbackManager } from "./index.es109.js";
3
+ import "uuid";
4
+ import "./index.es110.js";
5
+ import "./index.es111.js";
6
+ import "./index.es112.js";
7
+ import { RunTree } from "./index.es113.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
40
+ });
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];
68
48
  }
49
+ return storage.run(runTree, callback);
50
+ }
51
+ initializeGlobalInstance(instance) {
52
+ if (getGlobalAsyncLocalStorageInstance() === void 0) setGlobalAsyncLocalStorageInstance(instance);
69
53
  }
70
- return Array.from(iterateContent());
71
- }
72
- const ChatVertexTranslator = {
73
- translateContent: convertToV1FromChatVertexMessage,
74
- translateContentChunk: convertToV1FromChatVertexMessage
75
54
  };
55
+ const AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();
76
56
  export {
77
- ChatVertexTranslator
57
+ AsyncLocalStorageProviderSingleton,
58
+ MockAsyncLocalStorage
78
59
  };
79
60
  //# sourceMappingURL=index.es85.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es85.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
+ {"version":3,"file":"index.es85.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,55 +1,16 @@
1
- import { _isString } from "./index.es81.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
23
- });
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();
34
- }
35
- if (textContent.length > 0) blocks.push({
36
- type: "text",
37
- text: textContent
38
- });
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
51
- };
1
+ import { __export } from "./index.es49.js";
2
+ import { _CONTEXT_VARIABLES_KEY } from "./index.es108.js";
3
+ import { MockAsyncLocalStorage, AsyncLocalStorageProviderSingleton } from "./index.es85.js";
4
+ var singletons_exports = {};
5
+ __export(singletons_exports, {
6
+ AsyncLocalStorageProviderSingleton: () => AsyncLocalStorageProviderSingleton,
7
+ MockAsyncLocalStorage: () => MockAsyncLocalStorage,
8
+ _CONTEXT_VARIABLES_KEY: () => _CONTEXT_VARIABLES_KEY
9
+ });
52
10
  export {
53
- ChatGroqTranslator
11
+ AsyncLocalStorageProviderSingleton,
12
+ MockAsyncLocalStorage,
13
+ _CONTEXT_VARIABLES_KEY,
14
+ singletons_exports
54
15
  };
55
16
  //# sourceMappingURL=index.es86.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es86.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.es86.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,33 +1,140 @@
1
- import { _isString } from "./index.es81.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
1
+ import { CallbackManager, ensureHandler } from "./index.es109.js";
2
+ import { AsyncLocalStorageProviderSingleton } from "./index.es85.js";
3
+ import "./index.es86.js";
4
+ const DEFAULT_RECURSION_LIMIT = 25;
5
+ async function getCallbackManagerForConfig(config) {
6
+ return CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);
7
+ }
8
+ function mergeConfigs(...configs) {
9
+ const copy = {};
10
+ for (const options of configs.filter((c) => !!c)) for (const key of Object.keys(options)) if (key === "metadata") copy[key] = {
11
+ ...copy[key],
12
+ ...options[key]
13
+ };
14
+ else if (key === "tags") {
15
+ const baseKeys = copy[key] ?? [];
16
+ copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];
17
+ } else if (key === "configurable") copy[key] = {
18
+ ...copy[key],
19
+ ...options[key]
20
+ };
21
+ else if (key === "timeout") {
22
+ if (copy.timeout === void 0) copy.timeout = options.timeout;
23
+ else if (options.timeout !== void 0) copy.timeout = Math.min(copy.timeout, options.timeout);
24
+ } else if (key === "signal") {
25
+ if (copy.signal === void 0) copy.signal = options.signal;
26
+ else if (options.signal !== void 0) if ("any" in AbortSignal) copy.signal = AbortSignal.any([copy.signal, options.signal]);
27
+ else copy.signal = options.signal;
28
+ } else if (key === "callbacks") {
29
+ const baseCallbacks = copy.callbacks;
30
+ const providedCallbacks = options.callbacks;
31
+ if (Array.isArray(providedCallbacks)) if (!baseCallbacks) copy.callbacks = providedCallbacks;
32
+ else if (Array.isArray(baseCallbacks)) copy.callbacks = baseCallbacks.concat(providedCallbacks);
33
+ else {
34
+ const manager = baseCallbacks.copy();
35
+ for (const callback of providedCallbacks) manager.addHandler(ensureHandler(callback), true);
36
+ copy.callbacks = manager;
37
+ }
38
+ else if (providedCallbacks) if (!baseCallbacks) copy.callbacks = providedCallbacks;
39
+ else if (Array.isArray(baseCallbacks)) {
40
+ const manager = providedCallbacks.copy();
41
+ for (const callback of baseCallbacks) manager.addHandler(ensureHandler(callback), true);
42
+ copy.callbacks = manager;
43
+ } else copy.callbacks = new CallbackManager(providedCallbacks._parentRunId, {
44
+ handlers: baseCallbacks.handlers.concat(providedCallbacks.handlers),
45
+ inheritableHandlers: baseCallbacks.inheritableHandlers.concat(providedCallbacks.inheritableHandlers),
46
+ tags: Array.from(new Set(baseCallbacks.tags.concat(providedCallbacks.tags))),
47
+ inheritableTags: Array.from(new Set(baseCallbacks.inheritableTags.concat(providedCallbacks.inheritableTags))),
48
+ metadata: {
49
+ ...baseCallbacks.metadata,
50
+ ...providedCallbacks.metadata
51
+ }
13
52
  });
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;
53
+ } else {
54
+ const typedKey = key;
55
+ copy[typedKey] = options[typedKey] ?? copy[typedKey];
56
+ }
57
+ return copy;
58
+ }
59
+ const PRIMITIVES = /* @__PURE__ */ new Set([
60
+ "string",
61
+ "number",
62
+ "boolean"
63
+ ]);
64
+ function ensureConfig(config) {
65
+ const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();
66
+ let empty = {
67
+ tags: [],
68
+ metadata: {},
69
+ recursionLimit: 25,
70
+ runId: void 0
71
+ };
72
+ if (implicitConfig) {
73
+ const { runId, runName, ...rest } = implicitConfig;
74
+ empty = Object.entries(rest).reduce((currentConfig, [key, value]) => {
75
+ if (value !== void 0) currentConfig[key] = value;
76
+ return currentConfig;
77
+ }, empty);
78
+ }
79
+ if (config) empty = Object.entries(config).reduce((currentConfig, [key, value]) => {
80
+ if (value !== void 0) currentConfig[key] = value;
81
+ return currentConfig;
82
+ }, empty);
83
+ if (empty?.configurable) {
84
+ for (const key of Object.keys(empty.configurable)) if (PRIMITIVES.has(typeof empty.configurable[key]) && !empty.metadata?.[key]) {
85
+ if (!empty.metadata) empty.metadata = {};
86
+ empty.metadata[key] = empty.configurable[key];
87
+ }
88
+ }
89
+ if (empty.timeout !== void 0) {
90
+ if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
91
+ const originalTimeoutMs = empty.timeout;
92
+ const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
93
+ if (!empty.metadata) empty.metadata = {};
94
+ if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
95
+ if (empty.signal !== void 0) {
96
+ if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
97
+ } else empty.signal = timeoutSignal;
98
+ delete empty.timeout;
99
+ }
100
+ return empty;
101
+ }
102
+ function patchConfig(config = {}, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId } = {}) {
103
+ const newConfig = ensureConfig(config);
104
+ if (callbacks !== void 0) {
105
+ delete newConfig.runName;
106
+ newConfig.callbacks = callbacks;
107
+ }
108
+ if (recursionLimit !== void 0) newConfig.recursionLimit = recursionLimit;
109
+ if (maxConcurrency !== void 0) newConfig.maxConcurrency = maxConcurrency;
110
+ if (runName !== void 0) newConfig.runName = runName;
111
+ if (configurable !== void 0) newConfig.configurable = {
112
+ ...newConfig.configurable,
113
+ ...configurable
114
+ };
115
+ if (runId !== void 0) delete newConfig.runId;
116
+ return newConfig;
117
+ }
118
+ function pickRunnableConfigKeys(config) {
119
+ if (!config) return void 0;
120
+ return {
121
+ configurable: config.configurable,
122
+ recursionLimit: config.recursionLimit,
123
+ callbacks: config.callbacks,
124
+ tags: config.tags,
125
+ metadata: config.metadata,
126
+ maxConcurrency: config.maxConcurrency,
127
+ timeout: config.timeout,
128
+ signal: config.signal,
129
+ store: config.store
130
+ };
25
131
  }
26
- const ChatOllamaTranslator = {
27
- translateContent: convertToV1FromOllamaMessage,
28
- translateContentChunk: convertToV1FromOllamaMessage
29
- };
30
132
  export {
31
- ChatOllamaTranslator
133
+ DEFAULT_RECURSION_LIMIT,
134
+ ensureConfig,
135
+ getCallbackManagerForConfig,
136
+ mergeConfigs,
137
+ patchConfig,
138
+ pickRunnableConfigKeys
32
139
  };
33
140
  //# sourceMappingURL=index.es87.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es87.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.es87.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/config.js"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\n\n//#region src/runnables/config.ts\nconst DEFAULT_RECURSION_LIMIT = 25;\nasync function getCallbackManagerForConfig(config) {\n\treturn CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);\n}\nfunction mergeConfigs(...configs) {\n\tconst copy = {};\n\tfor (const options of configs.filter((c) => !!c)) for (const key of Object.keys(options)) if (key === \"metadata\") copy[key] = {\n\t\t...copy[key],\n\t\t...options[key]\n\t};\n\telse if (key === \"tags\") {\n\t\tconst baseKeys = copy[key] ?? [];\n\t\tcopy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n\t} else if (key === \"configurable\") copy[key] = {\n\t\t...copy[key],\n\t\t...options[key]\n\t};\n\telse if (key === \"timeout\") {\n\t\tif (copy.timeout === void 0) copy.timeout = options.timeout;\n\t\telse if (options.timeout !== void 0) copy.timeout = Math.min(copy.timeout, options.timeout);\n\t} else if (key === \"signal\") {\n\t\tif (copy.signal === void 0) copy.signal = options.signal;\n\t\telse if (options.signal !== void 0) if (\"any\" in AbortSignal) copy.signal = AbortSignal.any([copy.signal, options.signal]);\n\t\telse copy.signal = options.signal;\n\t} else if (key === \"callbacks\") {\n\t\tconst baseCallbacks = copy.callbacks;\n\t\tconst providedCallbacks = options.callbacks;\n\t\tif (Array.isArray(providedCallbacks)) if (!baseCallbacks) copy.callbacks = providedCallbacks;\n\t\telse if (Array.isArray(baseCallbacks)) copy.callbacks = baseCallbacks.concat(providedCallbacks);\n\t\telse {\n\t\t\tconst manager = baseCallbacks.copy();\n\t\t\tfor (const callback of providedCallbacks) manager.addHandler(ensureHandler(callback), true);\n\t\t\tcopy.callbacks = manager;\n\t\t}\n\t\telse if (providedCallbacks) if (!baseCallbacks) copy.callbacks = providedCallbacks;\n\t\telse if (Array.isArray(baseCallbacks)) {\n\t\t\tconst manager = providedCallbacks.copy();\n\t\t\tfor (const callback of baseCallbacks) manager.addHandler(ensureHandler(callback), true);\n\t\t\tcopy.callbacks = manager;\n\t\t} else copy.callbacks = new CallbackManager(providedCallbacks._parentRunId, {\n\t\t\thandlers: baseCallbacks.handlers.concat(providedCallbacks.handlers),\n\t\t\tinheritableHandlers: baseCallbacks.inheritableHandlers.concat(providedCallbacks.inheritableHandlers),\n\t\t\ttags: Array.from(new Set(baseCallbacks.tags.concat(providedCallbacks.tags))),\n\t\t\tinheritableTags: Array.from(new Set(baseCallbacks.inheritableTags.concat(providedCallbacks.inheritableTags))),\n\t\t\tmetadata: {\n\t\t\t\t...baseCallbacks.metadata,\n\t\t\t\t...providedCallbacks.metadata\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconst typedKey = key;\n\t\tcopy[typedKey] = options[typedKey] ?? copy[typedKey];\n\t}\n\treturn copy;\n}\nconst PRIMITIVES = new Set([\n\t\"string\",\n\t\"number\",\n\t\"boolean\"\n]);\n/**\n* Ensure that a passed config is an object with all required keys present.\n*/\nfunction ensureConfig(config) {\n\tconst implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n\tlet empty = {\n\t\ttags: [],\n\t\tmetadata: {},\n\t\trecursionLimit: 25,\n\t\trunId: void 0\n\t};\n\tif (implicitConfig) {\n\t\tconst { runId, runName,...rest } = implicitConfig;\n\t\tempty = Object.entries(rest).reduce((currentConfig, [key, value]) => {\n\t\t\tif (value !== void 0) currentConfig[key] = value;\n\t\t\treturn currentConfig;\n\t\t}, empty);\n\t}\n\tif (config) empty = Object.entries(config).reduce((currentConfig, [key, value]) => {\n\t\tif (value !== void 0) currentConfig[key] = value;\n\t\treturn currentConfig;\n\t}, empty);\n\tif (empty?.configurable) {\n\t\tfor (const key of Object.keys(empty.configurable)) if (PRIMITIVES.has(typeof empty.configurable[key]) && !empty.metadata?.[key]) {\n\t\t\tif (!empty.metadata) empty.metadata = {};\n\t\t\tempty.metadata[key] = empty.configurable[key];\n\t\t}\n\t}\n\tif (empty.timeout !== void 0) {\n\t\tif (empty.timeout <= 0) throw new Error(\"Timeout must be a positive number\");\n\t\tconst originalTimeoutMs = empty.timeout;\n\t\tconst timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n\t\tif (!empty.metadata) empty.metadata = {};\n\t\tif (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;\n\t\tif (empty.signal !== void 0) {\n\t\t\tif (\"any\" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);\n\t\t} else empty.signal = timeoutSignal;\n\t\t/**\n\t\t* We are deleting the timeout key for the following reasons:\n\t\t* - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n\t\t* each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n\t\t* - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n\t\t* competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n\t\t* - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n\t\t* repeated re-normalization and stacked timeouts.\n\t\t* - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n\t\t* changing that would be a breaking change.\n\t\t*/\n\t\tdelete empty.timeout;\n\t}\n\treturn empty;\n}\n/**\n* Helper function that patches runnable configs with updated properties.\n*/\nfunction patchConfig(config = {}, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId } = {}) {\n\tconst newConfig = ensureConfig(config);\n\tif (callbacks !== void 0) {\n\t\t/**\n\t\t* If we're replacing callbacks we need to unset runName\n\t\t* since that should apply only to the same run as the original callbacks\n\t\t*/\n\t\tdelete newConfig.runName;\n\t\tnewConfig.callbacks = callbacks;\n\t}\n\tif (recursionLimit !== void 0) newConfig.recursionLimit = recursionLimit;\n\tif (maxConcurrency !== void 0) newConfig.maxConcurrency = maxConcurrency;\n\tif (runName !== void 0) newConfig.runName = runName;\n\tif (configurable !== void 0) newConfig.configurable = {\n\t\t...newConfig.configurable,\n\t\t...configurable\n\t};\n\tif (runId !== void 0) delete newConfig.runId;\n\treturn newConfig;\n}\nfunction pickRunnableConfigKeys(config) {\n\tif (!config) return void 0;\n\treturn {\n\t\tconfigurable: config.configurable,\n\t\trecursionLimit: config.recursionLimit,\n\t\tcallbacks: config.callbacks,\n\t\ttags: config.tags,\n\t\tmetadata: config.metadata,\n\t\tmaxConcurrency: config.maxConcurrency,\n\t\ttimeout: config.timeout,\n\t\tsignal: config.signal,\n\t\tstore: config.store\n\t};\n}\n\n//#endregion\nexport { DEFAULT_RECURSION_LIMIT, ensureConfig, getCallbackManagerForConfig, mergeConfigs, patchConfig, pickRunnableConfigKeys };\n//# sourceMappingURL=config.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,46 +1,24 @@
1
- import { _isObject, _isArray, _isString } from "./index.es81.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({
24
- type: "text",
25
- 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;
1
+ async function raceWithSignal(promise, signal) {
2
+ if (signal === void 0) return promise;
3
+ let listener;
4
+ return Promise.race([promise.catch((err) => {
5
+ if (!signal?.aborted) throw err;
6
+ else return void 0;
7
+ }), new Promise((_, reject) => {
8
+ listener = () => {
9
+ reject(getAbortSignalError(signal));
10
+ };
11
+ signal.addEventListener("abort", listener);
12
+ if (signal.aborted) reject(getAbortSignalError(signal));
13
+ })]).finally(() => signal.removeEventListener("abort", listener));
14
+ }
15
+ function getAbortSignalError(signal) {
16
+ if (signal?.reason instanceof Error) return signal.reason;
17
+ if (typeof signal?.reason === "string") return new Error(signal.reason);
18
+ return /* @__PURE__ */ new Error("Aborted");
38
19
  }
39
- const ChatXAITranslator = {
40
- translateContent: convertToV1FromXAIMessage,
41
- translateContentChunk: convertToV1FromXAIMessage
42
- };
43
20
  export {
44
- ChatXAITranslator
21
+ getAbortSignalError,
22
+ raceWithSignal
45
23
  };
46
24
  //# sourceMappingURL=index.es88.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es88.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.es88.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/signal.js"],"sourcesContent":["//#region src/utils/signal.ts\n/**\n* Race a promise with an abort signal. If the signal is aborted, the promise will\n* be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n*\n* @param promise - The promise to race.\n* @param signal - The abort signal.\n* @returns The result of the promise.\n*/\nasync function raceWithSignal(promise, signal) {\n\tif (signal === void 0) return promise;\n\tlet listener;\n\treturn Promise.race([promise.catch((err) => {\n\t\tif (!signal?.aborted) throw err;\n\t\telse return void 0;\n\t}), new Promise((_, reject) => {\n\t\tlistener = () => {\n\t\t\treject(getAbortSignalError(signal));\n\t\t};\n\t\tsignal.addEventListener(\"abort\", listener);\n\t\tif (signal.aborted) reject(getAbortSignalError(signal));\n\t})]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n/**\n* Get the error from an abort signal. Since you can set the reason to anything,\n* we have to do some type gymnastics to get a proper error message.\n*\n* @param signal - The abort signal.\n* @returns The error from the abort signal.\n*/\nfunction getAbortSignalError(signal) {\n\tif (signal?.reason instanceof Error) return signal.reason;\n\tif (typeof signal?.reason === \"string\") return new Error(signal.reason);\n\treturn /* @__PURE__ */ new Error(\"Aborted\");\n}\n\n//#endregion\nexport { getAbortSignalError, raceWithSignal };\n//# sourceMappingURL=signal.js.map"],"names":[],"mappings":"AASA,eAAe,eAAe,SAAS,QAAQ;AAC9C,MAAI,WAAW,OAAQ,QAAO;AAC9B,MAAI;AACJ,SAAO,QAAQ,KAAK,CAAC,QAAQ,MAAM,CAAC,QAAQ;AAC3C,QAAI,CAAC,QAAQ,QAAS,OAAM;AAAA,QACvB,QAAO;AAAA,EACb,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,WAAW;AAC9B,eAAW,MAAM;AAChB,aAAO,oBAAoB,MAAM,CAAC;AAAA,IACnC;AACA,WAAO,iBAAiB,SAAS,QAAQ;AACzC,QAAI,OAAO,QAAS,QAAO,oBAAoB,MAAM,CAAC;AAAA,EACvD,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,OAAO,oBAAoB,SAAS,QAAQ,CAAC;AACjE;AAQA,SAAS,oBAAoB,QAAQ;AACpC,MAAI,QAAQ,kBAAkB,MAAO,QAAO,OAAO;AACnD,MAAI,OAAO,QAAQ,WAAW,SAAU,QAAO,IAAI,MAAM,OAAO,MAAM;AACtE,SAAuB,oBAAI,MAAM,SAAS;AAC3C;","x_google_ignoreList":[0]}