@langchain/langgraph 0.2.73 → 0.3.0
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/any_value.cjs +3 -0
- package/dist/channels/any_value.d.ts +1 -0
- package/dist/channels/any_value.js +3 -0
- package/dist/channels/any_value.js.map +1 -1
- package/dist/channels/base.cjs +35 -6
- package/dist/channels/base.d.ts +17 -2
- package/dist/channels/base.js +31 -2
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs +3 -0
- package/dist/channels/binop.d.ts +1 -0
- package/dist/channels/binop.js +3 -0
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.cjs +119 -9
- package/dist/channels/dynamic_barrier_value.d.ts +29 -0
- package/dist/channels/dynamic_barrier_value.js +117 -8
- package/dist/channels/dynamic_barrier_value.js.map +1 -1
- package/dist/channels/ephemeral_value.cjs +3 -0
- package/dist/channels/ephemeral_value.d.ts +1 -0
- package/dist/channels/ephemeral_value.js +3 -0
- package/dist/channels/ephemeral_value.js.map +1 -1
- package/dist/channels/last_value.cjs +82 -4
- package/dist/channels/last_value.d.ts +21 -0
- package/dist/channels/last_value.js +80 -3
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +94 -1
- package/dist/channels/named_barrier_value.d.ts +23 -0
- package/dist/channels/named_barrier_value.js +92 -0
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs +3 -0
- package/dist/channels/topic.d.ts +1 -0
- package/dist/channels/topic.js +3 -0
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs +33 -12
- package/dist/constants.d.ts +48 -27
- package/dist/constants.js +27 -7
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +4 -4
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +15 -7
- package/dist/func/index.d.ts +12 -3
- package/dist/func/index.js +12 -4
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.cjs +1 -2
- package/dist/func/types.d.ts +1 -1
- package/dist/graph/annotation.cjs +2 -2
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +46 -40
- package/dist/graph/graph.d.ts +14 -4
- package/dist/graph/graph.js +46 -40
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +3 -1
- package/dist/graph/index.d.ts +2 -2
- package/dist/graph/index.js +2 -2
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/message.cjs +43 -5
- package/dist/graph/message.d.ts +5 -0
- package/dist/graph/message.js +40 -3
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/message.test.cjs +196 -0
- package/dist/graph/message.test.d.ts +1 -0
- package/dist/graph/message.test.js +194 -0
- package/dist/graph/message.test.js.map +1 -0
- package/dist/graph/messages_annotation.cjs +54 -1
- package/dist/graph/messages_annotation.d.ts +47 -0
- package/dist/graph/messages_annotation.js +53 -0
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +162 -104
- package/dist/graph/state.d.ts +36 -11
- package/dist/graph/state.js +163 -106
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +17 -67
- package/dist/graph/zod/schema.js +12 -61
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/state.cjs +69 -7
- package/dist/graph/zod/state.d.ts +10 -1
- package/dist/graph/zod/state.js +61 -0
- package/dist/graph/zod/state.js.map +1 -1
- package/dist/interrupt.cjs +1 -2
- package/dist/interrupt.js.map +1 -1
- package/dist/managed/base.cjs +3 -3
- package/dist/managed/base.js.map +1 -1
- package/dist/managed/shared_value.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +3 -4
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +1 -2
- package/dist/prebuilt/agent_executor.d.ts +1 -1
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +1 -2
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +103 -49
- package/dist/prebuilt/react_agent_executor.d.ts +22 -6
- package/dist/prebuilt/react_agent_executor.js +99 -45
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +2 -2
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +68 -27
- package/dist/pregel/algo.d.ts +1 -1
- package/dist/pregel/algo.js +62 -21
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +5 -5
- package/dist/pregel/call.d.ts +3 -2
- package/dist/pregel/call.js +2 -1
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.cjs +10 -10
- package/dist/pregel/debug.d.ts +3 -3
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/debug.test.cjs +37 -31
- package/dist/pregel/debug.test.js +18 -12
- package/dist/pregel/debug.test.js.map +1 -1
- package/dist/pregel/index.cjs +99 -29
- package/dist/pregel/index.d.ts +19 -6
- package/dist/pregel/index.js +100 -30
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs +8 -9
- package/dist/pregel/io.js +2 -2
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/io.mapCommand.test.cjs +29 -29
- package/dist/pregel/io.mapCommand.test.js +5 -5
- package/dist/pregel/io.mapCommand.test.js.map +1 -1
- package/dist/pregel/loop.cjs +126 -26
- package/dist/pregel/loop.d.ts +29 -2
- package/dist/pregel/loop.js +127 -27
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/messages.cjs +15 -13
- package/dist/pregel/messages.d.ts +1 -1
- package/dist/pregel/messages.js +15 -13
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/messages.test.cjs +105 -105
- package/dist/pregel/messages.test.js +31 -31
- package/dist/pregel/messages.test.js.map +1 -1
- package/dist/pregel/read.cjs +12 -1
- package/dist/pregel/read.d.ts +3 -1
- package/dist/pregel/read.js +12 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/read.test.cjs +35 -35
- package/dist/pregel/read.test.js +4 -4
- package/dist/pregel/read.test.js.map +1 -1
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +12 -16
- package/dist/pregel/retry.js +10 -14
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +92 -118
- package/dist/pregel/runner.js +93 -119
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/runner.test.cjs +14 -14
- package/dist/pregel/runner.test.js +4 -4
- package/dist/pregel/runner.test.js.map +1 -1
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.cjs +10 -3
- package/dist/pregel/types.d.ts +64 -8
- package/dist/pregel/types.js +8 -1
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.cjs +40 -22
- package/dist/pregel/utils/config.d.ts +8 -5
- package/dist/pregel/utils/config.js +33 -14
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/config.test.cjs +58 -58
- package/dist/pregel/utils/config.test.js +12 -12
- package/dist/pregel/utils/config.test.js.map +1 -1
- package/dist/pregel/utils/index.cjs +12 -11
- package/dist/pregel/utils/index.d.ts +15 -0
- package/dist/pregel/utils/index.js +6 -4
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +2 -3
- package/dist/pregel/utils/subgraph.js.map +1 -1
- package/dist/pregel/utils/subgraph.test.cjs +18 -18
- package/dist/pregel/utils/subgraph.test.js +1 -1
- package/dist/pregel/utils/subgraph.test.js.map +1 -1
- package/dist/pregel/validate.cjs +3 -3
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/validate.test.cjs +43 -43
- package/dist/pregel/validate.test.js +3 -3
- package/dist/pregel/validate.test.js.map +1 -1
- package/dist/pregel/write.js.map +1 -1
- package/dist/pregel/write.test.cjs +30 -30
- package/dist/pregel/write.test.js +8 -8
- package/dist/pregel/write.test.js.map +1 -1
- package/dist/setup/async_local_storage.cjs +1 -2
- package/dist/utils.cjs +7 -7
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +6 -1
- package/dist/web.d.ts +3 -3
- package/dist/web.js +3 -3
- package/dist/web.js.map +1 -1
- package/package.json +15 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LastValue = void 0;
|
|
3
|
+
exports.LastValueAfterFinish = exports.LastValue = void 0;
|
|
4
4
|
const errors_js_1 = require("../errors.cjs");
|
|
5
5
|
const base_js_1 = require("./base.cjs");
|
|
6
6
|
/**
|
|
@@ -40,9 +40,7 @@ class LastValue extends base_js_1.BaseChannel {
|
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
42
42
|
if (values.length !== 1) {
|
|
43
|
-
throw new errors_js_1.InvalidUpdateError("LastValue can only receive one value per step.", {
|
|
44
|
-
lc_error_code: "INVALID_CONCURRENT_GRAPH_UPDATE",
|
|
45
|
-
});
|
|
43
|
+
throw new errors_js_1.InvalidUpdateError("LastValue can only receive one value per step.", { lc_error_code: "INVALID_CONCURRENT_GRAPH_UPDATE" });
|
|
46
44
|
}
|
|
47
45
|
// eslint-disable-next-line prefer-destructuring
|
|
48
46
|
this.value = [values[values.length - 1]];
|
|
@@ -60,6 +58,86 @@ class LastValue extends base_js_1.BaseChannel {
|
|
|
60
58
|
}
|
|
61
59
|
return this.value[0];
|
|
62
60
|
}
|
|
61
|
+
isAvailable() {
|
|
62
|
+
return this.value.length !== 0;
|
|
63
|
+
}
|
|
63
64
|
}
|
|
64
65
|
exports.LastValue = LastValue;
|
|
66
|
+
/**
|
|
67
|
+
* Stores the last value received, but only made available after finish().
|
|
68
|
+
* Once made available, clears the value.
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
class LastValueAfterFinish extends base_js_1.BaseChannel {
|
|
72
|
+
constructor() {
|
|
73
|
+
super(...arguments);
|
|
74
|
+
Object.defineProperty(this, "lc_graph_name", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
configurable: true,
|
|
77
|
+
writable: true,
|
|
78
|
+
value: "LastValueAfterFinish"
|
|
79
|
+
});
|
|
80
|
+
// value is an array so we don't misinterpret an update to undefined as no write
|
|
81
|
+
Object.defineProperty(this, "value", {
|
|
82
|
+
enumerable: true,
|
|
83
|
+
configurable: true,
|
|
84
|
+
writable: true,
|
|
85
|
+
value: []
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(this, "finished", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: false
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
fromCheckpoint(checkpoint) {
|
|
95
|
+
const empty = new LastValueAfterFinish();
|
|
96
|
+
if (typeof checkpoint !== "undefined") {
|
|
97
|
+
const [value, finished] = checkpoint;
|
|
98
|
+
empty.value = [value];
|
|
99
|
+
empty.finished = finished;
|
|
100
|
+
}
|
|
101
|
+
return empty;
|
|
102
|
+
}
|
|
103
|
+
update(values) {
|
|
104
|
+
if (values.length === 0) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
this.finished = false;
|
|
108
|
+
// eslint-disable-next-line prefer-destructuring
|
|
109
|
+
this.value = [values[values.length - 1]];
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
get() {
|
|
113
|
+
if (this.value.length === 0 || !this.finished) {
|
|
114
|
+
throw new errors_js_1.EmptyChannelError();
|
|
115
|
+
}
|
|
116
|
+
return this.value[0];
|
|
117
|
+
}
|
|
118
|
+
checkpoint() {
|
|
119
|
+
if (this.value.length === 0)
|
|
120
|
+
return undefined;
|
|
121
|
+
return [this.value[0], this.finished];
|
|
122
|
+
}
|
|
123
|
+
consume() {
|
|
124
|
+
if (this.finished) {
|
|
125
|
+
this.finished = false;
|
|
126
|
+
this.value = [];
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
finish() {
|
|
132
|
+
if (!this.finished && this.value.length > 0) {
|
|
133
|
+
this.finished = true;
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
isAvailable() {
|
|
139
|
+
return this.value.length !== 0 && this.finished;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.LastValueAfterFinish = LastValueAfterFinish;
|
|
65
143
|
//# sourceMappingURL=last_value.js.map
|
|
@@ -14,4 +14,25 @@ export declare class LastValue<Value> extends BaseChannel<Value, Value, Value> {
|
|
|
14
14
|
update(values: Value[]): boolean;
|
|
15
15
|
get(): Value;
|
|
16
16
|
checkpoint(): Value;
|
|
17
|
+
isAvailable(): boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Stores the last value received, but only made available after finish().
|
|
21
|
+
* Once made available, clears the value.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare class LastValueAfterFinish<Value> extends BaseChannel<Value, Value, [
|
|
25
|
+
Value,
|
|
26
|
+
boolean
|
|
27
|
+
]> {
|
|
28
|
+
lc_graph_name: string;
|
|
29
|
+
value: [Value] | [];
|
|
30
|
+
finished: boolean;
|
|
31
|
+
fromCheckpoint(checkpoint?: [Value, boolean]): this;
|
|
32
|
+
update(values: Value[]): boolean;
|
|
33
|
+
get(): Value;
|
|
34
|
+
checkpoint(): [Value, boolean] | undefined;
|
|
35
|
+
consume(): boolean;
|
|
36
|
+
finish(): boolean;
|
|
37
|
+
isAvailable(): boolean;
|
|
17
38
|
}
|
|
@@ -37,9 +37,7 @@ export class LastValue extends BaseChannel {
|
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
39
|
if (values.length !== 1) {
|
|
40
|
-
throw new InvalidUpdateError("LastValue can only receive one value per step.", {
|
|
41
|
-
lc_error_code: "INVALID_CONCURRENT_GRAPH_UPDATE",
|
|
42
|
-
});
|
|
40
|
+
throw new InvalidUpdateError("LastValue can only receive one value per step.", { lc_error_code: "INVALID_CONCURRENT_GRAPH_UPDATE" });
|
|
43
41
|
}
|
|
44
42
|
// eslint-disable-next-line prefer-destructuring
|
|
45
43
|
this.value = [values[values.length - 1]];
|
|
@@ -57,5 +55,84 @@ export class LastValue extends BaseChannel {
|
|
|
57
55
|
}
|
|
58
56
|
return this.value[0];
|
|
59
57
|
}
|
|
58
|
+
isAvailable() {
|
|
59
|
+
return this.value.length !== 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Stores the last value received, but only made available after finish().
|
|
64
|
+
* Once made available, clears the value.
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
export class LastValueAfterFinish extends BaseChannel {
|
|
68
|
+
constructor() {
|
|
69
|
+
super(...arguments);
|
|
70
|
+
Object.defineProperty(this, "lc_graph_name", {
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: true,
|
|
73
|
+
writable: true,
|
|
74
|
+
value: "LastValueAfterFinish"
|
|
75
|
+
});
|
|
76
|
+
// value is an array so we don't misinterpret an update to undefined as no write
|
|
77
|
+
Object.defineProperty(this, "value", {
|
|
78
|
+
enumerable: true,
|
|
79
|
+
configurable: true,
|
|
80
|
+
writable: true,
|
|
81
|
+
value: []
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(this, "finished", {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
configurable: true,
|
|
86
|
+
writable: true,
|
|
87
|
+
value: false
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
fromCheckpoint(checkpoint) {
|
|
91
|
+
const empty = new LastValueAfterFinish();
|
|
92
|
+
if (typeof checkpoint !== "undefined") {
|
|
93
|
+
const [value, finished] = checkpoint;
|
|
94
|
+
empty.value = [value];
|
|
95
|
+
empty.finished = finished;
|
|
96
|
+
}
|
|
97
|
+
return empty;
|
|
98
|
+
}
|
|
99
|
+
update(values) {
|
|
100
|
+
if (values.length === 0) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
this.finished = false;
|
|
104
|
+
// eslint-disable-next-line prefer-destructuring
|
|
105
|
+
this.value = [values[values.length - 1]];
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
get() {
|
|
109
|
+
if (this.value.length === 0 || !this.finished) {
|
|
110
|
+
throw new EmptyChannelError();
|
|
111
|
+
}
|
|
112
|
+
return this.value[0];
|
|
113
|
+
}
|
|
114
|
+
checkpoint() {
|
|
115
|
+
if (this.value.length === 0)
|
|
116
|
+
return undefined;
|
|
117
|
+
return [this.value[0], this.finished];
|
|
118
|
+
}
|
|
119
|
+
consume() {
|
|
120
|
+
if (this.finished) {
|
|
121
|
+
this.finished = false;
|
|
122
|
+
this.value = [];
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
finish() {
|
|
128
|
+
if (!this.finished && this.value.length > 0) {
|
|
129
|
+
this.finished = true;
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
isAvailable() {
|
|
135
|
+
return this.value.length !== 0 && this.finished;
|
|
136
|
+
}
|
|
60
137
|
}
|
|
61
138
|
//# sourceMappingURL=last_value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last_value.js","sourceRoot":"","sources":["../../src/channels/last_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,OAAO,SAAiB,SAAQ,WAAgC;IAAtE;;QACE;;;;mBAAgB,WAAW;WAAC;QAE5B,gFAAgF;QAChF;;;;mBAAsB,EAAE;WAAC;
|
|
1
|
+
{"version":3,"file":"last_value.js","sourceRoot":"","sources":["../../src/channels/last_value.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NamedBarrierValue = exports.areSetsEqual = void 0;
|
|
3
|
+
exports.NamedBarrierValueAfterFinish = exports.NamedBarrierValue = exports.areSetsEqual = void 0;
|
|
4
4
|
const errors_js_1 = require("../errors.cjs");
|
|
5
5
|
const base_js_1 = require("./base.cjs");
|
|
6
6
|
const areSetsEqual = (a, b) => a.size === b.size && [...a].every((value) => b.has(value));
|
|
@@ -76,6 +76,99 @@ class NamedBarrierValue extends base_js_1.BaseChannel {
|
|
|
76
76
|
}
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
79
|
+
isAvailable() {
|
|
80
|
+
return !!this.names && (0, exports.areSetsEqual)(this.names, this.seen);
|
|
81
|
+
}
|
|
79
82
|
}
|
|
80
83
|
exports.NamedBarrierValue = NamedBarrierValue;
|
|
84
|
+
/**
|
|
85
|
+
* A channel that waits until all named values are received before making the value ready to be made available.
|
|
86
|
+
* It is only made available after finish() is called.
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
class NamedBarrierValueAfterFinish extends base_js_1.BaseChannel {
|
|
90
|
+
constructor(names) {
|
|
91
|
+
super();
|
|
92
|
+
Object.defineProperty(this, "lc_graph_name", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
configurable: true,
|
|
95
|
+
writable: true,
|
|
96
|
+
value: "NamedBarrierValueAfterFinish"
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(this, "names", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
configurable: true,
|
|
101
|
+
writable: true,
|
|
102
|
+
value: void 0
|
|
103
|
+
}); // Names of nodes that we want to wait for.
|
|
104
|
+
Object.defineProperty(this, "seen", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
configurable: true,
|
|
107
|
+
writable: true,
|
|
108
|
+
value: void 0
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(this, "finished", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
configurable: true,
|
|
113
|
+
writable: true,
|
|
114
|
+
value: void 0
|
|
115
|
+
});
|
|
116
|
+
this.names = names;
|
|
117
|
+
this.seen = new Set();
|
|
118
|
+
this.finished = false;
|
|
119
|
+
}
|
|
120
|
+
fromCheckpoint(checkpoint) {
|
|
121
|
+
const empty = new NamedBarrierValueAfterFinish(this.names);
|
|
122
|
+
if (typeof checkpoint !== "undefined") {
|
|
123
|
+
const [seen, finished] = checkpoint;
|
|
124
|
+
empty.seen = new Set(seen);
|
|
125
|
+
empty.finished = finished;
|
|
126
|
+
}
|
|
127
|
+
return empty;
|
|
128
|
+
}
|
|
129
|
+
update(values) {
|
|
130
|
+
let updated = false;
|
|
131
|
+
for (const nodeName of values) {
|
|
132
|
+
if (this.names.has(nodeName) && !this.seen.has(nodeName)) {
|
|
133
|
+
this.seen.add(nodeName);
|
|
134
|
+
updated = true;
|
|
135
|
+
}
|
|
136
|
+
else if (!this.names.has(nodeName)) {
|
|
137
|
+
throw new errors_js_1.InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return updated;
|
|
141
|
+
}
|
|
142
|
+
get() {
|
|
143
|
+
if (!this.finished || !(0, exports.areSetsEqual)(this.names, this.seen)) {
|
|
144
|
+
throw new errors_js_1.EmptyChannelError();
|
|
145
|
+
}
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
checkpoint() {
|
|
149
|
+
return [[...this.seen], this.finished];
|
|
150
|
+
}
|
|
151
|
+
consume() {
|
|
152
|
+
if (this.finished &&
|
|
153
|
+
this.seen &&
|
|
154
|
+
this.names &&
|
|
155
|
+
(0, exports.areSetsEqual)(this.seen, this.names)) {
|
|
156
|
+
this.seen = new Set();
|
|
157
|
+
this.finished = false;
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
finish() {
|
|
163
|
+
if (!this.finished && !!this.names && (0, exports.areSetsEqual)(this.names, this.seen)) {
|
|
164
|
+
this.finished = true;
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
isAvailable() {
|
|
170
|
+
return this.finished && !!this.names && (0, exports.areSetsEqual)(this.names, this.seen);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.NamedBarrierValueAfterFinish = NamedBarrierValueAfterFinish;
|
|
81
174
|
//# sourceMappingURL=named_barrier_value.js.map
|
|
@@ -17,4 +17,27 @@ export declare class NamedBarrierValue<Value> extends BaseChannel<void, Value, V
|
|
|
17
17
|
get(): void;
|
|
18
18
|
checkpoint(): Value[];
|
|
19
19
|
consume(): boolean;
|
|
20
|
+
isAvailable(): boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A channel that waits until all named values are received before making the value ready to be made available.
|
|
24
|
+
* It is only made available after finish() is called.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare class NamedBarrierValueAfterFinish<Value> extends BaseChannel<void, Value, [
|
|
28
|
+
Value[],
|
|
29
|
+
boolean
|
|
30
|
+
]> {
|
|
31
|
+
lc_graph_name: string;
|
|
32
|
+
names: Set<Value>;
|
|
33
|
+
seen: Set<Value>;
|
|
34
|
+
finished: boolean;
|
|
35
|
+
constructor(names: Set<Value>);
|
|
36
|
+
fromCheckpoint(checkpoint?: [Value[], boolean]): this;
|
|
37
|
+
update(values: Value[]): boolean;
|
|
38
|
+
get(): void;
|
|
39
|
+
checkpoint(): [Value[], boolean];
|
|
40
|
+
consume(): boolean;
|
|
41
|
+
finish(): boolean;
|
|
42
|
+
isAvailable(): boolean;
|
|
20
43
|
}
|
|
@@ -72,5 +72,97 @@ export class NamedBarrierValue extends BaseChannel {
|
|
|
72
72
|
}
|
|
73
73
|
return false;
|
|
74
74
|
}
|
|
75
|
+
isAvailable() {
|
|
76
|
+
return !!this.names && areSetsEqual(this.names, this.seen);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A channel that waits until all named values are received before making the value ready to be made available.
|
|
81
|
+
* It is only made available after finish() is called.
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
export class NamedBarrierValueAfterFinish extends BaseChannel {
|
|
85
|
+
constructor(names) {
|
|
86
|
+
super();
|
|
87
|
+
Object.defineProperty(this, "lc_graph_name", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: "NamedBarrierValueAfterFinish"
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(this, "names", {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
configurable: true,
|
|
96
|
+
writable: true,
|
|
97
|
+
value: void 0
|
|
98
|
+
}); // Names of nodes that we want to wait for.
|
|
99
|
+
Object.defineProperty(this, "seen", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
configurable: true,
|
|
102
|
+
writable: true,
|
|
103
|
+
value: void 0
|
|
104
|
+
});
|
|
105
|
+
Object.defineProperty(this, "finished", {
|
|
106
|
+
enumerable: true,
|
|
107
|
+
configurable: true,
|
|
108
|
+
writable: true,
|
|
109
|
+
value: void 0
|
|
110
|
+
});
|
|
111
|
+
this.names = names;
|
|
112
|
+
this.seen = new Set();
|
|
113
|
+
this.finished = false;
|
|
114
|
+
}
|
|
115
|
+
fromCheckpoint(checkpoint) {
|
|
116
|
+
const empty = new NamedBarrierValueAfterFinish(this.names);
|
|
117
|
+
if (typeof checkpoint !== "undefined") {
|
|
118
|
+
const [seen, finished] = checkpoint;
|
|
119
|
+
empty.seen = new Set(seen);
|
|
120
|
+
empty.finished = finished;
|
|
121
|
+
}
|
|
122
|
+
return empty;
|
|
123
|
+
}
|
|
124
|
+
update(values) {
|
|
125
|
+
let updated = false;
|
|
126
|
+
for (const nodeName of values) {
|
|
127
|
+
if (this.names.has(nodeName) && !this.seen.has(nodeName)) {
|
|
128
|
+
this.seen.add(nodeName);
|
|
129
|
+
updated = true;
|
|
130
|
+
}
|
|
131
|
+
else if (!this.names.has(nodeName)) {
|
|
132
|
+
throw new InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return updated;
|
|
136
|
+
}
|
|
137
|
+
get() {
|
|
138
|
+
if (!this.finished || !areSetsEqual(this.names, this.seen)) {
|
|
139
|
+
throw new EmptyChannelError();
|
|
140
|
+
}
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
checkpoint() {
|
|
144
|
+
return [[...this.seen], this.finished];
|
|
145
|
+
}
|
|
146
|
+
consume() {
|
|
147
|
+
if (this.finished &&
|
|
148
|
+
this.seen &&
|
|
149
|
+
this.names &&
|
|
150
|
+
areSetsEqual(this.seen, this.names)) {
|
|
151
|
+
this.seen = new Set();
|
|
152
|
+
this.finished = false;
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
finish() {
|
|
158
|
+
if (!this.finished && !!this.names && areSetsEqual(this.names, this.seen)) {
|
|
159
|
+
this.finished = true;
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
isAvailable() {
|
|
165
|
+
return this.finished && !!this.names && areSetsEqual(this.names, this.seen);
|
|
166
|
+
}
|
|
75
167
|
}
|
|
76
168
|
//# sourceMappingURL=named_barrier_value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"named_barrier_value.js","sourceRoot":"","sources":["../../src/channels/named_barrier_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,CAAS,EAAE,CAAS,EAAE,EAAE,CACtD,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAyB,SAAQ,WAI7C;IAOC,YAAY,KAAiB;QAC3B,KAAK,EAAE,CAAC;QAPV;;;;mBAAgB,mBAAmB;WAAC;QAEpC;;;;;WAAkB,CAAC,2CAA2C;QAE9D;;;;;WAAiB;QAIf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,UAAoB;QACjC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"named_barrier_value.js","sourceRoot":"","sources":["../../src/channels/named_barrier_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,CAAS,EAAE,CAAS,EAAE,EAAE,CACtD,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAyB,SAAQ,WAI7C;IAOC,YAAY,KAAiB;QAC3B,KAAK,EAAE,CAAC;QAPV;;;;mBAAgB,mBAAmB;WAAC;QAEpC;;;;;WAAkB,CAAC,2CAA2C;QAE9D;;;;;WAAiB;QAIf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,UAAoB;QACjC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAa,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAe;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,kBAAkB,CAC1B,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAC9D,IAAI,CAAC,KAAK,CACX,EAAE,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kEAAkE;IAClE,wCAAwC;IACxC,GAAG;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,4BAAoC,SAAQ,WAIxD;IASC,YAAY,KAAiB;QAC3B,KAAK,EAAE,CAAC;QATV;;;;mBAAgB,8BAA8B;WAAC;QAE/C;;;;;WAAkB,CAAC,2CAA2C;QAE9D;;;;;WAAiB;QAEjB;;;;;WAAkB;QAIhB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,UAA+B;QAC5C,MAAM,KAAK,GAAG,IAAI,4BAA4B,CAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,OAAO,KAAa,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAe;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,kBAAkB,CAC1B,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAC9D,IAAI,CAAC,KAAK,CACX,EAAE,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IACE,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,KAAK;YACV,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EACnC,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;CACF"}
|
package/dist/channels/topic.cjs
CHANGED
package/dist/channels/topic.d.ts
CHANGED
package/dist/channels/topic.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/channels/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,SAAS,WAAW,CAAI,CAAM,EAAE,CAAM;IACpC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,KAAa,SAAQ,WAIjC;IAWC,YAAY,MAAmD;QAC7D,KAAK,EAAE,CAAC;QAXV;;;;mBAAgB,OAAO;WAAC;QAExB;;;;mBAAS,KAAK;WAAC;QAEf;;;;mBAAa,KAAK;WAAC;QAEnB;;;;;WAAiB;QAEjB;;;;;WAAgB;QAKd,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QACxD,QAAQ;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc,CAAC,UAA+B;QACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAQ;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/channels/topic.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.cjs
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Command = exports.Send = exports.CHECKPOINT_NAMESPACE_END = exports.CHECKPOINT_NAMESPACE_SEPARATOR = exports.RESERVED = exports.NULL_TASK_ID = exports.TASK_NAMESPACE = exports.PULL = exports.PUSH = exports.TASKS = exports.SELF = exports.TAG_NOSTREAM = exports.TAG_HIDDEN = exports.RECURSION_LIMIT_DEFAULT = exports.RUNTIME_PLACEHOLDER = exports.PREVIOUS = exports.RETURN = exports.NO_WRITES = exports.RESUME = exports.INTERRUPT = exports.CONFIG_KEY_ABORT_SIGNALS = exports.CONFIG_KEY_CHECKPOINT_MAP = exports.CONFIG_KEY_NODE_FINISHED = exports.CONFIG_KEY_CHECKPOINT_NS = exports.CONFIG_KEY_CHECKPOINT_ID = exports.CONFIG_KEY_PREVIOUS_STATE = exports.CONFIG_KEY_SCRATCHPAD = exports.CONFIG_KEY_RESUME_VALUE = exports.CONFIG_KEY_STREAM = exports.CONFIG_KEY_TASK_ID = exports.CONFIG_KEY_RESUMING = exports.CONFIG_KEY_CHECKPOINTER = exports.CONFIG_KEY_READ = exports.CONFIG_KEY_CALL = exports.CONFIG_KEY_SEND = exports.CACHE_NS_WRITES = exports.ERROR = exports.COPY = exports.INPUT = exports.END = exports.START = void 0;
|
|
4
|
+
exports._isSendInterface = _isSendInterface;
|
|
5
|
+
exports._isSend = _isSend;
|
|
6
|
+
exports.isInterrupted = isInterrupted;
|
|
7
|
+
exports.isCommand = isCommand;
|
|
8
|
+
exports._deserializeCommandSendObjectGraph = _deserializeCommandSendObjectGraph;
|
|
4
9
|
/** Special reserved node name denoting the start of a graph. */
|
|
5
10
|
exports.START = "__start__";
|
|
6
11
|
/** Special reserved node name denoting the end of a graph. */
|
|
@@ -8,6 +13,8 @@ exports.END = "__end__";
|
|
|
8
13
|
exports.INPUT = "__input__";
|
|
9
14
|
exports.COPY = "__copy__";
|
|
10
15
|
exports.ERROR = "__error__";
|
|
16
|
+
/** Special reserved cache namespaces */
|
|
17
|
+
exports.CACHE_NS_WRITES = "__pregel_ns_writes";
|
|
11
18
|
exports.CONFIG_KEY_SEND = "__pregel_send";
|
|
12
19
|
/** config key containing function used to call a node (push task) */
|
|
13
20
|
exports.CONFIG_KEY_CALL = "__pregel_call";
|
|
@@ -78,7 +85,6 @@ function _isSendInterface(x) {
|
|
|
78
85
|
typeof operation.node === "string" &&
|
|
79
86
|
operation.args !== undefined);
|
|
80
87
|
}
|
|
81
|
-
exports._isSendInterface = _isSendInterface;
|
|
82
88
|
/**
|
|
83
89
|
*
|
|
84
90
|
* A message or packet to send to a specific node in the graph.
|
|
@@ -125,8 +131,8 @@ exports._isSendInterface = _isSendInterface;
|
|
|
125
131
|
* // { subjects: ["cats", "dogs"], jokes: [`Joke about cats`, `Joke about dogs`] }
|
|
126
132
|
* ```
|
|
127
133
|
*/
|
|
134
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
128
135
|
class Send {
|
|
129
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
130
136
|
constructor(node, args) {
|
|
131
137
|
Object.defineProperty(this, "lg_name", {
|
|
132
138
|
enumerable: true,
|
|
@@ -140,7 +146,6 @@ class Send {
|
|
|
140
146
|
writable: true,
|
|
141
147
|
value: void 0
|
|
142
148
|
});
|
|
143
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
144
149
|
Object.defineProperty(this, "args", {
|
|
145
150
|
enumerable: true,
|
|
146
151
|
configurable: true,
|
|
@@ -151,11 +156,7 @@ class Send {
|
|
|
151
156
|
this.args = _deserializeCommandSendObjectGraph(args);
|
|
152
157
|
}
|
|
153
158
|
toJSON() {
|
|
154
|
-
return {
|
|
155
|
-
lg_name: this.lg_name,
|
|
156
|
-
node: this.node,
|
|
157
|
-
args: this.args,
|
|
158
|
-
};
|
|
159
|
+
return { lg_name: this.lg_name, node: this.node, args: this.args };
|
|
159
160
|
}
|
|
160
161
|
}
|
|
161
162
|
exports.Send = Send;
|
|
@@ -163,7 +164,29 @@ function _isSend(x) {
|
|
|
163
164
|
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
164
165
|
return x instanceof Send;
|
|
165
166
|
}
|
|
166
|
-
|
|
167
|
+
/**
|
|
168
|
+
* Checks if the given graph invoke / stream chunk contains interrupt.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* import { INTERRUPT, isInterrupted } from "@langchain/langgraph";
|
|
173
|
+
*
|
|
174
|
+
* const values = await graph.invoke({ foo: "bar" });
|
|
175
|
+
* if (isInterrupted<string>(values)) {
|
|
176
|
+
* const interrupt = values[INTERRUPT][0].value;
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
180
|
+
* @param values - The values to check.
|
|
181
|
+
* @returns `true` if the values contain an interrupt, `false` otherwise.
|
|
182
|
+
*/
|
|
183
|
+
function isInterrupted(values) {
|
|
184
|
+
if (!values || typeof values !== "object")
|
|
185
|
+
return false;
|
|
186
|
+
if (!(exports.INTERRUPT in values))
|
|
187
|
+
return false;
|
|
188
|
+
return Array.isArray(values[exports.INTERRUPT]);
|
|
189
|
+
}
|
|
167
190
|
/**
|
|
168
191
|
* One or more commands to update the graph's state and send messages to nodes.
|
|
169
192
|
* Can be used to combine routing logic with state updates in lieu of conditional edges
|
|
@@ -365,7 +388,6 @@ function isCommand(x) {
|
|
|
365
388
|
}
|
|
366
389
|
return false;
|
|
367
390
|
}
|
|
368
|
-
exports.isCommand = isCommand;
|
|
369
391
|
/**
|
|
370
392
|
* Reconstructs Command and Send objects from a deeply nested tree of anonymous objects
|
|
371
393
|
* matching their interfaces.
|
|
@@ -429,5 +451,4 @@ function _deserializeCommandSendObjectGraph(x, seen = new Map()) {
|
|
|
429
451
|
}
|
|
430
452
|
return x;
|
|
431
453
|
}
|
|
432
|
-
exports._deserializeCommandSendObjectGraph = _deserializeCommandSendObjectGraph;
|
|
433
454
|
//# sourceMappingURL=constants.js.map
|