@langchain/core 1.0.0-alpha.2 → 1.0.0-alpha.4

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 (595) hide show
  1. package/README.md +3 -19
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/caches/base.cjs +5 -18
  4. package/dist/caches/base.cjs.map +1 -1
  5. package/dist/caches/base.d.cts +4 -20
  6. package/dist/caches/base.d.cts.map +1 -1
  7. package/dist/caches/base.d.ts +4 -20
  8. package/dist/caches/base.d.ts.map +1 -1
  9. package/dist/caches/base.js +5 -18
  10. package/dist/caches/base.js.map +1 -1
  11. package/dist/callbacks/base.d.cts +3 -2
  12. package/dist/callbacks/base.d.cts.map +1 -1
  13. package/dist/callbacks/base.d.ts +3 -2
  14. package/dist/callbacks/base.d.ts.map +1 -1
  15. package/dist/callbacks/manager.d.cts +1 -1
  16. package/dist/callbacks/manager.d.ts +1 -1
  17. package/dist/document_loaders/langsmith.cjs +1 -1
  18. package/dist/document_loaders/langsmith.cjs.map +1 -1
  19. package/dist/document_loaders/langsmith.js +1 -1
  20. package/dist/document_loaders/langsmith.js.map +1 -1
  21. package/dist/embeddings.cjs.map +1 -1
  22. package/dist/embeddings.d.cts +6 -6
  23. package/dist/embeddings.d.cts.map +1 -1
  24. package/dist/embeddings.d.ts +6 -6
  25. package/dist/embeddings.d.ts.map +1 -1
  26. package/dist/embeddings.js.map +1 -1
  27. package/dist/errors/index.cjs.map +1 -1
  28. package/dist/errors/index.js.map +1 -1
  29. package/dist/indexing/base.cjs +2 -2
  30. package/dist/indexing/base.cjs.map +1 -1
  31. package/dist/indexing/base.d.cts +0 -3
  32. package/dist/indexing/base.d.cts.map +1 -1
  33. package/dist/indexing/base.d.ts +0 -3
  34. package/dist/indexing/base.d.ts.map +1 -1
  35. package/dist/indexing/base.js +2 -2
  36. package/dist/indexing/base.js.map +1 -1
  37. package/dist/language_models/base.cjs +1 -1
  38. package/dist/language_models/base.cjs.map +1 -1
  39. package/dist/language_models/base.d.cts +4 -4
  40. package/dist/language_models/base.d.cts.map +1 -1
  41. package/dist/language_models/base.d.ts +4 -4
  42. package/dist/language_models/base.d.ts.map +1 -1
  43. package/dist/language_models/base.js +1 -1
  44. package/dist/language_models/base.js.map +1 -1
  45. package/dist/language_models/chat_models.cjs +1 -0
  46. package/dist/language_models/chat_models.cjs.map +1 -1
  47. package/dist/language_models/chat_models.d.cts +2 -1
  48. package/dist/language_models/chat_models.d.cts.map +1 -1
  49. package/dist/language_models/chat_models.d.ts +2 -1
  50. package/dist/language_models/chat_models.d.ts.map +1 -1
  51. package/dist/language_models/chat_models.js +2 -1
  52. package/dist/language_models/chat_models.js.map +1 -1
  53. package/dist/language_models/llms.cjs.map +1 -1
  54. package/dist/language_models/llms.js.map +1 -1
  55. package/dist/load/import_map.cjs +1 -5
  56. package/dist/load/import_map.cjs.map +1 -1
  57. package/dist/load/import_map.js +3 -7
  58. package/dist/load/import_map.js.map +1 -1
  59. package/dist/load/index.cjs.map +1 -1
  60. package/dist/load/index.js.map +1 -1
  61. package/dist/load/serializable.cjs.map +1 -1
  62. package/dist/load/serializable.d.cts +1 -3
  63. package/dist/load/serializable.d.cts.map +1 -1
  64. package/dist/load/serializable.d.ts +1 -3
  65. package/dist/load/serializable.d.ts.map +1 -1
  66. package/dist/load/serializable.js.map +1 -1
  67. package/dist/messages/ai.cjs +34 -62
  68. package/dist/messages/ai.cjs.map +1 -1
  69. package/dist/messages/ai.d.cts +26 -119
  70. package/dist/messages/ai.d.cts.map +1 -1
  71. package/dist/messages/ai.d.ts +26 -119
  72. package/dist/messages/ai.d.ts.map +1 -1
  73. package/dist/messages/ai.js +34 -62
  74. package/dist/messages/ai.js.map +1 -1
  75. package/dist/messages/base.cjs +53 -33
  76. package/dist/messages/base.cjs.map +1 -1
  77. package/dist/messages/base.d.cts +38 -41
  78. package/dist/messages/base.d.cts.map +1 -1
  79. package/dist/messages/base.d.ts +38 -41
  80. package/dist/messages/base.d.ts.map +1 -1
  81. package/dist/messages/base.js +53 -33
  82. package/dist/messages/base.js.map +1 -1
  83. package/dist/messages/block_translators/utils.cjs +1 -1
  84. package/dist/messages/block_translators/utils.cjs.map +1 -1
  85. package/dist/messages/block_translators/utils.js +1 -1
  86. package/dist/messages/block_translators/utils.js.map +1 -1
  87. package/dist/messages/chat.cjs +18 -12
  88. package/dist/messages/chat.cjs.map +1 -1
  89. package/dist/messages/chat.d.cts +21 -13
  90. package/dist/messages/chat.d.cts.map +1 -1
  91. package/dist/messages/chat.d.ts +21 -13
  92. package/dist/messages/chat.d.ts.map +1 -1
  93. package/dist/messages/chat.js +18 -12
  94. package/dist/messages/chat.js.map +1 -1
  95. package/dist/messages/content/index.cjs.map +1 -1
  96. package/dist/messages/content/index.d.cts +1 -1
  97. package/dist/messages/content/index.d.cts.map +1 -1
  98. package/dist/messages/content/index.d.ts +1 -1
  99. package/dist/messages/content/index.d.ts.map +1 -1
  100. package/dist/messages/content/index.js.map +1 -1
  101. package/dist/messages/function.cjs +8 -13
  102. package/dist/messages/function.cjs.map +1 -1
  103. package/dist/messages/function.d.cts +11 -11
  104. package/dist/messages/function.d.cts.map +1 -1
  105. package/dist/messages/function.d.ts +11 -11
  106. package/dist/messages/function.d.ts.map +1 -1
  107. package/dist/messages/function.js +8 -13
  108. package/dist/messages/function.js.map +1 -1
  109. package/dist/messages/human.cjs +20 -11
  110. package/dist/messages/human.cjs.map +1 -1
  111. package/dist/messages/human.d.cts +20 -15
  112. package/dist/messages/human.d.cts.map +1 -1
  113. package/dist/messages/human.d.ts +20 -15
  114. package/dist/messages/human.d.ts.map +1 -1
  115. package/dist/messages/human.js +20 -11
  116. package/dist/messages/human.js.map +1 -1
  117. package/dist/messages/index.cjs +11 -1
  118. package/dist/messages/index.cjs.map +1 -1
  119. package/dist/messages/index.d.cts +9 -7
  120. package/dist/messages/index.d.ts +9 -7
  121. package/dist/messages/index.js +8 -2
  122. package/dist/messages/index.js.map +1 -1
  123. package/dist/messages/message.cjs +15 -0
  124. package/dist/messages/message.cjs.map +1 -0
  125. package/dist/messages/message.d.cts +598 -0
  126. package/dist/messages/message.d.cts.map +1 -0
  127. package/dist/messages/message.d.ts +598 -0
  128. package/dist/messages/message.d.ts.map +1 -0
  129. package/dist/messages/message.js +14 -0
  130. package/dist/messages/message.js.map +1 -0
  131. package/dist/messages/metadata.cjs +41 -0
  132. package/dist/messages/metadata.cjs.map +1 -0
  133. package/dist/messages/metadata.d.cts +98 -0
  134. package/dist/messages/metadata.d.cts.map +1 -0
  135. package/dist/messages/metadata.d.ts +98 -0
  136. package/dist/messages/metadata.d.ts.map +1 -0
  137. package/dist/messages/metadata.js +40 -0
  138. package/dist/messages/metadata.js.map +1 -0
  139. package/dist/messages/modifier.cjs +5 -4
  140. package/dist/messages/modifier.cjs.map +1 -1
  141. package/dist/messages/modifier.d.cts +7 -5
  142. package/dist/messages/modifier.d.cts.map +1 -1
  143. package/dist/messages/modifier.d.ts +7 -5
  144. package/dist/messages/modifier.d.ts.map +1 -1
  145. package/dist/messages/modifier.js +5 -4
  146. package/dist/messages/modifier.js.map +1 -1
  147. package/dist/messages/system.cjs +20 -11
  148. package/dist/messages/system.cjs.map +1 -1
  149. package/dist/messages/system.d.cts +20 -15
  150. package/dist/messages/system.d.cts.map +1 -1
  151. package/dist/messages/system.d.ts +20 -15
  152. package/dist/messages/system.d.ts.map +1 -1
  153. package/dist/messages/system.js +20 -11
  154. package/dist/messages/system.js.map +1 -1
  155. package/dist/messages/tool.cjs +21 -19
  156. package/dist/messages/tool.cjs.map +1 -1
  157. package/dist/messages/tool.d.cts +72 -46
  158. package/dist/messages/tool.d.cts.map +1 -1
  159. package/dist/messages/tool.d.ts +72 -46
  160. package/dist/messages/tool.d.ts.map +1 -1
  161. package/dist/messages/tool.js +21 -19
  162. package/dist/messages/tool.js.map +1 -1
  163. package/dist/messages/transformers.cjs +2 -2
  164. package/dist/messages/transformers.cjs.map +1 -1
  165. package/dist/messages/transformers.d.cts +2 -1
  166. package/dist/messages/transformers.d.cts.map +1 -1
  167. package/dist/messages/transformers.d.ts +2 -1
  168. package/dist/messages/transformers.d.ts.map +1 -1
  169. package/dist/messages/transformers.js +2 -2
  170. package/dist/messages/transformers.js.map +1 -1
  171. package/dist/messages/utils.cjs +13 -1
  172. package/dist/messages/utils.cjs.map +1 -1
  173. package/dist/messages/utils.d.cts +83 -3
  174. package/dist/messages/utils.d.cts.map +1 -1
  175. package/dist/messages/utils.d.ts +83 -3
  176. package/dist/messages/utils.d.ts.map +1 -1
  177. package/dist/messages/utils.js +13 -2
  178. package/dist/messages/utils.js.map +1 -1
  179. package/dist/output_parsers/list.cjs +1 -1
  180. package/dist/output_parsers/list.cjs.map +1 -1
  181. package/dist/output_parsers/list.js +1 -1
  182. package/dist/output_parsers/list.js.map +1 -1
  183. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -1
  184. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -1
  185. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +1 -1
  186. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  187. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +1 -1
  188. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +1 -1
  189. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +1 -1
  190. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  191. package/dist/output_parsers/structured.cjs +2 -1
  192. package/dist/output_parsers/structured.cjs.map +1 -1
  193. package/dist/output_parsers/structured.js +2 -1
  194. package/dist/output_parsers/structured.js.map +1 -1
  195. package/dist/prompt_values.d.cts +4 -3
  196. package/dist/prompt_values.d.cts.map +1 -1
  197. package/dist/prompt_values.d.ts +4 -3
  198. package/dist/prompt_values.d.ts.map +1 -1
  199. package/dist/prompts/chat.cjs +3 -1
  200. package/dist/prompts/chat.cjs.map +1 -1
  201. package/dist/prompts/chat.d.cts +7 -15
  202. package/dist/prompts/chat.d.cts.map +1 -1
  203. package/dist/prompts/chat.d.ts +7 -15
  204. package/dist/prompts/chat.d.ts.map +1 -1
  205. package/dist/prompts/chat.js +3 -1
  206. package/dist/prompts/chat.js.map +1 -1
  207. package/dist/prompts/few_shot.d.cts +1 -1
  208. package/dist/prompts/few_shot.d.ts +1 -1
  209. package/dist/prompts/image.cjs.map +1 -1
  210. package/dist/prompts/image.d.cts +1 -3
  211. package/dist/prompts/image.d.cts.map +1 -1
  212. package/dist/prompts/image.d.ts +1 -3
  213. package/dist/prompts/image.d.ts.map +1 -1
  214. package/dist/prompts/image.js.map +1 -1
  215. package/dist/prompts/pipeline.cjs.map +1 -1
  216. package/dist/prompts/pipeline.js.map +1 -1
  217. package/dist/prompts/prompt.cjs.map +1 -1
  218. package/dist/prompts/prompt.d.cts +5 -17
  219. package/dist/prompts/prompt.d.cts.map +1 -1
  220. package/dist/prompts/prompt.d.ts +5 -17
  221. package/dist/prompts/prompt.d.ts.map +1 -1
  222. package/dist/prompts/prompt.js.map +1 -1
  223. package/dist/prompts/structured.cjs.map +1 -1
  224. package/dist/prompts/structured.js.map +1 -1
  225. package/dist/prompts/template.cjs +4 -2
  226. package/dist/prompts/template.cjs.map +1 -1
  227. package/dist/prompts/template.d.cts +1 -1
  228. package/dist/prompts/template.d.ts +1 -1
  229. package/dist/prompts/template.js +4 -2
  230. package/dist/prompts/template.js.map +1 -1
  231. package/dist/runnables/base.cjs +6 -6
  232. package/dist/runnables/base.cjs.map +1 -1
  233. package/dist/runnables/base.d.cts +1 -4
  234. package/dist/runnables/base.d.cts.map +1 -1
  235. package/dist/runnables/base.d.ts +1 -4
  236. package/dist/runnables/base.d.ts.map +1 -1
  237. package/dist/runnables/base.js +6 -6
  238. package/dist/runnables/base.js.map +1 -1
  239. package/dist/runnables/branch.cjs +2 -2
  240. package/dist/runnables/branch.cjs.map +1 -1
  241. package/dist/runnables/branch.js +2 -2
  242. package/dist/runnables/branch.js.map +1 -1
  243. package/dist/runnables/config.cjs.map +1 -1
  244. package/dist/runnables/config.js.map +1 -1
  245. package/dist/runnables/graph.cjs +1 -1
  246. package/dist/runnables/graph.cjs.map +1 -1
  247. package/dist/runnables/graph.js +1 -1
  248. package/dist/runnables/graph.js.map +1 -1
  249. package/dist/runnables/graph_mermaid.cjs +26 -3
  250. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  251. package/dist/runnables/graph_mermaid.js +26 -3
  252. package/dist/runnables/graph_mermaid.js.map +1 -1
  253. package/dist/runnables/remote.cjs.map +1 -1
  254. package/dist/runnables/remote.js.map +1 -1
  255. package/dist/runnables/types.d.cts +0 -1
  256. package/dist/runnables/types.d.cts.map +1 -1
  257. package/dist/runnables/types.d.ts +0 -1
  258. package/dist/runnables/types.d.ts.map +1 -1
  259. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  260. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  261. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  262. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  263. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  264. package/dist/singletons/async_local_storage/context.js.map +1 -1
  265. package/dist/singletons/callbacks.cjs.map +1 -1
  266. package/dist/singletons/callbacks.js.map +1 -1
  267. package/dist/tools/index.cjs.map +1 -1
  268. package/dist/tools/index.d.cts +3 -3
  269. package/dist/tools/index.d.cts.map +1 -1
  270. package/dist/tools/index.d.ts +3 -3
  271. package/dist/tools/index.d.ts.map +1 -1
  272. package/dist/tools/index.js.map +1 -1
  273. package/dist/tools/types.d.cts +6 -6
  274. package/dist/tools/types.d.cts.map +1 -1
  275. package/dist/tools/types.d.ts +6 -6
  276. package/dist/tools/types.d.ts.map +1 -1
  277. package/dist/tracers/base.cjs.map +1 -1
  278. package/dist/tracers/base.d.cts +1 -1
  279. package/dist/tracers/base.d.ts +1 -1
  280. package/dist/tracers/base.js.map +1 -1
  281. package/dist/tracers/console.cjs +1 -1
  282. package/dist/tracers/console.cjs.map +1 -1
  283. package/dist/tracers/console.js +1 -1
  284. package/dist/tracers/console.js.map +1 -1
  285. package/dist/tracers/event_stream.cjs +1 -1
  286. package/dist/tracers/event_stream.cjs.map +1 -1
  287. package/dist/tracers/event_stream.d.cts +0 -1
  288. package/dist/tracers/event_stream.d.cts.map +1 -1
  289. package/dist/tracers/event_stream.d.ts +0 -1
  290. package/dist/tracers/event_stream.d.ts.map +1 -1
  291. package/dist/tracers/event_stream.js +1 -1
  292. package/dist/tracers/event_stream.js.map +1 -1
  293. package/dist/tracers/log_stream.cjs.map +1 -1
  294. package/dist/tracers/log_stream.js.map +1 -1
  295. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  296. package/dist/tracers/tracer_langchain.js.map +1 -1
  297. package/dist/tracers/tracer_langchain_v1.d.cts +1 -1
  298. package/dist/tracers/tracer_langchain_v1.d.ts +1 -1
  299. package/dist/utils/chunk_array.cjs.map +1 -1
  300. package/dist/utils/chunk_array.js.map +1 -1
  301. package/dist/utils/env.cjs +1 -1
  302. package/dist/utils/env.cjs.map +1 -1
  303. package/dist/utils/env.js +1 -1
  304. package/dist/utils/env.js.map +1 -1
  305. package/dist/utils/event_source_parse.cjs.map +1 -1
  306. package/dist/utils/event_source_parse.d.cts.map +1 -1
  307. package/dist/utils/event_source_parse.d.ts.map +1 -1
  308. package/dist/utils/event_source_parse.js.map +1 -1
  309. package/dist/utils/hash.cjs +3 -8
  310. package/dist/utils/hash.cjs.map +1 -1
  311. package/dist/utils/hash.d.cts +1 -2
  312. package/dist/utils/hash.d.cts.map +1 -1
  313. package/dist/utils/hash.d.ts +1 -2
  314. package/dist/utils/hash.d.ts.map +1 -1
  315. package/dist/utils/hash.js +2 -6
  316. package/dist/utils/hash.js.map +1 -1
  317. package/dist/utils/js-sha256/hash.cjs +0 -9
  318. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  319. package/dist/utils/js-sha256/hash.js +1 -5
  320. package/dist/utils/js-sha256/hash.js.map +1 -1
  321. package/dist/utils/json.cjs +2 -2
  322. package/dist/utils/json.cjs.map +1 -1
  323. package/dist/utils/json.js +2 -2
  324. package/dist/utils/json.js.map +1 -1
  325. package/dist/utils/json_schema.cjs +3 -2
  326. package/dist/utils/json_schema.cjs.map +1 -1
  327. package/dist/utils/json_schema.d.cts +8 -4
  328. package/dist/utils/json_schema.d.cts.map +1 -1
  329. package/dist/utils/json_schema.d.ts +8 -4
  330. package/dist/utils/json_schema.d.ts.map +1 -1
  331. package/dist/utils/json_schema.js +2 -1
  332. package/dist/utils/json_schema.js.map +1 -1
  333. package/dist/utils/stream.cjs.map +1 -1
  334. package/dist/utils/stream.js.map +1 -1
  335. package/dist/utils/testing/index.cjs.map +1 -1
  336. package/dist/utils/testing/index.d.cts +8 -12
  337. package/dist/utils/testing/index.d.cts.map +1 -1
  338. package/dist/utils/testing/index.d.ts +8 -12
  339. package/dist/utils/testing/index.d.ts.map +1 -1
  340. package/dist/utils/testing/index.js.map +1 -1
  341. package/dist/utils/zod-to-json-schema/Options.cjs +40 -0
  342. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -0
  343. package/dist/utils/zod-to-json-schema/Options.js +37 -0
  344. package/dist/utils/zod-to-json-schema/Options.js.map +1 -0
  345. package/dist/utils/zod-to-json-schema/Refs.cjs +30 -0
  346. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -0
  347. package/dist/utils/zod-to-json-schema/Refs.js +30 -0
  348. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -0
  349. package/dist/utils/zod-to-json-schema/errorMessages.cjs +18 -0
  350. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -0
  351. package/dist/utils/zod-to-json-schema/errorMessages.d.cts +11 -0
  352. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -0
  353. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +11 -0
  354. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -0
  355. package/dist/utils/zod-to-json-schema/errorMessages.js +16 -0
  356. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -0
  357. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +11 -0
  358. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -0
  359. package/dist/utils/zod-to-json-schema/getRelativePath.js +10 -0
  360. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -0
  361. package/dist/utils/zod-to-json-schema/index.cjs +37 -0
  362. package/dist/utils/zod-to-json-schema/index.js +37 -0
  363. package/dist/utils/zod-to-json-schema/parseDef.cjs +57 -0
  364. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -0
  365. package/dist/utils/zod-to-json-schema/parseDef.js +57 -0
  366. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -0
  367. package/dist/utils/zod-to-json-schema/parseTypes.d.cts +38 -0
  368. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -0
  369. package/dist/utils/zod-to-json-schema/parseTypes.d.ts +38 -0
  370. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -0
  371. package/dist/utils/zod-to-json-schema/parsers/any.cjs +17 -0
  372. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -0
  373. package/dist/utils/zod-to-json-schema/parsers/any.d.cts +7 -0
  374. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -0
  375. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +7 -0
  376. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -0
  377. package/dist/utils/zod-to-json-schema/parsers/any.js +17 -0
  378. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -0
  379. package/dist/utils/zod-to-json-schema/parsers/array.cjs +24 -0
  380. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -0
  381. package/dist/utils/zod-to-json-schema/parsers/array.d.cts +14 -0
  382. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -0
  383. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +15 -0
  384. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -0
  385. package/dist/utils/zod-to-json-schema/parsers/array.js +23 -0
  386. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -0
  387. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +36 -0
  388. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -0
  389. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +16 -0
  390. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -0
  391. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +17 -0
  392. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -0
  393. package/dist/utils/zod-to-json-schema/parsers/bigint.js +36 -0
  394. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -0
  395. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +9 -0
  396. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -0
  397. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts +7 -0
  398. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -0
  399. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts +7 -0
  400. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -0
  401. package/dist/utils/zod-to-json-schema/parsers/boolean.js +8 -0
  402. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -0
  403. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +10 -0
  404. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -0
  405. package/dist/utils/zod-to-json-schema/parsers/branded.js +10 -0
  406. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -0
  407. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +10 -0
  408. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -0
  409. package/dist/utils/zod-to-json-schema/parsers/catch.js +10 -0
  410. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -0
  411. package/dist/utils/zod-to-json-schema/parsers/date.cjs +39 -0
  412. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -0
  413. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +17 -0
  414. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -0
  415. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +17 -0
  416. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -0
  417. package/dist/utils/zod-to-json-schema/parsers/date.js +39 -0
  418. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -0
  419. package/dist/utils/zod-to-json-schema/parsers/default.cjs +13 -0
  420. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -0
  421. package/dist/utils/zod-to-json-schema/parsers/default.js +13 -0
  422. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -0
  423. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +11 -0
  424. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -0
  425. package/dist/utils/zod-to-json-schema/parsers/effects.js +11 -0
  426. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -0
  427. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +12 -0
  428. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -0
  429. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts +8 -0
  430. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -0
  431. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +10 -0
  432. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -0
  433. package/dist/utils/zod-to-json-schema/parsers/enum.js +11 -0
  434. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -0
  435. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +47 -0
  436. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -0
  437. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +10 -0
  438. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -0
  439. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +11 -0
  440. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -0
  441. package/dist/utils/zod-to-json-schema/parsers/intersection.js +47 -0
  442. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -0
  443. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +18 -0
  444. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -0
  445. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +11 -0
  446. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -0
  447. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +12 -0
  448. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -0
  449. package/dist/utils/zod-to-json-schema/parsers/literal.js +17 -0
  450. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -0
  451. package/dist/utils/zod-to-json-schema/parsers/map.cjs +40 -0
  452. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -0
  453. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +17 -0
  454. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -0
  455. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +17 -0
  456. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -0
  457. package/dist/utils/zod-to-json-schema/parsers/map.js +40 -0
  458. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -0
  459. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +18 -0
  460. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -0
  461. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts +8 -0
  462. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -0
  463. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +10 -0
  464. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -0
  465. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +17 -0
  466. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -0
  467. package/dist/utils/zod-to-json-schema/parsers/never.cjs +13 -0
  468. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -0
  469. package/dist/utils/zod-to-json-schema/parsers/never.d.cts +9 -0
  470. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -0
  471. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +9 -0
  472. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -0
  473. package/dist/utils/zod-to-json-schema/parsers/never.js +13 -0
  474. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -0
  475. package/dist/utils/zod-to-json-schema/parsers/null.cjs +12 -0
  476. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -0
  477. package/dist/utils/zod-to-json-schema/parsers/null.d.cts +7 -0
  478. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -0
  479. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +7 -0
  480. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -0
  481. package/dist/utils/zod-to-json-schema/parsers/null.js +11 -0
  482. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -0
  483. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +46 -0
  484. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -0
  485. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +12 -0
  486. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -0
  487. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +13 -0
  488. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -0
  489. package/dist/utils/zod-to-json-schema/parsers/nullable.js +46 -0
  490. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -0
  491. package/dist/utils/zod-to-json-schema/parsers/number.cjs +37 -0
  492. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -0
  493. package/dist/utils/zod-to-json-schema/parsers/number.d.cts +15 -0
  494. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -0
  495. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +16 -0
  496. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -0
  497. package/dist/utils/zod-to-json-schema/parsers/number.js +37 -0
  498. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -0
  499. package/dist/utils/zod-to-json-schema/parsers/object.cjs +64 -0
  500. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -0
  501. package/dist/utils/zod-to-json-schema/parsers/object.d.cts +12 -0
  502. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -0
  503. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +13 -0
  504. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -0
  505. package/dist/utils/zod-to-json-schema/parsers/object.js +64 -0
  506. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -0
  507. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +20 -0
  508. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -0
  509. package/dist/utils/zod-to-json-schema/parsers/optional.js +20 -0
  510. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -0
  511. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +28 -0
  512. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -0
  513. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +28 -0
  514. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -0
  515. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +10 -0
  516. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -0
  517. package/dist/utils/zod-to-json-schema/parsers/promise.js +10 -0
  518. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -0
  519. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +10 -0
  520. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -0
  521. package/dist/utils/zod-to-json-schema/parsers/readonly.js +10 -0
  522. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -0
  523. package/dist/utils/zod-to-json-schema/parsers/record.cjs +57 -0
  524. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -0
  525. package/dist/utils/zod-to-json-schema/parsers/record.d.cts +14 -0
  526. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -0
  527. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +15 -0
  528. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -0
  529. package/dist/utils/zod-to-json-schema/parsers/record.js +56 -0
  530. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -0
  531. package/dist/utils/zod-to-json-schema/parsers/set.cjs +22 -0
  532. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -0
  533. package/dist/utils/zod-to-json-schema/parsers/set.d.cts +15 -0
  534. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -0
  535. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +16 -0
  536. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -0
  537. package/dist/utils/zod-to-json-schema/parsers/set.js +22 -0
  538. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -0
  539. package/dist/utils/zod-to-json-schema/parsers/string.cjs +255 -0
  540. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -0
  541. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +28 -0
  542. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -0
  543. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +29 -0
  544. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -0
  545. package/dist/utils/zod-to-json-schema/parsers/string.js +254 -0
  546. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -0
  547. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +38 -0
  548. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -0
  549. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +15 -0
  550. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -0
  551. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +16 -0
  552. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -0
  553. package/dist/utils/zod-to-json-schema/parsers/tuple.js +38 -0
  554. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -0
  555. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +10 -0
  556. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -0
  557. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +9 -0
  558. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -0
  559. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +9 -0
  560. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -0
  561. package/dist/utils/zod-to-json-schema/parsers/undefined.js +10 -0
  562. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -0
  563. package/dist/utils/zod-to-json-schema/parsers/union.cjs +67 -0
  564. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -0
  565. package/dist/utils/zod-to-json-schema/parsers/union.d.cts +24 -0
  566. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -0
  567. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +25 -0
  568. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -0
  569. package/dist/utils/zod-to-json-schema/parsers/union.js +66 -0
  570. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -0
  571. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +10 -0
  572. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -0
  573. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +7 -0
  574. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -0
  575. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +7 -0
  576. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -0
  577. package/dist/utils/zod-to-json-schema/parsers/unknown.js +10 -0
  578. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -0
  579. package/dist/utils/zod-to-json-schema/selectParser.cjs +81 -0
  580. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -0
  581. package/dist/utils/zod-to-json-schema/selectParser.js +80 -0
  582. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -0
  583. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +70 -0
  584. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -0
  585. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +70 -0
  586. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -0
  587. package/package.json +7 -36
  588. package/dist/utils/js-sha1/hash.cjs +0 -291
  589. package/dist/utils/js-sha1/hash.cjs.map +0 -1
  590. package/dist/utils/js-sha1/hash.d.cts +0 -9
  591. package/dist/utils/js-sha1/hash.d.cts.map +0 -1
  592. package/dist/utils/js-sha1/hash.d.ts +0 -9
  593. package/dist/utils/js-sha1/hash.d.ts.map +0 -1
  594. package/dist/utils/js-sha1/hash.js +0 -284
  595. package/dist/utils/js-sha1/hash.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tracer_langchain.cjs","names":["BaseTracer","fields: LangChainTracerFields","getDefaultLangChainClientSingleton","_run: Run","run: Run","id: string","runTree: RunTree","rootRun: RunTree","RunTree"],"sources":["../../src/tracers/tracer_langchain.ts"],"sourcesContent":["import {\n type Client,\n type LangSmithTracingClientInterface,\n getDefaultProjectName,\n} from \"langsmith\";\nimport { RunTree, type RunTreeConfig } from \"langsmith/run_trees\";\nimport { getCurrentRunTree } from \"langsmith/singletons/traceable\";\n\nimport {\n BaseRun,\n RunCreate,\n RunUpdate as BaseRunUpdate,\n KVMap,\n} from \"langsmith/schemas\";\nimport { BaseTracer } from \"./base.js\";\nimport { BaseCallbackHandlerInput } from \"../callbacks/base.js\";\nimport { getDefaultLangChainClientSingleton } from \"../singletons/tracer.js\";\n\nexport interface Run extends BaseRun {\n id: string;\n child_runs: this[];\n child_execution_order: number;\n dotted_order?: string;\n trace_id?: string;\n}\n\nexport interface RunCreate2 extends RunCreate {\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface RunUpdate extends BaseRunUpdate {\n events: BaseRun[\"events\"];\n inputs: KVMap;\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface LangChainTracerFields extends BaseCallbackHandlerInput {\n exampleId?: string;\n projectName?: string;\n client?: LangSmithTracingClientInterface;\n replicas?: RunTreeConfig[\"replicas\"];\n}\n\nexport class LangChainTracer\n extends BaseTracer\n implements LangChainTracerFields\n{\n name = \"langchain_tracer\";\n\n projectName?: string;\n\n exampleId?: string;\n\n client: LangSmithTracingClientInterface;\n\n replicas?: RunTreeConfig[\"replicas\"];\n\n usesRunTreeMap = true;\n\n constructor(fields: LangChainTracerFields = {}) {\n super(fields);\n const { exampleId, projectName, client, replicas } = fields;\n\n this.projectName = projectName ?? getDefaultProjectName();\n this.replicas = replicas;\n this.exampleId = exampleId;\n this.client = client ?? getDefaultLangChainClientSingleton();\n\n const traceableTree = LangChainTracer.getTraceableRunTree();\n if (traceableTree) {\n this.updateFromRunTree(traceableTree);\n }\n }\n\n protected async persistRun(_run: Run): Promise<void> {}\n\n async onRunCreate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.postRun();\n }\n\n async onRunUpdate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.patchRun();\n }\n\n getRun(id: string): Run | undefined {\n return this.runTreeMap.get(id);\n }\n\n updateFromRunTree(runTree: RunTree) {\n let rootRun: RunTree = runTree;\n const visited = new Set<string>();\n while (rootRun.parent_run) {\n if (visited.has(rootRun.id)) break;\n visited.add(rootRun.id);\n\n if (!rootRun.parent_run) break;\n rootRun = rootRun.parent_run as RunTree;\n }\n visited.clear();\n\n const queue = [rootRun];\n while (queue.length > 0) {\n const current = queue.shift();\n if (!current || visited.has(current.id)) continue;\n visited.add(current.id);\n\n this.runTreeMap.set(current.id, current);\n if (current.child_runs) {\n queue.push(...current.child_runs);\n }\n }\n\n this.client = runTree.client ?? this.client;\n this.replicas = runTree.replicas ?? this.replicas;\n this.projectName = runTree.project_name ?? this.projectName;\n this.exampleId = runTree.reference_example_id ?? this.exampleId;\n }\n\n getRunTreeWithTracingConfig(id: string): RunTree | undefined {\n const runTree = this.runTreeMap.get(id);\n if (!runTree) return undefined;\n\n return new RunTree({\n ...runTree,\n client: this.client as Client,\n project_name: this.projectName,\n replicas: this.replicas,\n reference_example_id: this.exampleId,\n tracingEnabled: true,\n });\n }\n\n static getTraceableRunTree(): RunTree | undefined {\n try {\n return (\n // The type cast here provides forward compatibility. Old versions of LangSmith will just\n // ignore the permitAbsentRunTree arg.\n (\n getCurrentRunTree as (\n permitAbsentRunTree: boolean\n ) => ReturnType<typeof getCurrentRunTree> | undefined\n )(true)\n );\n } catch {\n return undefined;\n }\n }\n}\n"],"mappings":";;;;;;;;;;AA6CA,IAAa,kBAAb,MAAa,wBACHA,gCAEV;CACE,OAAO;CAEP;CAEA;CAEA;CAEA;CAEA,iBAAiB;CAEjB,YAAYC,SAAgC,CAAE,GAAE;EAC9C,MAAM,OAAO;EACb,MAAM,EAAE,WAAW,aAAa,QAAQ,UAAU,GAAG;EAErD,KAAK,cAAc,qDAAsC;EACzD,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,SAAS,UAAUC,mDAAoC;EAE5D,MAAM,gBAAgB,gBAAgB,qBAAqB;AAC3D,MAAI,eACF,KAAK,kBAAkB,cAAc;CAExC;CAED,MAAgB,WAAWC,MAA0B,CAAE;CAEvD,MAAM,YAAYC,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,SAAS;CACzB;CAED,MAAM,YAAYA,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,UAAU;CAC1B;CAED,OAAOC,IAA6B;AAClC,SAAO,KAAK,WAAW,IAAI,GAAG;CAC/B;CAED,kBAAkBC,SAAkB;EAClC,IAAIC,UAAmB;EACvB,MAAM,0BAAU,IAAI;AACpB,SAAO,QAAQ,YAAY;AACzB,OAAI,QAAQ,IAAI,QAAQ,GAAG,CAAE;GAC7B,QAAQ,IAAI,QAAQ,GAAG;AAEvB,OAAI,CAAC,QAAQ,WAAY;GACzB,UAAU,QAAQ;EACnB;EACD,QAAQ,OAAO;EAEf,MAAM,QAAQ,CAAC,OAAQ;AACvB,SAAO,MAAM,SAAS,GAAG;GACvB,MAAM,UAAU,MAAM,OAAO;AAC7B,OAAI,CAAC,WAAW,QAAQ,IAAI,QAAQ,GAAG,CAAE;GACzC,QAAQ,IAAI,QAAQ,GAAG;GAEvB,KAAK,WAAW,IAAI,QAAQ,IAAI,QAAQ;AACxC,OAAI,QAAQ,YACV,MAAM,KAAK,GAAG,QAAQ,WAAW;EAEpC;EAED,KAAK,SAAS,QAAQ,UAAU,KAAK;EACrC,KAAK,WAAW,QAAQ,YAAY,KAAK;EACzC,KAAK,cAAc,QAAQ,gBAAgB,KAAK;EAChD,KAAK,YAAY,QAAQ,wBAAwB,KAAK;CACvD;CAED,4BAA4BF,IAAiC;EAC3D,MAAM,UAAU,KAAK,WAAW,IAAI,GAAG;AACvC,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO,IAAIG,4BAAQ;GACjB,GAAG;GACH,QAAQ,KAAK;GACb,cAAc,KAAK;GACnB,UAAU,KAAK;GACf,sBAAsB,KAAK;GAC3B,gBAAgB;EACjB;CACF;CAED,OAAO,sBAA2C;AAChD,MAAI;AACF,gEAOI,KAAK;EAEV,QAAO;AACN,UAAO;EACR;CACF;AACF"}
1
+ {"version":3,"file":"tracer_langchain.cjs","names":["BaseTracer","fields: LangChainTracerFields","getDefaultLangChainClientSingleton","_run: Run","run: Run","id: string","runTree: RunTree","rootRun: RunTree","RunTree"],"sources":["../../src/tracers/tracer_langchain.ts"],"sourcesContent":["import {\n type Client,\n type LangSmithTracingClientInterface,\n getDefaultProjectName,\n} from \"langsmith\";\nimport { RunTree, type RunTreeConfig } from \"langsmith/run_trees\";\nimport { getCurrentRunTree } from \"langsmith/singletons/traceable\";\n\nimport {\n BaseRun,\n RunCreate,\n RunUpdate as BaseRunUpdate,\n KVMap,\n} from \"langsmith/schemas\";\nimport { BaseTracer } from \"./base.js\";\nimport { BaseCallbackHandlerInput } from \"../callbacks/base.js\";\nimport { getDefaultLangChainClientSingleton } from \"../singletons/tracer.js\";\n\nexport interface Run extends BaseRun {\n id: string;\n child_runs: this[];\n child_execution_order: number;\n dotted_order?: string;\n trace_id?: string;\n}\n\nexport interface RunCreate2 extends RunCreate {\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface RunUpdate extends BaseRunUpdate {\n events: BaseRun[\"events\"];\n inputs: KVMap;\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface LangChainTracerFields extends BaseCallbackHandlerInput {\n exampleId?: string;\n projectName?: string;\n client?: LangSmithTracingClientInterface;\n replicas?: RunTreeConfig[\"replicas\"];\n}\n\nexport class LangChainTracer\n extends BaseTracer\n implements LangChainTracerFields\n{\n name = \"langchain_tracer\";\n\n projectName?: string;\n\n exampleId?: string;\n\n client: LangSmithTracingClientInterface;\n\n replicas?: RunTreeConfig[\"replicas\"];\n\n usesRunTreeMap = true;\n\n constructor(fields: LangChainTracerFields = {}) {\n super(fields);\n const { exampleId, projectName, client, replicas } = fields;\n\n this.projectName = projectName ?? getDefaultProjectName();\n this.replicas = replicas;\n this.exampleId = exampleId;\n this.client = client ?? getDefaultLangChainClientSingleton();\n\n const traceableTree = LangChainTracer.getTraceableRunTree();\n if (traceableTree) {\n this.updateFromRunTree(traceableTree);\n }\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // empty\n }\n\n async onRunCreate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.postRun();\n }\n\n async onRunUpdate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.patchRun();\n }\n\n getRun(id: string): Run | undefined {\n return this.runTreeMap.get(id);\n }\n\n updateFromRunTree(runTree: RunTree) {\n let rootRun: RunTree = runTree;\n const visited = new Set<string>();\n while (rootRun.parent_run) {\n if (visited.has(rootRun.id)) break;\n visited.add(rootRun.id);\n\n if (!rootRun.parent_run) break;\n rootRun = rootRun.parent_run as RunTree;\n }\n visited.clear();\n\n const queue = [rootRun];\n while (queue.length > 0) {\n const current = queue.shift();\n if (!current || visited.has(current.id)) continue;\n visited.add(current.id);\n\n this.runTreeMap.set(current.id, current);\n if (current.child_runs) {\n queue.push(...current.child_runs);\n }\n }\n\n this.client = runTree.client ?? this.client;\n this.replicas = runTree.replicas ?? this.replicas;\n this.projectName = runTree.project_name ?? this.projectName;\n this.exampleId = runTree.reference_example_id ?? this.exampleId;\n }\n\n getRunTreeWithTracingConfig(id: string): RunTree | undefined {\n const runTree = this.runTreeMap.get(id);\n if (!runTree) return undefined;\n\n return new RunTree({\n ...runTree,\n client: this.client as Client,\n project_name: this.projectName,\n replicas: this.replicas,\n reference_example_id: this.exampleId,\n tracingEnabled: true,\n });\n }\n\n static getTraceableRunTree(): RunTree | undefined {\n try {\n return (\n // The type cast here provides forward compatibility. Old versions of LangSmith will just\n // ignore the permitAbsentRunTree arg.\n (\n getCurrentRunTree as (\n permitAbsentRunTree: boolean\n ) => ReturnType<typeof getCurrentRunTree> | undefined\n )(true)\n );\n } catch {\n return undefined;\n }\n }\n}\n"],"mappings":";;;;;;;;;;AA6CA,IAAa,kBAAb,MAAa,wBACHA,gCAEV;CACE,OAAO;CAEP;CAEA;CAEA;CAEA;CAEA,iBAAiB;CAEjB,YAAYC,SAAgC,CAAE,GAAE;EAC9C,MAAM,OAAO;EACb,MAAM,EAAE,WAAW,aAAa,QAAQ,UAAU,GAAG;EAErD,KAAK,cAAc,qDAAsC;EACzD,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,SAAS,UAAUC,mDAAoC;EAE5D,MAAM,gBAAgB,gBAAgB,qBAAqB;AAC3D,MAAI,eACF,KAAK,kBAAkB,cAAc;CAExC;CAED,MAAgB,WAAWC,MAA0B,CAEpD;CAED,MAAM,YAAYC,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,SAAS;CACzB;CAED,MAAM,YAAYA,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,UAAU;CAC1B;CAED,OAAOC,IAA6B;AAClC,SAAO,KAAK,WAAW,IAAI,GAAG;CAC/B;CAED,kBAAkBC,SAAkB;EAClC,IAAIC,UAAmB;EACvB,MAAM,0BAAU,IAAI;AACpB,SAAO,QAAQ,YAAY;AACzB,OAAI,QAAQ,IAAI,QAAQ,GAAG,CAAE;GAC7B,QAAQ,IAAI,QAAQ,GAAG;AAEvB,OAAI,CAAC,QAAQ,WAAY;GACzB,UAAU,QAAQ;EACnB;EACD,QAAQ,OAAO;EAEf,MAAM,QAAQ,CAAC,OAAQ;AACvB,SAAO,MAAM,SAAS,GAAG;GACvB,MAAM,UAAU,MAAM,OAAO;AAC7B,OAAI,CAAC,WAAW,QAAQ,IAAI,QAAQ,GAAG,CAAE;GACzC,QAAQ,IAAI,QAAQ,GAAG;GAEvB,KAAK,WAAW,IAAI,QAAQ,IAAI,QAAQ;AACxC,OAAI,QAAQ,YACV,MAAM,KAAK,GAAG,QAAQ,WAAW;EAEpC;EAED,KAAK,SAAS,QAAQ,UAAU,KAAK;EACrC,KAAK,WAAW,QAAQ,YAAY,KAAK;EACzC,KAAK,cAAc,QAAQ,gBAAgB,KAAK;EAChD,KAAK,YAAY,QAAQ,wBAAwB,KAAK;CACvD;CAED,4BAA4BF,IAAiC;EAC3D,MAAM,UAAU,KAAK,WAAW,IAAI,GAAG;AACvC,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO,IAAIG,4BAAQ;GACjB,GAAG;GACH,QAAQ,KAAK;GACb,cAAc,KAAK;GACnB,UAAU,KAAK;GACf,sBAAsB,KAAK;GAC3B,gBAAgB;EACjB;CACF;CAED,OAAO,sBAA2C;AAChD,MAAI;AACF,gEAOI,KAAK;EAEV,QAAO;AACN,UAAO;EACR;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracer_langchain.js","names":["fields: LangChainTracerFields","_run: Run","run: Run","id: string","runTree: RunTree","rootRun: RunTree"],"sources":["../../src/tracers/tracer_langchain.ts"],"sourcesContent":["import {\n type Client,\n type LangSmithTracingClientInterface,\n getDefaultProjectName,\n} from \"langsmith\";\nimport { RunTree, type RunTreeConfig } from \"langsmith/run_trees\";\nimport { getCurrentRunTree } from \"langsmith/singletons/traceable\";\n\nimport {\n BaseRun,\n RunCreate,\n RunUpdate as BaseRunUpdate,\n KVMap,\n} from \"langsmith/schemas\";\nimport { BaseTracer } from \"./base.js\";\nimport { BaseCallbackHandlerInput } from \"../callbacks/base.js\";\nimport { getDefaultLangChainClientSingleton } from \"../singletons/tracer.js\";\n\nexport interface Run extends BaseRun {\n id: string;\n child_runs: this[];\n child_execution_order: number;\n dotted_order?: string;\n trace_id?: string;\n}\n\nexport interface RunCreate2 extends RunCreate {\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface RunUpdate extends BaseRunUpdate {\n events: BaseRun[\"events\"];\n inputs: KVMap;\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface LangChainTracerFields extends BaseCallbackHandlerInput {\n exampleId?: string;\n projectName?: string;\n client?: LangSmithTracingClientInterface;\n replicas?: RunTreeConfig[\"replicas\"];\n}\n\nexport class LangChainTracer\n extends BaseTracer\n implements LangChainTracerFields\n{\n name = \"langchain_tracer\";\n\n projectName?: string;\n\n exampleId?: string;\n\n client: LangSmithTracingClientInterface;\n\n replicas?: RunTreeConfig[\"replicas\"];\n\n usesRunTreeMap = true;\n\n constructor(fields: LangChainTracerFields = {}) {\n super(fields);\n const { exampleId, projectName, client, replicas } = fields;\n\n this.projectName = projectName ?? getDefaultProjectName();\n this.replicas = replicas;\n this.exampleId = exampleId;\n this.client = client ?? getDefaultLangChainClientSingleton();\n\n const traceableTree = LangChainTracer.getTraceableRunTree();\n if (traceableTree) {\n this.updateFromRunTree(traceableTree);\n }\n }\n\n protected async persistRun(_run: Run): Promise<void> {}\n\n async onRunCreate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.postRun();\n }\n\n async onRunUpdate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.patchRun();\n }\n\n getRun(id: string): Run | undefined {\n return this.runTreeMap.get(id);\n }\n\n updateFromRunTree(runTree: RunTree) {\n let rootRun: RunTree = runTree;\n const visited = new Set<string>();\n while (rootRun.parent_run) {\n if (visited.has(rootRun.id)) break;\n visited.add(rootRun.id);\n\n if (!rootRun.parent_run) break;\n rootRun = rootRun.parent_run as RunTree;\n }\n visited.clear();\n\n const queue = [rootRun];\n while (queue.length > 0) {\n const current = queue.shift();\n if (!current || visited.has(current.id)) continue;\n visited.add(current.id);\n\n this.runTreeMap.set(current.id, current);\n if (current.child_runs) {\n queue.push(...current.child_runs);\n }\n }\n\n this.client = runTree.client ?? this.client;\n this.replicas = runTree.replicas ?? this.replicas;\n this.projectName = runTree.project_name ?? this.projectName;\n this.exampleId = runTree.reference_example_id ?? this.exampleId;\n }\n\n getRunTreeWithTracingConfig(id: string): RunTree | undefined {\n const runTree = this.runTreeMap.get(id);\n if (!runTree) return undefined;\n\n return new RunTree({\n ...runTree,\n client: this.client as Client,\n project_name: this.projectName,\n replicas: this.replicas,\n reference_example_id: this.exampleId,\n tracingEnabled: true,\n });\n }\n\n static getTraceableRunTree(): RunTree | undefined {\n try {\n return (\n // The type cast here provides forward compatibility. Old versions of LangSmith will just\n // ignore the permitAbsentRunTree arg.\n (\n getCurrentRunTree as (\n permitAbsentRunTree: boolean\n ) => ReturnType<typeof getCurrentRunTree> | undefined\n )(true)\n );\n } catch {\n return undefined;\n }\n }\n}\n"],"mappings":";;;;;;;;;;AA6CA,IAAa,kBAAb,MAAa,wBACH,WAEV;CACE,OAAO;CAEP;CAEA;CAEA;CAEA;CAEA,iBAAiB;CAEjB,YAAYA,SAAgC,CAAE,GAAE;EAC9C,MAAM,OAAO;EACb,MAAM,EAAE,WAAW,aAAa,QAAQ,UAAU,GAAG;EAErD,KAAK,cAAc,eAAe,uBAAuB;EACzD,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,SAAS,UAAU,oCAAoC;EAE5D,MAAM,gBAAgB,gBAAgB,qBAAqB;AAC3D,MAAI,eACF,KAAK,kBAAkB,cAAc;CAExC;CAED,MAAgB,WAAWC,MAA0B,CAAE;CAEvD,MAAM,YAAYC,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,SAAS;CACzB;CAED,MAAM,YAAYA,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,UAAU;CAC1B;CAED,OAAOC,IAA6B;AAClC,SAAO,KAAK,WAAW,IAAI,GAAG;CAC/B;CAED,kBAAkBC,SAAkB;EAClC,IAAIC,UAAmB;EACvB,MAAM,0BAAU,IAAI;AACpB,SAAO,QAAQ,YAAY;AACzB,OAAI,QAAQ,IAAI,QAAQ,GAAG,CAAE;GAC7B,QAAQ,IAAI,QAAQ,GAAG;AAEvB,OAAI,CAAC,QAAQ,WAAY;GACzB,UAAU,QAAQ;EACnB;EACD,QAAQ,OAAO;EAEf,MAAM,QAAQ,CAAC,OAAQ;AACvB,SAAO,MAAM,SAAS,GAAG;GACvB,MAAM,UAAU,MAAM,OAAO;AAC7B,OAAI,CAAC,WAAW,QAAQ,IAAI,QAAQ,GAAG,CAAE;GACzC,QAAQ,IAAI,QAAQ,GAAG;GAEvB,KAAK,WAAW,IAAI,QAAQ,IAAI,QAAQ;AACxC,OAAI,QAAQ,YACV,MAAM,KAAK,GAAG,QAAQ,WAAW;EAEpC;EAED,KAAK,SAAS,QAAQ,UAAU,KAAK;EACrC,KAAK,WAAW,QAAQ,YAAY,KAAK;EACzC,KAAK,cAAc,QAAQ,gBAAgB,KAAK;EAChD,KAAK,YAAY,QAAQ,wBAAwB,KAAK;CACvD;CAED,4BAA4BF,IAAiC;EAC3D,MAAM,UAAU,KAAK,WAAW,IAAI,GAAG;AACvC,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO,IAAI,QAAQ;GACjB,GAAG;GACH,QAAQ,KAAK;GACb,cAAc,KAAK;GACnB,UAAU,KAAK;GACf,sBAAsB,KAAK;GAC3B,gBAAgB;EACjB;CACF;CAED,OAAO,sBAA2C;AAChD,MAAI;AACF,UAII,kBAGA,KAAK;EAEV,QAAO;AACN,UAAO;EACR;CACF;AACF"}
1
+ {"version":3,"file":"tracer_langchain.js","names":["fields: LangChainTracerFields","_run: Run","run: Run","id: string","runTree: RunTree","rootRun: RunTree"],"sources":["../../src/tracers/tracer_langchain.ts"],"sourcesContent":["import {\n type Client,\n type LangSmithTracingClientInterface,\n getDefaultProjectName,\n} from \"langsmith\";\nimport { RunTree, type RunTreeConfig } from \"langsmith/run_trees\";\nimport { getCurrentRunTree } from \"langsmith/singletons/traceable\";\n\nimport {\n BaseRun,\n RunCreate,\n RunUpdate as BaseRunUpdate,\n KVMap,\n} from \"langsmith/schemas\";\nimport { BaseTracer } from \"./base.js\";\nimport { BaseCallbackHandlerInput } from \"../callbacks/base.js\";\nimport { getDefaultLangChainClientSingleton } from \"../singletons/tracer.js\";\n\nexport interface Run extends BaseRun {\n id: string;\n child_runs: this[];\n child_execution_order: number;\n dotted_order?: string;\n trace_id?: string;\n}\n\nexport interface RunCreate2 extends RunCreate {\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface RunUpdate extends BaseRunUpdate {\n events: BaseRun[\"events\"];\n inputs: KVMap;\n trace_id?: string;\n dotted_order?: string;\n}\n\nexport interface LangChainTracerFields extends BaseCallbackHandlerInput {\n exampleId?: string;\n projectName?: string;\n client?: LangSmithTracingClientInterface;\n replicas?: RunTreeConfig[\"replicas\"];\n}\n\nexport class LangChainTracer\n extends BaseTracer\n implements LangChainTracerFields\n{\n name = \"langchain_tracer\";\n\n projectName?: string;\n\n exampleId?: string;\n\n client: LangSmithTracingClientInterface;\n\n replicas?: RunTreeConfig[\"replicas\"];\n\n usesRunTreeMap = true;\n\n constructor(fields: LangChainTracerFields = {}) {\n super(fields);\n const { exampleId, projectName, client, replicas } = fields;\n\n this.projectName = projectName ?? getDefaultProjectName();\n this.replicas = replicas;\n this.exampleId = exampleId;\n this.client = client ?? getDefaultLangChainClientSingleton();\n\n const traceableTree = LangChainTracer.getTraceableRunTree();\n if (traceableTree) {\n this.updateFromRunTree(traceableTree);\n }\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // empty\n }\n\n async onRunCreate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.postRun();\n }\n\n async onRunUpdate(run: Run): Promise<void> {\n const runTree = this.getRunTreeWithTracingConfig(run.id);\n await runTree?.patchRun();\n }\n\n getRun(id: string): Run | undefined {\n return this.runTreeMap.get(id);\n }\n\n updateFromRunTree(runTree: RunTree) {\n let rootRun: RunTree = runTree;\n const visited = new Set<string>();\n while (rootRun.parent_run) {\n if (visited.has(rootRun.id)) break;\n visited.add(rootRun.id);\n\n if (!rootRun.parent_run) break;\n rootRun = rootRun.parent_run as RunTree;\n }\n visited.clear();\n\n const queue = [rootRun];\n while (queue.length > 0) {\n const current = queue.shift();\n if (!current || visited.has(current.id)) continue;\n visited.add(current.id);\n\n this.runTreeMap.set(current.id, current);\n if (current.child_runs) {\n queue.push(...current.child_runs);\n }\n }\n\n this.client = runTree.client ?? this.client;\n this.replicas = runTree.replicas ?? this.replicas;\n this.projectName = runTree.project_name ?? this.projectName;\n this.exampleId = runTree.reference_example_id ?? this.exampleId;\n }\n\n getRunTreeWithTracingConfig(id: string): RunTree | undefined {\n const runTree = this.runTreeMap.get(id);\n if (!runTree) return undefined;\n\n return new RunTree({\n ...runTree,\n client: this.client as Client,\n project_name: this.projectName,\n replicas: this.replicas,\n reference_example_id: this.exampleId,\n tracingEnabled: true,\n });\n }\n\n static getTraceableRunTree(): RunTree | undefined {\n try {\n return (\n // The type cast here provides forward compatibility. Old versions of LangSmith will just\n // ignore the permitAbsentRunTree arg.\n (\n getCurrentRunTree as (\n permitAbsentRunTree: boolean\n ) => ReturnType<typeof getCurrentRunTree> | undefined\n )(true)\n );\n } catch {\n return undefined;\n }\n }\n}\n"],"mappings":";;;;;;;;;;AA6CA,IAAa,kBAAb,MAAa,wBACH,WAEV;CACE,OAAO;CAEP;CAEA;CAEA;CAEA;CAEA,iBAAiB;CAEjB,YAAYA,SAAgC,CAAE,GAAE;EAC9C,MAAM,OAAO;EACb,MAAM,EAAE,WAAW,aAAa,QAAQ,UAAU,GAAG;EAErD,KAAK,cAAc,eAAe,uBAAuB;EACzD,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,SAAS,UAAU,oCAAoC;EAE5D,MAAM,gBAAgB,gBAAgB,qBAAqB;AAC3D,MAAI,eACF,KAAK,kBAAkB,cAAc;CAExC;CAED,MAAgB,WAAWC,MAA0B,CAEpD;CAED,MAAM,YAAYC,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,SAAS;CACzB;CAED,MAAM,YAAYA,KAAyB;EACzC,MAAM,UAAU,KAAK,4BAA4B,IAAI,GAAG;EACxD,MAAM,SAAS,UAAU;CAC1B;CAED,OAAOC,IAA6B;AAClC,SAAO,KAAK,WAAW,IAAI,GAAG;CAC/B;CAED,kBAAkBC,SAAkB;EAClC,IAAIC,UAAmB;EACvB,MAAM,0BAAU,IAAI;AACpB,SAAO,QAAQ,YAAY;AACzB,OAAI,QAAQ,IAAI,QAAQ,GAAG,CAAE;GAC7B,QAAQ,IAAI,QAAQ,GAAG;AAEvB,OAAI,CAAC,QAAQ,WAAY;GACzB,UAAU,QAAQ;EACnB;EACD,QAAQ,OAAO;EAEf,MAAM,QAAQ,CAAC,OAAQ;AACvB,SAAO,MAAM,SAAS,GAAG;GACvB,MAAM,UAAU,MAAM,OAAO;AAC7B,OAAI,CAAC,WAAW,QAAQ,IAAI,QAAQ,GAAG,CAAE;GACzC,QAAQ,IAAI,QAAQ,GAAG;GAEvB,KAAK,WAAW,IAAI,QAAQ,IAAI,QAAQ;AACxC,OAAI,QAAQ,YACV,MAAM,KAAK,GAAG,QAAQ,WAAW;EAEpC;EAED,KAAK,SAAS,QAAQ,UAAU,KAAK;EACrC,KAAK,WAAW,QAAQ,YAAY,KAAK;EACzC,KAAK,cAAc,QAAQ,gBAAgB,KAAK;EAChD,KAAK,YAAY,QAAQ,wBAAwB,KAAK;CACvD;CAED,4BAA4BF,IAAiC;EAC3D,MAAM,UAAU,KAAK,WAAW,IAAI,GAAG;AACvC,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO,IAAI,QAAQ;GACjB,GAAG;GACH,QAAQ,KAAK;GACb,cAAc,KAAK;GACnB,UAAU,KAAK;GACf,sBAAsB,KAAK;GAC3B,gBAAgB;EACjB;CACF;CAED,OAAO,sBAA2C;AAChD,MAAI;AACF,UAII,kBAGA,KAAK;EAEV,QAAO;AACN,UAAO;EACR;CACF;AACF"}
@@ -1,5 +1,5 @@
1
- import { ChainValues } from "../utils/types/index.cjs";
2
1
  import { LLMResult } from "../outputs.cjs";
2
+ import { ChainValues } from "../utils/types/index.cjs";
3
3
  import { BaseTracer, Run, RunType } from "./base.cjs";
4
4
 
5
5
  //#region src/tracers/tracer_langchain_v1.d.ts
@@ -1,5 +1,5 @@
1
- import { ChainValues } from "../utils/types/index.js";
2
1
  import { LLMResult } from "../outputs.js";
2
+ import { ChainValues } from "../utils/types/index.js";
3
3
  import { BaseTracer, Run, RunType } from "./base.js";
4
4
 
5
5
  //#region src/tracers/tracer_langchain_v1.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"chunk_array.cjs","names":["arr: T[]","chunkSize: number"],"sources":["../../src/utils/chunk_array.ts"],"sourcesContent":["export const chunkArray = <T>(arr: T[], chunkSize: number) =>\n arr.reduce((chunks, elem, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n const chunk = chunks[chunkIndex] || [];\n // eslint-disable-next-line no-param-reassign\n chunks[chunkIndex] = chunk.concat([elem]);\n return chunks;\n }, [] as T[][]);\n"],"mappings":";;;;;AAAA,MAAa,aAAa,CAAIA,KAAUC,cACtC,IAAI,OAAO,CAAC,QAAQ,MAAM,UAAU;CAClC,MAAM,aAAa,KAAK,MAAM,QAAQ,UAAU;CAChD,MAAM,QAAQ,OAAO,eAAe,CAAE;CAEtC,OAAO,cAAc,MAAM,OAAO,CAAC,IAAK,EAAC;AACzC,QAAO;AACR,GAAE,CAAE,EAAU"}
1
+ {"version":3,"file":"chunk_array.cjs","names":["arr: T[]","chunkSize: number"],"sources":["../../src/utils/chunk_array.ts"],"sourcesContent":["export const chunkArray = <T>(arr: T[], chunkSize: number) =>\n arr.reduce((chunks, elem, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n const chunk = chunks[chunkIndex] || [];\n chunks[chunkIndex] = chunk.concat([elem]);\n return chunks;\n }, [] as T[][]);\n"],"mappings":";;;;;AAAA,MAAa,aAAa,CAAIA,KAAUC,cACtC,IAAI,OAAO,CAAC,QAAQ,MAAM,UAAU;CAClC,MAAM,aAAa,KAAK,MAAM,QAAQ,UAAU;CAChD,MAAM,QAAQ,OAAO,eAAe,CAAE;CACtC,OAAO,cAAc,MAAM,OAAO,CAAC,IAAK,EAAC;AACzC,QAAO;AACR,GAAE,CAAE,EAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunk_array.js","names":["arr: T[]","chunkSize: number"],"sources":["../../src/utils/chunk_array.ts"],"sourcesContent":["export const chunkArray = <T>(arr: T[], chunkSize: number) =>\n arr.reduce((chunks, elem, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n const chunk = chunks[chunkIndex] || [];\n // eslint-disable-next-line no-param-reassign\n chunks[chunkIndex] = chunk.concat([elem]);\n return chunks;\n }, [] as T[][]);\n"],"mappings":";;;;;AAAA,MAAa,aAAa,CAAIA,KAAUC,cACtC,IAAI,OAAO,CAAC,QAAQ,MAAM,UAAU;CAClC,MAAM,aAAa,KAAK,MAAM,QAAQ,UAAU;CAChD,MAAM,QAAQ,OAAO,eAAe,CAAE;CAEtC,OAAO,cAAc,MAAM,OAAO,CAAC,IAAK,EAAC;AACzC,QAAO;AACR,GAAE,CAAE,EAAU"}
1
+ {"version":3,"file":"chunk_array.js","names":["arr: T[]","chunkSize: number"],"sources":["../../src/utils/chunk_array.ts"],"sourcesContent":["export const chunkArray = <T>(arr: T[], chunkSize: number) =>\n arr.reduce((chunks, elem, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n const chunk = chunks[chunkIndex] || [];\n chunks[chunkIndex] = chunk.concat([elem]);\n return chunks;\n }, [] as T[][]);\n"],"mappings":";;;;;AAAA,MAAa,aAAa,CAAIA,KAAUC,cACtC,IAAI,OAAO,CAAC,QAAQ,MAAM,UAAU;CAClC,MAAM,aAAa,KAAK,MAAM,QAAQ,UAAU;CAChD,MAAM,QAAQ,OAAO,eAAe,CAAE;CACtC,OAAO,cAAc,MAAM,OAAO,CAAC,IAAK,EAAC;AACzC,QAAO;AACR,GAAE,CAAE,EAAU"}
@@ -50,7 +50,7 @@ function getEnvironmentVariable(name) {
50
50
  if (typeof process !== "undefined") return process.env?.[name];
51
51
  else if (isDeno()) return Deno?.env.get(name);
52
52
  else return void 0;
53
- } catch (e) {
53
+ } catch {
54
54
  return void 0;
55
55
  }
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.cjs","names":["env: string","runtimeEnvironment: RuntimeEnvironment | undefined","name: string"],"sources":["../../src/utils/env.ts"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\ndeclare global {\n const Deno:\n | {\n version: {\n deno: string;\n };\n env: {\n get: (name: string) => string | undefined;\n };\n }\n | undefined;\n}\n\nexport const isBrowser = () =>\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n\nexport const isWebWorker = () =>\n typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\n\nexport const isJsDom = () =>\n (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () =>\n typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\n\nexport const getEnv = () => {\n let env: string;\n if (isBrowser()) {\n env = \"browser\";\n } else if (isNode()) {\n env = \"node\";\n } else if (isWebWorker()) {\n env = \"webworker\";\n } else if (isJsDom()) {\n env = \"jsdom\";\n } else if (isDeno()) {\n env = \"deno\";\n } else {\n env = \"other\";\n }\n\n return env;\n};\n\nexport type RuntimeEnvironment = {\n library: string;\n libraryVersion?: string;\n runtime: string;\n runtimeVersion?: string;\n};\n\nlet runtimeEnvironment: RuntimeEnvironment | undefined;\n\n/**\n * @deprecated Use getRuntimeEnvironmentSync instead\n */\nexport async function getRuntimeEnvironment(): Promise<RuntimeEnvironment> {\n return getRuntimeEnvironmentSync();\n}\n\nexport function getRuntimeEnvironmentSync(): RuntimeEnvironment {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n\n runtimeEnvironment = {\n library: \"langchain-js\",\n runtime: env,\n };\n }\n return runtimeEnvironment;\n}\n\nexport function getEnvironmentVariable(name: string): string | undefined {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/langchain-ai/langchainjs/issues/1412\n try {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n return process.env?.[name];\n } else if (isDeno()) {\n return Deno?.env.get(name);\n } else {\n return undefined;\n }\n } catch (e) {\n return undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,YAAY,MACvB,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAE9D,MAAa,cAAc,MACzB,OAAO,eAAe,YACtB,WAAW,eACX,WAAW,YAAY,SAAS;AAElC,MAAa,UAAU,MACpB,OAAO,WAAW,eAAe,OAAO,SAAS,YACjD,OAAO,cAAc,eAAe,UAAU,UAAU,SAAS,QAAQ;AAI5E,MAAa,SAAS,MAAM,OAAO,SAAS;AAG5C,MAAa,SAAS,MACpB,OAAO,YAAY,eACnB,OAAO,QAAQ,aAAa,eAC5B,OAAO,QAAQ,SAAS,SAAS,eACjC,CAAC,QAAQ;AAEX,MAAa,SAAS,MAAM;CAC1B,IAAIA;AACJ,KAAI,WAAW,EACb,MAAM;UACG,QAAQ,EACjB,MAAM;UACG,aAAa,EACtB,MAAM;UACG,SAAS,EAClB,MAAM;UACG,QAAQ,EACjB,MAAM;MAEN,MAAM;AAGR,QAAO;AACR;AASD,IAAIC;;;;AAKJ,eAAsB,wBAAqD;AACzE,QAAO,2BAA2B;AACnC;AAED,SAAgB,4BAAgD;AAC9D,KAAI,uBAAuB,QAAW;EACpC,MAAM,MAAM,QAAQ;EAEpB,qBAAqB;GACnB,SAAS;GACT,SAAS;EACV;CACF;AACD,QAAO;AACR;AAED,SAAgB,uBAAuBC,MAAkC;AAGvE,KAAI;AACF,MAAI,OAAO,YAAY,YAErB,QAAO,QAAQ,MAAM;WACZ,QAAQ,CACjB,QAAO,MAAM,IAAI,IAAI,KAAK;MAE1B,QAAO;CAEV,SAAQ,GAAG;AACV,SAAO;CACR;AACF"}
1
+ {"version":3,"file":"env.cjs","names":["env: string","runtimeEnvironment: RuntimeEnvironment | undefined","name: string"],"sources":["../../src/utils/env.ts"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\ndeclare global {\n const Deno:\n | {\n version: {\n deno: string;\n };\n env: {\n get: (name: string) => string | undefined;\n };\n }\n | undefined;\n}\n\nexport const isBrowser = () =>\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n\nexport const isWebWorker = () =>\n typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\n\nexport const isJsDom = () =>\n (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () =>\n typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\n\nexport const getEnv = () => {\n let env: string;\n if (isBrowser()) {\n env = \"browser\";\n } else if (isNode()) {\n env = \"node\";\n } else if (isWebWorker()) {\n env = \"webworker\";\n } else if (isJsDom()) {\n env = \"jsdom\";\n } else if (isDeno()) {\n env = \"deno\";\n } else {\n env = \"other\";\n }\n\n return env;\n};\n\nexport type RuntimeEnvironment = {\n library: string;\n libraryVersion?: string;\n runtime: string;\n runtimeVersion?: string;\n};\n\nlet runtimeEnvironment: RuntimeEnvironment | undefined;\n\n/**\n * @deprecated Use getRuntimeEnvironmentSync instead\n */\nexport async function getRuntimeEnvironment(): Promise<RuntimeEnvironment> {\n return getRuntimeEnvironmentSync();\n}\n\nexport function getRuntimeEnvironmentSync(): RuntimeEnvironment {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n\n runtimeEnvironment = {\n library: \"langchain-js\",\n runtime: env,\n };\n }\n return runtimeEnvironment;\n}\n\nexport function getEnvironmentVariable(name: string): string | undefined {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/langchain-ai/langchainjs/issues/1412\n try {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n return process.env?.[name];\n } else if (isDeno()) {\n return Deno?.env.get(name);\n } else {\n return undefined;\n }\n } catch {\n return undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,YAAY,MACvB,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAE9D,MAAa,cAAc,MACzB,OAAO,eAAe,YACtB,WAAW,eACX,WAAW,YAAY,SAAS;AAElC,MAAa,UAAU,MACpB,OAAO,WAAW,eAAe,OAAO,SAAS,YACjD,OAAO,cAAc,eAAe,UAAU,UAAU,SAAS,QAAQ;AAI5E,MAAa,SAAS,MAAM,OAAO,SAAS;AAG5C,MAAa,SAAS,MACpB,OAAO,YAAY,eACnB,OAAO,QAAQ,aAAa,eAC5B,OAAO,QAAQ,SAAS,SAAS,eACjC,CAAC,QAAQ;AAEX,MAAa,SAAS,MAAM;CAC1B,IAAIA;AACJ,KAAI,WAAW,EACb,MAAM;UACG,QAAQ,EACjB,MAAM;UACG,aAAa,EACtB,MAAM;UACG,SAAS,EAClB,MAAM;UACG,QAAQ,EACjB,MAAM;MAEN,MAAM;AAGR,QAAO;AACR;AASD,IAAIC;;;;AAKJ,eAAsB,wBAAqD;AACzE,QAAO,2BAA2B;AACnC;AAED,SAAgB,4BAAgD;AAC9D,KAAI,uBAAuB,QAAW;EACpC,MAAM,MAAM,QAAQ;EAEpB,qBAAqB;GACnB,SAAS;GACT,SAAS;EACV;CACF;AACD,QAAO;AACR;AAED,SAAgB,uBAAuBC,MAAkC;AAGvE,KAAI;AACF,MAAI,OAAO,YAAY,YAErB,QAAO,QAAQ,MAAM;WACZ,QAAQ,CACjB,QAAO,MAAM,IAAI,IAAI,KAAK;MAE1B,QAAO;CAEV,QAAO;AACN,SAAO;CACR;AACF"}
package/dist/utils/env.js CHANGED
@@ -50,7 +50,7 @@ function getEnvironmentVariable(name) {
50
50
  if (typeof process !== "undefined") return process.env?.[name];
51
51
  else if (isDeno()) return Deno?.env.get(name);
52
52
  else return void 0;
53
- } catch (e) {
53
+ } catch {
54
54
  return void 0;
55
55
  }
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","names":["env: string","runtimeEnvironment: RuntimeEnvironment | undefined","name: string"],"sources":["../../src/utils/env.ts"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\ndeclare global {\n const Deno:\n | {\n version: {\n deno: string;\n };\n env: {\n get: (name: string) => string | undefined;\n };\n }\n | undefined;\n}\n\nexport const isBrowser = () =>\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n\nexport const isWebWorker = () =>\n typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\n\nexport const isJsDom = () =>\n (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () =>\n typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\n\nexport const getEnv = () => {\n let env: string;\n if (isBrowser()) {\n env = \"browser\";\n } else if (isNode()) {\n env = \"node\";\n } else if (isWebWorker()) {\n env = \"webworker\";\n } else if (isJsDom()) {\n env = \"jsdom\";\n } else if (isDeno()) {\n env = \"deno\";\n } else {\n env = \"other\";\n }\n\n return env;\n};\n\nexport type RuntimeEnvironment = {\n library: string;\n libraryVersion?: string;\n runtime: string;\n runtimeVersion?: string;\n};\n\nlet runtimeEnvironment: RuntimeEnvironment | undefined;\n\n/**\n * @deprecated Use getRuntimeEnvironmentSync instead\n */\nexport async function getRuntimeEnvironment(): Promise<RuntimeEnvironment> {\n return getRuntimeEnvironmentSync();\n}\n\nexport function getRuntimeEnvironmentSync(): RuntimeEnvironment {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n\n runtimeEnvironment = {\n library: \"langchain-js\",\n runtime: env,\n };\n }\n return runtimeEnvironment;\n}\n\nexport function getEnvironmentVariable(name: string): string | undefined {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/langchain-ai/langchainjs/issues/1412\n try {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n return process.env?.[name];\n } else if (isDeno()) {\n return Deno?.env.get(name);\n } else {\n return undefined;\n }\n } catch (e) {\n return undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,YAAY,MACvB,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAE9D,MAAa,cAAc,MACzB,OAAO,eAAe,YACtB,WAAW,eACX,WAAW,YAAY,SAAS;AAElC,MAAa,UAAU,MACpB,OAAO,WAAW,eAAe,OAAO,SAAS,YACjD,OAAO,cAAc,eAAe,UAAU,UAAU,SAAS,QAAQ;AAI5E,MAAa,SAAS,MAAM,OAAO,SAAS;AAG5C,MAAa,SAAS,MACpB,OAAO,YAAY,eACnB,OAAO,QAAQ,aAAa,eAC5B,OAAO,QAAQ,SAAS,SAAS,eACjC,CAAC,QAAQ;AAEX,MAAa,SAAS,MAAM;CAC1B,IAAIA;AACJ,KAAI,WAAW,EACb,MAAM;UACG,QAAQ,EACjB,MAAM;UACG,aAAa,EACtB,MAAM;UACG,SAAS,EAClB,MAAM;UACG,QAAQ,EACjB,MAAM;MAEN,MAAM;AAGR,QAAO;AACR;AASD,IAAIC;;;;AAKJ,eAAsB,wBAAqD;AACzE,QAAO,2BAA2B;AACnC;AAED,SAAgB,4BAAgD;AAC9D,KAAI,uBAAuB,QAAW;EACpC,MAAM,MAAM,QAAQ;EAEpB,qBAAqB;GACnB,SAAS;GACT,SAAS;EACV;CACF;AACD,QAAO;AACR;AAED,SAAgB,uBAAuBC,MAAkC;AAGvE,KAAI;AACF,MAAI,OAAO,YAAY,YAErB,QAAO,QAAQ,MAAM;WACZ,QAAQ,CACjB,QAAO,MAAM,IAAI,IAAI,KAAK;MAE1B,QAAO;CAEV,SAAQ,GAAG;AACV,SAAO;CACR;AACF"}
1
+ {"version":3,"file":"env.js","names":["env: string","runtimeEnvironment: RuntimeEnvironment | undefined","name: string"],"sources":["../../src/utils/env.ts"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\ndeclare global {\n const Deno:\n | {\n version: {\n deno: string;\n };\n env: {\n get: (name: string) => string | undefined;\n };\n }\n | undefined;\n}\n\nexport const isBrowser = () =>\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n\nexport const isWebWorker = () =>\n typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\n\nexport const isJsDom = () =>\n (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () =>\n typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\n\nexport const getEnv = () => {\n let env: string;\n if (isBrowser()) {\n env = \"browser\";\n } else if (isNode()) {\n env = \"node\";\n } else if (isWebWorker()) {\n env = \"webworker\";\n } else if (isJsDom()) {\n env = \"jsdom\";\n } else if (isDeno()) {\n env = \"deno\";\n } else {\n env = \"other\";\n }\n\n return env;\n};\n\nexport type RuntimeEnvironment = {\n library: string;\n libraryVersion?: string;\n runtime: string;\n runtimeVersion?: string;\n};\n\nlet runtimeEnvironment: RuntimeEnvironment | undefined;\n\n/**\n * @deprecated Use getRuntimeEnvironmentSync instead\n */\nexport async function getRuntimeEnvironment(): Promise<RuntimeEnvironment> {\n return getRuntimeEnvironmentSync();\n}\n\nexport function getRuntimeEnvironmentSync(): RuntimeEnvironment {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n\n runtimeEnvironment = {\n library: \"langchain-js\",\n runtime: env,\n };\n }\n return runtimeEnvironment;\n}\n\nexport function getEnvironmentVariable(name: string): string | undefined {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/langchain-ai/langchainjs/issues/1412\n try {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n return process.env?.[name];\n } else if (isDeno()) {\n return Deno?.env.get(name);\n } else {\n return undefined;\n }\n } catch {\n return undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,YAAY,MACvB,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAE9D,MAAa,cAAc,MACzB,OAAO,eAAe,YACtB,WAAW,eACX,WAAW,YAAY,SAAS;AAElC,MAAa,UAAU,MACpB,OAAO,WAAW,eAAe,OAAO,SAAS,YACjD,OAAO,cAAc,eAAe,UAAU,UAAU,SAAS,QAAQ;AAI5E,MAAa,SAAS,MAAM,OAAO,SAAS;AAG5C,MAAa,SAAS,MACpB,OAAO,YAAY,eACnB,OAAO,QAAQ,aAAa,eAC5B,OAAO,QAAQ,SAAS,SAAS,eACjC,CAAC,QAAQ;AAEX,MAAa,SAAS,MAAM;CAC1B,IAAIA;AACJ,KAAI,WAAW,EACb,MAAM;UACG,QAAQ,EACjB,MAAM;UACG,aAAa,EACtB,MAAM;UACG,SAAS,EAClB,MAAM;UACG,QAAQ,EACjB,MAAM;MAEN,MAAM;AAGR,QAAO;AACR;AASD,IAAIC;;;;AAKJ,eAAsB,wBAAqD;AACzE,QAAO,2BAA2B;AACnC;AAED,SAAgB,4BAAgD;AAC9D,KAAI,uBAAuB,QAAW;EACpC,MAAM,MAAM,QAAQ;EAEpB,qBAAqB;GACnB,SAAS;GACT,SAAS;EACV;CACF;AACD,QAAO;AACR;AAED,SAAgB,uBAAuBC,MAAkC;AAGvE,KAAI;AACF,MAAI,OAAO,YAAY,YAErB,QAAO,QAAQ,MAAM;WACZ,QAAQ,CACjB,QAAO,MAAM,IAAI,IAAI,KAAK;MAE1B,QAAO;CAEV,QAAO;AACN,SAAO;CACR;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"event_source_parse.cjs","names":["stream: ReadableStream<Uint8Array> | AsyncIterable<any>","onChunk: (arr: Uint8Array, flush?: boolean) => void","e: any","onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void","buffer: Uint8Array | undefined","position: number","fieldLength: number","arr: Uint8Array","flush?: boolean","onMessage?: (msg: EventSourceMessage) => void","onId?: (id: string) => void","onRetry?: (retry: number) => void","line: Uint8Array","a: Uint8Array","b: Uint8Array","stream: ReadableStream","onMetadataEvent?: (e: unknown) => unknown","IterableReadableStream","message: EventSourceMessage"],"sources":["../../src/utils/event_source_parse.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n/* eslint-disable no-plusplus */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\n\nexport const EventStreamContentType = \"text/event-stream\";\n\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport async function getBytes(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stream: ReadableStream<Uint8Array> | AsyncIterable<any>,\n onChunk: (arr: Uint8Array, flush?: boolean) => void\n) {\n // TODO: Use Async iteration for both cases?\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (stream instanceof ReadableStream) {\n const reader = stream.getReader();\n // CHANGED: Introduced a \"flush\" mechanism to process potential pending messages when the stream ends.\n // This change is essential to ensure that we capture every last piece of information from streams,\n // such as those from Azure OpenAI, which may not terminate with a blank line. Without this\n // mechanism, we risk ignoring a possibly significant last message.\n // See https://github.com/langchain-ai/langchainjs/issues/1299 for details.\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const result = await reader.read();\n if (result.done) {\n onChunk(new Uint8Array(), true);\n break;\n }\n onChunk(result.value);\n }\n } else {\n try {\n // Handle Node.js Readable streams with async iteration\n for await (const chunk of stream) {\n onChunk(new Uint8Array(chunk));\n }\n onChunk(new Uint8Array(), true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new Error(\n [\n \"Parsing event source stream failed.\",\n \"Ensure your implementation of fetch returns a web or Node readable stream.\",\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n}\n\nconst enum ControlChars {\n NewLine = 10,\n CarriageReturn = 13,\n Space = 32,\n Colon = 58,\n}\n\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport function getLines(\n onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void\n) {\n let buffer: Uint8Array | undefined;\n let position: number; // current read position\n let fieldLength: number; // length of the `field` portion of the line\n let discardTrailingNewline = false;\n\n // return a function that can process each incoming byte chunk:\n return function onChunk(arr: Uint8Array, flush?: boolean) {\n if (flush) {\n onLine(arr, 0, true);\n return;\n }\n\n if (buffer === undefined) {\n buffer = arr;\n position = 0;\n fieldLength = -1;\n } else {\n // we're still parsing the old line. Append the new bytes into buffer:\n buffer = concat(buffer, arr);\n }\n\n const bufLength = buffer.length;\n let lineStart = 0; // index where the current line starts\n while (position < bufLength) {\n if (discardTrailingNewline) {\n if (buffer[position] === ControlChars.NewLine) {\n lineStart = ++position; // skip to next char\n }\n\n discardTrailingNewline = false;\n }\n\n // start looking forward till the end of line:\n let lineEnd = -1; // index of the \\r or \\n char\n for (; position < bufLength && lineEnd === -1; ++position) {\n switch (buffer[position]) {\n case ControlChars.Colon:\n if (fieldLength === -1) {\n // first colon in line\n fieldLength = position - lineStart;\n }\n break;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore:7029 \\r case below should fallthrough to \\n:\n case ControlChars.CarriageReturn:\n discardTrailingNewline = true;\n // eslint-disable-next-line no-fallthrough\n case ControlChars.NewLine:\n lineEnd = position;\n break;\n }\n }\n\n if (lineEnd === -1) {\n // We reached the end of the buffer but the line hasn't ended.\n // Wait for the next arr and then continue parsing:\n break;\n }\n\n // we've reached the line end, send it out:\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\n lineStart = position; // we're now on the next line\n fieldLength = -1;\n }\n\n if (lineStart === bufLength) {\n buffer = undefined; // we've finished reading it\n } else if (lineStart !== 0) {\n // Create a new view into buffer beginning at lineStart so we don't\n // need to copy over the previous lines when we get the new arr:\n buffer = buffer.subarray(lineStart);\n position -= lineStart;\n }\n };\n}\n\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport function getMessages(\n onMessage?: (msg: EventSourceMessage) => void,\n onId?: (id: string) => void,\n onRetry?: (retry: number) => void\n) {\n let message = newMessage();\n const decoder = new TextDecoder();\n\n // return a function that can process each incoming line buffer:\n return function onLine(\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) {\n if (flush) {\n if (!isEmpty(message)) {\n onMessage?.(message);\n message = newMessage();\n }\n return;\n }\n\n if (line.length === 0) {\n // empty line denotes end of message. Trigger the callback and start a new message:\n onMessage?.(message);\n message = newMessage();\n } else if (fieldLength > 0) {\n // exclude comments and lines with no values\n // line is of format \"<field>:<value>\" or \"<field>: <value>\"\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n const field = decoder.decode(line.subarray(0, fieldLength));\n const valueOffset =\n fieldLength + (line[fieldLength + 1] === ControlChars.Space ? 2 : 1);\n const value = decoder.decode(line.subarray(valueOffset));\n\n switch (field) {\n case \"data\":\n // if this message already has data, append the new value to the old.\n // otherwise, just set to the new value:\n message.data = message.data ? message.data + \"\\n\" + value : value; // otherwise,\n break;\n case \"event\":\n message.event = value;\n break;\n case \"id\":\n onId?.((message.id = value));\n break;\n case \"retry\": {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n // per spec, ignore non-integers\n onRetry?.((message.retry = retry));\n }\n break;\n }\n }\n }\n };\n}\n\nfunction concat(a: Uint8Array, b: Uint8Array) {\n const res = new Uint8Array(a.length + b.length);\n res.set(a);\n res.set(b, a.length);\n return res;\n}\n\nfunction newMessage(): EventSourceMessage {\n // data, event, and id must be initialized to empty strings:\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n // retry should be initialized to undefined so we return a consistent shape\n // to the js engine all the time: https://mathiasbynens.be/notes/shapes-ics#takeaways\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: undefined,\n };\n}\n\nexport function convertEventStreamToIterableReadableDataStream(\n stream: ReadableStream,\n onMetadataEvent?: (e: unknown) => unknown\n) {\n const dataStream = new ReadableStream({\n async start(controller) {\n const enqueueLine = getMessages((msg) => {\n if (msg.event === \"error\") {\n throw new Error(msg.data ?? \"Unspecified event streaming error.\");\n } else if (msg.event === \"metadata\") {\n onMetadataEvent?.(msg);\n } else {\n if (msg.data) controller.enqueue(msg.data);\n }\n });\n const onLine = (\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) => {\n enqueueLine(line, fieldLength, flush);\n if (flush) controller.close();\n };\n await getBytes(stream, getLines(onLine));\n },\n });\n return IterableReadableStream.fromReadableStream(dataStream);\n}\n\nfunction isEmpty(message: EventSourceMessage): boolean {\n return (\n message.data === \"\" &&\n message.event === \"\" &&\n message.id === \"\" &&\n message.retry === undefined\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"event_source_parse.cjs","names":["stream: ReadableStream<Uint8Array> | AsyncIterable<any>","onChunk: (arr: Uint8Array, flush?: boolean) => void","e: any","onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void","buffer: Uint8Array | undefined","position: number","fieldLength: number","arr: Uint8Array","flush?: boolean","onMessage?: (msg: EventSourceMessage) => void","onId?: (id: string) => void","onRetry?: (retry: number) => void","line: Uint8Array","a: Uint8Array","b: Uint8Array","stream: ReadableStream","onMetadataEvent?: (e: unknown) => unknown","IterableReadableStream","message: EventSourceMessage"],"sources":["../../src/utils/event_source_parse.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\n\nexport const EventStreamContentType = \"text/event-stream\";\n\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport async function getBytes(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stream: ReadableStream<Uint8Array> | AsyncIterable<any>,\n onChunk: (arr: Uint8Array, flush?: boolean) => void\n) {\n // TODO: Use Async iteration for both cases?\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (stream instanceof ReadableStream) {\n const reader = stream.getReader();\n // CHANGED: Introduced a \"flush\" mechanism to process potential pending messages when the stream ends.\n // This change is essential to ensure that we capture every last piece of information from streams,\n // such as those from Azure OpenAI, which may not terminate with a blank line. Without this\n // mechanism, we risk ignoring a possibly significant last message.\n // See https://github.com/langchain-ai/langchainjs/issues/1299 for details.\n while (true) {\n const result = await reader.read();\n if (result.done) {\n onChunk(new Uint8Array(), true);\n break;\n }\n onChunk(result.value);\n }\n } else {\n try {\n // Handle Node.js Readable streams with async iteration\n for await (const chunk of stream) {\n onChunk(new Uint8Array(chunk));\n }\n onChunk(new Uint8Array(), true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new Error(\n [\n \"Parsing event source stream failed.\",\n \"Ensure your implementation of fetch returns a web or Node readable stream.\",\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n}\n\nconst enum ControlChars {\n NewLine = 10,\n CarriageReturn = 13,\n Space = 32,\n Colon = 58,\n}\n\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport function getLines(\n onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void\n) {\n let buffer: Uint8Array | undefined;\n let position: number; // current read position\n let fieldLength: number; // length of the `field` portion of the line\n let discardTrailingNewline = false;\n\n // return a function that can process each incoming byte chunk:\n return function onChunk(arr: Uint8Array, flush?: boolean) {\n if (flush) {\n onLine(arr, 0, true);\n return;\n }\n\n if (buffer === undefined) {\n buffer = arr;\n position = 0;\n fieldLength = -1;\n } else {\n // we're still parsing the old line. Append the new bytes into buffer:\n buffer = concat(buffer, arr);\n }\n\n const bufLength = buffer.length;\n let lineStart = 0; // index where the current line starts\n while (position < bufLength) {\n if (discardTrailingNewline) {\n if (buffer[position] === ControlChars.NewLine) {\n lineStart = ++position; // skip to next char\n }\n\n discardTrailingNewline = false;\n }\n\n // start looking forward till the end of line:\n let lineEnd = -1; // index of the \\r or \\n char\n for (; position < bufLength && lineEnd === -1; ++position) {\n switch (buffer[position]) {\n case ControlChars.Colon:\n if (fieldLength === -1) {\n // first colon in line\n fieldLength = position - lineStart;\n }\n break;\n // @ts-expect-error \\r case below should fallthrough to \\n:\n case ControlChars.CarriageReturn:\n discardTrailingNewline = true;\n // eslint-disable-next-line no-fallthrough\n case ControlChars.NewLine:\n lineEnd = position;\n break;\n }\n }\n\n if (lineEnd === -1) {\n // We reached the end of the buffer but the line hasn't ended.\n // Wait for the next arr and then continue parsing:\n break;\n }\n\n // we've reached the line end, send it out:\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\n lineStart = position; // we're now on the next line\n fieldLength = -1;\n }\n\n if (lineStart === bufLength) {\n buffer = undefined; // we've finished reading it\n } else if (lineStart !== 0) {\n // Create a new view into buffer beginning at lineStart so we don't\n // need to copy over the previous lines when we get the new arr:\n buffer = buffer.subarray(lineStart);\n position -= lineStart;\n }\n };\n}\n\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport function getMessages(\n onMessage?: (msg: EventSourceMessage) => void,\n onId?: (id: string) => void,\n onRetry?: (retry: number) => void\n) {\n let message = newMessage();\n const decoder = new TextDecoder();\n\n // return a function that can process each incoming line buffer:\n return function onLine(\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) {\n if (flush) {\n if (!isEmpty(message)) {\n onMessage?.(message);\n message = newMessage();\n }\n return;\n }\n\n if (line.length === 0) {\n // empty line denotes end of message. Trigger the callback and start a new message:\n onMessage?.(message);\n message = newMessage();\n } else if (fieldLength > 0) {\n // exclude comments and lines with no values\n // line is of format \"<field>:<value>\" or \"<field>: <value>\"\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n const field = decoder.decode(line.subarray(0, fieldLength));\n const valueOffset =\n fieldLength + (line[fieldLength + 1] === ControlChars.Space ? 2 : 1);\n const value = decoder.decode(line.subarray(valueOffset));\n\n switch (field) {\n case \"data\":\n // if this message already has data, append the new value to the old.\n // otherwise, just set to the new value:\n message.data = message.data ? message.data + \"\\n\" + value : value; // otherwise,\n break;\n case \"event\":\n message.event = value;\n break;\n case \"id\":\n onId?.((message.id = value));\n break;\n case \"retry\": {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n // per spec, ignore non-integers\n onRetry?.((message.retry = retry));\n }\n break;\n }\n }\n }\n };\n}\n\nfunction concat(a: Uint8Array, b: Uint8Array) {\n const res = new Uint8Array(a.length + b.length);\n res.set(a);\n res.set(b, a.length);\n return res;\n}\n\nfunction newMessage(): EventSourceMessage {\n // data, event, and id must be initialized to empty strings:\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n // retry should be initialized to undefined so we return a consistent shape\n // to the js engine all the time: https://mathiasbynens.be/notes/shapes-ics#takeaways\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: undefined,\n };\n}\n\nexport function convertEventStreamToIterableReadableDataStream(\n stream: ReadableStream,\n onMetadataEvent?: (e: unknown) => unknown\n) {\n const dataStream = new ReadableStream({\n async start(controller) {\n const enqueueLine = getMessages((msg) => {\n if (msg.event === \"error\") {\n throw new Error(msg.data ?? \"Unspecified event streaming error.\");\n } else if (msg.event === \"metadata\") {\n onMetadataEvent?.(msg);\n } else {\n if (msg.data) controller.enqueue(msg.data);\n }\n });\n const onLine = (\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) => {\n enqueueLine(line, fieldLength, flush);\n if (flush) controller.close();\n };\n await getBytes(stream, getLines(onLine));\n },\n });\n return IterableReadableStream.fromReadableStream(dataStream);\n}\n\nfunction isEmpty(message: EventSourceMessage): boolean {\n return (\n message.data === \"\" &&\n message.event === \"\" &&\n message.id === \"\" &&\n message.retry === undefined\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event_source_parse.d.cts","names":["IterableReadableStream","EventStreamContentType","EventSourceMessage","getBytes","Uint8Array","ReadableStream","AsyncIterable","Promise","getLines","ArrayBufferLike","getMessages","convertEventStreamToIterableReadableDataStream"],"sources":["../../src/utils/event_source_parse.d.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n/* eslint-disable no-plusplus */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\nexport declare const EventStreamContentType = \"text/event-stream\";\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport declare function getBytes(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nstream: ReadableStream<Uint8Array> | AsyncIterable<any>, onChunk: (arr: Uint8Array, flush?: boolean) => void): Promise<void>;\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport declare function getLines(onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void): (arr: Uint8Array<ArrayBufferLike>, flush?: boolean | undefined) => void;\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport declare function getMessages(onMessage?: (msg: EventSourceMessage) => void, onId?: (id: string) => void, onRetry?: (retry: number) => void): (line: Uint8Array<ArrayBufferLike>, fieldLength: number, flush?: boolean | undefined) => void;\nexport declare function convertEventStreamToIterableReadableDataStream(stream: ReadableStream, onMetadataEvent?: (e: unknown) => unknown): IterableReadableStream<any>;\n"],"mappings":";;;;AA8BuBI,cAvBFH,sBAAAA,GAuBEG,mBAAAA;;;;;AAA+F,UAlBrGF,kBAAAA,CAkBqG;EAO9FM;EAAQ,EAAA,EAAA,MAAA;EAAA;EAA0B,KAAmEC,EAAAA,MAAAA;EAAe;EAAhB,IAAA,EAAA,MAAA;EAQpGC;EAAW,KAAA,CAAA,EAAA,MAAA;;;;AAAkI;AACrK;;;AAA2IV,iBAlBnHG,QAAAA;AAkByI;QAhBzJE,eAAeD,cAAcE,mCAAmCF,uCAAuCG;;;;;;;iBAOvFC,QAAAA,gBAAwBJ,kEAAkEA,WAAWK;;;;;;;;iBAQrGC,WAAAA,mBAA8BR,qGAAqGE,WAAWK;iBAC9IE,8CAAAA,SAAuDN,4DAA4DL"}
1
+ {"version":3,"file":"event_source_parse.d.cts","names":["IterableReadableStream","EventStreamContentType","EventSourceMessage","getBytes","Uint8Array","ReadableStream","AsyncIterable","Promise","getLines","ArrayBufferLike","getMessages","convertEventStreamToIterableReadableDataStream"],"sources":["../../src/utils/event_source_parse.d.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\nexport declare const EventStreamContentType = \"text/event-stream\";\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport declare function getBytes(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nstream: ReadableStream<Uint8Array> | AsyncIterable<any>, onChunk: (arr: Uint8Array, flush?: boolean) => void): Promise<void>;\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport declare function getLines(onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void): (arr: Uint8Array<ArrayBufferLike>, flush?: boolean | undefined) => void;\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport declare function getMessages(onMessage?: (msg: EventSourceMessage) => void, onId?: (id: string) => void, onRetry?: (retry: number) => void): (line: Uint8Array<ArrayBufferLike>, fieldLength: number, flush?: boolean | undefined) => void;\nexport declare function convertEventStreamToIterableReadableDataStream(stream: ReadableStream, onMetadataEvent?: (e: unknown) => unknown): IterableReadableStream<any>;\n"],"mappings":";;;;AA2BgC,cArBXC,sBAAAA,GAqBW,mBAAA;;;;;AAE+EM,UAlB9FL,kBAAAA,CAkB8FK;EAAO;EAO9FC,EAAAA,EAAAA,MAAAA;EAAQ;EAAA,KAAgBJ,EAAAA,MAAAA;EAAU;EAAkF,IAA1BA,EAAAA,MAAAA;EAAU;EAQpGM,KAAAA,CAAAA,EAAAA,MAAW;;;;;AAAkI;AACrK;;AAA+EL,iBAlBvDF,QAAAA;;AAkByI,MAAA,EAhBzJE,cAgByJ,CAhB1ID,UAgB0I,CAAA,GAhB5HE,aAgB4H,CAAA,GAAA,CAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAhBzFF,UAgByF,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAAA,IAAA,CAAA,EAhBlDG,OAgBkD,CAAA,IAAA,CAAA;;;;;;;iBATzIC,QAAAA,gBAAwBJ,kEAAkEA,WAAWK;;;;;;;;iBAQrGC,WAAAA,mBAA8BR,qGAAqGE,WAAWK;iBAC9IE,8CAAAA,SAAuDN,4DAA4DL"}
@@ -1 +1 @@
1
- {"version":3,"file":"event_source_parse.d.ts","names":["IterableReadableStream","EventStreamContentType","EventSourceMessage","getBytes","Uint8Array","ReadableStream","AsyncIterable","Promise","getLines","ArrayBufferLike","getMessages","convertEventStreamToIterableReadableDataStream"],"sources":["../../src/utils/event_source_parse.d.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n/* eslint-disable no-plusplus */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\nexport declare const EventStreamContentType = \"text/event-stream\";\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport declare function getBytes(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nstream: ReadableStream<Uint8Array> | AsyncIterable<any>, onChunk: (arr: Uint8Array, flush?: boolean) => void): Promise<void>;\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport declare function getLines(onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void): (arr: Uint8Array<ArrayBufferLike>, flush?: boolean | undefined) => void;\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport declare function getMessages(onMessage?: (msg: EventSourceMessage) => void, onId?: (id: string) => void, onRetry?: (retry: number) => void): (line: Uint8Array<ArrayBufferLike>, fieldLength: number, flush?: boolean | undefined) => void;\nexport declare function convertEventStreamToIterableReadableDataStream(stream: ReadableStream, onMetadataEvent?: (e: unknown) => unknown): IterableReadableStream<any>;\n"],"mappings":";;;;AA8BuBI,cAvBFH,sBAAAA,GAuBEG,mBAAAA;;;;;AAA+F,UAlBrGF,kBAAAA,CAkBqG;EAO9FM;EAAQ,EAAA,EAAA,MAAA;EAAA;EAA0B,KAAmEC,EAAAA,MAAAA;EAAe;EAAhB,IAAA,EAAA,MAAA;EAQpGC;EAAW,KAAA,CAAA,EAAA,MAAA;;;;AAAkI;AACrK;;;AAA2IV,iBAlBnHG,QAAAA;AAkByI;QAhBzJE,eAAeD,cAAcE,mCAAmCF,uCAAuCG;;;;;;;iBAOvFC,QAAAA,gBAAwBJ,kEAAkEA,WAAWK;;;;;;;;iBAQrGC,WAAAA,mBAA8BR,qGAAqGE,WAAWK;iBAC9IE,8CAAAA,SAAuDN,4DAA4DL"}
1
+ {"version":3,"file":"event_source_parse.d.ts","names":["IterableReadableStream","EventStreamContentType","EventSourceMessage","getBytes","Uint8Array","ReadableStream","AsyncIterable","Promise","getLines","ArrayBufferLike","getMessages","convertEventStreamToIterableReadableDataStream"],"sources":["../../src/utils/event_source_parse.d.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\nexport declare const EventStreamContentType = \"text/event-stream\";\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport declare function getBytes(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nstream: ReadableStream<Uint8Array> | AsyncIterable<any>, onChunk: (arr: Uint8Array, flush?: boolean) => void): Promise<void>;\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport declare function getLines(onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void): (arr: Uint8Array<ArrayBufferLike>, flush?: boolean | undefined) => void;\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport declare function getMessages(onMessage?: (msg: EventSourceMessage) => void, onId?: (id: string) => void, onRetry?: (retry: number) => void): (line: Uint8Array<ArrayBufferLike>, fieldLength: number, flush?: boolean | undefined) => void;\nexport declare function convertEventStreamToIterableReadableDataStream(stream: ReadableStream, onMetadataEvent?: (e: unknown) => unknown): IterableReadableStream<any>;\n"],"mappings":";;;;AA2BgC,cArBXC,sBAAAA,GAqBW,mBAAA;;;;;AAE+EM,UAlB9FL,kBAAAA,CAkB8FK;EAAO;EAO9FC,EAAAA,EAAAA,MAAAA;EAAQ;EAAA,KAAgBJ,EAAAA,MAAAA;EAAU;EAAkF,IAA1BA,EAAAA,MAAAA;EAAU;EAQpGM,KAAAA,CAAAA,EAAAA,MAAW;;;;;AAAkI;AACrK;;AAA+EL,iBAlBvDF,QAAAA;;AAkByI,MAAA,EAhBzJE,cAgByJ,CAhB1ID,UAgB0I,CAAA,GAhB5HE,aAgB4H,CAAA,GAAA,CAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAhBzFF,UAgByF,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAAA,IAAA,CAAA,EAhBlDG,OAgBkD,CAAA,IAAA,CAAA;;;;;;;iBATzIC,QAAAA,gBAAwBJ,kEAAkEA,WAAWK;;;;;;;;iBAQrGC,WAAAA,mBAA8BR,qGAAqGE,WAAWK;iBAC9IE,8CAAAA,SAAuDN,4DAA4DL"}
@@ -1 +1 @@
1
- {"version":3,"file":"event_source_parse.js","names":["stream: ReadableStream<Uint8Array> | AsyncIterable<any>","onChunk: (arr: Uint8Array, flush?: boolean) => void","e: any","onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void","buffer: Uint8Array | undefined","position: number","fieldLength: number","arr: Uint8Array","flush?: boolean","onMessage?: (msg: EventSourceMessage) => void","onId?: (id: string) => void","onRetry?: (retry: number) => void","line: Uint8Array","a: Uint8Array","b: Uint8Array","stream: ReadableStream","onMetadataEvent?: (e: unknown) => unknown","message: EventSourceMessage"],"sources":["../../src/utils/event_source_parse.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n/* eslint-disable no-plusplus */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\n\nexport const EventStreamContentType = \"text/event-stream\";\n\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport async function getBytes(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stream: ReadableStream<Uint8Array> | AsyncIterable<any>,\n onChunk: (arr: Uint8Array, flush?: boolean) => void\n) {\n // TODO: Use Async iteration for both cases?\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (stream instanceof ReadableStream) {\n const reader = stream.getReader();\n // CHANGED: Introduced a \"flush\" mechanism to process potential pending messages when the stream ends.\n // This change is essential to ensure that we capture every last piece of information from streams,\n // such as those from Azure OpenAI, which may not terminate with a blank line. Without this\n // mechanism, we risk ignoring a possibly significant last message.\n // See https://github.com/langchain-ai/langchainjs/issues/1299 for details.\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const result = await reader.read();\n if (result.done) {\n onChunk(new Uint8Array(), true);\n break;\n }\n onChunk(result.value);\n }\n } else {\n try {\n // Handle Node.js Readable streams with async iteration\n for await (const chunk of stream) {\n onChunk(new Uint8Array(chunk));\n }\n onChunk(new Uint8Array(), true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new Error(\n [\n \"Parsing event source stream failed.\",\n \"Ensure your implementation of fetch returns a web or Node readable stream.\",\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n}\n\nconst enum ControlChars {\n NewLine = 10,\n CarriageReturn = 13,\n Space = 32,\n Colon = 58,\n}\n\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport function getLines(\n onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void\n) {\n let buffer: Uint8Array | undefined;\n let position: number; // current read position\n let fieldLength: number; // length of the `field` portion of the line\n let discardTrailingNewline = false;\n\n // return a function that can process each incoming byte chunk:\n return function onChunk(arr: Uint8Array, flush?: boolean) {\n if (flush) {\n onLine(arr, 0, true);\n return;\n }\n\n if (buffer === undefined) {\n buffer = arr;\n position = 0;\n fieldLength = -1;\n } else {\n // we're still parsing the old line. Append the new bytes into buffer:\n buffer = concat(buffer, arr);\n }\n\n const bufLength = buffer.length;\n let lineStart = 0; // index where the current line starts\n while (position < bufLength) {\n if (discardTrailingNewline) {\n if (buffer[position] === ControlChars.NewLine) {\n lineStart = ++position; // skip to next char\n }\n\n discardTrailingNewline = false;\n }\n\n // start looking forward till the end of line:\n let lineEnd = -1; // index of the \\r or \\n char\n for (; position < bufLength && lineEnd === -1; ++position) {\n switch (buffer[position]) {\n case ControlChars.Colon:\n if (fieldLength === -1) {\n // first colon in line\n fieldLength = position - lineStart;\n }\n break;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore:7029 \\r case below should fallthrough to \\n:\n case ControlChars.CarriageReturn:\n discardTrailingNewline = true;\n // eslint-disable-next-line no-fallthrough\n case ControlChars.NewLine:\n lineEnd = position;\n break;\n }\n }\n\n if (lineEnd === -1) {\n // We reached the end of the buffer but the line hasn't ended.\n // Wait for the next arr and then continue parsing:\n break;\n }\n\n // we've reached the line end, send it out:\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\n lineStart = position; // we're now on the next line\n fieldLength = -1;\n }\n\n if (lineStart === bufLength) {\n buffer = undefined; // we've finished reading it\n } else if (lineStart !== 0) {\n // Create a new view into buffer beginning at lineStart so we don't\n // need to copy over the previous lines when we get the new arr:\n buffer = buffer.subarray(lineStart);\n position -= lineStart;\n }\n };\n}\n\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport function getMessages(\n onMessage?: (msg: EventSourceMessage) => void,\n onId?: (id: string) => void,\n onRetry?: (retry: number) => void\n) {\n let message = newMessage();\n const decoder = new TextDecoder();\n\n // return a function that can process each incoming line buffer:\n return function onLine(\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) {\n if (flush) {\n if (!isEmpty(message)) {\n onMessage?.(message);\n message = newMessage();\n }\n return;\n }\n\n if (line.length === 0) {\n // empty line denotes end of message. Trigger the callback and start a new message:\n onMessage?.(message);\n message = newMessage();\n } else if (fieldLength > 0) {\n // exclude comments and lines with no values\n // line is of format \"<field>:<value>\" or \"<field>: <value>\"\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n const field = decoder.decode(line.subarray(0, fieldLength));\n const valueOffset =\n fieldLength + (line[fieldLength + 1] === ControlChars.Space ? 2 : 1);\n const value = decoder.decode(line.subarray(valueOffset));\n\n switch (field) {\n case \"data\":\n // if this message already has data, append the new value to the old.\n // otherwise, just set to the new value:\n message.data = message.data ? message.data + \"\\n\" + value : value; // otherwise,\n break;\n case \"event\":\n message.event = value;\n break;\n case \"id\":\n onId?.((message.id = value));\n break;\n case \"retry\": {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n // per spec, ignore non-integers\n onRetry?.((message.retry = retry));\n }\n break;\n }\n }\n }\n };\n}\n\nfunction concat(a: Uint8Array, b: Uint8Array) {\n const res = new Uint8Array(a.length + b.length);\n res.set(a);\n res.set(b, a.length);\n return res;\n}\n\nfunction newMessage(): EventSourceMessage {\n // data, event, and id must be initialized to empty strings:\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n // retry should be initialized to undefined so we return a consistent shape\n // to the js engine all the time: https://mathiasbynens.be/notes/shapes-ics#takeaways\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: undefined,\n };\n}\n\nexport function convertEventStreamToIterableReadableDataStream(\n stream: ReadableStream,\n onMetadataEvent?: (e: unknown) => unknown\n) {\n const dataStream = new ReadableStream({\n async start(controller) {\n const enqueueLine = getMessages((msg) => {\n if (msg.event === \"error\") {\n throw new Error(msg.data ?? \"Unspecified event streaming error.\");\n } else if (msg.event === \"metadata\") {\n onMetadataEvent?.(msg);\n } else {\n if (msg.data) controller.enqueue(msg.data);\n }\n });\n const onLine = (\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) => {\n enqueueLine(line, fieldLength, flush);\n if (flush) controller.close();\n };\n await getBytes(stream, getLines(onLine));\n },\n });\n return IterableReadableStream.fromReadableStream(dataStream);\n}\n\nfunction isEmpty(message: EventSourceMessage): boolean {\n return (\n message.data === \"\" &&\n message.event === \"\" &&\n message.id === \"\" &&\n message.retry === undefined\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"event_source_parse.js","names":["stream: ReadableStream<Uint8Array> | AsyncIterable<any>","onChunk: (arr: Uint8Array, flush?: boolean) => void","e: any","onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void","buffer: Uint8Array | undefined","position: number","fieldLength: number","arr: Uint8Array","flush?: boolean","onMessage?: (msg: EventSourceMessage) => void","onId?: (id: string) => void","onRetry?: (retry: number) => void","line: Uint8Array","a: Uint8Array","b: Uint8Array","stream: ReadableStream","onMetadataEvent?: (e: unknown) => unknown","message: EventSourceMessage"],"sources":["../../src/utils/event_source_parse.ts"],"sourcesContent":["/* eslint-disable prefer-template */\n/* eslint-disable default-case */\n// Adapted from https://github.com/gfortaine/fetch-event-source/blob/main/src/parse.ts\n// due to a packaging issue in the original.\n// MIT License\nimport { IterableReadableStream } from \"./stream.js\";\n\nexport const EventStreamContentType = \"text/event-stream\";\n\n/**\n * Represents a message sent in an event stream\n * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format\n */\nexport interface EventSourceMessage {\n /** The event ID to set the EventSource object's last event ID value. */\n id: string;\n /** A string identifying the type of event described. */\n event: string;\n /** The event data */\n data: string;\n /** The reconnection interval (in milliseconds) to wait before retrying the connection */\n retry?: number;\n}\n\n/**\n * Converts a ReadableStream into a callback pattern.\n * @param stream The input ReadableStream.\n * @param onChunk A function that will be called on each new byte chunk in the stream.\n * @returns {Promise<void>} A promise that will be resolved when the stream closes.\n */\nexport async function getBytes(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stream: ReadableStream<Uint8Array> | AsyncIterable<any>,\n onChunk: (arr: Uint8Array, flush?: boolean) => void\n) {\n // TODO: Use Async iteration for both cases?\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (stream instanceof ReadableStream) {\n const reader = stream.getReader();\n // CHANGED: Introduced a \"flush\" mechanism to process potential pending messages when the stream ends.\n // This change is essential to ensure that we capture every last piece of information from streams,\n // such as those from Azure OpenAI, which may not terminate with a blank line. Without this\n // mechanism, we risk ignoring a possibly significant last message.\n // See https://github.com/langchain-ai/langchainjs/issues/1299 for details.\n while (true) {\n const result = await reader.read();\n if (result.done) {\n onChunk(new Uint8Array(), true);\n break;\n }\n onChunk(result.value);\n }\n } else {\n try {\n // Handle Node.js Readable streams with async iteration\n for await (const chunk of stream) {\n onChunk(new Uint8Array(chunk));\n }\n onChunk(new Uint8Array(), true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new Error(\n [\n \"Parsing event source stream failed.\",\n \"Ensure your implementation of fetch returns a web or Node readable stream.\",\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n}\n\nconst enum ControlChars {\n NewLine = 10,\n CarriageReturn = 13,\n Space = 32,\n Colon = 58,\n}\n\n/**\n * Parses arbitary byte chunks into EventSource line buffers.\n * Each line should be of the format \"field: value\" and ends with \\r, \\n, or \\r\\n.\n * @param onLine A function that will be called on each new EventSource line.\n * @returns A function that should be called for each incoming byte chunk.\n */\nexport function getLines(\n onLine: (line: Uint8Array, fieldLength: number, flush?: boolean) => void\n) {\n let buffer: Uint8Array | undefined;\n let position: number; // current read position\n let fieldLength: number; // length of the `field` portion of the line\n let discardTrailingNewline = false;\n\n // return a function that can process each incoming byte chunk:\n return function onChunk(arr: Uint8Array, flush?: boolean) {\n if (flush) {\n onLine(arr, 0, true);\n return;\n }\n\n if (buffer === undefined) {\n buffer = arr;\n position = 0;\n fieldLength = -1;\n } else {\n // we're still parsing the old line. Append the new bytes into buffer:\n buffer = concat(buffer, arr);\n }\n\n const bufLength = buffer.length;\n let lineStart = 0; // index where the current line starts\n while (position < bufLength) {\n if (discardTrailingNewline) {\n if (buffer[position] === ControlChars.NewLine) {\n lineStart = ++position; // skip to next char\n }\n\n discardTrailingNewline = false;\n }\n\n // start looking forward till the end of line:\n let lineEnd = -1; // index of the \\r or \\n char\n for (; position < bufLength && lineEnd === -1; ++position) {\n switch (buffer[position]) {\n case ControlChars.Colon:\n if (fieldLength === -1) {\n // first colon in line\n fieldLength = position - lineStart;\n }\n break;\n // @ts-expect-error \\r case below should fallthrough to \\n:\n case ControlChars.CarriageReturn:\n discardTrailingNewline = true;\n // eslint-disable-next-line no-fallthrough\n case ControlChars.NewLine:\n lineEnd = position;\n break;\n }\n }\n\n if (lineEnd === -1) {\n // We reached the end of the buffer but the line hasn't ended.\n // Wait for the next arr and then continue parsing:\n break;\n }\n\n // we've reached the line end, send it out:\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\n lineStart = position; // we're now on the next line\n fieldLength = -1;\n }\n\n if (lineStart === bufLength) {\n buffer = undefined; // we've finished reading it\n } else if (lineStart !== 0) {\n // Create a new view into buffer beginning at lineStart so we don't\n // need to copy over the previous lines when we get the new arr:\n buffer = buffer.subarray(lineStart);\n position -= lineStart;\n }\n };\n}\n\n/**\n * Parses line buffers into EventSourceMessages.\n * @param onId A function that will be called on each `id` field.\n * @param onRetry A function that will be called on each `retry` field.\n * @param onMessage A function that will be called on each message.\n * @returns A function that should be called for each incoming line buffer.\n */\nexport function getMessages(\n onMessage?: (msg: EventSourceMessage) => void,\n onId?: (id: string) => void,\n onRetry?: (retry: number) => void\n) {\n let message = newMessage();\n const decoder = new TextDecoder();\n\n // return a function that can process each incoming line buffer:\n return function onLine(\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) {\n if (flush) {\n if (!isEmpty(message)) {\n onMessage?.(message);\n message = newMessage();\n }\n return;\n }\n\n if (line.length === 0) {\n // empty line denotes end of message. Trigger the callback and start a new message:\n onMessage?.(message);\n message = newMessage();\n } else if (fieldLength > 0) {\n // exclude comments and lines with no values\n // line is of format \"<field>:<value>\" or \"<field>: <value>\"\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n const field = decoder.decode(line.subarray(0, fieldLength));\n const valueOffset =\n fieldLength + (line[fieldLength + 1] === ControlChars.Space ? 2 : 1);\n const value = decoder.decode(line.subarray(valueOffset));\n\n switch (field) {\n case \"data\":\n // if this message already has data, append the new value to the old.\n // otherwise, just set to the new value:\n message.data = message.data ? message.data + \"\\n\" + value : value; // otherwise,\n break;\n case \"event\":\n message.event = value;\n break;\n case \"id\":\n onId?.((message.id = value));\n break;\n case \"retry\": {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n // per spec, ignore non-integers\n onRetry?.((message.retry = retry));\n }\n break;\n }\n }\n }\n };\n}\n\nfunction concat(a: Uint8Array, b: Uint8Array) {\n const res = new Uint8Array(a.length + b.length);\n res.set(a);\n res.set(b, a.length);\n return res;\n}\n\nfunction newMessage(): EventSourceMessage {\n // data, event, and id must be initialized to empty strings:\n // https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation\n // retry should be initialized to undefined so we return a consistent shape\n // to the js engine all the time: https://mathiasbynens.be/notes/shapes-ics#takeaways\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: undefined,\n };\n}\n\nexport function convertEventStreamToIterableReadableDataStream(\n stream: ReadableStream,\n onMetadataEvent?: (e: unknown) => unknown\n) {\n const dataStream = new ReadableStream({\n async start(controller) {\n const enqueueLine = getMessages((msg) => {\n if (msg.event === \"error\") {\n throw new Error(msg.data ?? \"Unspecified event streaming error.\");\n } else if (msg.event === \"metadata\") {\n onMetadataEvent?.(msg);\n } else {\n if (msg.data) controller.enqueue(msg.data);\n }\n });\n const onLine = (\n line: Uint8Array,\n fieldLength: number,\n flush?: boolean\n ) => {\n enqueueLine(line, fieldLength, flush);\n if (flush) controller.close();\n };\n await getBytes(stream, getLines(onLine));\n },\n });\n return IterableReadableStream.fromReadableStream(dataStream);\n}\n\nfunction isEmpty(message: EventSourceMessage): boolean {\n return (\n message.data === \"\" &&\n message.event === \"\" &&\n message.id === \"\" &&\n message.retry === undefined\n );\n}\n"],"mappings":";;;;;;;;;;;;AAOA,MAAa,yBAAyB;;;;;;;AAuBtC,eAAsB,SAEpBA,QACAC,SACA;AAGA,KAAI,kBAAkB,gBAAgB;EACpC,MAAM,SAAS,OAAO,WAAW;AAMjC,SAAO,MAAM;GACX,MAAM,SAAS,MAAM,OAAO,MAAM;AAClC,OAAI,OAAO,MAAM;IACf,QAAQ,IAAI,cAAc,KAAK;AAC/B;GACD;GACD,QAAQ,OAAO,MAAM;EACtB;CACF,MACC,KAAI;AAEF,aAAW,MAAM,SAAS,QACxB,QAAQ,IAAI,WAAW,OAAO;EAEhC,QAAQ,IAAI,cAAc,KAAK;CAEhC,SAAQC,GAAQ;AACf,QAAM,IAAI,MACR;GACE;GACA;GACA,CAAC,OAAO,EAAE,EAAE,SAAS;EACtB,EAAC,KAAK,KAAK;CAEf;AAEJ;AAED,IAAW,wDAAX;;;;;;AAKC,EALU;;;;;;;AAaX,SAAgB,SACdC,QACA;CACA,IAAIC;CACJ,IAAIC;CACJ,IAAIC;CACJ,IAAI,yBAAyB;AAG7B,QAAO,SAAS,QAAQC,KAAiBC,OAAiB;AACxD,MAAI,OAAO;GACT,OAAO,KAAK,GAAG,KAAK;AACpB;EACD;AAED,MAAI,WAAW,QAAW;GACxB,SAAS;GACT,WAAW;GACX,cAAc;EACf,OAEC,SAAS,OAAO,QAAQ,IAAI;EAG9B,MAAM,YAAY,OAAO;EACzB,IAAI,YAAY;AAChB,SAAO,WAAW,WAAW;AAC3B,OAAI,wBAAwB;AAC1B,QAAI,OAAO,cAAc,aAAa,SACpC,YAAY,EAAE;IAGhB,yBAAyB;GAC1B;GAGD,IAAI,UAAU;AACd,UAAO,WAAW,aAAa,YAAY,IAAI,EAAE,SAC/C,SAAQ,OAAO,WAAf;IACE,KAAK,aAAa;AAChB,SAAI,gBAAgB,IAElB,cAAc,WAAW;AAE3B;IAEF,KAAK,aAAa,gBAChB,yBAAyB;IAE3B,KAAK,aAAa;KAChB,UAAU;AACV;GACH;AAGH,OAAI,YAAY,GAGd;GAIF,OAAO,OAAO,SAAS,WAAW,QAAQ,EAAE,YAAY;GACxD,YAAY;GACZ,cAAc;EACf;AAED,MAAI,cAAc,WAChB,SAAS;WACA,cAAc,GAAG;GAG1B,SAAS,OAAO,SAAS,UAAU;GACnC,YAAY;EACb;CACF;AACF;;;;;;;;AASD,SAAgB,YACdC,WACAC,MACAC,SACA;CACA,IAAI,UAAU,YAAY;CAC1B,MAAM,UAAU,IAAI;AAGpB,QAAO,SAAS,OACdC,MACAN,aACAE,OACA;AACA,MAAI,OAAO;AACT,OAAI,CAAC,QAAQ,QAAQ,EAAE;IACrB,YAAY,QAAQ;IACpB,UAAU,YAAY;GACvB;AACD;EACD;AAED,MAAI,KAAK,WAAW,GAAG;GAErB,YAAY,QAAQ;GACpB,UAAU,YAAY;EACvB,WAAU,cAAc,GAAG;GAI1B,MAAM,QAAQ,QAAQ,OAAO,KAAK,SAAS,GAAG,YAAY,CAAC;GAC3D,MAAM,cACJ,eAAe,KAAK,cAAc,OAAO,aAAa,QAAQ,IAAI;GACpE,MAAM,QAAQ,QAAQ,OAAO,KAAK,SAAS,YAAY,CAAC;AAExD,WAAQ,OAAR;IACE,KAAK;KAGH,QAAQ,OAAO,QAAQ,OAAO,QAAQ,OAAO,OAAO,QAAQ;AAC5D;IACF,KAAK;KACH,QAAQ,QAAQ;AAChB;IACF,KAAK;KACH,OAAQ,QAAQ,KAAK,MAAO;AAC5B;IACF,KAAK,SAAS;KACZ,MAAM,QAAQ,SAAS,OAAO,GAAG;AACjC,SAAI,CAAC,OAAO,MAAM,MAAM,EAEtB,UAAW,QAAQ,QAAQ,MAAO;AAEpC;IACD;GACF;EACF;CACF;AACF;AAED,SAAS,OAAOK,GAAeC,GAAe;CAC5C,MAAM,MAAM,IAAI,WAAW,EAAE,SAAS,EAAE;CACxC,IAAI,IAAI,EAAE;CACV,IAAI,IAAI,GAAG,EAAE,OAAO;AACpB,QAAO;AACR;AAED,SAAS,aAAiC;AAKxC,QAAO;EACL,MAAM;EACN,OAAO;EACP,IAAI;EACJ,OAAO;CACR;AACF;AAED,SAAgB,+CACdC,QACAC,iBACA;CACA,MAAM,aAAa,IAAI,eAAe,EACpC,MAAM,MAAM,YAAY;EACtB,MAAM,cAAc,YAAY,CAAC,QAAQ;AACvC,OAAI,IAAI,UAAU,QAChB,OAAM,IAAI,MAAM,IAAI,QAAQ;YACnB,IAAI,UAAU,YACvB,kBAAkB,IAAI;YAElB,IAAI,MAAM,WAAW,QAAQ,IAAI,KAAK;EAE7C,EAAC;EACF,MAAM,SAAS,CACbJ,MACAN,aACAE,UACG;GACH,YAAY,MAAM,aAAa,MAAM;AACrC,OAAI,OAAO,WAAW,OAAO;EAC9B;EACD,MAAM,SAAS,QAAQ,SAAS,OAAO,CAAC;CACzC,EACF;AACD,QAAO,uBAAuB,mBAAmB,WAAW;AAC7D;AAED,SAAS,QAAQS,SAAsC;AACrD,QACE,QAAQ,SAAS,MACjB,QAAQ,UAAU,MAClB,QAAQ,OAAO,MACf,QAAQ,UAAU;AAErB"}
@@ -1,13 +1,9 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_utils_js_sha1_hash = require('./js-sha1/hash.cjs');
3
- const require_utils_js_sha256_hash = require('./js-sha256/hash.cjs');
2
+ const require_hash = require('./js-sha256/hash.cjs');
4
3
 
5
4
  //#region src/utils/hash.ts
6
5
  var hash_exports = {};
7
- require_rolldown_runtime.__export(hash_exports, {
8
- insecureHash: () => require_utils_js_sha1_hash.insecureHash,
9
- sha256: () => require_utils_js_sha256_hash.sha256
10
- });
6
+ require_rolldown_runtime.__export(hash_exports, { sha256: () => require_hash.sha256 });
11
7
 
12
8
  //#endregion
13
9
  Object.defineProperty(exports, 'hash_exports', {
@@ -16,6 +12,5 @@ Object.defineProperty(exports, 'hash_exports', {
16
12
  return hash_exports;
17
13
  }
18
14
  });
19
- exports.insecureHash = require_utils_js_sha1_hash.insecureHash;
20
- exports.sha256 = require_utils_js_sha256_hash.sha256;
15
+ exports.sha256 = require_hash.sha256;
21
16
  //# sourceMappingURL=hash.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.cjs","names":[],"sources":["../../src/utils/hash.ts"],"sourcesContent":["export { insecureHash } from \"./js-sha1/hash.js\";\nexport { sha256 } from \"./js-sha256/hash.js\";\n\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":""}
1
+ {"version":3,"file":"hash.cjs","names":[],"sources":["../../src/utils/hash.ts"],"sourcesContent":["export { sha256 } from \"./js-sha256/hash.js\";\n\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":""}
@@ -1,4 +1,3 @@
1
- import { insecureHash } from "./js-sha1/hash.cjs";
2
1
  import { sha256 } from "./js-sha256/hash.cjs";
3
2
 
4
3
  //#region src/utils/hash.d.ts
@@ -10,5 +9,5 @@ import { sha256 } from "./js-sha256/hash.cjs";
10
9
  */
11
10
  type HashKeyEncoder = (...strings: string[]) => string;
12
11
  //#endregion
13
- export { HashKeyEncoder, insecureHash, sha256 };
12
+ export { HashKeyEncoder, sha256 };
14
13
  //# sourceMappingURL=hash.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.cts","names":["insecureHash","sha256","HashKeyEncoder"],"sources":["../../src/utils/hash.d.ts"],"sourcesContent":["export { insecureHash } from \"./js-sha1/hash.js\";\nexport { sha256 } from \"./js-sha256/hash.js\";\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":";;;;;;;AAOA;;;KAAYE,cAAAA"}
1
+ {"version":3,"file":"hash.d.cts","names":["sha256","HashKeyEncoder"],"sources":["../../src/utils/hash.d.ts"],"sourcesContent":["export { sha256 } from \"./js-sha256/hash.js\";\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":";;;;;;AAMA;;;KAAYC,cAAAA"}
@@ -1,4 +1,3 @@
1
- import { insecureHash } from "./js-sha1/hash.js";
2
1
  import { sha256 } from "./js-sha256/hash.js";
3
2
 
4
3
  //#region src/utils/hash.d.ts
@@ -10,5 +9,5 @@ import { sha256 } from "./js-sha256/hash.js";
10
9
  */
11
10
  type HashKeyEncoder = (...strings: string[]) => string;
12
11
  //#endregion
13
- export { HashKeyEncoder, insecureHash, sha256 };
12
+ export { HashKeyEncoder, sha256 };
14
13
  //# sourceMappingURL=hash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","names":["insecureHash","sha256","HashKeyEncoder"],"sources":["../../src/utils/hash.d.ts"],"sourcesContent":["export { insecureHash } from \"./js-sha1/hash.js\";\nexport { sha256 } from \"./js-sha256/hash.js\";\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":";;;;;;;AAOA;;;KAAYE,cAAAA"}
1
+ {"version":3,"file":"hash.d.ts","names":["sha256","HashKeyEncoder"],"sources":["../../src/utils/hash.d.ts"],"sourcesContent":["export { sha256 } from \"./js-sha256/hash.js\";\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":";;;;;;AAMA;;;KAAYC,cAAAA"}
@@ -1,14 +1,10 @@
1
1
  import { __export } from "../_virtual/rolldown_runtime.js";
2
- import { insecureHash } from "./js-sha1/hash.js";
3
2
  import { sha256 } from "./js-sha256/hash.js";
4
3
 
5
4
  //#region src/utils/hash.ts
6
5
  var hash_exports = {};
7
- __export(hash_exports, {
8
- insecureHash: () => insecureHash,
9
- sha256: () => sha256
10
- });
6
+ __export(hash_exports, { sha256: () => sha256 });
11
7
 
12
8
  //#endregion
13
- export { hash_exports, insecureHash, sha256 };
9
+ export { hash_exports, sha256 };
14
10
  //# sourceMappingURL=hash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","names":[],"sources":["../../src/utils/hash.ts"],"sourcesContent":["export { insecureHash } from \"./js-sha1/hash.js\";\nexport { sha256 } from \"./js-sha256/hash.js\";\n\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":""}
1
+ {"version":3,"file":"hash.js","names":[],"sources":["../../src/utils/hash.ts"],"sourcesContent":["export { sha256 } from \"./js-sha256/hash.js\";\n\n/**\n * A function type for encoding hash keys.\n * Accepts any number of string arguments (such as prompt and LLM key)\n * and returns a single string to be used as the hash key.\n */\nexport type HashKeyEncoder = (...strings: string[]) => string;\n"],"mappings":""}
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
 
4
- const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
5
4
 
6
5
  //#region src/utils/js-sha256/hash.ts
7
- var hash_exports = {};
8
- require_rolldown_runtime.__export(hash_exports, { sha256: () => sha256 });
9
6
  var HEX_CHARS = "0123456789abcdef".split("");
10
7
  var EXTRA = [
11
8
  -2147483648,
@@ -340,11 +337,5 @@ const sha256 = (...strings) => {
340
337
  };
341
338
 
342
339
  //#endregion
343
- Object.defineProperty(exports, 'hash_exports', {
344
- enumerable: true,
345
- get: function () {
346
- return hash_exports;
347
- }
348
- });
349
340
  exports.sha256 = sha256;
350
341
  //# sourceMappingURL=hash.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.cjs","names":["blocks"],"sources":["../../../src/utils/js-sha256/hash.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined to deal with portability issues with importing crypto module\n\n/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.11.1\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2025\n * @license MIT\n */\n/*jslint bitwise: true */\n\"use strict\";\n\nvar HEX_CHARS = \"0123456789abcdef\".split(\"\");\nvar EXTRA = [-2147483648, 8388608, 32768, 128];\nvar SHIFT = [24, 16, 8, 0];\nvar K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n];\nvar OUTPUT_TYPES = [\"hex\", \"array\", \"digest\", \"arrayBuffer\"];\n\nvar blocks = [];\n\nfunction Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] =\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else {\n // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n}\n\nSha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString,\n type = typeof message;\n if (type !== \"string\") {\n if (type === \"object\") {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code,\n index = 0,\n i,\n length = message.length,\n blocks = this.blocks;\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n this.block =\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >>> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code =\n 0x10000 +\n (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += (this.bytes / 4294967296) << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n};\n\nSha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks,\n i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >>> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n }\n blocks[14] = (this.hBytes << 3) | (this.bytes >>> 29);\n blocks[15] = this.bytes << 3;\n this.hash();\n};\n\nSha256.prototype.hash = function () {\n var a = this.h0,\n b = this.h1,\n c = this.h2,\n d = this.h3,\n e = this.h4,\n f = this.h5,\n g = this.h6,\n h = this.h7,\n blocks = this.blocks,\n j,\n s0,\n s1,\n maj,\n t1,\n t2,\n ch,\n ab,\n da,\n cd,\n bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = (blocks[j - 16] + s0 + blocks[j - 7] + s1) << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = (t1 - 150054599) << 0;\n d = (t1 + 24177077) << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = (t1 - 1521486534) << 0;\n d = (t1 + 143694565) << 0;\n }\n this.first = false;\n } else {\n s0 =\n ((a >>> 2) | (a << 30)) ^\n ((a >>> 13) | (a << 19)) ^\n ((a >>> 22) | (a << 10));\n s1 =\n ((e >>> 6) | (e << 26)) ^\n ((e >>> 11) | (e << 21)) ^\n ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = (d + t1) << 0;\n d = (t1 + t2) << 0;\n }\n s0 =\n ((d >>> 2) | (d << 30)) ^\n ((d >>> 13) | (d << 19)) ^\n ((d >>> 22) | (d << 10));\n s1 =\n ((h >>> 6) | (h << 26)) ^\n ((h >>> 11) | (h << 21)) ^\n ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = (c + t1) << 0;\n c = (t1 + t2) << 0;\n s0 =\n ((c >>> 2) | (c << 30)) ^\n ((c >>> 13) | (c << 19)) ^\n ((c >>> 22) | (c << 10));\n s1 =\n ((g >>> 6) | (g << 26)) ^\n ((g >>> 11) | (g << 21)) ^\n ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = (b + t1) << 0;\n b = (t1 + t2) << 0;\n s0 =\n ((b >>> 2) | (b << 30)) ^\n ((b >>> 13) | (b << 19)) ^\n ((b >>> 22) | (b << 10));\n s1 =\n ((f >>> 6) | (f << 26)) ^\n ((f >>> 11) | (f << 21)) ^\n ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = (a + t1) << 0;\n a = (t1 + t2) << 0;\n this.chromeBugWorkAround = true;\n }\n\n this.h0 = (this.h0 + a) << 0;\n this.h1 = (this.h1 + b) << 0;\n this.h2 = (this.h2 + c) << 0;\n this.h3 = (this.h3 + d) << 0;\n this.h4 = (this.h4 + e) << 0;\n this.h5 = (this.h5 + f) << 0;\n this.h6 = (this.h6 + g) << 0;\n this.h7 = (this.h7 + h) << 0;\n};\n\nSha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n\n var hex =\n HEX_CHARS[(h0 >>> 28) & 0x0f] +\n HEX_CHARS[(h0 >>> 24) & 0x0f] +\n HEX_CHARS[(h0 >>> 20) & 0x0f] +\n HEX_CHARS[(h0 >>> 16) & 0x0f] +\n HEX_CHARS[(h0 >>> 12) & 0x0f] +\n HEX_CHARS[(h0 >>> 8) & 0x0f] +\n HEX_CHARS[(h0 >>> 4) & 0x0f] +\n HEX_CHARS[h0 & 0x0f] +\n HEX_CHARS[(h1 >>> 28) & 0x0f] +\n HEX_CHARS[(h1 >>> 24) & 0x0f] +\n HEX_CHARS[(h1 >>> 20) & 0x0f] +\n HEX_CHARS[(h1 >>> 16) & 0x0f] +\n HEX_CHARS[(h1 >>> 12) & 0x0f] +\n HEX_CHARS[(h1 >>> 8) & 0x0f] +\n HEX_CHARS[(h1 >>> 4) & 0x0f] +\n HEX_CHARS[h1 & 0x0f] +\n HEX_CHARS[(h2 >>> 28) & 0x0f] +\n HEX_CHARS[(h2 >>> 24) & 0x0f] +\n HEX_CHARS[(h2 >>> 20) & 0x0f] +\n HEX_CHARS[(h2 >>> 16) & 0x0f] +\n HEX_CHARS[(h2 >>> 12) & 0x0f] +\n HEX_CHARS[(h2 >>> 8) & 0x0f] +\n HEX_CHARS[(h2 >>> 4) & 0x0f] +\n HEX_CHARS[h2 & 0x0f] +\n HEX_CHARS[(h3 >>> 28) & 0x0f] +\n HEX_CHARS[(h3 >>> 24) & 0x0f] +\n HEX_CHARS[(h3 >>> 20) & 0x0f] +\n HEX_CHARS[(h3 >>> 16) & 0x0f] +\n HEX_CHARS[(h3 >>> 12) & 0x0f] +\n HEX_CHARS[(h3 >>> 8) & 0x0f] +\n HEX_CHARS[(h3 >>> 4) & 0x0f] +\n HEX_CHARS[h3 & 0x0f] +\n HEX_CHARS[(h4 >>> 28) & 0x0f] +\n HEX_CHARS[(h4 >>> 24) & 0x0f] +\n HEX_CHARS[(h4 >>> 20) & 0x0f] +\n HEX_CHARS[(h4 >>> 16) & 0x0f] +\n HEX_CHARS[(h4 >>> 12) & 0x0f] +\n HEX_CHARS[(h4 >>> 8) & 0x0f] +\n HEX_CHARS[(h4 >>> 4) & 0x0f] +\n HEX_CHARS[h4 & 0x0f] +\n HEX_CHARS[(h5 >>> 28) & 0x0f] +\n HEX_CHARS[(h5 >>> 24) & 0x0f] +\n HEX_CHARS[(h5 >>> 20) & 0x0f] +\n HEX_CHARS[(h5 >>> 16) & 0x0f] +\n HEX_CHARS[(h5 >>> 12) & 0x0f] +\n HEX_CHARS[(h5 >>> 8) & 0x0f] +\n HEX_CHARS[(h5 >>> 4) & 0x0f] +\n HEX_CHARS[h5 & 0x0f] +\n HEX_CHARS[(h6 >>> 28) & 0x0f] +\n HEX_CHARS[(h6 >>> 24) & 0x0f] +\n HEX_CHARS[(h6 >>> 20) & 0x0f] +\n HEX_CHARS[(h6 >>> 16) & 0x0f] +\n HEX_CHARS[(h6 >>> 12) & 0x0f] +\n HEX_CHARS[(h6 >>> 8) & 0x0f] +\n HEX_CHARS[(h6 >>> 4) & 0x0f] +\n HEX_CHARS[h6 & 0x0f];\n if (!this.is224) {\n hex +=\n HEX_CHARS[(h7 >>> 28) & 0x0f] +\n HEX_CHARS[(h7 >>> 24) & 0x0f] +\n HEX_CHARS[(h7 >>> 20) & 0x0f] +\n HEX_CHARS[(h7 >>> 16) & 0x0f] +\n HEX_CHARS[(h7 >>> 12) & 0x0f] +\n HEX_CHARS[(h7 >>> 8) & 0x0f] +\n HEX_CHARS[(h7 >>> 4) & 0x0f] +\n HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n};\n\nSha256.prototype.toString = Sha256.prototype.hex;\n\nSha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n\n var arr = [\n (h0 >>> 24) & 0xff,\n (h0 >>> 16) & 0xff,\n (h0 >>> 8) & 0xff,\n h0 & 0xff,\n (h1 >>> 24) & 0xff,\n (h1 >>> 16) & 0xff,\n (h1 >>> 8) & 0xff,\n h1 & 0xff,\n (h2 >>> 24) & 0xff,\n (h2 >>> 16) & 0xff,\n (h2 >>> 8) & 0xff,\n h2 & 0xff,\n (h3 >>> 24) & 0xff,\n (h3 >>> 16) & 0xff,\n (h3 >>> 8) & 0xff,\n h3 & 0xff,\n (h4 >>> 24) & 0xff,\n (h4 >>> 16) & 0xff,\n (h4 >>> 8) & 0xff,\n h4 & 0xff,\n (h5 >>> 24) & 0xff,\n (h5 >>> 16) & 0xff,\n (h5 >>> 8) & 0xff,\n h5 & 0xff,\n (h6 >>> 24) & 0xff,\n (h6 >>> 16) & 0xff,\n (h6 >>> 8) & 0xff,\n h6 & 0xff,\n ];\n if (!this.is224) {\n arr.push(\n (h7 >>> 24) & 0xff,\n (h7 >>> 16) & 0xff,\n (h7 >>> 8) & 0xff,\n h7 & 0xff\n );\n }\n return arr;\n};\n\nSha256.prototype.array = Sha256.prototype.digest;\n\nSha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n};\n\nexport const sha256 = (...strings: string[]) => {\n return new Sha256(false, true).update(strings.join(\"\")).hex();\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"hash.cjs","names":["blocks"],"sources":["../../../src/utils/js-sha256/hash.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined to deal with portability issues with importing crypto module\n\n/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.11.1\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2025\n * @license MIT\n */\n/*jslint bitwise: true */\n\"use strict\";\n\nvar HEX_CHARS = \"0123456789abcdef\".split(\"\");\nvar EXTRA = [-2147483648, 8388608, 32768, 128];\nvar SHIFT = [24, 16, 8, 0];\nvar K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n];\nvar OUTPUT_TYPES = [\"hex\", \"array\", \"digest\", \"arrayBuffer\"];\n\nvar blocks = [];\n\nfunction Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] =\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else {\n // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n}\n\nSha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString,\n type = typeof message;\n if (type !== \"string\") {\n if (type === \"object\") {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code,\n index = 0,\n i,\n length = message.length,\n blocks = this.blocks;\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n this.block =\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >>> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code =\n 0x10000 +\n (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += (this.bytes / 4294967296) << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n};\n\nSha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks,\n i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >>> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] =\n blocks[1] =\n blocks[2] =\n blocks[3] =\n blocks[4] =\n blocks[5] =\n blocks[6] =\n blocks[7] =\n blocks[8] =\n blocks[9] =\n blocks[10] =\n blocks[11] =\n blocks[12] =\n blocks[13] =\n blocks[14] =\n blocks[15] =\n 0;\n }\n blocks[14] = (this.hBytes << 3) | (this.bytes >>> 29);\n blocks[15] = this.bytes << 3;\n this.hash();\n};\n\nSha256.prototype.hash = function () {\n var a = this.h0,\n b = this.h1,\n c = this.h2,\n d = this.h3,\n e = this.h4,\n f = this.h5,\n g = this.h6,\n h = this.h7,\n blocks = this.blocks,\n j,\n s0,\n s1,\n maj,\n t1,\n t2,\n ch,\n ab,\n da,\n cd,\n bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = (blocks[j - 16] + s0 + blocks[j - 7] + s1) << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = (t1 - 150054599) << 0;\n d = (t1 + 24177077) << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = (t1 - 1521486534) << 0;\n d = (t1 + 143694565) << 0;\n }\n this.first = false;\n } else {\n s0 =\n ((a >>> 2) | (a << 30)) ^\n ((a >>> 13) | (a << 19)) ^\n ((a >>> 22) | (a << 10));\n s1 =\n ((e >>> 6) | (e << 26)) ^\n ((e >>> 11) | (e << 21)) ^\n ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = (d + t1) << 0;\n d = (t1 + t2) << 0;\n }\n s0 =\n ((d >>> 2) | (d << 30)) ^\n ((d >>> 13) | (d << 19)) ^\n ((d >>> 22) | (d << 10));\n s1 =\n ((h >>> 6) | (h << 26)) ^\n ((h >>> 11) | (h << 21)) ^\n ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = (c + t1) << 0;\n c = (t1 + t2) << 0;\n s0 =\n ((c >>> 2) | (c << 30)) ^\n ((c >>> 13) | (c << 19)) ^\n ((c >>> 22) | (c << 10));\n s1 =\n ((g >>> 6) | (g << 26)) ^\n ((g >>> 11) | (g << 21)) ^\n ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = (b + t1) << 0;\n b = (t1 + t2) << 0;\n s0 =\n ((b >>> 2) | (b << 30)) ^\n ((b >>> 13) | (b << 19)) ^\n ((b >>> 22) | (b << 10));\n s1 =\n ((f >>> 6) | (f << 26)) ^\n ((f >>> 11) | (f << 21)) ^\n ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = (a + t1) << 0;\n a = (t1 + t2) << 0;\n this.chromeBugWorkAround = true;\n }\n\n this.h0 = (this.h0 + a) << 0;\n this.h1 = (this.h1 + b) << 0;\n this.h2 = (this.h2 + c) << 0;\n this.h3 = (this.h3 + d) << 0;\n this.h4 = (this.h4 + e) << 0;\n this.h5 = (this.h5 + f) << 0;\n this.h6 = (this.h6 + g) << 0;\n this.h7 = (this.h7 + h) << 0;\n};\n\nSha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n\n var hex =\n HEX_CHARS[(h0 >>> 28) & 0x0f] +\n HEX_CHARS[(h0 >>> 24) & 0x0f] +\n HEX_CHARS[(h0 >>> 20) & 0x0f] +\n HEX_CHARS[(h0 >>> 16) & 0x0f] +\n HEX_CHARS[(h0 >>> 12) & 0x0f] +\n HEX_CHARS[(h0 >>> 8) & 0x0f] +\n HEX_CHARS[(h0 >>> 4) & 0x0f] +\n HEX_CHARS[h0 & 0x0f] +\n HEX_CHARS[(h1 >>> 28) & 0x0f] +\n HEX_CHARS[(h1 >>> 24) & 0x0f] +\n HEX_CHARS[(h1 >>> 20) & 0x0f] +\n HEX_CHARS[(h1 >>> 16) & 0x0f] +\n HEX_CHARS[(h1 >>> 12) & 0x0f] +\n HEX_CHARS[(h1 >>> 8) & 0x0f] +\n HEX_CHARS[(h1 >>> 4) & 0x0f] +\n HEX_CHARS[h1 & 0x0f] +\n HEX_CHARS[(h2 >>> 28) & 0x0f] +\n HEX_CHARS[(h2 >>> 24) & 0x0f] +\n HEX_CHARS[(h2 >>> 20) & 0x0f] +\n HEX_CHARS[(h2 >>> 16) & 0x0f] +\n HEX_CHARS[(h2 >>> 12) & 0x0f] +\n HEX_CHARS[(h2 >>> 8) & 0x0f] +\n HEX_CHARS[(h2 >>> 4) & 0x0f] +\n HEX_CHARS[h2 & 0x0f] +\n HEX_CHARS[(h3 >>> 28) & 0x0f] +\n HEX_CHARS[(h3 >>> 24) & 0x0f] +\n HEX_CHARS[(h3 >>> 20) & 0x0f] +\n HEX_CHARS[(h3 >>> 16) & 0x0f] +\n HEX_CHARS[(h3 >>> 12) & 0x0f] +\n HEX_CHARS[(h3 >>> 8) & 0x0f] +\n HEX_CHARS[(h3 >>> 4) & 0x0f] +\n HEX_CHARS[h3 & 0x0f] +\n HEX_CHARS[(h4 >>> 28) & 0x0f] +\n HEX_CHARS[(h4 >>> 24) & 0x0f] +\n HEX_CHARS[(h4 >>> 20) & 0x0f] +\n HEX_CHARS[(h4 >>> 16) & 0x0f] +\n HEX_CHARS[(h4 >>> 12) & 0x0f] +\n HEX_CHARS[(h4 >>> 8) & 0x0f] +\n HEX_CHARS[(h4 >>> 4) & 0x0f] +\n HEX_CHARS[h4 & 0x0f] +\n HEX_CHARS[(h5 >>> 28) & 0x0f] +\n HEX_CHARS[(h5 >>> 24) & 0x0f] +\n HEX_CHARS[(h5 >>> 20) & 0x0f] +\n HEX_CHARS[(h5 >>> 16) & 0x0f] +\n HEX_CHARS[(h5 >>> 12) & 0x0f] +\n HEX_CHARS[(h5 >>> 8) & 0x0f] +\n HEX_CHARS[(h5 >>> 4) & 0x0f] +\n HEX_CHARS[h5 & 0x0f] +\n HEX_CHARS[(h6 >>> 28) & 0x0f] +\n HEX_CHARS[(h6 >>> 24) & 0x0f] +\n HEX_CHARS[(h6 >>> 20) & 0x0f] +\n HEX_CHARS[(h6 >>> 16) & 0x0f] +\n HEX_CHARS[(h6 >>> 12) & 0x0f] +\n HEX_CHARS[(h6 >>> 8) & 0x0f] +\n HEX_CHARS[(h6 >>> 4) & 0x0f] +\n HEX_CHARS[h6 & 0x0f];\n if (!this.is224) {\n hex +=\n HEX_CHARS[(h7 >>> 28) & 0x0f] +\n HEX_CHARS[(h7 >>> 24) & 0x0f] +\n HEX_CHARS[(h7 >>> 20) & 0x0f] +\n HEX_CHARS[(h7 >>> 16) & 0x0f] +\n HEX_CHARS[(h7 >>> 12) & 0x0f] +\n HEX_CHARS[(h7 >>> 8) & 0x0f] +\n HEX_CHARS[(h7 >>> 4) & 0x0f] +\n HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n};\n\nSha256.prototype.toString = Sha256.prototype.hex;\n\nSha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n\n var arr = [\n (h0 >>> 24) & 0xff,\n (h0 >>> 16) & 0xff,\n (h0 >>> 8) & 0xff,\n h0 & 0xff,\n (h1 >>> 24) & 0xff,\n (h1 >>> 16) & 0xff,\n (h1 >>> 8) & 0xff,\n h1 & 0xff,\n (h2 >>> 24) & 0xff,\n (h2 >>> 16) & 0xff,\n (h2 >>> 8) & 0xff,\n h2 & 0xff,\n (h3 >>> 24) & 0xff,\n (h3 >>> 16) & 0xff,\n (h3 >>> 8) & 0xff,\n h3 & 0xff,\n (h4 >>> 24) & 0xff,\n (h4 >>> 16) & 0xff,\n (h4 >>> 8) & 0xff,\n h4 & 0xff,\n (h5 >>> 24) & 0xff,\n (h5 >>> 16) & 0xff,\n (h5 >>> 8) & 0xff,\n h5 & 0xff,\n (h6 >>> 24) & 0xff,\n (h6 >>> 16) & 0xff,\n (h6 >>> 8) & 0xff,\n h6 & 0xff,\n ];\n if (!this.is224) {\n arr.push(\n (h7 >>> 24) & 0xff,\n (h7 >>> 16) & 0xff,\n (h7 >>> 8) & 0xff,\n h7 & 0xff\n );\n }\n return arr;\n};\n\nSha256.prototype.array = Sha256.prototype.digest;\n\nSha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n};\n\nexport const sha256 = (...strings: string[]) => {\n return new Sha256(false, true).update(strings.join(\"\")).hex();\n};\n"],"mappings":"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"}