@voiceflow/sdk-runtime 1.3.2 → 1.3.4

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 (87) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/cjs/runtime/runtime.interface.d.ts +5 -67
  3. package/build/cjs/runtime/runtime.interface.d.ts.map +1 -1
  4. package/build/cjs/runtime/runtime.interface.js +4 -29
  5. package/build/cjs/trace/components/card.component.d.ts +7 -2
  6. package/build/cjs/trace/components/card.component.d.ts.map +1 -1
  7. package/build/cjs/trace/components/cardV2.component.d.ts +3 -0
  8. package/build/cjs/trace/components/cardV2.component.d.ts.map +1 -0
  9. package/build/cjs/trace/components/cardV2.component.js +6 -0
  10. package/build/cjs/trace/components/choice.component.d.ts +2 -2
  11. package/build/cjs/trace/components/choice.component.d.ts.map +1 -1
  12. package/build/cjs/trace/components/choice.component.js +2 -1
  13. package/build/cjs/trace/components/end.component.d.ts +2 -2
  14. package/build/cjs/trace/components/end.component.d.ts.map +1 -1
  15. package/build/cjs/trace/components/end.component.js +2 -1
  16. package/build/cjs/trace/components/index.d.ts +1 -1
  17. package/build/cjs/trace/components/index.d.ts.map +1 -1
  18. package/build/cjs/trace/components/index.js +1 -1
  19. package/build/cjs/trace/components/speak.component.d.ts +2 -2
  20. package/build/cjs/trace/components/speak.component.d.ts.map +1 -1
  21. package/build/cjs/trace/components/speak.component.js +2 -1
  22. package/build/cjs/trace/components/stream.component.d.ts +2 -2
  23. package/build/cjs/trace/components/stream.component.d.ts.map +1 -1
  24. package/build/cjs/trace/components/stream.component.js +2 -1
  25. package/build/cjs/trace/components/text.component.d.ts +2 -2
  26. package/build/cjs/trace/components/text.component.d.ts.map +1 -1
  27. package/build/cjs/trace/components/text.component.js +2 -1
  28. package/build/cjs/trace/components/visual.component.d.ts +4 -2
  29. package/build/cjs/trace/components/visual.component.d.ts.map +1 -1
  30. package/build/cjs/trace/components/visual.component.js +2 -1
  31. package/build/cjs/trace/trace.component.d.ts +5 -5
  32. package/build/cjs/trace/trace.component.d.ts.map +1 -1
  33. package/build/cjs/trace/trace.interface.d.ts +6 -6
  34. package/build/cjs/trace/trace.interface.d.ts.map +1 -1
  35. package/build/esm/runtime/runtime.interface.d.ts +5 -67
  36. package/build/esm/runtime/runtime.interface.d.ts.map +1 -1
  37. package/build/esm/runtime/runtime.interface.js +3 -21
  38. package/build/esm/trace/components/card.component.d.ts +7 -2
  39. package/build/esm/trace/components/card.component.d.ts.map +1 -1
  40. package/build/esm/trace/components/cardV2.component.d.ts +3 -0
  41. package/build/esm/trace/components/cardV2.component.d.ts.map +1 -0
  42. package/build/esm/trace/components/cardV2.component.js +3 -0
  43. package/build/esm/trace/components/choice.component.d.ts +2 -2
  44. package/build/esm/trace/components/choice.component.d.ts.map +1 -1
  45. package/build/esm/trace/components/choice.component.js +2 -1
  46. package/build/esm/trace/components/end.component.d.ts +2 -2
  47. package/build/esm/trace/components/end.component.d.ts.map +1 -1
  48. package/build/esm/trace/components/end.component.js +2 -1
  49. package/build/esm/trace/components/index.d.ts +1 -1
  50. package/build/esm/trace/components/index.d.ts.map +1 -1
  51. package/build/esm/trace/components/index.js +1 -1
  52. package/build/esm/trace/components/speak.component.d.ts +2 -2
  53. package/build/esm/trace/components/speak.component.d.ts.map +1 -1
  54. package/build/esm/trace/components/speak.component.js +2 -1
  55. package/build/esm/trace/components/stream.component.d.ts +2 -2
  56. package/build/esm/trace/components/stream.component.d.ts.map +1 -1
  57. package/build/esm/trace/components/stream.component.js +2 -1
  58. package/build/esm/trace/components/text.component.d.ts +2 -2
  59. package/build/esm/trace/components/text.component.d.ts.map +1 -1
  60. package/build/esm/trace/components/text.component.js +2 -1
  61. package/build/esm/trace/components/visual.component.d.ts +4 -2
  62. package/build/esm/trace/components/visual.component.d.ts.map +1 -1
  63. package/build/esm/trace/components/visual.component.js +2 -1
  64. package/build/esm/trace/trace.component.d.ts +5 -5
  65. package/build/esm/trace/trace.component.d.ts.map +1 -1
  66. package/build/esm/trace/trace.interface.d.ts +6 -6
  67. package/build/esm/trace/trace.interface.d.ts.map +1 -1
  68. package/package.json +4 -3
  69. package/src/runtime/runtime.interface.ts +7 -102
  70. package/src/trace/components/card.component.ts +2 -2
  71. package/src/trace/components/cardV2.component.ts +5 -0
  72. package/src/trace/components/choice.component.ts +2 -2
  73. package/src/trace/components/end.component.ts +2 -2
  74. package/src/trace/components/index.ts +1 -1
  75. package/src/trace/components/speak.component.ts +2 -2
  76. package/src/trace/components/stream.component.ts +2 -2
  77. package/src/trace/components/text.component.ts +2 -2
  78. package/src/trace/components/visual.component.ts +6 -2
  79. package/src/trace/trace.component.ts +6 -8
  80. package/src/trace/trace.interface.ts +7 -7
  81. package/build/cjs/trace/components/payload.component.d.ts +0 -3
  82. package/build/cjs/trace/components/payload.component.d.ts.map +0 -1
  83. package/build/cjs/trace/components/payload.component.js +0 -5
  84. package/build/esm/trace/components/payload.component.d.ts +0 -3
  85. package/build/esm/trace/components/payload.component.d.ts.map +0 -1
  86. package/build/esm/trace/components/payload.component.js +0 -2
  87. package/src/trace/components/payload.component.ts +0 -5
@@ -0,0 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ import { createTraceComponent } from '../trace.component.js';
3
+ export const CardV2TraceComponent = createTraceComponent(Trace.TraceType.CARD_V2);
@@ -1,3 +1,3 @@
1
- import type { ChoiceTrace } from '../../runtime/runtime.interface.js';
2
- export declare const ChoiceTraceComponent: import("../trace.component.js").TraceComponentOverload<ChoiceTrace>;
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ export declare const ChoiceTraceComponent: import("../trace.component.js").TraceComponentOverload<Trace.Choice>;
3
3
  //# sourceMappingURL=choice.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"choice.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/choice.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,eAAO,MAAM,oBAAoB,qEAA8C,CAAC"}
1
+ {"version":3,"file":"choice.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/choice.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAIvD,eAAO,MAAM,oBAAoB,sEAA6D,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const ChoiceTraceComponent = createTraceComponent('choice');
3
+ export const ChoiceTraceComponent = createTraceComponent(Trace.TraceType.CHOICE);
@@ -1,3 +1,3 @@
1
- import type { EndTrace } from '../../runtime/runtime.interface.js';
2
- export declare const EndTraceComponent: import("../trace.component.js").TraceComponentOverload<EndTrace>;
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ export declare const EndTraceComponent: import("../trace.component.js").TraceComponentOverload<Trace.End>;
3
3
  //# sourceMappingURL=end.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"end.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/end.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI/D,eAAO,MAAM,iBAAiB,kEAAwC,CAAC"}
1
+ {"version":3,"file":"end.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/end.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAIvD,eAAO,MAAM,iBAAiB,mEAAuD,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const EndTraceComponent = createTraceComponent('end');
3
+ export const EndTraceComponent = createTraceComponent(Trace.TraceType.END);
@@ -1,7 +1,7 @@
1
1
  export * from './card.component.js';
2
+ export * from './cardV2.component.js';
2
3
  export * from './choice.component.js';
3
4
  export * from './end.component.js';
4
- export * from './payload.component.js';
5
5
  export * from './speak.component.js';
6
6
  export * from './stream.component.js';
7
7
  export * from './text.component.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export * from './card.component.js';
2
+ export * from './cardV2.component.js';
2
3
  export * from './choice.component.js';
3
4
  export * from './end.component.js';
4
- export * from './payload.component.js';
5
5
  export * from './speak.component.js';
6
6
  export * from './stream.component.js';
7
7
  export * from './text.component.js';
@@ -1,3 +1,3 @@
1
- import type { SpeakTrace } from '../../runtime/runtime.interface.js';
2
- export declare const SpeakTraceComponent: import("../trace.component.js").TraceComponentOverload<SpeakTrace>;
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ export declare const SpeakTraceComponent: import("../trace.component.js").TraceComponentOverload<Trace.Speak>;
3
3
  //# sourceMappingURL=speak.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"speak.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/speak.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAIjE,eAAO,MAAM,mBAAmB,oEAA4C,CAAC"}
1
+ {"version":3,"file":"speak.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/speak.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAIvD,eAAO,MAAM,mBAAmB,qEAA2D,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const SpeakTraceComponent = createTraceComponent('speak');
3
+ export const SpeakTraceComponent = createTraceComponent(Trace.TraceType.SPEAK);
@@ -1,3 +1,3 @@
1
- import type { StreamTrace } from '../../runtime/runtime.interface.js';
2
- export declare const StreamTraceComponent: import("../trace.component.js").TraceComponentOverload<StreamTrace>;
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ export declare const StreamTraceComponent: import("../trace.component.js").TraceComponentOverload<Trace.Stream>;
3
3
  //# sourceMappingURL=stream.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/stream.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,eAAO,MAAM,oBAAoB,qEAA8C,CAAC"}
1
+ {"version":3,"file":"stream.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/stream.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAIvD,eAAO,MAAM,oBAAoB,sEAA6D,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const StreamTraceComponent = createTraceComponent('stream');
3
+ export const StreamTraceComponent = createTraceComponent(Trace.TraceType.STREAM);
@@ -1,3 +1,3 @@
1
- import type { TextTrace } from '../../runtime/runtime.interface.js';
2
- export declare const TextTraceComponent: import("../trace.component.js").TraceComponentOverload<TextTrace>;
1
+ import { Trace } from '../../runtime/runtime.interface.js';
2
+ export declare const TextTraceComponent: import("../trace.component.js").TraceComponentOverload<Trace.Text>;
3
3
  //# sourceMappingURL=text.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/text.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAIhE,eAAO,MAAM,kBAAkB,mEAA0C,CAAC"}
1
+ {"version":3,"file":"text.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAIvD,eAAO,MAAM,kBAAkB,oEAAyD,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const TextTraceComponent = createTraceComponent('text');
3
+ export const TextTraceComponent = createTraceComponent(Trace.TraceType.TEXT);
@@ -1,3 +1,5 @@
1
- import type { VisualTrace } from '../../runtime/runtime.interface.js';
2
- export declare const VisualTraceComponent: import("../trace.component.js").TraceComponentOverload<VisualTrace>;
1
+ import type { BaseNode } from '@voiceflow/base-types';
2
+ export declare const VisualTraceComponent: import("../trace.component.js").TraceComponentOverload<BaseNode.Visual.TraceFrame & {
3
+ payload: BaseNode.Visual.ImageStepData;
4
+ }>;
3
5
  //# sourceMappingURL=visual.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/visual.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,eAAO,MAAM,oBAAoB,qEAA8C,CAAC"}
1
+ {"version":3,"file":"visual.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/visual.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,eAAO,MAAM,oBAAoB;aAAkD,SAAS,MAAM,CAAC,aAAa;EAE/G,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { Trace } from '../../runtime/runtime.interface.js';
1
2
  import { createTraceComponent } from '../trace.component.js';
2
- export const VisualTraceComponent = createTraceComponent('visual');
3
+ export const VisualTraceComponent = createTraceComponent(Trace.TraceType.VISUAL);
@@ -1,8 +1,8 @@
1
- import type { RuntimeTrace } from '../runtime/runtime.interface.js';
1
+ import type { Trace } from '../runtime/runtime.interface.js';
2
2
  import type { TraceAccumulator, TraceDeclaration } from './trace.interface.js';
3
- export interface TraceComponentOverload<Trace extends RuntimeTrace> {
4
- <Context>(declaration: TraceDeclaration<Context, Trace>): Required<TraceDeclaration<Context, Trace>>;
5
- <Context>(handle: TraceAccumulator<Context, Trace>): Required<TraceDeclaration<Context, Trace>>;
3
+ export interface TraceComponentOverload<T extends Trace.BaseTraceFrame> {
4
+ <Context>(declaration: TraceDeclaration<Context, T>): Required<TraceDeclaration<Context, T>>;
5
+ <Context>(handle: TraceAccumulator<Context, T>): Required<TraceDeclaration<Context, T>>;
6
6
  }
7
- export declare const createTraceComponent: <Trace extends RuntimeTrace<"speak" | "text" | "choice" | "card" | "visual" | "audio" | "payload" | "stream" | "end", unknown>>(type: Trace["type"]) => TraceComponentOverload<Trace>;
7
+ export declare const createTraceComponent: <T extends Trace.BaseTraceFrame<any, import("@voiceflow/base-types/build/cjs/node/utils/trace.js").BaseTraceFramePath<import("@voiceflow/base-types/build/cjs/node/utils/event.js").BaseEvent>>>(type: T["type"]) => TraceComponentOverload<T>;
8
8
  //# sourceMappingURL=trace.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace.component.d.ts","sourceRoot":"","sources":["../../../src/trace/trace.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,WAAW,sBAAsB,CAAC,KAAK,SAAS,YAAY;IAChE,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrG,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;CACjG;AAED,eAAO,MAAM,oBAAoB,uLAa9B,CAAC"}
1
+ {"version":3,"file":"trace.component.d.ts","sourceRoot":"","sources":["../../../src/trace/trace.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAC,cAAc;IACpE,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,oBAAoB,gPAW9B,CAAC"}
@@ -1,14 +1,14 @@
1
- import type { RuntimeTrace } from '../runtime/runtime.interface.js';
1
+ import type { Trace } from '../runtime/runtime.interface.js';
2
2
  export interface TraceOptions<T> {
3
3
  traces?: TraceDeclaration<T, any>[];
4
4
  }
5
- export interface TraceDeclaration<Context, Trace extends RuntimeTrace> {
6
- canHandle: TraceCanHandle<Trace>;
7
- handle: TraceAccumulator<Context, Trace>;
5
+ export interface TraceDeclaration<Context, T extends Trace.BaseTraceFrame> {
6
+ canHandle: TraceCanHandle<T>;
7
+ handle: TraceAccumulator<Context, T>;
8
8
  }
9
- export declare type TraceCanHandle<Trace extends RuntimeTrace> = (trace: Trace) => boolean;
9
+ export declare type TraceCanHandle<T extends Trace.BaseTraceFrame> = (trace: T) => boolean;
10
10
  export interface TraceHandlerMeta<Context> {
11
11
  context: Context;
12
12
  }
13
- export declare type TraceAccumulator<Context, Trace extends RuntimeTrace> = (meta: TraceHandlerMeta<Context>, trace: Trace) => Context;
13
+ export declare type TraceAccumulator<Context, T extends Trace.BaseTraceFrame> = (meta: TraceHandlerMeta<Context>, trace: T) => Context;
14
14
  //# sourceMappingURL=trace.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace.interface.d.ts","sourceRoot":"","sources":["../../../src/trace/trace.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,EAAE,KAAK,SAAS,YAAY;IACnE,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;CAC1C;AAED,oBAAY,cAAc,CAAC,KAAK,SAAS,YAAY,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;AAEnF,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,gBAAgB,CAAC,OAAO,EAAE,KAAK,SAAS,YAAY,IAAI,CAClE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAC/B,KAAK,EAAE,KAAK,KACT,OAAO,CAAC"}
1
+ {"version":3,"file":"trace.interface.d.ts","sourceRoot":"","sources":["../../../src/trace/trace.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,CAAC,cAAc;IACvE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACtC;AAED,oBAAY,cAAc,CAAC,CAAC,SAAS,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAEnF,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,CAAC,cAAc,IAAI,CACtE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAC/B,KAAK,EAAE,CAAC,KACL,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voiceflow/sdk-runtime",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./build/esm/main.js",
@@ -30,7 +30,8 @@
30
30
  "extends": "@voiceflow-meta/eslint-config"
31
31
  },
32
32
  "dependencies": {
33
- "http-errors": "^2.0.0"
33
+ "@voiceflow/base-types": "2.71.0",
34
+ "http-errors": "2.0.0"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/http-errors": "^1.8.2",
@@ -41,5 +42,5 @@
41
42
  "publishConfig": {
42
43
  "access": "public"
43
44
  },
44
- "gitHead": "654c6cb5aaa1b24328e43a0b5db33c20f4ca1c43"
45
+ "gitHead": "ad69be352248e69d08a6026d9cb3c325c4b4f217"
45
46
  }
@@ -1,4 +1,6 @@
1
- import { BaseRequest } from '@voiceflow/base-types';
1
+ import { BaseRequest, Trace } from '@voiceflow/base-types';
2
+
3
+ export { Trace } from '@voiceflow/base-types';
2
4
 
3
5
  // Super broad type so that differing fetch types (ex. builtin, node-fetch, etc.) don't conflict with it
4
6
  type FetchFn = (...parameters: any[]) => Promise<any>;
@@ -44,7 +46,7 @@ export interface RuntimeInteractRequest {
44
46
  export interface RuntimeInteractResponse {
45
47
  state: RuntimeState;
46
48
  request: RuntimeAction;
47
- trace: RuntimeTrace[];
49
+ trace: Trace.AnyTrace[];
48
50
  }
49
51
 
50
52
  export type RuntimeAction =
@@ -79,111 +81,14 @@ export interface RuntimeState {
79
81
  variables: Record<string, any>;
80
82
  }
81
83
 
82
- export const RuntimeTraceTypeSet = new Set([
83
- 'speak',
84
- 'text',
85
- 'choice',
86
- 'card',
87
- 'visual',
88
- 'audio',
89
- 'payload',
90
- 'stream',
91
- 'end',
92
- ] as const);
93
-
94
- export type RuntimeTraceType = typeof RuntimeTraceTypeSet extends Set<infer K> ? K : never;
95
-
96
- export const isRuntimeTraceType = (value: unknown): value is RuntimeTraceType =>
97
- typeof value === 'string' && RuntimeTraceTypeSet.has(value as any);
98
-
99
- export interface RuntimeTrace<T extends RuntimeTraceType = RuntimeTraceType, P = unknown> {
100
- type: T;
101
- payload: P;
102
- }
84
+ export const isRuntimeTraceType = (value: unknown): value is Trace.TraceType =>
85
+ typeof value === 'string' && Object.values<string>(Trace.TraceType).includes(value);
103
86
 
104
- export const isRuntimeTrace = (value: unknown): value is RuntimeTrace =>
87
+ export const isRuntimeTrace = (value: unknown): value is Trace.BaseTraceFrame =>
105
88
  typeof value === 'object' &&
106
89
  Object.prototype.hasOwnProperty.call(value, 'type') &&
107
90
  isRuntimeTraceType((value as any).type);
108
91
 
109
- export interface CardTracePayload {
110
- card: {
111
- type: string;
112
- title: string;
113
- text: string;
114
- image?: {
115
- largeImageUrl: string;
116
- alt: string;
117
- };
118
- };
119
- }
120
-
121
- export type CardTrace = RuntimeTrace<'card', CardTracePayload>;
122
-
123
- export const isCardTrace = (value: unknown): value is CardTrace => isRuntimeTrace(value) && value.type === 'card';
124
-
125
- export type ChoiceTrace = RuntimeTrace<'choice', ChoiceTracePayload>;
126
-
127
- export interface ChoiceTracePayload {
128
- buttons: { name: string }[];
129
- }
130
-
131
- export const isChoiceTrace = (value: unknown): value is ChoiceTrace => isRuntimeTrace(value) && value.type === 'choice';
132
-
133
- export interface PayloadTracePayload {
134
- data: any;
135
- }
136
-
137
- export type EndTrace = RuntimeTrace<'end'>;
138
-
139
- export const isEndTrace = (value: unknown): value is EndTrace => isRuntimeTrace(value) && value.type === 'end';
140
-
141
- export type PayloadTrace = RuntimeTrace<'payload', PayloadTracePayload>;
142
-
143
- export const isPayloadTrace = (value: unknown): value is PayloadTrace =>
144
- isRuntimeTrace(value) && value.type === 'payload';
145
-
146
- export interface SpeakTracePayload {
147
- voice?: string;
148
- src?: string;
149
- message: string;
150
- type: 'speak' | 'audio';
151
- }
152
-
153
- export type SpeakTrace = RuntimeTrace<'speak', SpeakTracePayload>;
154
-
155
- export const isSpeakTrace = (value: unknown): value is SpeakTrace => isRuntimeTrace(value) && value.type === 'speak';
156
-
157
- export interface TextTracePayload {
158
- message: string;
159
- }
160
-
161
- export type TextTrace = RuntimeTrace<'text', TextTracePayload>;
162
-
163
- export const isTextTrace = (value: unknown): value is TextTrace => isRuntimeTrace(value) && value.type === 'text';
164
-
165
- export interface VisualTracePayload {
166
- image: string;
167
- }
168
-
169
- export type VisualTrace = RuntimeTrace<'visual', VisualTracePayload>;
170
-
171
- export const isVisualTrace = (value: unknown): value is VisualTrace => isRuntimeTrace(value) && value.type === 'visual';
172
-
173
- export interface StreamTracePayload {
174
- src: string;
175
- loop: boolean;
176
- description?: string;
177
- title?: string;
178
- iconImage?: string;
179
- backgroundImage?: string;
180
- action: string;
181
- }
182
-
183
- export type StreamTrace = RuntimeTrace<'stream', StreamTracePayload>;
184
-
185
- export const isStreamTrace = (value: unknown): value is StreamTrace => isRuntimeTrace(value) && value.type === 'stream';
186
-
187
92
  export interface RuntimeHttpRequest {
188
93
  method?: string;
189
94
  params?: URLSearchParams;
@@ -1,5 +1,5 @@
1
- import type { CardTrace } from '@/runtime/runtime.interface.js';
1
+ import type { BaseNode } from '@voiceflow/base-types';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const CardTraceComponent = createTraceComponent<CardTrace>('card');
5
+ export const CardTraceComponent = createTraceComponent<{ type: 'card'; payload: { card: BaseNode.Card.Card } }>('card');
@@ -0,0 +1,5 @@
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
+
3
+ import { createTraceComponent } from '../trace.component.js';
4
+
5
+ export const CardV2TraceComponent = createTraceComponent<Trace.CardV2>(Trace.TraceType.CARD_V2);
@@ -1,5 +1,5 @@
1
- import type { ChoiceTrace } from '@/runtime/runtime.interface.js';
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const ChoiceTraceComponent = createTraceComponent<ChoiceTrace>('choice');
5
+ export const ChoiceTraceComponent = createTraceComponent<Trace.Choice>(Trace.TraceType.CHOICE);
@@ -1,5 +1,5 @@
1
- import type { EndTrace } from '@/runtime/runtime.interface.js';
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const EndTraceComponent = createTraceComponent<EndTrace>('end');
5
+ export const EndTraceComponent = createTraceComponent<Trace.End>(Trace.TraceType.END);
@@ -1,7 +1,7 @@
1
1
  export * from './card.component.js';
2
+ export * from './cardV2.component.js';
2
3
  export * from './choice.component.js';
3
4
  export * from './end.component.js';
4
- export * from './payload.component.js';
5
5
  export * from './speak.component.js';
6
6
  export * from './stream.component.js';
7
7
  export * from './text.component.js';
@@ -1,5 +1,5 @@
1
- import type { SpeakTrace } from '@/runtime/runtime.interface.js';
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const SpeakTraceComponent = createTraceComponent<SpeakTrace>('speak');
5
+ export const SpeakTraceComponent = createTraceComponent<Trace.Speak>(Trace.TraceType.SPEAK);
@@ -1,5 +1,5 @@
1
- import type { StreamTrace } from '@/runtime/runtime.interface.js';
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const StreamTraceComponent = createTraceComponent<StreamTrace>('stream');
5
+ export const StreamTraceComponent = createTraceComponent<Trace.Stream>(Trace.TraceType.STREAM);
@@ -1,5 +1,5 @@
1
- import type { TextTrace } from '@/runtime/runtime.interface.js';
1
+ import { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import { createTraceComponent } from '../trace.component.js';
4
4
 
5
- export const TextTraceComponent = createTraceComponent<TextTrace>('text');
5
+ export const TextTraceComponent = createTraceComponent<Trace.Text>(Trace.TraceType.TEXT);
@@ -1,5 +1,9 @@
1
- import type { VisualTrace } from '@/runtime/runtime.interface.js';
1
+ import type { BaseNode } from '@voiceflow/base-types';
2
+
3
+ import { Trace } from '@/runtime/runtime.interface.js';
2
4
 
3
5
  import { createTraceComponent } from '../trace.component.js';
4
6
 
5
- export const VisualTraceComponent = createTraceComponent<VisualTrace>('visual');
7
+ export const VisualTraceComponent = createTraceComponent<Trace.Visual & { payload: BaseNode.Visual.ImageStepData }>(
8
+ Trace.TraceType.VISUAL
9
+ );
@@ -1,17 +1,15 @@
1
- import type { RuntimeTrace } from '@/runtime/runtime.interface.js';
1
+ import type { Trace } from '@/runtime/runtime.interface.js';
2
2
 
3
3
  import type { TraceAccumulator, TraceDeclaration } from './trace.interface.js';
4
4
 
5
- export interface TraceComponentOverload<Trace extends RuntimeTrace> {
6
- <Context>(declaration: TraceDeclaration<Context, Trace>): Required<TraceDeclaration<Context, Trace>>;
7
- <Context>(handle: TraceAccumulator<Context, Trace>): Required<TraceDeclaration<Context, Trace>>;
5
+ export interface TraceComponentOverload<T extends Trace.BaseTraceFrame> {
6
+ <Context>(declaration: TraceDeclaration<Context, T>): Required<TraceDeclaration<Context, T>>;
7
+ <Context>(handle: TraceAccumulator<Context, T>): Required<TraceDeclaration<Context, T>>;
8
8
  }
9
9
 
10
10
  export const createTraceComponent =
11
- <Trace extends RuntimeTrace>(type: Trace['type']): TraceComponentOverload<Trace> =>
12
- <Context>(
13
- handle: TraceDeclaration<Context, Trace> | TraceAccumulator<Context, Trace>
14
- ): TraceDeclaration<Context, Trace> => {
11
+ <T extends Trace.BaseTraceFrame>(type: T['type']): TraceComponentOverload<T> =>
12
+ <Context>(handle: TraceDeclaration<Context, T> | TraceAccumulator<Context, T>): TraceDeclaration<Context, T> => {
15
13
  if (typeof handle === 'function') {
16
14
  return {
17
15
  canHandle: (trace) => trace.type === type,
@@ -1,21 +1,21 @@
1
- import type { RuntimeTrace } from '@/runtime/runtime.interface';
1
+ import type { Trace } from '@/runtime/runtime.interface';
2
2
 
3
3
  export interface TraceOptions<T> {
4
4
  traces?: TraceDeclaration<T, any>[];
5
5
  }
6
6
 
7
- export interface TraceDeclaration<Context, Trace extends RuntimeTrace> {
8
- canHandle: TraceCanHandle<Trace>;
9
- handle: TraceAccumulator<Context, Trace>;
7
+ export interface TraceDeclaration<Context, T extends Trace.BaseTraceFrame> {
8
+ canHandle: TraceCanHandle<T>;
9
+ handle: TraceAccumulator<Context, T>;
10
10
  }
11
11
 
12
- export type TraceCanHandle<Trace extends RuntimeTrace> = (trace: Trace) => boolean;
12
+ export type TraceCanHandle<T extends Trace.BaseTraceFrame> = (trace: T) => boolean;
13
13
 
14
14
  export interface TraceHandlerMeta<Context> {
15
15
  context: Context;
16
16
  }
17
17
 
18
- export type TraceAccumulator<Context, Trace extends RuntimeTrace> = (
18
+ export type TraceAccumulator<Context, T extends Trace.BaseTraceFrame> = (
19
19
  meta: TraceHandlerMeta<Context>,
20
- trace: Trace
20
+ trace: T
21
21
  ) => Context;
@@ -1,3 +0,0 @@
1
- import type { PayloadTrace } from '../../runtime/runtime.interface.js';
2
- export declare const PayloadTraceComponent: import("../trace.component.js").TraceComponentOverload<PayloadTrace>;
3
- //# sourceMappingURL=payload.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payload.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/payload.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAInE,eAAO,MAAM,qBAAqB,sEAAgD,CAAC"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PayloadTraceComponent = void 0;
4
- const trace_component_js_1 = require("../trace.component.js");
5
- exports.PayloadTraceComponent = (0, trace_component_js_1.createTraceComponent)('payload');
@@ -1,3 +0,0 @@
1
- import type { PayloadTrace } from '../../runtime/runtime.interface.js';
2
- export declare const PayloadTraceComponent: import("../trace.component.js").TraceComponentOverload<PayloadTrace>;
3
- //# sourceMappingURL=payload.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payload.component.d.ts","sourceRoot":"","sources":["../../../../src/trace/components/payload.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAInE,eAAO,MAAM,qBAAqB,sEAAgD,CAAC"}
@@ -1,2 +0,0 @@
1
- import { createTraceComponent } from '../trace.component.js';
2
- export const PayloadTraceComponent = createTraceComponent('payload');
@@ -1,5 +0,0 @@
1
- import type { PayloadTrace } from '@/runtime/runtime.interface.js';
2
-
3
- import { createTraceComponent } from '../trace.component.js';
4
-
5
- export const PayloadTraceComponent = createTraceComponent<PayloadTrace>('payload');