@langchain/langgraph 0.2.61 → 0.2.63
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/README.md +14 -0
- package/dist/constants.cjs +2 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +34 -13
- package/dist/prebuilt/react_agent_executor.d.ts +3 -0
- package/dist/prebuilt/react_agent_executor.js +34 -15
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +26 -4
- package/dist/prebuilt/tool_node.js +27 -5
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/debug.cjs +9 -7
- package/dist/pregel/debug.d.ts +10 -0
- package/dist/pregel/debug.js +2 -2
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/debug.test.cjs +189 -0
- package/dist/pregel/debug.test.d.ts +1 -0
- package/dist/pregel/debug.test.js +187 -0
- package/dist/pregel/debug.test.js.map +1 -0
- package/dist/pregel/index.cjs +12 -4
- package/dist/pregel/index.d.ts +3 -0
- package/dist/pregel/index.js +14 -6
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.mapCommand.test.cjs +151 -0
- package/dist/pregel/io.mapCommand.test.d.ts +1 -0
- package/dist/pregel/io.mapCommand.test.js +149 -0
- package/dist/pregel/io.mapCommand.test.js.map +1 -0
- package/dist/pregel/messages.test.cjs +351 -0
- package/dist/pregel/messages.test.d.ts +1 -0
- package/dist/pregel/messages.test.js +349 -0
- package/dist/pregel/messages.test.js.map +1 -0
- package/dist/pregel/read.cjs +1 -1
- package/dist/pregel/read.js +1 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/read.test.cjs +194 -0
- package/dist/pregel/read.test.d.ts +1 -0
- package/dist/pregel/read.test.js +192 -0
- package/dist/pregel/read.test.js.map +1 -0
- package/dist/pregel/retry.cjs +5 -0
- package/dist/pregel/retry.d.ts +2 -0
- package/dist/pregel/retry.js +5 -0
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +95 -27
- package/dist/pregel/runner.d.ts +14 -0
- package/dist/pregel/runner.js +97 -29
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/runner.test.cjs +66 -0
- package/dist/pregel/runner.test.d.ts +1 -0
- package/dist/pregel/runner.test.js +64 -0
- package/dist/pregel/runner.test.js.map +1 -0
- package/dist/pregel/stream.cjs +62 -1
- package/dist/pregel/stream.d.ts +23 -0
- package/dist/pregel/stream.js +60 -0
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.d.ts +19 -0
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.test.cjs +214 -0
- package/dist/pregel/utils/config.test.d.ts +1 -0
- package/dist/pregel/utils/config.test.js +212 -0
- package/dist/pregel/utils/config.test.js.map +1 -0
- package/dist/pregel/utils/index.cjs +26 -1
- package/dist/pregel/utils/index.d.ts +6 -0
- package/dist/pregel/utils/index.js +24 -0
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.test.cjs +83 -0
- package/dist/pregel/utils/subgraph.test.d.ts +1 -0
- package/dist/pregel/utils/subgraph.test.js +81 -0
- package/dist/pregel/utils/subgraph.test.js.map +1 -0
- package/dist/pregel/validate.test.cjs +220 -0
- package/dist/pregel/validate.test.d.ts +1 -0
- package/dist/pregel/validate.test.js +218 -0
- package/dist/pregel/validate.test.js.map +1 -0
- package/dist/pregel/write.test.cjs +181 -0
- package/dist/pregel/write.test.d.ts +1 -0
- package/dist/pregel/write.test.js +179 -0
- package/dist/pregel/write.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const runnables_1 = require("@langchain/core/runnables");
|
|
5
|
+
const write_js_1 = require("./write.cjs");
|
|
6
|
+
const constants_js_1 = require("../constants.cjs");
|
|
7
|
+
const errors_js_1 = require("../errors.cjs");
|
|
8
|
+
(0, globals_1.describe)("ChannelWrite", () => {
|
|
9
|
+
(0, globals_1.it)("should write a value to a channel", async () => {
|
|
10
|
+
// Setup write tracking
|
|
11
|
+
const writes = [];
|
|
12
|
+
// Mock config with send function
|
|
13
|
+
const mockSend = globals_1.jest
|
|
14
|
+
.fn()
|
|
15
|
+
.mockImplementation((values) => {
|
|
16
|
+
writes.push(...values);
|
|
17
|
+
});
|
|
18
|
+
const config = {
|
|
19
|
+
configurable: {
|
|
20
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
// Create a channel write
|
|
24
|
+
const write = new write_js_1.ChannelWrite([
|
|
25
|
+
{ channel: "output", value: "test_output" },
|
|
26
|
+
]);
|
|
27
|
+
// Run the write with input
|
|
28
|
+
const result = await write.invoke("input_value", config);
|
|
29
|
+
// Verify the input is passed through
|
|
30
|
+
(0, globals_1.expect)(result).toBe("input_value");
|
|
31
|
+
// Verify the write happened
|
|
32
|
+
(0, globals_1.expect)(writes).toEqual([["output", "test_output"]]);
|
|
33
|
+
});
|
|
34
|
+
(0, globals_1.it)("should support writing multiple channels", async () => {
|
|
35
|
+
// Setup write tracking
|
|
36
|
+
const writes = [];
|
|
37
|
+
// Mock config with send function
|
|
38
|
+
const mockSend = globals_1.jest
|
|
39
|
+
.fn()
|
|
40
|
+
.mockImplementation((values) => {
|
|
41
|
+
writes.push(...values);
|
|
42
|
+
});
|
|
43
|
+
const config = {
|
|
44
|
+
configurable: {
|
|
45
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
// Create a channel write with multiple channels
|
|
49
|
+
const write = new write_js_1.ChannelWrite([
|
|
50
|
+
{ channel: "output1", value: "value1" },
|
|
51
|
+
{ channel: "output2", value: "value2" },
|
|
52
|
+
]);
|
|
53
|
+
// Run the write with input
|
|
54
|
+
await write.invoke("input_value", config);
|
|
55
|
+
// Verify the writes happened
|
|
56
|
+
(0, globals_1.expect)(writes).toEqual([
|
|
57
|
+
["output1", "value1"],
|
|
58
|
+
["output2", "value2"],
|
|
59
|
+
]);
|
|
60
|
+
});
|
|
61
|
+
(0, globals_1.it)("should support using PASSTHROUGH to pass input value to channel", async () => {
|
|
62
|
+
// Setup write tracking
|
|
63
|
+
const writes = [];
|
|
64
|
+
// Mock config with send function
|
|
65
|
+
const mockSend = globals_1.jest
|
|
66
|
+
.fn()
|
|
67
|
+
.mockImplementation((values) => {
|
|
68
|
+
writes.push(...values);
|
|
69
|
+
});
|
|
70
|
+
const config = {
|
|
71
|
+
configurable: {
|
|
72
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
// Create a channel write with PASSTHROUGH
|
|
76
|
+
const write = new write_js_1.ChannelWrite([{ channel: "output", value: write_js_1.PASSTHROUGH }]);
|
|
77
|
+
// Run the write with input
|
|
78
|
+
await write.invoke("input_value", config);
|
|
79
|
+
// Verify the input value was written to the channel
|
|
80
|
+
(0, globals_1.expect)(writes).toEqual([["output", "input_value"]]);
|
|
81
|
+
});
|
|
82
|
+
(0, globals_1.it)("should support using mapper to transform value", async () => {
|
|
83
|
+
// Setup write tracking
|
|
84
|
+
const writes = [];
|
|
85
|
+
// Mock config with send function
|
|
86
|
+
const mockSend = globals_1.jest
|
|
87
|
+
.fn()
|
|
88
|
+
.mockImplementation((values) => {
|
|
89
|
+
writes.push(...values);
|
|
90
|
+
});
|
|
91
|
+
const config = {
|
|
92
|
+
configurable: {
|
|
93
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
// Create a transformer as a Runnable
|
|
97
|
+
const transformer = new runnables_1.RunnablePassthrough().pipe((value) => `transformed_${value}`);
|
|
98
|
+
// Create a channel write with a mapper
|
|
99
|
+
const write = new write_js_1.ChannelWrite([
|
|
100
|
+
{ channel: "output", value: "original", mapper: transformer },
|
|
101
|
+
]);
|
|
102
|
+
// Run the write
|
|
103
|
+
await write.invoke("input_value", config);
|
|
104
|
+
// Verify the transformed value was written
|
|
105
|
+
(0, globals_1.expect)(writes).toEqual([["output", "transformed_original"]]);
|
|
106
|
+
});
|
|
107
|
+
(0, globals_1.it)("should support SKIP_WRITE to conditionally skip writing", async () => {
|
|
108
|
+
// Setup write tracking
|
|
109
|
+
const writes = [];
|
|
110
|
+
// Mock config with send function
|
|
111
|
+
const mockSend = globals_1.jest
|
|
112
|
+
.fn()
|
|
113
|
+
.mockImplementation((values) => {
|
|
114
|
+
writes.push(...values);
|
|
115
|
+
});
|
|
116
|
+
const config = {
|
|
117
|
+
configurable: {
|
|
118
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
// Create a mapper that returns SKIP_WRITE
|
|
122
|
+
const conditionalMapper = new runnables_1.RunnablePassthrough().pipe((_) => write_js_1.SKIP_WRITE);
|
|
123
|
+
// Create a channel write with writes that should and shouldn't happen
|
|
124
|
+
const write = new write_js_1.ChannelWrite([
|
|
125
|
+
{ channel: "output1", value: "value1" },
|
|
126
|
+
{ channel: "output2", value: "value2", mapper: conditionalMapper },
|
|
127
|
+
]);
|
|
128
|
+
// Run the write
|
|
129
|
+
await write.invoke("input_value", config);
|
|
130
|
+
// Verify only the first write happened
|
|
131
|
+
(0, globals_1.expect)(writes).toEqual([["output1", "value1"]]);
|
|
132
|
+
});
|
|
133
|
+
(0, globals_1.it)("should handle Send objects by writing to TASKS", async () => {
|
|
134
|
+
// Setup write tracking
|
|
135
|
+
const writes = [];
|
|
136
|
+
// Mock config with send function
|
|
137
|
+
const mockSend = globals_1.jest
|
|
138
|
+
.fn()
|
|
139
|
+
.mockImplementation((values) => {
|
|
140
|
+
writes.push(...values);
|
|
141
|
+
});
|
|
142
|
+
const config = {
|
|
143
|
+
configurable: {
|
|
144
|
+
[constants_js_1.CONFIG_KEY_SEND]: mockSend,
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
// Create a Send object
|
|
148
|
+
const send = new constants_js_1.Send("target_node", { arg: "value" });
|
|
149
|
+
// Create a channel write with a Send
|
|
150
|
+
const write = new write_js_1.ChannelWrite([send]);
|
|
151
|
+
// Run the write
|
|
152
|
+
await write.invoke("input_value", config);
|
|
153
|
+
// Verify the Send was written to the TASKS channel
|
|
154
|
+
(0, globals_1.expect)(writes).toEqual([[constants_js_1.TASKS, send]]);
|
|
155
|
+
});
|
|
156
|
+
(0, globals_1.it)("should throw error when trying to write to reserved TASKS channel", async () => {
|
|
157
|
+
// Create a channel write with an invalid channel
|
|
158
|
+
const write = new write_js_1.ChannelWrite([{ channel: constants_js_1.TASKS, value: "value" }]);
|
|
159
|
+
// Mock config with send function
|
|
160
|
+
const config = {
|
|
161
|
+
configurable: {
|
|
162
|
+
[constants_js_1.CONFIG_KEY_SEND]: globals_1.jest.fn(),
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
// Verify it throws an error
|
|
166
|
+
await (0, globals_1.expect)(write.invoke("input_value", config)).rejects.toThrow(errors_js_1.InvalidUpdateError);
|
|
167
|
+
await (0, globals_1.expect)(write.invoke("input_value", config)).rejects.toThrow("Cannot write to the reserved channel TASKS");
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
(0, globals_1.describe)("ChannelWrite static methods", () => {
|
|
171
|
+
(0, globals_1.it)("isWriter should identify ChannelWrite instances", () => {
|
|
172
|
+
const write = new write_js_1.ChannelWrite([{ channel: "output", value: "value" }]);
|
|
173
|
+
(0, globals_1.expect)(write_js_1.ChannelWrite.isWriter(write)).toBe(true);
|
|
174
|
+
});
|
|
175
|
+
(0, globals_1.it)("registerWriter should mark a Runnable as a writer", () => {
|
|
176
|
+
const runnable = new runnables_1.RunnablePassthrough();
|
|
177
|
+
const writer = write_js_1.ChannelWrite.registerWriter(runnable);
|
|
178
|
+
(0, globals_1.expect)(write_js_1.ChannelWrite.isWriter(writer)).toBe(true);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=write.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { describe, expect, it, jest } from "@jest/globals";
|
|
2
|
+
import { RunnablePassthrough } from "@langchain/core/runnables";
|
|
3
|
+
import { ChannelWrite, PASSTHROUGH, SKIP_WRITE } from "./write.js";
|
|
4
|
+
import { CONFIG_KEY_SEND, Send, TASKS } from "../constants.js";
|
|
5
|
+
import { InvalidUpdateError } from "../errors.js";
|
|
6
|
+
describe("ChannelWrite", () => {
|
|
7
|
+
it("should write a value to a channel", async () => {
|
|
8
|
+
// Setup write tracking
|
|
9
|
+
const writes = [];
|
|
10
|
+
// Mock config with send function
|
|
11
|
+
const mockSend = jest
|
|
12
|
+
.fn()
|
|
13
|
+
.mockImplementation((values) => {
|
|
14
|
+
writes.push(...values);
|
|
15
|
+
});
|
|
16
|
+
const config = {
|
|
17
|
+
configurable: {
|
|
18
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
// Create a channel write
|
|
22
|
+
const write = new ChannelWrite([
|
|
23
|
+
{ channel: "output", value: "test_output" },
|
|
24
|
+
]);
|
|
25
|
+
// Run the write with input
|
|
26
|
+
const result = await write.invoke("input_value", config);
|
|
27
|
+
// Verify the input is passed through
|
|
28
|
+
expect(result).toBe("input_value");
|
|
29
|
+
// Verify the write happened
|
|
30
|
+
expect(writes).toEqual([["output", "test_output"]]);
|
|
31
|
+
});
|
|
32
|
+
it("should support writing multiple channels", async () => {
|
|
33
|
+
// Setup write tracking
|
|
34
|
+
const writes = [];
|
|
35
|
+
// Mock config with send function
|
|
36
|
+
const mockSend = jest
|
|
37
|
+
.fn()
|
|
38
|
+
.mockImplementation((values) => {
|
|
39
|
+
writes.push(...values);
|
|
40
|
+
});
|
|
41
|
+
const config = {
|
|
42
|
+
configurable: {
|
|
43
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
// Create a channel write with multiple channels
|
|
47
|
+
const write = new ChannelWrite([
|
|
48
|
+
{ channel: "output1", value: "value1" },
|
|
49
|
+
{ channel: "output2", value: "value2" },
|
|
50
|
+
]);
|
|
51
|
+
// Run the write with input
|
|
52
|
+
await write.invoke("input_value", config);
|
|
53
|
+
// Verify the writes happened
|
|
54
|
+
expect(writes).toEqual([
|
|
55
|
+
["output1", "value1"],
|
|
56
|
+
["output2", "value2"],
|
|
57
|
+
]);
|
|
58
|
+
});
|
|
59
|
+
it("should support using PASSTHROUGH to pass input value to channel", async () => {
|
|
60
|
+
// Setup write tracking
|
|
61
|
+
const writes = [];
|
|
62
|
+
// Mock config with send function
|
|
63
|
+
const mockSend = jest
|
|
64
|
+
.fn()
|
|
65
|
+
.mockImplementation((values) => {
|
|
66
|
+
writes.push(...values);
|
|
67
|
+
});
|
|
68
|
+
const config = {
|
|
69
|
+
configurable: {
|
|
70
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
// Create a channel write with PASSTHROUGH
|
|
74
|
+
const write = new ChannelWrite([{ channel: "output", value: PASSTHROUGH }]);
|
|
75
|
+
// Run the write with input
|
|
76
|
+
await write.invoke("input_value", config);
|
|
77
|
+
// Verify the input value was written to the channel
|
|
78
|
+
expect(writes).toEqual([["output", "input_value"]]);
|
|
79
|
+
});
|
|
80
|
+
it("should support using mapper to transform value", async () => {
|
|
81
|
+
// Setup write tracking
|
|
82
|
+
const writes = [];
|
|
83
|
+
// Mock config with send function
|
|
84
|
+
const mockSend = jest
|
|
85
|
+
.fn()
|
|
86
|
+
.mockImplementation((values) => {
|
|
87
|
+
writes.push(...values);
|
|
88
|
+
});
|
|
89
|
+
const config = {
|
|
90
|
+
configurable: {
|
|
91
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
// Create a transformer as a Runnable
|
|
95
|
+
const transformer = new RunnablePassthrough().pipe((value) => `transformed_${value}`);
|
|
96
|
+
// Create a channel write with a mapper
|
|
97
|
+
const write = new ChannelWrite([
|
|
98
|
+
{ channel: "output", value: "original", mapper: transformer },
|
|
99
|
+
]);
|
|
100
|
+
// Run the write
|
|
101
|
+
await write.invoke("input_value", config);
|
|
102
|
+
// Verify the transformed value was written
|
|
103
|
+
expect(writes).toEqual([["output", "transformed_original"]]);
|
|
104
|
+
});
|
|
105
|
+
it("should support SKIP_WRITE to conditionally skip writing", async () => {
|
|
106
|
+
// Setup write tracking
|
|
107
|
+
const writes = [];
|
|
108
|
+
// Mock config with send function
|
|
109
|
+
const mockSend = jest
|
|
110
|
+
.fn()
|
|
111
|
+
.mockImplementation((values) => {
|
|
112
|
+
writes.push(...values);
|
|
113
|
+
});
|
|
114
|
+
const config = {
|
|
115
|
+
configurable: {
|
|
116
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
// Create a mapper that returns SKIP_WRITE
|
|
120
|
+
const conditionalMapper = new RunnablePassthrough().pipe((_) => SKIP_WRITE);
|
|
121
|
+
// Create a channel write with writes that should and shouldn't happen
|
|
122
|
+
const write = new ChannelWrite([
|
|
123
|
+
{ channel: "output1", value: "value1" },
|
|
124
|
+
{ channel: "output2", value: "value2", mapper: conditionalMapper },
|
|
125
|
+
]);
|
|
126
|
+
// Run the write
|
|
127
|
+
await write.invoke("input_value", config);
|
|
128
|
+
// Verify only the first write happened
|
|
129
|
+
expect(writes).toEqual([["output1", "value1"]]);
|
|
130
|
+
});
|
|
131
|
+
it("should handle Send objects by writing to TASKS", async () => {
|
|
132
|
+
// Setup write tracking
|
|
133
|
+
const writes = [];
|
|
134
|
+
// Mock config with send function
|
|
135
|
+
const mockSend = jest
|
|
136
|
+
.fn()
|
|
137
|
+
.mockImplementation((values) => {
|
|
138
|
+
writes.push(...values);
|
|
139
|
+
});
|
|
140
|
+
const config = {
|
|
141
|
+
configurable: {
|
|
142
|
+
[CONFIG_KEY_SEND]: mockSend,
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
// Create a Send object
|
|
146
|
+
const send = new Send("target_node", { arg: "value" });
|
|
147
|
+
// Create a channel write with a Send
|
|
148
|
+
const write = new ChannelWrite([send]);
|
|
149
|
+
// Run the write
|
|
150
|
+
await write.invoke("input_value", config);
|
|
151
|
+
// Verify the Send was written to the TASKS channel
|
|
152
|
+
expect(writes).toEqual([[TASKS, send]]);
|
|
153
|
+
});
|
|
154
|
+
it("should throw error when trying to write to reserved TASKS channel", async () => {
|
|
155
|
+
// Create a channel write with an invalid channel
|
|
156
|
+
const write = new ChannelWrite([{ channel: TASKS, value: "value" }]);
|
|
157
|
+
// Mock config with send function
|
|
158
|
+
const config = {
|
|
159
|
+
configurable: {
|
|
160
|
+
[CONFIG_KEY_SEND]: jest.fn(),
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
// Verify it throws an error
|
|
164
|
+
await expect(write.invoke("input_value", config)).rejects.toThrow(InvalidUpdateError);
|
|
165
|
+
await expect(write.invoke("input_value", config)).rejects.toThrow("Cannot write to the reserved channel TASKS");
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
describe("ChannelWrite static methods", () => {
|
|
169
|
+
it("isWriter should identify ChannelWrite instances", () => {
|
|
170
|
+
const write = new ChannelWrite([{ channel: "output", value: "value" }]);
|
|
171
|
+
expect(ChannelWrite.isWriter(write)).toBe(true);
|
|
172
|
+
});
|
|
173
|
+
it("registerWriter should mark a Runnable as a writer", () => {
|
|
174
|
+
const runnable = new RunnablePassthrough();
|
|
175
|
+
const writer = ChannelWrite.registerWriter(runnable);
|
|
176
|
+
expect(ChannelWrite.isWriter(writer)).toBe(true);
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
//# sourceMappingURL=write.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.test.js","sourceRoot":"","sources":["../../src/pregel/write.test.ts"],"names":[],"mappings":"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"}
|