langgraph-ui-components 0.0.17 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/index.es100.js +20 -354
  2. package/dist/index.es100.js.map +1 -1
  3. package/dist/index.es101.js +172 -127
  4. package/dist/index.es101.js.map +1 -1
  5. package/dist/index.es102.js +231 -60
  6. package/dist/index.es102.js.map +1 -1
  7. package/dist/index.es103.js +352 -34
  8. package/dist/index.es103.js.map +1 -1
  9. package/dist/index.es104.js +134 -34
  10. package/dist/index.es104.js.map +1 -1
  11. package/dist/index.es105.js +65 -161
  12. package/dist/index.es105.js.map +1 -1
  13. package/dist/index.es106.js +30 -196
  14. package/dist/index.es106.js.map +1 -1
  15. package/dist/index.es107.js +36 -13
  16. package/dist/index.es107.js.map +1 -1
  17. package/dist/index.es108.js +162 -26
  18. package/dist/index.es108.js.map +1 -1
  19. package/dist/index.es109.js +196 -27
  20. package/dist/index.es109.js.map +1 -1
  21. package/dist/index.es110.js +13 -3156
  22. package/dist/index.es110.js.map +1 -1
  23. package/dist/index.es111.js +27 -34
  24. package/dist/index.es111.js.map +1 -1
  25. package/dist/index.es112.js +34 -5
  26. package/dist/index.es112.js.map +1 -1
  27. package/dist/index.es113.js +3145 -61
  28. package/dist/index.es113.js.map +1 -1
  29. package/dist/index.es114.js +33 -33
  30. package/dist/index.es114.js.map +1 -1
  31. package/dist/index.es115.js +5 -21
  32. package/dist/index.es115.js.map +1 -1
  33. package/dist/index.es116.js +69 -64
  34. package/dist/index.es116.js.map +1 -1
  35. package/dist/index.es117.js +37 -3
  36. package/dist/index.es117.js.map +1 -1
  37. package/dist/index.es12.js +1 -1
  38. package/dist/index.es121.js +9 -9
  39. package/dist/index.es122.js +1 -1
  40. package/dist/index.es126.js +1 -1
  41. package/dist/index.es128.js +2 -2
  42. package/dist/index.es13.js +9 -3
  43. package/dist/index.es13.js.map +1 -1
  44. package/dist/index.es136.js +1 -1
  45. package/dist/index.es137.js +6 -6
  46. package/dist/index.es139.js +1 -1
  47. package/dist/index.es14.js +6 -6
  48. package/dist/index.es140.js +1 -1
  49. package/dist/index.es143.js +1 -1
  50. package/dist/index.es144.js +1 -1
  51. package/dist/index.es145.js +1 -1
  52. package/dist/index.es146.js +1 -1
  53. package/dist/index.es147.js +1 -1
  54. package/dist/index.es148.js +1 -1
  55. package/dist/index.es149.js +1 -1
  56. package/dist/index.es150.js +1 -1
  57. package/dist/index.es151.js +1 -1
  58. package/dist/index.es152.js +1 -1
  59. package/dist/index.es153.js +1 -1
  60. package/dist/index.es154.js +1 -1
  61. package/dist/index.es155.js +1 -1
  62. package/dist/index.es156.js +1 -1
  63. package/dist/index.es157.js +1 -1
  64. package/dist/index.es158.js +1 -1
  65. package/dist/index.es159.js +1 -1
  66. package/dist/index.es16.js +10 -5
  67. package/dist/index.es16.js.map +1 -1
  68. package/dist/index.es160.js +1 -1
  69. package/dist/index.es161.js +1 -1
  70. package/dist/index.es162.js +1 -1
  71. package/dist/index.es163.js +1 -1
  72. package/dist/index.es164.js +1 -1
  73. package/dist/index.es165.js +1 -1
  74. package/dist/index.es166.js +1 -1
  75. package/dist/index.es167.js +1 -1
  76. package/dist/index.es168.js +1 -1
  77. package/dist/index.es169.js +1 -1
  78. package/dist/index.es170.js +1 -1
  79. package/dist/index.es171.js +1 -1
  80. package/dist/index.es172.js +1 -1
  81. package/dist/index.es173.js +1 -1
  82. package/dist/index.es174.js +1 -1
  83. package/dist/index.es175.js +1 -1
  84. package/dist/index.es176.js +1 -1
  85. package/dist/index.es177.js +1 -1
  86. package/dist/index.es178.js +1 -1
  87. package/dist/index.es179.js +1 -1
  88. package/dist/index.es18.js +7 -7
  89. package/dist/index.es180.js +1 -1
  90. package/dist/index.es181.js +1 -1
  91. package/dist/index.es182.js +1 -1
  92. package/dist/index.es183.js +1 -1
  93. package/dist/index.es184.js +1 -1
  94. package/dist/index.es185.js +1 -1
  95. package/dist/index.es186.js +1 -1
  96. package/dist/index.es187.js +1 -1
  97. package/dist/index.es191.js +2 -56
  98. package/dist/index.es191.js.map +1 -1
  99. package/dist/index.es192.js +2 -100
  100. package/dist/index.es192.js.map +1 -1
  101. package/dist/index.es193.js +2 -191
  102. package/dist/index.es193.js.map +1 -1
  103. package/dist/index.es194.js +2 -110
  104. package/dist/index.es194.js.map +1 -1
  105. package/dist/index.es195.js +2 -35
  106. package/dist/index.es195.js.map +1 -1
  107. package/dist/index.es196.js +2 -10
  108. package/dist/index.es196.js.map +1 -1
  109. package/dist/index.es197.js +2 -11
  110. package/dist/index.es197.js.map +1 -1
  111. package/dist/index.es198.js +2 -12
  112. package/dist/index.es198.js.map +1 -1
  113. package/dist/index.es199.js +2 -91
  114. package/dist/index.es199.js.map +1 -1
  115. package/dist/index.es2.js +96 -11
  116. package/dist/index.es2.js.map +1 -1
  117. package/dist/index.es20.js +2 -2
  118. package/dist/index.es200.js +2 -275
  119. package/dist/index.es200.js.map +1 -1
  120. package/dist/index.es201.js +2 -2
  121. package/dist/index.es202.js +2 -164
  122. package/dist/index.es202.js.map +1 -1
  123. package/dist/index.es203.js +2 -51
  124. package/dist/index.es203.js.map +1 -1
  125. package/dist/index.es204.js +2 -40
  126. package/dist/index.es204.js.map +1 -1
  127. package/dist/index.es205.js +2 -35
  128. package/dist/index.es205.js.map +1 -1
  129. package/dist/index.es206.js +2 -40
  130. package/dist/index.es206.js.map +1 -1
  131. package/dist/index.es207.js +2 -24
  132. package/dist/index.es207.js.map +1 -1
  133. package/dist/index.es208.js +2 -591
  134. package/dist/index.es208.js.map +1 -1
  135. package/dist/index.es209.js +2 -125
  136. package/dist/index.es209.js.map +1 -1
  137. package/dist/index.es210.js +2 -164
  138. package/dist/index.es210.js.map +1 -1
  139. package/dist/index.es211.js +2 -2
  140. package/dist/index.es212.js +2 -2
  141. package/dist/index.es213.js +2 -2
  142. package/dist/index.es214.js +2 -2
  143. package/dist/index.es215.js +2 -2
  144. package/dist/index.es216.js +2 -2
  145. package/dist/index.es217.js +2 -2
  146. package/dist/index.es218.js +2 -2
  147. package/dist/index.es219.js +2 -2
  148. package/dist/index.es22.js +35 -119
  149. package/dist/index.es22.js.map +1 -1
  150. package/dist/index.es220.js +2 -2
  151. package/dist/index.es221.js +2 -2
  152. package/dist/index.es222.js +2 -2
  153. package/dist/index.es223.js +2 -2
  154. package/dist/index.es224.js +2 -2
  155. package/dist/index.es225.js +2 -2
  156. package/dist/index.es226.js +2 -2
  157. package/dist/index.es227.js +2 -2
  158. package/dist/index.es228.js +2 -2
  159. package/dist/index.es229.js +2 -2
  160. package/dist/index.es23.js +66 -36
  161. package/dist/index.es23.js.map +1 -1
  162. package/dist/index.es230.js +2 -2
  163. package/dist/index.es231.js +2 -2
  164. package/dist/index.es232.js +2 -2
  165. package/dist/index.es233.js +2 -2
  166. package/dist/index.es234.js +2 -2
  167. package/dist/index.es235.js +2 -2
  168. package/dist/index.es236.js +56 -2
  169. package/dist/index.es236.js.map +1 -1
  170. package/dist/index.es237.js +100 -2
  171. package/dist/index.es237.js.map +1 -1
  172. package/dist/index.es238.js +191 -2
  173. package/dist/index.es238.js.map +1 -1
  174. package/dist/index.es239.js +110 -2
  175. package/dist/index.es239.js.map +1 -1
  176. package/dist/index.es24.js +30 -64
  177. package/dist/index.es24.js.map +1 -1
  178. package/dist/index.es240.js +35 -2
  179. package/dist/index.es240.js.map +1 -1
  180. package/dist/index.es241.js +10 -2
  181. package/dist/index.es241.js.map +1 -1
  182. package/dist/index.es242.js +11 -2
  183. package/dist/index.es242.js.map +1 -1
  184. package/dist/index.es243.js +12 -2
  185. package/dist/index.es243.js.map +1 -1
  186. package/dist/index.es244.js +91 -2
  187. package/dist/index.es244.js.map +1 -1
  188. package/dist/index.es245.js +275 -2
  189. package/dist/index.es245.js.map +1 -1
  190. package/dist/index.es246.js +2 -2
  191. package/dist/index.es247.js +164 -2
  192. package/dist/index.es247.js.map +1 -1
  193. package/dist/index.es248.js +51 -2
  194. package/dist/index.es248.js.map +1 -1
  195. package/dist/index.es249.js +40 -2
  196. package/dist/index.es249.js.map +1 -1
  197. package/dist/index.es25.js +120 -29
  198. package/dist/index.es25.js.map +1 -1
  199. package/dist/index.es250.js +35 -2
  200. package/dist/index.es250.js.map +1 -1
  201. package/dist/index.es251.js +40 -2
  202. package/dist/index.es251.js.map +1 -1
  203. package/dist/index.es252.js +24 -2
  204. package/dist/index.es252.js.map +1 -1
  205. package/dist/index.es253.js +591 -2
  206. package/dist/index.es253.js.map +1 -1
  207. package/dist/index.es254.js +125 -2
  208. package/dist/index.es254.js.map +1 -1
  209. package/dist/index.es255.js +164 -2
  210. package/dist/index.es255.js.map +1 -1
  211. package/dist/index.es256.js +2 -2
  212. package/dist/index.es26.js +102 -123
  213. package/dist/index.es26.js.map +1 -1
  214. package/dist/index.es267.js +1 -1
  215. package/dist/index.es27.js +66 -101
  216. package/dist/index.es27.js.map +1 -1
  217. package/dist/index.es28.js +139 -66
  218. package/dist/index.es28.js.map +1 -1
  219. package/dist/index.es29.js +295 -131
  220. package/dist/index.es29.js.map +1 -1
  221. package/dist/index.es30.js +114 -298
  222. package/dist/index.es30.js.map +1 -1
  223. package/dist/index.es305.js +1 -1
  224. package/dist/index.es307.js +1 -1
  225. package/dist/index.es319.js +1 -1
  226. package/dist/index.es32.js +7 -7
  227. package/dist/index.es33.js +1 -1
  228. package/dist/index.es339.js +2 -2
  229. package/dist/index.es36.js +4 -4
  230. package/dist/index.es37.js +289 -114
  231. package/dist/index.es37.js.map +1 -1
  232. package/dist/index.es38.js +44 -70
  233. package/dist/index.es38.js.map +1 -1
  234. package/dist/index.es39.js +145 -19
  235. package/dist/index.es39.js.map +1 -1
  236. package/dist/index.es40.js +5 -261
  237. package/dist/index.es40.js.map +1 -1
  238. package/dist/index.es41.js +247 -38
  239. package/dist/index.es41.js.map +1 -1
  240. package/dist/index.es42.js +110 -207
  241. package/dist/index.es42.js.map +1 -1
  242. package/dist/index.es43.js +68 -64
  243. package/dist/index.es43.js.map +1 -1
  244. package/dist/index.es44.js +17 -141
  245. package/dist/index.es44.js.map +1 -1
  246. package/dist/index.es45.js +251 -14
  247. package/dist/index.es45.js.map +1 -1
  248. package/dist/index.es46.js +36 -223
  249. package/dist/index.es46.js.map +1 -1
  250. package/dist/index.es47.js +213 -7
  251. package/dist/index.es47.js.map +1 -1
  252. package/dist/index.es48.js +55 -1180
  253. package/dist/index.es48.js.map +1 -1
  254. package/dist/index.es49.js +141 -6
  255. package/dist/index.es49.js.map +1 -1
  256. package/dist/index.es50.js +21 -144
  257. package/dist/index.es50.js.map +1 -1
  258. package/dist/index.es51.js +230 -5
  259. package/dist/index.es51.js.map +1 -1
  260. package/dist/index.es52.js +8 -292
  261. package/dist/index.es52.js.map +1 -1
  262. package/dist/index.es53.js +1190 -43
  263. package/dist/index.es53.js.map +1 -1
  264. package/dist/index.es54.js +7 -144
  265. package/dist/index.es54.js.map +1 -1
  266. package/dist/index.es55.js +136 -241
  267. package/dist/index.es55.js.map +1 -1
  268. package/dist/index.es59.js +1 -1
  269. package/dist/index.es6.js +21 -8
  270. package/dist/index.es6.js.map +1 -1
  271. package/dist/index.es60.js +1 -1
  272. package/dist/index.es61.js +1 -1
  273. package/dist/index.es62.js +7 -7
  274. package/dist/index.es67.js +3 -3
  275. package/dist/index.es69.js +2 -2
  276. package/dist/index.es70.js +1 -1
  277. package/dist/index.es71.js +1 -1
  278. package/dist/index.es72.js +1 -1
  279. package/dist/index.es77.js +7 -7
  280. package/dist/index.es78.js +17 -17
  281. package/dist/index.es82.js +1 -1
  282. package/dist/index.es83.js +4 -4
  283. package/dist/index.es84.js +20 -11
  284. package/dist/index.es84.js.map +1 -1
  285. package/dist/index.es85.js +66 -38
  286. package/dist/index.es85.js.map +1 -1
  287. package/dist/index.es86.js +3 -34
  288. package/dist/index.es86.js.map +1 -1
  289. package/dist/index.es87.js +10 -230
  290. package/dist/index.es87.js.map +1 -1
  291. package/dist/index.es88.js +39 -29
  292. package/dist/index.es88.js.map +1 -1
  293. package/dist/index.es89.js +32 -73
  294. package/dist/index.es89.js.map +1 -1
  295. package/dist/index.es90.js +200 -44
  296. package/dist/index.es90.js.map +1 -1
  297. package/dist/index.es91.js +15 -37
  298. package/dist/index.es91.js.map +1 -1
  299. package/dist/index.es92.js +71 -26
  300. package/dist/index.es92.js.map +1 -1
  301. package/dist/index.es93.js +72 -39
  302. package/dist/index.es93.js.map +1 -1
  303. package/dist/index.es94.js +48 -53
  304. package/dist/index.es94.js.map +1 -1
  305. package/dist/index.es95.js +30 -13
  306. package/dist/index.es95.js.map +1 -1
  307. package/dist/index.es96.js +40 -134
  308. package/dist/index.es96.js.map +1 -1
  309. package/dist/index.es97.js +56 -20
  310. package/dist/index.es97.js.map +1 -1
  311. package/dist/index.es98.js +11 -180
  312. package/dist/index.es98.js.map +1 -1
  313. package/dist/index.es99.js +129 -233
  314. package/dist/index.es99.js.map +1 -1
  315. package/dist/styles.css +1 -1
  316. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- var a11yDark = {};
1
+ var materialDark = {};
2
2
  export {
3
- a11yDark as __exports
3
+ materialDark as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es221.js.map
@@ -1,5 +1,5 @@
1
- var atomDark = {};
1
+ var materialLight = {};
2
2
  export {
3
- atomDark as __exports
3
+ materialLight as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es222.js.map
@@ -1,5 +1,5 @@
1
- var base16Ateliersulphurpool_light = {};
1
+ var materialOceanic = {};
2
2
  export {
3
- base16Ateliersulphurpool_light as __exports
3
+ materialOceanic as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es223.js.map
@@ -1,5 +1,5 @@
1
- var cb = {};
1
+ var nightOwl = {};
2
2
  export {
3
- cb as __exports
3
+ nightOwl as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es224.js.map
@@ -1,5 +1,5 @@
1
- var coldarkCold = {};
1
+ var nord = {};
2
2
  export {
3
- coldarkCold as __exports
3
+ nord as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es225.js.map
@@ -1,5 +1,5 @@
1
- var coldarkDark = {};
1
+ var oneDark = {};
2
2
  export {
3
- coldarkDark as __exports
3
+ oneDark as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es226.js.map
@@ -1,5 +1,5 @@
1
- var coyWithoutShadows = {};
1
+ var oneLight = {};
2
2
  export {
3
- coyWithoutShadows as __exports
3
+ oneLight as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es227.js.map
@@ -1,5 +1,5 @@
1
- var darcula = {};
1
+ var pojoaque = {};
2
2
  export {
3
- darcula as __exports
3
+ pojoaque as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es228.js.map
@@ -1,5 +1,5 @@
1
- var dracula = {};
1
+ var shadesOfPurple = {};
2
2
  export {
3
- dracula as __exports
3
+ shadesOfPurple as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es229.js.map
@@ -1,41 +1,71 @@
1
- function getContentString(content) {
2
- if (typeof content === "string") return content;
3
- const texts = content.filter((c) => c.type === "text").map((c) => c.text);
4
- return texts.join(" ");
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { getContentString } from "./index.es22.js";
3
+ import { BotMessageSquare, Loader2 } from "lucide-react";
4
+ import React__default from "react";
5
+ import { AgentMarkdown } from "./index.es37.js";
6
+ import { BranchSwitcher } from "./index.es38.js";
7
+ import { MessageActions } from "./index.es39.js";
8
+ function AgentMessage({
9
+ agentName,
10
+ message,
11
+ isStreaming = false,
12
+ onRegenerate,
13
+ feedback,
14
+ onFeedback,
15
+ branch,
16
+ branchOptions,
17
+ onBranchSelect
18
+ }) {
19
+ const content = getContentString(message?.content);
20
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 w-full group", children: [
21
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 w-full", children: [
22
+ /* @__PURE__ */ jsx(
23
+ "div",
24
+ {
25
+ className: "rounded-full size-8 shrink-0 bg-zinc-800 flex items-center justify-center p-2",
26
+ "data-alt": "AI Avatar",
27
+ children: /* @__PURE__ */ jsx(BotMessageSquare, { className: "text-xs", color: "white" })
28
+ }
29
+ ),
30
+ /* @__PURE__ */ jsx("span", { className: "text-zinc-500 text-sm", children: agentName || "Agent" })
31
+ ] }),
32
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-1 items-start min-w-0", children: [
33
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-normal leading-relaxed px-2 text-left text-zinc-200 shadow-sm max-w-full break-words overflow-wrap-anywhere markdown-content", children: content ? /* @__PURE__ */ jsx(AgentMarkdown, { content }) : /* @__PURE__ */ jsxs(Fragment, { children: [
34
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-zinc-500", children: [
35
+ /* @__PURE__ */ jsx(Loader2, { className: "animate-spin", size: 16 }),
36
+ /* @__PURE__ */ jsx("span", { children: "Thinking..." })
37
+ ] }),
38
+ isStreaming && content && /* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-4 ml-1 bg-zinc-400 animate-pulse" })
39
+ ] }) }),
40
+ !isStreaming && branch && branchOptions && onBranchSelect && branchOptions.length > 1 && /* @__PURE__ */ jsx(
41
+ BranchSwitcher,
42
+ {
43
+ branch,
44
+ branchOptions,
45
+ onSelect: onBranchSelect,
46
+ isLoading: isStreaming
47
+ }
48
+ ),
49
+ !isStreaming && content && /* @__PURE__ */ jsx(
50
+ MessageActions,
51
+ {
52
+ message,
53
+ onRegenerate,
54
+ feedback,
55
+ onFeedback,
56
+ className: ""
57
+ }
58
+ )
59
+ ] })
60
+ ] });
5
61
  }
6
- function isAIMessage(message) {
7
- return message.type === "ai";
8
- }
9
- function isAiWithToolCalls(message) {
10
- return isAIMessage(message) && message.tool_calls && message.tool_calls.length > 0;
11
- }
12
- function isToolMessage(message) {
13
- return message.type === "tool";
14
- }
15
- function formatRelativeTime(timestamp) {
16
- const now = /* @__PURE__ */ new Date();
17
- const date = new Date(timestamp);
18
- const diffTime = now.getTime() - date.getTime();
19
- const diffDays = Math.floor(diffTime / (1e3 * 60 * 60 * 24));
20
- if (diffDays === 0) {
21
- return "Today";
22
- } else if (diffDays === 1) {
23
- return "Yesterday";
24
- } else if (diffDays < 7) {
25
- return `${diffDays} day${diffDays > 1 ? "s" : ""} ago`;
26
- } else if (diffDays < 30) {
27
- const weeks = Math.floor(diffDays / 7);
28
- return `${weeks} week${weeks > 1 ? "s" : ""} ago`;
29
- } else {
30
- const months = Math.floor(diffDays / 30);
31
- return `${months} month${months > 1 ? "s" : ""} ago`;
62
+ const AgentMessage$1 = React__default.memo(AgentMessage, (prevProps, nextProps) => {
63
+ if (nextProps.isStreaming) {
64
+ return false;
32
65
  }
33
- }
66
+ return prevProps.message.id === nextProps.message.id && prevProps.isStreaming === nextProps.isStreaming && prevProps.feedback === nextProps.feedback && prevProps.onRegenerate === nextProps.onRegenerate && prevProps.onFeedback === nextProps.onFeedback && prevProps.branch === nextProps.branch && prevProps.branchOptions?.length === nextProps.branchOptions?.length && prevProps.onBranchSelect === nextProps.onBranchSelect;
67
+ });
34
68
  export {
35
- formatRelativeTime,
36
- getContentString,
37
- isAIMessage,
38
- isAiWithToolCalls,
39
- isToolMessage
69
+ AgentMessage$1 as default
40
70
  };
41
71
  //# sourceMappingURL=index.es23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es23.js","sources":["../src/utils/utils.ts"],"sourcesContent":["import type { AIMessage, Message } from \"@langchain/langgraph-sdk\";\n\n/**\n * Extracts a string summary from a message's content, supporting multimodal (text, image, file, etc.).\n * - If text is present, returns the joined text.\n * - If not, returns a label for the first non-text modality (e.g., 'Image', 'Other').\n * - If unknown, returns 'Multimodal message'.\n */\nexport function getContentString(content: Message[\"content\"]): string {\n if (typeof content === \"string\") return content;\n const texts = content\n .filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n .map((c) => c.text);\n return texts.join(\" \");\n}\n\nexport function isAIMessage(message: Message): message is AIMessage {\n return message.type === \"ai\";\n}\n\nexport function isAiWithToolCalls(message: Message) {\n return (\n isAIMessage(message) && message.tool_calls && message.tool_calls.length > 0\n );\n}\n\nexport function isToolMessage(message: Message) {\n return message.type === \"tool\";\n}\n\n\nexport function formatRelativeTime(timestamp: string): string {\n const now = new Date();\n const date = new Date(timestamp);\n const diffTime = now.getTime() - date.getTime();\n const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));\n\n if (diffDays === 0) {\n return \"Today\";\n } else if (diffDays === 1) {\n return \"Yesterday\";\n } else if (diffDays < 7) {\n return `${diffDays} day${diffDays > 1 ? 's' : ''} ago`;\n } else if (diffDays < 30) {\n const weeks = Math.floor(diffDays / 7);\n return `${weeks} week${weeks > 1 ? 's' : ''} ago`;\n } else {\n const months = Math.floor(diffDays / 30);\n return `${months} month${months > 1 ? 's' : ''} ago`;\n }\n}\n"],"names":[],"mappings":"AAQO,SAAS,iBAAiB,SAAqC;AACpE,MAAI,OAAO,YAAY,SAAU,QAAO;AACxC,QAAM,QAAQ,QACX,OAAO,CAAC,MAA2C,EAAE,SAAS,MAAM,EACpE,IAAI,CAAC,MAAM,EAAE,IAAI;AACpB,SAAO,MAAM,KAAK,GAAG;AACvB;AAEO,SAAS,YAAY,SAAwC;AAClE,SAAO,QAAQ,SAAS;AAC1B;AAEO,SAAS,kBAAkB,SAAkB;AAClD,SACE,YAAY,OAAO,KAAK,QAAQ,cAAc,QAAQ,WAAW,SAAS;AAE9E;AAEO,SAAS,cAAc,SAAkB;AAC9C,SAAO,QAAQ,SAAS;AAC1B;AAGO,SAAS,mBAAmB,WAA2B;AAC5D,QAAM,0BAAU,KAAA;AAChB,QAAM,OAAO,IAAI,KAAK,SAAS;AAC/B,QAAM,WAAW,IAAI,QAAA,IAAY,KAAK,QAAA;AACtC,QAAM,WAAW,KAAK,MAAM,YAAY,MAAO,KAAK,KAAK,GAAG;AAE5D,MAAI,aAAa,GAAG;AAClB,WAAO;AAAA,EACT,WAAW,aAAa,GAAG;AACzB,WAAO;AAAA,EACT,WAAW,WAAW,GAAG;AACvB,WAAO,GAAG,QAAQ,OAAO,WAAW,IAAI,MAAM,EAAE;AAAA,EAClD,WAAW,WAAW,IAAI;AACxB,UAAM,QAAQ,KAAK,MAAM,WAAW,CAAC;AACrC,WAAO,GAAG,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,EAC7C,OAAO;AACL,UAAM,SAAS,KAAK,MAAM,WAAW,EAAE;AACvC,WAAO,GAAG,MAAM,SAAS,SAAS,IAAI,MAAM,EAAE;AAAA,EAChD;AACF;"}
1
+ {"version":3,"file":"index.es23.js","sources":["../src/components/messages/AgentMessage.tsx"],"sourcesContent":["import { getContentString } from \"@/utils/utils\";\nimport type { Message } from \"@langchain/langgraph-sdk\";\nimport { BotMessageSquare, Loader2 } from \"lucide-react\";\nimport React from \"react\";\nimport { AgentMarkdown } from \"../ui/AgentMarkdown\";\nimport { BranchSwitcher } from \"./BranchSwitcher\";\nimport { MessageActions, type MessageFeedback } from \"./MessageActions\";\n\nfunction AgentMessage({\n agentName,\n message,\n isStreaming = false,\n onRegenerate,\n feedback,\n onFeedback,\n branch,\n branchOptions,\n onBranchSelect,\n}: {\n agentName?: string;\n message: Message;\n isStreaming?: boolean;\n onRegenerate?: (parentCheckpoint: any | null | undefined, messageId: string, currentMessage: any) => void;\n feedback?: MessageFeedback;\n onFeedback?: (messageId: string, feedback: MessageFeedback) => void;\n branch?: string;\n branchOptions?: string[];\n onBranchSelect?: (branch: string) => void;\n}) {\n const content = getContentString(message?.content);\n\n return (\n <div className=\"flex flex-col gap-1 w-full group\">\n <div className=\"flex items-center gap-3 w-full\">\n <div\n className=\"rounded-full size-8 shrink-0 bg-zinc-800 flex items-center justify-center p-2\"\n data-alt=\"AI Avatar\"\n >\n <BotMessageSquare className=\"text-xs\" color=\"white\" />\n </div>\n <span className=\"text-zinc-500 text-sm\">{agentName || \"Agent\"}</span>\n </div>\n <div className=\"flex flex-1 flex-col gap-1 items-start min-w-0\">\n <div className=\"text-sm font-normal leading-relaxed px-2 text-left text-zinc-200 shadow-sm max-w-full break-words overflow-wrap-anywhere markdown-content\">\n {content ? (<AgentMarkdown content={content} />) : (\n <>\n <div className=\"flex items-center gap-2 text-zinc-500\">\n <Loader2 className=\"animate-spin\" size={16} />\n <span>Thinking...</span>\n </div>\n {isStreaming && content && (\n <span className=\"inline-block w-2 h-4 ml-1 bg-zinc-400 animate-pulse\" />\n )}\n </>\n )}\n </div>\n\n {/* Branch switcher - show when multiple branches exist */}\n {!isStreaming && branch && branchOptions && onBranchSelect && branchOptions.length > 1 && (\n <BranchSwitcher\n branch={branch}\n branchOptions={branchOptions}\n onSelect={onBranchSelect}\n isLoading={isStreaming}\n />\n )}\n\n {/* Show actions only when not streaming and content exists */}\n {!isStreaming && content && (\n <MessageActions\n message={message}\n onRegenerate={onRegenerate}\n feedback={feedback}\n onFeedback={onFeedback}\n className=\"\"\n />\n )}\n </div>\n </div>\n );\n}\n\n// Memoize - only re-render if message ID changes or streaming state changes\nexport default React.memo(AgentMessage, (prevProps, nextProps) => {\n // If it's streaming, we need to re-render to show updates\n if (nextProps.isStreaming) {\n return false; // Always re-render when streaming\n }\n\n // Otherwise, only re-render if the message ID, feedback, branch, or callbacks changed\n return (\n prevProps.message.id === nextProps.message.id &&\n prevProps.isStreaming === nextProps.isStreaming &&\n prevProps.feedback === nextProps.feedback &&\n prevProps.onRegenerate === nextProps.onRegenerate &&\n prevProps.onFeedback === nextProps.onFeedback &&\n prevProps.branch === nextProps.branch &&\n prevProps.branchOptions?.length === nextProps.branchOptions?.length &&\n prevProps.onBranchSelect === nextProps.onBranchSelect\n );\n});\n"],"names":["React"],"mappings":";;;;;;;AAQA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUG;AACD,QAAM,UAAU,iBAAiB,SAAS,OAAO;AAEjD,SACE,qBAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,YAAS;AAAA,UAET,UAAA,oBAAC,kBAAA,EAAiB,WAAU,WAAU,OAAM,QAAA,CAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAEtD,oBAAC,QAAA,EAAK,WAAU,yBAAyB,uBAAa,QAAA,CAAQ;AAAA,IAAA,GAChE;AAAA,IACA,qBAAC,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,6IACZ,UAAA,8BAAY,eAAA,EAAc,QAAA,CAAkB,IAC3C,qBAAA,UAAA,EACE,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,UAAA,oBAAC,SAAA,EAAQ,WAAU,gBAAe,MAAM,IAAI;AAAA,UAC5C,oBAAC,UAAK,UAAA,cAAA,CAAW;AAAA,QAAA,GACnB;AAAA,QACC,eAAe,WACd,oBAAC,QAAA,EAAK,WAAU,sDAAA,CAAsD;AAAA,MAAA,EAAA,CAE1E,EAAA,CAEJ;AAAA,MAGC,CAAC,eAAe,UAAU,iBAAiB,kBAAkB,cAAc,SAAS,KACnF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,MAKd,CAAC,eAAe,WACf;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ,EAAA,CAEJ;AAAA,EAAA,GACF;AAEJ;AAGA,MAAA,iBAAeA,eAAM,KAAK,cAAc,CAAC,WAAW,cAAc;AAEhE,MAAI,UAAU,aAAa;AACzB,WAAO;AAAA,EACT;AAGA,SACE,UAAU,QAAQ,OAAO,UAAU,QAAQ,MAC3C,UAAU,gBAAgB,UAAU,eACpC,UAAU,aAAa,UAAU,YACjC,UAAU,iBAAiB,UAAU,gBACrC,UAAU,eAAe,UAAU,cACnC,UAAU,WAAW,UAAU,UAC/B,UAAU,eAAe,WAAW,UAAU,eAAe,UAC7D,UAAU,mBAAmB,UAAU;AAE3C,CAAC;"}
@@ -1,5 +1,5 @@
1
- var duotoneDark = {};
1
+ var solarizedDarkAtom = {};
2
2
  export {
3
- duotoneDark as __exports
3
+ solarizedDarkAtom as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es230.js.map
@@ -1,5 +1,5 @@
1
- var duotoneEarth = {};
1
+ var synthwave84 = {};
2
2
  export {
3
- duotoneEarth as __exports
3
+ synthwave84 as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es231.js.map
@@ -1,5 +1,5 @@
1
- var duotoneForest = {};
1
+ var vs = {};
2
2
  export {
3
- duotoneForest as __exports
3
+ vs as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es232.js.map
@@ -1,5 +1,5 @@
1
- var duotoneLight = {};
1
+ var vscDarkPlus = {};
2
2
  export {
3
- duotoneLight as __exports
3
+ vscDarkPlus as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es233.js.map
@@ -1,5 +1,5 @@
1
- var duotoneSea = {};
1
+ var xonokai = {};
2
2
  export {
3
- duotoneSea as __exports
3
+ xonokai as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es234.js.map
@@ -1,5 +1,5 @@
1
- var duotoneSpace = {};
1
+ var zTouch = {};
2
2
  export {
3
- duotoneSpace as __exports
3
+ zTouch as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es235.js.map
@@ -1,5 +1,59 @@
1
- var ghcolors = {};
1
+ import { __export } from "./index.es56.js";
2
+ var env_exports = {};
3
+ __export(env_exports, {
4
+ getEnv: () => getEnv,
5
+ getEnvironmentVariable: () => getEnvironmentVariable,
6
+ getRuntimeEnvironment: () => getRuntimeEnvironment,
7
+ isBrowser: () => isBrowser,
8
+ isDeno: () => isDeno,
9
+ isJsDom: () => isJsDom,
10
+ isNode: () => isNode,
11
+ isWebWorker: () => isWebWorker
12
+ });
13
+ const isBrowser = () => typeof window !== "undefined" && typeof window.document !== "undefined";
14
+ const isWebWorker = () => typeof globalThis === "object" && globalThis.constructor && globalThis.constructor.name === "DedicatedWorkerGlobalScope";
15
+ const isJsDom = () => typeof window !== "undefined" && window.name === "nodejs" || typeof navigator !== "undefined" && navigator.userAgent.includes("jsdom");
16
+ const isDeno = () => typeof Deno !== "undefined";
17
+ const isNode = () => typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node !== "undefined" && !isDeno();
18
+ const getEnv = () => {
19
+ let env;
20
+ if (isBrowser()) env = "browser";
21
+ else if (isNode()) env = "node";
22
+ else if (isWebWorker()) env = "webworker";
23
+ else if (isJsDom()) env = "jsdom";
24
+ else if (isDeno()) env = "deno";
25
+ else env = "other";
26
+ return env;
27
+ };
28
+ let runtimeEnvironment;
29
+ function getRuntimeEnvironment() {
30
+ if (runtimeEnvironment === void 0) {
31
+ const env = getEnv();
32
+ runtimeEnvironment = {
33
+ library: "langchain-js",
34
+ runtime: env
35
+ };
36
+ }
37
+ return runtimeEnvironment;
38
+ }
39
+ function getEnvironmentVariable(name) {
40
+ try {
41
+ if (typeof process !== "undefined") return process.env?.[name];
42
+ else if (isDeno()) return Deno?.env.get(name);
43
+ else return void 0;
44
+ } catch {
45
+ return void 0;
46
+ }
47
+ }
2
48
  export {
3
- ghcolors as __exports
49
+ env_exports,
50
+ getEnv,
51
+ getEnvironmentVariable,
52
+ getRuntimeEnvironment,
53
+ isBrowser,
54
+ isDeno,
55
+ isJsDom,
56
+ isNode,
57
+ isWebWorker
4
58
  };
5
59
  //# sourceMappingURL=index.es236.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es236.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.es236.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/env.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\n\n//#region src/utils/env.ts\nvar env_exports = {};\n__export(env_exports, {\n\tgetEnv: () => getEnv,\n\tgetEnvironmentVariable: () => getEnvironmentVariable,\n\tgetRuntimeEnvironment: () => getRuntimeEnvironment,\n\tisBrowser: () => isBrowser,\n\tisDeno: () => isDeno,\n\tisJsDom: () => isJsDom,\n\tisNode: () => isNode,\n\tisWebWorker: () => isWebWorker\n});\nconst isBrowser = () => typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nconst isWebWorker = () => typeof globalThis === \"object\" && globalThis.constructor && globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\nconst isJsDom = () => typeof window !== \"undefined\" && window.name === \"nodejs\" || typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\");\nconst isDeno = () => typeof Deno !== \"undefined\";\nconst isNode = () => typeof process !== \"undefined\" && typeof process.versions !== \"undefined\" && typeof process.versions.node !== \"undefined\" && !isDeno();\nconst getEnv = () => {\n\tlet env;\n\tif (isBrowser()) env = \"browser\";\n\telse if (isNode()) env = \"node\";\n\telse if (isWebWorker()) env = \"webworker\";\n\telse if (isJsDom()) env = \"jsdom\";\n\telse if (isDeno()) env = \"deno\";\n\telse env = \"other\";\n\treturn env;\n};\nlet runtimeEnvironment;\nfunction getRuntimeEnvironment() {\n\tif (runtimeEnvironment === void 0) {\n\t\tconst env = getEnv();\n\t\truntimeEnvironment = {\n\t\t\tlibrary: \"langchain-js\",\n\t\t\truntime: env\n\t\t};\n\t}\n\treturn runtimeEnvironment;\n}\nfunction getEnvironmentVariable(name) {\n\ttry {\n\t\tif (typeof process !== \"undefined\") return process.env?.[name];\n\t\telse if (isDeno()) return Deno?.env.get(name);\n\t\telse return void 0;\n\t} catch {\n\t\treturn void 0;\n\t}\n}\n\n//#endregion\nexport { env_exports, getEnv, getEnvironmentVariable, getRuntimeEnvironment, isBrowser, isDeno, isJsDom, isNode, isWebWorker };\n//# sourceMappingURL=env.js.map"],"names":[],"mappings":";AAGG,IAAC,cAAc,CAAA;AAClB,SAAS,aAAa;AAAA,EACrB,QAAQ,MAAM;AAAA,EACd,wBAAwB,MAAM;AAAA,EAC9B,uBAAuB,MAAM;AAAA,EAC7B,WAAW,MAAM;AAAA,EACjB,QAAQ,MAAM;AAAA,EACd,SAAS,MAAM;AAAA,EACf,QAAQ,MAAM;AAAA,EACd,aAAa,MAAM;AACpB,CAAC;AACI,MAAC,YAAY,MAAM,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAC/E,MAAC,cAAc,MAAM,OAAO,eAAe,YAAY,WAAW,eAAe,WAAW,YAAY,SAAS;AACjH,MAAC,UAAU,MAAM,OAAO,WAAW,eAAe,OAAO,SAAS,YAAY,OAAO,cAAc,eAAe,UAAU,UAAU,SAAS,OAAO;AACtJ,MAAC,SAAS,MAAM,OAAO,SAAS;AAChC,MAAC,SAAS,MAAM,OAAO,YAAY,eAAe,OAAO,QAAQ,aAAa,eAAe,OAAO,QAAQ,SAAS,SAAS,eAAe,CAAC,OAAM;AACpJ,MAAC,SAAS,MAAM;AACpB,MAAI;AACJ,MAAI,UAAS,EAAI,OAAM;AAAA,WACd,OAAM,EAAI,OAAM;AAAA,WAChB,YAAW,EAAI,OAAM;AAAA,WACrB,QAAO,EAAI,OAAM;AAAA,WACjB,OAAM,EAAI,OAAM;AAAA,MACpB,OAAM;AACX,SAAO;AACR;AACA,IAAI;AACJ,SAAS,wBAAwB;AAChC,MAAI,uBAAuB,QAAQ;AAClC,UAAM,MAAM,OAAM;AAClB,yBAAqB;AAAA,MACpB,SAAS;AAAA,MACT,SAAS;AAAA,IACZ;AAAA,EACC;AACA,SAAO;AACR;AACA,SAAS,uBAAuB,MAAM;AACrC,MAAI;AACH,QAAI,OAAO,YAAY,YAAa,QAAO,QAAQ,MAAM,IAAI;AAAA,aACpD,OAAM,EAAI,QAAO,MAAM,IAAI,IAAI,IAAI;AAAA,QACvC,QAAO;AAAA,EACb,QAAQ;AACP,WAAO;AAAA,EACR;AACD;","x_google_ignoreList":[0]}
@@ -1,5 +1,103 @@
1
- var gruvboxDark = {};
1
+ import { __export } from "./index.es56.js";
2
+ import { get_lc_unique_name, Serializable } from "./index.es69.js";
3
+ import { getEnvironmentVariable } from "./index.es236.js";
4
+ import * as uuid from "uuid";
5
+ var base_exports = {};
6
+ __export(base_exports, {
7
+ BaseCallbackHandler: () => BaseCallbackHandler,
8
+ callbackHandlerPrefersStreaming: () => callbackHandlerPrefersStreaming,
9
+ isBaseCallbackHandler: () => isBaseCallbackHandler
10
+ });
11
+ var BaseCallbackHandlerMethodsClass = class {
12
+ };
13
+ function callbackHandlerPrefersStreaming(x) {
14
+ return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
15
+ }
16
+ var BaseCallbackHandler = class extends BaseCallbackHandlerMethodsClass {
17
+ lc_serializable = false;
18
+ get lc_namespace() {
19
+ return [
20
+ "langchain_core",
21
+ "callbacks",
22
+ this.name
23
+ ];
24
+ }
25
+ get lc_secrets() {
26
+ return void 0;
27
+ }
28
+ get lc_attributes() {
29
+ return void 0;
30
+ }
31
+ get lc_aliases() {
32
+ return void 0;
33
+ }
34
+ get lc_serializable_keys() {
35
+ return void 0;
36
+ }
37
+ /**
38
+ * The name of the serializable. Override to provide an alias or
39
+ * to preserve the serialized module name in minified environments.
40
+ *
41
+ * Implemented as a static method to support loading logic.
42
+ */
43
+ static lc_name() {
44
+ return this.name;
45
+ }
46
+ /**
47
+ * The final serialized identifier for the module.
48
+ */
49
+ get lc_id() {
50
+ return [...this.lc_namespace, get_lc_unique_name(this.constructor)];
51
+ }
52
+ lc_kwargs;
53
+ ignoreLLM = false;
54
+ ignoreChain = false;
55
+ ignoreAgent = false;
56
+ ignoreRetriever = false;
57
+ ignoreCustomEvent = false;
58
+ raiseError = false;
59
+ awaitHandlers = getEnvironmentVariable("LANGCHAIN_CALLBACKS_BACKGROUND") === "false";
60
+ constructor(input) {
61
+ super();
62
+ this.lc_kwargs = input || {};
63
+ if (input) {
64
+ this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;
65
+ this.ignoreChain = input.ignoreChain ?? this.ignoreChain;
66
+ this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;
67
+ this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;
68
+ this.ignoreCustomEvent = input.ignoreCustomEvent ?? this.ignoreCustomEvent;
69
+ this.raiseError = input.raiseError ?? this.raiseError;
70
+ this.awaitHandlers = this.raiseError || (input._awaitHandler ?? this.awaitHandlers);
71
+ }
72
+ }
73
+ copy() {
74
+ return new this.constructor(this);
75
+ }
76
+ toJSON() {
77
+ return Serializable.prototype.toJSON.call(this);
78
+ }
79
+ toJSONNotImplemented() {
80
+ return Serializable.prototype.toJSONNotImplemented.call(this);
81
+ }
82
+ static fromMethods(methods) {
83
+ class Handler extends BaseCallbackHandler {
84
+ name = uuid.v7();
85
+ constructor() {
86
+ super();
87
+ Object.assign(this, methods);
88
+ }
89
+ }
90
+ return new Handler();
91
+ }
92
+ };
93
+ const isBaseCallbackHandler = (x) => {
94
+ const callbackHandler = x;
95
+ return callbackHandler !== void 0 && typeof callbackHandler.copy === "function" && typeof callbackHandler.name === "string" && typeof callbackHandler.awaitHandlers === "boolean";
96
+ };
2
97
  export {
3
- gruvboxDark as __exports
98
+ BaseCallbackHandler,
99
+ base_exports,
100
+ callbackHandlerPrefersStreaming,
101
+ isBaseCallbackHandler
4
102
  };
5
103
  //# sourceMappingURL=index.es237.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es237.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.es237.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/callbacks/base.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { Serializable, get_lc_unique_name } from \"../load/serializable.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\nimport * as uuid from \"uuid\";\n\n//#region src/callbacks/base.ts\nvar base_exports = {};\n__export(base_exports, {\n\tBaseCallbackHandler: () => BaseCallbackHandler,\n\tcallbackHandlerPrefersStreaming: () => callbackHandlerPrefersStreaming,\n\tisBaseCallbackHandler: () => isBaseCallbackHandler\n});\n/**\n* Abstract class that provides a set of optional methods that can be\n* overridden in derived classes to handle various events during the\n* execution of a LangChain application.\n*/\nvar BaseCallbackHandlerMethodsClass = class {};\nfunction callbackHandlerPrefersStreaming(x) {\n\treturn \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n/**\n* Abstract base class for creating callback handlers in the LangChain\n* framework. It provides a set of optional methods that can be overridden\n* in derived classes to handle various events during the execution of a\n* LangChain application.\n*/\nvar BaseCallbackHandler = class extends BaseCallbackHandlerMethodsClass {\n\tlc_serializable = false;\n\tget lc_namespace() {\n\t\treturn [\n\t\t\t\"langchain_core\",\n\t\t\t\"callbacks\",\n\t\t\tthis.name\n\t\t];\n\t}\n\tget lc_secrets() {\n\t\treturn void 0;\n\t}\n\tget lc_attributes() {\n\t\treturn void 0;\n\t}\n\tget lc_aliases() {\n\t\treturn void 0;\n\t}\n\tget lc_serializable_keys() {\n\t\treturn void 0;\n\t}\n\t/**\n\t* The name of the serializable. Override to provide an alias or\n\t* to preserve the serialized module name in minified environments.\n\t*\n\t* Implemented as a static method to support loading logic.\n\t*/\n\tstatic lc_name() {\n\t\treturn this.name;\n\t}\n\t/**\n\t* The final serialized identifier for the module.\n\t*/\n\tget lc_id() {\n\t\treturn [...this.lc_namespace, get_lc_unique_name(this.constructor)];\n\t}\n\tlc_kwargs;\n\tignoreLLM = false;\n\tignoreChain = false;\n\tignoreAgent = false;\n\tignoreRetriever = false;\n\tignoreCustomEvent = false;\n\traiseError = false;\n\tawaitHandlers = getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.lc_kwargs = input || {};\n\t\tif (input) {\n\t\t\tthis.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n\t\t\tthis.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n\t\t\tthis.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n\t\t\tthis.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n\t\t\tthis.ignoreCustomEvent = input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n\t\t\tthis.raiseError = input.raiseError ?? this.raiseError;\n\t\t\tthis.awaitHandlers = this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n\t\t}\n\t}\n\tcopy() {\n\t\treturn new this.constructor(this);\n\t}\n\ttoJSON() {\n\t\treturn Serializable.prototype.toJSON.call(this);\n\t}\n\ttoJSONNotImplemented() {\n\t\treturn Serializable.prototype.toJSONNotImplemented.call(this);\n\t}\n\tstatic fromMethods(methods) {\n\t\tclass Handler extends BaseCallbackHandler {\n\t\t\tname = uuid.v7();\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\t\t\t\tObject.assign(this, methods);\n\t\t\t}\n\t\t}\n\t\treturn new Handler();\n\t}\n};\nconst isBaseCallbackHandler = (x) => {\n\tconst callbackHandler = x;\n\treturn callbackHandler !== void 0 && typeof callbackHandler.copy === \"function\" && typeof callbackHandler.name === \"string\" && typeof callbackHandler.awaitHandlers === \"boolean\";\n};\n\n//#endregion\nexport { BaseCallbackHandler, base_exports, callbackHandlerPrefersStreaming, isBaseCallbackHandler };\n//# sourceMappingURL=base.js.map"],"names":[],"mappings":";;;;AAMG,IAAC,eAAe,CAAA;AACnB,SAAS,cAAc;AAAA,EACtB,qBAAqB,MAAM;AAAA,EAC3B,iCAAiC,MAAM;AAAA,EACvC,uBAAuB,MAAM;AAC9B,CAAC;AAMD,IAAI,kCAAkC,MAAM;AAAA;AAC5C,SAAS,gCAAgC,GAAG;AAC3C,SAAO,yBAAyB,KAAK,EAAE;AACxC;AAOG,IAAC,sBAAsB,cAAc,gCAAgC;AAAA,EACvE,kBAAkB;AAAA,EAClB,IAAI,eAAe;AAClB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,KAAK;AAAA,IACR;AAAA,EACC;AAAA,EACA,IAAI,aAAa;AAChB,WAAO;AAAA,EACR;AAAA,EACA,IAAI,gBAAgB;AACnB,WAAO;AAAA,EACR;AAAA,EACA,IAAI,aAAa;AAChB,WAAO;AAAA,EACR;AAAA,EACA,IAAI,uBAAuB;AAC1B,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU;AAChB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,QAAQ;AACX,WAAO,CAAC,GAAG,KAAK,cAAc,mBAAmB,KAAK,WAAW,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,gBAAgB,uBAAuB,gCAAgC,MAAM;AAAA,EAC7E,YAAY,OAAO;AAClB,UAAK;AACL,SAAK,YAAY,SAAS,CAAA;AAC1B,QAAI,OAAO;AACV,WAAK,YAAY,MAAM,aAAa,KAAK;AACzC,WAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,WAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,WAAK,kBAAkB,MAAM,mBAAmB,KAAK;AACrD,WAAK,oBAAoB,MAAM,qBAAqB,KAAK;AACzD,WAAK,aAAa,MAAM,cAAc,KAAK;AAC3C,WAAK,gBAAgB,KAAK,eAAe,MAAM,iBAAiB,KAAK;AAAA,IACtE;AAAA,EACD;AAAA,EACA,OAAO;AACN,WAAO,IAAI,KAAK,YAAY,IAAI;AAAA,EACjC;AAAA,EACA,SAAS;AACR,WAAO,aAAa,UAAU,OAAO,KAAK,IAAI;AAAA,EAC/C;AAAA,EACA,uBAAuB;AACtB,WAAO,aAAa,UAAU,qBAAqB,KAAK,IAAI;AAAA,EAC7D;AAAA,EACA,OAAO,YAAY,SAAS;AAAA,IAC3B,MAAM,gBAAgB,oBAAoB;AAAA,MACzC,OAAO,KAAK,GAAE;AAAA,MACd,cAAc;AACb,cAAK;AACL,eAAO,OAAO,MAAM,OAAO;AAAA,MAC5B;AAAA,IACH;AACE,WAAO,IAAI,QAAO;AAAA,EACnB;AACD;AACK,MAAC,wBAAwB,CAAC,MAAM;AACpC,QAAM,kBAAkB;AACxB,SAAO,oBAAoB,UAAU,OAAO,gBAAgB,SAAS,cAAc,OAAO,gBAAgB,SAAS,YAAY,OAAO,gBAAgB,kBAAkB;AACzK;","x_google_ignoreList":[0]}