@botpress/sdk 1.6.2 → 2.0.0

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.
@@ -1,87 +1,145 @@
1
1
  import type { Server } from 'node:http';
2
+ import { BasePlugin, PluginImplementation } from '../plugin';
2
3
  import * as utils from '../utils';
3
- import { MessageHandler, EventHandler, StateExpiredHandler, HookImplementationsMap, HookImplementations, ActionHandlers } from './server';
4
+ import { MessageHandlersMap, MessageHandlers, EventHandlersMap, EventHandlers, StateExpiredHandlersMap, StateExpiredHandlers, HookHandlersMap, HookHandlers, ActionHandlers, BotHandlers, UnimplementedActionHandlers } from './server';
4
5
  import { BaseBot } from './types';
5
- export type BotImplementationProps<TBot extends BaseBot = BaseBot> = {
6
- actions: ActionHandlers<TBot>;
6
+ export type BotImplementationProps<TBot extends BaseBot = BaseBot, TPlugins extends Record<string, BasePlugin> = {}> = {
7
+ actions: UnimplementedActionHandlers<TBot, TPlugins>;
8
+ plugins: {
9
+ [K in keyof TPlugins]: PluginImplementation<TPlugins[K]>;
10
+ };
7
11
  };
8
- export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
9
- readonly props: BotImplementationProps<TBot>;
12
+ export declare class BotImplementation<TBot extends BaseBot = BaseBot, TPlugins extends Record<string, BasePlugin> = {}> implements BotHandlers<TBot> {
13
+ readonly props: BotImplementationProps<TBot, TPlugins>;
10
14
  readonly actionHandlers: ActionHandlers<TBot>;
11
- readonly messageHandlers: MessageHandler<TBot>[];
12
- readonly eventHandlers: EventHandler<TBot>[];
13
- readonly stateExpiredHandlers: StateExpiredHandler<TBot>[];
14
- readonly hooks: HookImplementationsMap<TBot>;
15
- constructor(props: BotImplementationProps<TBot>);
16
- readonly message: (handler: MessageHandler<TBot>) => void;
17
- readonly event: (handler: EventHandler<TBot>) => void;
18
- readonly stateExpired: (handler: StateExpiredHandler<TBot>) => void;
19
- readonly hook: {
20
- before_incoming_event: <T_2 extends "*" | keyof TBot["events"] | keyof utils.types.UnionToIntersection<(TBot["integrations"] extends infer T ? { [TIntegrationName in keyof T]: TBot["integrations"][TIntegrationName]["events"] extends infer T_1 ? { [TEventName in keyof T_1 as string extends utils.types.Cast<TIntegrationName, string> ? utils.types.Cast<TIntegrationName, string> & string : string extends utils.types.Cast<TEventName, string> ? utils.types.Cast<TEventName, string> & string : `${utils.types.Cast<utils.types.Cast<TIntegrationName, string>, string>}:${utils.types.Cast<utils.types.Cast<TEventName, string>, string>}`]: TBot["integrations"][TIntegrationName]["events"][TEventName]; } : never; } : never)[keyof TBot["integrations"]]>>(type: T_2, handler: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
15
+ readonly messageHandlers: MessageHandlersMap<TBot>;
16
+ readonly eventHandlers: EventHandlersMap<TBot>;
17
+ readonly stateExpiredHandlers: StateExpiredHandlersMap<TBot>;
18
+ readonly hookHandlers: HookHandlersMap<TBot>;
19
+ /**
20
+ * alias for actionHandlers
21
+ */
22
+ get actions(): ActionHandlers<TBot>;
23
+ constructor(props: BotImplementationProps<TBot, TPlugins>);
24
+ readonly on: {
25
+ message: <T extends "*" | keyof import("./types").GetMessages<TBot>>(type: T, handler: MessageHandlers<TBot>[T]) => void;
26
+ event: <T_3 extends "*" | keyof TBot["events"] | keyof utils.types.UnionToIntersection<(TBot["integrations"] extends infer T_1 ? { [TIntegrationName in keyof T_1]: TBot["integrations"][TIntegrationName]["events"] extends infer T_2 ? { [TEventName in keyof T_2 as string extends utils.types.Cast<TIntegrationName, string> ? utils.types.Cast<TIntegrationName, string> & string : string extends utils.types.Cast<TEventName, string> ? utils.types.Cast<TEventName, string> & string : `${utils.types.Cast<utils.types.Cast<TIntegrationName, string>, string>}:${utils.types.Cast<utils.types.Cast<TEventName, string>, string>}`]: TBot["integrations"][TIntegrationName]["events"][TEventName]; } : never; } : never)[keyof TBot["integrations"]]>>(type: T_3, handler: EventHandlers<TBot>[T_3]) => void;
27
+ stateExpired: <T_4 extends "*">(type: T_4, handler: StateExpiredHandlers<TBot>[T_4]) => void;
28
+ beforeIncomingEvent: <T_5 extends "*" | keyof TBot["events"] | keyof utils.types.UnionToIntersection<(TBot["integrations"] extends infer T_1 ? { [TIntegrationName in keyof T_1]: TBot["integrations"][TIntegrationName]["events"] extends infer T_2 ? { [TEventName in keyof T_2 as string extends utils.types.Cast<TIntegrationName, string> ? utils.types.Cast<TIntegrationName, string> & string : string extends utils.types.Cast<TEventName, string> ? utils.types.Cast<TEventName, string> & string : `${utils.types.Cast<utils.types.Cast<TIntegrationName, string>, string>}:${utils.types.Cast<utils.types.Cast<TEventName, string>, string>}`]: TBot["integrations"][TIntegrationName]["events"][TEventName]; } : never; } : never)[keyof TBot["integrations"]]>>(type: T_5, handler: (((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
29
+ type: K;
30
+ payload: import("./types").EnumerateEvents<TBot>[K];
31
+ }>; } : never) & {
32
+ '*': import("./server").AnyIncomingEvent<TBot>;
33
+ } extends infer T_10 ? { [T_11 in keyof T_10]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
21
34
  type: K;
22
35
  payload: import("./types").EnumerateEvents<TBot>[K];
23
36
  }>; } : never) & {
24
- '*': import("./server").IncomingEvent<TBot>;
25
- } extends infer T_3 ? { [T_4 in keyof T_3]: (input: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
37
+ '*': import("./server").AnyIncomingEvent<TBot>;
38
+ })[T_11]; } : never) extends infer T_6 ? { [T_7 in keyof T_6]: (input: (((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
26
39
  type: K;
27
40
  payload: import("./types").EnumerateEvents<TBot>[K];
28
41
  }>; } : never) & {
29
- '*': import("./server").IncomingEvent<TBot>;
30
- } extends infer T_5 ? { [T_6 in keyof T_5]: {
31
- client: import("./client").BotSpecificClient<TBot>;
32
- ctx: import("./server").BotContext;
33
- data: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
42
+ '*': import("./server").AnyIncomingEvent<TBot>;
43
+ } extends infer T_10 ? { [T_11 in keyof T_10]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
44
+ type: K;
45
+ payload: import("./types").EnumerateEvents<TBot>[K];
46
+ }>; } : never) & {
47
+ '*': import("./server").AnyIncomingEvent<TBot>;
48
+ })[T_11]; } : never) extends infer T_8 ? { [T_9 in keyof T_8]: import("./server").CommonHandlerProps<TBot> & {
49
+ data: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
34
50
  type: K;
35
51
  payload: import("./types").EnumerateEvents<TBot>[K];
36
52
  }>; } : never) & {
37
- '*': import("./server").IncomingEvent<TBot>;
38
- })[T_6];
39
- }; } : never)[T_4]) => Promise<void | ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
53
+ '*': import("./server").AnyIncomingEvent<TBot>;
54
+ } extends infer T_10 ? { [T_11 in keyof T_10]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
55
+ type: K;
56
+ payload: import("./types").EnumerateEvents<TBot>[K];
57
+ }>; } : never) & {
58
+ '*': import("./server").AnyIncomingEvent<TBot>;
59
+ })[T_11]; } : never)[T_9];
60
+ }; } : never)[T_7]) => Promise<(((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
40
61
  type: K;
41
62
  payload: import("./types").EnumerateEvents<TBot>[K];
42
63
  }>; } : never) & {
43
- '*': import("./server").IncomingEvent<TBot>;
44
- } extends infer T_8 ? { [T_9 in keyof T_8]: {
45
- data: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
64
+ '*': import("./server").AnyIncomingEvent<TBot>;
65
+ } extends infer T_10 ? { [T_11 in keyof T_10]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
66
+ type: K;
67
+ payload: import("./types").EnumerateEvents<TBot>[K];
68
+ }>; } : never) & {
69
+ '*': import("./server").AnyIncomingEvent<TBot>;
70
+ })[T_11]; } : never) extends infer T_13 ? { [T_14 in keyof T_13]: {
71
+ data?: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
72
+ type: K;
73
+ payload: import("./types").EnumerateEvents<TBot>[K];
74
+ }>; } : never) & {
75
+ '*': import("./server").AnyIncomingEvent<TBot>;
76
+ } extends infer T_10 ? { [T_11 in keyof T_10]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
46
77
  type: K;
47
78
  payload: import("./types").EnumerateEvents<TBot>[K];
48
79
  }>; } : never) & {
49
- '*': import("./server").IncomingEvent<TBot>;
50
- })[T_9];
51
- }; } : never)[T_4] | undefined>; } : never)[T_2]) => void;
52
- before_incoming_message: <T_10 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_10, handler: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
80
+ '*': import("./server").AnyIncomingEvent<TBot>;
81
+ })[T_11]; } : never)[T_14] | undefined;
82
+ } & {
83
+ stop?: boolean | undefined;
84
+ }; } : never)[T_7] | undefined>; } : never)[T_5]) => void;
85
+ beforeIncomingMessage: <T_15 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_15, handler: (((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
86
+ type: K_1;
87
+ payload: import("./types").GetMessages<TBot>[K_1];
88
+ }>; } : never) & {
89
+ '*': import("./server").AnyIncomingMessage<TBot>;
90
+ } extends infer T_20 ? { [T_21 in keyof T_20]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
91
+ type: K_1;
92
+ payload: import("./types").GetMessages<TBot>[K_1];
93
+ }>; } : never) & {
94
+ '*': import("./server").AnyIncomingMessage<TBot>;
95
+ })[T_21]; } : never) extends infer T_16 ? { [T_17 in keyof T_16]: (input: (((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
53
96
  type: K_1;
54
97
  payload: import("./types").GetMessages<TBot>[K_1];
55
98
  }>; } : never) & {
56
- '*': import("./server").IncomingMessage<TBot>;
57
- } extends infer T_11 ? { [T_12 in keyof T_11]: (input: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
99
+ '*': import("./server").AnyIncomingMessage<TBot>;
100
+ } extends infer T_20 ? { [T_21 in keyof T_20]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
58
101
  type: K_1;
59
102
  payload: import("./types").GetMessages<TBot>[K_1];
60
103
  }>; } : never) & {
61
- '*': import("./server").IncomingMessage<TBot>;
62
- } extends infer T_13 ? { [T_14 in keyof T_13]: {
63
- client: import("./client").BotSpecificClient<TBot>;
64
- ctx: import("./server").BotContext;
65
- data: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
104
+ '*': import("./server").AnyIncomingMessage<TBot>;
105
+ })[T_21]; } : never) extends infer T_18 ? { [T_19 in keyof T_18]: import("./server").CommonHandlerProps<TBot> & {
106
+ data: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
107
+ type: K_1;
108
+ payload: import("./types").GetMessages<TBot>[K_1];
109
+ }>; } : never) & {
110
+ '*': import("./server").AnyIncomingMessage<TBot>;
111
+ } extends infer T_20 ? { [T_21 in keyof T_20]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
66
112
  type: K_1;
67
113
  payload: import("./types").GetMessages<TBot>[K_1];
68
114
  }>; } : never) & {
69
- '*': import("./server").IncomingMessage<TBot>;
70
- })[T_14];
71
- }; } : never)[T_12]) => Promise<void | ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
115
+ '*': import("./server").AnyIncomingMessage<TBot>;
116
+ })[T_21]; } : never)[T_19];
117
+ }; } : never)[T_17]) => Promise<(((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
72
118
  type: K_1;
73
119
  payload: import("./types").GetMessages<TBot>[K_1];
74
120
  }>; } : never) & {
75
- '*': import("./server").IncomingMessage<TBot>;
76
- } extends infer T_16 ? { [T_17 in keyof T_16]: {
77
- data: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
121
+ '*': import("./server").AnyIncomingMessage<TBot>;
122
+ } extends infer T_20 ? { [T_21 in keyof T_20]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
123
+ type: K_1;
124
+ payload: import("./types").GetMessages<TBot>[K_1];
125
+ }>; } : never) & {
126
+ '*': import("./server").AnyIncomingMessage<TBot>;
127
+ })[T_21]; } : never) extends infer T_23 ? { [T_24 in keyof T_23]: {
128
+ data?: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
78
129
  type: K_1;
79
130
  payload: import("./types").GetMessages<TBot>[K_1];
80
131
  }>; } : never) & {
81
- '*': import("./server").IncomingMessage<TBot>;
82
- })[T_17];
83
- }; } : never)[T_12] | undefined>; } : never)[T_10]) => void;
84
- before_outgoing_message: <T_18 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_18, handler: ((import("./types").GetMessages<TBot> extends infer T_23 ? { [K_2 in keyof T_23]: utils.types.Merge<{
132
+ '*': import("./server").AnyIncomingMessage<TBot>;
133
+ } extends infer T_20 ? { [T_21 in keyof T_20]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
134
+ type: K_1;
135
+ payload: import("./types").GetMessages<TBot>[K_1];
136
+ }>; } : never) & {
137
+ '*': import("./server").AnyIncomingMessage<TBot>;
138
+ })[T_21]; } : never)[T_24] | undefined;
139
+ } & {
140
+ stop?: boolean | undefined;
141
+ }; } : never)[T_17] | undefined>; } : never)[T_15]) => void;
142
+ beforeOutgoingMessage: <T_25 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_25, handler: (((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
85
143
  payload: {
86
144
  [x: string]: any;
87
145
  };
@@ -99,8 +157,8 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
99
157
  type: K_2;
100
158
  payload: import("./types").GetMessages<TBot>[K_2];
101
159
  }>; } : never) & {
102
- '*': import("./server").OutgoingMessageRequest<TBot>;
103
- } extends infer T_19 ? { [T_20 in keyof T_19]: (input: ((import("./types").GetMessages<TBot> extends infer T_23 ? { [K_2 in keyof T_23]: utils.types.Merge<{
160
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
161
+ } extends infer T_30 ? { [T_31 in keyof T_30]: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
104
162
  payload: {
105
163
  [x: string]: any;
106
164
  };
@@ -118,11 +176,66 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
118
176
  type: K_2;
119
177
  payload: import("./types").GetMessages<TBot>[K_2];
120
178
  }>; } : never) & {
121
- '*': import("./server").OutgoingMessageRequest<TBot>;
122
- } extends infer T_21 ? { [T_22 in keyof T_21]: {
123
- client: import("./client").BotSpecificClient<TBot>;
124
- ctx: import("./server").BotContext;
125
- data: ((import("./types").GetMessages<TBot> extends infer T_23 ? { [K_2 in keyof T_23]: utils.types.Merge<{
179
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
180
+ })[T_31]; } : never) extends infer T_26 ? { [T_27 in keyof T_26]: (input: (((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
181
+ payload: {
182
+ [x: string]: any;
183
+ };
184
+ userId: string;
185
+ conversationId: string;
186
+ type: string;
187
+ tags: {
188
+ [x: string]: string;
189
+ };
190
+ schedule?: {
191
+ dateTime?: string | undefined;
192
+ delay?: number | undefined;
193
+ } | undefined;
194
+ }, {
195
+ type: K_2;
196
+ payload: import("./types").GetMessages<TBot>[K_2];
197
+ }>; } : never) & {
198
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
199
+ } extends infer T_30 ? { [T_31 in keyof T_30]: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
200
+ payload: {
201
+ [x: string]: any;
202
+ };
203
+ userId: string;
204
+ conversationId: string;
205
+ type: string;
206
+ tags: {
207
+ [x: string]: string;
208
+ };
209
+ schedule?: {
210
+ dateTime?: string | undefined;
211
+ delay?: number | undefined;
212
+ } | undefined;
213
+ }, {
214
+ type: K_2;
215
+ payload: import("./types").GetMessages<TBot>[K_2];
216
+ }>; } : never) & {
217
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
218
+ })[T_31]; } : never) extends infer T_28 ? { [T_29 in keyof T_28]: import("./server").CommonHandlerProps<TBot> & {
219
+ data: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
220
+ payload: {
221
+ [x: string]: any;
222
+ };
223
+ userId: string;
224
+ conversationId: string;
225
+ type: string;
226
+ tags: {
227
+ [x: string]: string;
228
+ };
229
+ schedule?: {
230
+ dateTime?: string | undefined;
231
+ delay?: number | undefined;
232
+ } | undefined;
233
+ }, {
234
+ type: K_2;
235
+ payload: import("./types").GetMessages<TBot>[K_2];
236
+ }>; } : never) & {
237
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
238
+ } extends infer T_30 ? { [T_31 in keyof T_30]: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
126
239
  payload: {
127
240
  [x: string]: any;
128
241
  };
@@ -140,9 +253,28 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
140
253
  type: K_2;
141
254
  payload: import("./types").GetMessages<TBot>[K_2];
142
255
  }>; } : never) & {
143
- '*': import("./server").OutgoingMessageRequest<TBot>;
144
- })[T_22];
145
- }; } : never)[T_20]) => Promise<void | ((import("./types").GetMessages<TBot> extends infer T_23 ? { [K_2 in keyof T_23]: utils.types.Merge<{
256
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
257
+ })[T_31]; } : never)[T_29];
258
+ }; } : never)[T_27]) => Promise<(((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
259
+ payload: {
260
+ [x: string]: any;
261
+ };
262
+ userId: string;
263
+ conversationId: string;
264
+ type: string;
265
+ tags: {
266
+ [x: string]: string;
267
+ };
268
+ schedule?: {
269
+ dateTime?: string | undefined;
270
+ delay?: number | undefined;
271
+ } | undefined;
272
+ }, {
273
+ type: K_2;
274
+ payload: import("./types").GetMessages<TBot>[K_2];
275
+ }>; } : never) & {
276
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
277
+ } extends infer T_30 ? { [T_31 in keyof T_30]: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
146
278
  payload: {
147
279
  [x: string]: any;
148
280
  };
@@ -160,9 +292,28 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
160
292
  type: K_2;
161
293
  payload: import("./types").GetMessages<TBot>[K_2];
162
294
  }>; } : never) & {
163
- '*': import("./server").OutgoingMessageRequest<TBot>;
164
- } extends infer T_24 ? { [T_25 in keyof T_24]: {
165
- data: ((import("./types").GetMessages<TBot> extends infer T_23 ? { [K_2 in keyof T_23]: utils.types.Merge<{
295
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
296
+ })[T_31]; } : never) extends infer T_33 ? { [T_34 in keyof T_33]: {
297
+ data?: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
298
+ payload: {
299
+ [x: string]: any;
300
+ };
301
+ userId: string;
302
+ conversationId: string;
303
+ type: string;
304
+ tags: {
305
+ [x: string]: string;
306
+ };
307
+ schedule?: {
308
+ dateTime?: string | undefined;
309
+ delay?: number | undefined;
310
+ } | undefined;
311
+ }, {
312
+ type: K_2;
313
+ payload: import("./types").GetMessages<TBot>[K_2];
314
+ }>; } : never) & {
315
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
316
+ } extends infer T_30 ? { [T_31 in keyof T_30]: ((import("./types").GetMessages<TBot> extends infer T_32 ? { [K_2 in keyof T_32]: utils.types.Merge<{
166
317
  payload: {
167
318
  [x: string]: any;
168
319
  };
@@ -180,10 +331,20 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
180
331
  type: K_2;
181
332
  payload: import("./types").GetMessages<TBot>[K_2];
182
333
  }>; } : never) & {
183
- '*': import("./server").OutgoingMessageRequest<TBot>;
184
- })[T_25];
185
- }; } : never)[T_20] | undefined>; } : never)[T_18]) => void;
186
- before_call_action: <T_26 extends "*" | keyof import("./types").EnumerateActions<TBot>>(type: T_26, handler: ((import("./types").EnumerateActionInputs<TBot> extends infer T_31 ? { [K_3 in keyof T_31]: utils.types.Merge<{
334
+ '*': import("./server").AnyOutgoingMessageRequest<TBot>;
335
+ })[T_31]; } : never)[T_34] | undefined;
336
+ }; } : never)[T_27] | undefined>; } : never)[T_25]) => void;
337
+ beforeOutgoingCallAction: <T_35 extends "*" | keyof import("./types").EnumerateActions<TBot>>(type: T_35, handler: (((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
338
+ type: string;
339
+ input: {
340
+ [x: string]: any;
341
+ };
342
+ }, {
343
+ type: K_3;
344
+ input: import("./types").EnumerateActionInputs<TBot>[K_3];
345
+ }>; } : never) & {
346
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
347
+ } extends infer T_40 ? { [T_41 in keyof T_40]: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
187
348
  type: string;
188
349
  input: {
189
350
  [x: string]: any;
@@ -192,8 +353,8 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
192
353
  type: K_3;
193
354
  input: import("./types").EnumerateActionInputs<TBot>[K_3];
194
355
  }>; } : never) & {
195
- '*': import("./server").OutgoingCallActionRequest<TBot>;
196
- } extends infer T_27 ? { [T_28 in keyof T_27]: (input: ((import("./types").EnumerateActionInputs<TBot> extends infer T_31 ? { [K_3 in keyof T_31]: utils.types.Merge<{
356
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
357
+ })[T_41]; } : never) extends infer T_36 ? { [T_37 in keyof T_36]: (input: (((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
197
358
  type: string;
198
359
  input: {
199
360
  [x: string]: any;
@@ -202,11 +363,19 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
202
363
  type: K_3;
203
364
  input: import("./types").EnumerateActionInputs<TBot>[K_3];
204
365
  }>; } : never) & {
205
- '*': import("./server").OutgoingCallActionRequest<TBot>;
206
- } extends infer T_29 ? { [T_30 in keyof T_29]: {
207
- client: import("./client").BotSpecificClient<TBot>;
208
- ctx: import("./server").BotContext;
209
- data: ((import("./types").EnumerateActionInputs<TBot> extends infer T_31 ? { [K_3 in keyof T_31]: utils.types.Merge<{
366
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
367
+ } extends infer T_40 ? { [T_41 in keyof T_40]: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
368
+ type: string;
369
+ input: {
370
+ [x: string]: any;
371
+ };
372
+ }, {
373
+ type: K_3;
374
+ input: import("./types").EnumerateActionInputs<TBot>[K_3];
375
+ }>; } : never) & {
376
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
377
+ })[T_41]; } : never) extends infer T_38 ? { [T_39 in keyof T_38]: import("./server").CommonHandlerProps<TBot> & {
378
+ data: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
210
379
  type: string;
211
380
  input: {
212
381
  [x: string]: any;
@@ -215,9 +384,19 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
215
384
  type: K_3;
216
385
  input: import("./types").EnumerateActionInputs<TBot>[K_3];
217
386
  }>; } : never) & {
218
- '*': import("./server").OutgoingCallActionRequest<TBot>;
219
- })[T_30];
220
- }; } : never)[T_28]) => Promise<void | ((import("./types").EnumerateActionInputs<TBot> extends infer T_31 ? { [K_3 in keyof T_31]: utils.types.Merge<{
387
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
388
+ } extends infer T_40 ? { [T_41 in keyof T_40]: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
389
+ type: string;
390
+ input: {
391
+ [x: string]: any;
392
+ };
393
+ }, {
394
+ type: K_3;
395
+ input: import("./types").EnumerateActionInputs<TBot>[K_3];
396
+ }>; } : never) & {
397
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
398
+ })[T_41]; } : never)[T_39];
399
+ }; } : never)[T_37]) => Promise<(((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
221
400
  type: string;
222
401
  input: {
223
402
  [x: string]: any;
@@ -226,9 +405,29 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
226
405
  type: K_3;
227
406
  input: import("./types").EnumerateActionInputs<TBot>[K_3];
228
407
  }>; } : never) & {
229
- '*': import("./server").OutgoingCallActionRequest<TBot>;
230
- } extends infer T_32 ? { [T_33 in keyof T_32]: {
231
- data: ((import("./types").EnumerateActionInputs<TBot> extends infer T_31 ? { [K_3 in keyof T_31]: utils.types.Merge<{
408
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
409
+ } extends infer T_40 ? { [T_41 in keyof T_40]: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
410
+ type: string;
411
+ input: {
412
+ [x: string]: any;
413
+ };
414
+ }, {
415
+ type: K_3;
416
+ input: import("./types").EnumerateActionInputs<TBot>[K_3];
417
+ }>; } : never) & {
418
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
419
+ })[T_41]; } : never) extends infer T_43 ? { [T_44 in keyof T_43]: {
420
+ data?: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
421
+ type: string;
422
+ input: {
423
+ [x: string]: any;
424
+ };
425
+ }, {
426
+ type: K_3;
427
+ input: import("./types").EnumerateActionInputs<TBot>[K_3];
428
+ }>; } : never) & {
429
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
430
+ } extends infer T_40 ? { [T_41 in keyof T_40]: ((import("./types").EnumerateActionInputs<TBot> extends infer T_42 ? { [K_3 in keyof T_42]: utils.types.Merge<{
232
431
  type: string;
233
432
  input: {
234
433
  [x: string]: any;
@@ -237,74 +436,146 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
237
436
  type: K_3;
238
437
  input: import("./types").EnumerateActionInputs<TBot>[K_3];
239
438
  }>; } : never) & {
240
- '*': import("./server").OutgoingCallActionRequest<TBot>;
241
- })[T_33];
242
- }; } : never)[T_28] | undefined>; } : never)[T_26]) => void;
243
- after_incoming_event: <T_34 extends "*" | keyof TBot["events"] | keyof utils.types.UnionToIntersection<(TBot["integrations"] extends infer T ? { [TIntegrationName in keyof T]: TBot["integrations"][TIntegrationName]["events"] extends infer T_1 ? { [TEventName in keyof T_1 as string extends utils.types.Cast<TIntegrationName, string> ? utils.types.Cast<TIntegrationName, string> & string : string extends utils.types.Cast<TEventName, string> ? utils.types.Cast<TEventName, string> & string : `${utils.types.Cast<utils.types.Cast<TIntegrationName, string>, string>}:${utils.types.Cast<utils.types.Cast<TEventName, string>, string>}`]: TBot["integrations"][TIntegrationName]["events"][TEventName]; } : never; } : never)[keyof TBot["integrations"]]>>(type: T_34, handler: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
439
+ '*': import("./server").AnyOutgoingCallActionRequest<TBot>;
440
+ })[T_41]; } : never)[T_44] | undefined;
441
+ }; } : never)[T_37] | undefined>; } : never)[T_35]) => void;
442
+ afterIncomingEvent: <T_45 extends "*" | keyof TBot["events"] | keyof utils.types.UnionToIntersection<(TBot["integrations"] extends infer T_1 ? { [TIntegrationName in keyof T_1]: TBot["integrations"][TIntegrationName]["events"] extends infer T_2 ? { [TEventName in keyof T_2 as string extends utils.types.Cast<TIntegrationName, string> ? utils.types.Cast<TIntegrationName, string> & string : string extends utils.types.Cast<TEventName, string> ? utils.types.Cast<TEventName, string> & string : `${utils.types.Cast<utils.types.Cast<TIntegrationName, string>, string>}:${utils.types.Cast<utils.types.Cast<TEventName, string>, string>}`]: TBot["integrations"][TIntegrationName]["events"][TEventName]; } : never; } : never)[keyof TBot["integrations"]]>>(type: T_45, handler: (((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
244
443
  type: K;
245
444
  payload: import("./types").EnumerateEvents<TBot>[K];
246
445
  }>; } : never) & {
247
- '*': import("./server").IncomingEvent<TBot>;
248
- } extends infer T_35 ? { [T_36 in keyof T_35]: (input: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
446
+ '*': import("./server").AnyIncomingEvent<TBot>;
447
+ } extends infer T_50 ? { [T_51 in keyof T_50]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
249
448
  type: K;
250
449
  payload: import("./types").EnumerateEvents<TBot>[K];
251
450
  }>; } : never) & {
252
- '*': import("./server").IncomingEvent<TBot>;
253
- } extends infer T_37 ? { [T_38 in keyof T_37]: {
254
- client: import("./client").BotSpecificClient<TBot>;
255
- ctx: import("./server").BotContext;
256
- data: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
451
+ '*': import("./server").AnyIncomingEvent<TBot>;
452
+ })[T_51]; } : never) extends infer T_46 ? { [T_47 in keyof T_46]: (input: (((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
453
+ type: K;
454
+ payload: import("./types").EnumerateEvents<TBot>[K];
455
+ }>; } : never) & {
456
+ '*': import("./server").AnyIncomingEvent<TBot>;
457
+ } extends infer T_50 ? { [T_51 in keyof T_50]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
458
+ type: K;
459
+ payload: import("./types").EnumerateEvents<TBot>[K];
460
+ }>; } : never) & {
461
+ '*': import("./server").AnyIncomingEvent<TBot>;
462
+ })[T_51]; } : never) extends infer T_48 ? { [T_49 in keyof T_48]: import("./server").CommonHandlerProps<TBot> & {
463
+ data: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
257
464
  type: K;
258
465
  payload: import("./types").EnumerateEvents<TBot>[K];
259
466
  }>; } : never) & {
260
- '*': import("./server").IncomingEvent<TBot>;
261
- })[T_38];
262
- }; } : never)[T_36]) => Promise<void | ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
467
+ '*': import("./server").AnyIncomingEvent<TBot>;
468
+ } extends infer T_50 ? { [T_51 in keyof T_50]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
469
+ type: K;
470
+ payload: import("./types").EnumerateEvents<TBot>[K];
471
+ }>; } : never) & {
472
+ '*': import("./server").AnyIncomingEvent<TBot>;
473
+ })[T_51]; } : never)[T_49];
474
+ }; } : never)[T_47]) => Promise<(((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
263
475
  type: K;
264
476
  payload: import("./types").EnumerateEvents<TBot>[K];
265
477
  }>; } : never) & {
266
- '*': import("./server").IncomingEvent<TBot>;
267
- } extends infer T_39 ? { [T_40 in keyof T_39]: {
268
- data: ((import("./types").EnumerateEvents<TBot> extends infer T_7 ? { [K in keyof T_7]: utils.types.Merge<import("@botpress/client").Event, {
478
+ '*': import("./server").AnyIncomingEvent<TBot>;
479
+ } extends infer T_50 ? { [T_51 in keyof T_50]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
480
+ type: K;
481
+ payload: import("./types").EnumerateEvents<TBot>[K];
482
+ }>; } : never) & {
483
+ '*': import("./server").AnyIncomingEvent<TBot>;
484
+ })[T_51]; } : never) extends infer T_52 ? { [T_53 in keyof T_52]: {
485
+ data?: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
486
+ type: K;
487
+ payload: import("./types").EnumerateEvents<TBot>[K];
488
+ }>; } : never) & {
489
+ '*': import("./server").AnyIncomingEvent<TBot>;
490
+ } extends infer T_50 ? { [T_51 in keyof T_50]: ((import("./types").EnumerateEvents<TBot> extends infer T_12 ? { [K in keyof T_12]: utils.types.Merge<import("@botpress/client").Event, {
269
491
  type: K;
270
492
  payload: import("./types").EnumerateEvents<TBot>[K];
271
493
  }>; } : never) & {
272
- '*': import("./server").IncomingEvent<TBot>;
273
- })[T_40];
274
- }; } : never)[T_36] | undefined>; } : never)[T_34]) => void;
275
- after_incoming_message: <T_41 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_41, handler: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
494
+ '*': import("./server").AnyIncomingEvent<TBot>;
495
+ })[T_51]; } : never)[T_53] | undefined;
496
+ } & {
497
+ stop?: boolean | undefined;
498
+ }; } : never)[T_47] | undefined>; } : never)[T_45]) => void;
499
+ afterIncomingMessage: <T_54 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_54, handler: (((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
500
+ type: K_1;
501
+ payload: import("./types").GetMessages<TBot>[K_1];
502
+ }>; } : never) & {
503
+ '*': import("./server").AnyIncomingMessage<TBot>;
504
+ } extends infer T_59 ? { [T_60 in keyof T_59]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
505
+ type: K_1;
506
+ payload: import("./types").GetMessages<TBot>[K_1];
507
+ }>; } : never) & {
508
+ '*': import("./server").AnyIncomingMessage<TBot>;
509
+ })[T_60]; } : never) extends infer T_55 ? { [T_56 in keyof T_55]: (input: (((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
276
510
  type: K_1;
277
511
  payload: import("./types").GetMessages<TBot>[K_1];
278
512
  }>; } : never) & {
279
- '*': import("./server").IncomingMessage<TBot>;
280
- } extends infer T_42 ? { [T_43 in keyof T_42]: (input: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
513
+ '*': import("./server").AnyIncomingMessage<TBot>;
514
+ } extends infer T_59 ? { [T_60 in keyof T_59]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
281
515
  type: K_1;
282
516
  payload: import("./types").GetMessages<TBot>[K_1];
283
517
  }>; } : never) & {
284
- '*': import("./server").IncomingMessage<TBot>;
285
- } extends infer T_44 ? { [T_45 in keyof T_44]: {
286
- client: import("./client").BotSpecificClient<TBot>;
287
- ctx: import("./server").BotContext;
288
- data: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
518
+ '*': import("./server").AnyIncomingMessage<TBot>;
519
+ })[T_60]; } : never) extends infer T_57 ? { [T_58 in keyof T_57]: import("./server").CommonHandlerProps<TBot> & {
520
+ data: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
289
521
  type: K_1;
290
522
  payload: import("./types").GetMessages<TBot>[K_1];
291
523
  }>; } : never) & {
292
- '*': import("./server").IncomingMessage<TBot>;
293
- })[T_45];
294
- }; } : never)[T_43]) => Promise<void | ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
524
+ '*': import("./server").AnyIncomingMessage<TBot>;
525
+ } extends infer T_59 ? { [T_60 in keyof T_59]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
526
+ type: K_1;
527
+ payload: import("./types").GetMessages<TBot>[K_1];
528
+ }>; } : never) & {
529
+ '*': import("./server").AnyIncomingMessage<TBot>;
530
+ })[T_60]; } : never)[T_58];
531
+ }; } : never)[T_56]) => Promise<(((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
532
+ type: K_1;
533
+ payload: import("./types").GetMessages<TBot>[K_1];
534
+ }>; } : never) & {
535
+ '*': import("./server").AnyIncomingMessage<TBot>;
536
+ } extends infer T_59 ? { [T_60 in keyof T_59]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
295
537
  type: K_1;
296
538
  payload: import("./types").GetMessages<TBot>[K_1];
297
539
  }>; } : never) & {
298
- '*': import("./server").IncomingMessage<TBot>;
299
- } extends infer T_46 ? { [T_47 in keyof T_46]: {
300
- data: ((import("./types").GetMessages<TBot> extends infer T_15 ? { [K_1 in keyof T_15]: utils.types.Merge<import("@botpress/client").Message, {
540
+ '*': import("./server").AnyIncomingMessage<TBot>;
541
+ })[T_60]; } : never) extends infer T_61 ? { [T_62 in keyof T_61]: {
542
+ data?: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
301
543
  type: K_1;
302
544
  payload: import("./types").GetMessages<TBot>[K_1];
303
545
  }>; } : never) & {
304
- '*': import("./server").IncomingMessage<TBot>;
305
- })[T_47];
306
- }; } : never)[T_43] | undefined>; } : never)[T_41]) => void;
307
- after_outgoing_message: <T_48 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_48, handler: ((import("./types").GetMessages<TBot> extends infer T_53 ? { [K_4 in keyof T_53]: utils.types.Merge<{
546
+ '*': import("./server").AnyIncomingMessage<TBot>;
547
+ } extends infer T_59 ? { [T_60 in keyof T_59]: ((import("./types").GetMessages<TBot> extends infer T_22 ? { [K_1 in keyof T_22]: utils.types.Merge<import("@botpress/client").Message, {
548
+ type: K_1;
549
+ payload: import("./types").GetMessages<TBot>[K_1];
550
+ }>; } : never) & {
551
+ '*': import("./server").AnyIncomingMessage<TBot>;
552
+ })[T_60]; } : never)[T_62] | undefined;
553
+ } & {
554
+ stop?: boolean | undefined;
555
+ }; } : never)[T_56] | undefined>; } : never)[T_54]) => void;
556
+ afterOutgoingMessage: <T_63 extends "*" | keyof import("./types").GetMessages<TBot>>(type: T_63, handler: (((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
557
+ message: {
558
+ id: string;
559
+ createdAt: string;
560
+ type: string;
561
+ payload: {
562
+ [x: string]: any;
563
+ };
564
+ direction: "incoming" | "outgoing";
565
+ userId: string;
566
+ conversationId: string;
567
+ tags: {
568
+ [x: string]: string;
569
+ };
570
+ };
571
+ }, {
572
+ message: utils.types.Merge<import("@botpress/client").Message, {
573
+ type: K_4;
574
+ payload: import("./types").GetMessages<TBot>[K_4];
575
+ }>;
576
+ }>; } : never) & {
577
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
578
+ } extends infer T_68 ? { [T_69 in keyof T_68]: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
308
579
  message: {
309
580
  id: string;
310
581
  createdAt: string;
@@ -325,8 +596,8 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
325
596
  payload: import("./types").GetMessages<TBot>[K_4];
326
597
  }>;
327
598
  }>; } : never) & {
328
- '*': import("./server").OutgoingMessageResponse<TBot>;
329
- } extends infer T_49 ? { [T_50 in keyof T_49]: (input: ((import("./types").GetMessages<TBot> extends infer T_53 ? { [K_4 in keyof T_53]: utils.types.Merge<{
599
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
600
+ })[T_69]; } : never) extends infer T_64 ? { [T_65 in keyof T_64]: (input: (((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
330
601
  message: {
331
602
  id: string;
332
603
  createdAt: string;
@@ -347,11 +618,31 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
347
618
  payload: import("./types").GetMessages<TBot>[K_4];
348
619
  }>;
349
620
  }>; } : never) & {
350
- '*': import("./server").OutgoingMessageResponse<TBot>;
351
- } extends infer T_51 ? { [T_52 in keyof T_51]: {
352
- client: import("./client").BotSpecificClient<TBot>;
353
- ctx: import("./server").BotContext;
354
- data: ((import("./types").GetMessages<TBot> extends infer T_53 ? { [K_4 in keyof T_53]: utils.types.Merge<{
621
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
622
+ } extends infer T_68 ? { [T_69 in keyof T_68]: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
623
+ message: {
624
+ id: string;
625
+ createdAt: string;
626
+ type: string;
627
+ payload: {
628
+ [x: string]: any;
629
+ };
630
+ direction: "incoming" | "outgoing";
631
+ userId: string;
632
+ conversationId: string;
633
+ tags: {
634
+ [x: string]: string;
635
+ };
636
+ };
637
+ }, {
638
+ message: utils.types.Merge<import("@botpress/client").Message, {
639
+ type: K_4;
640
+ payload: import("./types").GetMessages<TBot>[K_4];
641
+ }>;
642
+ }>; } : never) & {
643
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
644
+ })[T_69]; } : never) extends infer T_66 ? { [T_67 in keyof T_66]: import("./server").CommonHandlerProps<TBot> & {
645
+ data: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
355
646
  message: {
356
647
  id: string;
357
648
  createdAt: string;
@@ -372,9 +663,31 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
372
663
  payload: import("./types").GetMessages<TBot>[K_4];
373
664
  }>;
374
665
  }>; } : never) & {
375
- '*': import("./server").OutgoingMessageResponse<TBot>;
376
- })[T_52];
377
- }; } : never)[T_50]) => Promise<void | ((import("./types").GetMessages<TBot> extends infer T_53 ? { [K_4 in keyof T_53]: utils.types.Merge<{
666
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
667
+ } extends infer T_68 ? { [T_69 in keyof T_68]: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
668
+ message: {
669
+ id: string;
670
+ createdAt: string;
671
+ type: string;
672
+ payload: {
673
+ [x: string]: any;
674
+ };
675
+ direction: "incoming" | "outgoing";
676
+ userId: string;
677
+ conversationId: string;
678
+ tags: {
679
+ [x: string]: string;
680
+ };
681
+ };
682
+ }, {
683
+ message: utils.types.Merge<import("@botpress/client").Message, {
684
+ type: K_4;
685
+ payload: import("./types").GetMessages<TBot>[K_4];
686
+ }>;
687
+ }>; } : never) & {
688
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
689
+ })[T_69]; } : never)[T_67];
690
+ }; } : never)[T_65]) => Promise<(((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
378
691
  message: {
379
692
  id: string;
380
693
  createdAt: string;
@@ -395,9 +708,31 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
395
708
  payload: import("./types").GetMessages<TBot>[K_4];
396
709
  }>;
397
710
  }>; } : never) & {
398
- '*': import("./server").OutgoingMessageResponse<TBot>;
399
- } extends infer T_54 ? { [T_55 in keyof T_54]: {
400
- data: ((import("./types").GetMessages<TBot> extends infer T_53 ? { [K_4 in keyof T_53]: utils.types.Merge<{
711
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
712
+ } extends infer T_68 ? { [T_69 in keyof T_68]: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
713
+ message: {
714
+ id: string;
715
+ createdAt: string;
716
+ type: string;
717
+ payload: {
718
+ [x: string]: any;
719
+ };
720
+ direction: "incoming" | "outgoing";
721
+ userId: string;
722
+ conversationId: string;
723
+ tags: {
724
+ [x: string]: string;
725
+ };
726
+ };
727
+ }, {
728
+ message: utils.types.Merge<import("@botpress/client").Message, {
729
+ type: K_4;
730
+ payload: import("./types").GetMessages<TBot>[K_4];
731
+ }>;
732
+ }>; } : never) & {
733
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
734
+ })[T_69]; } : never) extends infer T_71 ? { [T_72 in keyof T_71]: {
735
+ data?: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
401
736
  message: {
402
737
  id: string;
403
738
  createdAt: string;
@@ -418,10 +753,43 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
418
753
  payload: import("./types").GetMessages<TBot>[K_4];
419
754
  }>;
420
755
  }>; } : never) & {
421
- '*': import("./server").OutgoingMessageResponse<TBot>;
422
- })[T_55];
423
- }; } : never)[T_50] | undefined>; } : never)[T_48]) => void;
424
- after_call_action: <T_56 extends "*" | keyof import("./types").EnumerateActions<TBot>>(type: T_56, handler: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_61 ? { [K_5 in keyof T_61]: utils.types.Merge<{
756
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
757
+ } extends infer T_68 ? { [T_69 in keyof T_68]: ((import("./types").GetMessages<TBot> extends infer T_70 ? { [K_4 in keyof T_70]: utils.types.Merge<{
758
+ message: {
759
+ id: string;
760
+ createdAt: string;
761
+ type: string;
762
+ payload: {
763
+ [x: string]: any;
764
+ };
765
+ direction: "incoming" | "outgoing";
766
+ userId: string;
767
+ conversationId: string;
768
+ tags: {
769
+ [x: string]: string;
770
+ };
771
+ };
772
+ }, {
773
+ message: utils.types.Merge<import("@botpress/client").Message, {
774
+ type: K_4;
775
+ payload: import("./types").GetMessages<TBot>[K_4];
776
+ }>;
777
+ }>; } : never) & {
778
+ '*': import("./server").AnyOutgoingMessageResponse<TBot>;
779
+ })[T_69]; } : never)[T_72] | undefined;
780
+ }; } : never)[T_65] | undefined>; } : never)[T_63]) => void;
781
+ afterOutgoingCallAction: <T_73 extends "*" | keyof import("./types").EnumerateActions<TBot>>(type: T_73, handler: (((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
782
+ output: {
783
+ [x: string]: any;
784
+ };
785
+ meta: {
786
+ cached: boolean;
787
+ };
788
+ }, {
789
+ output: import("./types").EnumerateActionOutputs<TBot>[K_5];
790
+ }>; } : never) & {
791
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
792
+ } extends infer T_78 ? { [T_79 in keyof T_78]: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
425
793
  output: {
426
794
  [x: string]: any;
427
795
  };
@@ -431,8 +799,8 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
431
799
  }, {
432
800
  output: import("./types").EnumerateActionOutputs<TBot>[K_5];
433
801
  }>; } : never) & {
434
- '*': import("./server").OutgoingCallActionResponse<TBot>;
435
- } extends infer T_57 ? { [T_58 in keyof T_57]: (input: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_61 ? { [K_5 in keyof T_61]: utils.types.Merge<{
802
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
803
+ })[T_79]; } : never) extends infer T_74 ? { [T_75 in keyof T_74]: (input: (((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
436
804
  output: {
437
805
  [x: string]: any;
438
806
  };
@@ -442,11 +810,20 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
442
810
  }, {
443
811
  output: import("./types").EnumerateActionOutputs<TBot>[K_5];
444
812
  }>; } : never) & {
445
- '*': import("./server").OutgoingCallActionResponse<TBot>;
446
- } extends infer T_59 ? { [T_60 in keyof T_59]: {
447
- client: import("./client").BotSpecificClient<TBot>;
448
- ctx: import("./server").BotContext;
449
- data: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_61 ? { [K_5 in keyof T_61]: utils.types.Merge<{
813
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
814
+ } extends infer T_78 ? { [T_79 in keyof T_78]: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
815
+ output: {
816
+ [x: string]: any;
817
+ };
818
+ meta: {
819
+ cached: boolean;
820
+ };
821
+ }, {
822
+ output: import("./types").EnumerateActionOutputs<TBot>[K_5];
823
+ }>; } : never) & {
824
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
825
+ })[T_79]; } : never) extends infer T_76 ? { [T_77 in keyof T_76]: import("./server").CommonHandlerProps<TBot> & {
826
+ data: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
450
827
  output: {
451
828
  [x: string]: any;
452
829
  };
@@ -456,9 +833,31 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
456
833
  }, {
457
834
  output: import("./types").EnumerateActionOutputs<TBot>[K_5];
458
835
  }>; } : never) & {
459
- '*': import("./server").OutgoingCallActionResponse<TBot>;
460
- })[T_60];
461
- }; } : never)[T_58]) => Promise<void | ((import("./types").EnumerateActionOutputs<TBot> extends infer T_61 ? { [K_5 in keyof T_61]: utils.types.Merge<{
836
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
837
+ } extends infer T_78 ? { [T_79 in keyof T_78]: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
838
+ output: {
839
+ [x: string]: any;
840
+ };
841
+ meta: {
842
+ cached: boolean;
843
+ };
844
+ }, {
845
+ output: import("./types").EnumerateActionOutputs<TBot>[K_5];
846
+ }>; } : never) & {
847
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
848
+ })[T_79]; } : never)[T_77];
849
+ }; } : never)[T_75]) => Promise<(((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
850
+ output: {
851
+ [x: string]: any;
852
+ };
853
+ meta: {
854
+ cached: boolean;
855
+ };
856
+ }, {
857
+ output: import("./types").EnumerateActionOutputs<TBot>[K_5];
858
+ }>; } : never) & {
859
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
860
+ } extends infer T_78 ? { [T_79 in keyof T_78]: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
462
861
  output: {
463
862
  [x: string]: any;
464
863
  };
@@ -468,9 +867,20 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
468
867
  }, {
469
868
  output: import("./types").EnumerateActionOutputs<TBot>[K_5];
470
869
  }>; } : never) & {
471
- '*': import("./server").OutgoingCallActionResponse<TBot>;
472
- } extends infer T_62 ? { [T_63 in keyof T_62]: {
473
- data: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_61 ? { [K_5 in keyof T_61]: utils.types.Merge<{
870
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
871
+ })[T_79]; } : never) extends infer T_81 ? { [T_82 in keyof T_81]: {
872
+ data?: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
873
+ output: {
874
+ [x: string]: any;
875
+ };
876
+ meta: {
877
+ cached: boolean;
878
+ };
879
+ }, {
880
+ output: import("./types").EnumerateActionOutputs<TBot>[K_5];
881
+ }>; } : never) & {
882
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
883
+ } extends infer T_78 ? { [T_79 in keyof T_78]: ((import("./types").EnumerateActionOutputs<TBot> extends infer T_80 ? { [K_5 in keyof T_80]: utils.types.Merge<{
474
884
  output: {
475
885
  [x: string]: any;
476
886
  };
@@ -480,10 +890,11 @@ export declare class BotImplementation<TBot extends BaseBot = BaseBot> {
480
890
  }, {
481
891
  output: import("./types").EnumerateActionOutputs<TBot>[K_5];
482
892
  }>; } : never) & {
483
- '*': import("./server").OutgoingCallActionResponse<TBot>;
484
- })[T_63];
485
- }; } : never)[T_58] | undefined>; } : never)[T_56]) => void;
893
+ '*': import("./server").AnyOutgoingCallActionResponse<TBot>;
894
+ })[T_79]; } : never)[T_82] | undefined;
895
+ }; } : never)[T_75] | undefined>; } : never)[T_73]) => void;
486
896
  };
897
+ private readonly _use;
487
898
  readonly handler: (req: import("../serve").Request) => Promise<void | import("../serve").Response>;
488
899
  readonly start: (port?: number) => Promise<Server>;
489
900
  }