nextclaw 0.1.0

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