diff --git a/packages/base-types/src/index.ts b/packages/base-types/src/index.ts index 1e31d0b8e..140f18fdc 100644 --- a/packages/base-types/src/index.ts +++ b/packages/base-types/src/index.ts @@ -1,5 +1,7 @@ export * as Button from './button'; export * as BaseButton from './button'; +export * as Markup from './markup'; +export * as BaseMarkup from './markup'; export * as Models from './models'; export * as BaseModels from './models'; export * as Node from './node'; diff --git a/packages/base-types/src/markup/index.ts b/packages/base-types/src/markup/index.ts new file mode 100644 index 000000000..ecc95c61f --- /dev/null +++ b/packages/base-types/src/markup/index.ts @@ -0,0 +1,3 @@ +export type MarkupNode = string | { attributes: Record; text: Markup }; + +export type Markup = Array; diff --git a/packages/base-types/src/node/index.ts b/packages/base-types/src/node/index.ts index 2a011cdc3..33c59d0a5 100644 --- a/packages/base-types/src/node/index.ts +++ b/packages/base-types/src/node/index.ts @@ -70,6 +70,10 @@ export * as Utils from './utils'; export * as Visual from './visual'; export * as Zapier from './zapier'; +// Voiceflow V3 +export * as Image from '../trace/v3/image'; +export * as Video from '../trace/v3/video'; + export interface NextOnlyNode extends BaseNode, NodeNextID { type: '_next'; } diff --git a/packages/base-types/src/node/utils/trace.ts b/packages/base-types/src/node/utils/trace.ts index 9ad82b692..db93af007 100644 --- a/packages/base-types/src/node/utils/trace.ts +++ b/packages/base-types/src/node/utils/trace.ts @@ -18,6 +18,13 @@ export enum TraceType { NO_REPLY = 'no-reply', ENTITY_FILLING = 'entity-filling', CHANNEL_ACTION = 'channel-action', + + // Voiceflow V3 + V3_TEXT = 'v3.text', + V3_IMAGE = 'v3.image', + V3_JSON = 'v3.json', + V3_VIDEO = 'v3.video', + V3_DEBUG = 'v3.debug', } export interface BaseTraceFramePath { @@ -30,6 +37,9 @@ export interface BaseTraceFrame; +} + +export interface TraceFrame extends BaseTraceFrame { + type: TraceType.V3_DEBUG; +} diff --git a/packages/base-types/src/trace/v3/image.ts b/packages/base-types/src/trace/v3/image.ts new file mode 100644 index 000000000..c1fed0124 --- /dev/null +++ b/packages/base-types/src/trace/v3/image.ts @@ -0,0 +1,9 @@ +import { BaseTraceFrame, TraceType } from '../../node/utils'; + +interface StepData { + url: string; +} + +export interface TraceFrame extends BaseTraceFrame { + type: TraceType.V3_IMAGE; +} diff --git a/packages/base-types/src/trace/v3/index.ts b/packages/base-types/src/trace/v3/index.ts new file mode 100644 index 000000000..0892fcf8f --- /dev/null +++ b/packages/base-types/src/trace/v3/index.ts @@ -0,0 +1,10 @@ +export { TraceFrame as DebugTrace } from './debug'; +export * as Debug from './debug'; +export { TraceFrame as ImageTrace } from './image'; +export * as Image from './image'; +export { TraceFrame as JSONTrace } from './json'; +export * as JSON from './json'; +export { TraceFrame as TextTrace } from './text'; +export * as Text from './text'; +export { TraceFrame as VideoTrace } from './video'; +export * as Video from './video'; diff --git a/packages/base-types/src/trace/v3/json.ts b/packages/base-types/src/trace/v3/json.ts new file mode 100644 index 000000000..36801d684 --- /dev/null +++ b/packages/base-types/src/trace/v3/json.ts @@ -0,0 +1,9 @@ +import { BaseTraceFrame, TraceType } from '../../node/utils'; + +interface StepData { + json: unknown; +} + +export interface TraceFrame extends BaseTraceFrame { + type: TraceType.V3_JSON; +} diff --git a/packages/base-types/src/trace/v3/text.ts b/packages/base-types/src/trace/v3/text.ts new file mode 100644 index 000000000..ab1a7b419 --- /dev/null +++ b/packages/base-types/src/trace/v3/text.ts @@ -0,0 +1,11 @@ +import { Markup } from '@base-types/markup'; + +import { BaseTraceFrame, TraceType } from '../../node/utils'; + +interface StepData { + content: Markup; +} + +export interface TraceFrame extends BaseTraceFrame { + type: TraceType.V3_TEXT; +} diff --git a/packages/base-types/src/trace/v3/video.ts b/packages/base-types/src/trace/v3/video.ts new file mode 100644 index 000000000..7f33e2400 --- /dev/null +++ b/packages/base-types/src/trace/v3/video.ts @@ -0,0 +1,9 @@ +import { BaseTraceFrame, TraceType } from '../../node/utils'; + +interface StepData { + url: string; +} + +export interface TraceFrame extends BaseTraceFrame { + type: TraceType.V3_VIDEO; +}