@openclaw/crabline 0.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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +226 -0
  3. package/dist/src/bin/crabline.d.ts +2 -0
  4. package/dist/src/bin/crabline.js +7 -0
  5. package/dist/src/bin/crabline.js.map +1 -0
  6. package/dist/src/cli/program.d.ts +5 -0
  7. package/dist/src/cli/program.js +295 -0
  8. package/dist/src/cli/program.js.map +1 -0
  9. package/dist/src/config/load.d.ts +6 -0
  10. package/dist/src/config/load.js +41 -0
  11. package/dist/src/config/load.js.map +1 -0
  12. package/dist/src/config/schema.d.ts +1571 -0
  13. package/dist/src/config/schema.js +528 -0
  14. package/dist/src/config/schema.js.map +1 -0
  15. package/dist/src/core/errors.d.ts +12 -0
  16. package/dist/src/core/errors.js +28 -0
  17. package/dist/src/core/errors.js.map +1 -0
  18. package/dist/src/core/exit-codes.d.ts +13 -0
  19. package/dist/src/core/exit-codes.js +13 -0
  20. package/dist/src/core/exit-codes.js.map +1 -0
  21. package/dist/src/core/matcher.d.ts +2 -0
  22. package/dist/src/core/matcher.js +30 -0
  23. package/dist/src/core/matcher.js.map +1 -0
  24. package/dist/src/core/message-template.d.ts +2 -0
  25. package/dist/src/core/message-template.js +20 -0
  26. package/dist/src/core/message-template.js.map +1 -0
  27. package/dist/src/core/nonces.d.ts +2 -0
  28. package/dist/src/core/nonces.js +11 -0
  29. package/dist/src/core/nonces.js.map +1 -0
  30. package/dist/src/core/reporters.d.ts +3 -0
  31. package/dist/src/core/reporters.js +23 -0
  32. package/dist/src/core/reporters.js.map +1 -0
  33. package/dist/src/core/run.d.ts +30 -0
  34. package/dist/src/core/run.js +240 -0
  35. package/dist/src/core/run.js.map +1 -0
  36. package/dist/src/fake-servers/index.d.ts +10 -0
  37. package/dist/src/fake-servers/index.js +12 -0
  38. package/dist/src/fake-servers/index.js.map +1 -0
  39. package/dist/src/fake-servers/telegram.d.ts +29 -0
  40. package/dist/src/fake-servers/telegram.js +346 -0
  41. package/dist/src/fake-servers/telegram.js.map +1 -0
  42. package/dist/src/index.d.ts +15 -0
  43. package/dist/src/index.js +9 -0
  44. package/dist/src/index.js.map +1 -0
  45. package/dist/src/openclaw.d.ts +102 -0
  46. package/dist/src/openclaw.js +289 -0
  47. package/dist/src/openclaw.js.map +1 -0
  48. package/dist/src/providers/builtin/discord.d.ts +15 -0
  49. package/dist/src/providers/builtin/discord.js +92 -0
  50. package/dist/src/providers/builtin/discord.js.map +1 -0
  51. package/dist/src/providers/builtin/feishu.d.ts +10 -0
  52. package/dist/src/providers/builtin/feishu.js +95 -0
  53. package/dist/src/providers/builtin/feishu.js.map +1 -0
  54. package/dist/src/providers/builtin/googlechat.d.ts +11 -0
  55. package/dist/src/providers/builtin/googlechat.js +83 -0
  56. package/dist/src/providers/builtin/googlechat.js.map +1 -0
  57. package/dist/src/providers/builtin/imessage.d.ts +11 -0
  58. package/dist/src/providers/builtin/imessage.js +67 -0
  59. package/dist/src/providers/builtin/imessage.js.map +1 -0
  60. package/dist/src/providers/builtin/loopback.d.ts +63 -0
  61. package/dist/src/providers/builtin/loopback.js +174 -0
  62. package/dist/src/providers/builtin/loopback.js.map +1 -0
  63. package/dist/src/providers/builtin/matrix.d.ts +21 -0
  64. package/dist/src/providers/builtin/matrix.js +84 -0
  65. package/dist/src/providers/builtin/matrix.js.map +1 -0
  66. package/dist/src/providers/builtin/mattermost.d.ts +11 -0
  67. package/dist/src/providers/builtin/mattermost.js +67 -0
  68. package/dist/src/providers/builtin/mattermost.js.map +1 -0
  69. package/dist/src/providers/builtin/msteams.d.ts +13 -0
  70. package/dist/src/providers/builtin/msteams.js +72 -0
  71. package/dist/src/providers/builtin/msteams.js.map +1 -0
  72. package/dist/src/providers/builtin/native-local-mock.d.ts +48 -0
  73. package/dist/src/providers/builtin/native-local-mock.js +119 -0
  74. package/dist/src/providers/builtin/native-local-mock.js.map +1 -0
  75. package/dist/src/providers/builtin/script.d.ts +39 -0
  76. package/dist/src/providers/builtin/script.js +206 -0
  77. package/dist/src/providers/builtin/script.js.map +1 -0
  78. package/dist/src/providers/builtin/slack.d.ts +6 -0
  79. package/dist/src/providers/builtin/slack.js +106 -0
  80. package/dist/src/providers/builtin/slack.js.map +1 -0
  81. package/dist/src/providers/builtin/telegram.d.ts +21 -0
  82. package/dist/src/providers/builtin/telegram.js +123 -0
  83. package/dist/src/providers/builtin/telegram.js.map +1 -0
  84. package/dist/src/providers/builtin/whatsapp.d.ts +19 -0
  85. package/dist/src/providers/builtin/whatsapp.js +90 -0
  86. package/dist/src/providers/builtin/whatsapp.js.map +1 -0
  87. package/dist/src/providers/builtin/zalo.d.ts +17 -0
  88. package/dist/src/providers/builtin/zalo.js +70 -0
  89. package/dist/src/providers/builtin/zalo.js.map +1 -0
  90. package/dist/src/providers/catalog.d.ts +69 -0
  91. package/dist/src/providers/catalog.js +95 -0
  92. package/dist/src/providers/catalog.js.map +1 -0
  93. package/dist/src/providers/local-mock.d.ts +41 -0
  94. package/dist/src/providers/local-mock.js +243 -0
  95. package/dist/src/providers/local-mock.js.map +1 -0
  96. package/dist/src/providers/recorder.d.ts +19 -0
  97. package/dist/src/providers/recorder.js +160 -0
  98. package/dist/src/providers/recorder.js.map +1 -0
  99. package/dist/src/providers/registry.d.ts +8 -0
  100. package/dist/src/providers/registry.js +171 -0
  101. package/dist/src/providers/registry.js.map +1 -0
  102. package/dist/src/providers/types.d.ts +94 -0
  103. package/dist/src/providers/types.js +2 -0
  104. package/dist/src/providers/types.js.map +1 -0
  105. package/dist/src/providers/webhook-server.d.ts +12 -0
  106. package/dist/src/providers/webhook-server.js +118 -0
  107. package/dist/src/providers/webhook-server.js.map +1 -0
  108. package/docs/channel-setup.md +181 -0
  109. package/fixtures/examples/crabline.example.yaml +195 -0
  110. package/fixtures/examples/openclaw-bridge.yaml +125 -0
  111. package/package.json +64 -0
@@ -0,0 +1,1571 @@
1
+ import { z } from "zod";
2
+ export declare const FIXTURE_MODES: readonly ["probe", "send", "roundtrip", "agent"];
3
+ export declare const INBOUND_AUTHORS: readonly ["assistant", "user", "system", "any"];
4
+ export declare const INBOUND_STRATEGIES: readonly ["contains", "exact", "regex"];
5
+ export declare const INBOUND_NONCE_MODES: readonly ["contains", "exact", "ignore"];
6
+ export declare const BUILTIN_ADAPTERS: readonly ["discord", "feishu", "googlechat", "imessage", "loopback", "matrix", "mattermost", "msteams", "script", "slack", "telegram", "whatsapp", "zalo"];
7
+ export declare const PROVIDER_PLATFORMS: readonly ["bluebubbles", "discord", "feishu", "googlechat", "imessage", "irc", "line", "loopback", "matrix", "mattermost", "msteams", "nextcloudtalk", "nostr", "signal", "slack", "synologychat", "telegram", "tlon", "twitch", "webchat", "whatsapp", "zalo", "zalouser"];
8
+ type BuiltinAdapterName = (typeof BUILTIN_ADAPTERS)[number];
9
+ type ProviderPlatformName = (typeof PROVIDER_PLATFORMS)[number];
10
+ export declare const ProviderConfigSchema: z.ZodPipe<z.ZodObject<{
11
+ adapter: z.ZodEnum<{
12
+ discord: "discord";
13
+ feishu: "feishu";
14
+ googlechat: "googlechat";
15
+ imessage: "imessage";
16
+ loopback: "loopback";
17
+ matrix: "matrix";
18
+ mattermost: "mattermost";
19
+ msteams: "msteams";
20
+ script: "script";
21
+ slack: "slack";
22
+ telegram: "telegram";
23
+ whatsapp: "whatsapp";
24
+ zalo: "zalo";
25
+ }>;
26
+ capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
27
+ agent: "agent";
28
+ probe: "probe";
29
+ roundtrip: "roundtrip";
30
+ send: "send";
31
+ }>>>;
32
+ discord: z.ZodOptional<z.ZodObject<{
33
+ applicationId: z.ZodOptional<z.ZodString>;
34
+ botToken: z.ZodOptional<z.ZodString>;
35
+ gatewayDurationMs: z.ZodDefault<z.ZodNumber>;
36
+ mentionRoleIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ publicKey: z.ZodOptional<z.ZodString>;
38
+ recorder: z.ZodDefault<z.ZodObject<{
39
+ path: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>>;
41
+ webhook: z.ZodDefault<z.ZodObject<{
42
+ host: z.ZodDefault<z.ZodString>;
43
+ path: z.ZodDefault<z.ZodString>;
44
+ port: z.ZodDefault<z.ZodNumber>;
45
+ publicUrl: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>>;
48
+ env: z.ZodDefault<z.ZodArray<z.ZodString>>;
49
+ feishu: z.ZodOptional<z.ZodObject<{
50
+ appId: z.ZodOptional<z.ZodString>;
51
+ appSecret: z.ZodOptional<z.ZodString>;
52
+ recorder: z.ZodDefault<z.ZodObject<{
53
+ path: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>>;
55
+ userName: z.ZodOptional<z.ZodString>;
56
+ webhook: z.ZodDefault<z.ZodObject<{
57
+ host: z.ZodDefault<z.ZodString>;
58
+ path: z.ZodDefault<z.ZodString>;
59
+ port: z.ZodDefault<z.ZodNumber>;
60
+ publicUrl: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>;
62
+ }, z.core.$strip>>;
63
+ googlechat: z.ZodOptional<z.ZodObject<{
64
+ apiUrl: z.ZodOptional<z.ZodString>;
65
+ credentials: z.ZodOptional<z.ZodObject<{
66
+ client_email: z.ZodString;
67
+ private_key: z.ZodString;
68
+ project_id: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$loose>>;
70
+ disableSignatureVerification: z.ZodOptional<z.ZodBoolean>;
71
+ endpointUrl: z.ZodOptional<z.ZodString>;
72
+ googleChatProjectNumber: z.ZodOptional<z.ZodString>;
73
+ impersonateUser: z.ZodOptional<z.ZodString>;
74
+ pubsubAudience: z.ZodOptional<z.ZodString>;
75
+ pubsubTopic: z.ZodOptional<z.ZodString>;
76
+ recorder: z.ZodDefault<z.ZodObject<{
77
+ path: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strip>>;
79
+ useApplicationDefaultCredentials: z.ZodOptional<z.ZodBoolean>;
80
+ userName: z.ZodOptional<z.ZodString>;
81
+ webhook: z.ZodDefault<z.ZodObject<{
82
+ host: z.ZodDefault<z.ZodString>;
83
+ path: z.ZodDefault<z.ZodString>;
84
+ port: z.ZodDefault<z.ZodNumber>;
85
+ publicUrl: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>>;
87
+ }, z.core.$strip>>;
88
+ imessage: z.ZodOptional<z.ZodObject<{
89
+ apiKey: z.ZodOptional<z.ZodString>;
90
+ gatewayDurationMs: z.ZodDefault<z.ZodNumber>;
91
+ local: z.ZodOptional<z.ZodBoolean>;
92
+ recorder: z.ZodDefault<z.ZodObject<{
93
+ path: z.ZodOptional<z.ZodString>;
94
+ }, z.core.$strip>>;
95
+ serverUrl: z.ZodOptional<z.ZodString>;
96
+ webhook: z.ZodDefault<z.ZodObject<{
97
+ host: z.ZodDefault<z.ZodString>;
98
+ path: z.ZodDefault<z.ZodString>;
99
+ port: z.ZodDefault<z.ZodNumber>;
100
+ publicUrl: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>>;
102
+ }, z.core.$strip>>;
103
+ loopback: z.ZodOptional<z.ZodObject<{
104
+ delayMs: z.ZodDefault<z.ZodNumber>;
105
+ }, z.core.$strip>>;
106
+ matrix: z.ZodOptional<z.ZodObject<{
107
+ auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
108
+ accessToken: z.ZodString;
109
+ type: z.ZodLiteral<"accessToken">;
110
+ userID: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strip>, z.ZodObject<{
112
+ password: z.ZodString;
113
+ type: z.ZodLiteral<"password">;
114
+ userID: z.ZodOptional<z.ZodString>;
115
+ username: z.ZodString;
116
+ }, z.core.$strip>]>>;
117
+ baseURL: z.ZodOptional<z.ZodString>;
118
+ commandPrefix: z.ZodOptional<z.ZodString>;
119
+ recorder: z.ZodDefault<z.ZodObject<{
120
+ path: z.ZodOptional<z.ZodString>;
121
+ }, z.core.$strip>>;
122
+ recoveryKey: z.ZodOptional<z.ZodString>;
123
+ roomAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
124
+ webhook: z.ZodDefault<z.ZodObject<{
125
+ host: z.ZodDefault<z.ZodString>;
126
+ path: z.ZodDefault<z.ZodString>;
127
+ port: z.ZodDefault<z.ZodNumber>;
128
+ publicUrl: z.ZodOptional<z.ZodString>;
129
+ }, z.core.$strip>>;
130
+ }, z.core.$strip>>;
131
+ mattermost: z.ZodOptional<z.ZodObject<{
132
+ baseUrl: z.ZodOptional<z.ZodString>;
133
+ botToken: z.ZodOptional<z.ZodString>;
134
+ callbackUrl: z.ZodOptional<z.ZodString>;
135
+ recorder: z.ZodDefault<z.ZodObject<{
136
+ path: z.ZodOptional<z.ZodString>;
137
+ }, z.core.$strip>>;
138
+ userName: z.ZodOptional<z.ZodString>;
139
+ webhook: z.ZodDefault<z.ZodObject<{
140
+ host: z.ZodDefault<z.ZodString>;
141
+ path: z.ZodDefault<z.ZodString>;
142
+ port: z.ZodDefault<z.ZodNumber>;
143
+ publicUrl: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>>;
145
+ websocket: z.ZodOptional<z.ZodObject<{
146
+ enabled: z.ZodOptional<z.ZodBoolean>;
147
+ maxReconnectDelayMs: z.ZodOptional<z.ZodNumber>;
148
+ reconnectDelayMs: z.ZodOptional<z.ZodNumber>;
149
+ }, z.core.$strip>>;
150
+ }, z.core.$strip>>;
151
+ msteams: z.ZodOptional<z.ZodObject<{
152
+ apiUrl: z.ZodOptional<z.ZodString>;
153
+ appId: z.ZodOptional<z.ZodString>;
154
+ appPassword: z.ZodOptional<z.ZodString>;
155
+ appTenantId: z.ZodOptional<z.ZodString>;
156
+ appType: z.ZodOptional<z.ZodEnum<{
157
+ MultiTenant: "MultiTenant";
158
+ SingleTenant: "SingleTenant";
159
+ }>>;
160
+ dialogOpenTimeoutMs: z.ZodOptional<z.ZodNumber>;
161
+ federated: z.ZodOptional<z.ZodObject<{
162
+ clientAudience: z.ZodOptional<z.ZodString>;
163
+ clientId: z.ZodString;
164
+ }, z.core.$strip>>;
165
+ recorder: z.ZodDefault<z.ZodObject<{
166
+ path: z.ZodOptional<z.ZodString>;
167
+ }, z.core.$strip>>;
168
+ userName: z.ZodOptional<z.ZodString>;
169
+ webhook: z.ZodDefault<z.ZodObject<{
170
+ host: z.ZodDefault<z.ZodString>;
171
+ path: z.ZodDefault<z.ZodString>;
172
+ port: z.ZodDefault<z.ZodNumber>;
173
+ publicUrl: z.ZodOptional<z.ZodString>;
174
+ }, z.core.$strip>>;
175
+ }, z.core.$strip>>;
176
+ notes: z.ZodOptional<z.ZodString>;
177
+ platform: z.ZodOptional<z.ZodEnum<{
178
+ bluebubbles: "bluebubbles";
179
+ discord: "discord";
180
+ feishu: "feishu";
181
+ googlechat: "googlechat";
182
+ imessage: "imessage";
183
+ irc: "irc";
184
+ line: "line";
185
+ loopback: "loopback";
186
+ matrix: "matrix";
187
+ mattermost: "mattermost";
188
+ msteams: "msteams";
189
+ nextcloudtalk: "nextcloudtalk";
190
+ nostr: "nostr";
191
+ signal: "signal";
192
+ slack: "slack";
193
+ synologychat: "synologychat";
194
+ telegram: "telegram";
195
+ tlon: "tlon";
196
+ twitch: "twitch";
197
+ webchat: "webchat";
198
+ whatsapp: "whatsapp";
199
+ zalo: "zalo";
200
+ zalouser: "zalouser";
201
+ }>>;
202
+ slack: z.ZodOptional<z.ZodObject<{
203
+ recorder: z.ZodDefault<z.ZodObject<{
204
+ path: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strip>>;
206
+ webhook: z.ZodDefault<z.ZodObject<{
207
+ host: z.ZodDefault<z.ZodString>;
208
+ path: z.ZodDefault<z.ZodString>;
209
+ port: z.ZodDefault<z.ZodNumber>;
210
+ publicUrl: z.ZodOptional<z.ZodString>;
211
+ }, z.core.$strip>>;
212
+ }, z.core.$strip>>;
213
+ script: z.ZodOptional<z.ZodObject<{
214
+ commands: z.ZodObject<{
215
+ probe: z.ZodOptional<z.ZodString>;
216
+ send: z.ZodOptional<z.ZodString>;
217
+ waitForInbound: z.ZodOptional<z.ZodString>;
218
+ watch: z.ZodOptional<z.ZodString>;
219
+ }, z.core.$strip>;
220
+ cwd: z.ZodOptional<z.ZodString>;
221
+ shell: z.ZodOptional<z.ZodString>;
222
+ }, z.core.$strip>>;
223
+ status: z.ZodDefault<z.ZodEnum<{
224
+ active: "active";
225
+ disabled: "disabled";
226
+ planned: "planned";
227
+ }>>;
228
+ telegram: z.ZodOptional<z.ZodObject<{
229
+ apiUrl: z.ZodOptional<z.ZodString>;
230
+ botToken: z.ZodOptional<z.ZodString>;
231
+ longPolling: z.ZodOptional<z.ZodObject<{
232
+ allowedUpdates: z.ZodOptional<z.ZodArray<z.ZodString>>;
233
+ deleteWebhook: z.ZodOptional<z.ZodBoolean>;
234
+ dropPendingUpdates: z.ZodOptional<z.ZodBoolean>;
235
+ limit: z.ZodOptional<z.ZodNumber>;
236
+ retryDelayMs: z.ZodOptional<z.ZodNumber>;
237
+ timeout: z.ZodOptional<z.ZodNumber>;
238
+ }, z.core.$strip>>;
239
+ mode: z.ZodDefault<z.ZodEnum<{
240
+ auto: "auto";
241
+ polling: "polling";
242
+ webhook: "webhook";
243
+ }>>;
244
+ recorder: z.ZodDefault<z.ZodObject<{
245
+ path: z.ZodOptional<z.ZodString>;
246
+ }, z.core.$strip>>;
247
+ secretToken: z.ZodOptional<z.ZodString>;
248
+ userName: z.ZodOptional<z.ZodString>;
249
+ webhook: z.ZodDefault<z.ZodObject<{
250
+ host: z.ZodDefault<z.ZodString>;
251
+ path: z.ZodDefault<z.ZodString>;
252
+ port: z.ZodDefault<z.ZodNumber>;
253
+ publicUrl: z.ZodOptional<z.ZodString>;
254
+ }, z.core.$strip>>;
255
+ }, z.core.$strip>>;
256
+ whatsapp: z.ZodOptional<z.ZodObject<{
257
+ accessToken: z.ZodOptional<z.ZodString>;
258
+ apiUrl: z.ZodOptional<z.ZodString>;
259
+ apiVersion: z.ZodOptional<z.ZodString>;
260
+ appSecret: z.ZodOptional<z.ZodString>;
261
+ phoneNumberId: z.ZodOptional<z.ZodString>;
262
+ recorder: z.ZodDefault<z.ZodObject<{
263
+ path: z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strip>>;
265
+ userName: z.ZodOptional<z.ZodString>;
266
+ verifyToken: z.ZodOptional<z.ZodString>;
267
+ webhook: z.ZodDefault<z.ZodObject<{
268
+ host: z.ZodDefault<z.ZodString>;
269
+ path: z.ZodDefault<z.ZodString>;
270
+ port: z.ZodDefault<z.ZodNumber>;
271
+ publicUrl: z.ZodOptional<z.ZodString>;
272
+ }, z.core.$strip>>;
273
+ }, z.core.$strip>>;
274
+ zalo: z.ZodOptional<z.ZodObject<{
275
+ botToken: z.ZodOptional<z.ZodString>;
276
+ recorder: z.ZodDefault<z.ZodObject<{
277
+ path: z.ZodOptional<z.ZodString>;
278
+ }, z.core.$strip>>;
279
+ userName: z.ZodOptional<z.ZodString>;
280
+ webhook: z.ZodDefault<z.ZodObject<{
281
+ host: z.ZodDefault<z.ZodString>;
282
+ path: z.ZodDefault<z.ZodString>;
283
+ port: z.ZodDefault<z.ZodNumber>;
284
+ publicUrl: z.ZodOptional<z.ZodString>;
285
+ }, z.core.$strip>>;
286
+ webhookSecret: z.ZodOptional<z.ZodString>;
287
+ }, z.core.$strip>>;
288
+ }, z.core.$strip>, z.ZodTransform<{
289
+ adapter: "discord" | "feishu" | "googlechat" | "imessage" | "loopback" | "matrix" | "mattermost" | "msteams" | "script" | "slack" | "telegram" | "whatsapp" | "zalo";
290
+ capabilities: ("agent" | "probe" | "roundtrip" | "send")[];
291
+ discord?: {
292
+ applicationId?: string | undefined;
293
+ botToken?: string | undefined;
294
+ gatewayDurationMs: number;
295
+ mentionRoleIds?: string[] | undefined;
296
+ publicKey?: string | undefined;
297
+ recorder: {
298
+ path?: string | undefined;
299
+ };
300
+ webhook: {
301
+ host: string;
302
+ path: string;
303
+ port: number;
304
+ publicUrl?: string | undefined;
305
+ };
306
+ } | undefined;
307
+ env: string[];
308
+ feishu?: {
309
+ appId?: string | undefined;
310
+ appSecret?: string | undefined;
311
+ recorder: {
312
+ path?: string | undefined;
313
+ };
314
+ userName?: string | undefined;
315
+ webhook: {
316
+ host: string;
317
+ path: string;
318
+ port: number;
319
+ publicUrl?: string | undefined;
320
+ };
321
+ } | undefined;
322
+ googlechat?: {
323
+ apiUrl?: string | undefined;
324
+ credentials?: {
325
+ [x: string]: unknown;
326
+ client_email: string;
327
+ private_key: string;
328
+ project_id?: string | undefined;
329
+ } | undefined;
330
+ disableSignatureVerification?: boolean | undefined;
331
+ endpointUrl?: string | undefined;
332
+ googleChatProjectNumber?: string | undefined;
333
+ impersonateUser?: string | undefined;
334
+ pubsubAudience?: string | undefined;
335
+ pubsubTopic?: string | undefined;
336
+ recorder: {
337
+ path?: string | undefined;
338
+ };
339
+ useApplicationDefaultCredentials?: boolean | undefined;
340
+ userName?: string | undefined;
341
+ webhook: {
342
+ host: string;
343
+ path: string;
344
+ port: number;
345
+ publicUrl?: string | undefined;
346
+ };
347
+ } | undefined;
348
+ imessage?: {
349
+ apiKey?: string | undefined;
350
+ gatewayDurationMs: number;
351
+ local?: boolean | undefined;
352
+ recorder: {
353
+ path?: string | undefined;
354
+ };
355
+ serverUrl?: string | undefined;
356
+ webhook: {
357
+ host: string;
358
+ path: string;
359
+ port: number;
360
+ publicUrl?: string | undefined;
361
+ };
362
+ } | undefined;
363
+ loopback?: {
364
+ delayMs: number;
365
+ } | undefined;
366
+ matrix?: {
367
+ auth?: {
368
+ accessToken: string;
369
+ type: "accessToken";
370
+ userID?: string | undefined;
371
+ } | {
372
+ password: string;
373
+ type: "password";
374
+ userID?: string | undefined;
375
+ username: string;
376
+ } | undefined;
377
+ baseURL?: string | undefined;
378
+ commandPrefix?: string | undefined;
379
+ recorder: {
380
+ path?: string | undefined;
381
+ };
382
+ recoveryKey?: string | undefined;
383
+ roomAllowlist?: string[] | undefined;
384
+ webhook: {
385
+ host: string;
386
+ path: string;
387
+ port: number;
388
+ publicUrl?: string | undefined;
389
+ };
390
+ } | undefined;
391
+ mattermost?: {
392
+ baseUrl?: string | undefined;
393
+ botToken?: string | undefined;
394
+ callbackUrl?: string | undefined;
395
+ recorder: {
396
+ path?: string | undefined;
397
+ };
398
+ userName?: string | undefined;
399
+ webhook: {
400
+ host: string;
401
+ path: string;
402
+ port: number;
403
+ publicUrl?: string | undefined;
404
+ };
405
+ websocket?: {
406
+ enabled?: boolean | undefined;
407
+ maxReconnectDelayMs?: number | undefined;
408
+ reconnectDelayMs?: number | undefined;
409
+ } | undefined;
410
+ } | undefined;
411
+ msteams?: {
412
+ apiUrl?: string | undefined;
413
+ appId?: string | undefined;
414
+ appPassword?: string | undefined;
415
+ appTenantId?: string | undefined;
416
+ appType?: "MultiTenant" | "SingleTenant" | undefined;
417
+ dialogOpenTimeoutMs?: number | undefined;
418
+ federated?: {
419
+ clientAudience?: string | undefined;
420
+ clientId: string;
421
+ } | undefined;
422
+ recorder: {
423
+ path?: string | undefined;
424
+ };
425
+ userName?: string | undefined;
426
+ webhook: {
427
+ host: string;
428
+ path: string;
429
+ port: number;
430
+ publicUrl?: string | undefined;
431
+ };
432
+ } | undefined;
433
+ notes?: string | undefined;
434
+ slack?: {
435
+ recorder: {
436
+ path?: string | undefined;
437
+ };
438
+ webhook: {
439
+ host: string;
440
+ path: string;
441
+ port: number;
442
+ publicUrl?: string | undefined;
443
+ };
444
+ } | undefined;
445
+ script?: {
446
+ commands: {
447
+ probe?: string | undefined;
448
+ send?: string | undefined;
449
+ waitForInbound?: string | undefined;
450
+ watch?: string | undefined;
451
+ };
452
+ cwd?: string | undefined;
453
+ shell?: string | undefined;
454
+ } | undefined;
455
+ status: "active" | "disabled" | "planned";
456
+ telegram?: {
457
+ apiUrl?: string | undefined;
458
+ botToken?: string | undefined;
459
+ longPolling?: {
460
+ allowedUpdates?: string[] | undefined;
461
+ deleteWebhook?: boolean | undefined;
462
+ dropPendingUpdates?: boolean | undefined;
463
+ limit?: number | undefined;
464
+ retryDelayMs?: number | undefined;
465
+ timeout?: number | undefined;
466
+ } | undefined;
467
+ mode: "auto" | "polling" | "webhook";
468
+ recorder: {
469
+ path?: string | undefined;
470
+ };
471
+ secretToken?: string | undefined;
472
+ userName?: string | undefined;
473
+ webhook: {
474
+ host: string;
475
+ path: string;
476
+ port: number;
477
+ publicUrl?: string | undefined;
478
+ };
479
+ } | undefined;
480
+ whatsapp?: {
481
+ accessToken?: string | undefined;
482
+ apiUrl?: string | undefined;
483
+ apiVersion?: string | undefined;
484
+ appSecret?: string | undefined;
485
+ phoneNumberId?: string | undefined;
486
+ recorder: {
487
+ path?: string | undefined;
488
+ };
489
+ userName?: string | undefined;
490
+ verifyToken?: string | undefined;
491
+ webhook: {
492
+ host: string;
493
+ path: string;
494
+ port: number;
495
+ publicUrl?: string | undefined;
496
+ };
497
+ } | undefined;
498
+ zalo?: {
499
+ botToken?: string | undefined;
500
+ recorder: {
501
+ path?: string | undefined;
502
+ };
503
+ userName?: string | undefined;
504
+ webhook: {
505
+ host: string;
506
+ path: string;
507
+ port: number;
508
+ publicUrl?: string | undefined;
509
+ };
510
+ webhookSecret?: string | undefined;
511
+ } | undefined;
512
+ platform: "bluebubbles" | "discord" | "feishu" | "googlechat" | "imessage" | "irc" | "line" | "loopback" | "matrix" | "mattermost" | "msteams" | "nextcloudtalk" | "nostr" | "signal" | "slack" | "synologychat" | "telegram" | "tlon" | "twitch" | "webchat" | "whatsapp" | "zalo" | "zalouser";
513
+ }, {
514
+ adapter: "discord" | "feishu" | "googlechat" | "imessage" | "loopback" | "matrix" | "mattermost" | "msteams" | "script" | "slack" | "telegram" | "whatsapp" | "zalo";
515
+ capabilities: ("agent" | "probe" | "roundtrip" | "send")[];
516
+ discord?: {
517
+ applicationId?: string | undefined;
518
+ botToken?: string | undefined;
519
+ gatewayDurationMs: number;
520
+ mentionRoleIds?: string[] | undefined;
521
+ publicKey?: string | undefined;
522
+ recorder: {
523
+ path?: string | undefined;
524
+ };
525
+ webhook: {
526
+ host: string;
527
+ path: string;
528
+ port: number;
529
+ publicUrl?: string | undefined;
530
+ };
531
+ } | undefined;
532
+ env: string[];
533
+ feishu?: {
534
+ appId?: string | undefined;
535
+ appSecret?: string | undefined;
536
+ recorder: {
537
+ path?: string | undefined;
538
+ };
539
+ userName?: string | undefined;
540
+ webhook: {
541
+ host: string;
542
+ path: string;
543
+ port: number;
544
+ publicUrl?: string | undefined;
545
+ };
546
+ } | undefined;
547
+ googlechat?: {
548
+ apiUrl?: string | undefined;
549
+ credentials?: {
550
+ [x: string]: unknown;
551
+ client_email: string;
552
+ private_key: string;
553
+ project_id?: string | undefined;
554
+ } | undefined;
555
+ disableSignatureVerification?: boolean | undefined;
556
+ endpointUrl?: string | undefined;
557
+ googleChatProjectNumber?: string | undefined;
558
+ impersonateUser?: string | undefined;
559
+ pubsubAudience?: string | undefined;
560
+ pubsubTopic?: string | undefined;
561
+ recorder: {
562
+ path?: string | undefined;
563
+ };
564
+ useApplicationDefaultCredentials?: boolean | undefined;
565
+ userName?: string | undefined;
566
+ webhook: {
567
+ host: string;
568
+ path: string;
569
+ port: number;
570
+ publicUrl?: string | undefined;
571
+ };
572
+ } | undefined;
573
+ imessage?: {
574
+ apiKey?: string | undefined;
575
+ gatewayDurationMs: number;
576
+ local?: boolean | undefined;
577
+ recorder: {
578
+ path?: string | undefined;
579
+ };
580
+ serverUrl?: string | undefined;
581
+ webhook: {
582
+ host: string;
583
+ path: string;
584
+ port: number;
585
+ publicUrl?: string | undefined;
586
+ };
587
+ } | undefined;
588
+ loopback?: {
589
+ delayMs: number;
590
+ } | undefined;
591
+ matrix?: {
592
+ auth?: {
593
+ accessToken: string;
594
+ type: "accessToken";
595
+ userID?: string | undefined;
596
+ } | {
597
+ password: string;
598
+ type: "password";
599
+ userID?: string | undefined;
600
+ username: string;
601
+ } | undefined;
602
+ baseURL?: string | undefined;
603
+ commandPrefix?: string | undefined;
604
+ recorder: {
605
+ path?: string | undefined;
606
+ };
607
+ recoveryKey?: string | undefined;
608
+ roomAllowlist?: string[] | undefined;
609
+ webhook: {
610
+ host: string;
611
+ path: string;
612
+ port: number;
613
+ publicUrl?: string | undefined;
614
+ };
615
+ } | undefined;
616
+ mattermost?: {
617
+ baseUrl?: string | undefined;
618
+ botToken?: string | undefined;
619
+ callbackUrl?: string | undefined;
620
+ recorder: {
621
+ path?: string | undefined;
622
+ };
623
+ userName?: string | undefined;
624
+ webhook: {
625
+ host: string;
626
+ path: string;
627
+ port: number;
628
+ publicUrl?: string | undefined;
629
+ };
630
+ websocket?: {
631
+ enabled?: boolean | undefined;
632
+ maxReconnectDelayMs?: number | undefined;
633
+ reconnectDelayMs?: number | undefined;
634
+ } | undefined;
635
+ } | undefined;
636
+ msteams?: {
637
+ apiUrl?: string | undefined;
638
+ appId?: string | undefined;
639
+ appPassword?: string | undefined;
640
+ appTenantId?: string | undefined;
641
+ appType?: "MultiTenant" | "SingleTenant" | undefined;
642
+ dialogOpenTimeoutMs?: number | undefined;
643
+ federated?: {
644
+ clientAudience?: string | undefined;
645
+ clientId: string;
646
+ } | undefined;
647
+ recorder: {
648
+ path?: string | undefined;
649
+ };
650
+ userName?: string | undefined;
651
+ webhook: {
652
+ host: string;
653
+ path: string;
654
+ port: number;
655
+ publicUrl?: string | undefined;
656
+ };
657
+ } | undefined;
658
+ notes?: string | undefined;
659
+ platform?: "bluebubbles" | "discord" | "feishu" | "googlechat" | "imessage" | "irc" | "line" | "loopback" | "matrix" | "mattermost" | "msteams" | "nextcloudtalk" | "nostr" | "signal" | "slack" | "synologychat" | "telegram" | "tlon" | "twitch" | "webchat" | "whatsapp" | "zalo" | "zalouser" | undefined;
660
+ slack?: {
661
+ recorder: {
662
+ path?: string | undefined;
663
+ };
664
+ webhook: {
665
+ host: string;
666
+ path: string;
667
+ port: number;
668
+ publicUrl?: string | undefined;
669
+ };
670
+ } | undefined;
671
+ script?: {
672
+ commands: {
673
+ probe?: string | undefined;
674
+ send?: string | undefined;
675
+ waitForInbound?: string | undefined;
676
+ watch?: string | undefined;
677
+ };
678
+ cwd?: string | undefined;
679
+ shell?: string | undefined;
680
+ } | undefined;
681
+ status: "active" | "disabled" | "planned";
682
+ telegram?: {
683
+ apiUrl?: string | undefined;
684
+ botToken?: string | undefined;
685
+ longPolling?: {
686
+ allowedUpdates?: string[] | undefined;
687
+ deleteWebhook?: boolean | undefined;
688
+ dropPendingUpdates?: boolean | undefined;
689
+ limit?: number | undefined;
690
+ retryDelayMs?: number | undefined;
691
+ timeout?: number | undefined;
692
+ } | undefined;
693
+ mode: "auto" | "polling" | "webhook";
694
+ recorder: {
695
+ path?: string | undefined;
696
+ };
697
+ secretToken?: string | undefined;
698
+ userName?: string | undefined;
699
+ webhook: {
700
+ host: string;
701
+ path: string;
702
+ port: number;
703
+ publicUrl?: string | undefined;
704
+ };
705
+ } | undefined;
706
+ whatsapp?: {
707
+ accessToken?: string | undefined;
708
+ apiUrl?: string | undefined;
709
+ apiVersion?: string | undefined;
710
+ appSecret?: string | undefined;
711
+ phoneNumberId?: string | undefined;
712
+ recorder: {
713
+ path?: string | undefined;
714
+ };
715
+ userName?: string | undefined;
716
+ verifyToken?: string | undefined;
717
+ webhook: {
718
+ host: string;
719
+ path: string;
720
+ port: number;
721
+ publicUrl?: string | undefined;
722
+ };
723
+ } | undefined;
724
+ zalo?: {
725
+ botToken?: string | undefined;
726
+ recorder: {
727
+ path?: string | undefined;
728
+ };
729
+ userName?: string | undefined;
730
+ webhook: {
731
+ host: string;
732
+ path: string;
733
+ port: number;
734
+ publicUrl?: string | undefined;
735
+ };
736
+ webhookSecret?: string | undefined;
737
+ } | undefined;
738
+ }>>;
739
+ export declare const FixtureSchema: z.ZodObject<{
740
+ accountId: z.ZodOptional<z.ZodString>;
741
+ env: z.ZodDefault<z.ZodArray<z.ZodString>>;
742
+ id: z.ZodString;
743
+ inboundMatch: z.ZodDefault<z.ZodObject<{
744
+ author: z.ZodDefault<z.ZodEnum<{
745
+ any: "any";
746
+ assistant: "assistant";
747
+ system: "system";
748
+ user: "user";
749
+ }>>;
750
+ nonce: z.ZodDefault<z.ZodEnum<{
751
+ contains: "contains";
752
+ exact: "exact";
753
+ ignore: "ignore";
754
+ }>>;
755
+ pattern: z.ZodOptional<z.ZodString>;
756
+ strategy: z.ZodDefault<z.ZodEnum<{
757
+ contains: "contains";
758
+ exact: "exact";
759
+ regex: "regex";
760
+ }>>;
761
+ }, z.core.$strip>>;
762
+ mode: z.ZodEnum<{
763
+ agent: "agent";
764
+ probe: "probe";
765
+ roundtrip: "roundtrip";
766
+ send: "send";
767
+ }>;
768
+ notes: z.ZodOptional<z.ZodString>;
769
+ provider: z.ZodString;
770
+ retries: z.ZodDefault<z.ZodNumber>;
771
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
772
+ target: z.ZodObject<{
773
+ id: z.ZodString;
774
+ channelId: z.ZodOptional<z.ZodString>;
775
+ threadId: z.ZodOptional<z.ZodString>;
776
+ behavior: z.ZodOptional<z.ZodEnum<{
777
+ agent: "agent";
778
+ echo: "echo";
779
+ sink: "sink";
780
+ }>>;
781
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
782
+ }, z.core.$strip>;
783
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
784
+ }, z.core.$strip>;
785
+ export declare const ManifestSchema: z.ZodObject<{
786
+ configVersion: z.ZodDefault<z.ZodLiteral<1>>;
787
+ fixtures: z.ZodDefault<z.ZodArray<z.ZodObject<{
788
+ accountId: z.ZodOptional<z.ZodString>;
789
+ env: z.ZodDefault<z.ZodArray<z.ZodString>>;
790
+ id: z.ZodString;
791
+ inboundMatch: z.ZodDefault<z.ZodObject<{
792
+ author: z.ZodDefault<z.ZodEnum<{
793
+ any: "any";
794
+ assistant: "assistant";
795
+ system: "system";
796
+ user: "user";
797
+ }>>;
798
+ nonce: z.ZodDefault<z.ZodEnum<{
799
+ contains: "contains";
800
+ exact: "exact";
801
+ ignore: "ignore";
802
+ }>>;
803
+ pattern: z.ZodOptional<z.ZodString>;
804
+ strategy: z.ZodDefault<z.ZodEnum<{
805
+ contains: "contains";
806
+ exact: "exact";
807
+ regex: "regex";
808
+ }>>;
809
+ }, z.core.$strip>>;
810
+ mode: z.ZodEnum<{
811
+ agent: "agent";
812
+ probe: "probe";
813
+ roundtrip: "roundtrip";
814
+ send: "send";
815
+ }>;
816
+ notes: z.ZodOptional<z.ZodString>;
817
+ provider: z.ZodString;
818
+ retries: z.ZodDefault<z.ZodNumber>;
819
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
820
+ target: z.ZodObject<{
821
+ id: z.ZodString;
822
+ channelId: z.ZodOptional<z.ZodString>;
823
+ threadId: z.ZodOptional<z.ZodString>;
824
+ behavior: z.ZodOptional<z.ZodEnum<{
825
+ agent: "agent";
826
+ echo: "echo";
827
+ sink: "sink";
828
+ }>>;
829
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
830
+ }, z.core.$strip>;
831
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
832
+ }, z.core.$strip>>>;
833
+ providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodObject<{
834
+ adapter: z.ZodEnum<{
835
+ discord: "discord";
836
+ feishu: "feishu";
837
+ googlechat: "googlechat";
838
+ imessage: "imessage";
839
+ loopback: "loopback";
840
+ matrix: "matrix";
841
+ mattermost: "mattermost";
842
+ msteams: "msteams";
843
+ script: "script";
844
+ slack: "slack";
845
+ telegram: "telegram";
846
+ whatsapp: "whatsapp";
847
+ zalo: "zalo";
848
+ }>;
849
+ capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
850
+ agent: "agent";
851
+ probe: "probe";
852
+ roundtrip: "roundtrip";
853
+ send: "send";
854
+ }>>>;
855
+ discord: z.ZodOptional<z.ZodObject<{
856
+ applicationId: z.ZodOptional<z.ZodString>;
857
+ botToken: z.ZodOptional<z.ZodString>;
858
+ gatewayDurationMs: z.ZodDefault<z.ZodNumber>;
859
+ mentionRoleIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
860
+ publicKey: z.ZodOptional<z.ZodString>;
861
+ recorder: z.ZodDefault<z.ZodObject<{
862
+ path: z.ZodOptional<z.ZodString>;
863
+ }, z.core.$strip>>;
864
+ webhook: z.ZodDefault<z.ZodObject<{
865
+ host: z.ZodDefault<z.ZodString>;
866
+ path: z.ZodDefault<z.ZodString>;
867
+ port: z.ZodDefault<z.ZodNumber>;
868
+ publicUrl: z.ZodOptional<z.ZodString>;
869
+ }, z.core.$strip>>;
870
+ }, z.core.$strip>>;
871
+ env: z.ZodDefault<z.ZodArray<z.ZodString>>;
872
+ feishu: z.ZodOptional<z.ZodObject<{
873
+ appId: z.ZodOptional<z.ZodString>;
874
+ appSecret: z.ZodOptional<z.ZodString>;
875
+ recorder: z.ZodDefault<z.ZodObject<{
876
+ path: z.ZodOptional<z.ZodString>;
877
+ }, z.core.$strip>>;
878
+ userName: z.ZodOptional<z.ZodString>;
879
+ webhook: z.ZodDefault<z.ZodObject<{
880
+ host: z.ZodDefault<z.ZodString>;
881
+ path: z.ZodDefault<z.ZodString>;
882
+ port: z.ZodDefault<z.ZodNumber>;
883
+ publicUrl: z.ZodOptional<z.ZodString>;
884
+ }, z.core.$strip>>;
885
+ }, z.core.$strip>>;
886
+ googlechat: z.ZodOptional<z.ZodObject<{
887
+ apiUrl: z.ZodOptional<z.ZodString>;
888
+ credentials: z.ZodOptional<z.ZodObject<{
889
+ client_email: z.ZodString;
890
+ private_key: z.ZodString;
891
+ project_id: z.ZodOptional<z.ZodString>;
892
+ }, z.core.$loose>>;
893
+ disableSignatureVerification: z.ZodOptional<z.ZodBoolean>;
894
+ endpointUrl: z.ZodOptional<z.ZodString>;
895
+ googleChatProjectNumber: z.ZodOptional<z.ZodString>;
896
+ impersonateUser: z.ZodOptional<z.ZodString>;
897
+ pubsubAudience: z.ZodOptional<z.ZodString>;
898
+ pubsubTopic: z.ZodOptional<z.ZodString>;
899
+ recorder: z.ZodDefault<z.ZodObject<{
900
+ path: z.ZodOptional<z.ZodString>;
901
+ }, z.core.$strip>>;
902
+ useApplicationDefaultCredentials: z.ZodOptional<z.ZodBoolean>;
903
+ userName: z.ZodOptional<z.ZodString>;
904
+ webhook: z.ZodDefault<z.ZodObject<{
905
+ host: z.ZodDefault<z.ZodString>;
906
+ path: z.ZodDefault<z.ZodString>;
907
+ port: z.ZodDefault<z.ZodNumber>;
908
+ publicUrl: z.ZodOptional<z.ZodString>;
909
+ }, z.core.$strip>>;
910
+ }, z.core.$strip>>;
911
+ imessage: z.ZodOptional<z.ZodObject<{
912
+ apiKey: z.ZodOptional<z.ZodString>;
913
+ gatewayDurationMs: z.ZodDefault<z.ZodNumber>;
914
+ local: z.ZodOptional<z.ZodBoolean>;
915
+ recorder: z.ZodDefault<z.ZodObject<{
916
+ path: z.ZodOptional<z.ZodString>;
917
+ }, z.core.$strip>>;
918
+ serverUrl: z.ZodOptional<z.ZodString>;
919
+ webhook: z.ZodDefault<z.ZodObject<{
920
+ host: z.ZodDefault<z.ZodString>;
921
+ path: z.ZodDefault<z.ZodString>;
922
+ port: z.ZodDefault<z.ZodNumber>;
923
+ publicUrl: z.ZodOptional<z.ZodString>;
924
+ }, z.core.$strip>>;
925
+ }, z.core.$strip>>;
926
+ loopback: z.ZodOptional<z.ZodObject<{
927
+ delayMs: z.ZodDefault<z.ZodNumber>;
928
+ }, z.core.$strip>>;
929
+ matrix: z.ZodOptional<z.ZodObject<{
930
+ auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
931
+ accessToken: z.ZodString;
932
+ type: z.ZodLiteral<"accessToken">;
933
+ userID: z.ZodOptional<z.ZodString>;
934
+ }, z.core.$strip>, z.ZodObject<{
935
+ password: z.ZodString;
936
+ type: z.ZodLiteral<"password">;
937
+ userID: z.ZodOptional<z.ZodString>;
938
+ username: z.ZodString;
939
+ }, z.core.$strip>]>>;
940
+ baseURL: z.ZodOptional<z.ZodString>;
941
+ commandPrefix: z.ZodOptional<z.ZodString>;
942
+ recorder: z.ZodDefault<z.ZodObject<{
943
+ path: z.ZodOptional<z.ZodString>;
944
+ }, z.core.$strip>>;
945
+ recoveryKey: z.ZodOptional<z.ZodString>;
946
+ roomAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
947
+ webhook: z.ZodDefault<z.ZodObject<{
948
+ host: z.ZodDefault<z.ZodString>;
949
+ path: z.ZodDefault<z.ZodString>;
950
+ port: z.ZodDefault<z.ZodNumber>;
951
+ publicUrl: z.ZodOptional<z.ZodString>;
952
+ }, z.core.$strip>>;
953
+ }, z.core.$strip>>;
954
+ mattermost: z.ZodOptional<z.ZodObject<{
955
+ baseUrl: z.ZodOptional<z.ZodString>;
956
+ botToken: z.ZodOptional<z.ZodString>;
957
+ callbackUrl: z.ZodOptional<z.ZodString>;
958
+ recorder: z.ZodDefault<z.ZodObject<{
959
+ path: z.ZodOptional<z.ZodString>;
960
+ }, z.core.$strip>>;
961
+ userName: z.ZodOptional<z.ZodString>;
962
+ webhook: z.ZodDefault<z.ZodObject<{
963
+ host: z.ZodDefault<z.ZodString>;
964
+ path: z.ZodDefault<z.ZodString>;
965
+ port: z.ZodDefault<z.ZodNumber>;
966
+ publicUrl: z.ZodOptional<z.ZodString>;
967
+ }, z.core.$strip>>;
968
+ websocket: z.ZodOptional<z.ZodObject<{
969
+ enabled: z.ZodOptional<z.ZodBoolean>;
970
+ maxReconnectDelayMs: z.ZodOptional<z.ZodNumber>;
971
+ reconnectDelayMs: z.ZodOptional<z.ZodNumber>;
972
+ }, z.core.$strip>>;
973
+ }, z.core.$strip>>;
974
+ msteams: z.ZodOptional<z.ZodObject<{
975
+ apiUrl: z.ZodOptional<z.ZodString>;
976
+ appId: z.ZodOptional<z.ZodString>;
977
+ appPassword: z.ZodOptional<z.ZodString>;
978
+ appTenantId: z.ZodOptional<z.ZodString>;
979
+ appType: z.ZodOptional<z.ZodEnum<{
980
+ MultiTenant: "MultiTenant";
981
+ SingleTenant: "SingleTenant";
982
+ }>>;
983
+ dialogOpenTimeoutMs: z.ZodOptional<z.ZodNumber>;
984
+ federated: z.ZodOptional<z.ZodObject<{
985
+ clientAudience: z.ZodOptional<z.ZodString>;
986
+ clientId: z.ZodString;
987
+ }, z.core.$strip>>;
988
+ recorder: z.ZodDefault<z.ZodObject<{
989
+ path: z.ZodOptional<z.ZodString>;
990
+ }, z.core.$strip>>;
991
+ userName: z.ZodOptional<z.ZodString>;
992
+ webhook: z.ZodDefault<z.ZodObject<{
993
+ host: z.ZodDefault<z.ZodString>;
994
+ path: z.ZodDefault<z.ZodString>;
995
+ port: z.ZodDefault<z.ZodNumber>;
996
+ publicUrl: z.ZodOptional<z.ZodString>;
997
+ }, z.core.$strip>>;
998
+ }, z.core.$strip>>;
999
+ notes: z.ZodOptional<z.ZodString>;
1000
+ platform: z.ZodOptional<z.ZodEnum<{
1001
+ bluebubbles: "bluebubbles";
1002
+ discord: "discord";
1003
+ feishu: "feishu";
1004
+ googlechat: "googlechat";
1005
+ imessage: "imessage";
1006
+ irc: "irc";
1007
+ line: "line";
1008
+ loopback: "loopback";
1009
+ matrix: "matrix";
1010
+ mattermost: "mattermost";
1011
+ msteams: "msteams";
1012
+ nextcloudtalk: "nextcloudtalk";
1013
+ nostr: "nostr";
1014
+ signal: "signal";
1015
+ slack: "slack";
1016
+ synologychat: "synologychat";
1017
+ telegram: "telegram";
1018
+ tlon: "tlon";
1019
+ twitch: "twitch";
1020
+ webchat: "webchat";
1021
+ whatsapp: "whatsapp";
1022
+ zalo: "zalo";
1023
+ zalouser: "zalouser";
1024
+ }>>;
1025
+ slack: z.ZodOptional<z.ZodObject<{
1026
+ recorder: z.ZodDefault<z.ZodObject<{
1027
+ path: z.ZodOptional<z.ZodString>;
1028
+ }, z.core.$strip>>;
1029
+ webhook: z.ZodDefault<z.ZodObject<{
1030
+ host: z.ZodDefault<z.ZodString>;
1031
+ path: z.ZodDefault<z.ZodString>;
1032
+ port: z.ZodDefault<z.ZodNumber>;
1033
+ publicUrl: z.ZodOptional<z.ZodString>;
1034
+ }, z.core.$strip>>;
1035
+ }, z.core.$strip>>;
1036
+ script: z.ZodOptional<z.ZodObject<{
1037
+ commands: z.ZodObject<{
1038
+ probe: z.ZodOptional<z.ZodString>;
1039
+ send: z.ZodOptional<z.ZodString>;
1040
+ waitForInbound: z.ZodOptional<z.ZodString>;
1041
+ watch: z.ZodOptional<z.ZodString>;
1042
+ }, z.core.$strip>;
1043
+ cwd: z.ZodOptional<z.ZodString>;
1044
+ shell: z.ZodOptional<z.ZodString>;
1045
+ }, z.core.$strip>>;
1046
+ status: z.ZodDefault<z.ZodEnum<{
1047
+ active: "active";
1048
+ disabled: "disabled";
1049
+ planned: "planned";
1050
+ }>>;
1051
+ telegram: z.ZodOptional<z.ZodObject<{
1052
+ apiUrl: z.ZodOptional<z.ZodString>;
1053
+ botToken: z.ZodOptional<z.ZodString>;
1054
+ longPolling: z.ZodOptional<z.ZodObject<{
1055
+ allowedUpdates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1056
+ deleteWebhook: z.ZodOptional<z.ZodBoolean>;
1057
+ dropPendingUpdates: z.ZodOptional<z.ZodBoolean>;
1058
+ limit: z.ZodOptional<z.ZodNumber>;
1059
+ retryDelayMs: z.ZodOptional<z.ZodNumber>;
1060
+ timeout: z.ZodOptional<z.ZodNumber>;
1061
+ }, z.core.$strip>>;
1062
+ mode: z.ZodDefault<z.ZodEnum<{
1063
+ auto: "auto";
1064
+ polling: "polling";
1065
+ webhook: "webhook";
1066
+ }>>;
1067
+ recorder: z.ZodDefault<z.ZodObject<{
1068
+ path: z.ZodOptional<z.ZodString>;
1069
+ }, z.core.$strip>>;
1070
+ secretToken: z.ZodOptional<z.ZodString>;
1071
+ userName: z.ZodOptional<z.ZodString>;
1072
+ webhook: z.ZodDefault<z.ZodObject<{
1073
+ host: z.ZodDefault<z.ZodString>;
1074
+ path: z.ZodDefault<z.ZodString>;
1075
+ port: z.ZodDefault<z.ZodNumber>;
1076
+ publicUrl: z.ZodOptional<z.ZodString>;
1077
+ }, z.core.$strip>>;
1078
+ }, z.core.$strip>>;
1079
+ whatsapp: z.ZodOptional<z.ZodObject<{
1080
+ accessToken: z.ZodOptional<z.ZodString>;
1081
+ apiUrl: z.ZodOptional<z.ZodString>;
1082
+ apiVersion: z.ZodOptional<z.ZodString>;
1083
+ appSecret: z.ZodOptional<z.ZodString>;
1084
+ phoneNumberId: z.ZodOptional<z.ZodString>;
1085
+ recorder: z.ZodDefault<z.ZodObject<{
1086
+ path: z.ZodOptional<z.ZodString>;
1087
+ }, z.core.$strip>>;
1088
+ userName: z.ZodOptional<z.ZodString>;
1089
+ verifyToken: z.ZodOptional<z.ZodString>;
1090
+ webhook: z.ZodDefault<z.ZodObject<{
1091
+ host: z.ZodDefault<z.ZodString>;
1092
+ path: z.ZodDefault<z.ZodString>;
1093
+ port: z.ZodDefault<z.ZodNumber>;
1094
+ publicUrl: z.ZodOptional<z.ZodString>;
1095
+ }, z.core.$strip>>;
1096
+ }, z.core.$strip>>;
1097
+ zalo: z.ZodOptional<z.ZodObject<{
1098
+ botToken: z.ZodOptional<z.ZodString>;
1099
+ recorder: z.ZodDefault<z.ZodObject<{
1100
+ path: z.ZodOptional<z.ZodString>;
1101
+ }, z.core.$strip>>;
1102
+ userName: z.ZodOptional<z.ZodString>;
1103
+ webhook: z.ZodDefault<z.ZodObject<{
1104
+ host: z.ZodDefault<z.ZodString>;
1105
+ path: z.ZodDefault<z.ZodString>;
1106
+ port: z.ZodDefault<z.ZodNumber>;
1107
+ publicUrl: z.ZodOptional<z.ZodString>;
1108
+ }, z.core.$strip>>;
1109
+ webhookSecret: z.ZodOptional<z.ZodString>;
1110
+ }, z.core.$strip>>;
1111
+ }, z.core.$strip>, z.ZodTransform<{
1112
+ adapter: "discord" | "feishu" | "googlechat" | "imessage" | "loopback" | "matrix" | "mattermost" | "msteams" | "script" | "slack" | "telegram" | "whatsapp" | "zalo";
1113
+ capabilities: ("agent" | "probe" | "roundtrip" | "send")[];
1114
+ discord?: {
1115
+ applicationId?: string | undefined;
1116
+ botToken?: string | undefined;
1117
+ gatewayDurationMs: number;
1118
+ mentionRoleIds?: string[] | undefined;
1119
+ publicKey?: string | undefined;
1120
+ recorder: {
1121
+ path?: string | undefined;
1122
+ };
1123
+ webhook: {
1124
+ host: string;
1125
+ path: string;
1126
+ port: number;
1127
+ publicUrl?: string | undefined;
1128
+ };
1129
+ } | undefined;
1130
+ env: string[];
1131
+ feishu?: {
1132
+ appId?: string | undefined;
1133
+ appSecret?: string | undefined;
1134
+ recorder: {
1135
+ path?: string | undefined;
1136
+ };
1137
+ userName?: string | undefined;
1138
+ webhook: {
1139
+ host: string;
1140
+ path: string;
1141
+ port: number;
1142
+ publicUrl?: string | undefined;
1143
+ };
1144
+ } | undefined;
1145
+ googlechat?: {
1146
+ apiUrl?: string | undefined;
1147
+ credentials?: {
1148
+ [x: string]: unknown;
1149
+ client_email: string;
1150
+ private_key: string;
1151
+ project_id?: string | undefined;
1152
+ } | undefined;
1153
+ disableSignatureVerification?: boolean | undefined;
1154
+ endpointUrl?: string | undefined;
1155
+ googleChatProjectNumber?: string | undefined;
1156
+ impersonateUser?: string | undefined;
1157
+ pubsubAudience?: string | undefined;
1158
+ pubsubTopic?: string | undefined;
1159
+ recorder: {
1160
+ path?: string | undefined;
1161
+ };
1162
+ useApplicationDefaultCredentials?: boolean | undefined;
1163
+ userName?: string | undefined;
1164
+ webhook: {
1165
+ host: string;
1166
+ path: string;
1167
+ port: number;
1168
+ publicUrl?: string | undefined;
1169
+ };
1170
+ } | undefined;
1171
+ imessage?: {
1172
+ apiKey?: string | undefined;
1173
+ gatewayDurationMs: number;
1174
+ local?: boolean | undefined;
1175
+ recorder: {
1176
+ path?: string | undefined;
1177
+ };
1178
+ serverUrl?: string | undefined;
1179
+ webhook: {
1180
+ host: string;
1181
+ path: string;
1182
+ port: number;
1183
+ publicUrl?: string | undefined;
1184
+ };
1185
+ } | undefined;
1186
+ loopback?: {
1187
+ delayMs: number;
1188
+ } | undefined;
1189
+ matrix?: {
1190
+ auth?: {
1191
+ accessToken: string;
1192
+ type: "accessToken";
1193
+ userID?: string | undefined;
1194
+ } | {
1195
+ password: string;
1196
+ type: "password";
1197
+ userID?: string | undefined;
1198
+ username: string;
1199
+ } | undefined;
1200
+ baseURL?: string | undefined;
1201
+ commandPrefix?: string | undefined;
1202
+ recorder: {
1203
+ path?: string | undefined;
1204
+ };
1205
+ recoveryKey?: string | undefined;
1206
+ roomAllowlist?: string[] | undefined;
1207
+ webhook: {
1208
+ host: string;
1209
+ path: string;
1210
+ port: number;
1211
+ publicUrl?: string | undefined;
1212
+ };
1213
+ } | undefined;
1214
+ mattermost?: {
1215
+ baseUrl?: string | undefined;
1216
+ botToken?: string | undefined;
1217
+ callbackUrl?: string | undefined;
1218
+ recorder: {
1219
+ path?: string | undefined;
1220
+ };
1221
+ userName?: string | undefined;
1222
+ webhook: {
1223
+ host: string;
1224
+ path: string;
1225
+ port: number;
1226
+ publicUrl?: string | undefined;
1227
+ };
1228
+ websocket?: {
1229
+ enabled?: boolean | undefined;
1230
+ maxReconnectDelayMs?: number | undefined;
1231
+ reconnectDelayMs?: number | undefined;
1232
+ } | undefined;
1233
+ } | undefined;
1234
+ msteams?: {
1235
+ apiUrl?: string | undefined;
1236
+ appId?: string | undefined;
1237
+ appPassword?: string | undefined;
1238
+ appTenantId?: string | undefined;
1239
+ appType?: "MultiTenant" | "SingleTenant" | undefined;
1240
+ dialogOpenTimeoutMs?: number | undefined;
1241
+ federated?: {
1242
+ clientAudience?: string | undefined;
1243
+ clientId: string;
1244
+ } | undefined;
1245
+ recorder: {
1246
+ path?: string | undefined;
1247
+ };
1248
+ userName?: string | undefined;
1249
+ webhook: {
1250
+ host: string;
1251
+ path: string;
1252
+ port: number;
1253
+ publicUrl?: string | undefined;
1254
+ };
1255
+ } | undefined;
1256
+ notes?: string | undefined;
1257
+ slack?: {
1258
+ recorder: {
1259
+ path?: string | undefined;
1260
+ };
1261
+ webhook: {
1262
+ host: string;
1263
+ path: string;
1264
+ port: number;
1265
+ publicUrl?: string | undefined;
1266
+ };
1267
+ } | undefined;
1268
+ script?: {
1269
+ commands: {
1270
+ probe?: string | undefined;
1271
+ send?: string | undefined;
1272
+ waitForInbound?: string | undefined;
1273
+ watch?: string | undefined;
1274
+ };
1275
+ cwd?: string | undefined;
1276
+ shell?: string | undefined;
1277
+ } | undefined;
1278
+ status: "active" | "disabled" | "planned";
1279
+ telegram?: {
1280
+ apiUrl?: string | undefined;
1281
+ botToken?: string | undefined;
1282
+ longPolling?: {
1283
+ allowedUpdates?: string[] | undefined;
1284
+ deleteWebhook?: boolean | undefined;
1285
+ dropPendingUpdates?: boolean | undefined;
1286
+ limit?: number | undefined;
1287
+ retryDelayMs?: number | undefined;
1288
+ timeout?: number | undefined;
1289
+ } | undefined;
1290
+ mode: "auto" | "polling" | "webhook";
1291
+ recorder: {
1292
+ path?: string | undefined;
1293
+ };
1294
+ secretToken?: string | undefined;
1295
+ userName?: string | undefined;
1296
+ webhook: {
1297
+ host: string;
1298
+ path: string;
1299
+ port: number;
1300
+ publicUrl?: string | undefined;
1301
+ };
1302
+ } | undefined;
1303
+ whatsapp?: {
1304
+ accessToken?: string | undefined;
1305
+ apiUrl?: string | undefined;
1306
+ apiVersion?: string | undefined;
1307
+ appSecret?: string | undefined;
1308
+ phoneNumberId?: string | undefined;
1309
+ recorder: {
1310
+ path?: string | undefined;
1311
+ };
1312
+ userName?: string | undefined;
1313
+ verifyToken?: string | undefined;
1314
+ webhook: {
1315
+ host: string;
1316
+ path: string;
1317
+ port: number;
1318
+ publicUrl?: string | undefined;
1319
+ };
1320
+ } | undefined;
1321
+ zalo?: {
1322
+ botToken?: string | undefined;
1323
+ recorder: {
1324
+ path?: string | undefined;
1325
+ };
1326
+ userName?: string | undefined;
1327
+ webhook: {
1328
+ host: string;
1329
+ path: string;
1330
+ port: number;
1331
+ publicUrl?: string | undefined;
1332
+ };
1333
+ webhookSecret?: string | undefined;
1334
+ } | undefined;
1335
+ platform: "bluebubbles" | "discord" | "feishu" | "googlechat" | "imessage" | "irc" | "line" | "loopback" | "matrix" | "mattermost" | "msteams" | "nextcloudtalk" | "nostr" | "signal" | "slack" | "synologychat" | "telegram" | "tlon" | "twitch" | "webchat" | "whatsapp" | "zalo" | "zalouser";
1336
+ }, {
1337
+ adapter: "discord" | "feishu" | "googlechat" | "imessage" | "loopback" | "matrix" | "mattermost" | "msteams" | "script" | "slack" | "telegram" | "whatsapp" | "zalo";
1338
+ capabilities: ("agent" | "probe" | "roundtrip" | "send")[];
1339
+ discord?: {
1340
+ applicationId?: string | undefined;
1341
+ botToken?: string | undefined;
1342
+ gatewayDurationMs: number;
1343
+ mentionRoleIds?: string[] | undefined;
1344
+ publicKey?: string | undefined;
1345
+ recorder: {
1346
+ path?: string | undefined;
1347
+ };
1348
+ webhook: {
1349
+ host: string;
1350
+ path: string;
1351
+ port: number;
1352
+ publicUrl?: string | undefined;
1353
+ };
1354
+ } | undefined;
1355
+ env: string[];
1356
+ feishu?: {
1357
+ appId?: string | undefined;
1358
+ appSecret?: string | undefined;
1359
+ recorder: {
1360
+ path?: string | undefined;
1361
+ };
1362
+ userName?: string | undefined;
1363
+ webhook: {
1364
+ host: string;
1365
+ path: string;
1366
+ port: number;
1367
+ publicUrl?: string | undefined;
1368
+ };
1369
+ } | undefined;
1370
+ googlechat?: {
1371
+ apiUrl?: string | undefined;
1372
+ credentials?: {
1373
+ [x: string]: unknown;
1374
+ client_email: string;
1375
+ private_key: string;
1376
+ project_id?: string | undefined;
1377
+ } | undefined;
1378
+ disableSignatureVerification?: boolean | undefined;
1379
+ endpointUrl?: string | undefined;
1380
+ googleChatProjectNumber?: string | undefined;
1381
+ impersonateUser?: string | undefined;
1382
+ pubsubAudience?: string | undefined;
1383
+ pubsubTopic?: string | undefined;
1384
+ recorder: {
1385
+ path?: string | undefined;
1386
+ };
1387
+ useApplicationDefaultCredentials?: boolean | undefined;
1388
+ userName?: string | undefined;
1389
+ webhook: {
1390
+ host: string;
1391
+ path: string;
1392
+ port: number;
1393
+ publicUrl?: string | undefined;
1394
+ };
1395
+ } | undefined;
1396
+ imessage?: {
1397
+ apiKey?: string | undefined;
1398
+ gatewayDurationMs: number;
1399
+ local?: boolean | undefined;
1400
+ recorder: {
1401
+ path?: string | undefined;
1402
+ };
1403
+ serverUrl?: string | undefined;
1404
+ webhook: {
1405
+ host: string;
1406
+ path: string;
1407
+ port: number;
1408
+ publicUrl?: string | undefined;
1409
+ };
1410
+ } | undefined;
1411
+ loopback?: {
1412
+ delayMs: number;
1413
+ } | undefined;
1414
+ matrix?: {
1415
+ auth?: {
1416
+ accessToken: string;
1417
+ type: "accessToken";
1418
+ userID?: string | undefined;
1419
+ } | {
1420
+ password: string;
1421
+ type: "password";
1422
+ userID?: string | undefined;
1423
+ username: string;
1424
+ } | undefined;
1425
+ baseURL?: string | undefined;
1426
+ commandPrefix?: string | undefined;
1427
+ recorder: {
1428
+ path?: string | undefined;
1429
+ };
1430
+ recoveryKey?: string | undefined;
1431
+ roomAllowlist?: string[] | undefined;
1432
+ webhook: {
1433
+ host: string;
1434
+ path: string;
1435
+ port: number;
1436
+ publicUrl?: string | undefined;
1437
+ };
1438
+ } | undefined;
1439
+ mattermost?: {
1440
+ baseUrl?: string | undefined;
1441
+ botToken?: string | undefined;
1442
+ callbackUrl?: string | undefined;
1443
+ recorder: {
1444
+ path?: string | undefined;
1445
+ };
1446
+ userName?: string | undefined;
1447
+ webhook: {
1448
+ host: string;
1449
+ path: string;
1450
+ port: number;
1451
+ publicUrl?: string | undefined;
1452
+ };
1453
+ websocket?: {
1454
+ enabled?: boolean | undefined;
1455
+ maxReconnectDelayMs?: number | undefined;
1456
+ reconnectDelayMs?: number | undefined;
1457
+ } | undefined;
1458
+ } | undefined;
1459
+ msteams?: {
1460
+ apiUrl?: string | undefined;
1461
+ appId?: string | undefined;
1462
+ appPassword?: string | undefined;
1463
+ appTenantId?: string | undefined;
1464
+ appType?: "MultiTenant" | "SingleTenant" | undefined;
1465
+ dialogOpenTimeoutMs?: number | undefined;
1466
+ federated?: {
1467
+ clientAudience?: string | undefined;
1468
+ clientId: string;
1469
+ } | undefined;
1470
+ recorder: {
1471
+ path?: string | undefined;
1472
+ };
1473
+ userName?: string | undefined;
1474
+ webhook: {
1475
+ host: string;
1476
+ path: string;
1477
+ port: number;
1478
+ publicUrl?: string | undefined;
1479
+ };
1480
+ } | undefined;
1481
+ notes?: string | undefined;
1482
+ platform?: "bluebubbles" | "discord" | "feishu" | "googlechat" | "imessage" | "irc" | "line" | "loopback" | "matrix" | "mattermost" | "msteams" | "nextcloudtalk" | "nostr" | "signal" | "slack" | "synologychat" | "telegram" | "tlon" | "twitch" | "webchat" | "whatsapp" | "zalo" | "zalouser" | undefined;
1483
+ slack?: {
1484
+ recorder: {
1485
+ path?: string | undefined;
1486
+ };
1487
+ webhook: {
1488
+ host: string;
1489
+ path: string;
1490
+ port: number;
1491
+ publicUrl?: string | undefined;
1492
+ };
1493
+ } | undefined;
1494
+ script?: {
1495
+ commands: {
1496
+ probe?: string | undefined;
1497
+ send?: string | undefined;
1498
+ waitForInbound?: string | undefined;
1499
+ watch?: string | undefined;
1500
+ };
1501
+ cwd?: string | undefined;
1502
+ shell?: string | undefined;
1503
+ } | undefined;
1504
+ status: "active" | "disabled" | "planned";
1505
+ telegram?: {
1506
+ apiUrl?: string | undefined;
1507
+ botToken?: string | undefined;
1508
+ longPolling?: {
1509
+ allowedUpdates?: string[] | undefined;
1510
+ deleteWebhook?: boolean | undefined;
1511
+ dropPendingUpdates?: boolean | undefined;
1512
+ limit?: number | undefined;
1513
+ retryDelayMs?: number | undefined;
1514
+ timeout?: number | undefined;
1515
+ } | undefined;
1516
+ mode: "auto" | "polling" | "webhook";
1517
+ recorder: {
1518
+ path?: string | undefined;
1519
+ };
1520
+ secretToken?: string | undefined;
1521
+ userName?: string | undefined;
1522
+ webhook: {
1523
+ host: string;
1524
+ path: string;
1525
+ port: number;
1526
+ publicUrl?: string | undefined;
1527
+ };
1528
+ } | undefined;
1529
+ whatsapp?: {
1530
+ accessToken?: string | undefined;
1531
+ apiUrl?: string | undefined;
1532
+ apiVersion?: string | undefined;
1533
+ appSecret?: string | undefined;
1534
+ phoneNumberId?: string | undefined;
1535
+ recorder: {
1536
+ path?: string | undefined;
1537
+ };
1538
+ userName?: string | undefined;
1539
+ verifyToken?: string | undefined;
1540
+ webhook: {
1541
+ host: string;
1542
+ path: string;
1543
+ port: number;
1544
+ publicUrl?: string | undefined;
1545
+ };
1546
+ } | undefined;
1547
+ zalo?: {
1548
+ botToken?: string | undefined;
1549
+ recorder: {
1550
+ path?: string | undefined;
1551
+ };
1552
+ userName?: string | undefined;
1553
+ webhook: {
1554
+ host: string;
1555
+ path: string;
1556
+ port: number;
1557
+ publicUrl?: string | undefined;
1558
+ };
1559
+ webhookSecret?: string | undefined;
1560
+ } | undefined;
1561
+ }>>>>;
1562
+ userName: z.ZodDefault<z.ZodString>;
1563
+ }, z.core.$strip>;
1564
+ export type BuiltinAdapterId = BuiltinAdapterName;
1565
+ export type FixtureDefinition = z.infer<typeof FixtureSchema>;
1566
+ export type FixtureMode = (typeof FIXTURE_MODES)[number];
1567
+ export type InboundAuthor = (typeof INBOUND_AUTHORS)[number];
1568
+ export type ManifestDefinition = z.infer<typeof ManifestSchema>;
1569
+ export type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
1570
+ export type ProviderPlatform = ProviderPlatformName;
1571
+ export {};