@cereworker/config 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,3 @@
1
+ export { configSchema, type CereWorkerConfig } from './schema.js';
2
+ export { loadConfig, CONFIG_DIR, GLOBAL_CONFIG } from './loader.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { configSchema } from './schema.js';
2
+ export { loadConfig, CONFIG_DIR, GLOBAL_CONFIG } from './loader.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type CereWorkerConfig } from './schema.js';
2
+ declare const CONFIG_DIR: string;
3
+ declare const GLOBAL_CONFIG: string;
4
+ export declare function loadConfig(overrides?: Partial<CereWorkerConfig>): CereWorkerConfig;
5
+ export { CONFIG_DIR, GLOBAL_CONFIG };
6
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,QAAA,MAAM,UAAU,QAAiC,CAAC;AAClD,QAAA,MAAM,aAAa,QAAkC,CAAC;AAyEtD,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAWlF;AAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
package/dist/loader.js ADDED
@@ -0,0 +1,79 @@
1
+ import { readFileSync, existsSync, mkdirSync } from 'node:fs';
2
+ import { resolve, join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ import { parse as parseYaml } from 'yaml';
5
+ import { configSchema } from './schema.js';
6
+ const CONFIG_DIR = join(homedir(), '.cereworker');
7
+ const GLOBAL_CONFIG = join(CONFIG_DIR, 'config.yaml');
8
+ const LOCAL_CONFIG = '.cereworker.yaml';
9
+ function ensureConfigDir() {
10
+ if (!existsSync(CONFIG_DIR)) {
11
+ mkdirSync(CONFIG_DIR, { recursive: true });
12
+ }
13
+ }
14
+ function loadYaml(path) {
15
+ if (!existsSync(path))
16
+ return {};
17
+ const content = readFileSync(path, 'utf-8');
18
+ return parseYaml(content) ?? {};
19
+ }
20
+ function interpolateEnvVars(obj) {
21
+ if (typeof obj === 'string') {
22
+ return obj.replace(/\$\{(\w+)\}/g, (_, name) => process.env[name] ?? '');
23
+ }
24
+ if (Array.isArray(obj)) {
25
+ return obj.map(interpolateEnvVars);
26
+ }
27
+ if (obj !== null && typeof obj === 'object') {
28
+ const result = {};
29
+ for (const [key, value] of Object.entries(obj)) {
30
+ result[key] = interpolateEnvVars(value);
31
+ }
32
+ return result;
33
+ }
34
+ return obj;
35
+ }
36
+ function loadFromEnv() {
37
+ const env = {};
38
+ const { ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY } = process.env;
39
+ if (ANTHROPIC_API_KEY || OPENAI_API_KEY || GOOGLE_API_KEY) {
40
+ const providers = {};
41
+ if (ANTHROPIC_API_KEY)
42
+ providers.anthropic = { apiKey: ANTHROPIC_API_KEY };
43
+ if (OPENAI_API_KEY)
44
+ providers.openai = { apiKey: OPENAI_API_KEY };
45
+ if (GOOGLE_API_KEY)
46
+ providers.google = { apiKey: GOOGLE_API_KEY };
47
+ env.cerebrum = { providers };
48
+ }
49
+ return env;
50
+ }
51
+ function deepMerge(target, ...sources) {
52
+ for (const source of sources) {
53
+ for (const [key, value] of Object.entries(source)) {
54
+ if (value !== null &&
55
+ typeof value === 'object' &&
56
+ !Array.isArray(value) &&
57
+ typeof target[key] === 'object' &&
58
+ target[key] !== null &&
59
+ !Array.isArray(target[key])) {
60
+ target[key] = deepMerge({ ...target[key] }, value);
61
+ }
62
+ else if (value !== undefined) {
63
+ target[key] = value;
64
+ }
65
+ }
66
+ }
67
+ return target;
68
+ }
69
+ export function loadConfig(overrides) {
70
+ ensureConfigDir();
71
+ const globalConfig = loadYaml(GLOBAL_CONFIG);
72
+ const localConfig = loadYaml(resolve(process.cwd(), LOCAL_CONFIG));
73
+ const envConfig = loadFromEnv();
74
+ const merged = deepMerge({}, globalConfig, localConfig, envConfig, (overrides ?? {}));
75
+ const interpolated = interpolateEnvVars(merged);
76
+ return configSchema.parse(interpolated);
77
+ }
78
+ export { CONFIG_DIR, GLOBAL_CONFIG };
79
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,657 @@
1
+ import { z } from 'zod';
2
+ export declare const configSchema: z.ZodObject<{
3
+ cerebrum: z.ZodDefault<z.ZodObject<{
4
+ defaultProvider: z.ZodDefault<z.ZodString>;
5
+ defaultModel: z.ZodDefault<z.ZodString>;
6
+ providers: z.ZodDefault<z.ZodObject<{
7
+ anthropic: z.ZodOptional<z.ZodObject<{
8
+ apiKey: z.ZodOptional<z.ZodString>;
9
+ baseUrl: z.ZodOptional<z.ZodString>;
10
+ models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ apiKey?: string | undefined;
13
+ baseUrl?: string | undefined;
14
+ models?: string[] | undefined;
15
+ }, {
16
+ apiKey?: string | undefined;
17
+ baseUrl?: string | undefined;
18
+ models?: string[] | undefined;
19
+ }>>;
20
+ openai: z.ZodOptional<z.ZodObject<{
21
+ apiKey: z.ZodOptional<z.ZodString>;
22
+ baseUrl: z.ZodOptional<z.ZodString>;
23
+ models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ apiKey?: string | undefined;
26
+ baseUrl?: string | undefined;
27
+ models?: string[] | undefined;
28
+ }, {
29
+ apiKey?: string | undefined;
30
+ baseUrl?: string | undefined;
31
+ models?: string[] | undefined;
32
+ }>>;
33
+ google: z.ZodOptional<z.ZodObject<{
34
+ apiKey: z.ZodOptional<z.ZodString>;
35
+ baseUrl: z.ZodOptional<z.ZodString>;
36
+ models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ apiKey?: string | undefined;
39
+ baseUrl?: string | undefined;
40
+ models?: string[] | undefined;
41
+ }, {
42
+ apiKey?: string | undefined;
43
+ baseUrl?: string | undefined;
44
+ models?: string[] | undefined;
45
+ }>>;
46
+ local: z.ZodOptional<z.ZodObject<{
47
+ apiKey: z.ZodOptional<z.ZodString>;
48
+ models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ } & {
50
+ baseUrl: z.ZodDefault<z.ZodString>;
51
+ model: z.ZodDefault<z.ZodString>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ baseUrl: string;
54
+ model: string;
55
+ apiKey?: string | undefined;
56
+ models?: string[] | undefined;
57
+ }, {
58
+ apiKey?: string | undefined;
59
+ baseUrl?: string | undefined;
60
+ models?: string[] | undefined;
61
+ model?: string | undefined;
62
+ }>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ anthropic?: {
65
+ apiKey?: string | undefined;
66
+ baseUrl?: string | undefined;
67
+ models?: string[] | undefined;
68
+ } | undefined;
69
+ openai?: {
70
+ apiKey?: string | undefined;
71
+ baseUrl?: string | undefined;
72
+ models?: string[] | undefined;
73
+ } | undefined;
74
+ google?: {
75
+ apiKey?: string | undefined;
76
+ baseUrl?: string | undefined;
77
+ models?: string[] | undefined;
78
+ } | undefined;
79
+ local?: {
80
+ baseUrl: string;
81
+ model: string;
82
+ apiKey?: string | undefined;
83
+ models?: string[] | undefined;
84
+ } | undefined;
85
+ }, {
86
+ anthropic?: {
87
+ apiKey?: string | undefined;
88
+ baseUrl?: string | undefined;
89
+ models?: string[] | undefined;
90
+ } | undefined;
91
+ openai?: {
92
+ apiKey?: string | undefined;
93
+ baseUrl?: string | undefined;
94
+ models?: string[] | undefined;
95
+ } | undefined;
96
+ google?: {
97
+ apiKey?: string | undefined;
98
+ baseUrl?: string | undefined;
99
+ models?: string[] | undefined;
100
+ } | undefined;
101
+ local?: {
102
+ apiKey?: string | undefined;
103
+ baseUrl?: string | undefined;
104
+ models?: string[] | undefined;
105
+ model?: string | undefined;
106
+ } | undefined;
107
+ }>>;
108
+ maxSteps: z.ZodDefault<z.ZodNumber>;
109
+ temperature: z.ZodDefault<z.ZodNumber>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ defaultProvider: string;
112
+ defaultModel: string;
113
+ providers: {
114
+ anthropic?: {
115
+ apiKey?: string | undefined;
116
+ baseUrl?: string | undefined;
117
+ models?: string[] | undefined;
118
+ } | undefined;
119
+ openai?: {
120
+ apiKey?: string | undefined;
121
+ baseUrl?: string | undefined;
122
+ models?: string[] | undefined;
123
+ } | undefined;
124
+ google?: {
125
+ apiKey?: string | undefined;
126
+ baseUrl?: string | undefined;
127
+ models?: string[] | undefined;
128
+ } | undefined;
129
+ local?: {
130
+ baseUrl: string;
131
+ model: string;
132
+ apiKey?: string | undefined;
133
+ models?: string[] | undefined;
134
+ } | undefined;
135
+ };
136
+ maxSteps: number;
137
+ temperature: number;
138
+ }, {
139
+ defaultProvider?: string | undefined;
140
+ defaultModel?: string | undefined;
141
+ providers?: {
142
+ anthropic?: {
143
+ apiKey?: string | undefined;
144
+ baseUrl?: string | undefined;
145
+ models?: string[] | undefined;
146
+ } | undefined;
147
+ openai?: {
148
+ apiKey?: string | undefined;
149
+ baseUrl?: string | undefined;
150
+ models?: string[] | undefined;
151
+ } | undefined;
152
+ google?: {
153
+ apiKey?: string | undefined;
154
+ baseUrl?: string | undefined;
155
+ models?: string[] | undefined;
156
+ } | undefined;
157
+ local?: {
158
+ apiKey?: string | undefined;
159
+ baseUrl?: string | undefined;
160
+ models?: string[] | undefined;
161
+ model?: string | undefined;
162
+ } | undefined;
163
+ } | undefined;
164
+ maxSteps?: number | undefined;
165
+ temperature?: number | undefined;
166
+ }>>;
167
+ cerebellum: z.ZodDefault<z.ZodObject<{
168
+ enabled: z.ZodDefault<z.ZodBoolean>;
169
+ address: z.ZodDefault<z.ZodString>;
170
+ heartbeatInterval: z.ZodDefault<z.ZodNumber>;
171
+ docker: z.ZodDefault<z.ZodObject<{
172
+ autoStart: z.ZodDefault<z.ZodBoolean>;
173
+ image: z.ZodDefault<z.ZodString>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ autoStart: boolean;
176
+ image: string;
177
+ }, {
178
+ autoStart?: boolean | undefined;
179
+ image?: string | undefined;
180
+ }>>;
181
+ }, "strip", z.ZodTypeAny, {
182
+ enabled: boolean;
183
+ address: string;
184
+ heartbeatInterval: number;
185
+ docker: {
186
+ autoStart: boolean;
187
+ image: string;
188
+ };
189
+ }, {
190
+ enabled?: boolean | undefined;
191
+ address?: string | undefined;
192
+ heartbeatInterval?: number | undefined;
193
+ docker?: {
194
+ autoStart?: boolean | undefined;
195
+ image?: string | undefined;
196
+ } | undefined;
197
+ }>>;
198
+ tools: z.ZodDefault<z.ZodObject<{
199
+ shell: z.ZodDefault<z.ZodObject<{
200
+ enabled: z.ZodDefault<z.ZodBoolean>;
201
+ denyList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
202
+ timeout: z.ZodDefault<z.ZodNumber>;
203
+ maxOutputSize: z.ZodDefault<z.ZodNumber>;
204
+ }, "strip", z.ZodTypeAny, {
205
+ enabled: boolean;
206
+ denyList: string[];
207
+ timeout: number;
208
+ maxOutputSize: number;
209
+ }, {
210
+ enabled?: boolean | undefined;
211
+ denyList?: string[] | undefined;
212
+ timeout?: number | undefined;
213
+ maxOutputSize?: number | undefined;
214
+ }>>;
215
+ fileOps: z.ZodDefault<z.ZodObject<{
216
+ enabled: z.ZodDefault<z.ZodBoolean>;
217
+ rootDir: z.ZodOptional<z.ZodString>;
218
+ }, "strip", z.ZodTypeAny, {
219
+ enabled: boolean;
220
+ rootDir?: string | undefined;
221
+ }, {
222
+ enabled?: boolean | undefined;
223
+ rootDir?: string | undefined;
224
+ }>>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ shell: {
227
+ enabled: boolean;
228
+ denyList: string[];
229
+ timeout: number;
230
+ maxOutputSize: number;
231
+ };
232
+ fileOps: {
233
+ enabled: boolean;
234
+ rootDir?: string | undefined;
235
+ };
236
+ }, {
237
+ shell?: {
238
+ enabled?: boolean | undefined;
239
+ denyList?: string[] | undefined;
240
+ timeout?: number | undefined;
241
+ maxOutputSize?: number | undefined;
242
+ } | undefined;
243
+ fileOps?: {
244
+ enabled?: boolean | undefined;
245
+ rootDir?: string | undefined;
246
+ } | undefined;
247
+ }>>;
248
+ channels: z.ZodDefault<z.ZodObject<{
249
+ slack: z.ZodDefault<z.ZodObject<{
250
+ enabled: z.ZodDefault<z.ZodBoolean>;
251
+ botToken: z.ZodOptional<z.ZodString>;
252
+ appToken: z.ZodOptional<z.ZodString>;
253
+ signingSecret: z.ZodOptional<z.ZodString>;
254
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ enabled: boolean;
257
+ allowFrom: string[];
258
+ botToken?: string | undefined;
259
+ appToken?: string | undefined;
260
+ signingSecret?: string | undefined;
261
+ }, {
262
+ enabled?: boolean | undefined;
263
+ botToken?: string | undefined;
264
+ appToken?: string | undefined;
265
+ signingSecret?: string | undefined;
266
+ allowFrom?: string[] | undefined;
267
+ }>>;
268
+ discord: z.ZodDefault<z.ZodObject<{
269
+ enabled: z.ZodDefault<z.ZodBoolean>;
270
+ token: z.ZodOptional<z.ZodString>;
271
+ applicationId: z.ZodOptional<z.ZodString>;
272
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ enabled: boolean;
275
+ allowFrom: string[];
276
+ token?: string | undefined;
277
+ applicationId?: string | undefined;
278
+ }, {
279
+ enabled?: boolean | undefined;
280
+ allowFrom?: string[] | undefined;
281
+ token?: string | undefined;
282
+ applicationId?: string | undefined;
283
+ }>>;
284
+ telegram: z.ZodDefault<z.ZodObject<{
285
+ enabled: z.ZodDefault<z.ZodBoolean>;
286
+ token: z.ZodOptional<z.ZodString>;
287
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
288
+ }, "strip", z.ZodTypeAny, {
289
+ enabled: boolean;
290
+ allowFrom: string[];
291
+ token?: string | undefined;
292
+ }, {
293
+ enabled?: boolean | undefined;
294
+ allowFrom?: string[] | undefined;
295
+ token?: string | undefined;
296
+ }>>;
297
+ matrix: z.ZodDefault<z.ZodObject<{
298
+ enabled: z.ZodDefault<z.ZodBoolean>;
299
+ homeserver: z.ZodDefault<z.ZodString>;
300
+ token: z.ZodOptional<z.ZodString>;
301
+ userId: z.ZodOptional<z.ZodString>;
302
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ enabled: boolean;
305
+ allowFrom: string[];
306
+ homeserver: string;
307
+ token?: string | undefined;
308
+ userId?: string | undefined;
309
+ }, {
310
+ enabled?: boolean | undefined;
311
+ allowFrom?: string[] | undefined;
312
+ token?: string | undefined;
313
+ homeserver?: string | undefined;
314
+ userId?: string | undefined;
315
+ }>>;
316
+ feishu: z.ZodDefault<z.ZodObject<{
317
+ enabled: z.ZodDefault<z.ZodBoolean>;
318
+ appId: z.ZodOptional<z.ZodString>;
319
+ appSecret: z.ZodOptional<z.ZodString>;
320
+ verificationToken: z.ZodOptional<z.ZodString>;
321
+ encryptKey: z.ZodOptional<z.ZodString>;
322
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ enabled: boolean;
325
+ allowFrom: string[];
326
+ appId?: string | undefined;
327
+ appSecret?: string | undefined;
328
+ verificationToken?: string | undefined;
329
+ encryptKey?: string | undefined;
330
+ }, {
331
+ enabled?: boolean | undefined;
332
+ allowFrom?: string[] | undefined;
333
+ appId?: string | undefined;
334
+ appSecret?: string | undefined;
335
+ verificationToken?: string | undefined;
336
+ encryptKey?: string | undefined;
337
+ }>>;
338
+ wechat: z.ZodDefault<z.ZodObject<{
339
+ enabled: z.ZodDefault<z.ZodBoolean>;
340
+ puppet: z.ZodDefault<z.ZodString>;
341
+ token: z.ZodOptional<z.ZodString>;
342
+ allowFrom: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ enabled: boolean;
345
+ allowFrom: string[];
346
+ puppet: string;
347
+ token?: string | undefined;
348
+ }, {
349
+ enabled?: boolean | undefined;
350
+ allowFrom?: string[] | undefined;
351
+ token?: string | undefined;
352
+ puppet?: string | undefined;
353
+ }>>;
354
+ }, "strip", z.ZodTypeAny, {
355
+ slack: {
356
+ enabled: boolean;
357
+ allowFrom: string[];
358
+ botToken?: string | undefined;
359
+ appToken?: string | undefined;
360
+ signingSecret?: string | undefined;
361
+ };
362
+ discord: {
363
+ enabled: boolean;
364
+ allowFrom: string[];
365
+ token?: string | undefined;
366
+ applicationId?: string | undefined;
367
+ };
368
+ telegram: {
369
+ enabled: boolean;
370
+ allowFrom: string[];
371
+ token?: string | undefined;
372
+ };
373
+ matrix: {
374
+ enabled: boolean;
375
+ allowFrom: string[];
376
+ homeserver: string;
377
+ token?: string | undefined;
378
+ userId?: string | undefined;
379
+ };
380
+ feishu: {
381
+ enabled: boolean;
382
+ allowFrom: string[];
383
+ appId?: string | undefined;
384
+ appSecret?: string | undefined;
385
+ verificationToken?: string | undefined;
386
+ encryptKey?: string | undefined;
387
+ };
388
+ wechat: {
389
+ enabled: boolean;
390
+ allowFrom: string[];
391
+ puppet: string;
392
+ token?: string | undefined;
393
+ };
394
+ }, {
395
+ slack?: {
396
+ enabled?: boolean | undefined;
397
+ botToken?: string | undefined;
398
+ appToken?: string | undefined;
399
+ signingSecret?: string | undefined;
400
+ allowFrom?: string[] | undefined;
401
+ } | undefined;
402
+ discord?: {
403
+ enabled?: boolean | undefined;
404
+ allowFrom?: string[] | undefined;
405
+ token?: string | undefined;
406
+ applicationId?: string | undefined;
407
+ } | undefined;
408
+ telegram?: {
409
+ enabled?: boolean | undefined;
410
+ allowFrom?: string[] | undefined;
411
+ token?: string | undefined;
412
+ } | undefined;
413
+ matrix?: {
414
+ enabled?: boolean | undefined;
415
+ allowFrom?: string[] | undefined;
416
+ token?: string | undefined;
417
+ homeserver?: string | undefined;
418
+ userId?: string | undefined;
419
+ } | undefined;
420
+ feishu?: {
421
+ enabled?: boolean | undefined;
422
+ allowFrom?: string[] | undefined;
423
+ appId?: string | undefined;
424
+ appSecret?: string | undefined;
425
+ verificationToken?: string | undefined;
426
+ encryptKey?: string | undefined;
427
+ } | undefined;
428
+ wechat?: {
429
+ enabled?: boolean | undefined;
430
+ allowFrom?: string[] | undefined;
431
+ token?: string | undefined;
432
+ puppet?: string | undefined;
433
+ } | undefined;
434
+ }>>;
435
+ tui: z.ZodDefault<z.ZodObject<{
436
+ theme: z.ZodDefault<z.ZodEnum<["dark", "light", "auto"]>>;
437
+ maxDisplayMessages: z.ZodDefault<z.ZodNumber>;
438
+ }, "strip", z.ZodTypeAny, {
439
+ theme: "dark" | "light" | "auto";
440
+ maxDisplayMessages: number;
441
+ }, {
442
+ theme?: "dark" | "light" | "auto" | undefined;
443
+ maxDisplayMessages?: number | undefined;
444
+ }>>;
445
+ skills: z.ZodDefault<z.ZodObject<{
446
+ directories: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
447
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
448
+ }, "strip", z.ZodTypeAny, {
449
+ enabled: string[];
450
+ directories: string[];
451
+ }, {
452
+ enabled?: string[] | undefined;
453
+ directories?: string[] | undefined;
454
+ }>>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ cerebrum: {
457
+ defaultProvider: string;
458
+ defaultModel: string;
459
+ providers: {
460
+ anthropic?: {
461
+ apiKey?: string | undefined;
462
+ baseUrl?: string | undefined;
463
+ models?: string[] | undefined;
464
+ } | undefined;
465
+ openai?: {
466
+ apiKey?: string | undefined;
467
+ baseUrl?: string | undefined;
468
+ models?: string[] | undefined;
469
+ } | undefined;
470
+ google?: {
471
+ apiKey?: string | undefined;
472
+ baseUrl?: string | undefined;
473
+ models?: string[] | undefined;
474
+ } | undefined;
475
+ local?: {
476
+ baseUrl: string;
477
+ model: string;
478
+ apiKey?: string | undefined;
479
+ models?: string[] | undefined;
480
+ } | undefined;
481
+ };
482
+ maxSteps: number;
483
+ temperature: number;
484
+ };
485
+ cerebellum: {
486
+ enabled: boolean;
487
+ address: string;
488
+ heartbeatInterval: number;
489
+ docker: {
490
+ autoStart: boolean;
491
+ image: string;
492
+ };
493
+ };
494
+ tools: {
495
+ shell: {
496
+ enabled: boolean;
497
+ denyList: string[];
498
+ timeout: number;
499
+ maxOutputSize: number;
500
+ };
501
+ fileOps: {
502
+ enabled: boolean;
503
+ rootDir?: string | undefined;
504
+ };
505
+ };
506
+ channels: {
507
+ slack: {
508
+ enabled: boolean;
509
+ allowFrom: string[];
510
+ botToken?: string | undefined;
511
+ appToken?: string | undefined;
512
+ signingSecret?: string | undefined;
513
+ };
514
+ discord: {
515
+ enabled: boolean;
516
+ allowFrom: string[];
517
+ token?: string | undefined;
518
+ applicationId?: string | undefined;
519
+ };
520
+ telegram: {
521
+ enabled: boolean;
522
+ allowFrom: string[];
523
+ token?: string | undefined;
524
+ };
525
+ matrix: {
526
+ enabled: boolean;
527
+ allowFrom: string[];
528
+ homeserver: string;
529
+ token?: string | undefined;
530
+ userId?: string | undefined;
531
+ };
532
+ feishu: {
533
+ enabled: boolean;
534
+ allowFrom: string[];
535
+ appId?: string | undefined;
536
+ appSecret?: string | undefined;
537
+ verificationToken?: string | undefined;
538
+ encryptKey?: string | undefined;
539
+ };
540
+ wechat: {
541
+ enabled: boolean;
542
+ allowFrom: string[];
543
+ puppet: string;
544
+ token?: string | undefined;
545
+ };
546
+ };
547
+ tui: {
548
+ theme: "dark" | "light" | "auto";
549
+ maxDisplayMessages: number;
550
+ };
551
+ skills: {
552
+ enabled: string[];
553
+ directories: string[];
554
+ };
555
+ }, {
556
+ cerebrum?: {
557
+ defaultProvider?: string | undefined;
558
+ defaultModel?: string | undefined;
559
+ providers?: {
560
+ anthropic?: {
561
+ apiKey?: string | undefined;
562
+ baseUrl?: string | undefined;
563
+ models?: string[] | undefined;
564
+ } | undefined;
565
+ openai?: {
566
+ apiKey?: string | undefined;
567
+ baseUrl?: string | undefined;
568
+ models?: string[] | undefined;
569
+ } | undefined;
570
+ google?: {
571
+ apiKey?: string | undefined;
572
+ baseUrl?: string | undefined;
573
+ models?: string[] | undefined;
574
+ } | undefined;
575
+ local?: {
576
+ apiKey?: string | undefined;
577
+ baseUrl?: string | undefined;
578
+ models?: string[] | undefined;
579
+ model?: string | undefined;
580
+ } | undefined;
581
+ } | undefined;
582
+ maxSteps?: number | undefined;
583
+ temperature?: number | undefined;
584
+ } | undefined;
585
+ cerebellum?: {
586
+ enabled?: boolean | undefined;
587
+ address?: string | undefined;
588
+ heartbeatInterval?: number | undefined;
589
+ docker?: {
590
+ autoStart?: boolean | undefined;
591
+ image?: string | undefined;
592
+ } | undefined;
593
+ } | undefined;
594
+ tools?: {
595
+ shell?: {
596
+ enabled?: boolean | undefined;
597
+ denyList?: string[] | undefined;
598
+ timeout?: number | undefined;
599
+ maxOutputSize?: number | undefined;
600
+ } | undefined;
601
+ fileOps?: {
602
+ enabled?: boolean | undefined;
603
+ rootDir?: string | undefined;
604
+ } | undefined;
605
+ } | undefined;
606
+ channels?: {
607
+ slack?: {
608
+ enabled?: boolean | undefined;
609
+ botToken?: string | undefined;
610
+ appToken?: string | undefined;
611
+ signingSecret?: string | undefined;
612
+ allowFrom?: string[] | undefined;
613
+ } | undefined;
614
+ discord?: {
615
+ enabled?: boolean | undefined;
616
+ allowFrom?: string[] | undefined;
617
+ token?: string | undefined;
618
+ applicationId?: string | undefined;
619
+ } | undefined;
620
+ telegram?: {
621
+ enabled?: boolean | undefined;
622
+ allowFrom?: string[] | undefined;
623
+ token?: string | undefined;
624
+ } | undefined;
625
+ matrix?: {
626
+ enabled?: boolean | undefined;
627
+ allowFrom?: string[] | undefined;
628
+ token?: string | undefined;
629
+ homeserver?: string | undefined;
630
+ userId?: string | undefined;
631
+ } | undefined;
632
+ feishu?: {
633
+ enabled?: boolean | undefined;
634
+ allowFrom?: string[] | undefined;
635
+ appId?: string | undefined;
636
+ appSecret?: string | undefined;
637
+ verificationToken?: string | undefined;
638
+ encryptKey?: string | undefined;
639
+ } | undefined;
640
+ wechat?: {
641
+ enabled?: boolean | undefined;
642
+ allowFrom?: string[] | undefined;
643
+ token?: string | undefined;
644
+ puppet?: string | undefined;
645
+ } | undefined;
646
+ } | undefined;
647
+ tui?: {
648
+ theme?: "dark" | "light" | "auto" | undefined;
649
+ maxDisplayMessages?: number | undefined;
650
+ } | undefined;
651
+ skills?: {
652
+ enabled?: string[] | undefined;
653
+ directories?: string[] | undefined;
654
+ } | undefined;
655
+ }>;
656
+ export type CereWorkerConfig = z.infer<typeof configSchema>;
657
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6HvB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
package/dist/schema.js ADDED
@@ -0,0 +1,128 @@
1
+ import { z } from 'zod';
2
+ const providerConfigSchema = z.object({
3
+ apiKey: z.string().optional(),
4
+ baseUrl: z.string().optional(),
5
+ models: z.array(z.string()).optional(),
6
+ });
7
+ export const configSchema = z.object({
8
+ cerebrum: z
9
+ .object({
10
+ defaultProvider: z.string().default('anthropic'),
11
+ defaultModel: z.string().default('claude-sonnet-4-6'),
12
+ providers: z
13
+ .object({
14
+ anthropic: providerConfigSchema.optional(),
15
+ openai: providerConfigSchema.optional(),
16
+ google: providerConfigSchema.optional(),
17
+ local: providerConfigSchema
18
+ .extend({
19
+ baseUrl: z.string().default('http://localhost:11434'),
20
+ model: z.string().default('llama3'),
21
+ })
22
+ .optional(),
23
+ })
24
+ .default({}),
25
+ maxSteps: z.number().default(10),
26
+ temperature: z.number().default(0.7),
27
+ })
28
+ .default({}),
29
+ cerebellum: z
30
+ .object({
31
+ enabled: z.boolean().default(true),
32
+ address: z.string().default('localhost:50051'),
33
+ heartbeatInterval: z.number().default(30),
34
+ docker: z
35
+ .object({
36
+ autoStart: z.boolean().default(true),
37
+ image: z.string().default('cereworker-cerebellum'),
38
+ })
39
+ .default({}),
40
+ })
41
+ .default({}),
42
+ tools: z
43
+ .object({
44
+ shell: z
45
+ .object({
46
+ enabled: z.boolean().default(true),
47
+ denyList: z.array(z.string()).default(['rm -rf /']),
48
+ timeout: z.number().default(30000),
49
+ maxOutputSize: z.number().default(102400),
50
+ })
51
+ .default({}),
52
+ fileOps: z
53
+ .object({
54
+ enabled: z.boolean().default(true),
55
+ rootDir: z.string().optional(),
56
+ })
57
+ .default({}),
58
+ })
59
+ .default({}),
60
+ channels: z
61
+ .object({
62
+ slack: z
63
+ .object({
64
+ enabled: z.boolean().default(false),
65
+ botToken: z.string().optional(),
66
+ appToken: z.string().optional(),
67
+ signingSecret: z.string().optional(),
68
+ allowFrom: z.array(z.string()).default([]),
69
+ })
70
+ .default({}),
71
+ discord: z
72
+ .object({
73
+ enabled: z.boolean().default(false),
74
+ token: z.string().optional(),
75
+ applicationId: z.string().optional(),
76
+ allowFrom: z.array(z.string()).default([]),
77
+ })
78
+ .default({}),
79
+ telegram: z
80
+ .object({
81
+ enabled: z.boolean().default(false),
82
+ token: z.string().optional(),
83
+ allowFrom: z.array(z.string()).default([]),
84
+ })
85
+ .default({}),
86
+ matrix: z
87
+ .object({
88
+ enabled: z.boolean().default(false),
89
+ homeserver: z.string().default('https://matrix.org'),
90
+ token: z.string().optional(),
91
+ userId: z.string().optional(),
92
+ allowFrom: z.array(z.string()).default([]),
93
+ })
94
+ .default({}),
95
+ feishu: z
96
+ .object({
97
+ enabled: z.boolean().default(false),
98
+ appId: z.string().optional(),
99
+ appSecret: z.string().optional(),
100
+ verificationToken: z.string().optional(),
101
+ encryptKey: z.string().optional(),
102
+ allowFrom: z.array(z.string()).default([]),
103
+ })
104
+ .default({}),
105
+ wechat: z
106
+ .object({
107
+ enabled: z.boolean().default(false),
108
+ puppet: z.string().default('wechaty-puppet-wechat4u'),
109
+ token: z.string().optional(),
110
+ allowFrom: z.array(z.string()).default([]),
111
+ })
112
+ .default({}),
113
+ })
114
+ .default({}),
115
+ tui: z
116
+ .object({
117
+ theme: z.enum(['dark', 'light', 'auto']).default('auto'),
118
+ maxDisplayMessages: z.number().default(100),
119
+ })
120
+ .default({}),
121
+ skills: z
122
+ .object({
123
+ directories: z.array(z.string()).default([]),
124
+ enabled: z.array(z.string()).default([]),
125
+ })
126
+ .default({}),
127
+ });
128
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@cereworker/config",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/Producible/CereWorker.git",
16
+ "directory": "packages/config"
17
+ },
18
+ "dependencies": {
19
+ "yaml": "^2.7.0",
20
+ "zod": "^3.24.0"
21
+ },
22
+ "devDependencies": {
23
+ "typescript": "^5.7.3"
24
+ },
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "typecheck": "tsc --noEmit",
28
+ "lint": "eslint src/",
29
+ "clean": "rm -rf dist"
30
+ }
31
+ }