@auxiora/config 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1790 @@
1
+ import { z } from 'zod';
2
+ declare const ModelRoutingSchema: z.ZodObject<{
3
+ enabled: z.ZodDefault<z.ZodBoolean>;
4
+ defaultModel: z.ZodOptional<z.ZodString>;
5
+ rules: z.ZodDefault<z.ZodArray<z.ZodObject<{
6
+ task: z.ZodEnum<["reasoning", "code", "creative", "vision", "long-context", "fast", "private", "image-gen"]>;
7
+ provider: z.ZodString;
8
+ model: z.ZodString;
9
+ priority: z.ZodDefault<z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
12
+ provider: string;
13
+ model: string;
14
+ priority: number;
15
+ }, {
16
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
17
+ provider: string;
18
+ model: string;
19
+ priority?: number | undefined;
20
+ }>, "many">>;
21
+ costLimits: z.ZodDefault<z.ZodObject<{
22
+ dailyBudget: z.ZodOptional<z.ZodNumber>;
23
+ monthlyBudget: z.ZodOptional<z.ZodNumber>;
24
+ perMessageMax: z.ZodOptional<z.ZodNumber>;
25
+ warnAt: z.ZodDefault<z.ZodNumber>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ warnAt: number;
28
+ dailyBudget?: number | undefined;
29
+ monthlyBudget?: number | undefined;
30
+ perMessageMax?: number | undefined;
31
+ }, {
32
+ dailyBudget?: number | undefined;
33
+ monthlyBudget?: number | undefined;
34
+ perMessageMax?: number | undefined;
35
+ warnAt?: number | undefined;
36
+ }>>;
37
+ preferences: z.ZodDefault<z.ZodObject<{
38
+ preferLocal: z.ZodDefault<z.ZodBoolean>;
39
+ preferCheap: z.ZodDefault<z.ZodBoolean>;
40
+ sensitiveToLocal: z.ZodDefault<z.ZodBoolean>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ preferLocal: boolean;
43
+ preferCheap: boolean;
44
+ sensitiveToLocal: boolean;
45
+ }, {
46
+ preferLocal?: boolean | undefined;
47
+ preferCheap?: boolean | undefined;
48
+ sensitiveToLocal?: boolean | undefined;
49
+ }>>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ enabled: boolean;
52
+ rules: {
53
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
54
+ provider: string;
55
+ model: string;
56
+ priority: number;
57
+ }[];
58
+ costLimits: {
59
+ warnAt: number;
60
+ dailyBudget?: number | undefined;
61
+ monthlyBudget?: number | undefined;
62
+ perMessageMax?: number | undefined;
63
+ };
64
+ preferences: {
65
+ preferLocal: boolean;
66
+ preferCheap: boolean;
67
+ sensitiveToLocal: boolean;
68
+ };
69
+ defaultModel?: string | undefined;
70
+ }, {
71
+ enabled?: boolean | undefined;
72
+ defaultModel?: string | undefined;
73
+ rules?: {
74
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
75
+ provider: string;
76
+ model: string;
77
+ priority?: number | undefined;
78
+ }[] | undefined;
79
+ costLimits?: {
80
+ dailyBudget?: number | undefined;
81
+ monthlyBudget?: number | undefined;
82
+ perMessageMax?: number | undefined;
83
+ warnAt?: number | undefined;
84
+ } | undefined;
85
+ preferences?: {
86
+ preferLocal?: boolean | undefined;
87
+ preferCheap?: boolean | undefined;
88
+ sensitiveToLocal?: boolean | undefined;
89
+ } | undefined;
90
+ }>;
91
+ export declare const DesktopConfigSchema: z.ZodObject<{
92
+ autoStart: z.ZodDefault<z.ZodBoolean>;
93
+ minimizeToTray: z.ZodDefault<z.ZodBoolean>;
94
+ hotkey: z.ZodDefault<z.ZodString>;
95
+ notificationsEnabled: z.ZodDefault<z.ZodBoolean>;
96
+ updateChannel: z.ZodDefault<z.ZodEnum<["stable", "beta", "nightly"]>>;
97
+ ollamaEnabled: z.ZodDefault<z.ZodBoolean>;
98
+ ollamaPort: z.ZodDefault<z.ZodNumber>;
99
+ windowWidth: z.ZodDefault<z.ZodNumber>;
100
+ windowHeight: z.ZodDefault<z.ZodNumber>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ autoStart: boolean;
103
+ minimizeToTray: boolean;
104
+ hotkey: string;
105
+ notificationsEnabled: boolean;
106
+ updateChannel: "stable" | "beta" | "nightly";
107
+ ollamaEnabled: boolean;
108
+ ollamaPort: number;
109
+ windowWidth: number;
110
+ windowHeight: number;
111
+ }, {
112
+ autoStart?: boolean | undefined;
113
+ minimizeToTray?: boolean | undefined;
114
+ hotkey?: string | undefined;
115
+ notificationsEnabled?: boolean | undefined;
116
+ updateChannel?: "stable" | "beta" | "nightly" | undefined;
117
+ ollamaEnabled?: boolean | undefined;
118
+ ollamaPort?: number | undefined;
119
+ windowWidth?: number | undefined;
120
+ windowHeight?: number | undefined;
121
+ }>;
122
+ export type DesktopConfig = z.infer<typeof DesktopConfigSchema>;
123
+ export declare const CloudConfigSchema: z.ZodObject<{
124
+ enabled: z.ZodDefault<z.ZodBoolean>;
125
+ baseDataDir: z.ZodDefault<z.ZodString>;
126
+ jwtSecret: z.ZodDefault<z.ZodString>;
127
+ stripeSecretKey: z.ZodOptional<z.ZodString>;
128
+ stripeWebhookSecret: z.ZodOptional<z.ZodString>;
129
+ domain: z.ZodDefault<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ jwtSecret: string;
132
+ enabled: boolean;
133
+ baseDataDir: string;
134
+ domain: string;
135
+ stripeSecretKey?: string | undefined;
136
+ stripeWebhookSecret?: string | undefined;
137
+ }, {
138
+ jwtSecret?: string | undefined;
139
+ enabled?: boolean | undefined;
140
+ baseDataDir?: string | undefined;
141
+ stripeSecretKey?: string | undefined;
142
+ stripeWebhookSecret?: string | undefined;
143
+ domain?: string | undefined;
144
+ }>;
145
+ export type CloudConfig = z.infer<typeof CloudConfigSchema>;
146
+ declare const TrustConfigSchema: z.ZodObject<{
147
+ enabled: z.ZodDefault<z.ZodBoolean>;
148
+ defaultLevel: z.ZodDefault<z.ZodNumber>;
149
+ autoPromote: z.ZodDefault<z.ZodBoolean>;
150
+ promotionThreshold: z.ZodDefault<z.ZodNumber>;
151
+ demotionThreshold: z.ZodDefault<z.ZodNumber>;
152
+ autoPromoteCeiling: z.ZodDefault<z.ZodNumber>;
153
+ }, "strip", z.ZodTypeAny, {
154
+ enabled: boolean;
155
+ defaultLevel: number;
156
+ autoPromote: boolean;
157
+ promotionThreshold: number;
158
+ demotionThreshold: number;
159
+ autoPromoteCeiling: number;
160
+ }, {
161
+ enabled?: boolean | undefined;
162
+ defaultLevel?: number | undefined;
163
+ autoPromote?: boolean | undefined;
164
+ promotionThreshold?: number | undefined;
165
+ demotionThreshold?: number | undefined;
166
+ autoPromoteCeiling?: number | undefined;
167
+ }>;
168
+ declare const ResearchConfigSchema: z.ZodObject<{
169
+ enabled: z.ZodDefault<z.ZodBoolean>;
170
+ braveApiKey: z.ZodOptional<z.ZodString>;
171
+ defaultDepth: z.ZodDefault<z.ZodEnum<["quick", "standard", "deep"]>>;
172
+ maxConcurrentSources: z.ZodDefault<z.ZodNumber>;
173
+ searchTimeout: z.ZodDefault<z.ZodNumber>;
174
+ fetchTimeout: z.ZodDefault<z.ZodNumber>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ enabled: boolean;
177
+ defaultDepth: "quick" | "standard" | "deep";
178
+ maxConcurrentSources: number;
179
+ searchTimeout: number;
180
+ fetchTimeout: number;
181
+ braveApiKey?: string | undefined;
182
+ }, {
183
+ enabled?: boolean | undefined;
184
+ braveApiKey?: string | undefined;
185
+ defaultDepth?: "quick" | "standard" | "deep" | undefined;
186
+ maxConcurrentSources?: number | undefined;
187
+ searchTimeout?: number | undefined;
188
+ fetchTimeout?: number | undefined;
189
+ }>;
190
+ declare const IntentConfigSchema: z.ZodObject<{
191
+ enabled: z.ZodDefault<z.ZodBoolean>;
192
+ confidenceThreshold: z.ZodDefault<z.ZodNumber>;
193
+ }, "strip", z.ZodTypeAny, {
194
+ enabled: boolean;
195
+ confidenceThreshold: number;
196
+ }, {
197
+ enabled?: boolean | undefined;
198
+ confidenceThreshold?: number | undefined;
199
+ }>;
200
+ declare const OrchestrationConfigSchema: z.ZodObject<{
201
+ enabled: z.ZodDefault<z.ZodBoolean>;
202
+ maxConcurrentAgents: z.ZodDefault<z.ZodNumber>;
203
+ defaultTimeout: z.ZodDefault<z.ZodNumber>;
204
+ totalTimeout: z.ZodDefault<z.ZodNumber>;
205
+ allowedPatterns: z.ZodDefault<z.ZodArray<z.ZodEnum<["parallel", "sequential", "debate", "map-reduce", "supervisor"]>, "many">>;
206
+ costMultiplierWarning: z.ZodDefault<z.ZodNumber>;
207
+ }, "strip", z.ZodTypeAny, {
208
+ enabled: boolean;
209
+ maxConcurrentAgents: number;
210
+ defaultTimeout: number;
211
+ totalTimeout: number;
212
+ allowedPatterns: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[];
213
+ costMultiplierWarning: number;
214
+ }, {
215
+ enabled?: boolean | undefined;
216
+ maxConcurrentAgents?: number | undefined;
217
+ defaultTimeout?: number | undefined;
218
+ totalTimeout?: number | undefined;
219
+ allowedPatterns?: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[] | undefined;
220
+ costMultiplierWarning?: number | undefined;
221
+ }>;
222
+ declare const ModesConfigSchema: z.ZodObject<{
223
+ enabled: z.ZodDefault<z.ZodBoolean>;
224
+ defaultMode: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["operator", "analyst", "advisor", "writer", "socratic", "legal", "roast", "companion"]>, z.ZodLiteral<"auto">, z.ZodLiteral<"off">]>>;
225
+ autoDetection: z.ZodDefault<z.ZodBoolean>;
226
+ confirmationThreshold: z.ZodDefault<z.ZodNumber>;
227
+ preferences: z.ZodDefault<z.ZodObject<{
228
+ verbosity: z.ZodDefault<z.ZodNumber>;
229
+ formality: z.ZodDefault<z.ZodNumber>;
230
+ proactiveness: z.ZodDefault<z.ZodNumber>;
231
+ riskTolerance: z.ZodDefault<z.ZodNumber>;
232
+ humor: z.ZodDefault<z.ZodNumber>;
233
+ feedbackStyle: z.ZodDefault<z.ZodEnum<["direct", "sandwich", "gentle"]>>;
234
+ expertiseAssumption: z.ZodDefault<z.ZodEnum<["beginner", "intermediate", "expert"]>>;
235
+ }, "strip", z.ZodTypeAny, {
236
+ verbosity: number;
237
+ formality: number;
238
+ proactiveness: number;
239
+ riskTolerance: number;
240
+ humor: number;
241
+ feedbackStyle: "direct" | "sandwich" | "gentle";
242
+ expertiseAssumption: "beginner" | "intermediate" | "expert";
243
+ }, {
244
+ verbosity?: number | undefined;
245
+ formality?: number | undefined;
246
+ proactiveness?: number | undefined;
247
+ riskTolerance?: number | undefined;
248
+ humor?: number | undefined;
249
+ feedbackStyle?: "direct" | "sandwich" | "gentle" | undefined;
250
+ expertiseAssumption?: "beginner" | "intermediate" | "expert" | undefined;
251
+ }>>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ enabled: boolean;
254
+ preferences: {
255
+ verbosity: number;
256
+ formality: number;
257
+ proactiveness: number;
258
+ riskTolerance: number;
259
+ humor: number;
260
+ feedbackStyle: "direct" | "sandwich" | "gentle";
261
+ expertiseAssumption: "beginner" | "intermediate" | "expert";
262
+ };
263
+ defaultMode: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off";
264
+ autoDetection: boolean;
265
+ confirmationThreshold: number;
266
+ }, {
267
+ enabled?: boolean | undefined;
268
+ preferences?: {
269
+ verbosity?: number | undefined;
270
+ formality?: number | undefined;
271
+ proactiveness?: number | undefined;
272
+ riskTolerance?: number | undefined;
273
+ humor?: number | undefined;
274
+ feedbackStyle?: "direct" | "sandwich" | "gentle" | undefined;
275
+ expertiseAssumption?: "beginner" | "intermediate" | "expert" | undefined;
276
+ } | undefined;
277
+ defaultMode?: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off" | undefined;
278
+ autoDetection?: boolean | undefined;
279
+ confirmationThreshold?: number | undefined;
280
+ }>;
281
+ declare const AgentIdentitySchema: z.ZodObject<{
282
+ name: z.ZodDefault<z.ZodString>;
283
+ pronouns: z.ZodDefault<z.ZodString>;
284
+ avatar: z.ZodOptional<z.ZodString>;
285
+ vibe: z.ZodOptional<z.ZodString>;
286
+ customInstructions: z.ZodOptional<z.ZodString>;
287
+ personality: z.ZodDefault<z.ZodString>;
288
+ tone: z.ZodDefault<z.ZodObject<{
289
+ warmth: z.ZodDefault<z.ZodNumber>;
290
+ directness: z.ZodDefault<z.ZodNumber>;
291
+ humor: z.ZodDefault<z.ZodNumber>;
292
+ formality: z.ZodDefault<z.ZodNumber>;
293
+ }, "strip", z.ZodTypeAny, {
294
+ formality: number;
295
+ humor: number;
296
+ warmth: number;
297
+ directness: number;
298
+ }, {
299
+ formality?: number | undefined;
300
+ humor?: number | undefined;
301
+ warmth?: number | undefined;
302
+ directness?: number | undefined;
303
+ }>>;
304
+ expertise: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
305
+ errorStyle: z.ZodDefault<z.ZodEnum<["apologetic", "matter_of_fact", "self_deprecating", "professional", "gentle", "detailed", "encouraging", "terse", "educational"]>>;
306
+ catchphrases: z.ZodDefault<z.ZodObject<{
307
+ greeting: z.ZodOptional<z.ZodString>;
308
+ farewell: z.ZodOptional<z.ZodString>;
309
+ thinking: z.ZodOptional<z.ZodString>;
310
+ success: z.ZodOptional<z.ZodString>;
311
+ error: z.ZodOptional<z.ZodString>;
312
+ }, "strip", z.ZodTypeAny, {
313
+ error?: string | undefined;
314
+ greeting?: string | undefined;
315
+ farewell?: string | undefined;
316
+ thinking?: string | undefined;
317
+ success?: string | undefined;
318
+ }, {
319
+ error?: string | undefined;
320
+ greeting?: string | undefined;
321
+ farewell?: string | undefined;
322
+ thinking?: string | undefined;
323
+ success?: string | undefined;
324
+ }>>;
325
+ boundaries: z.ZodDefault<z.ZodObject<{
326
+ neverJokeAbout: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
327
+ neverAdviseOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
328
+ }, "strip", z.ZodTypeAny, {
329
+ neverJokeAbout: string[];
330
+ neverAdviseOn: string[];
331
+ }, {
332
+ neverJokeAbout?: string[] | undefined;
333
+ neverAdviseOn?: string[] | undefined;
334
+ }>>;
335
+ }, "strip", z.ZodTypeAny, {
336
+ name: string;
337
+ pronouns: string;
338
+ personality: string;
339
+ tone: {
340
+ formality: number;
341
+ humor: number;
342
+ warmth: number;
343
+ directness: number;
344
+ };
345
+ expertise: string[];
346
+ errorStyle: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational";
347
+ catchphrases: {
348
+ error?: string | undefined;
349
+ greeting?: string | undefined;
350
+ farewell?: string | undefined;
351
+ thinking?: string | undefined;
352
+ success?: string | undefined;
353
+ };
354
+ boundaries: {
355
+ neverJokeAbout: string[];
356
+ neverAdviseOn: string[];
357
+ };
358
+ avatar?: string | undefined;
359
+ vibe?: string | undefined;
360
+ customInstructions?: string | undefined;
361
+ }, {
362
+ name?: string | undefined;
363
+ pronouns?: string | undefined;
364
+ avatar?: string | undefined;
365
+ vibe?: string | undefined;
366
+ customInstructions?: string | undefined;
367
+ personality?: string | undefined;
368
+ tone?: {
369
+ formality?: number | undefined;
370
+ humor?: number | undefined;
371
+ warmth?: number | undefined;
372
+ directness?: number | undefined;
373
+ } | undefined;
374
+ expertise?: string[] | undefined;
375
+ errorStyle?: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational" | undefined;
376
+ catchphrases?: {
377
+ error?: string | undefined;
378
+ greeting?: string | undefined;
379
+ farewell?: string | undefined;
380
+ thinking?: string | undefined;
381
+ success?: string | undefined;
382
+ } | undefined;
383
+ boundaries?: {
384
+ neverJokeAbout?: string[] | undefined;
385
+ neverAdviseOn?: string[] | undefined;
386
+ } | undefined;
387
+ }>;
388
+ export type AgentIdentity = z.infer<typeof AgentIdentitySchema>;
389
+ export declare const ConfigSchema: z.ZodObject<{
390
+ gateway: z.ZodDefault<z.ZodObject<{
391
+ host: z.ZodDefault<z.ZodString>;
392
+ port: z.ZodDefault<z.ZodNumber>;
393
+ corsOrigins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ host: string;
396
+ port: number;
397
+ corsOrigins: string[];
398
+ }, {
399
+ host?: string | undefined;
400
+ port?: number | undefined;
401
+ corsOrigins?: string[] | undefined;
402
+ }>>;
403
+ auth: z.ZodDefault<z.ZodObject<{
404
+ mode: z.ZodDefault<z.ZodEnum<["none", "password", "jwt"]>>;
405
+ /** Argon2id hash of the gateway password */
406
+ passwordHash: z.ZodOptional<z.ZodString>;
407
+ /** Secret for signing JWT tokens (min 32 chars recommended) */
408
+ jwtSecret: z.ZodOptional<z.ZodString>;
409
+ jwtExpiresIn: z.ZodDefault<z.ZodString>;
410
+ refreshExpiresIn: z.ZodDefault<z.ZodString>;
411
+ }, "strip", z.ZodTypeAny, {
412
+ mode: "none" | "password" | "jwt";
413
+ jwtExpiresIn: string;
414
+ refreshExpiresIn: string;
415
+ passwordHash?: string | undefined;
416
+ jwtSecret?: string | undefined;
417
+ }, {
418
+ mode?: "none" | "password" | "jwt" | undefined;
419
+ passwordHash?: string | undefined;
420
+ jwtSecret?: string | undefined;
421
+ jwtExpiresIn?: string | undefined;
422
+ refreshExpiresIn?: string | undefined;
423
+ }>>;
424
+ rateLimit: z.ZodDefault<z.ZodObject<{
425
+ enabled: z.ZodDefault<z.ZodBoolean>;
426
+ windowMs: z.ZodDefault<z.ZodNumber>;
427
+ maxRequests: z.ZodDefault<z.ZodNumber>;
428
+ }, "strip", z.ZodTypeAny, {
429
+ enabled: boolean;
430
+ windowMs: number;
431
+ maxRequests: number;
432
+ }, {
433
+ enabled?: boolean | undefined;
434
+ windowMs?: number | undefined;
435
+ maxRequests?: number | undefined;
436
+ }>>;
437
+ pairing: z.ZodDefault<z.ZodObject<{
438
+ enabled: z.ZodDefault<z.ZodBoolean>;
439
+ codeLength: z.ZodDefault<z.ZodNumber>;
440
+ expiryMinutes: z.ZodDefault<z.ZodNumber>;
441
+ autoApproveChannels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
442
+ persistPath: z.ZodOptional<z.ZodString>;
443
+ }, "strip", z.ZodTypeAny, {
444
+ enabled: boolean;
445
+ codeLength: number;
446
+ expiryMinutes: number;
447
+ autoApproveChannels: string[];
448
+ persistPath?: string | undefined;
449
+ }, {
450
+ enabled?: boolean | undefined;
451
+ codeLength?: number | undefined;
452
+ expiryMinutes?: number | undefined;
453
+ autoApproveChannels?: string[] | undefined;
454
+ persistPath?: string | undefined;
455
+ }>>;
456
+ provider: z.ZodDefault<z.ZodObject<{
457
+ primary: z.ZodDefault<z.ZodString>;
458
+ fallback: z.ZodOptional<z.ZodString>;
459
+ anthropic: z.ZodDefault<z.ZodObject<{
460
+ model: z.ZodDefault<z.ZodString>;
461
+ maxTokens: z.ZodDefault<z.ZodNumber>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ model: string;
464
+ maxTokens: number;
465
+ }, {
466
+ model?: string | undefined;
467
+ maxTokens?: number | undefined;
468
+ }>>;
469
+ openai: z.ZodDefault<z.ZodObject<{
470
+ model: z.ZodDefault<z.ZodString>;
471
+ maxTokens: z.ZodDefault<z.ZodNumber>;
472
+ }, "strip", z.ZodTypeAny, {
473
+ model: string;
474
+ maxTokens: number;
475
+ }, {
476
+ model?: string | undefined;
477
+ maxTokens?: number | undefined;
478
+ }>>;
479
+ google: z.ZodDefault<z.ZodObject<{
480
+ model: z.ZodDefault<z.ZodString>;
481
+ maxTokens: z.ZodDefault<z.ZodNumber>;
482
+ }, "strip", z.ZodTypeAny, {
483
+ model: string;
484
+ maxTokens: number;
485
+ }, {
486
+ model?: string | undefined;
487
+ maxTokens?: number | undefined;
488
+ }>>;
489
+ ollama: z.ZodDefault<z.ZodObject<{
490
+ model: z.ZodDefault<z.ZodString>;
491
+ maxTokens: z.ZodDefault<z.ZodNumber>;
492
+ baseUrl: z.ZodDefault<z.ZodString>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ model: string;
495
+ maxTokens: number;
496
+ baseUrl: string;
497
+ }, {
498
+ model?: string | undefined;
499
+ maxTokens?: number | undefined;
500
+ baseUrl?: string | undefined;
501
+ }>>;
502
+ openaiCompatible: z.ZodDefault<z.ZodObject<{
503
+ model: z.ZodDefault<z.ZodString>;
504
+ maxTokens: z.ZodDefault<z.ZodNumber>;
505
+ baseUrl: z.ZodDefault<z.ZodString>;
506
+ name: z.ZodDefault<z.ZodString>;
507
+ }, "strip", z.ZodTypeAny, {
508
+ model: string;
509
+ maxTokens: number;
510
+ baseUrl: string;
511
+ name: string;
512
+ }, {
513
+ model?: string | undefined;
514
+ maxTokens?: number | undefined;
515
+ baseUrl?: string | undefined;
516
+ name?: string | undefined;
517
+ }>>;
518
+ }, "strip", z.ZodTypeAny, {
519
+ anthropic: {
520
+ model: string;
521
+ maxTokens: number;
522
+ };
523
+ primary: string;
524
+ openai: {
525
+ model: string;
526
+ maxTokens: number;
527
+ };
528
+ google: {
529
+ model: string;
530
+ maxTokens: number;
531
+ };
532
+ ollama: {
533
+ model: string;
534
+ maxTokens: number;
535
+ baseUrl: string;
536
+ };
537
+ openaiCompatible: {
538
+ model: string;
539
+ maxTokens: number;
540
+ baseUrl: string;
541
+ name: string;
542
+ };
543
+ fallback?: string | undefined;
544
+ }, {
545
+ anthropic?: {
546
+ model?: string | undefined;
547
+ maxTokens?: number | undefined;
548
+ } | undefined;
549
+ primary?: string | undefined;
550
+ fallback?: string | undefined;
551
+ openai?: {
552
+ model?: string | undefined;
553
+ maxTokens?: number | undefined;
554
+ } | undefined;
555
+ google?: {
556
+ model?: string | undefined;
557
+ maxTokens?: number | undefined;
558
+ } | undefined;
559
+ ollama?: {
560
+ model?: string | undefined;
561
+ maxTokens?: number | undefined;
562
+ baseUrl?: string | undefined;
563
+ } | undefined;
564
+ openaiCompatible?: {
565
+ model?: string | undefined;
566
+ maxTokens?: number | undefined;
567
+ baseUrl?: string | undefined;
568
+ name?: string | undefined;
569
+ } | undefined;
570
+ }>>;
571
+ routing: z.ZodDefault<z.ZodObject<{
572
+ enabled: z.ZodDefault<z.ZodBoolean>;
573
+ defaultModel: z.ZodOptional<z.ZodString>;
574
+ rules: z.ZodDefault<z.ZodArray<z.ZodObject<{
575
+ task: z.ZodEnum<["reasoning", "code", "creative", "vision", "long-context", "fast", "private", "image-gen"]>;
576
+ provider: z.ZodString;
577
+ model: z.ZodString;
578
+ priority: z.ZodDefault<z.ZodNumber>;
579
+ }, "strip", z.ZodTypeAny, {
580
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
581
+ provider: string;
582
+ model: string;
583
+ priority: number;
584
+ }, {
585
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
586
+ provider: string;
587
+ model: string;
588
+ priority?: number | undefined;
589
+ }>, "many">>;
590
+ costLimits: z.ZodDefault<z.ZodObject<{
591
+ dailyBudget: z.ZodOptional<z.ZodNumber>;
592
+ monthlyBudget: z.ZodOptional<z.ZodNumber>;
593
+ perMessageMax: z.ZodOptional<z.ZodNumber>;
594
+ warnAt: z.ZodDefault<z.ZodNumber>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ warnAt: number;
597
+ dailyBudget?: number | undefined;
598
+ monthlyBudget?: number | undefined;
599
+ perMessageMax?: number | undefined;
600
+ }, {
601
+ dailyBudget?: number | undefined;
602
+ monthlyBudget?: number | undefined;
603
+ perMessageMax?: number | undefined;
604
+ warnAt?: number | undefined;
605
+ }>>;
606
+ preferences: z.ZodDefault<z.ZodObject<{
607
+ preferLocal: z.ZodDefault<z.ZodBoolean>;
608
+ preferCheap: z.ZodDefault<z.ZodBoolean>;
609
+ sensitiveToLocal: z.ZodDefault<z.ZodBoolean>;
610
+ }, "strip", z.ZodTypeAny, {
611
+ preferLocal: boolean;
612
+ preferCheap: boolean;
613
+ sensitiveToLocal: boolean;
614
+ }, {
615
+ preferLocal?: boolean | undefined;
616
+ preferCheap?: boolean | undefined;
617
+ sensitiveToLocal?: boolean | undefined;
618
+ }>>;
619
+ }, "strip", z.ZodTypeAny, {
620
+ enabled: boolean;
621
+ rules: {
622
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
623
+ provider: string;
624
+ model: string;
625
+ priority: number;
626
+ }[];
627
+ costLimits: {
628
+ warnAt: number;
629
+ dailyBudget?: number | undefined;
630
+ monthlyBudget?: number | undefined;
631
+ perMessageMax?: number | undefined;
632
+ };
633
+ preferences: {
634
+ preferLocal: boolean;
635
+ preferCheap: boolean;
636
+ sensitiveToLocal: boolean;
637
+ };
638
+ defaultModel?: string | undefined;
639
+ }, {
640
+ enabled?: boolean | undefined;
641
+ defaultModel?: string | undefined;
642
+ rules?: {
643
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
644
+ provider: string;
645
+ model: string;
646
+ priority?: number | undefined;
647
+ }[] | undefined;
648
+ costLimits?: {
649
+ dailyBudget?: number | undefined;
650
+ monthlyBudget?: number | undefined;
651
+ perMessageMax?: number | undefined;
652
+ warnAt?: number | undefined;
653
+ } | undefined;
654
+ preferences?: {
655
+ preferLocal?: boolean | undefined;
656
+ preferCheap?: boolean | undefined;
657
+ sensitiveToLocal?: boolean | undefined;
658
+ } | undefined;
659
+ }>>;
660
+ session: z.ZodDefault<z.ZodObject<{
661
+ maxContextTokens: z.ZodDefault<z.ZodNumber>;
662
+ ttlMinutes: z.ZodDefault<z.ZodNumber>;
663
+ autoSave: z.ZodDefault<z.ZodBoolean>;
664
+ compactionEnabled: z.ZodDefault<z.ZodBoolean>;
665
+ }, "strip", z.ZodTypeAny, {
666
+ maxContextTokens: number;
667
+ ttlMinutes: number;
668
+ autoSave: boolean;
669
+ compactionEnabled: boolean;
670
+ }, {
671
+ maxContextTokens?: number | undefined;
672
+ ttlMinutes?: number | undefined;
673
+ autoSave?: boolean | undefined;
674
+ compactionEnabled?: boolean | undefined;
675
+ }>>;
676
+ logging: z.ZodDefault<z.ZodObject<{
677
+ level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
678
+ auditEnabled: z.ZodDefault<z.ZodBoolean>;
679
+ maxFileSizeMb: z.ZodDefault<z.ZodNumber>;
680
+ maxFiles: z.ZodDefault<z.ZodNumber>;
681
+ }, "strip", z.ZodTypeAny, {
682
+ level: "debug" | "info" | "warn" | "error";
683
+ auditEnabled: boolean;
684
+ maxFileSizeMb: number;
685
+ maxFiles: number;
686
+ }, {
687
+ level?: "debug" | "info" | "warn" | "error" | undefined;
688
+ auditEnabled?: boolean | undefined;
689
+ maxFileSizeMb?: number | undefined;
690
+ maxFiles?: number | undefined;
691
+ }>>;
692
+ channels: z.ZodDefault<z.ZodObject<{
693
+ discord: z.ZodDefault<z.ZodObject<{
694
+ enabled: z.ZodDefault<z.ZodBoolean>;
695
+ mentionOnly: z.ZodDefault<z.ZodBoolean>;
696
+ }, "strip", z.ZodTypeAny, {
697
+ enabled: boolean;
698
+ mentionOnly: boolean;
699
+ }, {
700
+ enabled?: boolean | undefined;
701
+ mentionOnly?: boolean | undefined;
702
+ }>>;
703
+ telegram: z.ZodDefault<z.ZodObject<{
704
+ enabled: z.ZodDefault<z.ZodBoolean>;
705
+ webhookMode: z.ZodDefault<z.ZodBoolean>;
706
+ }, "strip", z.ZodTypeAny, {
707
+ enabled: boolean;
708
+ webhookMode: boolean;
709
+ }, {
710
+ enabled?: boolean | undefined;
711
+ webhookMode?: boolean | undefined;
712
+ }>>;
713
+ slack: z.ZodDefault<z.ZodObject<{
714
+ enabled: z.ZodDefault<z.ZodBoolean>;
715
+ socketMode: z.ZodDefault<z.ZodBoolean>;
716
+ }, "strip", z.ZodTypeAny, {
717
+ enabled: boolean;
718
+ socketMode: boolean;
719
+ }, {
720
+ enabled?: boolean | undefined;
721
+ socketMode?: boolean | undefined;
722
+ }>>;
723
+ twilio: z.ZodDefault<z.ZodObject<{
724
+ enabled: z.ZodDefault<z.ZodBoolean>;
725
+ smsEnabled: z.ZodDefault<z.ZodBoolean>;
726
+ whatsappEnabled: z.ZodDefault<z.ZodBoolean>;
727
+ }, "strip", z.ZodTypeAny, {
728
+ enabled: boolean;
729
+ smsEnabled: boolean;
730
+ whatsappEnabled: boolean;
731
+ }, {
732
+ enabled?: boolean | undefined;
733
+ smsEnabled?: boolean | undefined;
734
+ whatsappEnabled?: boolean | undefined;
735
+ }>>;
736
+ webchat: z.ZodDefault<z.ZodObject<{
737
+ enabled: z.ZodDefault<z.ZodBoolean>;
738
+ }, "strip", z.ZodTypeAny, {
739
+ enabled: boolean;
740
+ }, {
741
+ enabled?: boolean | undefined;
742
+ }>>;
743
+ matrix: z.ZodDefault<z.ZodObject<{
744
+ enabled: z.ZodDefault<z.ZodBoolean>;
745
+ autoJoinRooms: z.ZodDefault<z.ZodBoolean>;
746
+ }, "strip", z.ZodTypeAny, {
747
+ enabled: boolean;
748
+ autoJoinRooms: boolean;
749
+ }, {
750
+ enabled?: boolean | undefined;
751
+ autoJoinRooms?: boolean | undefined;
752
+ }>>;
753
+ signal: z.ZodDefault<z.ZodObject<{
754
+ enabled: z.ZodDefault<z.ZodBoolean>;
755
+ }, "strip", z.ZodTypeAny, {
756
+ enabled: boolean;
757
+ }, {
758
+ enabled?: boolean | undefined;
759
+ }>>;
760
+ email: z.ZodDefault<z.ZodObject<{
761
+ enabled: z.ZodDefault<z.ZodBoolean>;
762
+ pollInterval: z.ZodDefault<z.ZodNumber>;
763
+ }, "strip", z.ZodTypeAny, {
764
+ enabled: boolean;
765
+ pollInterval: number;
766
+ }, {
767
+ enabled?: boolean | undefined;
768
+ pollInterval?: number | undefined;
769
+ }>>;
770
+ teams: z.ZodDefault<z.ZodObject<{
771
+ enabled: z.ZodDefault<z.ZodBoolean>;
772
+ }, "strip", z.ZodTypeAny, {
773
+ enabled: boolean;
774
+ }, {
775
+ enabled?: boolean | undefined;
776
+ }>>;
777
+ whatsapp: z.ZodDefault<z.ZodObject<{
778
+ enabled: z.ZodDefault<z.ZodBoolean>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ enabled: boolean;
781
+ }, {
782
+ enabled?: boolean | undefined;
783
+ }>>;
784
+ }, "strip", z.ZodTypeAny, {
785
+ webchat: {
786
+ enabled: boolean;
787
+ };
788
+ discord: {
789
+ enabled: boolean;
790
+ mentionOnly: boolean;
791
+ };
792
+ telegram: {
793
+ enabled: boolean;
794
+ webhookMode: boolean;
795
+ };
796
+ slack: {
797
+ enabled: boolean;
798
+ socketMode: boolean;
799
+ };
800
+ twilio: {
801
+ enabled: boolean;
802
+ smsEnabled: boolean;
803
+ whatsappEnabled: boolean;
804
+ };
805
+ matrix: {
806
+ enabled: boolean;
807
+ autoJoinRooms: boolean;
808
+ };
809
+ signal: {
810
+ enabled: boolean;
811
+ };
812
+ email: {
813
+ enabled: boolean;
814
+ pollInterval: number;
815
+ };
816
+ teams: {
817
+ enabled: boolean;
818
+ };
819
+ whatsapp: {
820
+ enabled: boolean;
821
+ };
822
+ }, {
823
+ webchat?: {
824
+ enabled?: boolean | undefined;
825
+ } | undefined;
826
+ discord?: {
827
+ enabled?: boolean | undefined;
828
+ mentionOnly?: boolean | undefined;
829
+ } | undefined;
830
+ telegram?: {
831
+ enabled?: boolean | undefined;
832
+ webhookMode?: boolean | undefined;
833
+ } | undefined;
834
+ slack?: {
835
+ enabled?: boolean | undefined;
836
+ socketMode?: boolean | undefined;
837
+ } | undefined;
838
+ twilio?: {
839
+ enabled?: boolean | undefined;
840
+ smsEnabled?: boolean | undefined;
841
+ whatsappEnabled?: boolean | undefined;
842
+ } | undefined;
843
+ matrix?: {
844
+ enabled?: boolean | undefined;
845
+ autoJoinRooms?: boolean | undefined;
846
+ } | undefined;
847
+ signal?: {
848
+ enabled?: boolean | undefined;
849
+ } | undefined;
850
+ email?: {
851
+ enabled?: boolean | undefined;
852
+ pollInterval?: number | undefined;
853
+ } | undefined;
854
+ teams?: {
855
+ enabled?: boolean | undefined;
856
+ } | undefined;
857
+ whatsapp?: {
858
+ enabled?: boolean | undefined;
859
+ } | undefined;
860
+ }>>;
861
+ voice: z.ZodDefault<z.ZodObject<{
862
+ enabled: z.ZodDefault<z.ZodBoolean>;
863
+ sttProvider: z.ZodDefault<z.ZodEnum<["openai-whisper"]>>;
864
+ ttsProvider: z.ZodDefault<z.ZodEnum<["openai-tts"]>>;
865
+ defaultVoice: z.ZodDefault<z.ZodString>;
866
+ language: z.ZodDefault<z.ZodString>;
867
+ maxAudioDuration: z.ZodDefault<z.ZodNumber>;
868
+ sampleRate: z.ZodDefault<z.ZodNumber>;
869
+ }, "strip", z.ZodTypeAny, {
870
+ enabled: boolean;
871
+ sttProvider: "openai-whisper";
872
+ ttsProvider: "openai-tts";
873
+ defaultVoice: string;
874
+ language: string;
875
+ maxAudioDuration: number;
876
+ sampleRate: number;
877
+ }, {
878
+ enabled?: boolean | undefined;
879
+ sttProvider?: "openai-whisper" | undefined;
880
+ ttsProvider?: "openai-tts" | undefined;
881
+ defaultVoice?: string | undefined;
882
+ language?: string | undefined;
883
+ maxAudioDuration?: number | undefined;
884
+ sampleRate?: number | undefined;
885
+ }>>;
886
+ webhooks: z.ZodDefault<z.ZodObject<{
887
+ enabled: z.ZodDefault<z.ZodBoolean>;
888
+ basePath: z.ZodDefault<z.ZodString>;
889
+ signatureHeader: z.ZodDefault<z.ZodString>;
890
+ maxPayloadSize: z.ZodDefault<z.ZodNumber>;
891
+ }, "strip", z.ZodTypeAny, {
892
+ enabled: boolean;
893
+ basePath: string;
894
+ signatureHeader: string;
895
+ maxPayloadSize: number;
896
+ }, {
897
+ enabled?: boolean | undefined;
898
+ basePath?: string | undefined;
899
+ signatureHeader?: string | undefined;
900
+ maxPayloadSize?: number | undefined;
901
+ }>>;
902
+ dashboard: z.ZodDefault<z.ZodObject<{
903
+ enabled: z.ZodDefault<z.ZodBoolean>;
904
+ sessionTtlMs: z.ZodDefault<z.ZodNumber>;
905
+ }, "strip", z.ZodTypeAny, {
906
+ enabled: boolean;
907
+ sessionTtlMs: number;
908
+ }, {
909
+ enabled?: boolean | undefined;
910
+ sessionTtlMs?: number | undefined;
911
+ }>>;
912
+ plugins: z.ZodDefault<z.ZodObject<{
913
+ enabled: z.ZodDefault<z.ZodBoolean>;
914
+ dir: z.ZodOptional<z.ZodString>;
915
+ marketplace: z.ZodDefault<z.ZodObject<{
916
+ registryUrl: z.ZodDefault<z.ZodString>;
917
+ autoUpdate: z.ZodDefault<z.ZodBoolean>;
918
+ }, "strip", z.ZodTypeAny, {
919
+ registryUrl: string;
920
+ autoUpdate: boolean;
921
+ }, {
922
+ registryUrl?: string | undefined;
923
+ autoUpdate?: boolean | undefined;
924
+ }>>;
925
+ pluginConfigs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
926
+ approvedPermissions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodEnum<["NETWORK", "FILESYSTEM", "SHELL", "PROVIDER_ACCESS", "CHANNEL_ACCESS", "MEMORY_ACCESS"]>, "many">>>;
927
+ }, "strip", z.ZodTypeAny, {
928
+ enabled: boolean;
929
+ marketplace: {
930
+ registryUrl: string;
931
+ autoUpdate: boolean;
932
+ };
933
+ pluginConfigs: Record<string, unknown>;
934
+ approvedPermissions: Record<string, ("NETWORK" | "FILESYSTEM" | "SHELL" | "PROVIDER_ACCESS" | "CHANNEL_ACCESS" | "MEMORY_ACCESS")[]>;
935
+ dir?: string | undefined;
936
+ }, {
937
+ enabled?: boolean | undefined;
938
+ dir?: string | undefined;
939
+ marketplace?: {
940
+ registryUrl?: string | undefined;
941
+ autoUpdate?: boolean | undefined;
942
+ } | undefined;
943
+ pluginConfigs?: Record<string, unknown> | undefined;
944
+ approvedPermissions?: Record<string, ("NETWORK" | "FILESYSTEM" | "SHELL" | "PROVIDER_ACCESS" | "CHANNEL_ACCESS" | "MEMORY_ACCESS")[]> | undefined;
945
+ }>>;
946
+ memory: z.ZodDefault<z.ZodObject<{
947
+ enabled: z.ZodDefault<z.ZodBoolean>;
948
+ autoExtract: z.ZodDefault<z.ZodBoolean>;
949
+ maxEntries: z.ZodDefault<z.ZodNumber>;
950
+ encryptAtRest: z.ZodDefault<z.ZodBoolean>;
951
+ cleanupIntervalMinutes: z.ZodDefault<z.ZodNumber>;
952
+ adaptivePersonality: z.ZodDefault<z.ZodBoolean>;
953
+ patternDetection: z.ZodDefault<z.ZodBoolean>;
954
+ relationshipTracking: z.ZodDefault<z.ZodBoolean>;
955
+ importanceDecay: z.ZodDefault<z.ZodNumber>;
956
+ }, "strip", z.ZodTypeAny, {
957
+ enabled: boolean;
958
+ autoExtract: boolean;
959
+ maxEntries: number;
960
+ encryptAtRest: boolean;
961
+ cleanupIntervalMinutes: number;
962
+ adaptivePersonality: boolean;
963
+ patternDetection: boolean;
964
+ relationshipTracking: boolean;
965
+ importanceDecay: number;
966
+ }, {
967
+ enabled?: boolean | undefined;
968
+ autoExtract?: boolean | undefined;
969
+ maxEntries?: number | undefined;
970
+ encryptAtRest?: boolean | undefined;
971
+ cleanupIntervalMinutes?: number | undefined;
972
+ adaptivePersonality?: boolean | undefined;
973
+ patternDetection?: boolean | undefined;
974
+ relationshipTracking?: boolean | undefined;
975
+ importanceDecay?: number | undefined;
976
+ }>>;
977
+ orchestration: z.ZodDefault<z.ZodObject<{
978
+ enabled: z.ZodDefault<z.ZodBoolean>;
979
+ maxConcurrentAgents: z.ZodDefault<z.ZodNumber>;
980
+ defaultTimeout: z.ZodDefault<z.ZodNumber>;
981
+ totalTimeout: z.ZodDefault<z.ZodNumber>;
982
+ allowedPatterns: z.ZodDefault<z.ZodArray<z.ZodEnum<["parallel", "sequential", "debate", "map-reduce", "supervisor"]>, "many">>;
983
+ costMultiplierWarning: z.ZodDefault<z.ZodNumber>;
984
+ }, "strip", z.ZodTypeAny, {
985
+ enabled: boolean;
986
+ maxConcurrentAgents: number;
987
+ defaultTimeout: number;
988
+ totalTimeout: number;
989
+ allowedPatterns: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[];
990
+ costMultiplierWarning: number;
991
+ }, {
992
+ enabled?: boolean | undefined;
993
+ maxConcurrentAgents?: number | undefined;
994
+ defaultTimeout?: number | undefined;
995
+ totalTimeout?: number | undefined;
996
+ allowedPatterns?: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[] | undefined;
997
+ costMultiplierWarning?: number | undefined;
998
+ }>>;
999
+ agent: z.ZodDefault<z.ZodObject<{
1000
+ name: z.ZodDefault<z.ZodString>;
1001
+ pronouns: z.ZodDefault<z.ZodString>;
1002
+ avatar: z.ZodOptional<z.ZodString>;
1003
+ vibe: z.ZodOptional<z.ZodString>;
1004
+ customInstructions: z.ZodOptional<z.ZodString>;
1005
+ personality: z.ZodDefault<z.ZodString>;
1006
+ tone: z.ZodDefault<z.ZodObject<{
1007
+ warmth: z.ZodDefault<z.ZodNumber>;
1008
+ directness: z.ZodDefault<z.ZodNumber>;
1009
+ humor: z.ZodDefault<z.ZodNumber>;
1010
+ formality: z.ZodDefault<z.ZodNumber>;
1011
+ }, "strip", z.ZodTypeAny, {
1012
+ formality: number;
1013
+ humor: number;
1014
+ warmth: number;
1015
+ directness: number;
1016
+ }, {
1017
+ formality?: number | undefined;
1018
+ humor?: number | undefined;
1019
+ warmth?: number | undefined;
1020
+ directness?: number | undefined;
1021
+ }>>;
1022
+ expertise: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1023
+ errorStyle: z.ZodDefault<z.ZodEnum<["apologetic", "matter_of_fact", "self_deprecating", "professional", "gentle", "detailed", "encouraging", "terse", "educational"]>>;
1024
+ catchphrases: z.ZodDefault<z.ZodObject<{
1025
+ greeting: z.ZodOptional<z.ZodString>;
1026
+ farewell: z.ZodOptional<z.ZodString>;
1027
+ thinking: z.ZodOptional<z.ZodString>;
1028
+ success: z.ZodOptional<z.ZodString>;
1029
+ error: z.ZodOptional<z.ZodString>;
1030
+ }, "strip", z.ZodTypeAny, {
1031
+ error?: string | undefined;
1032
+ greeting?: string | undefined;
1033
+ farewell?: string | undefined;
1034
+ thinking?: string | undefined;
1035
+ success?: string | undefined;
1036
+ }, {
1037
+ error?: string | undefined;
1038
+ greeting?: string | undefined;
1039
+ farewell?: string | undefined;
1040
+ thinking?: string | undefined;
1041
+ success?: string | undefined;
1042
+ }>>;
1043
+ boundaries: z.ZodDefault<z.ZodObject<{
1044
+ neverJokeAbout: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1045
+ neverAdviseOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1046
+ }, "strip", z.ZodTypeAny, {
1047
+ neverJokeAbout: string[];
1048
+ neverAdviseOn: string[];
1049
+ }, {
1050
+ neverJokeAbout?: string[] | undefined;
1051
+ neverAdviseOn?: string[] | undefined;
1052
+ }>>;
1053
+ }, "strip", z.ZodTypeAny, {
1054
+ name: string;
1055
+ pronouns: string;
1056
+ personality: string;
1057
+ tone: {
1058
+ formality: number;
1059
+ humor: number;
1060
+ warmth: number;
1061
+ directness: number;
1062
+ };
1063
+ expertise: string[];
1064
+ errorStyle: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational";
1065
+ catchphrases: {
1066
+ error?: string | undefined;
1067
+ greeting?: string | undefined;
1068
+ farewell?: string | undefined;
1069
+ thinking?: string | undefined;
1070
+ success?: string | undefined;
1071
+ };
1072
+ boundaries: {
1073
+ neverJokeAbout: string[];
1074
+ neverAdviseOn: string[];
1075
+ };
1076
+ avatar?: string | undefined;
1077
+ vibe?: string | undefined;
1078
+ customInstructions?: string | undefined;
1079
+ }, {
1080
+ name?: string | undefined;
1081
+ pronouns?: string | undefined;
1082
+ avatar?: string | undefined;
1083
+ vibe?: string | undefined;
1084
+ customInstructions?: string | undefined;
1085
+ personality?: string | undefined;
1086
+ tone?: {
1087
+ formality?: number | undefined;
1088
+ humor?: number | undefined;
1089
+ warmth?: number | undefined;
1090
+ directness?: number | undefined;
1091
+ } | undefined;
1092
+ expertise?: string[] | undefined;
1093
+ errorStyle?: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational" | undefined;
1094
+ catchphrases?: {
1095
+ error?: string | undefined;
1096
+ greeting?: string | undefined;
1097
+ farewell?: string | undefined;
1098
+ thinking?: string | undefined;
1099
+ success?: string | undefined;
1100
+ } | undefined;
1101
+ boundaries?: {
1102
+ neverJokeAbout?: string[] | undefined;
1103
+ neverAdviseOn?: string[] | undefined;
1104
+ } | undefined;
1105
+ }>>;
1106
+ modes: z.ZodDefault<z.ZodObject<{
1107
+ enabled: z.ZodDefault<z.ZodBoolean>;
1108
+ defaultMode: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["operator", "analyst", "advisor", "writer", "socratic", "legal", "roast", "companion"]>, z.ZodLiteral<"auto">, z.ZodLiteral<"off">]>>;
1109
+ autoDetection: z.ZodDefault<z.ZodBoolean>;
1110
+ confirmationThreshold: z.ZodDefault<z.ZodNumber>;
1111
+ preferences: z.ZodDefault<z.ZodObject<{
1112
+ verbosity: z.ZodDefault<z.ZodNumber>;
1113
+ formality: z.ZodDefault<z.ZodNumber>;
1114
+ proactiveness: z.ZodDefault<z.ZodNumber>;
1115
+ riskTolerance: z.ZodDefault<z.ZodNumber>;
1116
+ humor: z.ZodDefault<z.ZodNumber>;
1117
+ feedbackStyle: z.ZodDefault<z.ZodEnum<["direct", "sandwich", "gentle"]>>;
1118
+ expertiseAssumption: z.ZodDefault<z.ZodEnum<["beginner", "intermediate", "expert"]>>;
1119
+ }, "strip", z.ZodTypeAny, {
1120
+ verbosity: number;
1121
+ formality: number;
1122
+ proactiveness: number;
1123
+ riskTolerance: number;
1124
+ humor: number;
1125
+ feedbackStyle: "direct" | "sandwich" | "gentle";
1126
+ expertiseAssumption: "beginner" | "intermediate" | "expert";
1127
+ }, {
1128
+ verbosity?: number | undefined;
1129
+ formality?: number | undefined;
1130
+ proactiveness?: number | undefined;
1131
+ riskTolerance?: number | undefined;
1132
+ humor?: number | undefined;
1133
+ feedbackStyle?: "direct" | "sandwich" | "gentle" | undefined;
1134
+ expertiseAssumption?: "beginner" | "intermediate" | "expert" | undefined;
1135
+ }>>;
1136
+ }, "strip", z.ZodTypeAny, {
1137
+ enabled: boolean;
1138
+ preferences: {
1139
+ verbosity: number;
1140
+ formality: number;
1141
+ proactiveness: number;
1142
+ riskTolerance: number;
1143
+ humor: number;
1144
+ feedbackStyle: "direct" | "sandwich" | "gentle";
1145
+ expertiseAssumption: "beginner" | "intermediate" | "expert";
1146
+ };
1147
+ defaultMode: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off";
1148
+ autoDetection: boolean;
1149
+ confirmationThreshold: number;
1150
+ }, {
1151
+ enabled?: boolean | undefined;
1152
+ preferences?: {
1153
+ verbosity?: number | undefined;
1154
+ formality?: number | undefined;
1155
+ proactiveness?: number | undefined;
1156
+ riskTolerance?: number | undefined;
1157
+ humor?: number | undefined;
1158
+ feedbackStyle?: "direct" | "sandwich" | "gentle" | undefined;
1159
+ expertiseAssumption?: "beginner" | "intermediate" | "expert" | undefined;
1160
+ } | undefined;
1161
+ defaultMode?: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off" | undefined;
1162
+ autoDetection?: boolean | undefined;
1163
+ confirmationThreshold?: number | undefined;
1164
+ }>>;
1165
+ research: z.ZodDefault<z.ZodObject<{
1166
+ enabled: z.ZodDefault<z.ZodBoolean>;
1167
+ braveApiKey: z.ZodOptional<z.ZodString>;
1168
+ defaultDepth: z.ZodDefault<z.ZodEnum<["quick", "standard", "deep"]>>;
1169
+ maxConcurrentSources: z.ZodDefault<z.ZodNumber>;
1170
+ searchTimeout: z.ZodDefault<z.ZodNumber>;
1171
+ fetchTimeout: z.ZodDefault<z.ZodNumber>;
1172
+ }, "strip", z.ZodTypeAny, {
1173
+ enabled: boolean;
1174
+ defaultDepth: "quick" | "standard" | "deep";
1175
+ maxConcurrentSources: number;
1176
+ searchTimeout: number;
1177
+ fetchTimeout: number;
1178
+ braveApiKey?: string | undefined;
1179
+ }, {
1180
+ enabled?: boolean | undefined;
1181
+ braveApiKey?: string | undefined;
1182
+ defaultDepth?: "quick" | "standard" | "deep" | undefined;
1183
+ maxConcurrentSources?: number | undefined;
1184
+ searchTimeout?: number | undefined;
1185
+ fetchTimeout?: number | undefined;
1186
+ }>>;
1187
+ trust: z.ZodDefault<z.ZodObject<{
1188
+ enabled: z.ZodDefault<z.ZodBoolean>;
1189
+ defaultLevel: z.ZodDefault<z.ZodNumber>;
1190
+ autoPromote: z.ZodDefault<z.ZodBoolean>;
1191
+ promotionThreshold: z.ZodDefault<z.ZodNumber>;
1192
+ demotionThreshold: z.ZodDefault<z.ZodNumber>;
1193
+ autoPromoteCeiling: z.ZodDefault<z.ZodNumber>;
1194
+ }, "strip", z.ZodTypeAny, {
1195
+ enabled: boolean;
1196
+ defaultLevel: number;
1197
+ autoPromote: boolean;
1198
+ promotionThreshold: number;
1199
+ demotionThreshold: number;
1200
+ autoPromoteCeiling: number;
1201
+ }, {
1202
+ enabled?: boolean | undefined;
1203
+ defaultLevel?: number | undefined;
1204
+ autoPromote?: boolean | undefined;
1205
+ promotionThreshold?: number | undefined;
1206
+ demotionThreshold?: number | undefined;
1207
+ autoPromoteCeiling?: number | undefined;
1208
+ }>>;
1209
+ intent: z.ZodDefault<z.ZodObject<{
1210
+ enabled: z.ZodDefault<z.ZodBoolean>;
1211
+ confidenceThreshold: z.ZodDefault<z.ZodNumber>;
1212
+ }, "strip", z.ZodTypeAny, {
1213
+ enabled: boolean;
1214
+ confidenceThreshold: number;
1215
+ }, {
1216
+ enabled?: boolean | undefined;
1217
+ confidenceThreshold?: number | undefined;
1218
+ }>>;
1219
+ desktop: z.ZodDefault<z.ZodObject<{
1220
+ autoStart: z.ZodDefault<z.ZodBoolean>;
1221
+ minimizeToTray: z.ZodDefault<z.ZodBoolean>;
1222
+ hotkey: z.ZodDefault<z.ZodString>;
1223
+ notificationsEnabled: z.ZodDefault<z.ZodBoolean>;
1224
+ updateChannel: z.ZodDefault<z.ZodEnum<["stable", "beta", "nightly"]>>;
1225
+ ollamaEnabled: z.ZodDefault<z.ZodBoolean>;
1226
+ ollamaPort: z.ZodDefault<z.ZodNumber>;
1227
+ windowWidth: z.ZodDefault<z.ZodNumber>;
1228
+ windowHeight: z.ZodDefault<z.ZodNumber>;
1229
+ }, "strip", z.ZodTypeAny, {
1230
+ autoStart: boolean;
1231
+ minimizeToTray: boolean;
1232
+ hotkey: string;
1233
+ notificationsEnabled: boolean;
1234
+ updateChannel: "stable" | "beta" | "nightly";
1235
+ ollamaEnabled: boolean;
1236
+ ollamaPort: number;
1237
+ windowWidth: number;
1238
+ windowHeight: number;
1239
+ }, {
1240
+ autoStart?: boolean | undefined;
1241
+ minimizeToTray?: boolean | undefined;
1242
+ hotkey?: string | undefined;
1243
+ notificationsEnabled?: boolean | undefined;
1244
+ updateChannel?: "stable" | "beta" | "nightly" | undefined;
1245
+ ollamaEnabled?: boolean | undefined;
1246
+ ollamaPort?: number | undefined;
1247
+ windowWidth?: number | undefined;
1248
+ windowHeight?: number | undefined;
1249
+ }>>;
1250
+ cloud: z.ZodDefault<z.ZodObject<{
1251
+ enabled: z.ZodDefault<z.ZodBoolean>;
1252
+ baseDataDir: z.ZodDefault<z.ZodString>;
1253
+ jwtSecret: z.ZodDefault<z.ZodString>;
1254
+ stripeSecretKey: z.ZodOptional<z.ZodString>;
1255
+ stripeWebhookSecret: z.ZodOptional<z.ZodString>;
1256
+ domain: z.ZodDefault<z.ZodString>;
1257
+ }, "strip", z.ZodTypeAny, {
1258
+ jwtSecret: string;
1259
+ enabled: boolean;
1260
+ baseDataDir: string;
1261
+ domain: string;
1262
+ stripeSecretKey?: string | undefined;
1263
+ stripeWebhookSecret?: string | undefined;
1264
+ }, {
1265
+ jwtSecret?: string | undefined;
1266
+ enabled?: boolean | undefined;
1267
+ baseDataDir?: string | undefined;
1268
+ stripeSecretKey?: string | undefined;
1269
+ stripeWebhookSecret?: string | undefined;
1270
+ domain?: string | undefined;
1271
+ }>>;
1272
+ }, "strip", z.ZodTypeAny, {
1273
+ provider: {
1274
+ anthropic: {
1275
+ model: string;
1276
+ maxTokens: number;
1277
+ };
1278
+ primary: string;
1279
+ openai: {
1280
+ model: string;
1281
+ maxTokens: number;
1282
+ };
1283
+ google: {
1284
+ model: string;
1285
+ maxTokens: number;
1286
+ };
1287
+ ollama: {
1288
+ model: string;
1289
+ maxTokens: number;
1290
+ baseUrl: string;
1291
+ };
1292
+ openaiCompatible: {
1293
+ model: string;
1294
+ maxTokens: number;
1295
+ baseUrl: string;
1296
+ name: string;
1297
+ };
1298
+ fallback?: string | undefined;
1299
+ };
1300
+ gateway: {
1301
+ host: string;
1302
+ port: number;
1303
+ corsOrigins: string[];
1304
+ };
1305
+ auth: {
1306
+ mode: "none" | "password" | "jwt";
1307
+ jwtExpiresIn: string;
1308
+ refreshExpiresIn: string;
1309
+ passwordHash?: string | undefined;
1310
+ jwtSecret?: string | undefined;
1311
+ };
1312
+ rateLimit: {
1313
+ enabled: boolean;
1314
+ windowMs: number;
1315
+ maxRequests: number;
1316
+ };
1317
+ pairing: {
1318
+ enabled: boolean;
1319
+ codeLength: number;
1320
+ expiryMinutes: number;
1321
+ autoApproveChannels: string[];
1322
+ persistPath?: string | undefined;
1323
+ };
1324
+ routing: {
1325
+ enabled: boolean;
1326
+ rules: {
1327
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
1328
+ provider: string;
1329
+ model: string;
1330
+ priority: number;
1331
+ }[];
1332
+ costLimits: {
1333
+ warnAt: number;
1334
+ dailyBudget?: number | undefined;
1335
+ monthlyBudget?: number | undefined;
1336
+ perMessageMax?: number | undefined;
1337
+ };
1338
+ preferences: {
1339
+ preferLocal: boolean;
1340
+ preferCheap: boolean;
1341
+ sensitiveToLocal: boolean;
1342
+ };
1343
+ defaultModel?: string | undefined;
1344
+ };
1345
+ session: {
1346
+ maxContextTokens: number;
1347
+ ttlMinutes: number;
1348
+ autoSave: boolean;
1349
+ compactionEnabled: boolean;
1350
+ };
1351
+ logging: {
1352
+ level: "debug" | "info" | "warn" | "error";
1353
+ auditEnabled: boolean;
1354
+ maxFileSizeMb: number;
1355
+ maxFiles: number;
1356
+ };
1357
+ channels: {
1358
+ webchat: {
1359
+ enabled: boolean;
1360
+ };
1361
+ discord: {
1362
+ enabled: boolean;
1363
+ mentionOnly: boolean;
1364
+ };
1365
+ telegram: {
1366
+ enabled: boolean;
1367
+ webhookMode: boolean;
1368
+ };
1369
+ slack: {
1370
+ enabled: boolean;
1371
+ socketMode: boolean;
1372
+ };
1373
+ twilio: {
1374
+ enabled: boolean;
1375
+ smsEnabled: boolean;
1376
+ whatsappEnabled: boolean;
1377
+ };
1378
+ matrix: {
1379
+ enabled: boolean;
1380
+ autoJoinRooms: boolean;
1381
+ };
1382
+ signal: {
1383
+ enabled: boolean;
1384
+ };
1385
+ email: {
1386
+ enabled: boolean;
1387
+ pollInterval: number;
1388
+ };
1389
+ teams: {
1390
+ enabled: boolean;
1391
+ };
1392
+ whatsapp: {
1393
+ enabled: boolean;
1394
+ };
1395
+ };
1396
+ voice: {
1397
+ enabled: boolean;
1398
+ sttProvider: "openai-whisper";
1399
+ ttsProvider: "openai-tts";
1400
+ defaultVoice: string;
1401
+ language: string;
1402
+ maxAudioDuration: number;
1403
+ sampleRate: number;
1404
+ };
1405
+ webhooks: {
1406
+ enabled: boolean;
1407
+ basePath: string;
1408
+ signatureHeader: string;
1409
+ maxPayloadSize: number;
1410
+ };
1411
+ dashboard: {
1412
+ enabled: boolean;
1413
+ sessionTtlMs: number;
1414
+ };
1415
+ plugins: {
1416
+ enabled: boolean;
1417
+ marketplace: {
1418
+ registryUrl: string;
1419
+ autoUpdate: boolean;
1420
+ };
1421
+ pluginConfigs: Record<string, unknown>;
1422
+ approvedPermissions: Record<string, ("NETWORK" | "FILESYSTEM" | "SHELL" | "PROVIDER_ACCESS" | "CHANNEL_ACCESS" | "MEMORY_ACCESS")[]>;
1423
+ dir?: string | undefined;
1424
+ };
1425
+ memory: {
1426
+ enabled: boolean;
1427
+ autoExtract: boolean;
1428
+ maxEntries: number;
1429
+ encryptAtRest: boolean;
1430
+ cleanupIntervalMinutes: number;
1431
+ adaptivePersonality: boolean;
1432
+ patternDetection: boolean;
1433
+ relationshipTracking: boolean;
1434
+ importanceDecay: number;
1435
+ };
1436
+ orchestration: {
1437
+ enabled: boolean;
1438
+ maxConcurrentAgents: number;
1439
+ defaultTimeout: number;
1440
+ totalTimeout: number;
1441
+ allowedPatterns: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[];
1442
+ costMultiplierWarning: number;
1443
+ };
1444
+ agent: {
1445
+ name: string;
1446
+ pronouns: string;
1447
+ personality: string;
1448
+ tone: {
1449
+ formality: number;
1450
+ humor: number;
1451
+ warmth: number;
1452
+ directness: number;
1453
+ };
1454
+ expertise: string[];
1455
+ errorStyle: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational";
1456
+ catchphrases: {
1457
+ error?: string | undefined;
1458
+ greeting?: string | undefined;
1459
+ farewell?: string | undefined;
1460
+ thinking?: string | undefined;
1461
+ success?: string | undefined;
1462
+ };
1463
+ boundaries: {
1464
+ neverJokeAbout: string[];
1465
+ neverAdviseOn: string[];
1466
+ };
1467
+ avatar?: string | undefined;
1468
+ vibe?: string | undefined;
1469
+ customInstructions?: string | undefined;
1470
+ };
1471
+ modes: {
1472
+ enabled: boolean;
1473
+ preferences: {
1474
+ verbosity: number;
1475
+ formality: number;
1476
+ proactiveness: number;
1477
+ riskTolerance: number;
1478
+ humor: number;
1479
+ feedbackStyle: "direct" | "sandwich" | "gentle";
1480
+ expertiseAssumption: "beginner" | "intermediate" | "expert";
1481
+ };
1482
+ defaultMode: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off";
1483
+ autoDetection: boolean;
1484
+ confirmationThreshold: number;
1485
+ };
1486
+ research: {
1487
+ enabled: boolean;
1488
+ defaultDepth: "quick" | "standard" | "deep";
1489
+ maxConcurrentSources: number;
1490
+ searchTimeout: number;
1491
+ fetchTimeout: number;
1492
+ braveApiKey?: string | undefined;
1493
+ };
1494
+ trust: {
1495
+ enabled: boolean;
1496
+ defaultLevel: number;
1497
+ autoPromote: boolean;
1498
+ promotionThreshold: number;
1499
+ demotionThreshold: number;
1500
+ autoPromoteCeiling: number;
1501
+ };
1502
+ intent: {
1503
+ enabled: boolean;
1504
+ confidenceThreshold: number;
1505
+ };
1506
+ desktop: {
1507
+ autoStart: boolean;
1508
+ minimizeToTray: boolean;
1509
+ hotkey: string;
1510
+ notificationsEnabled: boolean;
1511
+ updateChannel: "stable" | "beta" | "nightly";
1512
+ ollamaEnabled: boolean;
1513
+ ollamaPort: number;
1514
+ windowWidth: number;
1515
+ windowHeight: number;
1516
+ };
1517
+ cloud: {
1518
+ jwtSecret: string;
1519
+ enabled: boolean;
1520
+ baseDataDir: string;
1521
+ domain: string;
1522
+ stripeSecretKey?: string | undefined;
1523
+ stripeWebhookSecret?: string | undefined;
1524
+ };
1525
+ }, {
1526
+ provider?: {
1527
+ anthropic?: {
1528
+ model?: string | undefined;
1529
+ maxTokens?: number | undefined;
1530
+ } | undefined;
1531
+ primary?: string | undefined;
1532
+ fallback?: string | undefined;
1533
+ openai?: {
1534
+ model?: string | undefined;
1535
+ maxTokens?: number | undefined;
1536
+ } | undefined;
1537
+ google?: {
1538
+ model?: string | undefined;
1539
+ maxTokens?: number | undefined;
1540
+ } | undefined;
1541
+ ollama?: {
1542
+ model?: string | undefined;
1543
+ maxTokens?: number | undefined;
1544
+ baseUrl?: string | undefined;
1545
+ } | undefined;
1546
+ openaiCompatible?: {
1547
+ model?: string | undefined;
1548
+ maxTokens?: number | undefined;
1549
+ baseUrl?: string | undefined;
1550
+ name?: string | undefined;
1551
+ } | undefined;
1552
+ } | undefined;
1553
+ gateway?: {
1554
+ host?: string | undefined;
1555
+ port?: number | undefined;
1556
+ corsOrigins?: string[] | undefined;
1557
+ } | undefined;
1558
+ auth?: {
1559
+ mode?: "none" | "password" | "jwt" | undefined;
1560
+ passwordHash?: string | undefined;
1561
+ jwtSecret?: string | undefined;
1562
+ jwtExpiresIn?: string | undefined;
1563
+ refreshExpiresIn?: string | undefined;
1564
+ } | undefined;
1565
+ rateLimit?: {
1566
+ enabled?: boolean | undefined;
1567
+ windowMs?: number | undefined;
1568
+ maxRequests?: number | undefined;
1569
+ } | undefined;
1570
+ pairing?: {
1571
+ enabled?: boolean | undefined;
1572
+ codeLength?: number | undefined;
1573
+ expiryMinutes?: number | undefined;
1574
+ autoApproveChannels?: string[] | undefined;
1575
+ persistPath?: string | undefined;
1576
+ } | undefined;
1577
+ routing?: {
1578
+ enabled?: boolean | undefined;
1579
+ defaultModel?: string | undefined;
1580
+ rules?: {
1581
+ task: "code" | "reasoning" | "creative" | "vision" | "long-context" | "fast" | "private" | "image-gen";
1582
+ provider: string;
1583
+ model: string;
1584
+ priority?: number | undefined;
1585
+ }[] | undefined;
1586
+ costLimits?: {
1587
+ dailyBudget?: number | undefined;
1588
+ monthlyBudget?: number | undefined;
1589
+ perMessageMax?: number | undefined;
1590
+ warnAt?: number | undefined;
1591
+ } | undefined;
1592
+ preferences?: {
1593
+ preferLocal?: boolean | undefined;
1594
+ preferCheap?: boolean | undefined;
1595
+ sensitiveToLocal?: boolean | undefined;
1596
+ } | undefined;
1597
+ } | undefined;
1598
+ session?: {
1599
+ maxContextTokens?: number | undefined;
1600
+ ttlMinutes?: number | undefined;
1601
+ autoSave?: boolean | undefined;
1602
+ compactionEnabled?: boolean | undefined;
1603
+ } | undefined;
1604
+ logging?: {
1605
+ level?: "debug" | "info" | "warn" | "error" | undefined;
1606
+ auditEnabled?: boolean | undefined;
1607
+ maxFileSizeMb?: number | undefined;
1608
+ maxFiles?: number | undefined;
1609
+ } | undefined;
1610
+ channels?: {
1611
+ webchat?: {
1612
+ enabled?: boolean | undefined;
1613
+ } | undefined;
1614
+ discord?: {
1615
+ enabled?: boolean | undefined;
1616
+ mentionOnly?: boolean | undefined;
1617
+ } | undefined;
1618
+ telegram?: {
1619
+ enabled?: boolean | undefined;
1620
+ webhookMode?: boolean | undefined;
1621
+ } | undefined;
1622
+ slack?: {
1623
+ enabled?: boolean | undefined;
1624
+ socketMode?: boolean | undefined;
1625
+ } | undefined;
1626
+ twilio?: {
1627
+ enabled?: boolean | undefined;
1628
+ smsEnabled?: boolean | undefined;
1629
+ whatsappEnabled?: boolean | undefined;
1630
+ } | undefined;
1631
+ matrix?: {
1632
+ enabled?: boolean | undefined;
1633
+ autoJoinRooms?: boolean | undefined;
1634
+ } | undefined;
1635
+ signal?: {
1636
+ enabled?: boolean | undefined;
1637
+ } | undefined;
1638
+ email?: {
1639
+ enabled?: boolean | undefined;
1640
+ pollInterval?: number | undefined;
1641
+ } | undefined;
1642
+ teams?: {
1643
+ enabled?: boolean | undefined;
1644
+ } | undefined;
1645
+ whatsapp?: {
1646
+ enabled?: boolean | undefined;
1647
+ } | undefined;
1648
+ } | undefined;
1649
+ voice?: {
1650
+ enabled?: boolean | undefined;
1651
+ sttProvider?: "openai-whisper" | undefined;
1652
+ ttsProvider?: "openai-tts" | undefined;
1653
+ defaultVoice?: string | undefined;
1654
+ language?: string | undefined;
1655
+ maxAudioDuration?: number | undefined;
1656
+ sampleRate?: number | undefined;
1657
+ } | undefined;
1658
+ webhooks?: {
1659
+ enabled?: boolean | undefined;
1660
+ basePath?: string | undefined;
1661
+ signatureHeader?: string | undefined;
1662
+ maxPayloadSize?: number | undefined;
1663
+ } | undefined;
1664
+ dashboard?: {
1665
+ enabled?: boolean | undefined;
1666
+ sessionTtlMs?: number | undefined;
1667
+ } | undefined;
1668
+ plugins?: {
1669
+ enabled?: boolean | undefined;
1670
+ dir?: string | undefined;
1671
+ marketplace?: {
1672
+ registryUrl?: string | undefined;
1673
+ autoUpdate?: boolean | undefined;
1674
+ } | undefined;
1675
+ pluginConfigs?: Record<string, unknown> | undefined;
1676
+ approvedPermissions?: Record<string, ("NETWORK" | "FILESYSTEM" | "SHELL" | "PROVIDER_ACCESS" | "CHANNEL_ACCESS" | "MEMORY_ACCESS")[]> | undefined;
1677
+ } | undefined;
1678
+ memory?: {
1679
+ enabled?: boolean | undefined;
1680
+ autoExtract?: boolean | undefined;
1681
+ maxEntries?: number | undefined;
1682
+ encryptAtRest?: boolean | undefined;
1683
+ cleanupIntervalMinutes?: number | undefined;
1684
+ adaptivePersonality?: boolean | undefined;
1685
+ patternDetection?: boolean | undefined;
1686
+ relationshipTracking?: boolean | undefined;
1687
+ importanceDecay?: number | undefined;
1688
+ } | undefined;
1689
+ orchestration?: {
1690
+ enabled?: boolean | undefined;
1691
+ maxConcurrentAgents?: number | undefined;
1692
+ defaultTimeout?: number | undefined;
1693
+ totalTimeout?: number | undefined;
1694
+ allowedPatterns?: ("parallel" | "sequential" | "debate" | "map-reduce" | "supervisor")[] | undefined;
1695
+ costMultiplierWarning?: number | undefined;
1696
+ } | undefined;
1697
+ agent?: {
1698
+ name?: string | undefined;
1699
+ pronouns?: string | undefined;
1700
+ avatar?: string | undefined;
1701
+ vibe?: string | undefined;
1702
+ customInstructions?: string | undefined;
1703
+ personality?: string | undefined;
1704
+ tone?: {
1705
+ formality?: number | undefined;
1706
+ humor?: number | undefined;
1707
+ warmth?: number | undefined;
1708
+ directness?: number | undefined;
1709
+ } | undefined;
1710
+ expertise?: string[] | undefined;
1711
+ errorStyle?: "gentle" | "professional" | "apologetic" | "matter_of_fact" | "self_deprecating" | "detailed" | "encouraging" | "terse" | "educational" | undefined;
1712
+ catchphrases?: {
1713
+ error?: string | undefined;
1714
+ greeting?: string | undefined;
1715
+ farewell?: string | undefined;
1716
+ thinking?: string | undefined;
1717
+ success?: string | undefined;
1718
+ } | undefined;
1719
+ boundaries?: {
1720
+ neverJokeAbout?: string[] | undefined;
1721
+ neverAdviseOn?: string[] | undefined;
1722
+ } | undefined;
1723
+ } | undefined;
1724
+ modes?: {
1725
+ enabled?: boolean | undefined;
1726
+ preferences?: {
1727
+ verbosity?: number | undefined;
1728
+ formality?: number | undefined;
1729
+ proactiveness?: number | undefined;
1730
+ riskTolerance?: number | undefined;
1731
+ humor?: number | undefined;
1732
+ feedbackStyle?: "direct" | "sandwich" | "gentle" | undefined;
1733
+ expertiseAssumption?: "beginner" | "intermediate" | "expert" | undefined;
1734
+ } | undefined;
1735
+ defaultMode?: "operator" | "analyst" | "advisor" | "writer" | "socratic" | "legal" | "roast" | "companion" | "auto" | "off" | undefined;
1736
+ autoDetection?: boolean | undefined;
1737
+ confirmationThreshold?: number | undefined;
1738
+ } | undefined;
1739
+ research?: {
1740
+ enabled?: boolean | undefined;
1741
+ braveApiKey?: string | undefined;
1742
+ defaultDepth?: "quick" | "standard" | "deep" | undefined;
1743
+ maxConcurrentSources?: number | undefined;
1744
+ searchTimeout?: number | undefined;
1745
+ fetchTimeout?: number | undefined;
1746
+ } | undefined;
1747
+ trust?: {
1748
+ enabled?: boolean | undefined;
1749
+ defaultLevel?: number | undefined;
1750
+ autoPromote?: boolean | undefined;
1751
+ promotionThreshold?: number | undefined;
1752
+ demotionThreshold?: number | undefined;
1753
+ autoPromoteCeiling?: number | undefined;
1754
+ } | undefined;
1755
+ intent?: {
1756
+ enabled?: boolean | undefined;
1757
+ confidenceThreshold?: number | undefined;
1758
+ } | undefined;
1759
+ desktop?: {
1760
+ autoStart?: boolean | undefined;
1761
+ minimizeToTray?: boolean | undefined;
1762
+ hotkey?: string | undefined;
1763
+ notificationsEnabled?: boolean | undefined;
1764
+ updateChannel?: "stable" | "beta" | "nightly" | undefined;
1765
+ ollamaEnabled?: boolean | undefined;
1766
+ ollamaPort?: number | undefined;
1767
+ windowWidth?: number | undefined;
1768
+ windowHeight?: number | undefined;
1769
+ } | undefined;
1770
+ cloud?: {
1771
+ jwtSecret?: string | undefined;
1772
+ enabled?: boolean | undefined;
1773
+ baseDataDir?: string | undefined;
1774
+ stripeSecretKey?: string | undefined;
1775
+ stripeWebhookSecret?: string | undefined;
1776
+ domain?: string | undefined;
1777
+ } | undefined;
1778
+ }>;
1779
+ export type Config = z.infer<typeof ConfigSchema>;
1780
+ export type ModelRouting = z.infer<typeof ModelRoutingSchema>;
1781
+ export type OrchestrationConfig = z.infer<typeof OrchestrationConfigSchema>;
1782
+ export type ResearchConfig = z.infer<typeof ResearchConfigSchema>;
1783
+ export type TrustConfig = z.infer<typeof TrustConfigSchema>;
1784
+ export type IntentConfig = z.infer<typeof IntentConfigSchema>;
1785
+ export type ModesConfig = z.infer<typeof ModesConfigSchema>;
1786
+ export declare function loadConfig(): Promise<Config>;
1787
+ export declare function saveConfig(config: Config): Promise<void>;
1788
+ export declare function getDefaultConfig(): Promise<Config>;
1789
+ export {};
1790
+ //# sourceMappingURL=index.d.ts.map