@langchain/langgraph 0.2.74 → 0.3.1
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 +31 -2
- 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 +29 -8
- package/dist/constants.d.ts +47 -26
- package/dist/constants.js +27 -7
- package/dist/constants.js.map +1 -1
- package/dist/func/index.cjs +17 -4
- package/dist/func/index.d.ts +14 -5
- package/dist/func/index.js +17 -4
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.d.ts +1 -1
- package/dist/graph/graph.d.ts +4 -2
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +2 -1
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/index.js +1 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +3 -0
- package/dist/graph/messages_annotation.js +3 -0
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +67 -22
- package/dist/graph/state.d.ts +22 -8
- package/dist/graph/state.js +68 -24
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/schema.cjs +12 -61
- package/dist/graph/zod/schema.js +12 -61
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/state.cjs +63 -0
- 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/prebuilt/react_agent_executor.cjs +99 -45
- package/dist/prebuilt/react_agent_executor.d.ts +20 -4
- package/dist/prebuilt/react_agent_executor.js +99 -45
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/pregel/algo.cjs +60 -20
- package/dist/pregel/algo.d.ts +1 -1
- package/dist/pregel/algo.js +61 -21
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +2 -1
- 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.test.cjs +6 -0
- package/dist/pregel/debug.test.js +6 -0
- 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/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/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/retry.cjs +2 -6
- package/dist/pregel/retry.js +2 -6
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +1 -0
- package/dist/pregel/runner.js +1 -0
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/types.cjs +8 -1
- 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/index.d.ts +15 -0
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/web.cjs +4 -1
- package/dist/web.d.ts +3 -3
- package/dist/web.js +2 -2
- package/dist/web.js.map +1 -1
- package/package.json +5 -5
|
@@ -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,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;CACF"}
|
|
1
|
+
{"version":3,"file":"named_barrier_value.js","sourceRoot":"","sources":["../../src/channels/named_barrier_value.ts"],"names":[],"mappings":"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"}
|
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,CAAC;YACtC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,gDAAgD;YAChD,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAa,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,MAA8B;QAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAa,CAAC;QAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,UAAU;QACf,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/channels/topic.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.cjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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.ERROR = exports.COPY = exports.INPUT = exports.END = exports.START = void 0;
|
|
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
4
|
exports._isSendInterface = _isSendInterface;
|
|
5
5
|
exports._isSend = _isSend;
|
|
6
|
+
exports.isInterrupted = isInterrupted;
|
|
6
7
|
exports.isCommand = isCommand;
|
|
7
8
|
exports._deserializeCommandSendObjectGraph = _deserializeCommandSendObjectGraph;
|
|
8
9
|
/** Special reserved node name denoting the start of a graph. */
|
|
@@ -12,6 +13,8 @@ exports.END = "__end__";
|
|
|
12
13
|
exports.INPUT = "__input__";
|
|
13
14
|
exports.COPY = "__copy__";
|
|
14
15
|
exports.ERROR = "__error__";
|
|
16
|
+
/** Special reserved cache namespaces */
|
|
17
|
+
exports.CACHE_NS_WRITES = "__pregel_ns_writes";
|
|
15
18
|
exports.CONFIG_KEY_SEND = "__pregel_send";
|
|
16
19
|
/** config key containing function used to call a node (push task) */
|
|
17
20
|
exports.CONFIG_KEY_CALL = "__pregel_call";
|
|
@@ -128,8 +131,8 @@ function _isSendInterface(x) {
|
|
|
128
131
|
* // { subjects: ["cats", "dogs"], jokes: [`Joke about cats`, `Joke about dogs`] }
|
|
129
132
|
* ```
|
|
130
133
|
*/
|
|
134
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
131
135
|
class Send {
|
|
132
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
133
136
|
constructor(node, args) {
|
|
134
137
|
Object.defineProperty(this, "lg_name", {
|
|
135
138
|
enumerable: true,
|
|
@@ -143,7 +146,6 @@ class Send {
|
|
|
143
146
|
writable: true,
|
|
144
147
|
value: void 0
|
|
145
148
|
});
|
|
146
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
147
149
|
Object.defineProperty(this, "args", {
|
|
148
150
|
enumerable: true,
|
|
149
151
|
configurable: true,
|
|
@@ -154,11 +156,7 @@ class Send {
|
|
|
154
156
|
this.args = _deserializeCommandSendObjectGraph(args);
|
|
155
157
|
}
|
|
156
158
|
toJSON() {
|
|
157
|
-
return {
|
|
158
|
-
lg_name: this.lg_name,
|
|
159
|
-
node: this.node,
|
|
160
|
-
args: this.args,
|
|
161
|
-
};
|
|
159
|
+
return { lg_name: this.lg_name, node: this.node, args: this.args };
|
|
162
160
|
}
|
|
163
161
|
}
|
|
164
162
|
exports.Send = Send;
|
|
@@ -166,6 +164,29 @@ function _isSend(x) {
|
|
|
166
164
|
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
167
165
|
return x instanceof Send;
|
|
168
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
|
+
}
|
|
169
190
|
/**
|
|
170
191
|
* One or more commands to update the graph's state and send messages to nodes.
|
|
171
192
|
* Can be used to combine routing logic with state updates in lieu of conditional edges
|