@voiceflow/sdk-runtime 1.43.3 → 1.44.1

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 (83) hide show
  1. package/build/cjs/main.d.ts +0 -4
  2. package/build/cjs/main.d.ts.map +1 -1
  3. package/build/cjs/main.js +0 -3
  4. package/build/cjs/main.js.map +1 -1
  5. package/build/cjs/runtime/runtime.interface.d.ts +0 -5
  6. package/build/cjs/runtime/runtime.interface.d.ts.map +1 -1
  7. package/build/cjs/runtime/runtime.interface.js.map +1 -1
  8. package/build/cjs/v2/websocket-runtime/websocket-runtime.client.d.ts +13 -6
  9. package/build/cjs/v2/websocket-runtime/websocket-runtime.client.d.ts.map +1 -1
  10. package/build/cjs/v2/websocket-runtime/websocket-runtime.client.js +48 -5
  11. package/build/cjs/v2/websocket-runtime/websocket-runtime.client.js.map +1 -1
  12. package/build/cjs/v2/websocket-runtime/websocket-runtime.interface.d.ts +10 -0
  13. package/build/cjs/v2/websocket-runtime/websocket-runtime.interface.d.ts.map +1 -1
  14. package/build/cjs/v2/websocket-runtime/websocket-trace.stream.d.ts +3 -0
  15. package/build/cjs/v2/websocket-runtime/websocket-trace.stream.d.ts.map +1 -1
  16. package/build/cjs/v2/websocket-runtime/websocket-trace.stream.js +6 -3
  17. package/build/cjs/v2/websocket-runtime/websocket-trace.stream.js.map +1 -1
  18. package/build/esm/main.d.ts +0 -4
  19. package/build/esm/main.d.ts.map +1 -1
  20. package/build/esm/main.js +0 -3
  21. package/build/esm/main.js.map +1 -1
  22. package/build/esm/runtime/runtime.interface.d.ts +0 -5
  23. package/build/esm/runtime/runtime.interface.d.ts.map +1 -1
  24. package/build/esm/runtime/runtime.interface.js.map +1 -1
  25. package/build/esm/v2/websocket-runtime/websocket-runtime.client.d.ts +13 -6
  26. package/build/esm/v2/websocket-runtime/websocket-runtime.client.d.ts.map +1 -1
  27. package/build/esm/v2/websocket-runtime/websocket-runtime.client.js +48 -5
  28. package/build/esm/v2/websocket-runtime/websocket-runtime.client.js.map +1 -1
  29. package/build/esm/v2/websocket-runtime/websocket-runtime.interface.d.ts +10 -0
  30. package/build/esm/v2/websocket-runtime/websocket-runtime.interface.d.ts.map +1 -1
  31. package/build/esm/v2/websocket-runtime/websocket-trace.stream.d.ts +3 -0
  32. package/build/esm/v2/websocket-runtime/websocket-trace.stream.d.ts.map +1 -1
  33. package/build/esm/v2/websocket-runtime/websocket-trace.stream.js +3 -1
  34. package/build/esm/v2/websocket-runtime/websocket-trace.stream.js.map +1 -1
  35. package/package.json +2 -2
  36. package/build/cjs/v2/base-runtime.client.d.ts +0 -38
  37. package/build/cjs/v2/base-runtime.client.d.ts.map +0 -1
  38. package/build/cjs/v2/base-runtime.client.js +0 -69
  39. package/build/cjs/v2/base-runtime.client.js.map +0 -1
  40. package/build/cjs/v2/interact-state.stream.d.ts +0 -6
  41. package/build/cjs/v2/interact-state.stream.d.ts.map +0 -1
  42. package/build/cjs/v2/interact-state.stream.js +0 -18
  43. package/build/cjs/v2/interact-state.stream.js.map +0 -1
  44. package/build/cjs/v2/interact-trace.stream.d.ts +0 -13
  45. package/build/cjs/v2/interact-trace.stream.d.ts.map +0 -1
  46. package/build/cjs/v2/interact-trace.stream.js +0 -30
  47. package/build/cjs/v2/interact-trace.stream.js.map +0 -1
  48. package/build/cjs/v2/private-runtime.client.d.ts +0 -10
  49. package/build/cjs/v2/private-runtime.client.d.ts.map +0 -1
  50. package/build/cjs/v2/private-runtime.client.js +0 -52
  51. package/build/cjs/v2/private-runtime.client.js.map +0 -1
  52. package/build/cjs/v2/public-runtime.client.d.ts +0 -6
  53. package/build/cjs/v2/public-runtime.client.d.ts.map +0 -1
  54. package/build/cjs/v2/public-runtime.client.js +0 -32
  55. package/build/cjs/v2/public-runtime.client.js.map +0 -1
  56. package/build/cjs/v2/shareable-link-runtime.client.d.ts +0 -7
  57. package/build/cjs/v2/shareable-link-runtime.client.d.ts.map +0 -1
  58. package/build/cjs/v2/shareable-link-runtime.client.js +0 -47
  59. package/build/cjs/v2/shareable-link-runtime.client.js.map +0 -1
  60. package/build/esm/v2/base-runtime.client.d.ts +0 -38
  61. package/build/esm/v2/base-runtime.client.d.ts.map +0 -1
  62. package/build/esm/v2/base-runtime.client.js +0 -65
  63. package/build/esm/v2/base-runtime.client.js.map +0 -1
  64. package/build/esm/v2/interact-state.stream.d.ts +0 -6
  65. package/build/esm/v2/interact-state.stream.d.ts.map +0 -1
  66. package/build/esm/v2/interact-state.stream.js +0 -14
  67. package/build/esm/v2/interact-state.stream.js.map +0 -1
  68. package/build/esm/v2/interact-trace.stream.d.ts +0 -13
  69. package/build/esm/v2/interact-trace.stream.d.ts.map +0 -1
  70. package/build/esm/v2/interact-trace.stream.js +0 -25
  71. package/build/esm/v2/interact-trace.stream.js.map +0 -1
  72. package/build/esm/v2/private-runtime.client.d.ts +0 -10
  73. package/build/esm/v2/private-runtime.client.d.ts.map +0 -1
  74. package/build/esm/v2/private-runtime.client.js +0 -48
  75. package/build/esm/v2/private-runtime.client.js.map +0 -1
  76. package/build/esm/v2/public-runtime.client.d.ts +0 -6
  77. package/build/esm/v2/public-runtime.client.d.ts.map +0 -1
  78. package/build/esm/v2/public-runtime.client.js +0 -28
  79. package/build/esm/v2/public-runtime.client.js.map +0 -1
  80. package/build/esm/v2/shareable-link-runtime.client.d.ts +0 -7
  81. package/build/esm/v2/shareable-link-runtime.client.d.ts.map +0 -1
  82. package/build/esm/v2/shareable-link-runtime.client.js +0 -43
  83. package/build/esm/v2/shareable-link-runtime.client.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-runtime.client.d.ts","sourceRoot":"","sources":["../../../src/v2/base-runtime.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,gCAAgC,EAChC,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,iBAAiB,CAAC,CAAC;IAgC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,KAAK;IACxB,SAAS,CAAC,QAAQ,CAAC,KAAK;IAhC1B,SAAgB,OAAO,uDAA8C;IAErE,OAAO,CAAC,MAAM,CAAC,cAAc;IAMtB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAE9D,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAEnD,SAAS,CAAC,EAAE,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAClC,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAIZ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGnB,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAChC,KAAK,kBAA+C,EACpD,KAAK,oDAAgD;IAGnE,GAAG,GAAU,8EAA8E,UAAU,mBAmB1G;IAEW,cAAc,CACzB,cAAc,EAAE,MAAM,CAAC,EACvB,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAIhB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI3D,aAAa,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,yBAAyB,CAAC,OAAO,EAAE,gCAAgC;IAInE,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CAkBpF"}
@@ -1,65 +0,0 @@
1
- import { FetchClient } from '@voiceflow/fetch';
2
- import { createNanoEvents } from 'nanoevents';
3
- import { TraceService } from './trace.service.js';
4
- export class BaseRuntimeClient {
5
- static NotImplemented() {
6
- return new Error('Not implemented');
7
- }
8
- constructor(options, trace = new TraceService({ traces: options.traces }), fetch = new FetchClient({ baseURL: options.baseURL })) {
9
- this.options = options;
10
- this.trace = trace;
11
- this.fetch = fetch;
12
- // just delete all other client types in the future
13
- this.emitter = createNanoEvents();
14
- this.log = async ({ error, status, source, message, version, projectID, additionalProperties }) => {
15
- this.fetch
16
- .post(`/v1alpha1/webchat-log/${projectID}`, {
17
- json: {
18
- source,
19
- message,
20
- version,
21
- additionalProperties: {
22
- ...additionalProperties,
23
- date: Date.now(),
24
- error: error instanceof Error ? { name: error.name, stack: error.stack, message: error.message } : error,
25
- status,
26
- hostname: globalThis.location.hostname,
27
- userAgent: globalThis.navigator.userAgent,
28
- },
29
- },
30
- })
31
- // eslint-disable-next-line no-console
32
- .catch((error) => console.debug('Failed to log', error));
33
- };
34
- }
35
- async interactStream(_createContext, _request) {
36
- throw BaseRuntimeClient.NotImplemented();
37
- }
38
- async interrupt() {
39
- throw BaseRuntimeClient.NotImplemented();
40
- }
41
- /* live agent */
42
- processAsyncTrace(context, trace) {
43
- return this.trace.processTrace(context, trace);
44
- }
45
- async interactAsync(_request) {
46
- throw BaseRuntimeClient.NotImplemented();
47
- }
48
- async requestHandoffFileStorage(request) {
49
- return this.fetch.post('/v1/handoff/file-storage', { json: request }).json();
50
- }
51
- async uploadHandoffFile(request) {
52
- const formData = new FormData();
53
- Object.entries(request.fields).forEach(([key, value]) => {
54
- formData.append(key, value);
55
- });
56
- formData.append('file', request.file);
57
- const res = await this.fetch.post(request.url, { body: formData });
58
- const contentType = res.headers.get('content-type');
59
- if (contentType?.includes('application/json')) {
60
- return res.json();
61
- }
62
- return res.text();
63
- }
64
- }
65
- //# sourceMappingURL=base-runtime.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-runtime.client.js","sourceRoot":"","sources":["../../../src/v2/base-runtime.client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAU9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgB/C,MAAM,OAAO,iBAAiB;IAIpB,MAAM,CAAC,cAAc;QAC3B,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAyBD,YACqB,OAAgC,EAChC,QAAQ,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EACpD,QAAQ,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAFrD,YAAO,GAAP,OAAO,CAAyB;QAChC,UAAK,GAAL,KAAK,CAA+C;QACpD,UAAK,GAAL,KAAK,CAAgD;QAjC1E,mDAAmD;QACnC,YAAO,GAAG,gBAAgB,EAA0B,CAAC;QAmC9D,QAAG,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAc,EAAE,EAAE;YAC9G,IAAI,CAAC,KAAK;iBACP,IAAI,CAAC,yBAAyB,SAAS,EAAE,EAAE;gBAC1C,IAAI,EAAE;oBACJ,MAAM;oBACN,OAAO;oBACP,OAAO;oBACP,oBAAoB,EAAE;wBACpB,GAAG,oBAAoB;wBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;wBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK;wBACxG,MAAM;wBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;wBACtC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS;qBAC1C;iBACF;aACF,CAAC;gBACF,sCAAsC;iBACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;IArBC,CAAC;IAuBG,KAAK,CAAC,cAAc,CACzB,cAAuB,EACvB,QAAsC;QAEtC,MAAM,iBAAiB,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,iBAAiB,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,gBAAgB;IAET,iBAAiB,CAAC,OAAU,EAAE,KAAe;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAsC;QAC/D,MAAM,iBAAiB,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,OAAyC;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAqC,CAAC;IAClH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QAC9D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEpD,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import type { EventSourceMessage } from 'eventsource-parser';
2
- export declare class InteractStateStream extends TransformStream<EventSourceMessage, EventSourceMessage> {
3
- private readonly setState;
4
- constructor(setState: (state: Record<string, any>) => void);
5
- }
6
- //# sourceMappingURL=interact-state.stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interact-state.stream.d.ts","sourceRoot":"","sources":["../../../src/v2/interact-state.stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;CAW5E"}
@@ -1,14 +0,0 @@
1
- export class InteractStateStream extends TransformStream {
2
- constructor(setState) {
3
- super({
4
- transform: async (chunk, controller) => {
5
- if (chunk.event === 'state') {
6
- this.setState(JSON.parse(chunk.data));
7
- }
8
- controller.enqueue(chunk);
9
- },
10
- });
11
- this.setState = setState;
12
- }
13
- }
14
- //# sourceMappingURL=interact-state.stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interact-state.stream.js","sourceRoot":"","sources":["../../../src/v2/interact-state.stream.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAoB,SAAQ,eAAuD;IAC9F,YAA6B,QAA8C;QACzE,KAAK,CAAC;YACJ,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACrC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;gBAED,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;QATwB,aAAQ,GAAR,QAAQ,CAAsC;IAU3E,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { type AnyTrace } from '@voiceflow/dtos-interact';
2
- import type { EventSourceMessage } from 'eventsource-parser';
3
- import type { TraceService } from './trace.service.js';
4
- export declare const hasFinalize: (trace: unknown) => trace is {
5
- finalize: () => Promise<void>;
6
- };
7
- export declare class InteractTraceStream<T> extends TransformStream<EventSourceMessage, T> {
8
- private readonly createContext;
9
- private readonly trace;
10
- private readonly onTrace?;
11
- constructor(createContext: () => T, trace: TraceService<T>, onTrace?: ((context: T, trace: AnyTrace) => Promise<void> | void) | undefined);
12
- }
13
- //# sourceMappingURL=interact-trace.stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interact-trace.stream.d.ts","sourceRoot":"","sources":["../../../src/v2/interact-trace.stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI;IAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAEpF,CAAC;AAEF,qBAAa,mBAAmB,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE9E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFR,aAAa,EAAE,MAAM,CAAC,EACtB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,GAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,aAAA;CAqBnF"}
@@ -1,25 +0,0 @@
1
- export const hasFinalize = (trace) => {
2
- return typeof trace === 'object' && trace !== null && 'finalize' in trace && typeof trace.finalize === 'function';
3
- };
4
- export class InteractTraceStream extends TransformStream {
5
- constructor(createContext, trace, onTrace) {
6
- super({
7
- transform: async (chunk, controller) => {
8
- const data = JSON.parse(chunk.data);
9
- const context = this.createContext();
10
- await this.onTrace?.(context, data);
11
- const trace = await this.trace.processTrace(context, data);
12
- if (!trace)
13
- return;
14
- controller.enqueue(trace);
15
- if (hasFinalize(trace)) {
16
- await trace.finalize();
17
- }
18
- },
19
- });
20
- this.createContext = createContext;
21
- this.trace = trace;
22
- this.onTrace = onTrace;
23
- }
24
- }
25
- //# sourceMappingURL=interact-trace.stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interact-trace.stream.js","sourceRoot":"","sources":["../../../src/v2/interact-trace.stream.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAA8C,EAAE;IACxF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;AACpH,CAAC,CAAC;AAEF,MAAM,OAAO,mBAAuB,SAAQ,eAAsC;IAChF,YACmB,aAAsB,EACtB,KAAsB,EACtB,OAA+D;QAEhF,KAAK,CAAC;YACJ,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAEpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAEnB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE1B,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QArBc,kBAAa,GAAb,aAAa,CAAS;QACtB,UAAK,GAAL,KAAK,CAAiB;QACtB,YAAO,GAAP,OAAO,CAAwD;IAoBlF,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { BaseRuntimeClient } from './base-runtime.client.js';
2
- import type { RuntimeInteractStreamRequest } from './runtime.interface.js';
3
- export declare class PrivateRuntimeClient<T> extends BaseRuntimeClient<T> {
4
- protected state: Record<string, any> | null;
5
- setState: (context: T, state: Record<string, any>) => void;
6
- resetState: (state?: Record<string, any> | null) => void;
7
- patchState: (state: Record<string, any>) => void;
8
- interactStream: (createContext: () => T, { userID, action, projectID, audioEvents, environment, timezone, guidedNavigation, }: RuntimeInteractStreamRequest) => Promise<ReadableStream<T>>;
9
- }
10
- //# sourceMappingURL=private-runtime.client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"private-runtime.client.d.ts","sourceRoot":"","sources":["../../../src/v2/private-runtime.client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAGxE,qBAAa,oBAAoB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE5C,QAAQ,GAAI,SAAS,CAAC,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAIvD;IAEK,UAAU,GAAI,QAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,UAE3D;IAEK,UAAU,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAE7C;IAEc,cAAc,GAC5B,eAAe,MAAM,CAAC,EACtB,sFAQG,4BAA4B,gCA4B/B;CACH"}
@@ -1,48 +0,0 @@
1
- import { Modality } from '@voiceflow/dtos-interact';
2
- import { EventSourceParserStream } from 'eventsource-parser/stream';
3
- import { BaseRuntimeClient } from './base-runtime.client.js';
4
- import { InteractStateStream } from './interact-state.stream.js';
5
- import { InteractTraceStream } from './interact-trace.stream.js';
6
- import { getResolvedUserID } from './runtime.utils.js';
7
- export class PrivateRuntimeClient extends BaseRuntimeClient {
8
- constructor() {
9
- super(...arguments);
10
- this.state = null;
11
- this.setState = (context, state) => {
12
- this.state = state;
13
- this.options.onStateChange?.(context, state);
14
- };
15
- this.resetState = (state = null) => {
16
- this.state = state;
17
- };
18
- this.patchState = (state) => {
19
- this.state = { ...this.state, ...state };
20
- };
21
- this.interactStream = async (createContext, { userID, action, projectID, audioEvents = false, environment, timezone, guidedNavigation = false, }) => {
22
- const audioEncoding = 'audio/pcm';
23
- const resolvedUserID = getResolvedUserID(this.state?.variables?.user_id, userID);
24
- const result = await this.fetch.post(`/v2/project/${projectID}/stateless/interact/stream`, {
25
- json: { userID: resolvedUserID, action, state: this.state ?? undefined },
26
- query: new URLSearchParams({
27
- audio_events: String(audioEvents),
28
- audio_encoding: String(audioEncoding),
29
- completion_events: String(true),
30
- guided_navigation: String(guidedNavigation),
31
- modality: Modality.CHAT,
32
- ...(environment && { environment }),
33
- ...(timezone && { userTimezone: timezone }),
34
- }),
35
- headers: { authorization: `Bearer ${this.options.authorization}` },
36
- });
37
- if (!result.body) {
38
- throw new Error('interact stream body is empty');
39
- }
40
- return result.body
41
- .pipeThrough(new TextDecoderStream())
42
- .pipeThrough(new EventSourceParserStream())
43
- .pipeThrough(new InteractStateStream((state) => this.setState(createContext(), state)))
44
- .pipeThrough(new InteractTraceStream(createContext, this.trace, this.options.onTrace));
45
- };
46
- }
47
- }
48
- //# sourceMappingURL=private-runtime.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"private-runtime.client.js","sourceRoot":"","sources":["../../../src/v2/private-runtime.client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { BaseRuntimeClient } from './base-runtime.client.js';
2
- import type { RuntimeInteractStreamRequest } from './runtime.interface.js';
3
- export declare class PublicRuntimeClient<T> extends BaseRuntimeClient<T> {
4
- interactStream(createContext: () => T, { userID, action, projectID, environment, timezone, audioEvents }: RuntimeInteractStreamRequest): Promise<ReadableStream<T>>;
5
- }
6
- //# sourceMappingURL=public-runtime.client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public-runtime.client.d.ts","sourceRoot":"","sources":["../../../src/v2/public-runtime.client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,qBAAa,mBAAmB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACxC,cAAc,CAClC,aAAa,EAAE,MAAM,CAAC,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAmB,EAAE,EAAE,4BAA4B,GACtG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CA2B9B"}
@@ -1,28 +0,0 @@
1
- import { Modality } from '@voiceflow/dtos-interact';
2
- import { EventSourceParserStream } from 'eventsource-parser/stream';
3
- import { BaseRuntimeClient } from './base-runtime.client.js';
4
- import { InteractTraceStream } from './interact-trace.stream.js';
5
- export class PublicRuntimeClient extends BaseRuntimeClient {
6
- async interactStream(createContext, { userID, action, projectID, environment, timezone, audioEvents = false }) {
7
- const audioEncoding = 'audio/pcm';
8
- const result = await this.fetch.post(`/v2/public/project/${projectID}/user/${encodeURIComponent(userID)}/interact/stream`, {
9
- json: { action },
10
- query: new URLSearchParams({
11
- audio_events: String(audioEvents),
12
- audio_encoding: String(audioEncoding),
13
- completion_events: String(true),
14
- modality: Modality.CHAT,
15
- ...(environment && { environment }),
16
- ...(timezone && { userTimezone: timezone }),
17
- }),
18
- });
19
- if (!result.body) {
20
- throw new Error('interact stream body is empty');
21
- }
22
- return result.body
23
- .pipeThrough(new TextDecoderStream())
24
- .pipeThrough(new EventSourceParserStream())
25
- .pipeThrough(new InteractTraceStream(createContext, this.trace));
26
- }
27
- }
28
- //# sourceMappingURL=public-runtime.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public-runtime.client.js","sourceRoot":"","sources":["../../../src/v2/public-runtime.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,OAAO,mBAAuB,SAAQ,iBAAoB;IAC9C,KAAK,CAAC,cAAc,CAClC,aAAsB,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAgC;QAEvG,MAAM,aAAa,GAAG,WAAW,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC,sBAAsB,SAAS,SAAS,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,EACpF;YACE,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAI,eAAe,CAAC;gBACzB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC;gBACrC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;gBACnC,GAAG,CAAC,QAAQ,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI;aACf,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;aACpC,WAAW,CAAC,IAAI,uBAAuB,EAAE,CAAC;aAC1C,WAAW,CAAC,IAAI,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- import { BaseRuntimeClient } from './base-runtime.client.js';
2
- import type { RuntimeInteractStreamRequest } from './runtime.interface.js';
3
- export declare class ShareableLinkRuntimeClient<T> extends BaseRuntimeClient<T> {
4
- syncState: (projectID: string, userID: string, state: Record<string, any> | null, environment?: string) => Promise<any>;
5
- interactStream(createContext: () => T, { userID, action, projectID, environment, timezone, audioEvents }: RuntimeInteractStreamRequest): Promise<ReadableStream<T>>;
6
- }
7
- //# sourceMappingURL=shareable-link-runtime.client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shareable-link-runtime.client.d.ts","sourceRoot":"","sources":["../../../src/v2/shareable-link-runtime.client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,qBAAa,0BAA0B,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC9D,SAAS,GACd,WAAW,MAAM,EACjB,QAAQ,MAAM,EACd,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,cAAc,MAAM,kBAapB;IAEoB,cAAc,CAClC,aAAa,EAAE,MAAM,CAAC,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAmB,EAAE,EAAE,4BAA4B,GACtG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CA2B9B"}
@@ -1,43 +0,0 @@
1
- import { Modality } from '@voiceflow/dtos-interact';
2
- import { EventSourceParserStream } from 'eventsource-parser/stream';
3
- import { BaseRuntimeClient } from './base-runtime.client.js';
4
- import { InteractTraceStream } from './interact-trace.stream.js';
5
- export class ShareableLinkRuntimeClient extends BaseRuntimeClient {
6
- constructor() {
7
- super(...arguments);
8
- this.syncState = async (projectID, userID, state, environment) => {
9
- const result = await this.fetch.post(`/public/${projectID}/state/user/${encodeURIComponent(userID)}/interact`, {
10
- json: {
11
- state,
12
- action: null,
13
- },
14
- headers: {
15
- ...(environment && { versionID: environment }),
16
- },
17
- });
18
- return result.json();
19
- };
20
- }
21
- async interactStream(createContext, { userID, action, projectID, environment, timezone, audioEvents = false }) {
22
- const audioEncoding = 'audio/pcm';
23
- const result = await this.fetch.post(`/v2/public/project/${projectID}/user/${encodeURIComponent(userID)}/interact/stream`, {
24
- json: { action },
25
- query: new URLSearchParams({
26
- audio_events: String(audioEvents),
27
- audio_encoding: String(audioEncoding),
28
- completion_events: String(true),
29
- modality: Modality.CHAT,
30
- ...(environment && { environment }),
31
- ...(timezone && { userTimezone: timezone }),
32
- }),
33
- });
34
- if (!result.body) {
35
- throw new Error('interact stream body is empty');
36
- }
37
- return result.body
38
- .pipeThrough(new TextDecoderStream())
39
- .pipeThrough(new EventSourceParserStream())
40
- .pipeThrough(new InteractTraceStream(createContext, this.trace));
41
- }
42
- }
43
- //# sourceMappingURL=shareable-link-runtime.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shareable-link-runtime.client.js","sourceRoot":"","sources":["../../../src/v2/shareable-link-runtime.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,OAAO,0BAA8B,SAAQ,iBAAoB;IAAvE;;QACS,cAAS,GAAG,KAAK,EACtB,SAAiB,EACjB,MAAc,EACd,KAAiC,EACjC,WAAoB,EACpB,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,eAAe,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC7G,IAAI,EAAE;oBACJ,KAAK;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,OAAO,EAAE;oBACP,GAAG,CAAC,WAAW,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;iBAC/C;aACF,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC;IAgCJ,CAAC;IA9BiB,KAAK,CAAC,cAAc,CAClC,aAAsB,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAgC;QAEvG,MAAM,aAAa,GAAG,WAAW,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC,sBAAsB,SAAS,SAAS,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,EACpF;YACE,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAI,eAAe,CAAC;gBACzB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC;gBACrC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;gBACnC,GAAG,CAAC,QAAQ,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI;aACf,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;aACpC,WAAW,CAAC,IAAI,uBAAuB,EAAE,CAAC;aAC1C,WAAW,CAAC,IAAI,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}