@langchain/langgraph 0.2.57 → 0.2.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/constants.cjs +98 -12
  2. package/dist/constants.d.ts +51 -6
  3. package/dist/constants.js +96 -11
  4. package/dist/constants.js.map +1 -1
  5. package/dist/graph/graph.d.ts +1 -1
  6. package/dist/graph/state.cjs +90 -11
  7. package/dist/graph/state.d.ts +23 -5
  8. package/dist/graph/state.js +90 -11
  9. package/dist/graph/state.js.map +1 -1
  10. package/dist/graph/zod/index.cjs +7 -0
  11. package/dist/graph/zod/index.d.ts +2 -0
  12. package/dist/graph/zod/index.js +3 -0
  13. package/dist/graph/zod/index.js.map +1 -0
  14. package/dist/graph/zod/plugin.cjs +41 -0
  15. package/dist/graph/zod/plugin.d.ts +15 -0
  16. package/dist/graph/zod/plugin.js +39 -0
  17. package/dist/graph/zod/plugin.js.map +1 -0
  18. package/dist/graph/zod/schema.cjs +79 -0
  19. package/dist/graph/zod/schema.d.ts +9 -0
  20. package/dist/graph/zod/schema.js +73 -0
  21. package/dist/graph/zod/schema.js.map +1 -0
  22. package/dist/graph/zod/state.cjs +73 -0
  23. package/dist/graph/zod/state.d.ts +30 -0
  24. package/dist/graph/zod/state.js +64 -0
  25. package/dist/graph/zod/state.js.map +1 -0
  26. package/dist/pregel/algo.cjs +26 -3
  27. package/dist/pregel/algo.js +27 -4
  28. package/dist/pregel/algo.js.map +1 -1
  29. package/dist/pregel/debug.cjs +2 -1
  30. package/dist/pregel/debug.d.ts +1 -1
  31. package/dist/pregel/debug.js +2 -1
  32. package/dist/pregel/debug.js.map +1 -1
  33. package/dist/pregel/index.cjs +111 -25
  34. package/dist/pregel/index.d.ts +26 -1
  35. package/dist/pregel/index.js +112 -26
  36. package/dist/pregel/index.js.map +1 -1
  37. package/dist/pregel/loop.cjs +48 -24
  38. package/dist/pregel/loop.d.ts +1 -0
  39. package/dist/pregel/loop.js +48 -24
  40. package/dist/pregel/loop.js.map +1 -1
  41. package/dist/pregel/retry.cjs +3 -1
  42. package/dist/pregel/retry.js +3 -1
  43. package/dist/pregel/retry.js.map +1 -1
  44. package/dist/pregel/runner.cjs +26 -17
  45. package/dist/pregel/runner.d.ts +4 -0
  46. package/dist/pregel/runner.js +26 -17
  47. package/dist/pregel/runner.js.map +1 -1
  48. package/dist/pregel/utils/index.d.ts +2 -0
  49. package/dist/pregel/utils/index.js.map +1 -1
  50. package/package.json +22 -3
  51. package/zod.cjs +1 -0
  52. package/zod.d.cts +1 -0
  53. package/zod.d.ts +1 -0
  54. package/zod.js +1 -0
@@ -15,6 +15,7 @@ const errors_js_1 = require("../errors.cjs");
15
15
  const annotation_js_1 = require("./annotation.cjs");
16
16
  const base_js_2 = require("../managed/base.cjs");
17
17
  const subgraph_js_1 = require("../pregel/utils/subgraph.cjs");
18
+ const state_js_1 = require("./zod/state.cjs");
18
19
  const ROOT = "__root__";
19
20
  /**
20
21
  * A graph whose nodes communicate by reading and writing to a shared state.
@@ -102,6 +103,13 @@ class StateGraph extends graph_js_1.Graph {
102
103
  value: void 0
103
104
  });
104
105
  /** @internal */
106
+ Object.defineProperty(this, "_schemaRuntimeDefinition", {
107
+ enumerable: true,
108
+ configurable: true,
109
+ writable: true,
110
+ value: void 0
111
+ });
112
+ /** @internal */
105
113
  Object.defineProperty(this, "_inputDefinition", {
106
114
  enumerable: true,
107
115
  configurable: true,
@@ -109,12 +117,26 @@ class StateGraph extends graph_js_1.Graph {
109
117
  value: void 0
110
118
  });
111
119
  /** @internal */
120
+ Object.defineProperty(this, "_inputRuntimeDefinition", {
121
+ enumerable: true,
122
+ configurable: true,
123
+ writable: true,
124
+ value: void 0
125
+ });
126
+ /** @internal */
112
127
  Object.defineProperty(this, "_outputDefinition", {
113
128
  enumerable: true,
114
129
  configurable: true,
115
130
  writable: true,
116
131
  value: void 0
117
132
  });
133
+ /** @internal */
134
+ Object.defineProperty(this, "_outputRuntimeDefinition", {
135
+ enumerable: true,
136
+ configurable: true,
137
+ writable: true,
138
+ value: void 0
139
+ });
118
140
  /**
119
141
  * Map schemas to managed values
120
142
  * @internal
@@ -132,7 +154,27 @@ class StateGraph extends graph_js_1.Graph {
132
154
  writable: true,
133
155
  value: void 0
134
156
  });
135
- if (isStateGraphArgsWithInputOutputSchemas(fields)) {
157
+ if (isZodStateGraphArgsWithStateSchema(fields)) {
158
+ const stateDef = (0, state_js_1.getChannelsFromZod)(fields.state);
159
+ const inputDef = fields.input != null ? (0, state_js_1.getChannelsFromZod)(fields.input) : stateDef;
160
+ const outputDef = fields.output != null ? (0, state_js_1.getChannelsFromZod)(fields.output) : stateDef;
161
+ this._schemaDefinition = stateDef;
162
+ this._schemaRuntimeDefinition = fields.state;
163
+ this._inputDefinition = inputDef;
164
+ this._inputRuntimeDefinition = fields.input ?? fields.state.partial();
165
+ this._outputDefinition = outputDef;
166
+ this._outputRuntimeDefinition = fields.output ?? fields.state;
167
+ }
168
+ else if ((0, state_js_1.isAnyZodObject)(fields)) {
169
+ const stateDef = (0, state_js_1.getChannelsFromZod)(fields);
170
+ this._schemaDefinition = stateDef;
171
+ this._schemaRuntimeDefinition = fields;
172
+ this._inputDefinition = stateDef;
173
+ this._inputRuntimeDefinition = fields.partial();
174
+ this._outputDefinition = stateDef;
175
+ this._outputRuntimeDefinition = fields;
176
+ }
177
+ else if (isStateGraphArgsWithInputOutputSchemas(fields)) {
136
178
  this._schemaDefinition = fields.input.spec;
137
179
  this._inputDefinition = fields.input.spec;
138
180
  this._outputDefinition = fields.output.spec;
@@ -155,12 +197,20 @@ class StateGraph extends graph_js_1.Graph {
155
197
  else {
156
198
  throw new Error("Invalid StateGraph input.");
157
199
  }
158
- this._inputDefinition = this._inputDefinition ?? this._schemaDefinition;
159
- this._outputDefinition = this._outputDefinition ?? this._schemaDefinition;
200
+ this._inputDefinition ??= this._schemaDefinition;
201
+ this._outputDefinition ??= this._schemaDefinition;
160
202
  this._addSchema(this._schemaDefinition);
161
203
  this._addSchema(this._inputDefinition);
162
204
  this._addSchema(this._outputDefinition);
163
- this._configSchema = configSchema?.spec;
205
+ this._configSchema = (() => {
206
+ if (configSchema != null && "spec" in configSchema) {
207
+ return configSchema.spec;
208
+ }
209
+ if ((0, state_js_1.isAnyZodObject)(configSchema)) {
210
+ return configSchema.passthrough();
211
+ }
212
+ return configSchema;
213
+ })();
164
214
  }
165
215
  get allEdges() {
166
216
  return new Set([
@@ -546,6 +596,18 @@ class CompiledStateGraph extends graph_js_1.CompiledGraph {
546
596
  this.nodes[end].triggers.push(channelName);
547
597
  }
548
598
  }
599
+ async _validateInput(input) {
600
+ const inputSchema = this.builder._inputRuntimeDefinition;
601
+ if ((0, state_js_1.isAnyZodObject)(inputSchema))
602
+ return inputSchema.parse(input);
603
+ return input;
604
+ }
605
+ async _validateConfigurable(config) {
606
+ const configSchema = this.builder._configSchema;
607
+ if ((0, state_js_1.isAnyZodObject)(configSchema))
608
+ configSchema.parse(config);
609
+ return config;
610
+ }
549
611
  }
550
612
  exports.CompiledStateGraph = CompiledStateGraph;
551
613
  function isStateDefinition(obj) {
@@ -579,6 +641,21 @@ function isStateGraphArgsWithInputOutputSchemas(obj) {
579
641
  obj.input !== undefined &&
580
642
  obj.output !== undefined);
581
643
  }
644
+ function isZodStateGraphArgsWithStateSchema(value) {
645
+ if (typeof value !== "object" || value == null) {
646
+ return false;
647
+ }
648
+ if (!("state" in value) || !(0, state_js_1.isAnyZodObject)(value.state)) {
649
+ return false;
650
+ }
651
+ if ("input" in value && !(0, state_js_1.isAnyZodObject)(value.input)) {
652
+ return false;
653
+ }
654
+ if ("output" in value && !(0, state_js_1.isAnyZodObject)(value.output)) {
655
+ return false;
656
+ }
657
+ return true;
658
+ }
582
659
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
583
660
  function _controlBranch(value) {
584
661
  if ((0, constants_js_1._isSend)(value)) {
@@ -588,22 +665,24 @@ function _controlBranch(value) {
588
665
  if ((0, constants_js_1.isCommand)(value)) {
589
666
  commands.push(value);
590
667
  }
591
- else if (Array.isArray(value) && value.every(constants_js_1.isCommand)) {
592
- commands.push(...value);
593
- }
594
- else {
595
- return [];
668
+ else if (Array.isArray(value)) {
669
+ commands.push(...value.filter(constants_js_1.isCommand));
596
670
  }
597
671
  const destinations = [];
598
672
  for (const command of commands) {
599
673
  if (command.graph === constants_js_1.Command.PARENT) {
600
674
  throw new errors_js_1.ParentCommand(command);
601
675
  }
602
- if ((0, constants_js_1._isSend)(command.goto) || typeof command.goto === "string") {
676
+ if ((0, constants_js_1._isSend)(command.goto)) {
677
+ destinations.push(command.goto);
678
+ }
679
+ else if (typeof command.goto === "string") {
603
680
  destinations.push(command.goto);
604
681
  }
605
682
  else {
606
- destinations.push(...command.goto);
683
+ if (Array.isArray(command.goto)) {
684
+ destinations.push(...command.goto);
685
+ }
607
686
  }
608
687
  }
609
688
  return destinations;
@@ -7,6 +7,7 @@ import { AnnotationRoot, SingleReducer, StateDefinition, StateType, UpdateType }
7
7
  import type { RetryPolicy } from "../pregel/utils/index.js";
8
8
  import { ManagedValueSpec } from "../managed/base.js";
9
9
  import type { LangGraphRunnableConfig } from "../pregel/runnable_types.js";
10
+ import { AnyZodObject, ZodToStateDefinition } from "./zod/state.js";
10
11
  export type ChannelReducers<Channels extends object> = {
11
12
  [K in keyof Channels]: SingleReducer<Channels[K], any>;
12
13
  };
@@ -34,6 +35,13 @@ export type StateGraphArgsWithInputOutputSchemas<SD extends StateDefinition, O e
34
35
  input: AnnotationRoot<SD>;
35
36
  output: AnnotationRoot<O>;
36
37
  };
38
+ type ZodStateGraphArgsWithStateSchema<SD extends AnyZodObject, I extends SDZod, O extends SDZod> = {
39
+ state: SD;
40
+ input?: I;
41
+ output?: O;
42
+ };
43
+ type SDZod = StateDefinition | AnyZodObject;
44
+ type ToStateDefinition<T> = T extends AnyZodObject ? ZodToStateDefinition<T> : T extends StateDefinition ? T : never;
37
45
  /**
38
46
  * A graph whose nodes communicate by reading and writing to a shared state.
39
47
  * Each node takes a defined `State` as input and returns a `Partial<State>`.
@@ -96,15 +104,21 @@ export type StateGraphArgsWithInputOutputSchemas<SD extends StateDefinition, O e
96
104
  * // }
97
105
  * ```
98
106
  */
99
- export declare class StateGraph<SD extends StateDefinition | unknown, S = SD extends StateDefinition ? StateType<SD> : SD, U = SD extends StateDefinition ? UpdateType<SD> : Partial<S>, N extends string = typeof START, I extends StateDefinition = SD extends StateDefinition ? SD : StateDefinition, O extends StateDefinition = SD extends StateDefinition ? SD : StateDefinition, C extends StateDefinition = StateDefinition> extends Graph<N, S, U, StateGraphNodeSpec<S, U>, C> {
107
+ export declare class StateGraph<SD extends SDZod | unknown, S = SD extends SDZod ? StateType<ToStateDefinition<SD>> : SD, U = SD extends SDZod ? UpdateType<ToStateDefinition<SD>> : Partial<S>, N extends string = typeof START, I extends SDZod = SD extends SDZod ? ToStateDefinition<SD> : StateDefinition, O extends SDZod = SD extends SDZod ? ToStateDefinition<SD> : StateDefinition, C extends SDZod = StateDefinition> extends Graph<N, S, U, StateGraphNodeSpec<S, U>, ToStateDefinition<C>> {
100
108
  channels: Record<string, BaseChannel | ManagedValueSpec>;
101
109
  waitingEdges: Set<[N[], N]>;
102
110
  /** @internal */
103
111
  _schemaDefinition: StateDefinition;
104
112
  /** @internal */
113
+ _schemaRuntimeDefinition: AnyZodObject | undefined;
114
+ /** @internal */
105
115
  _inputDefinition: I;
106
116
  /** @internal */
117
+ _inputRuntimeDefinition: AnyZodObject | undefined;
118
+ /** @internal */
107
119
  _outputDefinition: O;
120
+ /** @internal */
121
+ _outputRuntimeDefinition: AnyZodObject | undefined;
108
122
  /**
109
123
  * Map schemas to managed values
110
124
  * @internal
@@ -112,10 +126,11 @@ export declare class StateGraph<SD extends StateDefinition | unknown, S = SD ext
112
126
  _schemaDefinitions: Map<any, any>;
113
127
  /** @internal Used only for typing. */
114
128
  _configSchema: C | undefined;
115
- constructor(fields: SD extends StateDefinition ? SD | AnnotationRoot<SD> | StateGraphArgs<S> | StateGraphArgsWithStateSchema<SD, I, O> | StateGraphArgsWithInputOutputSchemas<SD, O> : StateGraphArgs<S>, configSchema?: AnnotationRoot<C>);
129
+ constructor(fields: SD extends StateDefinition ? SD | AnnotationRoot<SD> | StateGraphArgs<S> | StateGraphArgsWithStateSchema<SD, ToStateDefinition<I>, ToStateDefinition<O>> | StateGraphArgsWithInputOutputSchemas<SD, ToStateDefinition<O>> : StateGraphArgs<S>, configSchema?: C | AnnotationRoot<ToStateDefinition<C>>);
130
+ constructor(fields: SD extends AnyZodObject ? SD | ZodStateGraphArgsWithStateSchema<SD, I, O> : never, configSchema?: C | AnnotationRoot<ToStateDefinition<C>>);
116
131
  get allEdges(): Set<[string, string]>;
117
- _addSchema(stateDefinition: StateDefinition): void;
118
- addNode<K extends string, NodeInput = S>(key: K, action: RunnableLike<NodeInput, U extends object ? U & Record<string, any> : U, LangGraphRunnableConfig<StateType<C>>>, options?: StateGraphAddNodeOptions): StateGraph<SD, S, U, N | K, I, O, C>;
132
+ _addSchema(stateDefinition: SDZod): void;
133
+ addNode<K extends string, NodeInput = S>(key: K, action: RunnableLike<NodeInput, U extends object ? U & Record<string, any> : U, LangGraphRunnableConfig<StateType<ToStateDefinition<C>>>>, options?: StateGraphAddNodeOptions): StateGraph<SD, S, U, N | K, I, O, C>;
119
134
  addEdge(startKey: typeof START | N | N[], endKey: N | typeof END): this;
120
135
  compile({ checkpointer, store, interruptBefore, interruptAfter, name, }?: {
121
136
  checkpointer?: BaseCheckpointSaver | false;
@@ -130,7 +145,7 @@ export declare class StateGraph<SD extends StateDefinition | unknown, S = SD ext
130
145
  * Should not be instantiated directly, only using the StateGraph `.compile()`
131
146
  * instance method.
132
147
  */
133
- export declare class CompiledStateGraph<S, U, N extends string = typeof START, I extends StateDefinition = StateDefinition, O extends StateDefinition = StateDefinition, C extends StateDefinition = StateDefinition> extends CompiledGraph<N, S, U, StateType<C>, UpdateType<I>, StateType<O>> {
148
+ export declare class CompiledStateGraph<S, U, N extends string = typeof START, I extends SDZod = StateDefinition, O extends SDZod = StateDefinition, C extends SDZod = StateDefinition> extends CompiledGraph<N, S, U, StateType<ToStateDefinition<C>>, UpdateType<ToStateDefinition<I>>, StateType<ToStateDefinition<O>>> {
134
149
  builder: StateGraph<unknown, S, U, N, I, O, C>;
135
150
  attachNode(key: typeof START, node?: never): void;
136
151
  attachNode(key: N, node: StateGraphNodeSpec<S, U>): void;
@@ -138,4 +153,7 @@ export declare class CompiledStateGraph<S, U, N extends string = typeof START, I
138
153
  attachBranch(start: N | typeof START, name: string, branch: Branch<S, N>, options?: {
139
154
  withReader?: boolean;
140
155
  }): void;
156
+ protected _validateInput(input: UpdateType<ToStateDefinition<I>>): Promise<UpdateType<ToStateDefinition<I>>>;
157
+ protected _validateConfigurable(config: Partial<LangGraphRunnableConfig["configurable"]>): Promise<LangGraphRunnableConfig["configurable"]>;
141
158
  }
159
+ export {};
@@ -12,6 +12,7 @@ import { InvalidUpdateError, ParentCommand } from "../errors.js";
12
12
  import { getChannel, } from "./annotation.js";
13
13
  import { isConfiguredManagedValue } from "../managed/base.js";
14
14
  import { isPregelLike } from "../pregel/utils/subgraph.js";
15
+ import { getChannelsFromZod, isAnyZodObject, } from "./zod/state.js";
15
16
  const ROOT = "__root__";
16
17
  /**
17
18
  * A graph whose nodes communicate by reading and writing to a shared state.
@@ -99,6 +100,13 @@ export class StateGraph extends Graph {
99
100
  value: void 0
100
101
  });
101
102
  /** @internal */
103
+ Object.defineProperty(this, "_schemaRuntimeDefinition", {
104
+ enumerable: true,
105
+ configurable: true,
106
+ writable: true,
107
+ value: void 0
108
+ });
109
+ /** @internal */
102
110
  Object.defineProperty(this, "_inputDefinition", {
103
111
  enumerable: true,
104
112
  configurable: true,
@@ -106,12 +114,26 @@ export class StateGraph extends Graph {
106
114
  value: void 0
107
115
  });
108
116
  /** @internal */
117
+ Object.defineProperty(this, "_inputRuntimeDefinition", {
118
+ enumerable: true,
119
+ configurable: true,
120
+ writable: true,
121
+ value: void 0
122
+ });
123
+ /** @internal */
109
124
  Object.defineProperty(this, "_outputDefinition", {
110
125
  enumerable: true,
111
126
  configurable: true,
112
127
  writable: true,
113
128
  value: void 0
114
129
  });
130
+ /** @internal */
131
+ Object.defineProperty(this, "_outputRuntimeDefinition", {
132
+ enumerable: true,
133
+ configurable: true,
134
+ writable: true,
135
+ value: void 0
136
+ });
115
137
  /**
116
138
  * Map schemas to managed values
117
139
  * @internal
@@ -129,7 +151,27 @@ export class StateGraph extends Graph {
129
151
  writable: true,
130
152
  value: void 0
131
153
  });
132
- if (isStateGraphArgsWithInputOutputSchemas(fields)) {
154
+ if (isZodStateGraphArgsWithStateSchema(fields)) {
155
+ const stateDef = getChannelsFromZod(fields.state);
156
+ const inputDef = fields.input != null ? getChannelsFromZod(fields.input) : stateDef;
157
+ const outputDef = fields.output != null ? getChannelsFromZod(fields.output) : stateDef;
158
+ this._schemaDefinition = stateDef;
159
+ this._schemaRuntimeDefinition = fields.state;
160
+ this._inputDefinition = inputDef;
161
+ this._inputRuntimeDefinition = fields.input ?? fields.state.partial();
162
+ this._outputDefinition = outputDef;
163
+ this._outputRuntimeDefinition = fields.output ?? fields.state;
164
+ }
165
+ else if (isAnyZodObject(fields)) {
166
+ const stateDef = getChannelsFromZod(fields);
167
+ this._schemaDefinition = stateDef;
168
+ this._schemaRuntimeDefinition = fields;
169
+ this._inputDefinition = stateDef;
170
+ this._inputRuntimeDefinition = fields.partial();
171
+ this._outputDefinition = stateDef;
172
+ this._outputRuntimeDefinition = fields;
173
+ }
174
+ else if (isStateGraphArgsWithInputOutputSchemas(fields)) {
133
175
  this._schemaDefinition = fields.input.spec;
134
176
  this._inputDefinition = fields.input.spec;
135
177
  this._outputDefinition = fields.output.spec;
@@ -152,12 +194,20 @@ export class StateGraph extends Graph {
152
194
  else {
153
195
  throw new Error("Invalid StateGraph input.");
154
196
  }
155
- this._inputDefinition = this._inputDefinition ?? this._schemaDefinition;
156
- this._outputDefinition = this._outputDefinition ?? this._schemaDefinition;
197
+ this._inputDefinition ??= this._schemaDefinition;
198
+ this._outputDefinition ??= this._schemaDefinition;
157
199
  this._addSchema(this._schemaDefinition);
158
200
  this._addSchema(this._inputDefinition);
159
201
  this._addSchema(this._outputDefinition);
160
- this._configSchema = configSchema?.spec;
202
+ this._configSchema = (() => {
203
+ if (configSchema != null && "spec" in configSchema) {
204
+ return configSchema.spec;
205
+ }
206
+ if (isAnyZodObject(configSchema)) {
207
+ return configSchema.passthrough();
208
+ }
209
+ return configSchema;
210
+ })();
161
211
  }
162
212
  get allEdges() {
163
213
  return new Set([
@@ -542,6 +592,18 @@ export class CompiledStateGraph extends CompiledGraph {
542
592
  this.nodes[end].triggers.push(channelName);
543
593
  }
544
594
  }
595
+ async _validateInput(input) {
596
+ const inputSchema = this.builder._inputRuntimeDefinition;
597
+ if (isAnyZodObject(inputSchema))
598
+ return inputSchema.parse(input);
599
+ return input;
600
+ }
601
+ async _validateConfigurable(config) {
602
+ const configSchema = this.builder._configSchema;
603
+ if (isAnyZodObject(configSchema))
604
+ configSchema.parse(config);
605
+ return config;
606
+ }
545
607
  }
546
608
  function isStateDefinition(obj) {
547
609
  return (typeof obj === "object" &&
@@ -574,6 +636,21 @@ function isStateGraphArgsWithInputOutputSchemas(obj) {
574
636
  obj.input !== undefined &&
575
637
  obj.output !== undefined);
576
638
  }
639
+ function isZodStateGraphArgsWithStateSchema(value) {
640
+ if (typeof value !== "object" || value == null) {
641
+ return false;
642
+ }
643
+ if (!("state" in value) || !isAnyZodObject(value.state)) {
644
+ return false;
645
+ }
646
+ if ("input" in value && !isAnyZodObject(value.input)) {
647
+ return false;
648
+ }
649
+ if ("output" in value && !isAnyZodObject(value.output)) {
650
+ return false;
651
+ }
652
+ return true;
653
+ }
577
654
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
578
655
  function _controlBranch(value) {
579
656
  if (_isSend(value)) {
@@ -583,22 +660,24 @@ function _controlBranch(value) {
583
660
  if (isCommand(value)) {
584
661
  commands.push(value);
585
662
  }
586
- else if (Array.isArray(value) && value.every(isCommand)) {
587
- commands.push(...value);
588
- }
589
- else {
590
- return [];
663
+ else if (Array.isArray(value)) {
664
+ commands.push(...value.filter(isCommand));
591
665
  }
592
666
  const destinations = [];
593
667
  for (const command of commands) {
594
668
  if (command.graph === Command.PARENT) {
595
669
  throw new ParentCommand(command);
596
670
  }
597
- if (_isSend(command.goto) || typeof command.goto === "string") {
671
+ if (_isSend(command.goto)) {
672
+ destinations.push(command.goto);
673
+ }
674
+ else if (typeof command.goto === "string") {
598
675
  destinations.push(command.goto);
599
676
  }
600
677
  else {
601
- destinations.push(...command.goto);
678
+ if (Array.isArray(command.goto)) {
679
+ destinations.push(...command.goto);
680
+ }
602
681
  }
603
682
  }
604
683
  return destinations;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/graph/state.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EACL,iBAAiB,EACjB,QAAQ,GAET,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAe,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,aAAa,EACb,KAAK,EACL,MAAM,GAGP,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,YAAY,EAGZ,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,SAAS,EACT,OAAO,EACP,wBAAwB,EACxB,8BAA8B,EAC9B,OAAO,EACP,GAAG,EACH,IAAI,EAEJ,KAAK,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAEL,UAAU,GAKX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,wBAAwB,EAAoB,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,IAAI,GAAG,UAAU,CAAC;AAgDxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,OAAO,UAQX,SAAQ,KAA2C;IAwBnD,YACE,MAOqB,EACrB,YAAgC;QAEhC,KAAK,EAAE,CAAC;QAlCV;;;;mBAA2D,EAAE;WAAC;QAE9D,0EAA0E;QAC1E;;;;mBAA8B,IAAI,GAAG,EAAE;WAAC;QAExC,gBAAgB;QAChB;;;;;WAAmC;QAEnC,gBAAgB;QAChB;;;;;WAAoB;QAEpB,gBAAgB;QAChB;;;;;WAAqB;QAErB;;;WAGG;QACH;;;;mBAAqB,IAAI,GAAG,EAAE;WAAC;QAE/B,sCAAsC;QACtC;;;;;WAA6B;QAc3B,IACE,sCAAsC,CAGpC,MAAM,CAAC,EACT;YACA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAoB,CAAC;YAC1D,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;SAC7C;aAAM,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;YAClD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI;gBACzC,IAAI,CAAC,iBAAiB,CAAM,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI;gBAC3C,IAAI,CAAC,iBAAiB,CAAM,CAAC;SAChC;aAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAChE,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,EAAE,IAAI,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,GAAG,CAAC;YACb,GAAG,IAAI,CAAC,KAAK;YACb,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAqB,CAAC,CACxD;SACF,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,eAAgC;QACzC,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAChD,OAAO;SACR;QACD,+BAA+B;QAC/B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACxD,IAAI,OAAO,CAAC;YACZ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC7B,OAAO,GAAG,GAAG,EAAE,CAAC;aACjB;iBAAM;gBACL,OAAO,GAAG,GAAG,CAAC;aACf;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE;oBAClC,IACE,CAAC,wBAAwB,CAAC,OAAO,CAAC;wBAClC,OAAO,CAAC,aAAa,KAAK,WAAW,EACrC;wBACA,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,yCAAyC,CACzD,CAAC;qBACH;iBACF;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;aAC9B;SACF;IACH,CAAC;IAEQ,OAAO,CACd,GAAM,EACN,MAKC,EACD,OAAkC;QAElC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,qGAAqG,CAC5G,CAAC;SACH;QAED,KAAK,MAAM,YAAY,IAAI;YACzB,8BAA8B;YAC9B,wBAAwB;SACzB,EAAE;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CACb,IAAI,YAAY,6DAA6D,CAC9E,CAAC;aACH;SACF;QACD,IAAI,CAAC,cAAc,CACjB,4GAA4G,CAC7G,CAAC;QAEF,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC;SACrD;QACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC;SACjD;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,IAAI,QAAQ,CAAC;QACb,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC/B,QAAQ,GAAG,MAAM,CAAC;SACnB;aAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YACvC,QAAQ,GAAG,IAAI,gBAAgB,CAAC;gBAC9B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;SACtC;QACD,MAAM,QAAQ,GAA6B;YACzC,QAAQ,EAAE,QAAqC;YAC/C,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,iBAAiB;YACrD,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,8DAA8D;oBAC9D,CAAC,QAAe,CAAC;gBACnB,CAAC,CAAC,OAAO,EAAE,SAAS;YACtB,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAmB,CAAC,GAAG,QAAQ,CAAC;QAE3C,OAAO,IAA4C,CAAC;IACtD,CAAC;IAEQ,OAAO,CACd,QAAgC,EAChC,MAAsB;QAEtB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACxC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,CAAC,IAAI,CACV,sEAAsE;gBACpE,yCAAyC,CAC5C,CAAC;SACH;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,KAAK,KAAK,GAAG,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,SAAS,CAAC,CAAC;aAC9D;SACF;QACD,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,SAAS,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,OAAO,CAAC,EACf,YAAY,EACZ,KAAK,EACL,eAAe,EACf,cAAc,EACd,IAAI,MAOF,EAAE;QACJ,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CACpD,CAAC;QACF,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAExE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAExE,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAmB;YACxD,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,cAAc;YACd,eAAe;YACf,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAgD;YACvD,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,CAAC,KAAK,CAAC,EAAE,IAAI,cAAc,EAAE;aACiC;YAChE,aAAa,EAAE,KAAK;YACpB,cAAc;YACd,cAAc;YACd,UAAU,EAAE,SAAS;YACrB,KAAK;YACL,IAAI;SACL,CAAC,CAAC;QAEH,mCAAmC;QACnC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CACtC,IAAI,CAAC,KAAK,CACX,EAAE;YACD,QAAQ,CAAC,UAAU,CAAC,GAAQ,EAAE,IAAI,CAAC,CAAC;SACrC;QACD,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAkB,EAAE;YACtE,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAA2B,IAAI,CAAC,KAAK,CAAC,EAAE;YACxE,QAAQ,CAAC,YAAY,CACnB,GAAQ,EACR,IAAI,EACJ,iBAAiB,EAAkB,EACnC;gBACE,UAAU,EAAE,KAAK;aAClB,CACF,CAAC;SACH;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YACrC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACjC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7C,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAClC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACrD,QAAQ,CAAC,YAAY,CAAC,KAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aACjD;SACF;QAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,YAAY,CACnB,MAA4C;IAE5C,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChD,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAW,GAA8B,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,GAAG,GAAG,IAAsB,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CACzB,GAA0C,CAC3C,CAAC;SACH;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAOX,SAAQ,aAAiE;IAOzE,UAAU,CAAC,GAAqB,EAAE,IAA+B;QAC/D,IAAI,UAAoB,CAAC;QACzB,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,iDAAiD;YACjD,UAAU,GAAG,MAAM,CAAC,OAAO,CACzB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACnE;iBACE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;iBAChD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACpB;aAAM;YACL,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACjD;QAED,8DAA8D;QAC9D,SAAS,QAAQ,CAAC,KAAc;YAC9B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;oBAClC,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC;aAChC;iBAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/B;gBACA,MAAM,OAAO,GAAwB,EAAE,CAAC;gBACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;oBACrB,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;wBAChB,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;4BAC9B,SAAS;yBACV;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;qBACtC;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;qBACzB;iBACF;gBACD,OAAO,OAAO,CAAC;aAChB;iBAAM,IAAI,KAAK,IAAI,IAAI,EAAE;gBACxB,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;aACxB;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gCAAgC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,8DAA8D;QAC9D,SAAS,WAAW,CAAC,KAAQ;YAC3B,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;iBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;oBAClC,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;iBAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EACrB;gBACA,MAAM,OAAO,GAAwB,EAAE,CAAC;gBACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;wBACnB,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;4BACjC,SAAS;yBACV;wBACD,OAAO,CAAC,IAAI,CACV,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;qBACH;yBAAM;wBACL,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,WAAW,EAAE;4BACf,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;yBACtC;qBACF;iBACF;gBACD,OAAO,OAAO,CAAC;aAChB;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACtE;iBAAM;gBACL,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;gBAClE,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,OAAO,CAAC,QAAQ,EAAE,sFAAsF,WAAW,EAAE,EACvI;oBACE,aAAa,EAAE,iCAAiC;iBACjD,CACF,CAAC;aACH;QACH,CAAC;QAED,MAAM,iBAAiB,GAAmD;YACxE;gBACE,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,IAAI,gBAAgB,CAAC;oBAC3B,IAAI,EACF,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI;wBACzC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,KAAK;iBACf,CAAC;aACH;SACF,CAAC;QAEF,8BAA8B;QAC9B,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAO;gBACrC,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,OAAO,EAAE,CAAC,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;aAC7D,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,eAAe,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACd,CACF,CAAC;YACF,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAO;gBACrC,QAAQ,EAAE,EAAE;gBACZ,kBAAkB;gBAClB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBAChE,yCAAyC;gBACzC,OAAO,EAAE;oBACP,IAAI,YAAY,CACd,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EACtD,CAAC,UAAU,CAAC,CACb;iBACF;gBACD,MAAM,EAAE,aAAa;oBACnB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,8DAA8D;wBAC9D,CAAC,KAA0B,EAAE,EAAE;4BAC7B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,CACxD,CAAC;wBACJ,CAAC;gBACL,KAAK,EAAE,IAAI,EAAE,QAAQ;gBACrB,QAAQ,EAAE,IAAI,EAAE,QAAQ;gBACxB,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,SAAS,EAAE,IAAI,EAAE,SAAS;gBAC1B,IAAI,EAAE,IAAI,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,UAAU,CAAC,KAA4B,EAAE,GAAkB;QACzD,IAAI,GAAG,KAAK,GAAG,EAAE;YACf,OAAO;SACR;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;YACrD,mBAAmB;YAClB,IAAI,CAAC,QAAwC,CAAC,WAAW,CAAC;gBACzD,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,qBAAqB;YACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CACxB,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CACrE,CAAC;aACH;SACF;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE;YAC1B,MAAM,WAAW,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;YACtC,mBAAmB;YAClB,IAAI,CAAC,QAAwC,CAAC,WAAW,CAAC;gBACzD,IAAI,cAAc,EAAE,CAAC;YACvB,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,qBAAqB;YACrB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAC5B,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CACzE,CAAC;SACH;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAED,YAAY,CACV,KAAuB,EACvB,IAAY,EACZ,MAAoB,EACpB,UAAoC,EAAE,UAAU,EAAE,IAAI,EAAE;QAExD,MAAM,YAAY,GAAG,KAAK,EACxB,OAA0B,EAC1B,MAA+B,EAC/B,EAAE;YACF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC3B,OAAO;aACR;YACD,MAAM,MAAM,GAAiC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;oBACd,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO;oBACL,OAAO,EAAE,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE;oBACvC,KAAK,EAAE,KAAK;iBACb,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CACxB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,EAC7D,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACF,0BAA0B;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAC5B,MAAM,CAAC,GAAG,CACR,YAAY;QACZ,SAAS;QACT,OAAO,CAAC,UAAU;YAChB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CACT,WAAW,CAAC,MAAM,CAChB,MAAM,EACN,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAC1C,IAAI,CACL;YACL,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QAEF,4BAA4B;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;YACtB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,SAAS;aACV;YACD,MAAM,WAAW,GAAG,UAAU,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YACpD,IAAI,CAAC,QAAwC,CAAC,WAAW,CAAC;gBACzD,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACjD;IACH,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAiC;IAEjC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,eAAe,IAAI,GAAG;QACtB,GAAG,CAAC,aAAa,KAAK,gBAAgB,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAuC;IAEvC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAAgC,CAAC,QAAQ,KAAK,SAAS,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAKtC,GAAsD;IAEtD,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+C,CAAC,WAAW,KAAK,SAAS,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAI7C,GAA0D;IAE1D,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,8DAA8D;QAC7D,GAAW,CAAC,WAAW,KAAK,SAAS;QACrC,GAAmD,CAAC,KAAK,KAAK,SAAS;QACvE,GAAmD,CAAC,MAAM,KAAK,SAAS,CAC1E,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAS,cAAc,CAAC,KAAU;IAChC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC;KAChB;IACD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtB;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;KACzB;SAAM;QACL,OAAO,EAAE,CAAC;KACX;IACD,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;YACpC,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;SAClC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7D,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjC;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB;IACxB,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,IAAI,gBAAgB,CAAyB;QACvE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,kBAAkB;KACzB,CAAC,CAAC;IACH,OAAO,IAAI,MAAM,CAAC;QAChB,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/graph/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withLangGraph = void 0;
4
+ require("./plugin.cjs");
5
+ var state_js_1 = require("./state.cjs");
6
+ Object.defineProperty(exports, "withLangGraph", { enumerable: true, get: function () { return state_js_1.withLangGraph; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import "./plugin.js";
2
+ export { withLangGraph } from "./state.js";
@@ -0,0 +1,3 @@
1
+ import "./plugin.js";
2
+ export { withLangGraph } from "./state.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/zod/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const zod_1 = require("zod");
4
+ const state_js_1 = require("./state.cjs");
5
+ const metaSymbol = Symbol.for("langgraph-zod");
6
+ if (!(metaSymbol in globalThis)) {
7
+ globalThis[metaSymbol] = new WeakSet();
8
+ }
9
+ try {
10
+ const cache = globalThis[metaSymbol];
11
+ if (!cache?.has(zod_1.z.ZodType.prototype)) {
12
+ Object.defineProperty(zod_1.z.ZodType.prototype, "langgraph", {
13
+ get() {
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ const zodThis = this;
16
+ return {
17
+ metadata(jsonSchemaExtra) {
18
+ (0, state_js_1.extendMeta)(zodThis, (meta) => ({ ...meta, jsonSchemaExtra }));
19
+ return zodThis;
20
+ },
21
+ reducer(fn, schema) {
22
+ const defaultFn = (0, state_js_1.isZodDefault)(zodThis)
23
+ ? // @ts-expect-error Due to `_def` being `any`
24
+ zodThis._def.defaultValue
25
+ : undefined;
26
+ (0, state_js_1.extendMeta)(zodThis, (meta) => ({
27
+ ...meta,
28
+ default: defaultFn ?? meta?.default,
29
+ reducer: { schema, fn },
30
+ }));
31
+ return zodThis;
32
+ },
33
+ };
34
+ },
35
+ });
36
+ }
37
+ }
38
+ catch (error) {
39
+ throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.", { cause: error });
40
+ }
41
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ interface ZodLangGraphTypes<T extends z.ZodTypeAny, Output> {
3
+ reducer<Input = z.output<T>>(transform: (a: Output, arg: Input) => Output, options?: z.ZodType<Input>): z.ZodType<Output, z.ZodEffectsDef<T>, Input>;
4
+ metadata(payload: {
5
+ langgraph_nodes?: string[];
6
+ langgraph_type?: "prompt";
7
+ [key: string]: unknown;
8
+ }): T;
9
+ }
10
+ declare module "zod" {
11
+ interface ZodType<Output> {
12
+ langgraph: ZodLangGraphTypes<this, Output>;
13
+ }
14
+ }
15
+ export {};
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ import { extendMeta, isZodDefault } from "./state.js";
3
+ const metaSymbol = Symbol.for("langgraph-zod");
4
+ if (!(metaSymbol in globalThis)) {
5
+ globalThis[metaSymbol] = new WeakSet();
6
+ }
7
+ try {
8
+ const cache = globalThis[metaSymbol];
9
+ if (!cache?.has(z.ZodType.prototype)) {
10
+ Object.defineProperty(z.ZodType.prototype, "langgraph", {
11
+ get() {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const zodThis = this;
14
+ return {
15
+ metadata(jsonSchemaExtra) {
16
+ extendMeta(zodThis, (meta) => ({ ...meta, jsonSchemaExtra }));
17
+ return zodThis;
18
+ },
19
+ reducer(fn, schema) {
20
+ const defaultFn = isZodDefault(zodThis)
21
+ ? // @ts-expect-error Due to `_def` being `any`
22
+ zodThis._def.defaultValue
23
+ : undefined;
24
+ extendMeta(zodThis, (meta) => ({
25
+ ...meta,
26
+ default: defaultFn ?? meta?.default,
27
+ reducer: { schema, fn },
28
+ }));
29
+ return zodThis;
30
+ },
31
+ };
32
+ },
33
+ });
34
+ }
35
+ }
36
+ catch (error) {
37
+ throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.", { cause: error });
38
+ }
39
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/graph/zod/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AA0B/C,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE;IAC9B,UAA+B,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;CAC9D;AAED,IAAI;IACF,MAAM,KAAK,GAAI,UAA+B,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACpC,MAAM,CAAC,cAAc,CACnB,CAAC,CAAC,OAAO,CAAC,SAAS,EACnB,WAAqC,EACrC;YACE,GAAG;gBACD,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,IAAiD,CAAC;gBAGlE,OAAO;oBACL,QAAQ,CAAC,eAAwD;wBAC/D,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;wBAC9D,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,OAAO,CACL,EAAqC,EACrC,MAAyB;wBAEzB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;4BACrC,CAAC,CAAC,6CAA6C;gCAC7C,OAAO,CAAC,IAAI,CAAC,YAAY;4BAC3B,CAAC,CAAC,SAAS,CAAC;wBAEd,UAAU,CAAgB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BAC5C,GAAG,IAAI;4BACP,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,OAAO;4BACnC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;yBACxB,CAAC,CAAC,CAAC;wBAEJ,OAAO,OAAO,CAAC;oBACjB,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CACF,CAAC;KACH;CACF;AAAC,OAAO,KAAK,EAAE;IACd,MAAM,IAAI,KAAK,CACb,oKAAoK,EACpK,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;CACH"}