langgraph-ui-components 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/dist/index.es100.js +25 -157
  2. package/dist/index.es100.js.map +1 -1
  3. package/dist/index.es101.js +3130 -176
  4. package/dist/index.es101.js.map +1 -1
  5. package/dist/index.es102.js +36 -13
  6. package/dist/index.es102.js.map +1 -1
  7. package/dist/index.es103.js +5 -30
  8. package/dist/index.es103.js.map +1 -1
  9. package/dist/index.es104.js +69 -30
  10. package/dist/index.es104.js.map +1 -1
  11. package/dist/index.es105.js +28 -3148
  12. package/dist/index.es105.js.map +1 -1
  13. package/dist/index.es106.js +5 -16
  14. package/dist/index.es106.js.map +1 -1
  15. package/dist/index.es107.js +2 -7
  16. package/dist/index.es107.js.map +1 -1
  17. package/dist/index.es108.js +13 -2
  18. package/dist/index.es108.js.map +1 -1
  19. package/dist/index.es109.js +499 -9
  20. package/dist/index.es109.js.map +1 -1
  21. package/dist/index.es11.js +2 -2
  22. package/dist/index.es11.js.map +1 -1
  23. package/dist/index.es110.js +5 -501
  24. package/dist/index.es110.js.map +1 -1
  25. package/dist/index.es111.js +2 -7
  26. package/dist/index.es111.js.map +1 -1
  27. package/dist/index.es112.js +148 -2
  28. package/dist/index.es112.js.map +1 -1
  29. package/dist/index.es113.js +878 -118
  30. package/dist/index.es113.js.map +1 -1
  31. package/dist/index.es114.js +251 -877
  32. package/dist/index.es114.js.map +1 -1
  33. package/dist/index.es115.js +3 -281
  34. package/dist/index.es115.js.map +1 -1
  35. package/dist/index.es116.js +445 -3
  36. package/dist/index.es116.js.map +1 -1
  37. package/dist/index.es117.js +39 -437
  38. package/dist/index.es117.js.map +1 -1
  39. package/dist/index.es118.js +22 -46
  40. package/dist/index.es118.js.map +1 -1
  41. package/dist/index.es119.js +78 -21
  42. package/dist/index.es119.js.map +1 -1
  43. package/dist/index.es120.js +126 -76
  44. package/dist/index.es120.js.map +1 -1
  45. package/dist/index.es121.js +45 -125
  46. package/dist/index.es121.js.map +1 -1
  47. package/dist/index.es122.js +9 -48
  48. package/dist/index.es122.js.map +1 -1
  49. package/dist/index.es123.js +45 -10
  50. package/dist/index.es123.js.map +1 -1
  51. package/dist/index.es124.js +97 -43
  52. package/dist/index.es124.js.map +1 -1
  53. package/dist/index.es125.js +48 -94
  54. package/dist/index.es125.js.map +1 -1
  55. package/dist/index.es126.js +14 -51
  56. package/dist/index.es126.js.map +1 -1
  57. package/dist/index.es127.js +13 -162
  58. package/dist/index.es127.js.map +1 -1
  59. package/dist/index.es128.js +89 -2
  60. package/dist/index.es128.js.map +1 -1
  61. package/dist/index.es129.js +2 -15
  62. package/dist/index.es129.js.map +1 -1
  63. package/dist/index.es130.js +54 -87
  64. package/dist/index.es130.js.map +1 -1
  65. package/dist/index.es131.js +100 -2
  66. package/dist/index.es131.js.map +1 -1
  67. package/dist/index.es132.js +186 -51
  68. package/dist/index.es132.js.map +1 -1
  69. package/dist/index.es133.js +97 -87
  70. package/dist/index.es133.js.map +1 -1
  71. package/dist/index.es134.js +31 -187
  72. package/dist/index.es134.js.map +1 -1
  73. package/dist/index.es135.js +10 -110
  74. package/dist/index.es135.js.map +1 -1
  75. package/dist/index.es136.js +11 -35
  76. package/dist/index.es136.js.map +1 -1
  77. package/dist/index.es137.js +12 -10
  78. package/dist/index.es137.js.map +1 -1
  79. package/dist/index.es138.js +90 -10
  80. package/dist/index.es138.js.map +1 -1
  81. package/dist/index.es139.js +274 -11
  82. package/dist/index.es139.js.map +1 -1
  83. package/dist/index.es140.js +2 -91
  84. package/dist/index.es140.js.map +1 -1
  85. package/dist/index.es141.js +150 -261
  86. package/dist/index.es141.js.map +1 -1
  87. package/dist/index.es142.js +51 -2
  88. package/dist/index.es142.js.map +1 -1
  89. package/dist/index.es143.js +34 -158
  90. package/dist/index.es143.js.map +1 -1
  91. package/dist/index.es144.js +34 -50
  92. package/dist/index.es144.js.map +1 -1
  93. package/dist/index.es145.js +32 -32
  94. package/dist/index.es145.js.map +1 -1
  95. package/dist/index.es146.js +23 -34
  96. package/dist/index.es146.js.map +1 -1
  97. package/dist/index.es147.js +583 -32
  98. package/dist/index.es147.js.map +1 -1
  99. package/dist/index.es148.js +121 -20
  100. package/dist/index.es148.js.map +1 -1
  101. package/dist/index.es149.js +158 -585
  102. package/dist/index.es149.js.map +1 -1
  103. package/dist/index.es15.js +15 -15
  104. package/dist/index.es150.js +2 -125
  105. package/dist/index.es150.js.map +1 -1
  106. package/dist/index.es157.js +2 -2
  107. package/dist/index.es159.js +2 -2
  108. package/dist/index.es161.js +64 -25
  109. package/dist/index.es161.js.map +1 -1
  110. package/dist/index.es162.js +22 -12
  111. package/dist/index.es162.js.map +1 -1
  112. package/dist/index.es163.js +5 -53
  113. package/dist/index.es163.js.map +1 -1
  114. package/dist/index.es164.js +337 -52
  115. package/dist/index.es164.js.map +1 -1
  116. package/dist/index.es165.js +24 -21
  117. package/dist/index.es165.js.map +1 -1
  118. package/dist/index.es166.js +12 -6
  119. package/dist/index.es166.js.map +1 -1
  120. package/dist/index.es167.js +49 -344
  121. package/dist/index.es167.js.map +1 -1
  122. package/dist/index.es175.js +1 -1
  123. package/dist/index.es178.js +1 -1
  124. package/dist/index.es183.js +1 -1
  125. package/dist/index.es195.js +2 -2
  126. package/dist/index.es197.js +2 -2
  127. package/dist/index.es200.js +1 -1
  128. package/dist/index.es201.js +1 -1
  129. package/dist/index.es203.js +1 -1
  130. package/dist/index.es204.js +2 -2
  131. package/dist/index.es206.js +1 -1
  132. package/dist/index.es209.js +3 -3
  133. package/dist/index.es21.js +1 -1
  134. package/dist/index.es210.js +2 -2
  135. package/dist/index.es212.js +1 -1
  136. package/dist/index.es214.js +1 -1
  137. package/dist/index.es215.js +1 -1
  138. package/dist/index.es217.js +1 -1
  139. package/dist/index.es218.js +2 -2
  140. package/dist/index.es219.js +1 -1
  141. package/dist/index.es220.js +1 -1
  142. package/dist/index.es221.js +1 -1
  143. package/dist/index.es222.js +1 -1
  144. package/dist/index.es223.js +1 -1
  145. package/dist/index.es224.js +1 -1
  146. package/dist/index.es225.js +1 -1
  147. package/dist/index.es229.js +2 -2
  148. package/dist/index.es28.js +7 -7
  149. package/dist/index.es29.js +1 -1
  150. package/dist/index.es32.js +4 -4
  151. package/dist/index.es33.js +15 -1191
  152. package/dist/index.es33.js.map +1 -1
  153. package/dist/index.es34.js +117 -6
  154. package/dist/index.es34.js.map +1 -1
  155. package/dist/index.es35.js +70 -8
  156. package/dist/index.es35.js.map +1 -1
  157. package/dist/index.es36.js +19 -148
  158. package/dist/index.es36.js.map +1 -1
  159. package/dist/index.es37.js +255 -112
  160. package/dist/index.es37.js.map +1 -1
  161. package/dist/index.es38.js +40 -68
  162. package/dist/index.es38.js.map +1 -1
  163. package/dist/index.es39.js +214 -17
  164. package/dist/index.es39.js.map +1 -1
  165. package/dist/index.es40.js +53 -247
  166. package/dist/index.es40.js.map +1 -1
  167. package/dist/index.es41.js +123 -24
  168. package/dist/index.es41.js.map +1 -1
  169. package/dist/index.es42.js +14 -205
  170. package/dist/index.es42.js.map +1 -1
  171. package/dist/index.es43.js +221 -58
  172. package/dist/index.es43.js.map +1 -1
  173. package/dist/index.es44.js +7 -140
  174. package/dist/index.es44.js.map +1 -1
  175. package/dist/index.es45.js +1185 -17
  176. package/dist/index.es45.js.map +1 -1
  177. package/dist/index.es46.js +6 -229
  178. package/dist/index.es46.js.map +1 -1
  179. package/dist/index.es47.js +146 -15
  180. package/dist/index.es47.js.map +1 -1
  181. package/dist/index.es49.js +7 -90
  182. package/dist/index.es49.js.map +1 -1
  183. package/dist/index.es50.js +92 -6
  184. package/dist/index.es50.js.map +1 -1
  185. package/dist/index.es51.js +3 -14
  186. package/dist/index.es51.js.map +1 -1
  187. package/dist/index.es52.js +36 -8
  188. package/dist/index.es52.js.map +1 -1
  189. package/dist/index.es53.js +61 -83
  190. package/dist/index.es53.js.map +1 -1
  191. package/dist/index.es54.js +37 -3
  192. package/dist/index.es54.js.map +1 -1
  193. package/dist/index.es55.js +304 -34
  194. package/dist/index.es55.js.map +1 -1
  195. package/dist/index.es56.js +9 -72
  196. package/dist/index.es56.js.map +1 -1
  197. package/dist/index.es57.js +85 -32
  198. package/dist/index.es57.js.map +1 -1
  199. package/dist/index.es58.js +6 -304
  200. package/dist/index.es58.js.map +1 -1
  201. package/dist/index.es59.js +15 -9
  202. package/dist/index.es59.js.map +1 -1
  203. package/dist/index.es60.js +142 -5
  204. package/dist/index.es60.js.map +1 -1
  205. package/dist/index.es61.js +285 -148
  206. package/dist/index.es61.js.map +1 -1
  207. package/dist/index.es62.js +62 -668
  208. package/dist/index.es62.js.map +1 -1
  209. package/dist/index.es63.js +201 -131
  210. package/dist/index.es63.js.map +1 -1
  211. package/dist/index.es64.js +29 -295
  212. package/dist/index.es64.js.map +1 -1
  213. package/dist/index.es65.js +8 -65
  214. package/dist/index.es65.js.map +1 -1
  215. package/dist/index.es66.js +9 -210
  216. package/dist/index.es66.js.map +1 -1
  217. package/dist/index.es67.js +181 -28
  218. package/dist/index.es67.js.map +1 -1
  219. package/dist/index.es68.js +23 -8
  220. package/dist/index.es68.js.map +1 -1
  221. package/dist/index.es69.js +1397 -9
  222. package/dist/index.es69.js.map +1 -1
  223. package/dist/index.es70.js +9 -187
  224. package/dist/index.es70.js.map +1 -1
  225. package/dist/index.es71.js +8 -24
  226. package/dist/index.es71.js.map +1 -1
  227. package/dist/index.es72.js +5 -1399
  228. package/dist/index.es72.js.map +1 -1
  229. package/dist/index.es73.js +163 -9
  230. package/dist/index.es73.js.map +1 -1
  231. package/dist/index.es74.js +672 -8
  232. package/dist/index.es74.js.map +1 -1
  233. package/dist/index.es75.js +11 -36
  234. package/dist/index.es75.js.map +1 -1
  235. package/dist/index.es76.js +40 -5
  236. package/dist/index.es76.js.map +1 -1
  237. package/dist/index.es77.js +32 -71
  238. package/dist/index.es77.js.map +1 -1
  239. package/dist/index.es78.js +225 -30
  240. package/dist/index.es78.js.map +1 -1
  241. package/dist/index.es79.js +29 -11
  242. package/dist/index.es79.js.map +1 -1
  243. package/dist/index.es80.js +72 -37
  244. package/dist/index.es80.js.map +1 -1
  245. package/dist/index.es81.js +74 -32
  246. package/dist/index.es81.js.map +1 -1
  247. package/dist/index.es82.js +46 -226
  248. package/dist/index.es82.js.map +1 -1
  249. package/dist/index.es83.js +6 -6
  250. package/dist/index.es83.js.map +1 -1
  251. package/dist/index.es84.js +39 -71
  252. package/dist/index.es84.js.map +1 -1
  253. package/dist/index.es85.js +54 -73
  254. package/dist/index.es85.js.map +1 -1
  255. package/dist/index.es86.js +13 -52
  256. package/dist/index.es86.js.map +1 -1
  257. package/dist/index.es87.js +135 -28
  258. package/dist/index.es87.js.map +1 -1
  259. package/dist/index.es88.js +20 -42
  260. package/dist/index.es88.js.map +1 -1
  261. package/dist/index.es89.js +175 -50
  262. package/dist/index.es89.js.map +1 -1
  263. package/dist/index.es90.js +240 -12
  264. package/dist/index.es90.js.map +1 -1
  265. package/dist/index.es91.js +348 -130
  266. package/dist/index.es91.js.map +1 -1
  267. package/dist/index.es92.js +134 -18
  268. package/dist/index.es92.js.map +1 -1
  269. package/dist/index.es93.js +62 -174
  270. package/dist/index.es93.js.map +1 -1
  271. package/dist/index.es94.js +30 -234
  272. package/dist/index.es94.js.map +1 -1
  273. package/dist/index.es95.js +26 -344
  274. package/dist/index.es95.js.map +1 -1
  275. package/dist/index.es96.js +156 -127
  276. package/dist/index.es96.js.map +1 -1
  277. package/dist/index.es97.js +196 -63
  278. package/dist/index.es97.js.map +1 -1
  279. package/dist/index.es98.js +14 -37
  280. package/dist/index.es98.js.map +1 -1
  281. package/dist/index.es99.js +27 -34
  282. package/dist/index.es99.js.map +1 -1
  283. package/package.json +1 -1
@@ -1,60 +1,185 @@
1
- import { getGlobalAsyncLocalStorageInstance, _CONTEXT_VARIABLES_KEY, setGlobalAsyncLocalStorageInstance } from "./index.es109.js";
2
- import { CallbackManager } from "./index.es110.js";
3
- import "uuid";
4
- import "./index.es111.js";
5
- import "./index.es112.js";
6
- import "./index.es113.js";
7
- import { RunTree } from "./index.es114.js";
8
- var MockAsyncLocalStorage = class {
9
- getStore() {
10
- return void 0;
11
- }
12
- run(_store, callback) {
13
- return callback();
14
- }
15
- enterWith(_store) {
16
- return void 0;
1
+ import { __export } from "./index.es49.js";
2
+ import { AsyncLocalStorageProviderSingleton } from "./index.es85.js";
3
+ import "./index.es86.js";
4
+ import { pickRunnableConfigKeys } from "./index.es87.js";
5
+ import { raceWithSignal } from "./index.es88.js";
6
+ var stream_exports = {};
7
+ __export(stream_exports, {
8
+ AsyncGeneratorWithSetup: () => AsyncGeneratorWithSetup,
9
+ IterableReadableStream: () => IterableReadableStream,
10
+ atee: () => atee,
11
+ concat: () => concat,
12
+ pipeGeneratorWithSetup: () => pipeGeneratorWithSetup
13
+ });
14
+ var IterableReadableStream = class IterableReadableStream2 extends ReadableStream {
15
+ reader;
16
+ ensureReader() {
17
+ if (!this.reader) this.reader = this.getReader();
18
+ }
19
+ async next() {
20
+ this.ensureReader();
21
+ try {
22
+ const result = await this.reader.read();
23
+ if (result.done) {
24
+ this.reader.releaseLock();
25
+ return {
26
+ done: true,
27
+ value: void 0
28
+ };
29
+ } else return {
30
+ done: false,
31
+ value: result.value
32
+ };
33
+ } catch (e) {
34
+ this.reader.releaseLock();
35
+ throw e;
36
+ }
37
+ }
38
+ async return() {
39
+ this.ensureReader();
40
+ if (this.locked) {
41
+ const cancelPromise = this.reader.cancel();
42
+ this.reader.releaseLock();
43
+ await cancelPromise;
44
+ }
45
+ return {
46
+ done: true,
47
+ value: void 0
48
+ };
49
+ }
50
+ async throw(e) {
51
+ this.ensureReader();
52
+ if (this.locked) {
53
+ const cancelPromise = this.reader.cancel();
54
+ this.reader.releaseLock();
55
+ await cancelPromise;
56
+ }
57
+ throw e;
58
+ }
59
+ [Symbol.asyncIterator]() {
60
+ return this;
61
+ }
62
+ async [Symbol.asyncDispose]() {
63
+ await this.return();
64
+ }
65
+ static fromReadableStream(stream) {
66
+ const reader = stream.getReader();
67
+ return new IterableReadableStream2({
68
+ start(controller) {
69
+ return pump();
70
+ function pump() {
71
+ return reader.read().then(({ done, value }) => {
72
+ if (done) {
73
+ controller.close();
74
+ return;
75
+ }
76
+ controller.enqueue(value);
77
+ return pump();
78
+ });
79
+ }
80
+ },
81
+ cancel() {
82
+ reader.releaseLock();
83
+ }
84
+ });
85
+ }
86
+ static fromAsyncGenerator(generator) {
87
+ return new IterableReadableStream2({
88
+ async pull(controller) {
89
+ const { value, done } = await generator.next();
90
+ if (done) controller.close();
91
+ controller.enqueue(value);
92
+ },
93
+ async cancel(reason) {
94
+ await generator.return(reason);
95
+ }
96
+ });
17
97
  }
18
98
  };
19
- const mockAsyncLocalStorage = new MockAsyncLocalStorage();
20
- const LC_CHILD_KEY = /* @__PURE__ */ Symbol.for("lc:child_config");
21
- var AsyncLocalStorageProvider = class {
22
- getInstance() {
23
- return getGlobalAsyncLocalStorageInstance() ?? mockAsyncLocalStorage;
24
- }
25
- getRunnableConfig() {
26
- const storage = this.getInstance();
27
- return storage.getStore()?.extra?.[LC_CHILD_KEY];
28
- }
29
- runWithConfig(config, callback, avoidCreatingRootRunTree) {
30
- const callbackManager = CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);
31
- const storage = this.getInstance();
32
- const previousValue = storage.getStore();
33
- const parentRunId = callbackManager?.getParentRunId();
34
- const langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name === "langchain_tracer");
35
- let runTree;
36
- if (langChainTracer && parentRunId) runTree = langChainTracer.getRunTreeWithTracingConfig(parentRunId);
37
- else if (!avoidCreatingRootRunTree) runTree = new RunTree({
38
- name: "<runnable_lambda>",
39
- tracingEnabled: false
99
+ function atee(iter, length = 2) {
100
+ const buffers = Array.from({ length }, () => []);
101
+ return buffers.map(async function* makeIter(buffer) {
102
+ while (true) if (buffer.length === 0) {
103
+ const result = await iter.next();
104
+ for (const buffer$1 of buffers) buffer$1.push(result);
105
+ } else if (buffer[0].done) return;
106
+ else yield buffer.shift().value;
107
+ });
108
+ }
109
+ function concat(first, second) {
110
+ if (Array.isArray(first) && Array.isArray(second)) return first.concat(second);
111
+ else if (typeof first === "string" && typeof second === "string") return first + second;
112
+ else if (typeof first === "number" && typeof second === "number") return first + second;
113
+ else if ("concat" in first && typeof first.concat === "function") return first.concat(second);
114
+ else if (typeof first === "object" && typeof second === "object") {
115
+ const chunk = { ...first };
116
+ for (const [key, value] of Object.entries(second)) if (key in chunk && !Array.isArray(chunk[key])) chunk[key] = concat(chunk[key], value);
117
+ else chunk[key] = value;
118
+ return chunk;
119
+ } else throw new Error(`Cannot concat ${typeof first} and ${typeof second}`);
120
+ }
121
+ var AsyncGeneratorWithSetup = class {
122
+ generator;
123
+ setup;
124
+ config;
125
+ signal;
126
+ firstResult;
127
+ firstResultUsed = false;
128
+ constructor(params) {
129
+ this.generator = params.generator;
130
+ this.config = params.config;
131
+ this.signal = params.signal ?? this.config?.signal;
132
+ this.setup = new Promise((resolve, reject) => {
133
+ AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(params.config), async () => {
134
+ this.firstResult = params.generator.next();
135
+ if (params.startSetup) this.firstResult.then(params.startSetup).then(resolve, reject);
136
+ else this.firstResult.then((_result) => resolve(void 0), reject);
137
+ }, true);
40
138
  });
41
- if (runTree) runTree.extra = {
42
- ...runTree.extra,
43
- [LC_CHILD_KEY]: config
44
- };
45
- if (previousValue !== void 0 && previousValue[_CONTEXT_VARIABLES_KEY] !== void 0) {
46
- if (runTree === void 0) runTree = {};
47
- runTree[_CONTEXT_VARIABLES_KEY] = previousValue[_CONTEXT_VARIABLES_KEY];
139
+ }
140
+ async next(...args) {
141
+ this.signal?.throwIfAborted();
142
+ if (!this.firstResultUsed) {
143
+ this.firstResultUsed = true;
144
+ return this.firstResult;
48
145
  }
49
- return storage.run(runTree, callback);
146
+ return AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(this.config), this.signal ? async () => {
147
+ return raceWithSignal(this.generator.next(...args), this.signal);
148
+ } : async () => {
149
+ return this.generator.next(...args);
150
+ }, true);
151
+ }
152
+ async return(value) {
153
+ return this.generator.return(value);
154
+ }
155
+ async throw(e) {
156
+ return this.generator.throw(e);
157
+ }
158
+ [Symbol.asyncIterator]() {
159
+ return this;
50
160
  }
51
- initializeGlobalInstance(instance) {
52
- if (getGlobalAsyncLocalStorageInstance() === void 0) setGlobalAsyncLocalStorageInstance(instance);
161
+ async [Symbol.asyncDispose]() {
162
+ await this.return();
53
163
  }
54
164
  };
55
- const AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();
165
+ async function pipeGeneratorWithSetup(to, generator, startSetup, signal, ...args) {
166
+ const gen = new AsyncGeneratorWithSetup({
167
+ generator,
168
+ startSetup,
169
+ signal
170
+ });
171
+ const setup = await gen.setup;
172
+ return {
173
+ output: to(gen, setup, ...args),
174
+ setup
175
+ };
176
+ }
56
177
  export {
57
- AsyncLocalStorageProviderSingleton,
58
- MockAsyncLocalStorage
178
+ AsyncGeneratorWithSetup,
179
+ IterableReadableStream,
180
+ atee,
181
+ concat,
182
+ pipeGeneratorWithSetup,
183
+ stream_exports
59
184
  };
60
185
  //# sourceMappingURL=index.es89.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es89.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/singletons/async_local_storage/index.js"],"sourcesContent":["import { _CONTEXT_VARIABLES_KEY, getGlobalAsyncLocalStorageInstance, setGlobalAsyncLocalStorageInstance } from \"./globals.js\";\nimport { CallbackManager } from \"../../callbacks/manager.js\";\nimport { RunTree } from \"langsmith\";\n\n//#region src/singletons/async_local_storage/index.ts\nvar MockAsyncLocalStorage = class {\n\tgetStore() {\n\t\treturn void 0;\n\t}\n\trun(_store, callback) {\n\t\treturn callback();\n\t}\n\tenterWith(_store) {\n\t\treturn void 0;\n\t}\n};\nconst mockAsyncLocalStorage = new MockAsyncLocalStorage();\nconst LC_CHILD_KEY = Symbol.for(\"lc:child_config\");\nvar AsyncLocalStorageProvider = class {\n\tgetInstance() {\n\t\treturn getGlobalAsyncLocalStorageInstance() ?? mockAsyncLocalStorage;\n\t}\n\tgetRunnableConfig() {\n\t\tconst storage = this.getInstance();\n\t\treturn storage.getStore()?.extra?.[LC_CHILD_KEY];\n\t}\n\trunWithConfig(config, callback, avoidCreatingRootRunTree) {\n\t\tconst callbackManager = CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);\n\t\tconst storage = this.getInstance();\n\t\tconst previousValue = storage.getStore();\n\t\tconst parentRunId = callbackManager?.getParentRunId();\n\t\tconst langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name === \"langchain_tracer\");\n\t\tlet runTree;\n\t\tif (langChainTracer && parentRunId) runTree = langChainTracer.getRunTreeWithTracingConfig(parentRunId);\n\t\telse if (!avoidCreatingRootRunTree) runTree = new RunTree({\n\t\t\tname: \"<runnable_lambda>\",\n\t\t\ttracingEnabled: false\n\t\t});\n\t\tif (runTree) runTree.extra = {\n\t\t\t...runTree.extra,\n\t\t\t[LC_CHILD_KEY]: config\n\t\t};\n\t\tif (previousValue !== void 0 && previousValue[_CONTEXT_VARIABLES_KEY] !== void 0) {\n\t\t\tif (runTree === void 0) runTree = {};\n\t\t\trunTree[_CONTEXT_VARIABLES_KEY] = previousValue[_CONTEXT_VARIABLES_KEY];\n\t\t}\n\t\treturn storage.run(runTree, callback);\n\t}\n\tinitializeGlobalInstance(instance) {\n\t\tif (getGlobalAsyncLocalStorageInstance() === void 0) setGlobalAsyncLocalStorageInstance(instance);\n\t}\n};\nconst AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();\n\n//#endregion\nexport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;;;AAKG,IAAC,wBAAwB,MAAM;AAAA,EACjC,WAAW;AACV,WAAO;AAAA,EACR;AAAA,EACA,IAAI,QAAQ,UAAU;AACrB,WAAO,SAAQ;AAAA,EAChB;AAAA,EACA,UAAU,QAAQ;AACjB,WAAO;AAAA,EACR;AACD;AACA,MAAM,wBAAwB,IAAI,sBAAqB;AACvD,MAAM,eAAe,uBAAO,IAAI,iBAAiB;AACjD,IAAI,4BAA4B,MAAM;AAAA,EACrC,cAAc;AACb,WAAO,mCAAkC,KAAM;AAAA,EAChD;AAAA,EACA,oBAAoB;AACnB,UAAM,UAAU,KAAK,YAAW;AAChC,WAAO,QAAQ,YAAY,QAAQ,YAAY;AAAA,EAChD;AAAA,EACA,cAAc,QAAQ,UAAU,0BAA0B;AACzD,UAAM,kBAAkB,gBAAgB,eAAe,QAAQ,WAAW,QAAQ,QAAQ,MAAM,QAAQ,QAAQ,QAAQ;AACxH,UAAM,UAAU,KAAK,YAAW;AAChC,UAAM,gBAAgB,QAAQ,SAAQ;AACtC,UAAM,cAAc,iBAAiB,eAAc;AACnD,UAAM,kBAAkB,iBAAiB,UAAU,KAAK,CAAC,YAAY,SAAS,SAAS,kBAAkB;AACzG,QAAI;AACJ,QAAI,mBAAmB,YAAa,WAAU,gBAAgB,4BAA4B,WAAW;AAAA,aAC5F,CAAC,yBAA0B,WAAU,IAAI,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,gBAAgB;AAAA,IACnB,CAAG;AACD,QAAI,QAAS,SAAQ,QAAQ;AAAA,MAC5B,GAAG,QAAQ;AAAA,MACX,CAAC,YAAY,GAAG;AAAA,IACnB;AACE,QAAI,kBAAkB,UAAU,cAAc,sBAAsB,MAAM,QAAQ;AACjF,UAAI,YAAY,OAAQ,WAAU,CAAA;AAClC,cAAQ,sBAAsB,IAAI,cAAc,sBAAsB;AAAA,IACvE;AACA,WAAO,QAAQ,IAAI,SAAS,QAAQ;AAAA,EACrC;AAAA,EACA,yBAAyB,UAAU;AAClC,QAAI,mCAAkC,MAAO,OAAQ,oCAAmC,QAAQ;AAAA,EACjG;AACD;AACK,MAAC,qCAAqC,IAAI,0BAAyB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es89.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/stream.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\nimport { pickRunnableConfigKeys } from \"../runnables/config.js\";\nimport { raceWithSignal } from \"./signal.js\";\n\n//#region src/utils/stream.ts\nvar stream_exports = {};\n__export(stream_exports, {\n\tAsyncGeneratorWithSetup: () => AsyncGeneratorWithSetup,\n\tIterableReadableStream: () => IterableReadableStream,\n\tatee: () => atee,\n\tconcat: () => concat,\n\tpipeGeneratorWithSetup: () => pipeGeneratorWithSetup\n});\nvar IterableReadableStream = class IterableReadableStream extends ReadableStream {\n\treader;\n\tensureReader() {\n\t\tif (!this.reader) this.reader = this.getReader();\n\t}\n\tasync next() {\n\t\tthis.ensureReader();\n\t\ttry {\n\t\t\tconst result = await this.reader.read();\n\t\t\tif (result.done) {\n\t\t\t\tthis.reader.releaseLock();\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void 0\n\t\t\t\t};\n\t\t\t} else return {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: result.value\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tthis.reader.releaseLock();\n\t\t\tthrow e;\n\t\t}\n\t}\n\tasync return() {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: void 0\n\t\t};\n\t}\n\tasync throw(e) {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\tthrow e;\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n\tstatic fromReadableStream(stream) {\n\t\tconst reader = stream.getReader();\n\t\treturn new IterableReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\treturn pump();\n\t\t\t\tfunction pump() {\n\t\t\t\t\treturn reader.read().then(({ done, value }) => {\n\t\t\t\t\t\tif (done) {\n\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\t\treturn pump();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel() {\n\t\t\t\treader.releaseLock();\n\t\t\t}\n\t\t});\n\t}\n\tstatic fromAsyncGenerator(generator) {\n\t\treturn new IterableReadableStream({\n\t\t\tasync pull(controller) {\n\t\t\t\tconst { value, done } = await generator.next();\n\t\t\t\tif (done) controller.close();\n\t\t\t\tcontroller.enqueue(value);\n\t\t\t},\n\t\t\tasync cancel(reason) {\n\t\t\t\tawait generator.return(reason);\n\t\t\t}\n\t\t});\n\t}\n};\nfunction atee(iter, length = 2) {\n\tconst buffers = Array.from({ length }, () => []);\n\treturn buffers.map(async function* makeIter(buffer) {\n\t\twhile (true) if (buffer.length === 0) {\n\t\t\tconst result = await iter.next();\n\t\t\tfor (const buffer$1 of buffers) buffer$1.push(result);\n\t\t} else if (buffer[0].done) return;\n\t\telse yield buffer.shift().value;\n\t});\n}\nfunction concat(first, second) {\n\tif (Array.isArray(first) && Array.isArray(second)) return first.concat(second);\n\telse if (typeof first === \"string\" && typeof second === \"string\") return first + second;\n\telse if (typeof first === \"number\" && typeof second === \"number\") return first + second;\n\telse if (\"concat\" in first && typeof first.concat === \"function\") return first.concat(second);\n\telse if (typeof first === \"object\" && typeof second === \"object\") {\n\t\tconst chunk = { ...first };\n\t\tfor (const [key, value] of Object.entries(second)) if (key in chunk && !Array.isArray(chunk[key])) chunk[key] = concat(chunk[key], value);\n\t\telse chunk[key] = value;\n\t\treturn chunk;\n\t} else throw new Error(`Cannot concat ${typeof first} and ${typeof second}`);\n}\nvar AsyncGeneratorWithSetup = class {\n\tgenerator;\n\tsetup;\n\tconfig;\n\tsignal;\n\tfirstResult;\n\tfirstResultUsed = false;\n\tconstructor(params) {\n\t\tthis.generator = params.generator;\n\t\tthis.config = params.config;\n\t\tthis.signal = params.signal ?? this.config?.signal;\n\t\tthis.setup = new Promise((resolve, reject) => {\n\t\t\tAsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(params.config), async () => {\n\t\t\t\tthis.firstResult = params.generator.next();\n\t\t\t\tif (params.startSetup) this.firstResult.then(params.startSetup).then(resolve, reject);\n\t\t\t\telse this.firstResult.then((_result) => resolve(void 0), reject);\n\t\t\t}, true);\n\t\t});\n\t}\n\tasync next(...args) {\n\t\tthis.signal?.throwIfAborted();\n\t\tif (!this.firstResultUsed) {\n\t\t\tthis.firstResultUsed = true;\n\t\t\treturn this.firstResult;\n\t\t}\n\t\treturn AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(this.config), this.signal ? async () => {\n\t\t\treturn raceWithSignal(this.generator.next(...args), this.signal);\n\t\t} : async () => {\n\t\t\treturn this.generator.next(...args);\n\t\t}, true);\n\t}\n\tasync return(value) {\n\t\treturn this.generator.return(value);\n\t}\n\tasync throw(e) {\n\t\treturn this.generator.throw(e);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n};\nasync function pipeGeneratorWithSetup(to, generator, startSetup, signal, ...args) {\n\tconst gen = new AsyncGeneratorWithSetup({\n\t\tgenerator,\n\t\tstartSetup,\n\t\tsignal\n\t});\n\tconst setup = await gen.setup;\n\treturn {\n\t\toutput: to(gen, setup, ...args),\n\t\tsetup\n\t};\n}\n\n//#endregion\nexport { AsyncGeneratorWithSetup, IterableReadableStream, atee, concat, pipeGeneratorWithSetup, stream_exports };\n//# sourceMappingURL=stream.js.map"],"names":["IterableReadableStream"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,16 +1,244 @@
1
- import { __export } from "./index.es52.js";
2
- import { _CONTEXT_VARIABLES_KEY } from "./index.es109.js";
3
- import { MockAsyncLocalStorage, AsyncLocalStorageProviderSingleton } from "./index.es89.js";
4
- var singletons_exports = {};
5
- __export(singletons_exports, {
6
- AsyncLocalStorageProviderSingleton: () => AsyncLocalStorageProviderSingleton,
7
- MockAsyncLocalStorage: () => MockAsyncLocalStorage,
8
- _CONTEXT_VARIABLES_KEY: () => _CONTEXT_VARIABLES_KEY
1
+ import { __export } from "./index.es49.js";
2
+ import { AIMessageChunk } from "./index.es39.js";
3
+ import { applyPatch } from "./index.es114.js";
4
+ import "./index.es115.js";
5
+ import { BaseTracer } from "./index.es116.js";
6
+ import { IterableReadableStream } from "./index.es89.js";
7
+ var log_stream_exports = {};
8
+ __export(log_stream_exports, {
9
+ LogStreamCallbackHandler: () => LogStreamCallbackHandler,
10
+ RunLog: () => RunLog,
11
+ RunLogPatch: () => RunLogPatch,
12
+ isLogStreamHandler: () => isLogStreamHandler
9
13
  });
14
+ var RunLogPatch = class {
15
+ ops;
16
+ constructor(fields) {
17
+ this.ops = fields.ops ?? [];
18
+ }
19
+ concat(other) {
20
+ const ops = this.ops.concat(other.ops);
21
+ const states = applyPatch({}, ops);
22
+ return new RunLog({
23
+ ops,
24
+ state: states[states.length - 1].newDocument
25
+ });
26
+ }
27
+ };
28
+ var RunLog = class RunLog2 extends RunLogPatch {
29
+ state;
30
+ constructor(fields) {
31
+ super(fields);
32
+ this.state = fields.state;
33
+ }
34
+ concat(other) {
35
+ const ops = this.ops.concat(other.ops);
36
+ const states = applyPatch(this.state, other.ops);
37
+ return new RunLog2({
38
+ ops,
39
+ state: states[states.length - 1].newDocument
40
+ });
41
+ }
42
+ static fromRunLogPatch(patch) {
43
+ const states = applyPatch({}, patch.ops);
44
+ return new RunLog2({
45
+ ops: patch.ops,
46
+ state: states[states.length - 1].newDocument
47
+ });
48
+ }
49
+ };
50
+ const isLogStreamHandler = (handler) => handler.name === "log_stream_tracer";
51
+ async function _getStandardizedInputs(run, schemaFormat) {
52
+ if (schemaFormat === "original") throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");
53
+ const { inputs } = run;
54
+ if ([
55
+ "retriever",
56
+ "llm",
57
+ "prompt"
58
+ ].includes(run.run_type)) return inputs;
59
+ if (Object.keys(inputs).length === 1 && inputs?.input === "") return void 0;
60
+ return inputs.input;
61
+ }
62
+ async function _getStandardizedOutputs(run, schemaFormat) {
63
+ const { outputs } = run;
64
+ if (schemaFormat === "original") return outputs;
65
+ if ([
66
+ "retriever",
67
+ "llm",
68
+ "prompt"
69
+ ].includes(run.run_type)) return outputs;
70
+ if (outputs !== void 0 && Object.keys(outputs).length === 1 && outputs?.output !== void 0) return outputs.output;
71
+ return outputs;
72
+ }
73
+ function isChatGenerationChunk(x) {
74
+ return x !== void 0 && x.message !== void 0;
75
+ }
76
+ var LogStreamCallbackHandler = class extends BaseTracer {
77
+ autoClose = true;
78
+ includeNames;
79
+ includeTypes;
80
+ includeTags;
81
+ excludeNames;
82
+ excludeTypes;
83
+ excludeTags;
84
+ _schemaFormat = "original";
85
+ rootId;
86
+ keyMapByRunId = {};
87
+ counterMapByRunName = {};
88
+ transformStream;
89
+ writer;
90
+ receiveStream;
91
+ name = "log_stream_tracer";
92
+ lc_prefer_streaming = true;
93
+ constructor(fields) {
94
+ super({
95
+ _awaitHandler: true,
96
+ ...fields
97
+ });
98
+ this.autoClose = fields?.autoClose ?? true;
99
+ this.includeNames = fields?.includeNames;
100
+ this.includeTypes = fields?.includeTypes;
101
+ this.includeTags = fields?.includeTags;
102
+ this.excludeNames = fields?.excludeNames;
103
+ this.excludeTypes = fields?.excludeTypes;
104
+ this.excludeTags = fields?.excludeTags;
105
+ this._schemaFormat = fields?._schemaFormat ?? this._schemaFormat;
106
+ this.transformStream = new TransformStream();
107
+ this.writer = this.transformStream.writable.getWriter();
108
+ this.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);
109
+ }
110
+ [Symbol.asyncIterator]() {
111
+ return this.receiveStream;
112
+ }
113
+ async persistRun(_run) {
114
+ }
115
+ _includeRun(run) {
116
+ if (run.id === this.rootId) return false;
117
+ const runTags = run.tags ?? [];
118
+ let include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;
119
+ if (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);
120
+ if (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.run_type);
121
+ if (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;
122
+ if (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);
123
+ if (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.run_type);
124
+ if (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));
125
+ return include;
126
+ }
127
+ async *tapOutputIterable(runId, output) {
128
+ for await (const chunk of output) {
129
+ if (runId !== this.rootId) {
130
+ const key = this.keyMapByRunId[runId];
131
+ if (key) await this.writer.write(new RunLogPatch({ ops: [{
132
+ op: "add",
133
+ path: `/logs/${key}/streamed_output/-`,
134
+ value: chunk
135
+ }] }));
136
+ }
137
+ yield chunk;
138
+ }
139
+ }
140
+ async onRunCreate(run) {
141
+ if (this.rootId === void 0) {
142
+ this.rootId = run.id;
143
+ await this.writer.write(new RunLogPatch({ ops: [{
144
+ op: "replace",
145
+ path: "",
146
+ value: {
147
+ id: run.id,
148
+ name: run.name,
149
+ type: run.run_type,
150
+ streamed_output: [],
151
+ final_output: void 0,
152
+ logs: {}
153
+ }
154
+ }] }));
155
+ }
156
+ if (!this._includeRun(run)) return;
157
+ if (this.counterMapByRunName[run.name] === void 0) this.counterMapByRunName[run.name] = 0;
158
+ this.counterMapByRunName[run.name] += 1;
159
+ const count = this.counterMapByRunName[run.name];
160
+ this.keyMapByRunId[run.id] = count === 1 ? run.name : `${run.name}:${count}`;
161
+ const logEntry = {
162
+ id: run.id,
163
+ name: run.name,
164
+ type: run.run_type,
165
+ tags: run.tags ?? [],
166
+ metadata: run.extra?.metadata ?? {},
167
+ start_time: new Date(run.start_time).toISOString(),
168
+ streamed_output: [],
169
+ streamed_output_str: [],
170
+ final_output: void 0,
171
+ end_time: void 0
172
+ };
173
+ if (this._schemaFormat === "streaming_events") logEntry.inputs = await _getStandardizedInputs(run, this._schemaFormat);
174
+ await this.writer.write(new RunLogPatch({ ops: [{
175
+ op: "add",
176
+ path: `/logs/${this.keyMapByRunId[run.id]}`,
177
+ value: logEntry
178
+ }] }));
179
+ }
180
+ async onRunUpdate(run) {
181
+ try {
182
+ const runName = this.keyMapByRunId[run.id];
183
+ if (runName === void 0) return;
184
+ const ops = [];
185
+ if (this._schemaFormat === "streaming_events") ops.push({
186
+ op: "replace",
187
+ path: `/logs/${runName}/inputs`,
188
+ value: await _getStandardizedInputs(run, this._schemaFormat)
189
+ });
190
+ ops.push({
191
+ op: "add",
192
+ path: `/logs/${runName}/final_output`,
193
+ value: await _getStandardizedOutputs(run, this._schemaFormat)
194
+ });
195
+ if (run.end_time !== void 0) ops.push({
196
+ op: "add",
197
+ path: `/logs/${runName}/end_time`,
198
+ value: new Date(run.end_time).toISOString()
199
+ });
200
+ const patch = new RunLogPatch({ ops });
201
+ await this.writer.write(patch);
202
+ } finally {
203
+ if (run.id === this.rootId) {
204
+ const patch = new RunLogPatch({ ops: [{
205
+ op: "replace",
206
+ path: "/final_output",
207
+ value: await _getStandardizedOutputs(run, this._schemaFormat)
208
+ }] });
209
+ await this.writer.write(patch);
210
+ if (this.autoClose) await this.writer.close();
211
+ }
212
+ }
213
+ }
214
+ async onLLMNewToken(run, token, kwargs) {
215
+ const runName = this.keyMapByRunId[run.id];
216
+ if (runName === void 0) return;
217
+ const isChatModel = run.inputs.messages !== void 0;
218
+ let streamedOutputValue;
219
+ if (isChatModel) if (isChatGenerationChunk(kwargs?.chunk)) streamedOutputValue = kwargs?.chunk;
220
+ else streamedOutputValue = new AIMessageChunk({
221
+ id: `run-${run.id}`,
222
+ content: token
223
+ });
224
+ else streamedOutputValue = token;
225
+ const patch = new RunLogPatch({ ops: [{
226
+ op: "add",
227
+ path: `/logs/${runName}/streamed_output_str/-`,
228
+ value: token
229
+ }, {
230
+ op: "add",
231
+ path: `/logs/${runName}/streamed_output/-`,
232
+ value: streamedOutputValue
233
+ }] });
234
+ await this.writer.write(patch);
235
+ }
236
+ };
10
237
  export {
11
- AsyncLocalStorageProviderSingleton,
12
- MockAsyncLocalStorage,
13
- _CONTEXT_VARIABLES_KEY,
14
- singletons_exports
238
+ LogStreamCallbackHandler,
239
+ RunLog,
240
+ RunLogPatch,
241
+ isLogStreamHandler,
242
+ log_stream_exports
15
243
  };
16
244
  //# sourceMappingURL=index.es90.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es90.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/singletons/index.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { _CONTEXT_VARIABLES_KEY } from \"./async_local_storage/globals.js\";\nimport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage } from \"./async_local_storage/index.js\";\n\n//#region src/singletons/index.ts\nvar singletons_exports = {};\n__export(singletons_exports, {\n\tAsyncLocalStorageProviderSingleton: () => AsyncLocalStorageProviderSingleton,\n\tMockAsyncLocalStorage: () => MockAsyncLocalStorage,\n\t_CONTEXT_VARIABLES_KEY: () => _CONTEXT_VARIABLES_KEY\n});\n\n//#endregion\nexport { AsyncLocalStorageProviderSingleton, MockAsyncLocalStorage, _CONTEXT_VARIABLES_KEY, singletons_exports };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;AAKG,IAAC,qBAAqB,CAAA;AACzB,SAAS,oBAAoB;AAAA,EAC5B,oCAAoC,MAAM;AAAA,EAC1C,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAC/B,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es90.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/log_stream.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { applyPatch } from \"../utils/fast-json-patch/src/core.js\";\nimport \"../utils/fast-json-patch/index.js\";\nimport { BaseTracer } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\n\n//#region src/tracers/log_stream.ts\nvar log_stream_exports = {};\n__export(log_stream_exports, {\n\tLogStreamCallbackHandler: () => LogStreamCallbackHandler,\n\tRunLog: () => RunLog,\n\tRunLogPatch: () => RunLogPatch,\n\tisLogStreamHandler: () => isLogStreamHandler\n});\n/**\n* List of jsonpatch JSONPatchOperations, which describe how to create the run state\n* from an empty dict. This is the minimal representation of the log, designed to\n* be serialized as JSON and sent over the wire to reconstruct the log on the other\n* side. Reconstruction of the state can be done with any jsonpatch-compliant library,\n* see https://jsonpatch.com for more information.\n*/\nvar RunLogPatch = class {\n\tops;\n\tconstructor(fields) {\n\t\tthis.ops = fields.ops ?? [];\n\t}\n\tconcat(other) {\n\t\tconst ops = this.ops.concat(other.ops);\n\t\tconst states = applyPatch({}, ops);\n\t\treturn new RunLog({\n\t\t\tops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n};\nvar RunLog = class RunLog extends RunLogPatch {\n\tstate;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.state = fields.state;\n\t}\n\tconcat(other) {\n\t\tconst ops = this.ops.concat(other.ops);\n\t\tconst states = applyPatch(this.state, other.ops);\n\t\treturn new RunLog({\n\t\t\tops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n\tstatic fromRunLogPatch(patch) {\n\t\tconst states = applyPatch({}, patch.ops);\n\t\treturn new RunLog({\n\t\t\tops: patch.ops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n};\nconst isLogStreamHandler = (handler) => handler.name === \"log_stream_tracer\";\n/**\n* Extract standardized inputs from a run.\n*\n* Standardizes the inputs based on the type of the runnable used.\n*\n* @param run - Run object\n* @param schemaFormat - The schema format to use.\n*\n* @returns Valid inputs are only dict. By conventions, inputs always represented\n* invocation using named arguments.\n* A null means that the input is not yet known!\n*/\nasync function _getStandardizedInputs(run, schemaFormat) {\n\tif (schemaFormat === \"original\") throw new Error(\"Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.\");\n\tconst { inputs } = run;\n\tif ([\n\t\t\"retriever\",\n\t\t\"llm\",\n\t\t\"prompt\"\n\t].includes(run.run_type)) return inputs;\n\tif (Object.keys(inputs).length === 1 && inputs?.input === \"\") return void 0;\n\treturn inputs.input;\n}\nasync function _getStandardizedOutputs(run, schemaFormat) {\n\tconst { outputs } = run;\n\tif (schemaFormat === \"original\") return outputs;\n\tif ([\n\t\t\"retriever\",\n\t\t\"llm\",\n\t\t\"prompt\"\n\t].includes(run.run_type)) return outputs;\n\tif (outputs !== void 0 && Object.keys(outputs).length === 1 && outputs?.output !== void 0) return outputs.output;\n\treturn outputs;\n}\nfunction isChatGenerationChunk(x) {\n\treturn x !== void 0 && x.message !== void 0;\n}\n/**\n* Class that extends the `BaseTracer` class from the\n* `langchain.callbacks.tracers.base` module. It represents a callback\n* handler that logs the execution of runs and emits `RunLog` instances to a\n* `RunLogStream`.\n*/\nvar LogStreamCallbackHandler = class extends BaseTracer {\n\tautoClose = true;\n\tincludeNames;\n\tincludeTypes;\n\tincludeTags;\n\texcludeNames;\n\texcludeTypes;\n\texcludeTags;\n\t_schemaFormat = \"original\";\n\trootId;\n\tkeyMapByRunId = {};\n\tcounterMapByRunName = {};\n\ttransformStream;\n\twriter;\n\treceiveStream;\n\tname = \"log_stream_tracer\";\n\tlc_prefer_streaming = true;\n\tconstructor(fields) {\n\t\tsuper({\n\t\t\t_awaitHandler: true,\n\t\t\t...fields\n\t\t});\n\t\tthis.autoClose = fields?.autoClose ?? true;\n\t\tthis.includeNames = fields?.includeNames;\n\t\tthis.includeTypes = fields?.includeTypes;\n\t\tthis.includeTags = fields?.includeTags;\n\t\tthis.excludeNames = fields?.excludeNames;\n\t\tthis.excludeTypes = fields?.excludeTypes;\n\t\tthis.excludeTags = fields?.excludeTags;\n\t\tthis._schemaFormat = fields?._schemaFormat ?? this._schemaFormat;\n\t\tthis.transformStream = new TransformStream();\n\t\tthis.writer = this.transformStream.writable.getWriter();\n\t\tthis.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this.receiveStream;\n\t}\n\tasync persistRun(_run) {}\n\t_includeRun(run) {\n\t\tif (run.id === this.rootId) return false;\n\t\tconst runTags = run.tags ?? [];\n\t\tlet include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;\n\t\tif (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);\n\t\tif (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.run_type);\n\t\tif (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;\n\t\tif (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);\n\t\tif (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.run_type);\n\t\tif (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n\t\treturn include;\n\t}\n\tasync *tapOutputIterable(runId, output) {\n\t\tfor await (const chunk of output) {\n\t\t\tif (runId !== this.rootId) {\n\t\t\t\tconst key = this.keyMapByRunId[runId];\n\t\t\t\tif (key) await this.writer.write(new RunLogPatch({ ops: [{\n\t\t\t\t\top: \"add\",\n\t\t\t\t\tpath: `/logs/${key}/streamed_output/-`,\n\t\t\t\t\tvalue: chunk\n\t\t\t\t}] }));\n\t\t\t}\n\t\t\tyield chunk;\n\t\t}\n\t}\n\tasync onRunCreate(run) {\n\t\tif (this.rootId === void 0) {\n\t\t\tthis.rootId = run.id;\n\t\t\tawait this.writer.write(new RunLogPatch({ ops: [{\n\t\t\t\top: \"replace\",\n\t\t\t\tpath: \"\",\n\t\t\t\tvalue: {\n\t\t\t\t\tid: run.id,\n\t\t\t\t\tname: run.name,\n\t\t\t\t\ttype: run.run_type,\n\t\t\t\t\tstreamed_output: [],\n\t\t\t\t\tfinal_output: void 0,\n\t\t\t\t\tlogs: {}\n\t\t\t\t}\n\t\t\t}] }));\n\t\t}\n\t\tif (!this._includeRun(run)) return;\n\t\tif (this.counterMapByRunName[run.name] === void 0) this.counterMapByRunName[run.name] = 0;\n\t\tthis.counterMapByRunName[run.name] += 1;\n\t\tconst count = this.counterMapByRunName[run.name];\n\t\tthis.keyMapByRunId[run.id] = count === 1 ? run.name : `${run.name}:${count}`;\n\t\tconst logEntry = {\n\t\t\tid: run.id,\n\t\t\tname: run.name,\n\t\t\ttype: run.run_type,\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tstart_time: new Date(run.start_time).toISOString(),\n\t\t\tstreamed_output: [],\n\t\t\tstreamed_output_str: [],\n\t\t\tfinal_output: void 0,\n\t\t\tend_time: void 0\n\t\t};\n\t\tif (this._schemaFormat === \"streaming_events\") logEntry.inputs = await _getStandardizedInputs(run, this._schemaFormat);\n\t\tawait this.writer.write(new RunLogPatch({ ops: [{\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${this.keyMapByRunId[run.id]}`,\n\t\t\tvalue: logEntry\n\t\t}] }));\n\t}\n\tasync onRunUpdate(run) {\n\t\ttry {\n\t\t\tconst runName = this.keyMapByRunId[run.id];\n\t\t\tif (runName === void 0) return;\n\t\t\tconst ops = [];\n\t\t\tif (this._schemaFormat === \"streaming_events\") ops.push({\n\t\t\t\top: \"replace\",\n\t\t\t\tpath: `/logs/${runName}/inputs`,\n\t\t\t\tvalue: await _getStandardizedInputs(run, this._schemaFormat)\n\t\t\t});\n\t\t\tops.push({\n\t\t\t\top: \"add\",\n\t\t\t\tpath: `/logs/${runName}/final_output`,\n\t\t\t\tvalue: await _getStandardizedOutputs(run, this._schemaFormat)\n\t\t\t});\n\t\t\tif (run.end_time !== void 0) ops.push({\n\t\t\t\top: \"add\",\n\t\t\t\tpath: `/logs/${runName}/end_time`,\n\t\t\t\tvalue: new Date(run.end_time).toISOString()\n\t\t\t});\n\t\t\tconst patch = new RunLogPatch({ ops });\n\t\t\tawait this.writer.write(patch);\n\t\t} finally {\n\t\t\tif (run.id === this.rootId) {\n\t\t\t\tconst patch = new RunLogPatch({ ops: [{\n\t\t\t\t\top: \"replace\",\n\t\t\t\t\tpath: \"/final_output\",\n\t\t\t\t\tvalue: await _getStandardizedOutputs(run, this._schemaFormat)\n\t\t\t\t}] });\n\t\t\t\tawait this.writer.write(patch);\n\t\t\t\tif (this.autoClose) await this.writer.close();\n\t\t\t}\n\t\t}\n\t}\n\tasync onLLMNewToken(run, token, kwargs) {\n\t\tconst runName = this.keyMapByRunId[run.id];\n\t\tif (runName === void 0) return;\n\t\tconst isChatModel = run.inputs.messages !== void 0;\n\t\tlet streamedOutputValue;\n\t\tif (isChatModel) if (isChatGenerationChunk(kwargs?.chunk)) streamedOutputValue = kwargs?.chunk;\n\t\telse streamedOutputValue = new AIMessageChunk({\n\t\t\tid: `run-${run.id}`,\n\t\t\tcontent: token\n\t\t});\n\t\telse streamedOutputValue = token;\n\t\tconst patch = new RunLogPatch({ ops: [{\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${runName}/streamed_output_str/-`,\n\t\t\tvalue: token\n\t\t}, {\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${runName}/streamed_output/-`,\n\t\t\tvalue: streamedOutputValue\n\t\t}] });\n\t\tawait this.writer.write(patch);\n\t}\n};\n\n//#endregion\nexport { LogStreamCallbackHandler, RunLog, RunLogPatch, isLogStreamHandler, log_stream_exports };\n//# sourceMappingURL=log_stream.js.map"],"names":["RunLog"],"mappings":"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","x_google_ignoreList":[0]}