@langchain/langgraph 0.3.4 → 0.3.6
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.
- package/dist/channels/base.cjs +2 -2
- package/dist/channels/base.d.ts +3 -1
- package/dist/channels/base.js +2 -2
- package/dist/channels/base.js.map +1 -1
- package/dist/constants.cjs +3 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +1 -6
- package/dist/errors.js +1 -6
- package/dist/errors.js.map +1 -1
- package/dist/graph/state.d.ts +1 -1
- package/dist/graph/zod/zod-registry.d.ts +8 -2
- package/dist/graph/zod/zod-registry.js +1 -1
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/hash.cjs +333 -0
- package/dist/hash.d.ts +2 -0
- package/dist/hash.js +329 -0
- package/dist/hash.js.map +1 -0
- package/dist/interrupt.cjs +8 -1
- package/dist/interrupt.js +8 -1
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.ts +2 -2
- package/dist/pregel/algo.cjs +29 -14
- package/dist/pregel/algo.js +30 -15
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/debug.cjs +42 -49
- package/dist/pregel/debug.d.ts +20 -34
- package/dist/pregel/debug.js +43 -50
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/debug.test.cjs +83 -20
- package/dist/pregel/debug.test.js +83 -20
- package/dist/pregel/debug.test.js.map +1 -1
- package/dist/pregel/index.cjs +77 -23
- package/dist/pregel/index.d.ts +7 -2
- package/dist/pregel/index.js +78 -24
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/loop.cjs +157 -43
- package/dist/pregel/loop.d.ts +7 -1
- package/dist/pregel/loop.js +158 -44
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/remote.cjs +2 -0
- package/dist/pregel/remote.d.ts +1 -0
- package/dist/pregel/remote.js +2 -0
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/types.d.ts +50 -4
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.cjs +2 -1
- package/dist/pregel/utils/config.js +2 -1
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/validate.cjs +1 -1
- package/dist/pregel/validate.js +1 -1
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/validate.test.cjs +1 -1
- package/dist/pregel/validate.test.js +1 -1
- package/dist/pregel/validate.test.js.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +5 -6
package/dist/hash.js
ADDED
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
/* Converted from https://github.com/i404788/xxh3-ts
|
|
2
|
+
|
|
3
|
+
BSD 2-Clause License
|
|
4
|
+
|
|
5
|
+
Copyright (c) 2019, i404788
|
|
6
|
+
All rights reserved.
|
|
7
|
+
|
|
8
|
+
Redistribution and use in source and binary forms, with or without
|
|
9
|
+
modification, are permitted provided that the following conditions are met:
|
|
10
|
+
|
|
11
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
12
|
+
list of conditions and the following disclaimer.
|
|
13
|
+
|
|
14
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
15
|
+
this list of conditions and the following disclaimer in the documentation
|
|
16
|
+
and/or other materials provided with the distribution.
|
|
17
|
+
|
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
19
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
20
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
22
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
23
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
24
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
25
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
26
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
27
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*/
|
|
29
|
+
const n = (n) => BigInt(n);
|
|
30
|
+
const view = (data, offset = 0) => new DataView(data.buffer, data.byteOffset + offset, data.byteLength - offset);
|
|
31
|
+
const PRIME32_1 = n("0x9E3779B1"); // 0b10011110001101110111100110110001
|
|
32
|
+
const PRIME32_2 = n("0x85EBCA77"); // 0b10000101111010111100101001110111
|
|
33
|
+
const PRIME32_3 = n("0xC2B2AE3D"); // 0b11000010101100101010111000111101
|
|
34
|
+
const PRIME64_1 = n("0x9E3779B185EBCA87"); // 0b1001111000110111011110011011000110000101111010111100101010000111
|
|
35
|
+
const PRIME64_2 = n("0xC2B2AE3D27D4EB4F"); // 0b1100001010110010101011100011110100100111110101001110101101001111
|
|
36
|
+
const PRIME64_3 = n("0x165667B19E3779F9"); // 0b0001011001010110011001111011000110011110001101110111100111111001
|
|
37
|
+
const PRIME64_4 = n("0x85EBCA77C2B2AE63"); // 0b1000010111101011110010100111011111000010101100101010111001100011
|
|
38
|
+
const PRIME64_5 = n("0x27D4EB2F165667C5"); // 0b0010011111010100111010110010111100010110010101100110011111000101
|
|
39
|
+
const PRIME_MX1 = n("0x165667919E3779F9"); // 0b0001011001010110011001111001000110011110001101110111100111111001
|
|
40
|
+
const PRIME_MX2 = n("0x9FB21C651E98DF25"); // 0b1001111110110010000111000110010100011110100110001101111100100101
|
|
41
|
+
const hexToUint8Array = (hex) => {
|
|
42
|
+
const strLen = hex.length;
|
|
43
|
+
if (strLen % 2 !== 0) {
|
|
44
|
+
throw new Error("String should have an even number of characters");
|
|
45
|
+
}
|
|
46
|
+
const maxLength = strLen / 2;
|
|
47
|
+
const bytes = new Uint8Array(maxLength);
|
|
48
|
+
let read = 0;
|
|
49
|
+
let write = 0;
|
|
50
|
+
while (write < maxLength) {
|
|
51
|
+
const slice = hex.slice(read, (read += 2));
|
|
52
|
+
bytes[write] = Number.parseInt(slice, 16);
|
|
53
|
+
write += 1;
|
|
54
|
+
}
|
|
55
|
+
return view(bytes);
|
|
56
|
+
};
|
|
57
|
+
const kkey = hexToUint8Array("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e");
|
|
58
|
+
const mask128 = (n(1) << n(128)) - n(1);
|
|
59
|
+
const mask64 = (n(1) << n(64)) - n(1);
|
|
60
|
+
const mask32 = (n(1) << n(32)) - n(1);
|
|
61
|
+
const STRIPE_LEN = 64;
|
|
62
|
+
const ACC_NB = STRIPE_LEN / 8;
|
|
63
|
+
const _U64 = 8;
|
|
64
|
+
const _U32 = 4;
|
|
65
|
+
function assert(a) {
|
|
66
|
+
if (!a)
|
|
67
|
+
throw new Error("Assert failed");
|
|
68
|
+
}
|
|
69
|
+
function bswap64(a) {
|
|
70
|
+
const scratchbuf = new DataView(new ArrayBuffer(8));
|
|
71
|
+
scratchbuf.setBigUint64(0, a, true);
|
|
72
|
+
return scratchbuf.getBigUint64(0, false);
|
|
73
|
+
}
|
|
74
|
+
function bswap32(input) {
|
|
75
|
+
let a = input;
|
|
76
|
+
a = ((a & n(0x0000ffff)) << n(16)) | ((a & n(0xffff0000)) >> n(16));
|
|
77
|
+
a = ((a & n(0x00ff00ff)) << n(8)) | ((a & n(0xff00ff00)) >> n(8));
|
|
78
|
+
return a; // 32-bit
|
|
79
|
+
}
|
|
80
|
+
function XXH_mult32to64(a, b) {
|
|
81
|
+
return ((a & mask32) * (b & mask32)) & mask64;
|
|
82
|
+
}
|
|
83
|
+
function rotl32(a, b) {
|
|
84
|
+
return ((a << b) | (a >> (n(32) - b))) & mask32;
|
|
85
|
+
}
|
|
86
|
+
function XXH3_accumulate_512(acc, dataView, keyView) {
|
|
87
|
+
for (let i = 0; i < ACC_NB; i += 1) {
|
|
88
|
+
const data_val = dataView.getBigUint64(i * 8, true);
|
|
89
|
+
const data_key = data_val ^ keyView.getBigUint64(i * 8, true);
|
|
90
|
+
acc[i ^ 1] += data_val;
|
|
91
|
+
acc[i] += XXH_mult32to64(data_key, data_key >> n(32));
|
|
92
|
+
}
|
|
93
|
+
return acc;
|
|
94
|
+
}
|
|
95
|
+
function XXH3_accumulate(acc, dataView, keyView, nbStripes) {
|
|
96
|
+
for (let n = 0; n < nbStripes; n += 1) {
|
|
97
|
+
XXH3_accumulate_512(acc, view(dataView, n * STRIPE_LEN), view(keyView, n * 8));
|
|
98
|
+
}
|
|
99
|
+
return acc;
|
|
100
|
+
}
|
|
101
|
+
function XXH3_scrambleAcc(acc, key) {
|
|
102
|
+
for (let i = 0; i < ACC_NB; i += 1) {
|
|
103
|
+
const key64 = key.getBigUint64(i * 8, true);
|
|
104
|
+
let acc64 = acc[i];
|
|
105
|
+
acc64 = xorshift64(acc64, n(47));
|
|
106
|
+
acc64 ^= key64;
|
|
107
|
+
acc64 *= PRIME32_1;
|
|
108
|
+
acc[i] = acc64 & mask64;
|
|
109
|
+
}
|
|
110
|
+
return acc;
|
|
111
|
+
}
|
|
112
|
+
function XXH3_mix2Accs(acc, key) {
|
|
113
|
+
return XXH3_mul128_fold64(acc[0] ^ key.getBigUint64(0, true), acc[1] ^ key.getBigUint64(_U64, true));
|
|
114
|
+
}
|
|
115
|
+
function XXH3_mergeAccs(acc, key, start) {
|
|
116
|
+
let result64 = start;
|
|
117
|
+
result64 += XXH3_mix2Accs(acc.slice(0), view(key, 0 * _U32));
|
|
118
|
+
result64 += XXH3_mix2Accs(acc.slice(2), view(key, 4 * _U32));
|
|
119
|
+
result64 += XXH3_mix2Accs(acc.slice(4), view(key, 8 * _U32));
|
|
120
|
+
result64 += XXH3_mix2Accs(acc.slice(6), view(key, 12 * _U32));
|
|
121
|
+
return XXH3_avalanche(result64 & mask64);
|
|
122
|
+
}
|
|
123
|
+
function XXH3_hashLong(input, data, secret, f_acc, f_scramble) {
|
|
124
|
+
let acc = input;
|
|
125
|
+
const nbStripesPerBlock = Math.floor((secret.byteLength - STRIPE_LEN) / 8);
|
|
126
|
+
const block_len = STRIPE_LEN * nbStripesPerBlock;
|
|
127
|
+
const nb_blocks = Math.floor((data.byteLength - 1) / block_len);
|
|
128
|
+
for (let n = 0; n < nb_blocks; n += 1) {
|
|
129
|
+
acc = XXH3_accumulate(acc, view(data, n * block_len), secret, nbStripesPerBlock);
|
|
130
|
+
acc = f_scramble(acc, view(secret, secret.byteLength - STRIPE_LEN));
|
|
131
|
+
}
|
|
132
|
+
{
|
|
133
|
+
// Partial block
|
|
134
|
+
const nbStripes = Math.floor((data.byteLength - 1 - block_len * nb_blocks) / STRIPE_LEN);
|
|
135
|
+
acc = XXH3_accumulate(acc, view(data, nb_blocks * block_len), secret, nbStripes);
|
|
136
|
+
// Last Stripe
|
|
137
|
+
acc = f_acc(acc, view(data, data.byteLength - STRIPE_LEN), view(secret, secret.byteLength - STRIPE_LEN - 7));
|
|
138
|
+
}
|
|
139
|
+
return acc;
|
|
140
|
+
}
|
|
141
|
+
function XXH3_hashLong_128b(data, secret) {
|
|
142
|
+
let acc = new BigUint64Array([
|
|
143
|
+
PRIME32_3,
|
|
144
|
+
PRIME64_1,
|
|
145
|
+
PRIME64_2,
|
|
146
|
+
PRIME64_3,
|
|
147
|
+
PRIME64_4,
|
|
148
|
+
PRIME32_2,
|
|
149
|
+
PRIME64_5,
|
|
150
|
+
PRIME32_1,
|
|
151
|
+
]);
|
|
152
|
+
assert(data.byteLength > 128);
|
|
153
|
+
acc = XXH3_hashLong(acc, data, secret, XXH3_accumulate_512, XXH3_scrambleAcc);
|
|
154
|
+
/* converge into final hash */
|
|
155
|
+
assert(acc.length * 8 === 64);
|
|
156
|
+
{
|
|
157
|
+
const low64 = XXH3_mergeAccs(acc, view(secret, 11), (n(data.byteLength) * PRIME64_1) & mask64);
|
|
158
|
+
const high64 = XXH3_mergeAccs(acc, view(secret, secret.byteLength - STRIPE_LEN - 11), ~(n(data.byteLength) * PRIME64_2) & mask64);
|
|
159
|
+
return (high64 << n(64)) | low64;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function XXH3_mul128_fold64(a, b) {
|
|
163
|
+
const lll = (a * b) & mask128;
|
|
164
|
+
return (lll & mask64) ^ (lll >> n(64));
|
|
165
|
+
}
|
|
166
|
+
function XXH3_mix16B(dataView, keyView, seed) {
|
|
167
|
+
return XXH3_mul128_fold64((dataView.getBigUint64(0, true) ^ (keyView.getBigUint64(0, true) + seed)) &
|
|
168
|
+
mask64, (dataView.getBigUint64(8, true) ^ (keyView.getBigUint64(8, true) - seed)) &
|
|
169
|
+
mask64);
|
|
170
|
+
}
|
|
171
|
+
function XXH3_mix32B(acc, data1, data2, key, seed) {
|
|
172
|
+
let accl = acc & mask64;
|
|
173
|
+
let acch = (acc >> n(64)) & mask64;
|
|
174
|
+
accl += XXH3_mix16B(data1, key, seed);
|
|
175
|
+
accl ^= data2.getBigUint64(0, true) + data2.getBigUint64(8, true);
|
|
176
|
+
accl &= mask64;
|
|
177
|
+
acch += XXH3_mix16B(data2, view(key, 16), seed);
|
|
178
|
+
acch ^= data1.getBigUint64(0, true) + data1.getBigUint64(8, true);
|
|
179
|
+
acch &= mask64;
|
|
180
|
+
return (acch << n(64)) | accl;
|
|
181
|
+
}
|
|
182
|
+
function XXH3_avalanche(input) {
|
|
183
|
+
let h64 = input;
|
|
184
|
+
h64 ^= h64 >> n(37);
|
|
185
|
+
h64 *= PRIME_MX1;
|
|
186
|
+
h64 &= mask64;
|
|
187
|
+
h64 ^= h64 >> n(32);
|
|
188
|
+
return h64;
|
|
189
|
+
}
|
|
190
|
+
function XXH3_avalanche64(input) {
|
|
191
|
+
let h64 = input;
|
|
192
|
+
h64 ^= h64 >> n(33);
|
|
193
|
+
h64 *= PRIME64_2;
|
|
194
|
+
h64 &= mask64; // 64-bit
|
|
195
|
+
h64 ^= h64 >> n(29);
|
|
196
|
+
h64 *= PRIME64_3;
|
|
197
|
+
h64 &= mask64;
|
|
198
|
+
h64 ^= h64 >> n(32);
|
|
199
|
+
return h64;
|
|
200
|
+
}
|
|
201
|
+
function XXH3_len_1to3_128b(data, key32, seed) {
|
|
202
|
+
const len = data.byteLength;
|
|
203
|
+
assert(len > 0 && len <= 3);
|
|
204
|
+
const combined = n(data.getUint8(len - 1)) |
|
|
205
|
+
n(len << 8) |
|
|
206
|
+
n(data.getUint8(0) << 16) |
|
|
207
|
+
n(data.getUint8(len >> 1) << 24);
|
|
208
|
+
const blow = (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed;
|
|
209
|
+
const low = (combined ^ blow) & mask64;
|
|
210
|
+
const bhigh = (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;
|
|
211
|
+
const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;
|
|
212
|
+
return ((XXH3_avalanche64(high) & mask64) << n(64)) | XXH3_avalanche64(low);
|
|
213
|
+
}
|
|
214
|
+
function xorshift64(b, shift) {
|
|
215
|
+
return b ^ (b >> shift);
|
|
216
|
+
}
|
|
217
|
+
function XXH3_len_4to8_128b(data, key32, seed) {
|
|
218
|
+
const len = data.byteLength;
|
|
219
|
+
assert(len >= 4 && len <= 8);
|
|
220
|
+
{
|
|
221
|
+
const l1 = data.getUint32(0, true);
|
|
222
|
+
const l2 = data.getUint32(len - 4, true);
|
|
223
|
+
const l64 = n(l1) | (n(l2) << n(32));
|
|
224
|
+
const bitflip = ((key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed) &
|
|
225
|
+
mask64;
|
|
226
|
+
const keyed = l64 ^ bitflip;
|
|
227
|
+
let m128 = (keyed * (PRIME64_1 + (n(len) << n(2)))) & mask128;
|
|
228
|
+
m128 += (m128 & mask64) << n(65);
|
|
229
|
+
m128 &= mask128;
|
|
230
|
+
m128 ^= m128 >> n(67);
|
|
231
|
+
return (xorshift64((xorshift64(m128 & mask64, n(35)) * PRIME_MX2) & mask64, n(28)) |
|
|
232
|
+
(XXH3_avalanche(m128 >> n(64)) << n(64)));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function XXH3_len_9to16_128b(data, key64, seed) {
|
|
236
|
+
const len = data.byteLength;
|
|
237
|
+
assert(len >= 9 && len <= 16);
|
|
238
|
+
{
|
|
239
|
+
const bitflipl = ((key64.getBigUint64(32, true) ^ key64.getBigUint64(40, true)) + seed) &
|
|
240
|
+
mask64;
|
|
241
|
+
const bitfliph = ((key64.getBigUint64(48, true) ^ key64.getBigUint64(56, true)) - seed) &
|
|
242
|
+
mask64;
|
|
243
|
+
const ll1 = data.getBigUint64(0, true);
|
|
244
|
+
let ll2 = data.getBigUint64(len - 8, true);
|
|
245
|
+
let m128 = (ll1 ^ ll2 ^ bitflipl) * PRIME64_1;
|
|
246
|
+
const m128_l = (m128 & mask64) + (n(len - 1) << n(54));
|
|
247
|
+
m128 = (m128 & (mask128 ^ mask64)) | m128_l; // eqv. to adding only to lower 64b
|
|
248
|
+
ll2 ^= bitfliph;
|
|
249
|
+
m128 += (ll2 + (ll2 & mask32) * (PRIME32_2 - n(1))) << n(64);
|
|
250
|
+
m128 &= mask128;
|
|
251
|
+
m128 ^= bswap64(m128 >> n(64));
|
|
252
|
+
let h128 = (m128 & mask64) * PRIME64_2;
|
|
253
|
+
h128 += ((m128 >> n(64)) * PRIME64_2) << n(64);
|
|
254
|
+
h128 &= mask128;
|
|
255
|
+
return (XXH3_avalanche(h128 & mask64) | (XXH3_avalanche(h128 >> n(64)) << n(64)));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
function XXH3_len_0to16_128b(data, seed) {
|
|
259
|
+
const len = data.byteLength;
|
|
260
|
+
assert(len <= 16);
|
|
261
|
+
if (len > 8)
|
|
262
|
+
return XXH3_len_9to16_128b(data, kkey, seed);
|
|
263
|
+
if (len >= 4)
|
|
264
|
+
return XXH3_len_4to8_128b(data, kkey, seed);
|
|
265
|
+
if (len > 0)
|
|
266
|
+
return XXH3_len_1to3_128b(data, kkey, seed);
|
|
267
|
+
return (XXH3_avalanche64(seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)) |
|
|
268
|
+
(XXH3_avalanche64(seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)) <<
|
|
269
|
+
n(64)));
|
|
270
|
+
}
|
|
271
|
+
function inv64(x) {
|
|
272
|
+
// NOTE: `AND` fixes signedness (but because of 2's complement we need to re-add 1)
|
|
273
|
+
return (~x + n(1)) & mask64;
|
|
274
|
+
}
|
|
275
|
+
function XXH3_len_17to128_128b(data, secret, seed) {
|
|
276
|
+
let acc = (n(data.byteLength) * PRIME64_1) & mask64;
|
|
277
|
+
let i = n(data.byteLength - 1) / n(32);
|
|
278
|
+
while (i >= 0) {
|
|
279
|
+
const ni = Number(i);
|
|
280
|
+
acc = XXH3_mix32B(acc, view(data, 16 * ni), view(data, data.byteLength - 16 * (ni + 1)), view(secret, 32 * ni), seed);
|
|
281
|
+
i -= n(1);
|
|
282
|
+
}
|
|
283
|
+
let h128l = (acc + (acc >> n(64))) & mask64;
|
|
284
|
+
h128l = XXH3_avalanche(h128l);
|
|
285
|
+
let h128h = (acc & mask64) * PRIME64_1 +
|
|
286
|
+
(acc >> n(64)) * PRIME64_4 +
|
|
287
|
+
((n(data.byteLength) - seed) & mask64) * PRIME64_2;
|
|
288
|
+
h128h &= mask64;
|
|
289
|
+
h128h = inv64(XXH3_avalanche(h128h));
|
|
290
|
+
return h128l | (h128h << n(64));
|
|
291
|
+
}
|
|
292
|
+
function XXH3_len_129to240_128b(data, secret, seed) {
|
|
293
|
+
let acc = (n(data.byteLength) * PRIME64_1) & mask64;
|
|
294
|
+
for (let i = 32; i < 160; i += 32) {
|
|
295
|
+
acc = XXH3_mix32B(acc, view(data, i - 32), view(data, i - 16), view(secret, i - 32), seed);
|
|
296
|
+
}
|
|
297
|
+
acc = XXH3_avalanche(acc & mask64) | (XXH3_avalanche(acc >> n(64)) << n(64));
|
|
298
|
+
for (let i = 160; i <= data.byteLength; i += 32) {
|
|
299
|
+
acc = XXH3_mix32B(acc, view(data, i - 32), view(data, i - 16), view(secret, 3 + i - 160), seed);
|
|
300
|
+
}
|
|
301
|
+
acc = XXH3_mix32B(acc, view(data, data.byteLength - 16), view(data, data.byteLength - 32), view(secret, 136 - 17 - 16), inv64(seed));
|
|
302
|
+
let h128l = (acc + (acc >> n(64))) & mask64;
|
|
303
|
+
h128l = XXH3_avalanche(h128l);
|
|
304
|
+
let h128h = (acc & mask64) * PRIME64_1 +
|
|
305
|
+
(acc >> n(64)) * PRIME64_4 +
|
|
306
|
+
((n(data.byteLength) - seed) & mask64) * PRIME64_2;
|
|
307
|
+
h128h &= mask64;
|
|
308
|
+
h128h = inv64(XXH3_avalanche(h128h));
|
|
309
|
+
return h128l | (h128h << n(64));
|
|
310
|
+
}
|
|
311
|
+
// 16 byte min input
|
|
312
|
+
export function XXH3(input, seed = n(0)) {
|
|
313
|
+
const encoder = new TextEncoder();
|
|
314
|
+
const data = view(typeof input === "string" ? encoder.encode(input) : input);
|
|
315
|
+
const len = data.byteLength;
|
|
316
|
+
const hexDigest = (data) => data.toString(16).padStart(32, "0");
|
|
317
|
+
if (len <= 16)
|
|
318
|
+
return hexDigest(XXH3_len_0to16_128b(data, seed));
|
|
319
|
+
if (len <= 128)
|
|
320
|
+
return hexDigest(XXH3_len_17to128_128b(data, kkey, seed));
|
|
321
|
+
if (len <= 240)
|
|
322
|
+
return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));
|
|
323
|
+
return hexDigest(XXH3_hashLong_128b(data, kkey));
|
|
324
|
+
}
|
|
325
|
+
export function isXXH3(value) {
|
|
326
|
+
// Check if the given string matches the format of XXH3 (128 bit hex digest).
|
|
327
|
+
return /^[0-9a-f]{32}$/.test(value);
|
|
328
|
+
}
|
|
329
|
+
//# sourceMappingURL=hash.js.map
|
package/dist/hash.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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"}
|
package/dist/interrupt.cjs
CHANGED
|
@@ -4,6 +4,7 @@ exports.interrupt = interrupt;
|
|
|
4
4
|
const singletons_1 = require("@langchain/core/singletons");
|
|
5
5
|
const errors_js_1 = require("./errors.cjs");
|
|
6
6
|
const constants_js_1 = require("./constants.cjs");
|
|
7
|
+
const hash_js_1 = require("./hash.cjs");
|
|
7
8
|
/**
|
|
8
9
|
* Interrupts the execution of a graph node.
|
|
9
10
|
* This function can be used to pause execution of a node, and return the value of the `resume`
|
|
@@ -79,12 +80,18 @@ function interrupt(value) {
|
|
|
79
80
|
return v;
|
|
80
81
|
}
|
|
81
82
|
// No resume value found
|
|
83
|
+
const ns = conf[constants_js_1.CONFIG_KEY_CHECKPOINT_NS]?.split(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR);
|
|
82
84
|
throw new errors_js_1.GraphInterrupt([
|
|
83
85
|
{
|
|
84
86
|
value,
|
|
85
87
|
when: "during",
|
|
86
88
|
resumable: true,
|
|
87
|
-
ns
|
|
89
|
+
ns,
|
|
90
|
+
get interrupt_id() {
|
|
91
|
+
if (ns == null)
|
|
92
|
+
return undefined;
|
|
93
|
+
return (0, hash_js_1.XXH3)(ns.join(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR));
|
|
94
|
+
},
|
|
88
95
|
},
|
|
89
96
|
]);
|
|
90
97
|
}
|
package/dist/interrupt.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AsyncLocalStorageProviderSingleton } from "@langchain/core/singletons";
|
|
2
2
|
import { GraphInterrupt } from "./errors.js";
|
|
3
3
|
import { CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_SEND, CHECKPOINT_NAMESPACE_SEPARATOR, RESUME, } from "./constants.js";
|
|
4
|
+
import { XXH3 } from "./hash.js";
|
|
4
5
|
/**
|
|
5
6
|
* Interrupts the execution of a graph node.
|
|
6
7
|
* This function can be used to pause execution of a node, and return the value of the `resume`
|
|
@@ -76,12 +77,18 @@ export function interrupt(value) {
|
|
|
76
77
|
return v;
|
|
77
78
|
}
|
|
78
79
|
// No resume value found
|
|
80
|
+
const ns = conf[CONFIG_KEY_CHECKPOINT_NS]?.split(CHECKPOINT_NAMESPACE_SEPARATOR);
|
|
79
81
|
throw new GraphInterrupt([
|
|
80
82
|
{
|
|
81
83
|
value,
|
|
82
84
|
when: "during",
|
|
83
85
|
resumable: true,
|
|
84
|
-
ns
|
|
86
|
+
ns,
|
|
87
|
+
get interrupt_id() {
|
|
88
|
+
if (ns == null)
|
|
89
|
+
return undefined;
|
|
90
|
+
return XXH3(ns.join(CHECKPOINT_NAMESPACE_SEPARATOR));
|
|
91
|
+
},
|
|
85
92
|
},
|
|
86
93
|
]);
|
|
87
94
|
}
|
package/dist/interrupt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../src/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,8BAA8B,EAC9B,MAAM,GACP,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../src/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,8BAA8B,EAC9B,MAAM,GACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAuB,KAAQ;IACtD,MAAM,MAAM,GACV,kCAAkC,CAAC,iBAAiB,EAAE,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAqB,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjE,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAExC,8BAA8B;IAC9B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnE,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAM,CAAC;IACrC,CAAC;IAED,4BAA4B;IAC5B,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,CAAC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACzC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAiB,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,MAAM,EAAE,GAAyB,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,CACpE,8BAA8B,CAC/B,CAAC;IACF,MAAM,IAAI,cAAc,CAAC;QACvB;YACE,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,EAAE;YACF,IAAI,YAAY;gBACd,IAAI,EAAE,IAAI,IAAI;oBAAE,OAAO,SAAS,CAAC;gBACjC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACvD,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -75,9 +75,9 @@ export type CreateReactAgentParams<A extends AnnotationRoot<any> = AnnotationRoo
|
|
|
75
75
|
prompt?: Prompt;
|
|
76
76
|
stateSchema?: A;
|
|
77
77
|
/** An optional checkpoint saver to persist the agent's state. */
|
|
78
|
-
checkpointSaver?: BaseCheckpointSaver;
|
|
78
|
+
checkpointSaver?: BaseCheckpointSaver | boolean;
|
|
79
79
|
/** An optional checkpoint saver to persist the agent's state. Alias of "checkpointSaver". */
|
|
80
|
-
checkpointer?: BaseCheckpointSaver;
|
|
80
|
+
checkpointer?: BaseCheckpointSaver | boolean;
|
|
81
81
|
/** An optional list of node names to interrupt before running. */
|
|
82
82
|
interruptBefore?: N[] | All;
|
|
83
83
|
/** An optional list of node names to interrupt after running. */
|
package/dist/pregel/algo.cjs
CHANGED
|
@@ -17,6 +17,7 @@ const types_js_1 = require("./types.cjs");
|
|
|
17
17
|
const errors_js_1 = require("../errors.cjs");
|
|
18
18
|
const index_js_1 = require("./utils/index.cjs");
|
|
19
19
|
const call_js_1 = require("./call.cjs");
|
|
20
|
+
const hash_js_1 = require("../hash.cjs");
|
|
20
21
|
const increment = (current) => {
|
|
21
22
|
return current !== undefined ? current + 1 : 1;
|
|
22
23
|
};
|
|
@@ -297,11 +298,14 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
297
298
|
taskPath[2],
|
|
298
299
|
]), checkpoint.id);
|
|
299
300
|
const taskCheckpointNamespace = `${checkpointNamespace}${constants_js_1.CHECKPOINT_NAMESPACE_END}${id}`;
|
|
301
|
+
// we append `true` to the task path to indicate that a call is being made
|
|
302
|
+
// so we should not return interrupts from this task (responsibility lies with the parent)
|
|
303
|
+
const outputTaskPath = [...taskPath.slice(0, 3), true];
|
|
300
304
|
const metadata = {
|
|
301
305
|
langgraph_step: step,
|
|
302
306
|
langgraph_node: call.name,
|
|
303
307
|
langgraph_triggers: triggers,
|
|
304
|
-
langgraph_path:
|
|
308
|
+
langgraph_path: outputTaskPath,
|
|
305
309
|
langgraph_checkpoint_ns: taskCheckpointNamespace,
|
|
306
310
|
};
|
|
307
311
|
if (forExecution) {
|
|
@@ -325,7 +329,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
325
329
|
name: call.name,
|
|
326
330
|
writes: writes,
|
|
327
331
|
triggers,
|
|
328
|
-
path:
|
|
332
|
+
path: outputTaskPath,
|
|
329
333
|
}, select_, fresh_),
|
|
330
334
|
[constants_js_1.CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[constants_js_1.CONFIG_KEY_CHECKPOINTER],
|
|
331
335
|
[constants_js_1.CONFIG_KEY_CHECKPOINT_MAP]: {
|
|
@@ -336,6 +340,8 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
336
340
|
pendingWrites: pendingWrites ?? [],
|
|
337
341
|
taskId: id,
|
|
338
342
|
currentTaskInput: call.input,
|
|
343
|
+
resumeMap: config.configurable?.[constants_js_1.CONFIG_KEY_RESUME_MAP],
|
|
344
|
+
namespaceHash: (0, hash_js_1.XXH3)(taskCheckpointNamespace),
|
|
339
345
|
}),
|
|
340
346
|
[constants_js_1.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[constants_js_1.PREVIOUS],
|
|
341
347
|
checkpoint_id: undefined,
|
|
@@ -346,14 +352,13 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
346
352
|
retry_policy: call.retry,
|
|
347
353
|
cache_key: call.cache
|
|
348
354
|
? {
|
|
349
|
-
|
|
350
|
-
key: (call.cache.keyFunc ?? JSON.stringify)([call.input]),
|
|
355
|
+
key: (0, hash_js_1.XXH3)((call.cache.keyFunc ?? JSON.stringify)([call.input])),
|
|
351
356
|
ns: [constants_js_1.CACHE_NS_WRITES, call.name ?? "__dynamic__"],
|
|
352
357
|
ttl: call.cache.ttl,
|
|
353
358
|
}
|
|
354
359
|
: undefined,
|
|
355
360
|
id,
|
|
356
|
-
path:
|
|
361
|
+
path: outputTaskPath,
|
|
357
362
|
writers: [],
|
|
358
363
|
};
|
|
359
364
|
return task;
|
|
@@ -363,7 +368,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
363
368
|
id,
|
|
364
369
|
name: call.name,
|
|
365
370
|
interrupts: [],
|
|
366
|
-
path:
|
|
371
|
+
path: outputTaskPath,
|
|
367
372
|
};
|
|
368
373
|
}
|
|
369
374
|
}
|
|
@@ -446,6 +451,8 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
446
451
|
pendingWrites: pendingWrites ?? [],
|
|
447
452
|
taskId,
|
|
448
453
|
currentTaskInput: packet.args,
|
|
454
|
+
resumeMap: config.configurable?.[constants_js_1.CONFIG_KEY_RESUME_MAP],
|
|
455
|
+
namespaceHash: (0, hash_js_1.XXH3)(taskCheckpointNamespace),
|
|
449
456
|
}),
|
|
450
457
|
[constants_js_1.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[constants_js_1.PREVIOUS],
|
|
451
458
|
checkpoint_id: undefined,
|
|
@@ -456,9 +463,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
456
463
|
retry_policy: proc.retryPolicy,
|
|
457
464
|
cache_key: proc.cachePolicy
|
|
458
465
|
? {
|
|
459
|
-
key: (proc.cachePolicy.keyFunc ?? JSON.stringify)([
|
|
460
|
-
packet.args,
|
|
461
|
-
]),
|
|
466
|
+
key: (0, hash_js_1.XXH3)((proc.cachePolicy.keyFunc ?? JSON.stringify)([packet.args])),
|
|
462
467
|
ns: [constants_js_1.CACHE_NS_WRITES, proc.name ?? "__dynamic__", packet.node],
|
|
463
468
|
ttl: proc.cachePolicy.ttl,
|
|
464
469
|
}
|
|
@@ -586,6 +591,8 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
586
591
|
pendingWrites: pendingWrites ?? [],
|
|
587
592
|
taskId,
|
|
588
593
|
currentTaskInput: val,
|
|
594
|
+
resumeMap: config.configurable?.[constants_js_1.CONFIG_KEY_RESUME_MAP],
|
|
595
|
+
namespaceHash: (0, hash_js_1.XXH3)(taskCheckpointNamespace),
|
|
589
596
|
}),
|
|
590
597
|
[constants_js_1.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[constants_js_1.PREVIOUS],
|
|
591
598
|
checkpoint_id: undefined,
|
|
@@ -596,7 +603,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
596
603
|
retry_policy: proc.retryPolicy,
|
|
597
604
|
cache_key: proc.cachePolicy
|
|
598
605
|
? {
|
|
599
|
-
key: (proc.cachePolicy.keyFunc ?? JSON.stringify)([val]),
|
|
606
|
+
key: (0, hash_js_1.XXH3)((proc.cachePolicy.keyFunc ?? JSON.stringify)([val])),
|
|
600
607
|
ns: [constants_js_1.CACHE_NS_WRITES, proc.name ?? "__dynamic__", name],
|
|
601
608
|
ttl: proc.cachePolicy.ttl,
|
|
602
609
|
}
|
|
@@ -696,14 +703,22 @@ function _procInput(step, proc, managed, channels, forExecution) {
|
|
|
696
703
|
}
|
|
697
704
|
return val;
|
|
698
705
|
}
|
|
699
|
-
function _scratchpad({ pendingWrites, taskId, currentTaskInput, }) {
|
|
706
|
+
function _scratchpad({ pendingWrites, taskId, currentTaskInput, resumeMap, namespaceHash, }) {
|
|
700
707
|
const nullResume = pendingWrites.find(([writeTaskId, chan]) => writeTaskId === constants_js_1.NULL_TASK_ID && chan === constants_js_1.RESUME)?.[2];
|
|
708
|
+
const resume = (() => {
|
|
709
|
+
const result = pendingWrites
|
|
710
|
+
.filter(([writeTaskId, chan]) => writeTaskId === taskId && chan === constants_js_1.RESUME)
|
|
711
|
+
.flatMap(([_writeTaskId, _chan, resume]) => resume);
|
|
712
|
+
if (resumeMap != null && namespaceHash in resumeMap) {
|
|
713
|
+
const mappedResume = resumeMap[namespaceHash];
|
|
714
|
+
result.push(mappedResume);
|
|
715
|
+
}
|
|
716
|
+
return result;
|
|
717
|
+
})();
|
|
701
718
|
const scratchpad = {
|
|
702
719
|
callCounter: 0,
|
|
703
720
|
interruptCounter: -1,
|
|
704
|
-
resume
|
|
705
|
-
.filter(([writeTaskId, chan]) => writeTaskId === taskId && chan === constants_js_1.RESUME)
|
|
706
|
-
.flatMap(([_writeTaskId, _chan, resume]) => resume),
|
|
721
|
+
resume,
|
|
707
722
|
nullResume,
|
|
708
723
|
subgraphCounter: 0,
|
|
709
724
|
currentTaskInput,
|