@botpress/runtime 1.11.1 → 1.11.3

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.
@@ -2,7 +2,7 @@ import { type Message as CMessage } from '@botpress/client';
2
2
  import { z } from '@botpress/sdk';
3
3
  import { BotClient } from '@botpress/sdk/dist/bot';
4
4
  import type { ChannelSpec, Channels } from '../_types/channels';
5
- import type { ConversationDefinitions } from '../_types/conversations';
5
+ import type { ConversationDefinitions, ConversationRoutableEvents } from '../_types/conversations';
6
6
  import { WorkflowDefinitions } from '../_types/workflows';
7
7
  import { Autonomous } from '../runtime/autonomous';
8
8
  import { WorkflowCallbackEventType } from '../runtime/events';
@@ -20,19 +20,54 @@ type WorkflowRequest = {
20
20
  }[keyof WorkflowDefinitions[WfName]['requests'] & string];
21
21
  }[keyof WorkflowDefinitions & string];
22
22
  export declare namespace Typings {
23
- type Message<TChannel extends keyof ConversationDefinitions = keyof ConversationDefinitions, TType extends keyof ConversationDefinitions[TChannel]['messages'] = keyof ConversationDefinitions[TChannel]['messages']> = TChannel extends keyof ConversationDefinitions ? TType extends keyof ConversationDefinitions[TChannel]['messages'] ? Omit<CMessage, 'type' | 'tags' | 'payload'> & {
23
+ export type Message<TChannel extends keyof ConversationDefinitions = keyof ConversationDefinitions, TType extends keyof ConversationDefinitions[TChannel]['messages'] = keyof ConversationDefinitions[TChannel]['messages']> = TChannel extends keyof ConversationDefinitions ? TType extends keyof ConversationDefinitions[TChannel]['messages'] ? Omit<CMessage, 'type' | 'tags' | 'payload'> & {
24
24
  type: TType;
25
25
  payload: ConversationDefinitions[TChannel]['messages'][TType];
26
26
  tags: ConversationDefinitions[TChannel]['messageTags'];
27
27
  } : never : never;
28
- type Event<TChannel extends keyof ConversationDefinitions = keyof ConversationDefinitions> = TChannel extends keyof ConversationDefinitions ? {
28
+ export type Event<TChannel extends keyof ConversationDefinitions = keyof ConversationDefinitions> = TChannel extends keyof ConversationDefinitions ? {
29
29
  [EType in keyof ConversationDefinitions[TChannel]['events']]: {
30
30
  type: EType;
31
31
  payload: ConversationDefinitions[TChannel]['events'][EType];
32
32
  };
33
33
  }[keyof ConversationDefinitions[TChannel]['events'] & (string | number)] | WorkflowCallbackEventType : never;
34
- type ExtractChannel<T extends ChannelSpec> = T extends readonly string[] ? T[number] : T extends '*' ? Channels : T;
35
- type HandlerProps<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType, Channel extends string = ExtractChannel<TChannelSpec>> = Channel extends keyof ConversationDefinitions ? {
34
+ export type ExtractChannel<T extends ChannelSpec> = T extends readonly string[] ? T[number] : T extends '*' ? Channels : T;
35
+ /**
36
+ * Extract event name from "integration:eventName" format.
37
+ * e.g., "webchat:conversationStarted" -> "conversationStarted"
38
+ */
39
+ type ExtractEventName<T extends string> = T extends `${string}:${infer EventName}` ? EventName : T;
40
+ /**
41
+ * Get the channel for an event based on its integration.
42
+ * e.g., "webchat:conversationStarted" -> "webchat.channel"
43
+ */
44
+ type EventToChannel<T extends string> = T extends `${infer Integration}:${string}` ? `${Integration}.channel` extends keyof ConversationDefinitions ? `${Integration}.channel` : never : never;
45
+ /**
46
+ * Get event payload from an event type string.
47
+ */
48
+ type GetEventPayload<T extends string, TChannel extends keyof ConversationDefinitions = EventToChannel<T>> = TChannel extends keyof ConversationDefinitions ? ExtractEventName<T> extends keyof ConversationDefinitions[TChannel]['events'] ? ConversationDefinitions[TChannel]['events'][ExtractEventName<T>] : unknown : unknown;
49
+ /**
50
+ * Create a discriminated union of event handler props for each event type.
51
+ * Each event type narrows to its specific channel and conversation instance.
52
+ */
53
+ type EventHandlerProps<TEvents extends readonly string[], State extends ZuiType> = TEvents extends readonly [] ? never : {
54
+ [K in TEvents[number]]: EventToChannel<K> extends keyof ConversationDefinitions ? {
55
+ type: 'event';
56
+ channel: EventToChannel<K>;
57
+ conversation: BaseConversationInstance<EventToChannel<K>>;
58
+ event: {
59
+ type: K;
60
+ payload: GetEventPayload<K>;
61
+ } | WorkflowCallbackEventType;
62
+ message?: never;
63
+ workflow?: never;
64
+ request?: never;
65
+ state: z.infer<State>;
66
+ client: BotClient<any>;
67
+ execute: Autonomous.ConvoExecuteFn;
68
+ } : never;
69
+ }[TEvents[number]];
70
+ export type HandlerProps<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType, TEvents extends readonly string[] = readonly [], Channel extends string = ExtractChannel<TChannelSpec>> = Channel extends keyof ConversationDefinitions ? TEvents extends readonly [] ? {
36
71
  type: 'message';
37
72
  channel: Channel;
38
73
  conversation: BaseConversationInstance<Channel>;
@@ -44,17 +79,28 @@ export declare namespace Typings {
44
79
  client: BotClient<any>;
45
80
  execute: Autonomous.ConvoExecuteFn;
46
81
  } | {
47
- type: 'event';
82
+ type: 'workflow_request';
48
83
  channel: Channel;
49
84
  conversation: BaseConversationInstance<Channel>;
50
- event: Event<Channel>;
85
+ event?: never;
51
86
  message?: never;
52
87
  workflow?: never;
88
+ request: WorkflowRequest;
89
+ state: z.infer<State>;
90
+ client: BotClient<any>;
91
+ execute: Autonomous.ConvoExecuteFn;
92
+ } : {
93
+ type: 'message';
94
+ channel: Channel;
95
+ conversation: BaseConversationInstance<Channel>;
96
+ message: Message<Channel>;
97
+ event?: never;
98
+ workflow?: never;
53
99
  request?: never;
54
100
  state: z.infer<State>;
55
101
  client: BotClient<any>;
56
102
  execute: Autonomous.ConvoExecuteFn;
57
- } | {
103
+ } | EventHandlerProps<TEvents, State> | {
58
104
  type: 'workflow_request';
59
105
  channel: Channel;
60
106
  conversation: BaseConversationInstance<Channel>;
@@ -66,15 +112,32 @@ export declare namespace Typings {
66
112
  client: BotClient<any>;
67
113
  execute: Autonomous.ConvoExecuteFn;
68
114
  } : never;
69
- type Handler<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType> = (props: HandlerProps<TChannelSpec, State>) => Promise<void> | void;
70
- type StartFromTrigger<State extends ZuiType = ZuiType> = (event: any) => Promise<string | false> | string | false;
71
- type Props<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType> = {
115
+ export type Handler<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType, TEvents extends readonly string[] = readonly []> = (props: HandlerProps<TChannelSpec, State, TEvents>) => Promise<void> | void;
116
+ export type StartFromTrigger<State extends ZuiType = ZuiType> = (event: any) => Promise<string | false> | string | false;
117
+ /**
118
+ * Get available routable event names for a given channel.
119
+ * These are events that have a conversationId property and can be routed to conversations.
120
+ */
121
+ export type RoutableEventNames<TChannel extends keyof ConversationDefinitions> = TChannel extends keyof ConversationRoutableEvents ? ConversationRoutableEvents[TChannel][number] : never;
122
+ /**
123
+ * Event specification type for conversations.
124
+ * Must be an array of event names that are routable for the channel(s).
125
+ */
126
+ export type EventSpec<TChannelSpec extends ChannelSpec> = ExtractChannel<TChannelSpec> extends keyof ConversationRoutableEvents ? readonly ConversationRoutableEvents[ExtractChannel<TChannelSpec>][number][] : readonly string[];
127
+ export type Props<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType, TEvents extends EventSpec<TChannelSpec> = readonly []> = {
72
128
  channel: TChannelSpec;
73
- handler: Handler<TChannelSpec, State>;
129
+ handler: Handler<TChannelSpec, State, TEvents>;
74
130
  state?: State;
75
131
  startFromTrigger?: StartFromTrigger<State>;
132
+ /**
133
+ * Array of event names this conversation should listen to.
134
+ * Only events with a conversationId property are allowed.
135
+ * By default, conversations only receive messages, not events.
136
+ */
137
+ events?: TEvents;
76
138
  };
77
- const Primitive: "conversation";
139
+ export const Primitive: "conversation";
140
+ export {};
78
141
  }
79
142
  /**
80
143
  * Base Conversation definition class.
@@ -83,10 +146,16 @@ export declare namespace Typings {
83
146
  *
84
147
  * The generated Conversation class in runtime.d.ts provides proper typing.
85
148
  */
86
- export declare class BaseConversation<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType> implements Definitions.Primitive {
149
+ export declare class BaseConversation<TChannelSpec extends ChannelSpec = ChannelSpec, State extends ZuiType = ZuiType, TEvents extends Typings.EventSpec<TChannelSpec> = readonly []> implements Definitions.Primitive {
87
150
  #private;
88
151
  readonly channel: ChannelSpec;
89
- constructor(props: Typings.Props<TChannelSpec, State>);
152
+ /**
153
+ * Array of event names this conversation listens to.
154
+ * Only events with conversationId property are allowed.
155
+ * Empty array means no events (only messages).
156
+ */
157
+ readonly events: readonly string[];
158
+ constructor(props: Typings.Props<TChannelSpec, State, TEvents>);
90
159
  }
91
160
  export {};
92
161
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/primitives/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/primitives/conversation.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export declare namespace Definitions {
8
8
  type ConversationDefinition = {
9
9
  type: 'conversation';
10
10
  channel: string | string[];
11
+ /**
12
+ * Array of event names this conversation listens to.
13
+ * Only events with conversationId property are routable to conversations.
14
+ * Undefined or empty means no events (only messages).
15
+ */
16
+ events?: string[];
11
17
  };
12
18
  type WorkflowDefinition = {
13
19
  type: 'workflow';
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/primitives/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,WAAW,CAAC;IAC3B,KAAY,mBAAmB,GAC3B,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAA;IAEnB,UAAiB,SAAS;QACxB,aAAa,IAAI,mBAAmB,CAAA;KACrC;IAED,KAAY,sBAAsB,GAAG;QACnC,IAAI,EAAE,cAAc,CAAA;QACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAC3B,CAAA;IAED,KAAY,kBAAkB,GAAG;QAC/B,IAAI,EAAE,UAAU,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IAED,KAAY,mBAAmB,GAAG;QAChC,IAAI,EAAE,WAAW,CAAA;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,UAAU,EAAE,CAAA;KACtB,CAAA;IAED,KAAY,iBAAiB,GAAG;QAC9B,IAAI,EAAE,SAAS,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IAED,KAAY,gBAAgB,GAAG;QAC7B,IAAI,EAAE,QAAQ,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;IAED,KAAY,eAAe,GAAG;QAC5B,IAAI,EAAE,OAAO,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAuED,SAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAExF;IAED,SAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF;IAED,SAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;IAED,SAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;IAED,SAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;IAED,SAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;IAED,SAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAS9E;IAED;;;;;;;OAOG;IACH,SAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,mCAsBhD;CACF"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/primitives/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,WAAW,CAAC;IAC3B,KAAY,mBAAmB,GAC3B,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAA;IAEnB,UAAiB,SAAS;QACxB,aAAa,IAAI,mBAAmB,CAAA;KACrC;IAED,KAAY,sBAAsB,GAAG;QACnC,IAAI,EAAE,cAAc,CAAA;QACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;QAC1B;;;;WAIG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAClB,CAAA;IAED,KAAY,kBAAkB,GAAG;QAC/B,IAAI,EAAE,UAAU,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IAED,KAAY,mBAAmB,GAAG;QAChC,IAAI,EAAE,WAAW,CAAA;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,UAAU,EAAE,CAAA;KACtB,CAAA;IAED,KAAY,iBAAiB,GAAG;QAC9B,IAAI,EAAE,SAAS,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IAED,KAAY,gBAAgB,GAAG;QAC7B,IAAI,EAAE,QAAQ,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;IAED,KAAY,eAAe,GAAG;QAC5B,IAAI,EAAE,OAAO,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAuED,SAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAExF;IAED,SAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF;IAED,SAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;IAED,SAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;IAED,SAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;IAED,SAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;IAED,SAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAS9E;IAED;;;;;;;OAOG;IACH,SAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,mCAsBhD;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/runtime/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAc9E,eAAO,MAAM,KAAK,GAAI,KAAK,iBAAiB,SAsG3C,CAAA"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/runtime/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAc9E,eAAO,MAAM,KAAK,GAAI,KAAK,iBAAiB,SAqG3C,CAAA"}
package/dist/runtime.js CHANGED
@@ -48,7 +48,7 @@ var init_define_BUILD = __esm({
48
48
  var define_PACKAGE_VERSIONS_default;
49
49
  var init_define_PACKAGE_VERSIONS = __esm({
50
50
  "<define:__PACKAGE_VERSIONS__>"() {
51
- define_PACKAGE_VERSIONS_default = { runtime: "1.11.1", adk: "1.11.1", sdk: "4.20.2", llmz: "0.0.33", zai: "2.5.0", cognitive: "0.2.0" };
51
+ define_PACKAGE_VERSIONS_default = { runtime: "1.11.3", adk: "1.11.3", sdk: "4.20.2", llmz: "0.0.33", zai: "2.5.0", cognitive: "0.2.0" };
52
52
  }
53
53
  });
54
54
 
@@ -43824,12 +43824,19 @@ var init_conversation = __esm({
43824
43824
  })(Typings3 || (Typings3 = {}));
43825
43825
  BaseConversation = class {
43826
43826
  channel;
43827
+ /**
43828
+ * Array of event names this conversation listens to.
43829
+ * Only events with conversationId property are allowed.
43830
+ * Empty array means no events (only messages).
43831
+ */
43832
+ events;
43827
43833
  /** @internal */
43828
43834
  schema;
43829
43835
  #handler;
43830
43836
  #startFromTrigger;
43831
43837
  constructor(props) {
43832
43838
  this.channel = props.channel;
43839
+ this.events = props.events ?? [];
43833
43840
  this.schema = props.state ?? z10.object({}).passthrough();
43834
43841
  this.#handler = props.handler;
43835
43842
  if (props.startFromTrigger) {
@@ -43842,22 +43849,17 @@ var init_conversation = __esm({
43842
43849
  }
43843
43850
  /** @internal */
43844
43851
  getDefinition() {
43845
- if (this.channel === "*") {
43846
- return {
43847
- type: "conversation",
43848
- channel: "*"
43849
- };
43850
- } else if (Array.isArray(this.channel)) {
43851
- return {
43852
- type: "conversation",
43853
- channel: this.channel
43854
- };
43855
- } else {
43852
+ const base = {
43853
+ type: "conversation",
43854
+ channel: this.channel === "*" ? "*" : Array.isArray(this.channel) ? this.channel : this.channel
43855
+ };
43856
+ if (this.events.length > 0) {
43856
43857
  return {
43857
- type: "conversation",
43858
- channel: this.channel
43858
+ ...base,
43859
+ events: [...this.events]
43859
43860
  };
43860
43861
  }
43862
+ return base;
43861
43863
  }
43862
43864
  /** @internal */
43863
43865
  async [ConversationHandler]() {
@@ -48297,10 +48299,17 @@ var init_event = __esm({
48297
48299
  init_adk();
48298
48300
  init_conversation_matching();
48299
48301
  setup4 = (bot2) => {
48300
- const conversationEventTypes = [WorkflowCallbackEvent.name, WorkflowDataRequestEvent2.name];
48302
+ const registeredEvents = /* @__PURE__ */ new Set();
48303
+ for (const conversation of adk.project.conversations) {
48304
+ for (const eventName of conversation.events) {
48305
+ registeredEvents.add(eventName);
48306
+ }
48307
+ }
48308
+ const conversationEventTypes = [WorkflowCallbackEvent.name, WorkflowDataRequestEvent2.name, ...registeredEvents];
48301
48309
  for (const eventType of conversationEventTypes) {
48302
48310
  bot2.on.event(eventType, async ({ event, client, logger, ctx }) => {
48303
48311
  const payload = event.payload;
48312
+ const workflowId = payload.workflowId || payload.workflow_id;
48304
48313
  const conversation = context2.get("conversation");
48305
48314
  if (!conversation) {
48306
48315
  logger.warn(`Skipping ${WorkflowCallbackEvent.name} event, conversation not found in context`);
@@ -48322,7 +48331,7 @@ var init_event = __esm({
48322
48331
  integration: conversation.integration || "-",
48323
48332
  conversationId: conversation.id,
48324
48333
  userId: event.userId || "-",
48325
- workflowId: payload.workflowId
48334
+ workflowId
48326
48335
  },
48327
48336
  async () => {
48328
48337
  const chat = new BotpressChat(context2.getAll());