@voiceflow/utils-designer 1.63.24 → 1.64.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.
@@ -9,10 +9,13 @@ export declare const componentDiagramPayloadFactory: ({ startNode, diagramName,
9
9
  };
10
10
  diagramName: string;
11
11
  }) => DiagramPayload;
12
- export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNodeName, triggerNodeCoords, }: {
12
+ export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNode, }: {
13
13
  diagramName: string;
14
- triggerNodeName?: string;
15
- triggerNodeCoords?: [number, number];
14
+ triggerNode?: {
15
+ name?: string;
16
+ coords?: [number, number];
17
+ color?: string;
18
+ };
16
19
  }) => DiagramPayload;
17
20
  export declare const templateDiagramPayloadFactory: ({ name }?: {
18
21
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,yDAIpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,mBAWA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBACJ,CAAC"}
1
+ {"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,kCAGpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E,mBAcA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBAK1F,CAAC"}
@@ -35,18 +35,25 @@ const componentDiagramPayloadFactory = ({ startNode, diagramName, }) => diagramP
35
35
  ],
36
36
  });
37
37
  exports.componentDiagramPayloadFactory = componentDiagramPayloadFactory;
38
- const topicDiagramPayloadFactory = ({ diagramName, triggerNodeName, triggerNodeCoords = dtos_1.START_NODE_POSITION, }) => {
38
+ const topicDiagramPayloadFactory = ({ diagramName, triggerNode, }) => {
39
39
  const triggerNodeID = common_1.Utils.id.objectID();
40
40
  return diagramPayloadFactory({
41
41
  name: diagramName,
42
42
  type: dtos_1.DiagramType.TOPIC,
43
43
  nodes: [
44
- (0, node_util_1.blockNodeFactory)({ data: { name: triggerNodeName, steps: [triggerNodeID] }, coords: triggerNodeCoords }),
44
+ (0, node_util_1.blockNodeFactory)({
45
+ data: { name: triggerNode?.name, steps: [triggerNodeID] },
46
+ coords: triggerNode?.coords ?? dtos_1.START_NODE_POSITION,
47
+ }),
45
48
  (0, node_util_1.triggerNodeFactory)({ nodeID: triggerNodeID }),
46
49
  ],
47
50
  });
48
51
  };
49
52
  exports.topicDiagramPayloadFactory = topicDiagramPayloadFactory;
50
- const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({ name, type: dtos_1.DiagramType.TEMPLATE, nodes: [(0, node_util_1.startNodeFactory)()] });
53
+ const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
54
+ name,
55
+ type: dtos_1.DiagramType.TEMPLATE,
56
+ nodes: [(0, node_util_1.startNodeFactory)({ coords: dtos_1.START_NODE_POSITION })],
57
+ });
51
58
  exports.templateDiagramPayloadFactory = templateDiagramPayloadFactory;
52
59
  //# sourceMappingURL=diagram.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,0CAAmE;AAEnE,2CAAqF;AAE9E,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,cAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,IAAA,4BAAgB,EAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,0BAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAhBQ,QAAA,8BAA8B,kCAgBtC;AAEE,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,eAAe,EACf,iBAAiB,GAAG,0BAAmB,GAKxC,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,cAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,kBAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,IAAA,4BAAgB,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACxG,IAAA,8BAAkB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,0BAA0B,8BAmBrC;AAEK,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAA,4BAAgB,GAAE,CAAC,EAAE,CAAC,CAAC;AAD9E,QAAA,6BAA6B,iCACiD"}
1
+ {"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,0CAAmE;AAEnE,2CAAqF;AAE9E,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,cAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,IAAA,4BAAgB,EAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,0BAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAhBQ,QAAA,8BAA8B,kCAgBtC;AAEE,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,cAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,kBAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,IAAA,4BAAgB,EAAC;gBACf,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;gBACzD,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,0BAAmB;aACnD,CAAC;YACF,IAAA,8BAAkB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AApBW,QAAA,0BAA0B,8BAoBrC;AAEK,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC;IACpB,IAAI;IACJ,IAAI,EAAE,kBAAW,CAAC,QAAQ;IAC1B,KAAK,EAAE,CAAC,IAAA,4BAAgB,EAAC,EAAE,MAAM,EAAE,0BAAmB,EAAE,CAAC,CAAC;CAC3D,CAAC,CAAC;AALQ,QAAA,6BAA6B,iCAKrC"}
@@ -1,12 +1,12 @@
1
- import type { BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
1
+ import type { BaseNode, BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
2
2
  export declare const diagramNodeFactory: <Node extends DiagramNode>(node: Omit<Node, "nodeID"> & {
3
3
  nodeID?: string;
4
4
  }) => Node;
5
- type NodeFactoryOptions<Node extends DiagramNode> = Pick<Node, 'coords'> & {
5
+ interface NodeFactoryOptions<Node extends DiagramNode> extends Pick<Node, 'coords'> {
6
6
  data?: Partial<Node['data']>;
7
7
  nodeID?: string;
8
- };
9
- export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryOptions<StartNode>) => {
8
+ }
9
+ export declare const startNodeFactory: ({ data, coords, ...rest }: NodeFactoryOptions<StartNode>) => {
10
10
  type: "start";
11
11
  data: {
12
12
  portsV2: {
@@ -110,7 +110,7 @@ export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryO
110
110
  })[] | undefined;
111
111
  };
112
112
  nodeID: string;
113
- coords?: [number, number] | undefined;
113
+ coords: [number, number];
114
114
  };
115
115
  export declare const blockNodeFactory: ({ data, ...rest }: NodeFactoryOptions<BlockNode>) => {
116
116
  type: "block";
@@ -290,5 +290,38 @@ export declare const triggerNodeFactory: ({ data, ...reset }?: NodeFactoryOption
290
290
  nodeID: string;
291
291
  coords?: [number, number] | undefined;
292
292
  };
293
+ export declare const getFlatNodePorts: (node: BaseNode) => {
294
+ type: string;
295
+ id: string;
296
+ target: string | null;
297
+ data?: {
298
+ type?: "CURVED" | "STRAIGHT" | null | undefined;
299
+ color?: string | null | undefined;
300
+ points?: {
301
+ point: [number, number];
302
+ toTop?: boolean | null | undefined;
303
+ locked?: boolean | null | undefined;
304
+ reversed?: boolean | null | undefined;
305
+ allowedToTop?: boolean | null | undefined;
306
+ }[] | null | undefined;
307
+ caption?: {
308
+ value: string;
309
+ width: number;
310
+ height: number;
311
+ } | null | undefined;
312
+ } | null | undefined;
313
+ }[];
314
+ export declare const isStartNode: (node: BaseNode) => node is StartNode;
315
+ export declare const isBlockNode: (node: BaseNode) => node is BlockNode;
316
+ export declare const isTriggerNode: (node: BaseNode) => node is TriggerNode;
317
+ /**
318
+ * mutates nodes in place - creates horizontal tree layout
319
+ */
320
+ export declare const normalizeNodePositions: <Node extends BaseNode>(nodes: Node[], { hGap, vGap, blockWidth, blockHeight, }?: {
321
+ hGap?: number;
322
+ vGap?: number;
323
+ blockWidth?: number;
324
+ blockHeight?: number;
325
+ }) => Node[];
293
326
  export {};
294
327
  //# sourceMappingURL=node.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKtF,eAAO,MAAM,kBAAkB,GAAI,IAAI,SAAS,WAAW,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,IAIpG,CAAC;AAEb,KAAK,kBAAkB,CAAC,IAAI,SAAS,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG;IACzE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,+BAAqD,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;oBA2Cmz3E,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;YAAkP,CAAC;aAAmC,CAAC;aAAmC,CAAC;aAAmC,CAAC;gBAAwC,CAAC;;;;;;;6BAAoM,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;;;;CA5B10+E,CAAC;AAEL,eAAO,MAAM,gBAAgB,sBAAuB,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;;;oBA0BuitD,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;CAhBl/xD,CAAC;AAEL,eAAO,MAAM,kBAAkB,wBAAwB,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;oBAciz2F,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;;;;6BAAub,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;YAAgN,CAAC;;;;CAD329F,CAAC"}
1
+ {"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAY,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK1G,eAAO,MAAM,kBAAkB,GAAI,IAAI,SAAS,WAAW,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,IAIpG,CAAC;AAEb,UAAU,kBAAkB,CAAC,IAAI,SAAS,WAAW,CAAE,SAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,8BAA+B,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;oBAwNigtE,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;YAAkP,CAAC;aAAmC,CAAC;aAAmC,CAAC;aAAmC,CAAC;gBAAwC,CAAC;;;;;;;6BAAoM,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;;;;CAzMlg0E,CAAC;AAEL,eAAO,MAAM,gBAAgB,sBAAuB,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;;;oBAuM8uiD,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;CA7LzrnD,CAAC;AAEL,eAAO,MAAM,kBAAkB,wBAAwB,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;oBA2Lw/rF,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;;;;6BAAub,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;YAAgN,CAAC;;;;CA9KljzF,CAAC;AAEL,eAAO,MAAM,gBAAgB,SAAU,QAAQ;;;;;YA4KuzkD,CAAC;aAAqE,CAAC;cAAuD,CAAC;;iBAAkF,CAAC;kBAA4D,CAAC;oBAA8D,CAAC;wBAAkE,CAAC;;eAAqG,CAAC;;;;;;GAxK51lD,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,QAAQ,KAAG,IAAI,IAAI,SAAyC,CAAC;AAC/F,eAAO,MAAM,WAAW,SAAU,QAAQ,KAAG,IAAI,IAAI,SAAyC,CAAC;AAC/F,eAAO,MAAM,aAAa,SAAU,QAAQ,KAAG,IAAI,IAAI,WAA6C,CAAC;AAErG;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,SAAS,QAAQ,SACnD,IAAI,EAAE,6CAMV;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7E,IAAI,EAsJN,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.triggerNodeFactory = exports.blockNodeFactory = exports.startNodeFactory = exports.diagramNodeFactory = void 0;
3
+ exports.normalizeNodePositions = exports.isTriggerNode = exports.isBlockNode = exports.isStartNode = exports.getFlatNodePorts = exports.triggerNodeFactory = exports.blockNodeFactory = exports.startNodeFactory = exports.diagramNodeFactory = void 0;
4
+ /* eslint-disable no-param-reassign */
4
5
  const common_1 = require("@voiceflow/common");
5
6
  const dtos_1 = require("@voiceflow/dtos");
6
7
  const node_port_util_1 = require("./node-port.util");
@@ -9,7 +10,7 @@ const diagramNodeFactory = (node) => ({
9
10
  nodeID: node.nodeID ?? common_1.Utils.id.objectID(),
10
11
  });
11
12
  exports.diagramNodeFactory = diagramNodeFactory;
12
- const startNodeFactory = ({ data, coords = dtos_1.START_NODE_POSITION, ...rest } = {}) => (0, exports.diagramNodeFactory)({
13
+ const startNodeFactory = ({ data, coords, ...rest }) => (0, exports.diagramNodeFactory)({
13
14
  ...rest,
14
15
  type: dtos_1.NodeType.START,
15
16
  data: {
@@ -48,4 +49,151 @@ const triggerNodeFactory = ({ data, ...reset } = {}) => (0, exports.diagramNodeF
48
49
  },
49
50
  });
50
51
  exports.triggerNodeFactory = triggerNodeFactory;
52
+ const getFlatNodePorts = (node) => [
53
+ ...Object.values(node.data.portsV2.byKey ?? {}),
54
+ ...Object.values(node.data.portsV2.builtIn ?? {}),
55
+ ...(node.data.portsV2.dynamic ?? []),
56
+ ];
57
+ exports.getFlatNodePorts = getFlatNodePorts;
58
+ const isStartNode = (node) => node.type === dtos_1.NodeType.START;
59
+ exports.isStartNode = isStartNode;
60
+ const isBlockNode = (node) => node.type === dtos_1.NodeType.BLOCK;
61
+ exports.isBlockNode = isBlockNode;
62
+ const isTriggerNode = (node) => node.type === dtos_1.NodeType.TRIGGER;
63
+ exports.isTriggerNode = isTriggerNode;
64
+ /**
65
+ * mutates nodes in place - creates horizontal tree layout
66
+ */
67
+ const normalizeNodePositions = (nodes, { hGap = 100, vGap = 80, blockWidth = 330, blockHeight = 250, } = {}) => {
68
+ const stepsMap = new Map();
69
+ const parentNodes = new Map();
70
+ const stepIDToBlockIDMap = new Map();
71
+ // Separate parent nodes (blocks/start) from step nodes
72
+ nodes.forEach((node) => {
73
+ if ((0, exports.isBlockNode)(node)) {
74
+ node.data.steps.forEach((stepID) => {
75
+ stepIDToBlockIDMap.set(stepID, node.nodeID);
76
+ });
77
+ parentNodes.set(node.nodeID, node);
78
+ }
79
+ else if ((0, exports.isStartNode)(node)) {
80
+ parentNodes.set(node.nodeID, node);
81
+ }
82
+ else {
83
+ stepsMap.set(node.nodeID, node);
84
+ }
85
+ });
86
+ // Build parent-child relationships
87
+ const parentOf = new Map(); // child nodeID -> parent nodeID
88
+ const childrenOf = new Map(); // nodeID -> child nodeIDs[]
89
+ // Initialize empty children arrays for all parent nodes
90
+ parentNodes.forEach((node) => {
91
+ childrenOf.set(node.nodeID, []);
92
+ });
93
+ parentNodes.forEach((node) => {
94
+ const ports = [];
95
+ if ((0, exports.isStartNode)(node)) {
96
+ ports.push(...(0, exports.getFlatNodePorts)(node));
97
+ }
98
+ else {
99
+ node.data.steps.forEach((stepID) => {
100
+ const step = stepsMap.get(stepID);
101
+ if (!step)
102
+ return;
103
+ ports.push(...(0, exports.getFlatNodePorts)(step));
104
+ });
105
+ }
106
+ ports.forEach((port) => {
107
+ if (!port.target)
108
+ return;
109
+ const targetStep = stepsMap.get(port.target);
110
+ const targetStepBlockID = targetStep ? stepIDToBlockIDMap.get(port.target) : null;
111
+ const targetBlock = parentNodes.get(targetStepBlockID ?? port.target);
112
+ if (!targetBlock)
113
+ return;
114
+ // Add child relationship (avoid duplicates)
115
+ const children = childrenOf.get(node.nodeID) ?? [];
116
+ if (!children.includes(targetBlock.nodeID)) {
117
+ children.push(targetBlock.nodeID);
118
+ childrenOf.set(node.nodeID, children);
119
+ }
120
+ // Set parent relationship
121
+ parentOf.set(targetBlock.nodeID, node.nodeID);
122
+ });
123
+ });
124
+ // Find root nodes (nodes with no parents)
125
+ const roots = Array.from(parentNodes.values()).filter((b) => !parentOf.has(b.nodeID));
126
+ if (roots.length === 0)
127
+ throw new Error('Graph has cycles or no root block.');
128
+ // Temporary debugging
129
+ if (typeof globalThis !== 'undefined') {
130
+ globalThis.debugNodePositioning = {
131
+ parentNodes: Array.from(parentNodes.keys()),
132
+ roots: roots.map((r) => r.nodeID),
133
+ childrenOf: Object.fromEntries(childrenOf),
134
+ parentOf: Object.fromEntries(parentOf),
135
+ };
136
+ }
137
+ // If all nodes are roots (no parent-child relationships), position them in a simple grid
138
+ if (roots.length === parentNodes.size) {
139
+ let x = 0;
140
+ let y = 0;
141
+ const maxNodesPerRow = 3; // Adjust as needed
142
+ roots.forEach((node, index) => {
143
+ node.coords[0] = x;
144
+ node.coords[1] = y;
145
+ if ((index + 1) % maxNodesPerRow === 0) {
146
+ x = 0;
147
+ y += blockHeight + vGap;
148
+ }
149
+ else {
150
+ x += blockWidth + hGap;
151
+ }
152
+ });
153
+ return nodes;
154
+ }
155
+ // First pass: assign depth (X coordinate) to each node
156
+ const nodeDepths = new Map();
157
+ // Use BFS to assign depths, handling cycles properly
158
+ const queue = [];
159
+ // Start with all roots at depth 0
160
+ roots.forEach((root) => {
161
+ nodeDepths.set(root.nodeID, 0);
162
+ queue.push({ nodeId: root.nodeID, depth: 0 });
163
+ });
164
+ // Process queue until empty
165
+ while (queue.length > 0) {
166
+ const { nodeId, depth } = queue.shift();
167
+ const children = childrenOf.get(nodeId) ?? [];
168
+ children.forEach((childId) => {
169
+ const currentDepth = nodeDepths.get(childId);
170
+ const newDepth = depth + 1;
171
+ // Only update if we haven't seen this node or found a shorter path
172
+ if (currentDepth === undefined || newDepth < currentDepth) {
173
+ nodeDepths.set(childId, newDepth);
174
+ queue.push({ nodeId: childId, depth: newDepth });
175
+ }
176
+ });
177
+ }
178
+ // Second pass: group nodes by depth and assign Y coordinates
179
+ const nodesByDepth = new Map();
180
+ parentNodes.forEach((node) => {
181
+ const depth = nodeDepths.get(node.nodeID) ?? 0;
182
+ if (!nodesByDepth.has(depth)) {
183
+ nodesByDepth.set(depth, []);
184
+ }
185
+ nodesByDepth.get(depth).push(node);
186
+ });
187
+ // Position nodes: X by depth, Y by order within depth
188
+ nodesByDepth.forEach((nodesAtDepth, depth) => {
189
+ const x = depth * (blockWidth + hGap);
190
+ nodesAtDepth.forEach((node, index) => {
191
+ const y = index * (blockHeight + vGap);
192
+ // Create a new coords array to avoid shared reference issues
193
+ node.coords = [x, y];
194
+ });
195
+ });
196
+ return nodes;
197
+ };
198
+ exports.normalizeNodePositions = normalizeNodePositions;
51
199
  //# sourceMappingURL=node.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,0CAAoF;AAEpF,qDAAqE;AAE9D,MAAM,kBAAkB,GAAG,CAA2B,IAAgD,EAAQ,EAAE,CACrH,CAAC;IACC,GAAG,IAAI;IACP,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,cAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAS,CAAC;AAJA,QAAA,kBAAkB,sBAIlB;AAON,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,0BAAmB,EAAE,GAAG,IAAI,KAAoC,EAAE,EAAE,EAAE,CACtH,IAAA,0BAAkB,EAAY;IAC5B,GAAG,IAAI;IACP,IAAI,EAAE,eAAQ,CAAC,KAAK;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO;QAC3B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS;QAC/B,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,OAAO,EACL,IAAI,EAAE,OAAO;YACb,IAAA,iCAAgB,EAAC;gBACf,OAAO,EAAE,EAAE,CAAC,yBAAkB,CAAC,IAAI,CAAC,EAAE,IAAA,gCAAe,EAAC,EAAE,IAAI,EAAE,yBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE;aAC3F,CAAC;KACL;IACD,MAAM;CACP,CAAC,CAAC;AAfQ,QAAA,gBAAgB,oBAexB;AAEE,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAiC,EAAE,EAAE,CACnF,IAAA,0BAAkB,EAAY;IAC5B,GAAG,IAAI;IACP,IAAI,EAAE,eAAQ,CAAC,KAAK;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAA,iCAAgB,GAAE;KAC7C;CACF,CAAC,CAAC;AAVQ,QAAA,gBAAgB,oBAUxB;AAEE,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,KAAsC,EAAE,EAAE,EAAE,CAC7F,IAAA,0BAAkB,EAAc;IAC9B,GAAG,KAAK;IACR,IAAI,EAAE,eAAQ,CAAC,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EACL,IAAI,EAAE,OAAO;YACb,IAAA,iCAAgB,EAAC;gBACf,KAAK,EAAE,EAAE,CAAC,yBAAkB,CAAC,IAAI,CAAC,EAAE,IAAA,gCAAe,EAAC,EAAE,IAAI,EAAE,yBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE;aACzF,CAAC;KACL;CACF,CAAC,CAAC;AAbQ,QAAA,kBAAkB,sBAa1B"}
1
+ {"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,13 @@ export declare const componentDiagramPayloadFactory: ({ startNode, diagramName,
9
9
  };
10
10
  diagramName: string;
11
11
  }) => DiagramPayload;
12
- export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNodeName, triggerNodeCoords, }: {
12
+ export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNode, }: {
13
13
  diagramName: string;
14
- triggerNodeName?: string;
15
- triggerNodeCoords?: [number, number];
14
+ triggerNode?: {
15
+ name?: string;
16
+ coords?: [number, number];
17
+ color?: string;
18
+ };
16
19
  }) => DiagramPayload;
17
20
  export declare const templateDiagramPayloadFactory: ({ name }?: {
18
21
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,yDAIpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,mBAWA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBACJ,CAAC"}
1
+ {"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,kCAGpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E,mBAcA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBAK1F,CAAC"}
@@ -30,16 +30,23 @@ export const componentDiagramPayloadFactory = ({ startNode, diagramName, }) => d
30
30
  }),
31
31
  ],
32
32
  });
33
- export const topicDiagramPayloadFactory = ({ diagramName, triggerNodeName, triggerNodeCoords = START_NODE_POSITION, }) => {
33
+ export const topicDiagramPayloadFactory = ({ diagramName, triggerNode, }) => {
34
34
  const triggerNodeID = Utils.id.objectID();
35
35
  return diagramPayloadFactory({
36
36
  name: diagramName,
37
37
  type: DiagramType.TOPIC,
38
38
  nodes: [
39
- blockNodeFactory({ data: { name: triggerNodeName, steps: [triggerNodeID] }, coords: triggerNodeCoords }),
39
+ blockNodeFactory({
40
+ data: { name: triggerNode?.name, steps: [triggerNodeID] },
41
+ coords: triggerNode?.coords ?? START_NODE_POSITION,
42
+ }),
40
43
  triggerNodeFactory({ nodeID: triggerNodeID }),
41
44
  ],
42
45
  });
43
46
  };
44
- export const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({ name, type: DiagramType.TEMPLATE, nodes: [startNodeFactory()] });
47
+ export const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
48
+ name,
49
+ type: DiagramType.TEMPLATE,
50
+ nodes: [startNodeFactory({ coords: START_NODE_POSITION })],
51
+ });
45
52
  //# sourceMappingURL=diagram.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,gBAAgB,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,mBAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,eAAe,EACf,iBAAiB,GAAG,mBAAmB,GAKxC,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACxG,kBAAkB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,gBAAgB,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,mBAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,gBAAgB,CAAC;gBACf,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;gBACzD,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,mBAAmB;aACnD,CAAC;YACF,kBAAkB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC;IACpB,IAAI;IACJ,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CAC3D,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
- import type { BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
1
+ import type { BaseNode, BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
2
2
  export declare const diagramNodeFactory: <Node extends DiagramNode>(node: Omit<Node, "nodeID"> & {
3
3
  nodeID?: string;
4
4
  }) => Node;
5
- type NodeFactoryOptions<Node extends DiagramNode> = Pick<Node, 'coords'> & {
5
+ interface NodeFactoryOptions<Node extends DiagramNode> extends Pick<Node, 'coords'> {
6
6
  data?: Partial<Node['data']>;
7
7
  nodeID?: string;
8
- };
9
- export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryOptions<StartNode>) => {
8
+ }
9
+ export declare const startNodeFactory: ({ data, coords, ...rest }: NodeFactoryOptions<StartNode>) => {
10
10
  type: "start";
11
11
  data: {
12
12
  portsV2: {
@@ -110,7 +110,7 @@ export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryO
110
110
  })[] | undefined;
111
111
  };
112
112
  nodeID: string;
113
- coords?: [number, number] | undefined;
113
+ coords: [number, number];
114
114
  };
115
115
  export declare const blockNodeFactory: ({ data, ...rest }: NodeFactoryOptions<BlockNode>) => {
116
116
  type: "block";
@@ -290,5 +290,38 @@ export declare const triggerNodeFactory: ({ data, ...reset }?: NodeFactoryOption
290
290
  nodeID: string;
291
291
  coords?: [number, number] | undefined;
292
292
  };
293
+ export declare const getFlatNodePorts: (node: BaseNode) => {
294
+ type: string;
295
+ id: string;
296
+ target: string | null;
297
+ data?: {
298
+ type?: "CURVED" | "STRAIGHT" | null | undefined;
299
+ color?: string | null | undefined;
300
+ points?: {
301
+ point: [number, number];
302
+ toTop?: boolean | null | undefined;
303
+ locked?: boolean | null | undefined;
304
+ reversed?: boolean | null | undefined;
305
+ allowedToTop?: boolean | null | undefined;
306
+ }[] | null | undefined;
307
+ caption?: {
308
+ value: string;
309
+ width: number;
310
+ height: number;
311
+ } | null | undefined;
312
+ } | null | undefined;
313
+ }[];
314
+ export declare const isStartNode: (node: BaseNode) => node is StartNode;
315
+ export declare const isBlockNode: (node: BaseNode) => node is BlockNode;
316
+ export declare const isTriggerNode: (node: BaseNode) => node is TriggerNode;
317
+ /**
318
+ * mutates nodes in place - creates horizontal tree layout
319
+ */
320
+ export declare const normalizeNodePositions: <Node extends BaseNode>(nodes: Node[], { hGap, vGap, blockWidth, blockHeight, }?: {
321
+ hGap?: number;
322
+ vGap?: number;
323
+ blockWidth?: number;
324
+ blockHeight?: number;
325
+ }) => Node[];
293
326
  export {};
294
327
  //# sourceMappingURL=node.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKtF,eAAO,MAAM,kBAAkB,GAAI,IAAI,SAAS,WAAW,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,IAIpG,CAAC;AAEb,KAAK,kBAAkB,CAAC,IAAI,SAAS,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG;IACzE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,+BAAqD,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;oBA2Cmz3E,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;YAAkP,CAAC;aAAmC,CAAC;aAAmC,CAAC;aAAmC,CAAC;gBAAwC,CAAC;;;;;;;6BAAoM,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;;;;CA5B10+E,CAAC;AAEL,eAAO,MAAM,gBAAgB,sBAAuB,kBAAkB,CAAC,SAAS,CAAC;;;;;;;;;;oBA0BuitD,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;CAhBl/xD,CAAC;AAEL,eAAO,MAAM,kBAAkB,wBAAwB,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;oBAciz2F,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAA2d,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;oBAAuW,CAAC;wBAA4B,CAAC;yBAAqE,CAAC;0BAAuD,CAAC;;6BAAkF,CAAC;8BAA4D,CAAC;gCAA8D,CAAC;oCAAkE,CAAC;;2BAAqG,CAAC;;;;;;;;;;;;;;;6BAAub,CAAC;4BAAgC,CAAC;;;;;wBAA4J,CAAC;6BAA2D,CAAC;;;iBAAsH,CAAC;;;;oBAA+G,CAAC;;;;;;;;;YAAgN,CAAC;;;;CAD329F,CAAC"}
1
+ {"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
+ /* eslint-disable no-param-reassign */
1
2
  import { Utils } from '@voiceflow/common';
2
- import { NodeSystemPortType, NodeType, START_NODE_POSITION } from '@voiceflow/dtos';
3
+ import { NodeSystemPortType, NodeType } from '@voiceflow/dtos';
3
4
  import { nodePortFactory, nodePortsFactory } from './node-port.util.js';
4
5
  export const diagramNodeFactory = (node) => ({
5
6
  ...node,
6
7
  nodeID: node.nodeID ?? Utils.id.objectID(),
7
8
  });
8
- export const startNodeFactory = ({ data, coords = START_NODE_POSITION, ...rest } = {}) => diagramNodeFactory({
9
+ export const startNodeFactory = ({ data, coords, ...rest }) => diagramNodeFactory({
9
10
  ...rest,
10
11
  type: NodeType.START,
11
12
  data: {
@@ -41,4 +42,146 @@ export const triggerNodeFactory = ({ data, ...reset } = {}) => diagramNodeFactor
41
42
  }),
42
43
  },
43
44
  });
45
+ export const getFlatNodePorts = (node) => [
46
+ ...Object.values(node.data.portsV2.byKey ?? {}),
47
+ ...Object.values(node.data.portsV2.builtIn ?? {}),
48
+ ...(node.data.portsV2.dynamic ?? []),
49
+ ];
50
+ export const isStartNode = (node) => node.type === NodeType.START;
51
+ export const isBlockNode = (node) => node.type === NodeType.BLOCK;
52
+ export const isTriggerNode = (node) => node.type === NodeType.TRIGGER;
53
+ /**
54
+ * mutates nodes in place - creates horizontal tree layout
55
+ */
56
+ export const normalizeNodePositions = (nodes, { hGap = 100, vGap = 80, blockWidth = 330, blockHeight = 250, } = {}) => {
57
+ const stepsMap = new Map();
58
+ const parentNodes = new Map();
59
+ const stepIDToBlockIDMap = new Map();
60
+ // Separate parent nodes (blocks/start) from step nodes
61
+ nodes.forEach((node) => {
62
+ if (isBlockNode(node)) {
63
+ node.data.steps.forEach((stepID) => {
64
+ stepIDToBlockIDMap.set(stepID, node.nodeID);
65
+ });
66
+ parentNodes.set(node.nodeID, node);
67
+ }
68
+ else if (isStartNode(node)) {
69
+ parentNodes.set(node.nodeID, node);
70
+ }
71
+ else {
72
+ stepsMap.set(node.nodeID, node);
73
+ }
74
+ });
75
+ // Build parent-child relationships
76
+ const parentOf = new Map(); // child nodeID -> parent nodeID
77
+ const childrenOf = new Map(); // nodeID -> child nodeIDs[]
78
+ // Initialize empty children arrays for all parent nodes
79
+ parentNodes.forEach((node) => {
80
+ childrenOf.set(node.nodeID, []);
81
+ });
82
+ parentNodes.forEach((node) => {
83
+ const ports = [];
84
+ if (isStartNode(node)) {
85
+ ports.push(...getFlatNodePorts(node));
86
+ }
87
+ else {
88
+ node.data.steps.forEach((stepID) => {
89
+ const step = stepsMap.get(stepID);
90
+ if (!step)
91
+ return;
92
+ ports.push(...getFlatNodePorts(step));
93
+ });
94
+ }
95
+ ports.forEach((port) => {
96
+ if (!port.target)
97
+ return;
98
+ const targetStep = stepsMap.get(port.target);
99
+ const targetStepBlockID = targetStep ? stepIDToBlockIDMap.get(port.target) : null;
100
+ const targetBlock = parentNodes.get(targetStepBlockID ?? port.target);
101
+ if (!targetBlock)
102
+ return;
103
+ // Add child relationship (avoid duplicates)
104
+ const children = childrenOf.get(node.nodeID) ?? [];
105
+ if (!children.includes(targetBlock.nodeID)) {
106
+ children.push(targetBlock.nodeID);
107
+ childrenOf.set(node.nodeID, children);
108
+ }
109
+ // Set parent relationship
110
+ parentOf.set(targetBlock.nodeID, node.nodeID);
111
+ });
112
+ });
113
+ // Find root nodes (nodes with no parents)
114
+ const roots = Array.from(parentNodes.values()).filter((b) => !parentOf.has(b.nodeID));
115
+ if (roots.length === 0)
116
+ throw new Error('Graph has cycles or no root block.');
117
+ // Temporary debugging
118
+ if (typeof globalThis !== 'undefined') {
119
+ globalThis.debugNodePositioning = {
120
+ parentNodes: Array.from(parentNodes.keys()),
121
+ roots: roots.map((r) => r.nodeID),
122
+ childrenOf: Object.fromEntries(childrenOf),
123
+ parentOf: Object.fromEntries(parentOf),
124
+ };
125
+ }
126
+ // If all nodes are roots (no parent-child relationships), position them in a simple grid
127
+ if (roots.length === parentNodes.size) {
128
+ let x = 0;
129
+ let y = 0;
130
+ const maxNodesPerRow = 3; // Adjust as needed
131
+ roots.forEach((node, index) => {
132
+ node.coords[0] = x;
133
+ node.coords[1] = y;
134
+ if ((index + 1) % maxNodesPerRow === 0) {
135
+ x = 0;
136
+ y += blockHeight + vGap;
137
+ }
138
+ else {
139
+ x += blockWidth + hGap;
140
+ }
141
+ });
142
+ return nodes;
143
+ }
144
+ // First pass: assign depth (X coordinate) to each node
145
+ const nodeDepths = new Map();
146
+ // Use BFS to assign depths, handling cycles properly
147
+ const queue = [];
148
+ // Start with all roots at depth 0
149
+ roots.forEach((root) => {
150
+ nodeDepths.set(root.nodeID, 0);
151
+ queue.push({ nodeId: root.nodeID, depth: 0 });
152
+ });
153
+ // Process queue until empty
154
+ while (queue.length > 0) {
155
+ const { nodeId, depth } = queue.shift();
156
+ const children = childrenOf.get(nodeId) ?? [];
157
+ children.forEach((childId) => {
158
+ const currentDepth = nodeDepths.get(childId);
159
+ const newDepth = depth + 1;
160
+ // Only update if we haven't seen this node or found a shorter path
161
+ if (currentDepth === undefined || newDepth < currentDepth) {
162
+ nodeDepths.set(childId, newDepth);
163
+ queue.push({ nodeId: childId, depth: newDepth });
164
+ }
165
+ });
166
+ }
167
+ // Second pass: group nodes by depth and assign Y coordinates
168
+ const nodesByDepth = new Map();
169
+ parentNodes.forEach((node) => {
170
+ const depth = nodeDepths.get(node.nodeID) ?? 0;
171
+ if (!nodesByDepth.has(depth)) {
172
+ nodesByDepth.set(depth, []);
173
+ }
174
+ nodesByDepth.get(depth).push(node);
175
+ });
176
+ // Position nodes: X by depth, Y by order within depth
177
+ nodesByDepth.forEach((nodesAtDepth, depth) => {
178
+ const x = depth * (blockWidth + hGap);
179
+ nodesAtDepth.forEach((node, index) => {
180
+ const y = index * (blockHeight + vGap);
181
+ // Create a new coords array to avoid shared reference issues
182
+ node.coords = [x, y];
183
+ });
184
+ });
185
+ return nodes;
186
+ };
44
187
  //# sourceMappingURL=node.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAA2B,IAAgD,EAAQ,EAAE,CACrH,CAAC;IACC,GAAG,IAAI;IACP,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAS,CAAC;AAOb,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,IAAI,KAAoC,EAAE,EAAE,EAAE,CACtH,kBAAkB,CAAY;IAC5B,GAAG,IAAI;IACP,IAAI,EAAE,QAAQ,CAAC,KAAK;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO;QAC3B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS;QAC/B,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,OAAO,EACL,IAAI,EAAE,OAAO;YACb,gBAAgB,CAAC;gBACf,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE;aAC3F,CAAC;KACL;IACD,MAAM;CACP,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAiC,EAAE,EAAE,CACnF,kBAAkB,CAAY;IAC5B,GAAG,IAAI;IACP,IAAI,EAAE,QAAQ,CAAC,KAAK;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,gBAAgB,EAAE;KAC7C;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,KAAsC,EAAE,EAAE,EAAE,CAC7F,kBAAkB,CAAc;IAC9B,GAAG,KAAK;IACR,IAAI,EAAE,QAAQ,CAAC,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EACL,IAAI,EAAE,OAAO;YACb,gBAAgB,CAAC;gBACf,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE;aACzF,CAAC;KACL;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voiceflow/utils-designer",
3
- "version": "1.63.24",
3
+ "version": "1.64.0",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./build/cjs/main.d.ts",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@voiceflow/common": "8.8.0",
35
- "@voiceflow/dtos": "1.375.0",
35
+ "@voiceflow/dtos": "1.377.0",
36
36
  "bidirectional-adapter": "1.2.1",
37
37
  "polished": "4.2.2",
38
38
  "slate": "0.94.1",
@@ -44,5 +44,5 @@
44
44
  "volta": {
45
45
  "extends": "../../package.json"
46
46
  },
47
- "gitHead": "1de6e5bb262db309a8805227e5dcbd9df88eb4f5"
47
+ "gitHead": "4cf7c93573828e8be2507bcb43a33c03c736cc3e"
48
48
  }