nextclaw-core 0.2.8

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 (3) hide show
  1. package/dist/index.d.ts +3039 -0
  2. package/dist/index.js +5345 -0
  3. package/package.json +61 -0
@@ -0,0 +1,3039 @@
1
+ import { z } from 'zod';
2
+
3
+ type InboundMessage = {
4
+ channel: string;
5
+ senderId: string;
6
+ chatId: string;
7
+ content: string;
8
+ timestamp: Date;
9
+ media: string[];
10
+ metadata: Record<string, unknown>;
11
+ };
12
+ type OutboundMessage = {
13
+ channel: string;
14
+ chatId: string;
15
+ content: string;
16
+ replyTo?: string | null;
17
+ media: string[];
18
+ metadata: Record<string, unknown>;
19
+ };
20
+
21
+ declare class MessageBus {
22
+ private inboundQueue;
23
+ private outboundQueue;
24
+ private outboundSubscribers;
25
+ private running;
26
+ publishInbound(msg: InboundMessage): Promise<void>;
27
+ consumeInbound(): Promise<InboundMessage>;
28
+ publishOutbound(msg: OutboundMessage): Promise<void>;
29
+ consumeOutbound(): Promise<OutboundMessage>;
30
+ subscribeOutbound(channel: string, callback: (msg: OutboundMessage) => Promise<void>): void;
31
+ dispatchOutbound(): Promise<void>;
32
+ stop(): void;
33
+ get inboundSize(): number;
34
+ get outboundSize(): number;
35
+ }
36
+
37
+ type ToolCallRequest = {
38
+ id: string;
39
+ name: string;
40
+ arguments: Record<string, unknown>;
41
+ };
42
+ type LLMResponse = {
43
+ content: string | null;
44
+ toolCalls: ToolCallRequest[];
45
+ finishReason: string;
46
+ usage: Record<string, number>;
47
+ reasoningContent?: string | null;
48
+ };
49
+ declare abstract class LLMProvider {
50
+ protected apiKey?: string | null;
51
+ protected apiBase?: string | null;
52
+ constructor(apiKey?: string | null, apiBase?: string | null);
53
+ abstract chat(params: {
54
+ messages: Array<Record<string, unknown>>;
55
+ tools?: Array<Record<string, unknown>>;
56
+ model?: string | null;
57
+ maxTokens?: number;
58
+ temperature?: number;
59
+ }): Promise<LLMResponse>;
60
+ abstract getDefaultModel(): string;
61
+ }
62
+
63
+ type SessionMessage = {
64
+ role: string;
65
+ content: string;
66
+ timestamp: string;
67
+ [key: string]: unknown;
68
+ };
69
+ type Session = {
70
+ key: string;
71
+ messages: SessionMessage[];
72
+ createdAt: Date;
73
+ updatedAt: Date;
74
+ metadata: Record<string, unknown>;
75
+ };
76
+ declare class SessionManager {
77
+ private workspace;
78
+ private sessionsDir;
79
+ private cache;
80
+ constructor(workspace: string);
81
+ private getSessionPath;
82
+ getOrCreate(key: string): Session;
83
+ addMessage(session: Session, role: string, content: string, extra?: Record<string, unknown>): void;
84
+ getHistory(session: Session, maxMessages?: number): Array<Record<string, string>>;
85
+ clear(session: Session): void;
86
+ private load;
87
+ save(session: Session): void;
88
+ delete(key: string): boolean;
89
+ listSessions(): Array<Record<string, unknown>>;
90
+ }
91
+
92
+ type CronSchedule = {
93
+ kind: "at";
94
+ atMs?: number | null;
95
+ } | {
96
+ kind: "every";
97
+ everyMs?: number | null;
98
+ } | {
99
+ kind: "cron";
100
+ expr?: string | null;
101
+ tz?: string | null;
102
+ };
103
+ type CronPayload = {
104
+ kind?: "system_event" | "agent_turn";
105
+ message: string;
106
+ deliver?: boolean;
107
+ channel?: string | null;
108
+ to?: string | null;
109
+ };
110
+ type CronJobState = {
111
+ nextRunAtMs?: number | null;
112
+ lastRunAtMs?: number | null;
113
+ lastStatus?: "ok" | "error" | "skipped" | null;
114
+ lastError?: string | null;
115
+ };
116
+ type CronJob = {
117
+ id: string;
118
+ name: string;
119
+ enabled: boolean;
120
+ schedule: CronSchedule;
121
+ payload: CronPayload;
122
+ state: CronJobState;
123
+ createdAtMs: number;
124
+ updatedAtMs: number;
125
+ deleteAfterRun: boolean;
126
+ };
127
+
128
+ declare class CronService {
129
+ private storePath;
130
+ private store;
131
+ private timer;
132
+ private running;
133
+ onJob?: (job: CronJob) => Promise<string | null>;
134
+ constructor(storePath: string, onJob?: (job: CronJob) => Promise<string | null>);
135
+ private loadStore;
136
+ private saveStore;
137
+ start(): Promise<void>;
138
+ stop(): void;
139
+ private recomputeNextRuns;
140
+ private getNextWakeMs;
141
+ private armTimer;
142
+ private onTimer;
143
+ private executeJob;
144
+ listJobs(includeDisabled?: boolean): CronJob[];
145
+ addJob(params: {
146
+ name: string;
147
+ schedule: CronSchedule;
148
+ message: string;
149
+ deliver?: boolean;
150
+ channel?: string;
151
+ to?: string;
152
+ deleteAfterRun?: boolean;
153
+ }): CronJob;
154
+ removeJob(jobId: string): boolean;
155
+ enableJob(jobId: string, enabled?: boolean): CronJob | null;
156
+ runJob(jobId: string, force?: boolean): Promise<boolean>;
157
+ status(): {
158
+ enabled: boolean;
159
+ jobs: number;
160
+ nextWakeAtMs: number | null;
161
+ };
162
+ }
163
+
164
+ declare class AgentLoop {
165
+ private options;
166
+ private context;
167
+ private sessions;
168
+ private tools;
169
+ private subagents;
170
+ private running;
171
+ constructor(options: {
172
+ bus: MessageBus;
173
+ provider: LLMProvider;
174
+ workspace: string;
175
+ model?: string | null;
176
+ maxIterations?: number;
177
+ braveApiKey?: string | null;
178
+ execConfig?: {
179
+ timeout: number;
180
+ };
181
+ cronService?: CronService | null;
182
+ restrictToWorkspace?: boolean;
183
+ sessionManager?: SessionManager;
184
+ });
185
+ private registerDefaultTools;
186
+ run(): Promise<void>;
187
+ stop(): void;
188
+ processDirect(params: {
189
+ content: string;
190
+ sessionKey?: string;
191
+ channel?: string;
192
+ chatId?: string;
193
+ }): Promise<string>;
194
+ private processMessage;
195
+ private processSystemMessage;
196
+ }
197
+
198
+ type FeishuProbeResult = {
199
+ ok: true;
200
+ appId: string;
201
+ botName?: string;
202
+ botOpenId?: string;
203
+ } | {
204
+ ok: false;
205
+ appId?: string;
206
+ error: string;
207
+ };
208
+ declare function probeFeishu(appId: string, appSecret: string): Promise<FeishuProbeResult>;
209
+
210
+ declare const WhatsAppConfigSchema: z.ZodObject<{
211
+ enabled: z.ZodDefault<z.ZodBoolean>;
212
+ bridgeUrl: z.ZodDefault<z.ZodString>;
213
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ enabled: boolean;
216
+ bridgeUrl: string;
217
+ allowFrom: string[];
218
+ }, {
219
+ enabled?: boolean | undefined;
220
+ bridgeUrl?: string | undefined;
221
+ allowFrom?: string[] | undefined;
222
+ }>;
223
+ declare const TelegramConfigSchema: z.ZodObject<{
224
+ enabled: z.ZodDefault<z.ZodBoolean>;
225
+ token: z.ZodDefault<z.ZodString>;
226
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
227
+ proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ enabled: boolean;
230
+ allowFrom: string[];
231
+ token: string;
232
+ proxy: string | null;
233
+ }, {
234
+ enabled?: boolean | undefined;
235
+ allowFrom?: string[] | undefined;
236
+ token?: string | undefined;
237
+ proxy?: string | null | undefined;
238
+ }>;
239
+ declare const FeishuConfigSchema: z.ZodObject<{
240
+ enabled: z.ZodDefault<z.ZodBoolean>;
241
+ appId: z.ZodDefault<z.ZodString>;
242
+ appSecret: z.ZodDefault<z.ZodString>;
243
+ encryptKey: z.ZodDefault<z.ZodString>;
244
+ verificationToken: z.ZodDefault<z.ZodString>;
245
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ enabled: boolean;
248
+ appId: string;
249
+ allowFrom: string[];
250
+ appSecret: string;
251
+ encryptKey: string;
252
+ verificationToken: string;
253
+ }, {
254
+ enabled?: boolean | undefined;
255
+ appId?: string | undefined;
256
+ allowFrom?: string[] | undefined;
257
+ appSecret?: string | undefined;
258
+ encryptKey?: string | undefined;
259
+ verificationToken?: string | undefined;
260
+ }>;
261
+ declare const DingTalkConfigSchema: z.ZodObject<{
262
+ enabled: z.ZodDefault<z.ZodBoolean>;
263
+ clientId: z.ZodDefault<z.ZodString>;
264
+ clientSecret: z.ZodDefault<z.ZodString>;
265
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ enabled: boolean;
268
+ allowFrom: string[];
269
+ clientId: string;
270
+ clientSecret: string;
271
+ }, {
272
+ enabled?: boolean | undefined;
273
+ allowFrom?: string[] | undefined;
274
+ clientId?: string | undefined;
275
+ clientSecret?: string | undefined;
276
+ }>;
277
+ declare const DiscordConfigSchema: z.ZodObject<{
278
+ enabled: z.ZodDefault<z.ZodBoolean>;
279
+ token: z.ZodDefault<z.ZodString>;
280
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
281
+ gatewayUrl: z.ZodDefault<z.ZodString>;
282
+ intents: z.ZodDefault<z.ZodNumber>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ enabled: boolean;
285
+ allowFrom: string[];
286
+ token: string;
287
+ gatewayUrl: string;
288
+ intents: number;
289
+ }, {
290
+ enabled?: boolean | undefined;
291
+ allowFrom?: string[] | undefined;
292
+ token?: string | undefined;
293
+ gatewayUrl?: string | undefined;
294
+ intents?: number | undefined;
295
+ }>;
296
+ declare const EmailConfigSchema: z.ZodObject<{
297
+ enabled: z.ZodDefault<z.ZodBoolean>;
298
+ consentGranted: z.ZodDefault<z.ZodBoolean>;
299
+ imapHost: z.ZodDefault<z.ZodString>;
300
+ imapPort: z.ZodDefault<z.ZodNumber>;
301
+ imapUsername: z.ZodDefault<z.ZodString>;
302
+ imapPassword: z.ZodDefault<z.ZodString>;
303
+ imapMailbox: z.ZodDefault<z.ZodString>;
304
+ imapUseSsl: z.ZodDefault<z.ZodBoolean>;
305
+ smtpHost: z.ZodDefault<z.ZodString>;
306
+ smtpPort: z.ZodDefault<z.ZodNumber>;
307
+ smtpUsername: z.ZodDefault<z.ZodString>;
308
+ smtpPassword: z.ZodDefault<z.ZodString>;
309
+ smtpUseTls: z.ZodDefault<z.ZodBoolean>;
310
+ smtpUseSsl: z.ZodDefault<z.ZodBoolean>;
311
+ fromAddress: z.ZodDefault<z.ZodString>;
312
+ autoReplyEnabled: z.ZodDefault<z.ZodBoolean>;
313
+ pollIntervalSeconds: z.ZodDefault<z.ZodNumber>;
314
+ markSeen: z.ZodDefault<z.ZodBoolean>;
315
+ maxBodyChars: z.ZodDefault<z.ZodNumber>;
316
+ subjectPrefix: z.ZodDefault<z.ZodString>;
317
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
318
+ }, "strip", z.ZodTypeAny, {
319
+ enabled: boolean;
320
+ allowFrom: string[];
321
+ consentGranted: boolean;
322
+ imapHost: string;
323
+ imapPort: number;
324
+ imapUsername: string;
325
+ imapPassword: string;
326
+ imapMailbox: string;
327
+ imapUseSsl: boolean;
328
+ smtpHost: string;
329
+ smtpPort: number;
330
+ smtpUsername: string;
331
+ smtpPassword: string;
332
+ smtpUseTls: boolean;
333
+ smtpUseSsl: boolean;
334
+ fromAddress: string;
335
+ autoReplyEnabled: boolean;
336
+ pollIntervalSeconds: number;
337
+ markSeen: boolean;
338
+ maxBodyChars: number;
339
+ subjectPrefix: string;
340
+ }, {
341
+ enabled?: boolean | undefined;
342
+ allowFrom?: string[] | undefined;
343
+ consentGranted?: boolean | undefined;
344
+ imapHost?: string | undefined;
345
+ imapPort?: number | undefined;
346
+ imapUsername?: string | undefined;
347
+ imapPassword?: string | undefined;
348
+ imapMailbox?: string | undefined;
349
+ imapUseSsl?: boolean | undefined;
350
+ smtpHost?: string | undefined;
351
+ smtpPort?: number | undefined;
352
+ smtpUsername?: string | undefined;
353
+ smtpPassword?: string | undefined;
354
+ smtpUseTls?: boolean | undefined;
355
+ smtpUseSsl?: boolean | undefined;
356
+ fromAddress?: string | undefined;
357
+ autoReplyEnabled?: boolean | undefined;
358
+ pollIntervalSeconds?: number | undefined;
359
+ markSeen?: boolean | undefined;
360
+ maxBodyChars?: number | undefined;
361
+ subjectPrefix?: string | undefined;
362
+ }>;
363
+ declare const MochatMentionSchema: z.ZodObject<{
364
+ requireInGroups: z.ZodDefault<z.ZodBoolean>;
365
+ }, "strip", z.ZodTypeAny, {
366
+ requireInGroups: boolean;
367
+ }, {
368
+ requireInGroups?: boolean | undefined;
369
+ }>;
370
+ declare const MochatGroupRuleSchema: z.ZodObject<{
371
+ requireMention: z.ZodDefault<z.ZodBoolean>;
372
+ }, "strip", z.ZodTypeAny, {
373
+ requireMention: boolean;
374
+ }, {
375
+ requireMention?: boolean | undefined;
376
+ }>;
377
+ declare const MochatConfigSchema: z.ZodObject<{
378
+ enabled: z.ZodDefault<z.ZodBoolean>;
379
+ baseUrl: z.ZodDefault<z.ZodString>;
380
+ socketUrl: z.ZodDefault<z.ZodString>;
381
+ socketPath: z.ZodDefault<z.ZodString>;
382
+ socketDisableMsgpack: z.ZodDefault<z.ZodBoolean>;
383
+ socketReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
384
+ socketMaxReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
385
+ socketConnectTimeoutMs: z.ZodDefault<z.ZodNumber>;
386
+ refreshIntervalMs: z.ZodDefault<z.ZodNumber>;
387
+ watchTimeoutMs: z.ZodDefault<z.ZodNumber>;
388
+ watchLimit: z.ZodDefault<z.ZodNumber>;
389
+ retryDelayMs: z.ZodDefault<z.ZodNumber>;
390
+ maxRetryAttempts: z.ZodDefault<z.ZodNumber>;
391
+ clawToken: z.ZodDefault<z.ZodString>;
392
+ agentUserId: z.ZodDefault<z.ZodString>;
393
+ sessions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
394
+ panels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
395
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
396
+ mention: z.ZodDefault<z.ZodObject<{
397
+ requireInGroups: z.ZodDefault<z.ZodBoolean>;
398
+ }, "strip", z.ZodTypeAny, {
399
+ requireInGroups: boolean;
400
+ }, {
401
+ requireInGroups?: boolean | undefined;
402
+ }>>;
403
+ groups: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
404
+ requireMention: z.ZodDefault<z.ZodBoolean>;
405
+ }, "strip", z.ZodTypeAny, {
406
+ requireMention: boolean;
407
+ }, {
408
+ requireMention?: boolean | undefined;
409
+ }>>>;
410
+ replyDelayMode: z.ZodDefault<z.ZodString>;
411
+ replyDelayMs: z.ZodDefault<z.ZodNumber>;
412
+ }, "strip", z.ZodTypeAny, {
413
+ sessions: string[];
414
+ enabled: boolean;
415
+ allowFrom: string[];
416
+ baseUrl: string;
417
+ socketUrl: string;
418
+ socketPath: string;
419
+ socketDisableMsgpack: boolean;
420
+ socketReconnectDelayMs: number;
421
+ socketMaxReconnectDelayMs: number;
422
+ socketConnectTimeoutMs: number;
423
+ refreshIntervalMs: number;
424
+ watchTimeoutMs: number;
425
+ watchLimit: number;
426
+ retryDelayMs: number;
427
+ maxRetryAttempts: number;
428
+ clawToken: string;
429
+ agentUserId: string;
430
+ panels: string[];
431
+ mention: {
432
+ requireInGroups: boolean;
433
+ };
434
+ groups: Record<string, {
435
+ requireMention: boolean;
436
+ }>;
437
+ replyDelayMode: string;
438
+ replyDelayMs: number;
439
+ }, {
440
+ sessions?: string[] | undefined;
441
+ enabled?: boolean | undefined;
442
+ allowFrom?: string[] | undefined;
443
+ baseUrl?: string | undefined;
444
+ socketUrl?: string | undefined;
445
+ socketPath?: string | undefined;
446
+ socketDisableMsgpack?: boolean | undefined;
447
+ socketReconnectDelayMs?: number | undefined;
448
+ socketMaxReconnectDelayMs?: number | undefined;
449
+ socketConnectTimeoutMs?: number | undefined;
450
+ refreshIntervalMs?: number | undefined;
451
+ watchTimeoutMs?: number | undefined;
452
+ watchLimit?: number | undefined;
453
+ retryDelayMs?: number | undefined;
454
+ maxRetryAttempts?: number | undefined;
455
+ clawToken?: string | undefined;
456
+ agentUserId?: string | undefined;
457
+ panels?: string[] | undefined;
458
+ mention?: {
459
+ requireInGroups?: boolean | undefined;
460
+ } | undefined;
461
+ groups?: Record<string, {
462
+ requireMention?: boolean | undefined;
463
+ }> | undefined;
464
+ replyDelayMode?: string | undefined;
465
+ replyDelayMs?: number | undefined;
466
+ }>;
467
+ declare const SlackDMSchema: z.ZodObject<{
468
+ enabled: z.ZodDefault<z.ZodBoolean>;
469
+ policy: z.ZodDefault<z.ZodString>;
470
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
471
+ }, "strip", z.ZodTypeAny, {
472
+ enabled: boolean;
473
+ allowFrom: string[];
474
+ policy: string;
475
+ }, {
476
+ enabled?: boolean | undefined;
477
+ allowFrom?: string[] | undefined;
478
+ policy?: string | undefined;
479
+ }>;
480
+ declare const SlackConfigSchema: z.ZodObject<{
481
+ enabled: z.ZodDefault<z.ZodBoolean>;
482
+ mode: z.ZodDefault<z.ZodString>;
483
+ webhookPath: z.ZodDefault<z.ZodString>;
484
+ botToken: z.ZodDefault<z.ZodString>;
485
+ appToken: z.ZodDefault<z.ZodString>;
486
+ userTokenReadOnly: z.ZodDefault<z.ZodBoolean>;
487
+ groupPolicy: z.ZodDefault<z.ZodString>;
488
+ groupAllowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
489
+ dm: z.ZodDefault<z.ZodObject<{
490
+ enabled: z.ZodDefault<z.ZodBoolean>;
491
+ policy: z.ZodDefault<z.ZodString>;
492
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ enabled: boolean;
495
+ allowFrom: string[];
496
+ policy: string;
497
+ }, {
498
+ enabled?: boolean | undefined;
499
+ allowFrom?: string[] | undefined;
500
+ policy?: string | undefined;
501
+ }>>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ enabled: boolean;
504
+ mode: string;
505
+ webhookPath: string;
506
+ botToken: string;
507
+ appToken: string;
508
+ userTokenReadOnly: boolean;
509
+ groupPolicy: string;
510
+ groupAllowFrom: string[];
511
+ dm: {
512
+ enabled: boolean;
513
+ allowFrom: string[];
514
+ policy: string;
515
+ };
516
+ }, {
517
+ enabled?: boolean | undefined;
518
+ mode?: string | undefined;
519
+ webhookPath?: string | undefined;
520
+ botToken?: string | undefined;
521
+ appToken?: string | undefined;
522
+ userTokenReadOnly?: boolean | undefined;
523
+ groupPolicy?: string | undefined;
524
+ groupAllowFrom?: string[] | undefined;
525
+ dm?: {
526
+ enabled?: boolean | undefined;
527
+ allowFrom?: string[] | undefined;
528
+ policy?: string | undefined;
529
+ } | undefined;
530
+ }>;
531
+ declare const QQConfigSchema: z.ZodObject<{
532
+ enabled: z.ZodDefault<z.ZodBoolean>;
533
+ appId: z.ZodDefault<z.ZodString>;
534
+ secret: z.ZodDefault<z.ZodString>;
535
+ markdownSupport: z.ZodDefault<z.ZodBoolean>;
536
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
537
+ }, "strip", z.ZodTypeAny, {
538
+ enabled: boolean;
539
+ appId: string;
540
+ allowFrom: string[];
541
+ secret: string;
542
+ markdownSupport: boolean;
543
+ }, {
544
+ enabled?: boolean | undefined;
545
+ appId?: string | undefined;
546
+ allowFrom?: string[] | undefined;
547
+ secret?: string | undefined;
548
+ markdownSupport?: boolean | undefined;
549
+ }>;
550
+ declare const ChannelsConfigSchema: z.ZodObject<{
551
+ whatsapp: z.ZodDefault<z.ZodObject<{
552
+ enabled: z.ZodDefault<z.ZodBoolean>;
553
+ bridgeUrl: z.ZodDefault<z.ZodString>;
554
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
555
+ }, "strip", z.ZodTypeAny, {
556
+ enabled: boolean;
557
+ bridgeUrl: string;
558
+ allowFrom: string[];
559
+ }, {
560
+ enabled?: boolean | undefined;
561
+ bridgeUrl?: string | undefined;
562
+ allowFrom?: string[] | undefined;
563
+ }>>;
564
+ telegram: z.ZodDefault<z.ZodObject<{
565
+ enabled: z.ZodDefault<z.ZodBoolean>;
566
+ token: z.ZodDefault<z.ZodString>;
567
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
568
+ proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
569
+ }, "strip", z.ZodTypeAny, {
570
+ enabled: boolean;
571
+ allowFrom: string[];
572
+ token: string;
573
+ proxy: string | null;
574
+ }, {
575
+ enabled?: boolean | undefined;
576
+ allowFrom?: string[] | undefined;
577
+ token?: string | undefined;
578
+ proxy?: string | null | undefined;
579
+ }>>;
580
+ discord: z.ZodDefault<z.ZodObject<{
581
+ enabled: z.ZodDefault<z.ZodBoolean>;
582
+ token: z.ZodDefault<z.ZodString>;
583
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
584
+ gatewayUrl: z.ZodDefault<z.ZodString>;
585
+ intents: z.ZodDefault<z.ZodNumber>;
586
+ }, "strip", z.ZodTypeAny, {
587
+ enabled: boolean;
588
+ allowFrom: string[];
589
+ token: string;
590
+ gatewayUrl: string;
591
+ intents: number;
592
+ }, {
593
+ enabled?: boolean | undefined;
594
+ allowFrom?: string[] | undefined;
595
+ token?: string | undefined;
596
+ gatewayUrl?: string | undefined;
597
+ intents?: number | undefined;
598
+ }>>;
599
+ feishu: z.ZodDefault<z.ZodObject<{
600
+ enabled: z.ZodDefault<z.ZodBoolean>;
601
+ appId: z.ZodDefault<z.ZodString>;
602
+ appSecret: z.ZodDefault<z.ZodString>;
603
+ encryptKey: z.ZodDefault<z.ZodString>;
604
+ verificationToken: z.ZodDefault<z.ZodString>;
605
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ enabled: boolean;
608
+ appId: string;
609
+ allowFrom: string[];
610
+ appSecret: string;
611
+ encryptKey: string;
612
+ verificationToken: string;
613
+ }, {
614
+ enabled?: boolean | undefined;
615
+ appId?: string | undefined;
616
+ allowFrom?: string[] | undefined;
617
+ appSecret?: string | undefined;
618
+ encryptKey?: string | undefined;
619
+ verificationToken?: string | undefined;
620
+ }>>;
621
+ mochat: z.ZodDefault<z.ZodObject<{
622
+ enabled: z.ZodDefault<z.ZodBoolean>;
623
+ baseUrl: z.ZodDefault<z.ZodString>;
624
+ socketUrl: z.ZodDefault<z.ZodString>;
625
+ socketPath: z.ZodDefault<z.ZodString>;
626
+ socketDisableMsgpack: z.ZodDefault<z.ZodBoolean>;
627
+ socketReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
628
+ socketMaxReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
629
+ socketConnectTimeoutMs: z.ZodDefault<z.ZodNumber>;
630
+ refreshIntervalMs: z.ZodDefault<z.ZodNumber>;
631
+ watchTimeoutMs: z.ZodDefault<z.ZodNumber>;
632
+ watchLimit: z.ZodDefault<z.ZodNumber>;
633
+ retryDelayMs: z.ZodDefault<z.ZodNumber>;
634
+ maxRetryAttempts: z.ZodDefault<z.ZodNumber>;
635
+ clawToken: z.ZodDefault<z.ZodString>;
636
+ agentUserId: z.ZodDefault<z.ZodString>;
637
+ sessions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
638
+ panels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
639
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
640
+ mention: z.ZodDefault<z.ZodObject<{
641
+ requireInGroups: z.ZodDefault<z.ZodBoolean>;
642
+ }, "strip", z.ZodTypeAny, {
643
+ requireInGroups: boolean;
644
+ }, {
645
+ requireInGroups?: boolean | undefined;
646
+ }>>;
647
+ groups: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
648
+ requireMention: z.ZodDefault<z.ZodBoolean>;
649
+ }, "strip", z.ZodTypeAny, {
650
+ requireMention: boolean;
651
+ }, {
652
+ requireMention?: boolean | undefined;
653
+ }>>>;
654
+ replyDelayMode: z.ZodDefault<z.ZodString>;
655
+ replyDelayMs: z.ZodDefault<z.ZodNumber>;
656
+ }, "strip", z.ZodTypeAny, {
657
+ sessions: string[];
658
+ enabled: boolean;
659
+ allowFrom: string[];
660
+ baseUrl: string;
661
+ socketUrl: string;
662
+ socketPath: string;
663
+ socketDisableMsgpack: boolean;
664
+ socketReconnectDelayMs: number;
665
+ socketMaxReconnectDelayMs: number;
666
+ socketConnectTimeoutMs: number;
667
+ refreshIntervalMs: number;
668
+ watchTimeoutMs: number;
669
+ watchLimit: number;
670
+ retryDelayMs: number;
671
+ maxRetryAttempts: number;
672
+ clawToken: string;
673
+ agentUserId: string;
674
+ panels: string[];
675
+ mention: {
676
+ requireInGroups: boolean;
677
+ };
678
+ groups: Record<string, {
679
+ requireMention: boolean;
680
+ }>;
681
+ replyDelayMode: string;
682
+ replyDelayMs: number;
683
+ }, {
684
+ sessions?: string[] | undefined;
685
+ enabled?: boolean | undefined;
686
+ allowFrom?: string[] | undefined;
687
+ baseUrl?: string | undefined;
688
+ socketUrl?: string | undefined;
689
+ socketPath?: string | undefined;
690
+ socketDisableMsgpack?: boolean | undefined;
691
+ socketReconnectDelayMs?: number | undefined;
692
+ socketMaxReconnectDelayMs?: number | undefined;
693
+ socketConnectTimeoutMs?: number | undefined;
694
+ refreshIntervalMs?: number | undefined;
695
+ watchTimeoutMs?: number | undefined;
696
+ watchLimit?: number | undefined;
697
+ retryDelayMs?: number | undefined;
698
+ maxRetryAttempts?: number | undefined;
699
+ clawToken?: string | undefined;
700
+ agentUserId?: string | undefined;
701
+ panels?: string[] | undefined;
702
+ mention?: {
703
+ requireInGroups?: boolean | undefined;
704
+ } | undefined;
705
+ groups?: Record<string, {
706
+ requireMention?: boolean | undefined;
707
+ }> | undefined;
708
+ replyDelayMode?: string | undefined;
709
+ replyDelayMs?: number | undefined;
710
+ }>>;
711
+ dingtalk: z.ZodDefault<z.ZodObject<{
712
+ enabled: z.ZodDefault<z.ZodBoolean>;
713
+ clientId: z.ZodDefault<z.ZodString>;
714
+ clientSecret: z.ZodDefault<z.ZodString>;
715
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
716
+ }, "strip", z.ZodTypeAny, {
717
+ enabled: boolean;
718
+ allowFrom: string[];
719
+ clientId: string;
720
+ clientSecret: string;
721
+ }, {
722
+ enabled?: boolean | undefined;
723
+ allowFrom?: string[] | undefined;
724
+ clientId?: string | undefined;
725
+ clientSecret?: string | undefined;
726
+ }>>;
727
+ email: z.ZodDefault<z.ZodObject<{
728
+ enabled: z.ZodDefault<z.ZodBoolean>;
729
+ consentGranted: z.ZodDefault<z.ZodBoolean>;
730
+ imapHost: z.ZodDefault<z.ZodString>;
731
+ imapPort: z.ZodDefault<z.ZodNumber>;
732
+ imapUsername: z.ZodDefault<z.ZodString>;
733
+ imapPassword: z.ZodDefault<z.ZodString>;
734
+ imapMailbox: z.ZodDefault<z.ZodString>;
735
+ imapUseSsl: z.ZodDefault<z.ZodBoolean>;
736
+ smtpHost: z.ZodDefault<z.ZodString>;
737
+ smtpPort: z.ZodDefault<z.ZodNumber>;
738
+ smtpUsername: z.ZodDefault<z.ZodString>;
739
+ smtpPassword: z.ZodDefault<z.ZodString>;
740
+ smtpUseTls: z.ZodDefault<z.ZodBoolean>;
741
+ smtpUseSsl: z.ZodDefault<z.ZodBoolean>;
742
+ fromAddress: z.ZodDefault<z.ZodString>;
743
+ autoReplyEnabled: z.ZodDefault<z.ZodBoolean>;
744
+ pollIntervalSeconds: z.ZodDefault<z.ZodNumber>;
745
+ markSeen: z.ZodDefault<z.ZodBoolean>;
746
+ maxBodyChars: z.ZodDefault<z.ZodNumber>;
747
+ subjectPrefix: z.ZodDefault<z.ZodString>;
748
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
749
+ }, "strip", z.ZodTypeAny, {
750
+ enabled: boolean;
751
+ allowFrom: string[];
752
+ consentGranted: boolean;
753
+ imapHost: string;
754
+ imapPort: number;
755
+ imapUsername: string;
756
+ imapPassword: string;
757
+ imapMailbox: string;
758
+ imapUseSsl: boolean;
759
+ smtpHost: string;
760
+ smtpPort: number;
761
+ smtpUsername: string;
762
+ smtpPassword: string;
763
+ smtpUseTls: boolean;
764
+ smtpUseSsl: boolean;
765
+ fromAddress: string;
766
+ autoReplyEnabled: boolean;
767
+ pollIntervalSeconds: number;
768
+ markSeen: boolean;
769
+ maxBodyChars: number;
770
+ subjectPrefix: string;
771
+ }, {
772
+ enabled?: boolean | undefined;
773
+ allowFrom?: string[] | undefined;
774
+ consentGranted?: boolean | undefined;
775
+ imapHost?: string | undefined;
776
+ imapPort?: number | undefined;
777
+ imapUsername?: string | undefined;
778
+ imapPassword?: string | undefined;
779
+ imapMailbox?: string | undefined;
780
+ imapUseSsl?: boolean | undefined;
781
+ smtpHost?: string | undefined;
782
+ smtpPort?: number | undefined;
783
+ smtpUsername?: string | undefined;
784
+ smtpPassword?: string | undefined;
785
+ smtpUseTls?: boolean | undefined;
786
+ smtpUseSsl?: boolean | undefined;
787
+ fromAddress?: string | undefined;
788
+ autoReplyEnabled?: boolean | undefined;
789
+ pollIntervalSeconds?: number | undefined;
790
+ markSeen?: boolean | undefined;
791
+ maxBodyChars?: number | undefined;
792
+ subjectPrefix?: string | undefined;
793
+ }>>;
794
+ slack: z.ZodDefault<z.ZodObject<{
795
+ enabled: z.ZodDefault<z.ZodBoolean>;
796
+ mode: z.ZodDefault<z.ZodString>;
797
+ webhookPath: z.ZodDefault<z.ZodString>;
798
+ botToken: z.ZodDefault<z.ZodString>;
799
+ appToken: z.ZodDefault<z.ZodString>;
800
+ userTokenReadOnly: z.ZodDefault<z.ZodBoolean>;
801
+ groupPolicy: z.ZodDefault<z.ZodString>;
802
+ groupAllowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
803
+ dm: z.ZodDefault<z.ZodObject<{
804
+ enabled: z.ZodDefault<z.ZodBoolean>;
805
+ policy: z.ZodDefault<z.ZodString>;
806
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
807
+ }, "strip", z.ZodTypeAny, {
808
+ enabled: boolean;
809
+ allowFrom: string[];
810
+ policy: string;
811
+ }, {
812
+ enabled?: boolean | undefined;
813
+ allowFrom?: string[] | undefined;
814
+ policy?: string | undefined;
815
+ }>>;
816
+ }, "strip", z.ZodTypeAny, {
817
+ enabled: boolean;
818
+ mode: string;
819
+ webhookPath: string;
820
+ botToken: string;
821
+ appToken: string;
822
+ userTokenReadOnly: boolean;
823
+ groupPolicy: string;
824
+ groupAllowFrom: string[];
825
+ dm: {
826
+ enabled: boolean;
827
+ allowFrom: string[];
828
+ policy: string;
829
+ };
830
+ }, {
831
+ enabled?: boolean | undefined;
832
+ mode?: string | undefined;
833
+ webhookPath?: string | undefined;
834
+ botToken?: string | undefined;
835
+ appToken?: string | undefined;
836
+ userTokenReadOnly?: boolean | undefined;
837
+ groupPolicy?: string | undefined;
838
+ groupAllowFrom?: string[] | undefined;
839
+ dm?: {
840
+ enabled?: boolean | undefined;
841
+ allowFrom?: string[] | undefined;
842
+ policy?: string | undefined;
843
+ } | undefined;
844
+ }>>;
845
+ qq: z.ZodDefault<z.ZodObject<{
846
+ enabled: z.ZodDefault<z.ZodBoolean>;
847
+ appId: z.ZodDefault<z.ZodString>;
848
+ secret: z.ZodDefault<z.ZodString>;
849
+ markdownSupport: z.ZodDefault<z.ZodBoolean>;
850
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
851
+ }, "strip", z.ZodTypeAny, {
852
+ enabled: boolean;
853
+ appId: string;
854
+ allowFrom: string[];
855
+ secret: string;
856
+ markdownSupport: boolean;
857
+ }, {
858
+ enabled?: boolean | undefined;
859
+ appId?: string | undefined;
860
+ allowFrom?: string[] | undefined;
861
+ secret?: string | undefined;
862
+ markdownSupport?: boolean | undefined;
863
+ }>>;
864
+ }, "strip", z.ZodTypeAny, {
865
+ whatsapp: {
866
+ enabled: boolean;
867
+ bridgeUrl: string;
868
+ allowFrom: string[];
869
+ };
870
+ telegram: {
871
+ enabled: boolean;
872
+ allowFrom: string[];
873
+ token: string;
874
+ proxy: string | null;
875
+ };
876
+ discord: {
877
+ enabled: boolean;
878
+ allowFrom: string[];
879
+ token: string;
880
+ gatewayUrl: string;
881
+ intents: number;
882
+ };
883
+ feishu: {
884
+ enabled: boolean;
885
+ appId: string;
886
+ allowFrom: string[];
887
+ appSecret: string;
888
+ encryptKey: string;
889
+ verificationToken: string;
890
+ };
891
+ mochat: {
892
+ sessions: string[];
893
+ enabled: boolean;
894
+ allowFrom: string[];
895
+ baseUrl: string;
896
+ socketUrl: string;
897
+ socketPath: string;
898
+ socketDisableMsgpack: boolean;
899
+ socketReconnectDelayMs: number;
900
+ socketMaxReconnectDelayMs: number;
901
+ socketConnectTimeoutMs: number;
902
+ refreshIntervalMs: number;
903
+ watchTimeoutMs: number;
904
+ watchLimit: number;
905
+ retryDelayMs: number;
906
+ maxRetryAttempts: number;
907
+ clawToken: string;
908
+ agentUserId: string;
909
+ panels: string[];
910
+ mention: {
911
+ requireInGroups: boolean;
912
+ };
913
+ groups: Record<string, {
914
+ requireMention: boolean;
915
+ }>;
916
+ replyDelayMode: string;
917
+ replyDelayMs: number;
918
+ };
919
+ dingtalk: {
920
+ enabled: boolean;
921
+ allowFrom: string[];
922
+ clientId: string;
923
+ clientSecret: string;
924
+ };
925
+ email: {
926
+ enabled: boolean;
927
+ allowFrom: string[];
928
+ consentGranted: boolean;
929
+ imapHost: string;
930
+ imapPort: number;
931
+ imapUsername: string;
932
+ imapPassword: string;
933
+ imapMailbox: string;
934
+ imapUseSsl: boolean;
935
+ smtpHost: string;
936
+ smtpPort: number;
937
+ smtpUsername: string;
938
+ smtpPassword: string;
939
+ smtpUseTls: boolean;
940
+ smtpUseSsl: boolean;
941
+ fromAddress: string;
942
+ autoReplyEnabled: boolean;
943
+ pollIntervalSeconds: number;
944
+ markSeen: boolean;
945
+ maxBodyChars: number;
946
+ subjectPrefix: string;
947
+ };
948
+ slack: {
949
+ enabled: boolean;
950
+ mode: string;
951
+ webhookPath: string;
952
+ botToken: string;
953
+ appToken: string;
954
+ userTokenReadOnly: boolean;
955
+ groupPolicy: string;
956
+ groupAllowFrom: string[];
957
+ dm: {
958
+ enabled: boolean;
959
+ allowFrom: string[];
960
+ policy: string;
961
+ };
962
+ };
963
+ qq: {
964
+ enabled: boolean;
965
+ appId: string;
966
+ allowFrom: string[];
967
+ secret: string;
968
+ markdownSupport: boolean;
969
+ };
970
+ }, {
971
+ whatsapp?: {
972
+ enabled?: boolean | undefined;
973
+ bridgeUrl?: string | undefined;
974
+ allowFrom?: string[] | undefined;
975
+ } | undefined;
976
+ telegram?: {
977
+ enabled?: boolean | undefined;
978
+ allowFrom?: string[] | undefined;
979
+ token?: string | undefined;
980
+ proxy?: string | null | undefined;
981
+ } | undefined;
982
+ discord?: {
983
+ enabled?: boolean | undefined;
984
+ allowFrom?: string[] | undefined;
985
+ token?: string | undefined;
986
+ gatewayUrl?: string | undefined;
987
+ intents?: number | undefined;
988
+ } | undefined;
989
+ feishu?: {
990
+ enabled?: boolean | undefined;
991
+ appId?: string | undefined;
992
+ allowFrom?: string[] | undefined;
993
+ appSecret?: string | undefined;
994
+ encryptKey?: string | undefined;
995
+ verificationToken?: string | undefined;
996
+ } | undefined;
997
+ mochat?: {
998
+ sessions?: string[] | undefined;
999
+ enabled?: boolean | undefined;
1000
+ allowFrom?: string[] | undefined;
1001
+ baseUrl?: string | undefined;
1002
+ socketUrl?: string | undefined;
1003
+ socketPath?: string | undefined;
1004
+ socketDisableMsgpack?: boolean | undefined;
1005
+ socketReconnectDelayMs?: number | undefined;
1006
+ socketMaxReconnectDelayMs?: number | undefined;
1007
+ socketConnectTimeoutMs?: number | undefined;
1008
+ refreshIntervalMs?: number | undefined;
1009
+ watchTimeoutMs?: number | undefined;
1010
+ watchLimit?: number | undefined;
1011
+ retryDelayMs?: number | undefined;
1012
+ maxRetryAttempts?: number | undefined;
1013
+ clawToken?: string | undefined;
1014
+ agentUserId?: string | undefined;
1015
+ panels?: string[] | undefined;
1016
+ mention?: {
1017
+ requireInGroups?: boolean | undefined;
1018
+ } | undefined;
1019
+ groups?: Record<string, {
1020
+ requireMention?: boolean | undefined;
1021
+ }> | undefined;
1022
+ replyDelayMode?: string | undefined;
1023
+ replyDelayMs?: number | undefined;
1024
+ } | undefined;
1025
+ dingtalk?: {
1026
+ enabled?: boolean | undefined;
1027
+ allowFrom?: string[] | undefined;
1028
+ clientId?: string | undefined;
1029
+ clientSecret?: string | undefined;
1030
+ } | undefined;
1031
+ email?: {
1032
+ enabled?: boolean | undefined;
1033
+ allowFrom?: string[] | undefined;
1034
+ consentGranted?: boolean | undefined;
1035
+ imapHost?: string | undefined;
1036
+ imapPort?: number | undefined;
1037
+ imapUsername?: string | undefined;
1038
+ imapPassword?: string | undefined;
1039
+ imapMailbox?: string | undefined;
1040
+ imapUseSsl?: boolean | undefined;
1041
+ smtpHost?: string | undefined;
1042
+ smtpPort?: number | undefined;
1043
+ smtpUsername?: string | undefined;
1044
+ smtpPassword?: string | undefined;
1045
+ smtpUseTls?: boolean | undefined;
1046
+ smtpUseSsl?: boolean | undefined;
1047
+ fromAddress?: string | undefined;
1048
+ autoReplyEnabled?: boolean | undefined;
1049
+ pollIntervalSeconds?: number | undefined;
1050
+ markSeen?: boolean | undefined;
1051
+ maxBodyChars?: number | undefined;
1052
+ subjectPrefix?: string | undefined;
1053
+ } | undefined;
1054
+ slack?: {
1055
+ enabled?: boolean | undefined;
1056
+ mode?: string | undefined;
1057
+ webhookPath?: string | undefined;
1058
+ botToken?: string | undefined;
1059
+ appToken?: string | undefined;
1060
+ userTokenReadOnly?: boolean | undefined;
1061
+ groupPolicy?: string | undefined;
1062
+ groupAllowFrom?: string[] | undefined;
1063
+ dm?: {
1064
+ enabled?: boolean | undefined;
1065
+ allowFrom?: string[] | undefined;
1066
+ policy?: string | undefined;
1067
+ } | undefined;
1068
+ } | undefined;
1069
+ qq?: {
1070
+ enabled?: boolean | undefined;
1071
+ appId?: string | undefined;
1072
+ allowFrom?: string[] | undefined;
1073
+ secret?: string | undefined;
1074
+ markdownSupport?: boolean | undefined;
1075
+ } | undefined;
1076
+ }>;
1077
+ declare const AgentDefaultsSchema: z.ZodObject<{
1078
+ workspace: z.ZodDefault<z.ZodString>;
1079
+ model: z.ZodDefault<z.ZodString>;
1080
+ maxTokens: z.ZodDefault<z.ZodNumber>;
1081
+ temperature: z.ZodDefault<z.ZodNumber>;
1082
+ maxToolIterations: z.ZodDefault<z.ZodNumber>;
1083
+ }, "strip", z.ZodTypeAny, {
1084
+ workspace: string;
1085
+ temperature: number;
1086
+ model: string;
1087
+ maxTokens: number;
1088
+ maxToolIterations: number;
1089
+ }, {
1090
+ workspace?: string | undefined;
1091
+ temperature?: number | undefined;
1092
+ model?: string | undefined;
1093
+ maxTokens?: number | undefined;
1094
+ maxToolIterations?: number | undefined;
1095
+ }>;
1096
+ declare const AgentsConfigSchema: z.ZodObject<{
1097
+ defaults: z.ZodDefault<z.ZodObject<{
1098
+ workspace: z.ZodDefault<z.ZodString>;
1099
+ model: z.ZodDefault<z.ZodString>;
1100
+ maxTokens: z.ZodDefault<z.ZodNumber>;
1101
+ temperature: z.ZodDefault<z.ZodNumber>;
1102
+ maxToolIterations: z.ZodDefault<z.ZodNumber>;
1103
+ }, "strip", z.ZodTypeAny, {
1104
+ workspace: string;
1105
+ temperature: number;
1106
+ model: string;
1107
+ maxTokens: number;
1108
+ maxToolIterations: number;
1109
+ }, {
1110
+ workspace?: string | undefined;
1111
+ temperature?: number | undefined;
1112
+ model?: string | undefined;
1113
+ maxTokens?: number | undefined;
1114
+ maxToolIterations?: number | undefined;
1115
+ }>>;
1116
+ }, "strip", z.ZodTypeAny, {
1117
+ defaults: {
1118
+ workspace: string;
1119
+ temperature: number;
1120
+ model: string;
1121
+ maxTokens: number;
1122
+ maxToolIterations: number;
1123
+ };
1124
+ }, {
1125
+ defaults?: {
1126
+ workspace?: string | undefined;
1127
+ temperature?: number | undefined;
1128
+ model?: string | undefined;
1129
+ maxTokens?: number | undefined;
1130
+ maxToolIterations?: number | undefined;
1131
+ } | undefined;
1132
+ }>;
1133
+ declare const ProviderConfigSchema: z.ZodObject<{
1134
+ apiKey: z.ZodDefault<z.ZodString>;
1135
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1136
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1137
+ }, "strip", z.ZodTypeAny, {
1138
+ apiKey: string;
1139
+ apiBase: string | null;
1140
+ extraHeaders: Record<string, string> | null;
1141
+ }, {
1142
+ apiKey?: string | undefined;
1143
+ apiBase?: string | null | undefined;
1144
+ extraHeaders?: Record<string, string> | null | undefined;
1145
+ }>;
1146
+ declare const ProvidersConfigSchema: z.ZodObject<{
1147
+ anthropic: z.ZodDefault<z.ZodObject<{
1148
+ apiKey: z.ZodDefault<z.ZodString>;
1149
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1150
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1151
+ }, "strip", z.ZodTypeAny, {
1152
+ apiKey: string;
1153
+ apiBase: string | null;
1154
+ extraHeaders: Record<string, string> | null;
1155
+ }, {
1156
+ apiKey?: string | undefined;
1157
+ apiBase?: string | null | undefined;
1158
+ extraHeaders?: Record<string, string> | null | undefined;
1159
+ }>>;
1160
+ openai: z.ZodDefault<z.ZodObject<{
1161
+ apiKey: z.ZodDefault<z.ZodString>;
1162
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1163
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1164
+ }, "strip", z.ZodTypeAny, {
1165
+ apiKey: string;
1166
+ apiBase: string | null;
1167
+ extraHeaders: Record<string, string> | null;
1168
+ }, {
1169
+ apiKey?: string | undefined;
1170
+ apiBase?: string | null | undefined;
1171
+ extraHeaders?: Record<string, string> | null | undefined;
1172
+ }>>;
1173
+ openrouter: z.ZodDefault<z.ZodObject<{
1174
+ apiKey: z.ZodDefault<z.ZodString>;
1175
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1176
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1177
+ }, "strip", z.ZodTypeAny, {
1178
+ apiKey: string;
1179
+ apiBase: string | null;
1180
+ extraHeaders: Record<string, string> | null;
1181
+ }, {
1182
+ apiKey?: string | undefined;
1183
+ apiBase?: string | null | undefined;
1184
+ extraHeaders?: Record<string, string> | null | undefined;
1185
+ }>>;
1186
+ deepseek: z.ZodDefault<z.ZodObject<{
1187
+ apiKey: z.ZodDefault<z.ZodString>;
1188
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1189
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1190
+ }, "strip", z.ZodTypeAny, {
1191
+ apiKey: string;
1192
+ apiBase: string | null;
1193
+ extraHeaders: Record<string, string> | null;
1194
+ }, {
1195
+ apiKey?: string | undefined;
1196
+ apiBase?: string | null | undefined;
1197
+ extraHeaders?: Record<string, string> | null | undefined;
1198
+ }>>;
1199
+ groq: z.ZodDefault<z.ZodObject<{
1200
+ apiKey: z.ZodDefault<z.ZodString>;
1201
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1202
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1203
+ }, "strip", z.ZodTypeAny, {
1204
+ apiKey: string;
1205
+ apiBase: string | null;
1206
+ extraHeaders: Record<string, string> | null;
1207
+ }, {
1208
+ apiKey?: string | undefined;
1209
+ apiBase?: string | null | undefined;
1210
+ extraHeaders?: Record<string, string> | null | undefined;
1211
+ }>>;
1212
+ zhipu: z.ZodDefault<z.ZodObject<{
1213
+ apiKey: z.ZodDefault<z.ZodString>;
1214
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1215
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1216
+ }, "strip", z.ZodTypeAny, {
1217
+ apiKey: string;
1218
+ apiBase: string | null;
1219
+ extraHeaders: Record<string, string> | null;
1220
+ }, {
1221
+ apiKey?: string | undefined;
1222
+ apiBase?: string | null | undefined;
1223
+ extraHeaders?: Record<string, string> | null | undefined;
1224
+ }>>;
1225
+ dashscope: z.ZodDefault<z.ZodObject<{
1226
+ apiKey: z.ZodDefault<z.ZodString>;
1227
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1228
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1229
+ }, "strip", z.ZodTypeAny, {
1230
+ apiKey: string;
1231
+ apiBase: string | null;
1232
+ extraHeaders: Record<string, string> | null;
1233
+ }, {
1234
+ apiKey?: string | undefined;
1235
+ apiBase?: string | null | undefined;
1236
+ extraHeaders?: Record<string, string> | null | undefined;
1237
+ }>>;
1238
+ vllm: z.ZodDefault<z.ZodObject<{
1239
+ apiKey: z.ZodDefault<z.ZodString>;
1240
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1241
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1242
+ }, "strip", z.ZodTypeAny, {
1243
+ apiKey: string;
1244
+ apiBase: string | null;
1245
+ extraHeaders: Record<string, string> | null;
1246
+ }, {
1247
+ apiKey?: string | undefined;
1248
+ apiBase?: string | null | undefined;
1249
+ extraHeaders?: Record<string, string> | null | undefined;
1250
+ }>>;
1251
+ gemini: z.ZodDefault<z.ZodObject<{
1252
+ apiKey: z.ZodDefault<z.ZodString>;
1253
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1254
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1255
+ }, "strip", z.ZodTypeAny, {
1256
+ apiKey: string;
1257
+ apiBase: string | null;
1258
+ extraHeaders: Record<string, string> | null;
1259
+ }, {
1260
+ apiKey?: string | undefined;
1261
+ apiBase?: string | null | undefined;
1262
+ extraHeaders?: Record<string, string> | null | undefined;
1263
+ }>>;
1264
+ moonshot: z.ZodDefault<z.ZodObject<{
1265
+ apiKey: z.ZodDefault<z.ZodString>;
1266
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1267
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1268
+ }, "strip", z.ZodTypeAny, {
1269
+ apiKey: string;
1270
+ apiBase: string | null;
1271
+ extraHeaders: Record<string, string> | null;
1272
+ }, {
1273
+ apiKey?: string | undefined;
1274
+ apiBase?: string | null | undefined;
1275
+ extraHeaders?: Record<string, string> | null | undefined;
1276
+ }>>;
1277
+ minimax: z.ZodDefault<z.ZodObject<{
1278
+ apiKey: z.ZodDefault<z.ZodString>;
1279
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1280
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1281
+ }, "strip", z.ZodTypeAny, {
1282
+ apiKey: string;
1283
+ apiBase: string | null;
1284
+ extraHeaders: Record<string, string> | null;
1285
+ }, {
1286
+ apiKey?: string | undefined;
1287
+ apiBase?: string | null | undefined;
1288
+ extraHeaders?: Record<string, string> | null | undefined;
1289
+ }>>;
1290
+ aihubmix: z.ZodDefault<z.ZodObject<{
1291
+ apiKey: z.ZodDefault<z.ZodString>;
1292
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1293
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
1294
+ }, "strip", z.ZodTypeAny, {
1295
+ apiKey: string;
1296
+ apiBase: string | null;
1297
+ extraHeaders: Record<string, string> | null;
1298
+ }, {
1299
+ apiKey?: string | undefined;
1300
+ apiBase?: string | null | undefined;
1301
+ extraHeaders?: Record<string, string> | null | undefined;
1302
+ }>>;
1303
+ }, "strip", z.ZodTypeAny, {
1304
+ openrouter: {
1305
+ apiKey: string;
1306
+ apiBase: string | null;
1307
+ extraHeaders: Record<string, string> | null;
1308
+ };
1309
+ aihubmix: {
1310
+ apiKey: string;
1311
+ apiBase: string | null;
1312
+ extraHeaders: Record<string, string> | null;
1313
+ };
1314
+ openai: {
1315
+ apiKey: string;
1316
+ apiBase: string | null;
1317
+ extraHeaders: Record<string, string> | null;
1318
+ };
1319
+ anthropic: {
1320
+ apiKey: string;
1321
+ apiBase: string | null;
1322
+ extraHeaders: Record<string, string> | null;
1323
+ };
1324
+ deepseek: {
1325
+ apiKey: string;
1326
+ apiBase: string | null;
1327
+ extraHeaders: Record<string, string> | null;
1328
+ };
1329
+ gemini: {
1330
+ apiKey: string;
1331
+ apiBase: string | null;
1332
+ extraHeaders: Record<string, string> | null;
1333
+ };
1334
+ zhipu: {
1335
+ apiKey: string;
1336
+ apiBase: string | null;
1337
+ extraHeaders: Record<string, string> | null;
1338
+ };
1339
+ dashscope: {
1340
+ apiKey: string;
1341
+ apiBase: string | null;
1342
+ extraHeaders: Record<string, string> | null;
1343
+ };
1344
+ moonshot: {
1345
+ apiKey: string;
1346
+ apiBase: string | null;
1347
+ extraHeaders: Record<string, string> | null;
1348
+ };
1349
+ minimax: {
1350
+ apiKey: string;
1351
+ apiBase: string | null;
1352
+ extraHeaders: Record<string, string> | null;
1353
+ };
1354
+ vllm: {
1355
+ apiKey: string;
1356
+ apiBase: string | null;
1357
+ extraHeaders: Record<string, string> | null;
1358
+ };
1359
+ groq: {
1360
+ apiKey: string;
1361
+ apiBase: string | null;
1362
+ extraHeaders: Record<string, string> | null;
1363
+ };
1364
+ }, {
1365
+ openrouter?: {
1366
+ apiKey?: string | undefined;
1367
+ apiBase?: string | null | undefined;
1368
+ extraHeaders?: Record<string, string> | null | undefined;
1369
+ } | undefined;
1370
+ aihubmix?: {
1371
+ apiKey?: string | undefined;
1372
+ apiBase?: string | null | undefined;
1373
+ extraHeaders?: Record<string, string> | null | undefined;
1374
+ } | undefined;
1375
+ openai?: {
1376
+ apiKey?: string | undefined;
1377
+ apiBase?: string | null | undefined;
1378
+ extraHeaders?: Record<string, string> | null | undefined;
1379
+ } | undefined;
1380
+ anthropic?: {
1381
+ apiKey?: string | undefined;
1382
+ apiBase?: string | null | undefined;
1383
+ extraHeaders?: Record<string, string> | null | undefined;
1384
+ } | undefined;
1385
+ deepseek?: {
1386
+ apiKey?: string | undefined;
1387
+ apiBase?: string | null | undefined;
1388
+ extraHeaders?: Record<string, string> | null | undefined;
1389
+ } | undefined;
1390
+ gemini?: {
1391
+ apiKey?: string | undefined;
1392
+ apiBase?: string | null | undefined;
1393
+ extraHeaders?: Record<string, string> | null | undefined;
1394
+ } | undefined;
1395
+ zhipu?: {
1396
+ apiKey?: string | undefined;
1397
+ apiBase?: string | null | undefined;
1398
+ extraHeaders?: Record<string, string> | null | undefined;
1399
+ } | undefined;
1400
+ dashscope?: {
1401
+ apiKey?: string | undefined;
1402
+ apiBase?: string | null | undefined;
1403
+ extraHeaders?: Record<string, string> | null | undefined;
1404
+ } | undefined;
1405
+ moonshot?: {
1406
+ apiKey?: string | undefined;
1407
+ apiBase?: string | null | undefined;
1408
+ extraHeaders?: Record<string, string> | null | undefined;
1409
+ } | undefined;
1410
+ minimax?: {
1411
+ apiKey?: string | undefined;
1412
+ apiBase?: string | null | undefined;
1413
+ extraHeaders?: Record<string, string> | null | undefined;
1414
+ } | undefined;
1415
+ vllm?: {
1416
+ apiKey?: string | undefined;
1417
+ apiBase?: string | null | undefined;
1418
+ extraHeaders?: Record<string, string> | null | undefined;
1419
+ } | undefined;
1420
+ groq?: {
1421
+ apiKey?: string | undefined;
1422
+ apiBase?: string | null | undefined;
1423
+ extraHeaders?: Record<string, string> | null | undefined;
1424
+ } | undefined;
1425
+ }>;
1426
+ declare const GatewayConfigSchema: z.ZodObject<{
1427
+ host: z.ZodDefault<z.ZodString>;
1428
+ port: z.ZodDefault<z.ZodNumber>;
1429
+ }, "strip", z.ZodTypeAny, {
1430
+ host: string;
1431
+ port: number;
1432
+ }, {
1433
+ host?: string | undefined;
1434
+ port?: number | undefined;
1435
+ }>;
1436
+ declare const UiConfigSchema: z.ZodObject<{
1437
+ enabled: z.ZodDefault<z.ZodBoolean>;
1438
+ host: z.ZodDefault<z.ZodString>;
1439
+ port: z.ZodDefault<z.ZodNumber>;
1440
+ open: z.ZodDefault<z.ZodBoolean>;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ enabled: boolean;
1443
+ open: boolean;
1444
+ host: string;
1445
+ port: number;
1446
+ }, {
1447
+ enabled?: boolean | undefined;
1448
+ open?: boolean | undefined;
1449
+ host?: string | undefined;
1450
+ port?: number | undefined;
1451
+ }>;
1452
+ declare const WebSearchConfigSchema: z.ZodObject<{
1453
+ apiKey: z.ZodDefault<z.ZodString>;
1454
+ maxResults: z.ZodDefault<z.ZodNumber>;
1455
+ }, "strip", z.ZodTypeAny, {
1456
+ maxResults: number;
1457
+ apiKey: string;
1458
+ }, {
1459
+ maxResults?: number | undefined;
1460
+ apiKey?: string | undefined;
1461
+ }>;
1462
+ declare const WebToolsConfigSchema: z.ZodObject<{
1463
+ search: z.ZodDefault<z.ZodObject<{
1464
+ apiKey: z.ZodDefault<z.ZodString>;
1465
+ maxResults: z.ZodDefault<z.ZodNumber>;
1466
+ }, "strip", z.ZodTypeAny, {
1467
+ maxResults: number;
1468
+ apiKey: string;
1469
+ }, {
1470
+ maxResults?: number | undefined;
1471
+ apiKey?: string | undefined;
1472
+ }>>;
1473
+ }, "strip", z.ZodTypeAny, {
1474
+ search: {
1475
+ maxResults: number;
1476
+ apiKey: string;
1477
+ };
1478
+ }, {
1479
+ search?: {
1480
+ maxResults?: number | undefined;
1481
+ apiKey?: string | undefined;
1482
+ } | undefined;
1483
+ }>;
1484
+ declare const ExecToolConfigSchema: z.ZodObject<{
1485
+ timeout: z.ZodDefault<z.ZodNumber>;
1486
+ }, "strip", z.ZodTypeAny, {
1487
+ timeout: number;
1488
+ }, {
1489
+ timeout?: number | undefined;
1490
+ }>;
1491
+ declare const ToolsConfigSchema: z.ZodObject<{
1492
+ web: z.ZodDefault<z.ZodObject<{
1493
+ search: z.ZodDefault<z.ZodObject<{
1494
+ apiKey: z.ZodDefault<z.ZodString>;
1495
+ maxResults: z.ZodDefault<z.ZodNumber>;
1496
+ }, "strip", z.ZodTypeAny, {
1497
+ maxResults: number;
1498
+ apiKey: string;
1499
+ }, {
1500
+ maxResults?: number | undefined;
1501
+ apiKey?: string | undefined;
1502
+ }>>;
1503
+ }, "strip", z.ZodTypeAny, {
1504
+ search: {
1505
+ maxResults: number;
1506
+ apiKey: string;
1507
+ };
1508
+ }, {
1509
+ search?: {
1510
+ maxResults?: number | undefined;
1511
+ apiKey?: string | undefined;
1512
+ } | undefined;
1513
+ }>>;
1514
+ exec: z.ZodDefault<z.ZodObject<{
1515
+ timeout: z.ZodDefault<z.ZodNumber>;
1516
+ }, "strip", z.ZodTypeAny, {
1517
+ timeout: number;
1518
+ }, {
1519
+ timeout?: number | undefined;
1520
+ }>>;
1521
+ restrictToWorkspace: z.ZodDefault<z.ZodBoolean>;
1522
+ }, "strip", z.ZodTypeAny, {
1523
+ exec: {
1524
+ timeout: number;
1525
+ };
1526
+ web: {
1527
+ search: {
1528
+ maxResults: number;
1529
+ apiKey: string;
1530
+ };
1531
+ };
1532
+ restrictToWorkspace: boolean;
1533
+ }, {
1534
+ exec?: {
1535
+ timeout?: number | undefined;
1536
+ } | undefined;
1537
+ web?: {
1538
+ search?: {
1539
+ maxResults?: number | undefined;
1540
+ apiKey?: string | undefined;
1541
+ } | undefined;
1542
+ } | undefined;
1543
+ restrictToWorkspace?: boolean | undefined;
1544
+ }>;
1545
+ declare const ConfigSchema: z.ZodObject<{
1546
+ agents: z.ZodDefault<z.ZodObject<{
1547
+ defaults: z.ZodDefault<z.ZodObject<{
1548
+ workspace: z.ZodDefault<z.ZodString>;
1549
+ model: z.ZodDefault<z.ZodString>;
1550
+ maxTokens: z.ZodDefault<z.ZodNumber>;
1551
+ temperature: z.ZodDefault<z.ZodNumber>;
1552
+ maxToolIterations: z.ZodDefault<z.ZodNumber>;
1553
+ }, "strip", z.ZodTypeAny, {
1554
+ workspace: string;
1555
+ temperature: number;
1556
+ model: string;
1557
+ maxTokens: number;
1558
+ maxToolIterations: number;
1559
+ }, {
1560
+ workspace?: string | undefined;
1561
+ temperature?: number | undefined;
1562
+ model?: string | undefined;
1563
+ maxTokens?: number | undefined;
1564
+ maxToolIterations?: number | undefined;
1565
+ }>>;
1566
+ }, "strip", z.ZodTypeAny, {
1567
+ defaults: {
1568
+ workspace: string;
1569
+ temperature: number;
1570
+ model: string;
1571
+ maxTokens: number;
1572
+ maxToolIterations: number;
1573
+ };
1574
+ }, {
1575
+ defaults?: {
1576
+ workspace?: string | undefined;
1577
+ temperature?: number | undefined;
1578
+ model?: string | undefined;
1579
+ maxTokens?: number | undefined;
1580
+ maxToolIterations?: number | undefined;
1581
+ } | undefined;
1582
+ }>>;
1583
+ channels: z.ZodDefault<z.ZodObject<{
1584
+ whatsapp: z.ZodDefault<z.ZodObject<{
1585
+ enabled: z.ZodDefault<z.ZodBoolean>;
1586
+ bridgeUrl: z.ZodDefault<z.ZodString>;
1587
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1588
+ }, "strip", z.ZodTypeAny, {
1589
+ enabled: boolean;
1590
+ bridgeUrl: string;
1591
+ allowFrom: string[];
1592
+ }, {
1593
+ enabled?: boolean | undefined;
1594
+ bridgeUrl?: string | undefined;
1595
+ allowFrom?: string[] | undefined;
1596
+ }>>;
1597
+ telegram: z.ZodDefault<z.ZodObject<{
1598
+ enabled: z.ZodDefault<z.ZodBoolean>;
1599
+ token: z.ZodDefault<z.ZodString>;
1600
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1601
+ proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1602
+ }, "strip", z.ZodTypeAny, {
1603
+ enabled: boolean;
1604
+ allowFrom: string[];
1605
+ token: string;
1606
+ proxy: string | null;
1607
+ }, {
1608
+ enabled?: boolean | undefined;
1609
+ allowFrom?: string[] | undefined;
1610
+ token?: string | undefined;
1611
+ proxy?: string | null | undefined;
1612
+ }>>;
1613
+ discord: z.ZodDefault<z.ZodObject<{
1614
+ enabled: z.ZodDefault<z.ZodBoolean>;
1615
+ token: z.ZodDefault<z.ZodString>;
1616
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1617
+ gatewayUrl: z.ZodDefault<z.ZodString>;
1618
+ intents: z.ZodDefault<z.ZodNumber>;
1619
+ }, "strip", z.ZodTypeAny, {
1620
+ enabled: boolean;
1621
+ allowFrom: string[];
1622
+ token: string;
1623
+ gatewayUrl: string;
1624
+ intents: number;
1625
+ }, {
1626
+ enabled?: boolean | undefined;
1627
+ allowFrom?: string[] | undefined;
1628
+ token?: string | undefined;
1629
+ gatewayUrl?: string | undefined;
1630
+ intents?: number | undefined;
1631
+ }>>;
1632
+ feishu: z.ZodDefault<z.ZodObject<{
1633
+ enabled: z.ZodDefault<z.ZodBoolean>;
1634
+ appId: z.ZodDefault<z.ZodString>;
1635
+ appSecret: z.ZodDefault<z.ZodString>;
1636
+ encryptKey: z.ZodDefault<z.ZodString>;
1637
+ verificationToken: z.ZodDefault<z.ZodString>;
1638
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1639
+ }, "strip", z.ZodTypeAny, {
1640
+ enabled: boolean;
1641
+ appId: string;
1642
+ allowFrom: string[];
1643
+ appSecret: string;
1644
+ encryptKey: string;
1645
+ verificationToken: string;
1646
+ }, {
1647
+ enabled?: boolean | undefined;
1648
+ appId?: string | undefined;
1649
+ allowFrom?: string[] | undefined;
1650
+ appSecret?: string | undefined;
1651
+ encryptKey?: string | undefined;
1652
+ verificationToken?: string | undefined;
1653
+ }>>;
1654
+ mochat: z.ZodDefault<z.ZodObject<{
1655
+ enabled: z.ZodDefault<z.ZodBoolean>;
1656
+ baseUrl: z.ZodDefault<z.ZodString>;
1657
+ socketUrl: z.ZodDefault<z.ZodString>;
1658
+ socketPath: z.ZodDefault<z.ZodString>;
1659
+ socketDisableMsgpack: z.ZodDefault<z.ZodBoolean>;
1660
+ socketReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
1661
+ socketMaxReconnectDelayMs: z.ZodDefault<z.ZodNumber>;
1662
+ socketConnectTimeoutMs: z.ZodDefault<z.ZodNumber>;
1663
+ refreshIntervalMs: z.ZodDefault<z.ZodNumber>;
1664
+ watchTimeoutMs: z.ZodDefault<z.ZodNumber>;
1665
+ watchLimit: z.ZodDefault<z.ZodNumber>;
1666
+ retryDelayMs: z.ZodDefault<z.ZodNumber>;
1667
+ maxRetryAttempts: z.ZodDefault<z.ZodNumber>;
1668
+ clawToken: z.ZodDefault<z.ZodString>;
1669
+ agentUserId: z.ZodDefault<z.ZodString>;
1670
+ sessions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1671
+ panels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1672
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1673
+ mention: z.ZodDefault<z.ZodObject<{
1674
+ requireInGroups: z.ZodDefault<z.ZodBoolean>;
1675
+ }, "strip", z.ZodTypeAny, {
1676
+ requireInGroups: boolean;
1677
+ }, {
1678
+ requireInGroups?: boolean | undefined;
1679
+ }>>;
1680
+ groups: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1681
+ requireMention: z.ZodDefault<z.ZodBoolean>;
1682
+ }, "strip", z.ZodTypeAny, {
1683
+ requireMention: boolean;
1684
+ }, {
1685
+ requireMention?: boolean | undefined;
1686
+ }>>>;
1687
+ replyDelayMode: z.ZodDefault<z.ZodString>;
1688
+ replyDelayMs: z.ZodDefault<z.ZodNumber>;
1689
+ }, "strip", z.ZodTypeAny, {
1690
+ sessions: string[];
1691
+ enabled: boolean;
1692
+ allowFrom: string[];
1693
+ baseUrl: string;
1694
+ socketUrl: string;
1695
+ socketPath: string;
1696
+ socketDisableMsgpack: boolean;
1697
+ socketReconnectDelayMs: number;
1698
+ socketMaxReconnectDelayMs: number;
1699
+ socketConnectTimeoutMs: number;
1700
+ refreshIntervalMs: number;
1701
+ watchTimeoutMs: number;
1702
+ watchLimit: number;
1703
+ retryDelayMs: number;
1704
+ maxRetryAttempts: number;
1705
+ clawToken: string;
1706
+ agentUserId: string;
1707
+ panels: string[];
1708
+ mention: {
1709
+ requireInGroups: boolean;
1710
+ };
1711
+ groups: Record<string, {
1712
+ requireMention: boolean;
1713
+ }>;
1714
+ replyDelayMode: string;
1715
+ replyDelayMs: number;
1716
+ }, {
1717
+ sessions?: string[] | undefined;
1718
+ enabled?: boolean | undefined;
1719
+ allowFrom?: string[] | undefined;
1720
+ baseUrl?: string | undefined;
1721
+ socketUrl?: string | undefined;
1722
+ socketPath?: string | undefined;
1723
+ socketDisableMsgpack?: boolean | undefined;
1724
+ socketReconnectDelayMs?: number | undefined;
1725
+ socketMaxReconnectDelayMs?: number | undefined;
1726
+ socketConnectTimeoutMs?: number | undefined;
1727
+ refreshIntervalMs?: number | undefined;
1728
+ watchTimeoutMs?: number | undefined;
1729
+ watchLimit?: number | undefined;
1730
+ retryDelayMs?: number | undefined;
1731
+ maxRetryAttempts?: number | undefined;
1732
+ clawToken?: string | undefined;
1733
+ agentUserId?: string | undefined;
1734
+ panels?: string[] | undefined;
1735
+ mention?: {
1736
+ requireInGroups?: boolean | undefined;
1737
+ } | undefined;
1738
+ groups?: Record<string, {
1739
+ requireMention?: boolean | undefined;
1740
+ }> | undefined;
1741
+ replyDelayMode?: string | undefined;
1742
+ replyDelayMs?: number | undefined;
1743
+ }>>;
1744
+ dingtalk: z.ZodDefault<z.ZodObject<{
1745
+ enabled: z.ZodDefault<z.ZodBoolean>;
1746
+ clientId: z.ZodDefault<z.ZodString>;
1747
+ clientSecret: z.ZodDefault<z.ZodString>;
1748
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1749
+ }, "strip", z.ZodTypeAny, {
1750
+ enabled: boolean;
1751
+ allowFrom: string[];
1752
+ clientId: string;
1753
+ clientSecret: string;
1754
+ }, {
1755
+ enabled?: boolean | undefined;
1756
+ allowFrom?: string[] | undefined;
1757
+ clientId?: string | undefined;
1758
+ clientSecret?: string | undefined;
1759
+ }>>;
1760
+ email: z.ZodDefault<z.ZodObject<{
1761
+ enabled: z.ZodDefault<z.ZodBoolean>;
1762
+ consentGranted: z.ZodDefault<z.ZodBoolean>;
1763
+ imapHost: z.ZodDefault<z.ZodString>;
1764
+ imapPort: z.ZodDefault<z.ZodNumber>;
1765
+ imapUsername: z.ZodDefault<z.ZodString>;
1766
+ imapPassword: z.ZodDefault<z.ZodString>;
1767
+ imapMailbox: z.ZodDefault<z.ZodString>;
1768
+ imapUseSsl: z.ZodDefault<z.ZodBoolean>;
1769
+ smtpHost: z.ZodDefault<z.ZodString>;
1770
+ smtpPort: z.ZodDefault<z.ZodNumber>;
1771
+ smtpUsername: z.ZodDefault<z.ZodString>;
1772
+ smtpPassword: z.ZodDefault<z.ZodString>;
1773
+ smtpUseTls: z.ZodDefault<z.ZodBoolean>;
1774
+ smtpUseSsl: z.ZodDefault<z.ZodBoolean>;
1775
+ fromAddress: z.ZodDefault<z.ZodString>;
1776
+ autoReplyEnabled: z.ZodDefault<z.ZodBoolean>;
1777
+ pollIntervalSeconds: z.ZodDefault<z.ZodNumber>;
1778
+ markSeen: z.ZodDefault<z.ZodBoolean>;
1779
+ maxBodyChars: z.ZodDefault<z.ZodNumber>;
1780
+ subjectPrefix: z.ZodDefault<z.ZodString>;
1781
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1782
+ }, "strip", z.ZodTypeAny, {
1783
+ enabled: boolean;
1784
+ allowFrom: string[];
1785
+ consentGranted: boolean;
1786
+ imapHost: string;
1787
+ imapPort: number;
1788
+ imapUsername: string;
1789
+ imapPassword: string;
1790
+ imapMailbox: string;
1791
+ imapUseSsl: boolean;
1792
+ smtpHost: string;
1793
+ smtpPort: number;
1794
+ smtpUsername: string;
1795
+ smtpPassword: string;
1796
+ smtpUseTls: boolean;
1797
+ smtpUseSsl: boolean;
1798
+ fromAddress: string;
1799
+ autoReplyEnabled: boolean;
1800
+ pollIntervalSeconds: number;
1801
+ markSeen: boolean;
1802
+ maxBodyChars: number;
1803
+ subjectPrefix: string;
1804
+ }, {
1805
+ enabled?: boolean | undefined;
1806
+ allowFrom?: string[] | undefined;
1807
+ consentGranted?: boolean | undefined;
1808
+ imapHost?: string | undefined;
1809
+ imapPort?: number | undefined;
1810
+ imapUsername?: string | undefined;
1811
+ imapPassword?: string | undefined;
1812
+ imapMailbox?: string | undefined;
1813
+ imapUseSsl?: boolean | undefined;
1814
+ smtpHost?: string | undefined;
1815
+ smtpPort?: number | undefined;
1816
+ smtpUsername?: string | undefined;
1817
+ smtpPassword?: string | undefined;
1818
+ smtpUseTls?: boolean | undefined;
1819
+ smtpUseSsl?: boolean | undefined;
1820
+ fromAddress?: string | undefined;
1821
+ autoReplyEnabled?: boolean | undefined;
1822
+ pollIntervalSeconds?: number | undefined;
1823
+ markSeen?: boolean | undefined;
1824
+ maxBodyChars?: number | undefined;
1825
+ subjectPrefix?: string | undefined;
1826
+ }>>;
1827
+ slack: z.ZodDefault<z.ZodObject<{
1828
+ enabled: z.ZodDefault<z.ZodBoolean>;
1829
+ mode: z.ZodDefault<z.ZodString>;
1830
+ webhookPath: z.ZodDefault<z.ZodString>;
1831
+ botToken: z.ZodDefault<z.ZodString>;
1832
+ appToken: z.ZodDefault<z.ZodString>;
1833
+ userTokenReadOnly: z.ZodDefault<z.ZodBoolean>;
1834
+ groupPolicy: z.ZodDefault<z.ZodString>;
1835
+ groupAllowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1836
+ dm: z.ZodDefault<z.ZodObject<{
1837
+ enabled: z.ZodDefault<z.ZodBoolean>;
1838
+ policy: z.ZodDefault<z.ZodString>;
1839
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1840
+ }, "strip", z.ZodTypeAny, {
1841
+ enabled: boolean;
1842
+ allowFrom: string[];
1843
+ policy: string;
1844
+ }, {
1845
+ enabled?: boolean | undefined;
1846
+ allowFrom?: string[] | undefined;
1847
+ policy?: string | undefined;
1848
+ }>>;
1849
+ }, "strip", z.ZodTypeAny, {
1850
+ enabled: boolean;
1851
+ mode: string;
1852
+ webhookPath: string;
1853
+ botToken: string;
1854
+ appToken: string;
1855
+ userTokenReadOnly: boolean;
1856
+ groupPolicy: string;
1857
+ groupAllowFrom: string[];
1858
+ dm: {
1859
+ enabled: boolean;
1860
+ allowFrom: string[];
1861
+ policy: string;
1862
+ };
1863
+ }, {
1864
+ enabled?: boolean | undefined;
1865
+ mode?: string | undefined;
1866
+ webhookPath?: string | undefined;
1867
+ botToken?: string | undefined;
1868
+ appToken?: string | undefined;
1869
+ userTokenReadOnly?: boolean | undefined;
1870
+ groupPolicy?: string | undefined;
1871
+ groupAllowFrom?: string[] | undefined;
1872
+ dm?: {
1873
+ enabled?: boolean | undefined;
1874
+ allowFrom?: string[] | undefined;
1875
+ policy?: string | undefined;
1876
+ } | undefined;
1877
+ }>>;
1878
+ qq: z.ZodDefault<z.ZodObject<{
1879
+ enabled: z.ZodDefault<z.ZodBoolean>;
1880
+ appId: z.ZodDefault<z.ZodString>;
1881
+ secret: z.ZodDefault<z.ZodString>;
1882
+ markdownSupport: z.ZodDefault<z.ZodBoolean>;
1883
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1884
+ }, "strip", z.ZodTypeAny, {
1885
+ enabled: boolean;
1886
+ appId: string;
1887
+ allowFrom: string[];
1888
+ secret: string;
1889
+ markdownSupport: boolean;
1890
+ }, {
1891
+ enabled?: boolean | undefined;
1892
+ appId?: string | undefined;
1893
+ allowFrom?: string[] | undefined;
1894
+ secret?: string | undefined;
1895
+ markdownSupport?: boolean | undefined;
1896
+ }>>;
1897
+ }, "strip", z.ZodTypeAny, {
1898
+ whatsapp: {
1899
+ enabled: boolean;
1900
+ bridgeUrl: string;
1901
+ allowFrom: string[];
1902
+ };
1903
+ telegram: {
1904
+ enabled: boolean;
1905
+ allowFrom: string[];
1906
+ token: string;
1907
+ proxy: string | null;
1908
+ };
1909
+ discord: {
1910
+ enabled: boolean;
1911
+ allowFrom: string[];
1912
+ token: string;
1913
+ gatewayUrl: string;
1914
+ intents: number;
1915
+ };
1916
+ feishu: {
1917
+ enabled: boolean;
1918
+ appId: string;
1919
+ allowFrom: string[];
1920
+ appSecret: string;
1921
+ encryptKey: string;
1922
+ verificationToken: string;
1923
+ };
1924
+ mochat: {
1925
+ sessions: string[];
1926
+ enabled: boolean;
1927
+ allowFrom: string[];
1928
+ baseUrl: string;
1929
+ socketUrl: string;
1930
+ socketPath: string;
1931
+ socketDisableMsgpack: boolean;
1932
+ socketReconnectDelayMs: number;
1933
+ socketMaxReconnectDelayMs: number;
1934
+ socketConnectTimeoutMs: number;
1935
+ refreshIntervalMs: number;
1936
+ watchTimeoutMs: number;
1937
+ watchLimit: number;
1938
+ retryDelayMs: number;
1939
+ maxRetryAttempts: number;
1940
+ clawToken: string;
1941
+ agentUserId: string;
1942
+ panels: string[];
1943
+ mention: {
1944
+ requireInGroups: boolean;
1945
+ };
1946
+ groups: Record<string, {
1947
+ requireMention: boolean;
1948
+ }>;
1949
+ replyDelayMode: string;
1950
+ replyDelayMs: number;
1951
+ };
1952
+ dingtalk: {
1953
+ enabled: boolean;
1954
+ allowFrom: string[];
1955
+ clientId: string;
1956
+ clientSecret: string;
1957
+ };
1958
+ email: {
1959
+ enabled: boolean;
1960
+ allowFrom: string[];
1961
+ consentGranted: boolean;
1962
+ imapHost: string;
1963
+ imapPort: number;
1964
+ imapUsername: string;
1965
+ imapPassword: string;
1966
+ imapMailbox: string;
1967
+ imapUseSsl: boolean;
1968
+ smtpHost: string;
1969
+ smtpPort: number;
1970
+ smtpUsername: string;
1971
+ smtpPassword: string;
1972
+ smtpUseTls: boolean;
1973
+ smtpUseSsl: boolean;
1974
+ fromAddress: string;
1975
+ autoReplyEnabled: boolean;
1976
+ pollIntervalSeconds: number;
1977
+ markSeen: boolean;
1978
+ maxBodyChars: number;
1979
+ subjectPrefix: string;
1980
+ };
1981
+ slack: {
1982
+ enabled: boolean;
1983
+ mode: string;
1984
+ webhookPath: string;
1985
+ botToken: string;
1986
+ appToken: string;
1987
+ userTokenReadOnly: boolean;
1988
+ groupPolicy: string;
1989
+ groupAllowFrom: string[];
1990
+ dm: {
1991
+ enabled: boolean;
1992
+ allowFrom: string[];
1993
+ policy: string;
1994
+ };
1995
+ };
1996
+ qq: {
1997
+ enabled: boolean;
1998
+ appId: string;
1999
+ allowFrom: string[];
2000
+ secret: string;
2001
+ markdownSupport: boolean;
2002
+ };
2003
+ }, {
2004
+ whatsapp?: {
2005
+ enabled?: boolean | undefined;
2006
+ bridgeUrl?: string | undefined;
2007
+ allowFrom?: string[] | undefined;
2008
+ } | undefined;
2009
+ telegram?: {
2010
+ enabled?: boolean | undefined;
2011
+ allowFrom?: string[] | undefined;
2012
+ token?: string | undefined;
2013
+ proxy?: string | null | undefined;
2014
+ } | undefined;
2015
+ discord?: {
2016
+ enabled?: boolean | undefined;
2017
+ allowFrom?: string[] | undefined;
2018
+ token?: string | undefined;
2019
+ gatewayUrl?: string | undefined;
2020
+ intents?: number | undefined;
2021
+ } | undefined;
2022
+ feishu?: {
2023
+ enabled?: boolean | undefined;
2024
+ appId?: string | undefined;
2025
+ allowFrom?: string[] | undefined;
2026
+ appSecret?: string | undefined;
2027
+ encryptKey?: string | undefined;
2028
+ verificationToken?: string | undefined;
2029
+ } | undefined;
2030
+ mochat?: {
2031
+ sessions?: string[] | undefined;
2032
+ enabled?: boolean | undefined;
2033
+ allowFrom?: string[] | undefined;
2034
+ baseUrl?: string | undefined;
2035
+ socketUrl?: string | undefined;
2036
+ socketPath?: string | undefined;
2037
+ socketDisableMsgpack?: boolean | undefined;
2038
+ socketReconnectDelayMs?: number | undefined;
2039
+ socketMaxReconnectDelayMs?: number | undefined;
2040
+ socketConnectTimeoutMs?: number | undefined;
2041
+ refreshIntervalMs?: number | undefined;
2042
+ watchTimeoutMs?: number | undefined;
2043
+ watchLimit?: number | undefined;
2044
+ retryDelayMs?: number | undefined;
2045
+ maxRetryAttempts?: number | undefined;
2046
+ clawToken?: string | undefined;
2047
+ agentUserId?: string | undefined;
2048
+ panels?: string[] | undefined;
2049
+ mention?: {
2050
+ requireInGroups?: boolean | undefined;
2051
+ } | undefined;
2052
+ groups?: Record<string, {
2053
+ requireMention?: boolean | undefined;
2054
+ }> | undefined;
2055
+ replyDelayMode?: string | undefined;
2056
+ replyDelayMs?: number | undefined;
2057
+ } | undefined;
2058
+ dingtalk?: {
2059
+ enabled?: boolean | undefined;
2060
+ allowFrom?: string[] | undefined;
2061
+ clientId?: string | undefined;
2062
+ clientSecret?: string | undefined;
2063
+ } | undefined;
2064
+ email?: {
2065
+ enabled?: boolean | undefined;
2066
+ allowFrom?: string[] | undefined;
2067
+ consentGranted?: boolean | undefined;
2068
+ imapHost?: string | undefined;
2069
+ imapPort?: number | undefined;
2070
+ imapUsername?: string | undefined;
2071
+ imapPassword?: string | undefined;
2072
+ imapMailbox?: string | undefined;
2073
+ imapUseSsl?: boolean | undefined;
2074
+ smtpHost?: string | undefined;
2075
+ smtpPort?: number | undefined;
2076
+ smtpUsername?: string | undefined;
2077
+ smtpPassword?: string | undefined;
2078
+ smtpUseTls?: boolean | undefined;
2079
+ smtpUseSsl?: boolean | undefined;
2080
+ fromAddress?: string | undefined;
2081
+ autoReplyEnabled?: boolean | undefined;
2082
+ pollIntervalSeconds?: number | undefined;
2083
+ markSeen?: boolean | undefined;
2084
+ maxBodyChars?: number | undefined;
2085
+ subjectPrefix?: string | undefined;
2086
+ } | undefined;
2087
+ slack?: {
2088
+ enabled?: boolean | undefined;
2089
+ mode?: string | undefined;
2090
+ webhookPath?: string | undefined;
2091
+ botToken?: string | undefined;
2092
+ appToken?: string | undefined;
2093
+ userTokenReadOnly?: boolean | undefined;
2094
+ groupPolicy?: string | undefined;
2095
+ groupAllowFrom?: string[] | undefined;
2096
+ dm?: {
2097
+ enabled?: boolean | undefined;
2098
+ allowFrom?: string[] | undefined;
2099
+ policy?: string | undefined;
2100
+ } | undefined;
2101
+ } | undefined;
2102
+ qq?: {
2103
+ enabled?: boolean | undefined;
2104
+ appId?: string | undefined;
2105
+ allowFrom?: string[] | undefined;
2106
+ secret?: string | undefined;
2107
+ markdownSupport?: boolean | undefined;
2108
+ } | undefined;
2109
+ }>>;
2110
+ providers: z.ZodDefault<z.ZodObject<{
2111
+ anthropic: z.ZodDefault<z.ZodObject<{
2112
+ apiKey: z.ZodDefault<z.ZodString>;
2113
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2114
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2115
+ }, "strip", z.ZodTypeAny, {
2116
+ apiKey: string;
2117
+ apiBase: string | null;
2118
+ extraHeaders: Record<string, string> | null;
2119
+ }, {
2120
+ apiKey?: string | undefined;
2121
+ apiBase?: string | null | undefined;
2122
+ extraHeaders?: Record<string, string> | null | undefined;
2123
+ }>>;
2124
+ openai: z.ZodDefault<z.ZodObject<{
2125
+ apiKey: z.ZodDefault<z.ZodString>;
2126
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2127
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2128
+ }, "strip", z.ZodTypeAny, {
2129
+ apiKey: string;
2130
+ apiBase: string | null;
2131
+ extraHeaders: Record<string, string> | null;
2132
+ }, {
2133
+ apiKey?: string | undefined;
2134
+ apiBase?: string | null | undefined;
2135
+ extraHeaders?: Record<string, string> | null | undefined;
2136
+ }>>;
2137
+ openrouter: z.ZodDefault<z.ZodObject<{
2138
+ apiKey: z.ZodDefault<z.ZodString>;
2139
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2140
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2141
+ }, "strip", z.ZodTypeAny, {
2142
+ apiKey: string;
2143
+ apiBase: string | null;
2144
+ extraHeaders: Record<string, string> | null;
2145
+ }, {
2146
+ apiKey?: string | undefined;
2147
+ apiBase?: string | null | undefined;
2148
+ extraHeaders?: Record<string, string> | null | undefined;
2149
+ }>>;
2150
+ deepseek: z.ZodDefault<z.ZodObject<{
2151
+ apiKey: z.ZodDefault<z.ZodString>;
2152
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2153
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2154
+ }, "strip", z.ZodTypeAny, {
2155
+ apiKey: string;
2156
+ apiBase: string | null;
2157
+ extraHeaders: Record<string, string> | null;
2158
+ }, {
2159
+ apiKey?: string | undefined;
2160
+ apiBase?: string | null | undefined;
2161
+ extraHeaders?: Record<string, string> | null | undefined;
2162
+ }>>;
2163
+ groq: z.ZodDefault<z.ZodObject<{
2164
+ apiKey: z.ZodDefault<z.ZodString>;
2165
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2166
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2167
+ }, "strip", z.ZodTypeAny, {
2168
+ apiKey: string;
2169
+ apiBase: string | null;
2170
+ extraHeaders: Record<string, string> | null;
2171
+ }, {
2172
+ apiKey?: string | undefined;
2173
+ apiBase?: string | null | undefined;
2174
+ extraHeaders?: Record<string, string> | null | undefined;
2175
+ }>>;
2176
+ zhipu: z.ZodDefault<z.ZodObject<{
2177
+ apiKey: z.ZodDefault<z.ZodString>;
2178
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2179
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2180
+ }, "strip", z.ZodTypeAny, {
2181
+ apiKey: string;
2182
+ apiBase: string | null;
2183
+ extraHeaders: Record<string, string> | null;
2184
+ }, {
2185
+ apiKey?: string | undefined;
2186
+ apiBase?: string | null | undefined;
2187
+ extraHeaders?: Record<string, string> | null | undefined;
2188
+ }>>;
2189
+ dashscope: z.ZodDefault<z.ZodObject<{
2190
+ apiKey: z.ZodDefault<z.ZodString>;
2191
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2192
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2193
+ }, "strip", z.ZodTypeAny, {
2194
+ apiKey: string;
2195
+ apiBase: string | null;
2196
+ extraHeaders: Record<string, string> | null;
2197
+ }, {
2198
+ apiKey?: string | undefined;
2199
+ apiBase?: string | null | undefined;
2200
+ extraHeaders?: Record<string, string> | null | undefined;
2201
+ }>>;
2202
+ vllm: z.ZodDefault<z.ZodObject<{
2203
+ apiKey: z.ZodDefault<z.ZodString>;
2204
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2205
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2206
+ }, "strip", z.ZodTypeAny, {
2207
+ apiKey: string;
2208
+ apiBase: string | null;
2209
+ extraHeaders: Record<string, string> | null;
2210
+ }, {
2211
+ apiKey?: string | undefined;
2212
+ apiBase?: string | null | undefined;
2213
+ extraHeaders?: Record<string, string> | null | undefined;
2214
+ }>>;
2215
+ gemini: z.ZodDefault<z.ZodObject<{
2216
+ apiKey: z.ZodDefault<z.ZodString>;
2217
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2218
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2219
+ }, "strip", z.ZodTypeAny, {
2220
+ apiKey: string;
2221
+ apiBase: string | null;
2222
+ extraHeaders: Record<string, string> | null;
2223
+ }, {
2224
+ apiKey?: string | undefined;
2225
+ apiBase?: string | null | undefined;
2226
+ extraHeaders?: Record<string, string> | null | undefined;
2227
+ }>>;
2228
+ moonshot: z.ZodDefault<z.ZodObject<{
2229
+ apiKey: z.ZodDefault<z.ZodString>;
2230
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2231
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2232
+ }, "strip", z.ZodTypeAny, {
2233
+ apiKey: string;
2234
+ apiBase: string | null;
2235
+ extraHeaders: Record<string, string> | null;
2236
+ }, {
2237
+ apiKey?: string | undefined;
2238
+ apiBase?: string | null | undefined;
2239
+ extraHeaders?: Record<string, string> | null | undefined;
2240
+ }>>;
2241
+ minimax: z.ZodDefault<z.ZodObject<{
2242
+ apiKey: z.ZodDefault<z.ZodString>;
2243
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2244
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2245
+ }, "strip", z.ZodTypeAny, {
2246
+ apiKey: string;
2247
+ apiBase: string | null;
2248
+ extraHeaders: Record<string, string> | null;
2249
+ }, {
2250
+ apiKey?: string | undefined;
2251
+ apiBase?: string | null | undefined;
2252
+ extraHeaders?: Record<string, string> | null | undefined;
2253
+ }>>;
2254
+ aihubmix: z.ZodDefault<z.ZodObject<{
2255
+ apiKey: z.ZodDefault<z.ZodString>;
2256
+ apiBase: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2257
+ extraHeaders: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2258
+ }, "strip", z.ZodTypeAny, {
2259
+ apiKey: string;
2260
+ apiBase: string | null;
2261
+ extraHeaders: Record<string, string> | null;
2262
+ }, {
2263
+ apiKey?: string | undefined;
2264
+ apiBase?: string | null | undefined;
2265
+ extraHeaders?: Record<string, string> | null | undefined;
2266
+ }>>;
2267
+ }, "strip", z.ZodTypeAny, {
2268
+ openrouter: {
2269
+ apiKey: string;
2270
+ apiBase: string | null;
2271
+ extraHeaders: Record<string, string> | null;
2272
+ };
2273
+ aihubmix: {
2274
+ apiKey: string;
2275
+ apiBase: string | null;
2276
+ extraHeaders: Record<string, string> | null;
2277
+ };
2278
+ openai: {
2279
+ apiKey: string;
2280
+ apiBase: string | null;
2281
+ extraHeaders: Record<string, string> | null;
2282
+ };
2283
+ anthropic: {
2284
+ apiKey: string;
2285
+ apiBase: string | null;
2286
+ extraHeaders: Record<string, string> | null;
2287
+ };
2288
+ deepseek: {
2289
+ apiKey: string;
2290
+ apiBase: string | null;
2291
+ extraHeaders: Record<string, string> | null;
2292
+ };
2293
+ gemini: {
2294
+ apiKey: string;
2295
+ apiBase: string | null;
2296
+ extraHeaders: Record<string, string> | null;
2297
+ };
2298
+ zhipu: {
2299
+ apiKey: string;
2300
+ apiBase: string | null;
2301
+ extraHeaders: Record<string, string> | null;
2302
+ };
2303
+ dashscope: {
2304
+ apiKey: string;
2305
+ apiBase: string | null;
2306
+ extraHeaders: Record<string, string> | null;
2307
+ };
2308
+ moonshot: {
2309
+ apiKey: string;
2310
+ apiBase: string | null;
2311
+ extraHeaders: Record<string, string> | null;
2312
+ };
2313
+ minimax: {
2314
+ apiKey: string;
2315
+ apiBase: string | null;
2316
+ extraHeaders: Record<string, string> | null;
2317
+ };
2318
+ vllm: {
2319
+ apiKey: string;
2320
+ apiBase: string | null;
2321
+ extraHeaders: Record<string, string> | null;
2322
+ };
2323
+ groq: {
2324
+ apiKey: string;
2325
+ apiBase: string | null;
2326
+ extraHeaders: Record<string, string> | null;
2327
+ };
2328
+ }, {
2329
+ openrouter?: {
2330
+ apiKey?: string | undefined;
2331
+ apiBase?: string | null | undefined;
2332
+ extraHeaders?: Record<string, string> | null | undefined;
2333
+ } | undefined;
2334
+ aihubmix?: {
2335
+ apiKey?: string | undefined;
2336
+ apiBase?: string | null | undefined;
2337
+ extraHeaders?: Record<string, string> | null | undefined;
2338
+ } | undefined;
2339
+ openai?: {
2340
+ apiKey?: string | undefined;
2341
+ apiBase?: string | null | undefined;
2342
+ extraHeaders?: Record<string, string> | null | undefined;
2343
+ } | undefined;
2344
+ anthropic?: {
2345
+ apiKey?: string | undefined;
2346
+ apiBase?: string | null | undefined;
2347
+ extraHeaders?: Record<string, string> | null | undefined;
2348
+ } | undefined;
2349
+ deepseek?: {
2350
+ apiKey?: string | undefined;
2351
+ apiBase?: string | null | undefined;
2352
+ extraHeaders?: Record<string, string> | null | undefined;
2353
+ } | undefined;
2354
+ gemini?: {
2355
+ apiKey?: string | undefined;
2356
+ apiBase?: string | null | undefined;
2357
+ extraHeaders?: Record<string, string> | null | undefined;
2358
+ } | undefined;
2359
+ zhipu?: {
2360
+ apiKey?: string | undefined;
2361
+ apiBase?: string | null | undefined;
2362
+ extraHeaders?: Record<string, string> | null | undefined;
2363
+ } | undefined;
2364
+ dashscope?: {
2365
+ apiKey?: string | undefined;
2366
+ apiBase?: string | null | undefined;
2367
+ extraHeaders?: Record<string, string> | null | undefined;
2368
+ } | undefined;
2369
+ moonshot?: {
2370
+ apiKey?: string | undefined;
2371
+ apiBase?: string | null | undefined;
2372
+ extraHeaders?: Record<string, string> | null | undefined;
2373
+ } | undefined;
2374
+ minimax?: {
2375
+ apiKey?: string | undefined;
2376
+ apiBase?: string | null | undefined;
2377
+ extraHeaders?: Record<string, string> | null | undefined;
2378
+ } | undefined;
2379
+ vllm?: {
2380
+ apiKey?: string | undefined;
2381
+ apiBase?: string | null | undefined;
2382
+ extraHeaders?: Record<string, string> | null | undefined;
2383
+ } | undefined;
2384
+ groq?: {
2385
+ apiKey?: string | undefined;
2386
+ apiBase?: string | null | undefined;
2387
+ extraHeaders?: Record<string, string> | null | undefined;
2388
+ } | undefined;
2389
+ }>>;
2390
+ gateway: z.ZodDefault<z.ZodObject<{
2391
+ host: z.ZodDefault<z.ZodString>;
2392
+ port: z.ZodDefault<z.ZodNumber>;
2393
+ }, "strip", z.ZodTypeAny, {
2394
+ host: string;
2395
+ port: number;
2396
+ }, {
2397
+ host?: string | undefined;
2398
+ port?: number | undefined;
2399
+ }>>;
2400
+ ui: z.ZodDefault<z.ZodObject<{
2401
+ enabled: z.ZodDefault<z.ZodBoolean>;
2402
+ host: z.ZodDefault<z.ZodString>;
2403
+ port: z.ZodDefault<z.ZodNumber>;
2404
+ open: z.ZodDefault<z.ZodBoolean>;
2405
+ }, "strip", z.ZodTypeAny, {
2406
+ enabled: boolean;
2407
+ open: boolean;
2408
+ host: string;
2409
+ port: number;
2410
+ }, {
2411
+ enabled?: boolean | undefined;
2412
+ open?: boolean | undefined;
2413
+ host?: string | undefined;
2414
+ port?: number | undefined;
2415
+ }>>;
2416
+ tools: z.ZodDefault<z.ZodObject<{
2417
+ web: z.ZodDefault<z.ZodObject<{
2418
+ search: z.ZodDefault<z.ZodObject<{
2419
+ apiKey: z.ZodDefault<z.ZodString>;
2420
+ maxResults: z.ZodDefault<z.ZodNumber>;
2421
+ }, "strip", z.ZodTypeAny, {
2422
+ maxResults: number;
2423
+ apiKey: string;
2424
+ }, {
2425
+ maxResults?: number | undefined;
2426
+ apiKey?: string | undefined;
2427
+ }>>;
2428
+ }, "strip", z.ZodTypeAny, {
2429
+ search: {
2430
+ maxResults: number;
2431
+ apiKey: string;
2432
+ };
2433
+ }, {
2434
+ search?: {
2435
+ maxResults?: number | undefined;
2436
+ apiKey?: string | undefined;
2437
+ } | undefined;
2438
+ }>>;
2439
+ exec: z.ZodDefault<z.ZodObject<{
2440
+ timeout: z.ZodDefault<z.ZodNumber>;
2441
+ }, "strip", z.ZodTypeAny, {
2442
+ timeout: number;
2443
+ }, {
2444
+ timeout?: number | undefined;
2445
+ }>>;
2446
+ restrictToWorkspace: z.ZodDefault<z.ZodBoolean>;
2447
+ }, "strip", z.ZodTypeAny, {
2448
+ exec: {
2449
+ timeout: number;
2450
+ };
2451
+ web: {
2452
+ search: {
2453
+ maxResults: number;
2454
+ apiKey: string;
2455
+ };
2456
+ };
2457
+ restrictToWorkspace: boolean;
2458
+ }, {
2459
+ exec?: {
2460
+ timeout?: number | undefined;
2461
+ } | undefined;
2462
+ web?: {
2463
+ search?: {
2464
+ maxResults?: number | undefined;
2465
+ apiKey?: string | undefined;
2466
+ } | undefined;
2467
+ } | undefined;
2468
+ restrictToWorkspace?: boolean | undefined;
2469
+ }>>;
2470
+ }, "strip", z.ZodTypeAny, {
2471
+ agents: {
2472
+ defaults: {
2473
+ workspace: string;
2474
+ temperature: number;
2475
+ model: string;
2476
+ maxTokens: number;
2477
+ maxToolIterations: number;
2478
+ };
2479
+ };
2480
+ channels: {
2481
+ whatsapp: {
2482
+ enabled: boolean;
2483
+ bridgeUrl: string;
2484
+ allowFrom: string[];
2485
+ };
2486
+ telegram: {
2487
+ enabled: boolean;
2488
+ allowFrom: string[];
2489
+ token: string;
2490
+ proxy: string | null;
2491
+ };
2492
+ discord: {
2493
+ enabled: boolean;
2494
+ allowFrom: string[];
2495
+ token: string;
2496
+ gatewayUrl: string;
2497
+ intents: number;
2498
+ };
2499
+ feishu: {
2500
+ enabled: boolean;
2501
+ appId: string;
2502
+ allowFrom: string[];
2503
+ appSecret: string;
2504
+ encryptKey: string;
2505
+ verificationToken: string;
2506
+ };
2507
+ mochat: {
2508
+ sessions: string[];
2509
+ enabled: boolean;
2510
+ allowFrom: string[];
2511
+ baseUrl: string;
2512
+ socketUrl: string;
2513
+ socketPath: string;
2514
+ socketDisableMsgpack: boolean;
2515
+ socketReconnectDelayMs: number;
2516
+ socketMaxReconnectDelayMs: number;
2517
+ socketConnectTimeoutMs: number;
2518
+ refreshIntervalMs: number;
2519
+ watchTimeoutMs: number;
2520
+ watchLimit: number;
2521
+ retryDelayMs: number;
2522
+ maxRetryAttempts: number;
2523
+ clawToken: string;
2524
+ agentUserId: string;
2525
+ panels: string[];
2526
+ mention: {
2527
+ requireInGroups: boolean;
2528
+ };
2529
+ groups: Record<string, {
2530
+ requireMention: boolean;
2531
+ }>;
2532
+ replyDelayMode: string;
2533
+ replyDelayMs: number;
2534
+ };
2535
+ dingtalk: {
2536
+ enabled: boolean;
2537
+ allowFrom: string[];
2538
+ clientId: string;
2539
+ clientSecret: string;
2540
+ };
2541
+ email: {
2542
+ enabled: boolean;
2543
+ allowFrom: string[];
2544
+ consentGranted: boolean;
2545
+ imapHost: string;
2546
+ imapPort: number;
2547
+ imapUsername: string;
2548
+ imapPassword: string;
2549
+ imapMailbox: string;
2550
+ imapUseSsl: boolean;
2551
+ smtpHost: string;
2552
+ smtpPort: number;
2553
+ smtpUsername: string;
2554
+ smtpPassword: string;
2555
+ smtpUseTls: boolean;
2556
+ smtpUseSsl: boolean;
2557
+ fromAddress: string;
2558
+ autoReplyEnabled: boolean;
2559
+ pollIntervalSeconds: number;
2560
+ markSeen: boolean;
2561
+ maxBodyChars: number;
2562
+ subjectPrefix: string;
2563
+ };
2564
+ slack: {
2565
+ enabled: boolean;
2566
+ mode: string;
2567
+ webhookPath: string;
2568
+ botToken: string;
2569
+ appToken: string;
2570
+ userTokenReadOnly: boolean;
2571
+ groupPolicy: string;
2572
+ groupAllowFrom: string[];
2573
+ dm: {
2574
+ enabled: boolean;
2575
+ allowFrom: string[];
2576
+ policy: string;
2577
+ };
2578
+ };
2579
+ qq: {
2580
+ enabled: boolean;
2581
+ appId: string;
2582
+ allowFrom: string[];
2583
+ secret: string;
2584
+ markdownSupport: boolean;
2585
+ };
2586
+ };
2587
+ providers: {
2588
+ openrouter: {
2589
+ apiKey: string;
2590
+ apiBase: string | null;
2591
+ extraHeaders: Record<string, string> | null;
2592
+ };
2593
+ aihubmix: {
2594
+ apiKey: string;
2595
+ apiBase: string | null;
2596
+ extraHeaders: Record<string, string> | null;
2597
+ };
2598
+ openai: {
2599
+ apiKey: string;
2600
+ apiBase: string | null;
2601
+ extraHeaders: Record<string, string> | null;
2602
+ };
2603
+ anthropic: {
2604
+ apiKey: string;
2605
+ apiBase: string | null;
2606
+ extraHeaders: Record<string, string> | null;
2607
+ };
2608
+ deepseek: {
2609
+ apiKey: string;
2610
+ apiBase: string | null;
2611
+ extraHeaders: Record<string, string> | null;
2612
+ };
2613
+ gemini: {
2614
+ apiKey: string;
2615
+ apiBase: string | null;
2616
+ extraHeaders: Record<string, string> | null;
2617
+ };
2618
+ zhipu: {
2619
+ apiKey: string;
2620
+ apiBase: string | null;
2621
+ extraHeaders: Record<string, string> | null;
2622
+ };
2623
+ dashscope: {
2624
+ apiKey: string;
2625
+ apiBase: string | null;
2626
+ extraHeaders: Record<string, string> | null;
2627
+ };
2628
+ moonshot: {
2629
+ apiKey: string;
2630
+ apiBase: string | null;
2631
+ extraHeaders: Record<string, string> | null;
2632
+ };
2633
+ minimax: {
2634
+ apiKey: string;
2635
+ apiBase: string | null;
2636
+ extraHeaders: Record<string, string> | null;
2637
+ };
2638
+ vllm: {
2639
+ apiKey: string;
2640
+ apiBase: string | null;
2641
+ extraHeaders: Record<string, string> | null;
2642
+ };
2643
+ groq: {
2644
+ apiKey: string;
2645
+ apiBase: string | null;
2646
+ extraHeaders: Record<string, string> | null;
2647
+ };
2648
+ };
2649
+ gateway: {
2650
+ host: string;
2651
+ port: number;
2652
+ };
2653
+ ui: {
2654
+ enabled: boolean;
2655
+ open: boolean;
2656
+ host: string;
2657
+ port: number;
2658
+ };
2659
+ tools: {
2660
+ exec: {
2661
+ timeout: number;
2662
+ };
2663
+ web: {
2664
+ search: {
2665
+ maxResults: number;
2666
+ apiKey: string;
2667
+ };
2668
+ };
2669
+ restrictToWorkspace: boolean;
2670
+ };
2671
+ }, {
2672
+ agents?: {
2673
+ defaults?: {
2674
+ workspace?: string | undefined;
2675
+ temperature?: number | undefined;
2676
+ model?: string | undefined;
2677
+ maxTokens?: number | undefined;
2678
+ maxToolIterations?: number | undefined;
2679
+ } | undefined;
2680
+ } | undefined;
2681
+ channels?: {
2682
+ whatsapp?: {
2683
+ enabled?: boolean | undefined;
2684
+ bridgeUrl?: string | undefined;
2685
+ allowFrom?: string[] | undefined;
2686
+ } | undefined;
2687
+ telegram?: {
2688
+ enabled?: boolean | undefined;
2689
+ allowFrom?: string[] | undefined;
2690
+ token?: string | undefined;
2691
+ proxy?: string | null | undefined;
2692
+ } | undefined;
2693
+ discord?: {
2694
+ enabled?: boolean | undefined;
2695
+ allowFrom?: string[] | undefined;
2696
+ token?: string | undefined;
2697
+ gatewayUrl?: string | undefined;
2698
+ intents?: number | undefined;
2699
+ } | undefined;
2700
+ feishu?: {
2701
+ enabled?: boolean | undefined;
2702
+ appId?: string | undefined;
2703
+ allowFrom?: string[] | undefined;
2704
+ appSecret?: string | undefined;
2705
+ encryptKey?: string | undefined;
2706
+ verificationToken?: string | undefined;
2707
+ } | undefined;
2708
+ mochat?: {
2709
+ sessions?: string[] | undefined;
2710
+ enabled?: boolean | undefined;
2711
+ allowFrom?: string[] | undefined;
2712
+ baseUrl?: string | undefined;
2713
+ socketUrl?: string | undefined;
2714
+ socketPath?: string | undefined;
2715
+ socketDisableMsgpack?: boolean | undefined;
2716
+ socketReconnectDelayMs?: number | undefined;
2717
+ socketMaxReconnectDelayMs?: number | undefined;
2718
+ socketConnectTimeoutMs?: number | undefined;
2719
+ refreshIntervalMs?: number | undefined;
2720
+ watchTimeoutMs?: number | undefined;
2721
+ watchLimit?: number | undefined;
2722
+ retryDelayMs?: number | undefined;
2723
+ maxRetryAttempts?: number | undefined;
2724
+ clawToken?: string | undefined;
2725
+ agentUserId?: string | undefined;
2726
+ panels?: string[] | undefined;
2727
+ mention?: {
2728
+ requireInGroups?: boolean | undefined;
2729
+ } | undefined;
2730
+ groups?: Record<string, {
2731
+ requireMention?: boolean | undefined;
2732
+ }> | undefined;
2733
+ replyDelayMode?: string | undefined;
2734
+ replyDelayMs?: number | undefined;
2735
+ } | undefined;
2736
+ dingtalk?: {
2737
+ enabled?: boolean | undefined;
2738
+ allowFrom?: string[] | undefined;
2739
+ clientId?: string | undefined;
2740
+ clientSecret?: string | undefined;
2741
+ } | undefined;
2742
+ email?: {
2743
+ enabled?: boolean | undefined;
2744
+ allowFrom?: string[] | undefined;
2745
+ consentGranted?: boolean | undefined;
2746
+ imapHost?: string | undefined;
2747
+ imapPort?: number | undefined;
2748
+ imapUsername?: string | undefined;
2749
+ imapPassword?: string | undefined;
2750
+ imapMailbox?: string | undefined;
2751
+ imapUseSsl?: boolean | undefined;
2752
+ smtpHost?: string | undefined;
2753
+ smtpPort?: number | undefined;
2754
+ smtpUsername?: string | undefined;
2755
+ smtpPassword?: string | undefined;
2756
+ smtpUseTls?: boolean | undefined;
2757
+ smtpUseSsl?: boolean | undefined;
2758
+ fromAddress?: string | undefined;
2759
+ autoReplyEnabled?: boolean | undefined;
2760
+ pollIntervalSeconds?: number | undefined;
2761
+ markSeen?: boolean | undefined;
2762
+ maxBodyChars?: number | undefined;
2763
+ subjectPrefix?: string | undefined;
2764
+ } | undefined;
2765
+ slack?: {
2766
+ enabled?: boolean | undefined;
2767
+ mode?: string | undefined;
2768
+ webhookPath?: string | undefined;
2769
+ botToken?: string | undefined;
2770
+ appToken?: string | undefined;
2771
+ userTokenReadOnly?: boolean | undefined;
2772
+ groupPolicy?: string | undefined;
2773
+ groupAllowFrom?: string[] | undefined;
2774
+ dm?: {
2775
+ enabled?: boolean | undefined;
2776
+ allowFrom?: string[] | undefined;
2777
+ policy?: string | undefined;
2778
+ } | undefined;
2779
+ } | undefined;
2780
+ qq?: {
2781
+ enabled?: boolean | undefined;
2782
+ appId?: string | undefined;
2783
+ allowFrom?: string[] | undefined;
2784
+ secret?: string | undefined;
2785
+ markdownSupport?: boolean | undefined;
2786
+ } | undefined;
2787
+ } | undefined;
2788
+ providers?: {
2789
+ openrouter?: {
2790
+ apiKey?: string | undefined;
2791
+ apiBase?: string | null | undefined;
2792
+ extraHeaders?: Record<string, string> | null | undefined;
2793
+ } | undefined;
2794
+ aihubmix?: {
2795
+ apiKey?: string | undefined;
2796
+ apiBase?: string | null | undefined;
2797
+ extraHeaders?: Record<string, string> | null | undefined;
2798
+ } | undefined;
2799
+ openai?: {
2800
+ apiKey?: string | undefined;
2801
+ apiBase?: string | null | undefined;
2802
+ extraHeaders?: Record<string, string> | null | undefined;
2803
+ } | undefined;
2804
+ anthropic?: {
2805
+ apiKey?: string | undefined;
2806
+ apiBase?: string | null | undefined;
2807
+ extraHeaders?: Record<string, string> | null | undefined;
2808
+ } | undefined;
2809
+ deepseek?: {
2810
+ apiKey?: string | undefined;
2811
+ apiBase?: string | null | undefined;
2812
+ extraHeaders?: Record<string, string> | null | undefined;
2813
+ } | undefined;
2814
+ gemini?: {
2815
+ apiKey?: string | undefined;
2816
+ apiBase?: string | null | undefined;
2817
+ extraHeaders?: Record<string, string> | null | undefined;
2818
+ } | undefined;
2819
+ zhipu?: {
2820
+ apiKey?: string | undefined;
2821
+ apiBase?: string | null | undefined;
2822
+ extraHeaders?: Record<string, string> | null | undefined;
2823
+ } | undefined;
2824
+ dashscope?: {
2825
+ apiKey?: string | undefined;
2826
+ apiBase?: string | null | undefined;
2827
+ extraHeaders?: Record<string, string> | null | undefined;
2828
+ } | undefined;
2829
+ moonshot?: {
2830
+ apiKey?: string | undefined;
2831
+ apiBase?: string | null | undefined;
2832
+ extraHeaders?: Record<string, string> | null | undefined;
2833
+ } | undefined;
2834
+ minimax?: {
2835
+ apiKey?: string | undefined;
2836
+ apiBase?: string | null | undefined;
2837
+ extraHeaders?: Record<string, string> | null | undefined;
2838
+ } | undefined;
2839
+ vllm?: {
2840
+ apiKey?: string | undefined;
2841
+ apiBase?: string | null | undefined;
2842
+ extraHeaders?: Record<string, string> | null | undefined;
2843
+ } | undefined;
2844
+ groq?: {
2845
+ apiKey?: string | undefined;
2846
+ apiBase?: string | null | undefined;
2847
+ extraHeaders?: Record<string, string> | null | undefined;
2848
+ } | undefined;
2849
+ } | undefined;
2850
+ gateway?: {
2851
+ host?: string | undefined;
2852
+ port?: number | undefined;
2853
+ } | undefined;
2854
+ ui?: {
2855
+ enabled?: boolean | undefined;
2856
+ open?: boolean | undefined;
2857
+ host?: string | undefined;
2858
+ port?: number | undefined;
2859
+ } | undefined;
2860
+ tools?: {
2861
+ exec?: {
2862
+ timeout?: number | undefined;
2863
+ } | undefined;
2864
+ web?: {
2865
+ search?: {
2866
+ maxResults?: number | undefined;
2867
+ apiKey?: string | undefined;
2868
+ } | undefined;
2869
+ } | undefined;
2870
+ restrictToWorkspace?: boolean | undefined;
2871
+ } | undefined;
2872
+ }>;
2873
+ type Config = z.infer<typeof ConfigSchema>;
2874
+ type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
2875
+ declare function getWorkspacePathFromConfig(config: Config): string;
2876
+ declare function matchProvider(config: Config, model?: string): {
2877
+ provider: ProviderConfig | null;
2878
+ name: string | null;
2879
+ };
2880
+ declare function getProvider(config: Config, model?: string): ProviderConfig | null;
2881
+ declare function getProviderName(config: Config, model?: string): string | null;
2882
+ declare function getApiKey(config: Config, model?: string): string | null;
2883
+ declare function getApiBase(config: Config, model?: string): string | null;
2884
+
2885
+ declare abstract class BaseChannel<TConfig extends Record<string, unknown>> {
2886
+ protected config: TConfig;
2887
+ protected bus: MessageBus;
2888
+ protected running: boolean;
2889
+ constructor(config: TConfig, bus: MessageBus);
2890
+ abstract get name(): string;
2891
+ abstract start(): Promise<void>;
2892
+ abstract stop(): Promise<void>;
2893
+ abstract send(msg: OutboundMessage): Promise<void>;
2894
+ isAllowed(senderId: string): boolean;
2895
+ protected handleMessage(params: {
2896
+ senderId: string;
2897
+ chatId: string;
2898
+ content: string;
2899
+ media?: string[];
2900
+ metadata?: Record<string, unknown>;
2901
+ }): Promise<void>;
2902
+ get isRunning(): boolean;
2903
+ }
2904
+
2905
+ declare class ChannelManager {
2906
+ private config;
2907
+ private bus;
2908
+ private sessionManager?;
2909
+ private channels;
2910
+ private dispatchTask;
2911
+ private dispatching;
2912
+ constructor(config: Config, bus: MessageBus, sessionManager?: SessionManager | undefined);
2913
+ private initChannels;
2914
+ private startChannel;
2915
+ startAll(): Promise<void>;
2916
+ stopAll(): Promise<void>;
2917
+ private dispatchOutbound;
2918
+ getChannel(name: string): BaseChannel<Record<string, unknown>> | undefined;
2919
+ getStatus(): Record<string, {
2920
+ enabled: boolean;
2921
+ running: boolean;
2922
+ }>;
2923
+ get enabledChannels(): string[];
2924
+ }
2925
+
2926
+ declare const ENV_APP_NAME_KEY = "NEXTCLAW_APP_NAME";
2927
+ declare const APP_NAME: string;
2928
+ declare const APP_TAGLINE = "Personal AI Assistant";
2929
+ declare const APP_TITLE: string;
2930
+ declare const ENV_HOME_KEY = "NEXTCLAW_HOME";
2931
+ declare const DEFAULT_HOME_DIR = ".nextclaw";
2932
+ declare const DEFAULT_CONFIG_FILE = "config.json";
2933
+ declare const DEFAULT_WORKSPACE_DIR = "workspace";
2934
+ declare const DEFAULT_CONFIG_PATH = "~/.nextclaw/config.json";
2935
+ declare const DEFAULT_WORKSPACE_PATH = "~/.nextclaw/workspace";
2936
+ declare const APP_USER_AGENT: string;
2937
+ declare const APP_REPLY_SUBJECT: string;
2938
+ declare const SKILL_METADATA_KEY = "nextclaw";
2939
+
2940
+ declare function getConfigPath(): string;
2941
+ declare function getDataDir(): string;
2942
+ declare function loadConfig(configPath?: string): Config;
2943
+ declare function saveConfig(config: Config, configPath?: string): void;
2944
+
2945
+ type ReloadPlan = {
2946
+ changedPaths: string[];
2947
+ restartChannels: boolean;
2948
+ restartRequired: string[];
2949
+ noopPaths: string[];
2950
+ };
2951
+ declare function diffConfigPaths(prev: unknown, next: unknown, prefix?: string): string[];
2952
+ declare function buildReloadPlan(changedPaths: string[]): ReloadPlan;
2953
+
2954
+ declare const DEFAULT_HEARTBEAT_INTERVAL_S: number;
2955
+ declare const HEARTBEAT_PROMPT = "Read HEARTBEAT.md in your workspace (if it exists).\nFollow any instructions or tasks listed there.\nIf nothing needs attention, reply with just: HEARTBEAT_OK";
2956
+ declare const HEARTBEAT_OK_TOKEN = "HEARTBEAT_OK";
2957
+ declare class HeartbeatService {
2958
+ private workspace;
2959
+ private onHeartbeat;
2960
+ private intervalS;
2961
+ private enabled;
2962
+ private running;
2963
+ private timer;
2964
+ constructor(workspace: string, onHeartbeat: ((prompt: string) => Promise<string>) | null, intervalS?: number, enabled?: boolean);
2965
+ get heartbeatFile(): string;
2966
+ private readHeartbeatFile;
2967
+ start(): Promise<void>;
2968
+ stop(): void;
2969
+ private tick;
2970
+ triggerNow(): Promise<string | null>;
2971
+ }
2972
+
2973
+ type LiteLLMProviderOptions = {
2974
+ apiKey?: string | null;
2975
+ apiBase?: string | null;
2976
+ defaultModel: string;
2977
+ extraHeaders?: Record<string, string> | null;
2978
+ providerName?: string | null;
2979
+ };
2980
+ declare class LiteLLMProvider extends LLMProvider {
2981
+ private defaultModel;
2982
+ private extraHeaders?;
2983
+ private providerName?;
2984
+ private gatewaySpec?;
2985
+ private client;
2986
+ constructor(options: LiteLLMProviderOptions);
2987
+ getDefaultModel(): string;
2988
+ chat(params: {
2989
+ messages: Array<Record<string, unknown>>;
2990
+ tools?: Array<Record<string, unknown>>;
2991
+ model?: string | null;
2992
+ maxTokens?: number;
2993
+ temperature?: number;
2994
+ }): Promise<LLMResponse>;
2995
+ private resolveModel;
2996
+ private stripRoutingPrefix;
2997
+ private applyModelOverrides;
2998
+ private getStandardSpec;
2999
+ }
3000
+
3001
+ type ProviderSpec = {
3002
+ name: string;
3003
+ keywords: string[];
3004
+ envKey: string;
3005
+ displayName?: string;
3006
+ litellmPrefix?: string;
3007
+ skipPrefixes?: string[];
3008
+ envExtras?: Array<[string, string]>;
3009
+ isGateway?: boolean;
3010
+ isLocal?: boolean;
3011
+ detectByKeyPrefix?: string;
3012
+ detectByBaseKeyword?: string;
3013
+ defaultApiBase?: string;
3014
+ stripModelPrefix?: boolean;
3015
+ modelOverrides?: Array<[string, Record<string, unknown>]>;
3016
+ };
3017
+ declare const PROVIDERS: ProviderSpec[];
3018
+ declare function findProviderByName(name: string): ProviderSpec | undefined;
3019
+ declare function findProviderByModel(model: string): ProviderSpec | undefined;
3020
+ declare function findGateway(providerName?: string | null, apiKey?: string | null, apiBase?: string | null): ProviderSpec | undefined;
3021
+ declare function providerLabel(spec: ProviderSpec): string;
3022
+
3023
+ declare function ensureDir(path: string): string;
3024
+ declare function getDataPath(): string;
3025
+ declare function getWorkspacePath(workspace?: string): string;
3026
+ declare function getSessionsPath(): string;
3027
+ declare function getMemoryPath(workspace?: string): string;
3028
+ declare function getSkillsPath(workspace?: string): string;
3029
+ declare function todayDate(): string;
3030
+ declare function timestamp(): string;
3031
+ declare function truncateString(value: string, maxLen?: number, suffix?: string): string;
3032
+ declare function safeFilename(value: string): string;
3033
+ declare function parseSessionKey(key: string): {
3034
+ channel: string;
3035
+ chatId: string;
3036
+ };
3037
+ declare function expandHome(value: string): string;
3038
+
3039
+ export { APP_NAME, APP_REPLY_SUBJECT, APP_TAGLINE, APP_TITLE, APP_USER_AGENT, AgentDefaultsSchema, AgentLoop, AgentsConfigSchema, ChannelManager, ChannelsConfigSchema, type Config, ConfigSchema, CronService, DEFAULT_CONFIG_FILE, DEFAULT_CONFIG_PATH, DEFAULT_HEARTBEAT_INTERVAL_S, DEFAULT_HOME_DIR, DEFAULT_WORKSPACE_DIR, DEFAULT_WORKSPACE_PATH, DingTalkConfigSchema, DiscordConfigSchema, ENV_APP_NAME_KEY, ENV_HOME_KEY, EmailConfigSchema, ExecToolConfigSchema, FeishuConfigSchema, type FeishuProbeResult, GatewayConfigSchema, HEARTBEAT_OK_TOKEN, HEARTBEAT_PROMPT, HeartbeatService, LLMProvider, type LLMResponse, LiteLLMProvider, type LiteLLMProviderOptions, MessageBus, MochatConfigSchema, MochatGroupRuleSchema, MochatMentionSchema, PROVIDERS, type ProviderConfig, ProviderConfigSchema, type ProviderSpec, ProvidersConfigSchema, QQConfigSchema, type ReloadPlan, SKILL_METADATA_KEY, type Session, SessionManager, type SessionMessage, SlackConfigSchema, SlackDMSchema, TelegramConfigSchema, type ToolCallRequest, ToolsConfigSchema, UiConfigSchema, WebSearchConfigSchema, WebToolsConfigSchema, WhatsAppConfigSchema, buildReloadPlan, diffConfigPaths, ensureDir, expandHome, findGateway, findProviderByModel, findProviderByName, getApiBase, getApiKey, getConfigPath, getDataDir, getDataPath, getMemoryPath, getProvider, getProviderName, getSessionsPath, getSkillsPath, getWorkspacePath, getWorkspacePathFromConfig, loadConfig, matchProvider, parseSessionKey, probeFeishu, providerLabel, safeFilename, saveConfig, timestamp, todayDate, truncateString };