From 253546dc8f1eef237eb8e5e7be83b2bcdd93608e Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Thu, 16 Jun 2022 13:35:54 -0400 Subject: [PATCH 1/3] refactor: add types for custom trace --- packages/base-types/src/node/constants.ts | 1 + packages/base-types/src/node/custom.ts | 38 +++++++++++++++++++++++ packages/base-types/src/node/index.ts | 8 +++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 packages/base-types/src/node/custom.ts diff --git a/packages/base-types/src/node/constants.ts b/packages/base-types/src/node/constants.ts index 37e4a646b..3cb3a09a1 100644 --- a/packages/base-types/src/node/constants.ts +++ b/packages/base-types/src/node/constants.ts @@ -25,6 +25,7 @@ export enum NodeType { ZAPIER = 'zapier', INTEGRATIONS = 'integrations', GOOGLE_SHEETS = 'google_sheets', + CUSTOM = 'custom', // advanced INTENT = 'intent', diff --git a/packages/base-types/src/node/custom.ts b/packages/base-types/src/node/custom.ts new file mode 100644 index 000000000..9ec740c96 --- /dev/null +++ b/packages/base-types/src/node/custom.ts @@ -0,0 +1,38 @@ +import { Nullable } from '@voiceflow/common'; + +import { NodeType } from './constants'; +import { BaseEvent, BaseNode, BasePort, BasePortList, BaseStep, BaseStepPorts, NodeID } from './utils'; + +export interface StepData { + stop?: boolean; + payload: Payload; + defaultPath?: number; +} + +export interface StepPort extends BasePort { + data: { event?: Event }; +} + +export interface StepPorts extends BaseStepPorts>, StepPort[]> {} + +export interface Step extends BaseStep, StepPorts, BasePortList>> { + type: NodeType.CUSTOM; +} + +export interface NodePath { + label?: string; + event?: Event; + nextID: Nullable; +} + +export interface NodePayload { + name: string, + body: unknown +} + +export interface Node extends BaseNode { + stop: boolean; + paths: Array>; + payload: NodePayload; + defaultPath?: number; // index starting from 0 +} diff --git a/packages/base-types/src/node/index.ts b/packages/base-types/src/node/index.ts index 8b62c2184..f634a9e03 100644 --- a/packages/base-types/src/node/index.ts +++ b/packages/base-types/src/node/index.ts @@ -2,6 +2,7 @@ import * as _v1 from './_v1'; import * as Api from './api'; import * as Code from './code'; import * as Component from './component'; +import * as Custom from './custom'; import * as Exit from './exit'; import * as Flow from './flow'; import * as General from './general'; @@ -29,6 +30,7 @@ export * as Card from './card'; export * as Carousel from './carousel'; export * as Code from './code'; export * as Component from './component'; +export * as Custom from './custom'; export * from './constants'; export * as Directive from './directive'; export * as Exit from './exit'; @@ -76,7 +78,8 @@ export type AnyCommonStep = | GoTo.Step | GoToNode.Step | Url.Step - | _v1.Step; + | _v1.Step + | Custom.Step; export type AnyCommonNode = | Set.Node @@ -93,6 +96,7 @@ export type AnyCommonNode = | GoTo.Node | Url.Node | GoToNode.Node - | _v1.Node; + | _v1.Node + | Custom.Node; export type AnyCommonCommand = Intent.Command | Command.Command; From 0da75da2b7107768f89057ac1aef82ab9b763044 Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Mon, 20 Jun 2022 16:33:08 -0400 Subject: [PATCH 2/3] refactor: more custom type --- packages/base-types/src/node/custom.ts | 4 ++-- packages/base-types/src/node/utils/trace.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/base-types/src/node/custom.ts b/packages/base-types/src/node/custom.ts index 9ec740c96..dfe73717d 100644 --- a/packages/base-types/src/node/custom.ts +++ b/packages/base-types/src/node/custom.ts @@ -26,8 +26,8 @@ export interface NodePath { } export interface NodePayload { - name: string, - body: unknown + name: string; + body: unknown; } export interface Node extends BaseNode { diff --git a/packages/base-types/src/node/utils/trace.ts b/packages/base-types/src/node/utils/trace.ts index 95a72af5b..7b5762209 100644 --- a/packages/base-types/src/node/utils/trace.ts +++ b/packages/base-types/src/node/utils/trace.ts @@ -16,6 +16,7 @@ export enum TraceType { CAROUSEL = 'carousel', NO_REPLY = 'no-reply', ENTITY_FILLING = 'entity-filling', + CUSTOM = 'custom', } export interface BaseTraceFramePath { From 8cbd76385d438176ce166d2c443c6f005bc3b1db Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Tue, 21 Jun 2022 11:21:59 -0400 Subject: [PATCH 3/3] fix: lint fix --- packages/base-types/src/node/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/base-types/src/node/index.ts b/packages/base-types/src/node/index.ts index f634a9e03..0e099fc37 100644 --- a/packages/base-types/src/node/index.ts +++ b/packages/base-types/src/node/index.ts @@ -30,8 +30,8 @@ export * as Card from './card'; export * as Carousel from './carousel'; export * as Code from './code'; export * as Component from './component'; -export * as Custom from './custom'; export * from './constants'; +export * as Custom from './custom'; export * as Directive from './directive'; export * as Exit from './exit'; export * as Flow from './flow';