conflux-ai 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,1509 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const InstructionsConfigSchema: z.ZodObject<{
4
+ primary: z.ZodDefault<z.ZodString>;
5
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
6
+ path: z.ZodString;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ path: string;
10
+ description?: string | undefined;
11
+ }, {
12
+ path: string;
13
+ description?: string | undefined;
14
+ }>, "many">>;
15
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
+ path: z.ZodString;
17
+ description: z.ZodOptional<z.ZodString>;
18
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ alwaysApply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ path: string;
22
+ alwaysApply: boolean;
23
+ description?: string | undefined;
24
+ globs?: string[] | undefined;
25
+ }, {
26
+ path: string;
27
+ description?: string | undefined;
28
+ globs?: string[] | undefined;
29
+ alwaysApply?: boolean | undefined;
30
+ }>, "many">>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ primary: string;
33
+ references?: {
34
+ path: string;
35
+ description?: string | undefined;
36
+ }[] | undefined;
37
+ rules?: {
38
+ path: string;
39
+ alwaysApply: boolean;
40
+ description?: string | undefined;
41
+ globs?: string[] | undefined;
42
+ }[] | undefined;
43
+ }, {
44
+ primary?: string | undefined;
45
+ references?: {
46
+ path: string;
47
+ description?: string | undefined;
48
+ }[] | undefined;
49
+ rules?: {
50
+ path: string;
51
+ description?: string | undefined;
52
+ globs?: string[] | undefined;
53
+ alwaysApply?: boolean | undefined;
54
+ }[] | undefined;
55
+ }>;
56
+ declare const HooksConfigSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
57
+ command: z.ZodString;
58
+ timeout: z.ZodOptional<z.ZodNumber>;
59
+ description: z.ZodOptional<z.ZodString>;
60
+ matcher: z.ZodOptional<z.ZodString>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ command: string;
63
+ description?: string | undefined;
64
+ timeout?: number | undefined;
65
+ matcher?: string | undefined;
66
+ }, {
67
+ command: string;
68
+ description?: string | undefined;
69
+ timeout?: number | undefined;
70
+ matcher?: string | undefined;
71
+ }>, "many">>;
72
+ declare const McpConfigSchema: z.ZodObject<{
73
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
74
+ servers: z.ZodRecord<z.ZodString, z.ZodObject<{
75
+ command: z.ZodString;
76
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
77
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ command: string;
80
+ args?: string[] | undefined;
81
+ env?: Record<string, string> | undefined;
82
+ }, {
83
+ command: string;
84
+ args?: string[] | undefined;
85
+ env?: Record<string, string> | undefined;
86
+ }>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ servers: Record<string, {
89
+ command: string;
90
+ args?: string[] | undefined;
91
+ env?: Record<string, string> | undefined;
92
+ }>;
93
+ env?: Record<string, string> | undefined;
94
+ }, {
95
+ servers: Record<string, {
96
+ command: string;
97
+ args?: string[] | undefined;
98
+ env?: Record<string, string> | undefined;
99
+ }>;
100
+ env?: Record<string, string> | undefined;
101
+ }>;
102
+ declare const PermissionsConfigSchema: z.ZodObject<{
103
+ default: z.ZodDefault<z.ZodEnum<["prompt", "allow", "deny"]>>;
104
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
105
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ default: "prompt" | "allow" | "deny";
108
+ allow?: string[] | undefined;
109
+ deny?: string[] | undefined;
110
+ }, {
111
+ allow?: string[] | undefined;
112
+ deny?: string[] | undefined;
113
+ default?: "prompt" | "allow" | "deny" | undefined;
114
+ }>;
115
+ declare const SkillsConfigSchema: z.ZodObject<{
116
+ local: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
+ name: z.ZodString;
118
+ path: z.ZodString;
119
+ description: z.ZodOptional<z.ZodString>;
120
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ path: string;
123
+ name: string;
124
+ description?: string | undefined;
125
+ tags?: string[] | undefined;
126
+ }, {
127
+ path: string;
128
+ name: string;
129
+ description?: string | undefined;
130
+ tags?: string[] | undefined;
131
+ }>, "many">>;
132
+ external: z.ZodOptional<z.ZodArray<z.ZodObject<{
133
+ name: z.ZodString;
134
+ source: z.ZodString;
135
+ sourceType: z.ZodEnum<["github", "npm", "url"]>;
136
+ skillPath: z.ZodString;
137
+ description: z.ZodOptional<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ name: string;
140
+ source: string;
141
+ sourceType: "url" | "github" | "npm";
142
+ skillPath: string;
143
+ description?: string | undefined;
144
+ }, {
145
+ name: string;
146
+ source: string;
147
+ sourceType: "url" | "github" | "npm";
148
+ skillPath: string;
149
+ description?: string | undefined;
150
+ }>, "many">>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ local?: {
153
+ path: string;
154
+ name: string;
155
+ description?: string | undefined;
156
+ tags?: string[] | undefined;
157
+ }[] | undefined;
158
+ external?: {
159
+ name: string;
160
+ source: string;
161
+ sourceType: "url" | "github" | "npm";
162
+ skillPath: string;
163
+ description?: string | undefined;
164
+ }[] | undefined;
165
+ }, {
166
+ local?: {
167
+ path: string;
168
+ name: string;
169
+ description?: string | undefined;
170
+ tags?: string[] | undefined;
171
+ }[] | undefined;
172
+ external?: {
173
+ name: string;
174
+ source: string;
175
+ sourceType: "url" | "github" | "npm";
176
+ skillPath: string;
177
+ description?: string | undefined;
178
+ }[] | undefined;
179
+ }>;
180
+ declare const ProvidersConfigSchema: z.ZodObject<{
181
+ enabled: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
182
+ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
183
+ instructions: z.ZodOptional<z.ZodObject<{
184
+ primary: z.ZodOptional<z.ZodDefault<z.ZodString>>;
185
+ references: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
186
+ path: z.ZodString;
187
+ description: z.ZodOptional<z.ZodString>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ path: string;
190
+ description?: string | undefined;
191
+ }, {
192
+ path: string;
193
+ description?: string | undefined;
194
+ }>, "many">>>;
195
+ rules: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
196
+ path: z.ZodString;
197
+ description: z.ZodOptional<z.ZodString>;
198
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
199
+ alwaysApply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ path: string;
202
+ alwaysApply: boolean;
203
+ description?: string | undefined;
204
+ globs?: string[] | undefined;
205
+ }, {
206
+ path: string;
207
+ description?: string | undefined;
208
+ globs?: string[] | undefined;
209
+ alwaysApply?: boolean | undefined;
210
+ }>, "many">>>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ primary?: string | undefined;
213
+ references?: {
214
+ path: string;
215
+ description?: string | undefined;
216
+ }[] | undefined;
217
+ rules?: {
218
+ path: string;
219
+ alwaysApply: boolean;
220
+ description?: string | undefined;
221
+ globs?: string[] | undefined;
222
+ }[] | undefined;
223
+ }, {
224
+ primary?: string | undefined;
225
+ references?: {
226
+ path: string;
227
+ description?: string | undefined;
228
+ }[] | undefined;
229
+ rules?: {
230
+ path: string;
231
+ description?: string | undefined;
232
+ globs?: string[] | undefined;
233
+ alwaysApply?: boolean | undefined;
234
+ }[] | undefined;
235
+ }>>;
236
+ hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
237
+ command: z.ZodString;
238
+ timeout: z.ZodOptional<z.ZodNumber>;
239
+ description: z.ZodOptional<z.ZodString>;
240
+ matcher: z.ZodOptional<z.ZodString>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ command: string;
243
+ description?: string | undefined;
244
+ timeout?: number | undefined;
245
+ matcher?: string | undefined;
246
+ }, {
247
+ command: string;
248
+ description?: string | undefined;
249
+ timeout?: number | undefined;
250
+ matcher?: string | undefined;
251
+ }>, "many">>>;
252
+ mcp: z.ZodOptional<z.ZodObject<{
253
+ env: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
254
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
255
+ command: z.ZodString;
256
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
257
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
258
+ }, "strip", z.ZodTypeAny, {
259
+ command: string;
260
+ args?: string[] | undefined;
261
+ env?: Record<string, string> | undefined;
262
+ }, {
263
+ command: string;
264
+ args?: string[] | undefined;
265
+ env?: Record<string, string> | undefined;
266
+ }>>>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ env?: Record<string, string> | undefined;
269
+ servers?: Record<string, {
270
+ command: string;
271
+ args?: string[] | undefined;
272
+ env?: Record<string, string> | undefined;
273
+ }> | undefined;
274
+ }, {
275
+ env?: Record<string, string> | undefined;
276
+ servers?: Record<string, {
277
+ command: string;
278
+ args?: string[] | undefined;
279
+ env?: Record<string, string> | undefined;
280
+ }> | undefined;
281
+ }>>;
282
+ permissions: z.ZodOptional<z.ZodObject<{
283
+ default: z.ZodOptional<z.ZodDefault<z.ZodEnum<["prompt", "allow", "deny"]>>>;
284
+ allow: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
285
+ deny: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
286
+ }, "strip", z.ZodTypeAny, {
287
+ allow?: string[] | undefined;
288
+ deny?: string[] | undefined;
289
+ default?: "prompt" | "allow" | "deny" | undefined;
290
+ }, {
291
+ allow?: string[] | undefined;
292
+ deny?: string[] | undefined;
293
+ default?: "prompt" | "allow" | "deny" | undefined;
294
+ }>>;
295
+ skills: z.ZodOptional<z.ZodObject<{
296
+ local: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
297
+ name: z.ZodString;
298
+ path: z.ZodString;
299
+ description: z.ZodOptional<z.ZodString>;
300
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
301
+ }, "strip", z.ZodTypeAny, {
302
+ path: string;
303
+ name: string;
304
+ description?: string | undefined;
305
+ tags?: string[] | undefined;
306
+ }, {
307
+ path: string;
308
+ name: string;
309
+ description?: string | undefined;
310
+ tags?: string[] | undefined;
311
+ }>, "many">>>;
312
+ external: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
313
+ name: z.ZodString;
314
+ source: z.ZodString;
315
+ sourceType: z.ZodEnum<["github", "npm", "url"]>;
316
+ skillPath: z.ZodString;
317
+ description: z.ZodOptional<z.ZodString>;
318
+ }, "strip", z.ZodTypeAny, {
319
+ name: string;
320
+ source: string;
321
+ sourceType: "url" | "github" | "npm";
322
+ skillPath: string;
323
+ description?: string | undefined;
324
+ }, {
325
+ name: string;
326
+ source: string;
327
+ sourceType: "url" | "github" | "npm";
328
+ skillPath: string;
329
+ description?: string | undefined;
330
+ }>, "many">>>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ local?: {
333
+ path: string;
334
+ name: string;
335
+ description?: string | undefined;
336
+ tags?: string[] | undefined;
337
+ }[] | undefined;
338
+ external?: {
339
+ name: string;
340
+ source: string;
341
+ sourceType: "url" | "github" | "npm";
342
+ skillPath: string;
343
+ description?: string | undefined;
344
+ }[] | undefined;
345
+ }, {
346
+ local?: {
347
+ path: string;
348
+ name: string;
349
+ description?: string | undefined;
350
+ tags?: string[] | undefined;
351
+ }[] | undefined;
352
+ external?: {
353
+ name: string;
354
+ source: string;
355
+ sourceType: "url" | "github" | "npm";
356
+ skillPath: string;
357
+ description?: string | undefined;
358
+ }[] | undefined;
359
+ }>>;
360
+ }, "strip", z.ZodTypeAny, {
361
+ instructions?: {
362
+ primary?: string | undefined;
363
+ references?: {
364
+ path: string;
365
+ description?: string | undefined;
366
+ }[] | undefined;
367
+ rules?: {
368
+ path: string;
369
+ alwaysApply: boolean;
370
+ description?: string | undefined;
371
+ globs?: string[] | undefined;
372
+ }[] | undefined;
373
+ } | undefined;
374
+ hooks?: Record<string, {
375
+ command: string;
376
+ description?: string | undefined;
377
+ timeout?: number | undefined;
378
+ matcher?: string | undefined;
379
+ }[]> | undefined;
380
+ mcp?: {
381
+ env?: Record<string, string> | undefined;
382
+ servers?: Record<string, {
383
+ command: string;
384
+ args?: string[] | undefined;
385
+ env?: Record<string, string> | undefined;
386
+ }> | undefined;
387
+ } | undefined;
388
+ permissions?: {
389
+ allow?: string[] | undefined;
390
+ deny?: string[] | undefined;
391
+ default?: "prompt" | "allow" | "deny" | undefined;
392
+ } | undefined;
393
+ skills?: {
394
+ local?: {
395
+ path: string;
396
+ name: string;
397
+ description?: string | undefined;
398
+ tags?: string[] | undefined;
399
+ }[] | undefined;
400
+ external?: {
401
+ name: string;
402
+ source: string;
403
+ sourceType: "url" | "github" | "npm";
404
+ skillPath: string;
405
+ description?: string | undefined;
406
+ }[] | undefined;
407
+ } | undefined;
408
+ }, {
409
+ instructions?: {
410
+ primary?: string | undefined;
411
+ references?: {
412
+ path: string;
413
+ description?: string | undefined;
414
+ }[] | undefined;
415
+ rules?: {
416
+ path: string;
417
+ description?: string | undefined;
418
+ globs?: string[] | undefined;
419
+ alwaysApply?: boolean | undefined;
420
+ }[] | undefined;
421
+ } | undefined;
422
+ hooks?: Record<string, {
423
+ command: string;
424
+ description?: string | undefined;
425
+ timeout?: number | undefined;
426
+ matcher?: string | undefined;
427
+ }[]> | undefined;
428
+ mcp?: {
429
+ env?: Record<string, string> | undefined;
430
+ servers?: Record<string, {
431
+ command: string;
432
+ args?: string[] | undefined;
433
+ env?: Record<string, string> | undefined;
434
+ }> | undefined;
435
+ } | undefined;
436
+ permissions?: {
437
+ allow?: string[] | undefined;
438
+ deny?: string[] | undefined;
439
+ default?: "prompt" | "allow" | "deny" | undefined;
440
+ } | undefined;
441
+ skills?: {
442
+ local?: {
443
+ path: string;
444
+ name: string;
445
+ description?: string | undefined;
446
+ tags?: string[] | undefined;
447
+ }[] | undefined;
448
+ external?: {
449
+ name: string;
450
+ source: string;
451
+ sourceType: "url" | "github" | "npm";
452
+ skillPath: string;
453
+ description?: string | undefined;
454
+ }[] | undefined;
455
+ } | undefined;
456
+ }>>>;
457
+ }, "strip", z.ZodTypeAny, {
458
+ enabled?: string[] | undefined;
459
+ overrides?: Record<string, {
460
+ instructions?: {
461
+ primary?: string | undefined;
462
+ references?: {
463
+ path: string;
464
+ description?: string | undefined;
465
+ }[] | undefined;
466
+ rules?: {
467
+ path: string;
468
+ alwaysApply: boolean;
469
+ description?: string | undefined;
470
+ globs?: string[] | undefined;
471
+ }[] | undefined;
472
+ } | undefined;
473
+ hooks?: Record<string, {
474
+ command: string;
475
+ description?: string | undefined;
476
+ timeout?: number | undefined;
477
+ matcher?: string | undefined;
478
+ }[]> | undefined;
479
+ mcp?: {
480
+ env?: Record<string, string> | undefined;
481
+ servers?: Record<string, {
482
+ command: string;
483
+ args?: string[] | undefined;
484
+ env?: Record<string, string> | undefined;
485
+ }> | undefined;
486
+ } | undefined;
487
+ permissions?: {
488
+ allow?: string[] | undefined;
489
+ deny?: string[] | undefined;
490
+ default?: "prompt" | "allow" | "deny" | undefined;
491
+ } | undefined;
492
+ skills?: {
493
+ local?: {
494
+ path: string;
495
+ name: string;
496
+ description?: string | undefined;
497
+ tags?: string[] | undefined;
498
+ }[] | undefined;
499
+ external?: {
500
+ name: string;
501
+ source: string;
502
+ sourceType: "url" | "github" | "npm";
503
+ skillPath: string;
504
+ description?: string | undefined;
505
+ }[] | undefined;
506
+ } | undefined;
507
+ }> | undefined;
508
+ }, {
509
+ enabled?: string[] | undefined;
510
+ overrides?: Record<string, {
511
+ instructions?: {
512
+ primary?: string | undefined;
513
+ references?: {
514
+ path: string;
515
+ description?: string | undefined;
516
+ }[] | undefined;
517
+ rules?: {
518
+ path: string;
519
+ description?: string | undefined;
520
+ globs?: string[] | undefined;
521
+ alwaysApply?: boolean | undefined;
522
+ }[] | undefined;
523
+ } | undefined;
524
+ hooks?: Record<string, {
525
+ command: string;
526
+ description?: string | undefined;
527
+ timeout?: number | undefined;
528
+ matcher?: string | undefined;
529
+ }[]> | undefined;
530
+ mcp?: {
531
+ env?: Record<string, string> | undefined;
532
+ servers?: Record<string, {
533
+ command: string;
534
+ args?: string[] | undefined;
535
+ env?: Record<string, string> | undefined;
536
+ }> | undefined;
537
+ } | undefined;
538
+ permissions?: {
539
+ allow?: string[] | undefined;
540
+ deny?: string[] | undefined;
541
+ default?: "prompt" | "allow" | "deny" | undefined;
542
+ } | undefined;
543
+ skills?: {
544
+ local?: {
545
+ path: string;
546
+ name: string;
547
+ description?: string | undefined;
548
+ tags?: string[] | undefined;
549
+ }[] | undefined;
550
+ external?: {
551
+ name: string;
552
+ source: string;
553
+ sourceType: "url" | "github" | "npm";
554
+ skillPath: string;
555
+ description?: string | undefined;
556
+ }[] | undefined;
557
+ } | undefined;
558
+ }> | undefined;
559
+ }>;
560
+ declare const UnifiedConfigSchema: z.ZodObject<{
561
+ version: z.ZodLiteral<1>;
562
+ instructions: z.ZodOptional<z.ZodObject<{
563
+ primary: z.ZodDefault<z.ZodString>;
564
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
565
+ path: z.ZodString;
566
+ description: z.ZodOptional<z.ZodString>;
567
+ }, "strip", z.ZodTypeAny, {
568
+ path: string;
569
+ description?: string | undefined;
570
+ }, {
571
+ path: string;
572
+ description?: string | undefined;
573
+ }>, "many">>;
574
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
575
+ path: z.ZodString;
576
+ description: z.ZodOptional<z.ZodString>;
577
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
578
+ alwaysApply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
579
+ }, "strip", z.ZodTypeAny, {
580
+ path: string;
581
+ alwaysApply: boolean;
582
+ description?: string | undefined;
583
+ globs?: string[] | undefined;
584
+ }, {
585
+ path: string;
586
+ description?: string | undefined;
587
+ globs?: string[] | undefined;
588
+ alwaysApply?: boolean | undefined;
589
+ }>, "many">>;
590
+ }, "strip", z.ZodTypeAny, {
591
+ primary: string;
592
+ references?: {
593
+ path: string;
594
+ description?: string | undefined;
595
+ }[] | undefined;
596
+ rules?: {
597
+ path: string;
598
+ alwaysApply: boolean;
599
+ description?: string | undefined;
600
+ globs?: string[] | undefined;
601
+ }[] | undefined;
602
+ }, {
603
+ primary?: string | undefined;
604
+ references?: {
605
+ path: string;
606
+ description?: string | undefined;
607
+ }[] | undefined;
608
+ rules?: {
609
+ path: string;
610
+ description?: string | undefined;
611
+ globs?: string[] | undefined;
612
+ alwaysApply?: boolean | undefined;
613
+ }[] | undefined;
614
+ }>>;
615
+ hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
616
+ command: z.ZodString;
617
+ timeout: z.ZodOptional<z.ZodNumber>;
618
+ description: z.ZodOptional<z.ZodString>;
619
+ matcher: z.ZodOptional<z.ZodString>;
620
+ }, "strip", z.ZodTypeAny, {
621
+ command: string;
622
+ description?: string | undefined;
623
+ timeout?: number | undefined;
624
+ matcher?: string | undefined;
625
+ }, {
626
+ command: string;
627
+ description?: string | undefined;
628
+ timeout?: number | undefined;
629
+ matcher?: string | undefined;
630
+ }>, "many">>>;
631
+ mcp: z.ZodOptional<z.ZodObject<{
632
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
633
+ servers: z.ZodRecord<z.ZodString, z.ZodObject<{
634
+ command: z.ZodString;
635
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
636
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
637
+ }, "strip", z.ZodTypeAny, {
638
+ command: string;
639
+ args?: string[] | undefined;
640
+ env?: Record<string, string> | undefined;
641
+ }, {
642
+ command: string;
643
+ args?: string[] | undefined;
644
+ env?: Record<string, string> | undefined;
645
+ }>>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ servers: Record<string, {
648
+ command: string;
649
+ args?: string[] | undefined;
650
+ env?: Record<string, string> | undefined;
651
+ }>;
652
+ env?: Record<string, string> | undefined;
653
+ }, {
654
+ servers: Record<string, {
655
+ command: string;
656
+ args?: string[] | undefined;
657
+ env?: Record<string, string> | undefined;
658
+ }>;
659
+ env?: Record<string, string> | undefined;
660
+ }>>;
661
+ permissions: z.ZodOptional<z.ZodObject<{
662
+ default: z.ZodDefault<z.ZodEnum<["prompt", "allow", "deny"]>>;
663
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
664
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
665
+ }, "strip", z.ZodTypeAny, {
666
+ default: "prompt" | "allow" | "deny";
667
+ allow?: string[] | undefined;
668
+ deny?: string[] | undefined;
669
+ }, {
670
+ allow?: string[] | undefined;
671
+ deny?: string[] | undefined;
672
+ default?: "prompt" | "allow" | "deny" | undefined;
673
+ }>>;
674
+ skills: z.ZodOptional<z.ZodObject<{
675
+ local: z.ZodOptional<z.ZodArray<z.ZodObject<{
676
+ name: z.ZodString;
677
+ path: z.ZodString;
678
+ description: z.ZodOptional<z.ZodString>;
679
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
680
+ }, "strip", z.ZodTypeAny, {
681
+ path: string;
682
+ name: string;
683
+ description?: string | undefined;
684
+ tags?: string[] | undefined;
685
+ }, {
686
+ path: string;
687
+ name: string;
688
+ description?: string | undefined;
689
+ tags?: string[] | undefined;
690
+ }>, "many">>;
691
+ external: z.ZodOptional<z.ZodArray<z.ZodObject<{
692
+ name: z.ZodString;
693
+ source: z.ZodString;
694
+ sourceType: z.ZodEnum<["github", "npm", "url"]>;
695
+ skillPath: z.ZodString;
696
+ description: z.ZodOptional<z.ZodString>;
697
+ }, "strip", z.ZodTypeAny, {
698
+ name: string;
699
+ source: string;
700
+ sourceType: "url" | "github" | "npm";
701
+ skillPath: string;
702
+ description?: string | undefined;
703
+ }, {
704
+ name: string;
705
+ source: string;
706
+ sourceType: "url" | "github" | "npm";
707
+ skillPath: string;
708
+ description?: string | undefined;
709
+ }>, "many">>;
710
+ }, "strip", z.ZodTypeAny, {
711
+ local?: {
712
+ path: string;
713
+ name: string;
714
+ description?: string | undefined;
715
+ tags?: string[] | undefined;
716
+ }[] | undefined;
717
+ external?: {
718
+ name: string;
719
+ source: string;
720
+ sourceType: "url" | "github" | "npm";
721
+ skillPath: string;
722
+ description?: string | undefined;
723
+ }[] | undefined;
724
+ }, {
725
+ local?: {
726
+ path: string;
727
+ name: string;
728
+ description?: string | undefined;
729
+ tags?: string[] | undefined;
730
+ }[] | undefined;
731
+ external?: {
732
+ name: string;
733
+ source: string;
734
+ sourceType: "url" | "github" | "npm";
735
+ skillPath: string;
736
+ description?: string | undefined;
737
+ }[] | undefined;
738
+ }>>;
739
+ providers: z.ZodOptional<z.ZodObject<{
740
+ enabled: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
741
+ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
742
+ instructions: z.ZodOptional<z.ZodObject<{
743
+ primary: z.ZodOptional<z.ZodDefault<z.ZodString>>;
744
+ references: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
745
+ path: z.ZodString;
746
+ description: z.ZodOptional<z.ZodString>;
747
+ }, "strip", z.ZodTypeAny, {
748
+ path: string;
749
+ description?: string | undefined;
750
+ }, {
751
+ path: string;
752
+ description?: string | undefined;
753
+ }>, "many">>>;
754
+ rules: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
755
+ path: z.ZodString;
756
+ description: z.ZodOptional<z.ZodString>;
757
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
758
+ alwaysApply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
759
+ }, "strip", z.ZodTypeAny, {
760
+ path: string;
761
+ alwaysApply: boolean;
762
+ description?: string | undefined;
763
+ globs?: string[] | undefined;
764
+ }, {
765
+ path: string;
766
+ description?: string | undefined;
767
+ globs?: string[] | undefined;
768
+ alwaysApply?: boolean | undefined;
769
+ }>, "many">>>;
770
+ }, "strip", z.ZodTypeAny, {
771
+ primary?: string | undefined;
772
+ references?: {
773
+ path: string;
774
+ description?: string | undefined;
775
+ }[] | undefined;
776
+ rules?: {
777
+ path: string;
778
+ alwaysApply: boolean;
779
+ description?: string | undefined;
780
+ globs?: string[] | undefined;
781
+ }[] | undefined;
782
+ }, {
783
+ primary?: string | undefined;
784
+ references?: {
785
+ path: string;
786
+ description?: string | undefined;
787
+ }[] | undefined;
788
+ rules?: {
789
+ path: string;
790
+ description?: string | undefined;
791
+ globs?: string[] | undefined;
792
+ alwaysApply?: boolean | undefined;
793
+ }[] | undefined;
794
+ }>>;
795
+ hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
796
+ command: z.ZodString;
797
+ timeout: z.ZodOptional<z.ZodNumber>;
798
+ description: z.ZodOptional<z.ZodString>;
799
+ matcher: z.ZodOptional<z.ZodString>;
800
+ }, "strip", z.ZodTypeAny, {
801
+ command: string;
802
+ description?: string | undefined;
803
+ timeout?: number | undefined;
804
+ matcher?: string | undefined;
805
+ }, {
806
+ command: string;
807
+ description?: string | undefined;
808
+ timeout?: number | undefined;
809
+ matcher?: string | undefined;
810
+ }>, "many">>>;
811
+ mcp: z.ZodOptional<z.ZodObject<{
812
+ env: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
813
+ servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
814
+ command: z.ZodString;
815
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
816
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
817
+ }, "strip", z.ZodTypeAny, {
818
+ command: string;
819
+ args?: string[] | undefined;
820
+ env?: Record<string, string> | undefined;
821
+ }, {
822
+ command: string;
823
+ args?: string[] | undefined;
824
+ env?: Record<string, string> | undefined;
825
+ }>>>;
826
+ }, "strip", z.ZodTypeAny, {
827
+ env?: Record<string, string> | undefined;
828
+ servers?: Record<string, {
829
+ command: string;
830
+ args?: string[] | undefined;
831
+ env?: Record<string, string> | undefined;
832
+ }> | undefined;
833
+ }, {
834
+ env?: Record<string, string> | undefined;
835
+ servers?: Record<string, {
836
+ command: string;
837
+ args?: string[] | undefined;
838
+ env?: Record<string, string> | undefined;
839
+ }> | undefined;
840
+ }>>;
841
+ permissions: z.ZodOptional<z.ZodObject<{
842
+ default: z.ZodOptional<z.ZodDefault<z.ZodEnum<["prompt", "allow", "deny"]>>>;
843
+ allow: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
844
+ deny: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
845
+ }, "strip", z.ZodTypeAny, {
846
+ allow?: string[] | undefined;
847
+ deny?: string[] | undefined;
848
+ default?: "prompt" | "allow" | "deny" | undefined;
849
+ }, {
850
+ allow?: string[] | undefined;
851
+ deny?: string[] | undefined;
852
+ default?: "prompt" | "allow" | "deny" | undefined;
853
+ }>>;
854
+ skills: z.ZodOptional<z.ZodObject<{
855
+ local: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
856
+ name: z.ZodString;
857
+ path: z.ZodString;
858
+ description: z.ZodOptional<z.ZodString>;
859
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
860
+ }, "strip", z.ZodTypeAny, {
861
+ path: string;
862
+ name: string;
863
+ description?: string | undefined;
864
+ tags?: string[] | undefined;
865
+ }, {
866
+ path: string;
867
+ name: string;
868
+ description?: string | undefined;
869
+ tags?: string[] | undefined;
870
+ }>, "many">>>;
871
+ external: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
872
+ name: z.ZodString;
873
+ source: z.ZodString;
874
+ sourceType: z.ZodEnum<["github", "npm", "url"]>;
875
+ skillPath: z.ZodString;
876
+ description: z.ZodOptional<z.ZodString>;
877
+ }, "strip", z.ZodTypeAny, {
878
+ name: string;
879
+ source: string;
880
+ sourceType: "url" | "github" | "npm";
881
+ skillPath: string;
882
+ description?: string | undefined;
883
+ }, {
884
+ name: string;
885
+ source: string;
886
+ sourceType: "url" | "github" | "npm";
887
+ skillPath: string;
888
+ description?: string | undefined;
889
+ }>, "many">>>;
890
+ }, "strip", z.ZodTypeAny, {
891
+ local?: {
892
+ path: string;
893
+ name: string;
894
+ description?: string | undefined;
895
+ tags?: string[] | undefined;
896
+ }[] | undefined;
897
+ external?: {
898
+ name: string;
899
+ source: string;
900
+ sourceType: "url" | "github" | "npm";
901
+ skillPath: string;
902
+ description?: string | undefined;
903
+ }[] | undefined;
904
+ }, {
905
+ local?: {
906
+ path: string;
907
+ name: string;
908
+ description?: string | undefined;
909
+ tags?: string[] | undefined;
910
+ }[] | undefined;
911
+ external?: {
912
+ name: string;
913
+ source: string;
914
+ sourceType: "url" | "github" | "npm";
915
+ skillPath: string;
916
+ description?: string | undefined;
917
+ }[] | undefined;
918
+ }>>;
919
+ }, "strip", z.ZodTypeAny, {
920
+ instructions?: {
921
+ primary?: string | undefined;
922
+ references?: {
923
+ path: string;
924
+ description?: string | undefined;
925
+ }[] | undefined;
926
+ rules?: {
927
+ path: string;
928
+ alwaysApply: boolean;
929
+ description?: string | undefined;
930
+ globs?: string[] | undefined;
931
+ }[] | undefined;
932
+ } | undefined;
933
+ hooks?: Record<string, {
934
+ command: string;
935
+ description?: string | undefined;
936
+ timeout?: number | undefined;
937
+ matcher?: string | undefined;
938
+ }[]> | undefined;
939
+ mcp?: {
940
+ env?: Record<string, string> | undefined;
941
+ servers?: Record<string, {
942
+ command: string;
943
+ args?: string[] | undefined;
944
+ env?: Record<string, string> | undefined;
945
+ }> | undefined;
946
+ } | undefined;
947
+ permissions?: {
948
+ allow?: string[] | undefined;
949
+ deny?: string[] | undefined;
950
+ default?: "prompt" | "allow" | "deny" | undefined;
951
+ } | undefined;
952
+ skills?: {
953
+ local?: {
954
+ path: string;
955
+ name: string;
956
+ description?: string | undefined;
957
+ tags?: string[] | undefined;
958
+ }[] | undefined;
959
+ external?: {
960
+ name: string;
961
+ source: string;
962
+ sourceType: "url" | "github" | "npm";
963
+ skillPath: string;
964
+ description?: string | undefined;
965
+ }[] | undefined;
966
+ } | undefined;
967
+ }, {
968
+ instructions?: {
969
+ primary?: string | undefined;
970
+ references?: {
971
+ path: string;
972
+ description?: string | undefined;
973
+ }[] | undefined;
974
+ rules?: {
975
+ path: string;
976
+ description?: string | undefined;
977
+ globs?: string[] | undefined;
978
+ alwaysApply?: boolean | undefined;
979
+ }[] | undefined;
980
+ } | undefined;
981
+ hooks?: Record<string, {
982
+ command: string;
983
+ description?: string | undefined;
984
+ timeout?: number | undefined;
985
+ matcher?: string | undefined;
986
+ }[]> | undefined;
987
+ mcp?: {
988
+ env?: Record<string, string> | undefined;
989
+ servers?: Record<string, {
990
+ command: string;
991
+ args?: string[] | undefined;
992
+ env?: Record<string, string> | undefined;
993
+ }> | undefined;
994
+ } | undefined;
995
+ permissions?: {
996
+ allow?: string[] | undefined;
997
+ deny?: string[] | undefined;
998
+ default?: "prompt" | "allow" | "deny" | undefined;
999
+ } | undefined;
1000
+ skills?: {
1001
+ local?: {
1002
+ path: string;
1003
+ name: string;
1004
+ description?: string | undefined;
1005
+ tags?: string[] | undefined;
1006
+ }[] | undefined;
1007
+ external?: {
1008
+ name: string;
1009
+ source: string;
1010
+ sourceType: "url" | "github" | "npm";
1011
+ skillPath: string;
1012
+ description?: string | undefined;
1013
+ }[] | undefined;
1014
+ } | undefined;
1015
+ }>>>;
1016
+ }, "strip", z.ZodTypeAny, {
1017
+ enabled?: string[] | undefined;
1018
+ overrides?: Record<string, {
1019
+ instructions?: {
1020
+ primary?: string | undefined;
1021
+ references?: {
1022
+ path: string;
1023
+ description?: string | undefined;
1024
+ }[] | undefined;
1025
+ rules?: {
1026
+ path: string;
1027
+ alwaysApply: boolean;
1028
+ description?: string | undefined;
1029
+ globs?: string[] | undefined;
1030
+ }[] | undefined;
1031
+ } | undefined;
1032
+ hooks?: Record<string, {
1033
+ command: string;
1034
+ description?: string | undefined;
1035
+ timeout?: number | undefined;
1036
+ matcher?: string | undefined;
1037
+ }[]> | undefined;
1038
+ mcp?: {
1039
+ env?: Record<string, string> | undefined;
1040
+ servers?: Record<string, {
1041
+ command: string;
1042
+ args?: string[] | undefined;
1043
+ env?: Record<string, string> | undefined;
1044
+ }> | undefined;
1045
+ } | undefined;
1046
+ permissions?: {
1047
+ allow?: string[] | undefined;
1048
+ deny?: string[] | undefined;
1049
+ default?: "prompt" | "allow" | "deny" | undefined;
1050
+ } | undefined;
1051
+ skills?: {
1052
+ local?: {
1053
+ path: string;
1054
+ name: string;
1055
+ description?: string | undefined;
1056
+ tags?: string[] | undefined;
1057
+ }[] | undefined;
1058
+ external?: {
1059
+ name: string;
1060
+ source: string;
1061
+ sourceType: "url" | "github" | "npm";
1062
+ skillPath: string;
1063
+ description?: string | undefined;
1064
+ }[] | undefined;
1065
+ } | undefined;
1066
+ }> | undefined;
1067
+ }, {
1068
+ enabled?: string[] | undefined;
1069
+ overrides?: Record<string, {
1070
+ instructions?: {
1071
+ primary?: string | undefined;
1072
+ references?: {
1073
+ path: string;
1074
+ description?: string | undefined;
1075
+ }[] | undefined;
1076
+ rules?: {
1077
+ path: string;
1078
+ description?: string | undefined;
1079
+ globs?: string[] | undefined;
1080
+ alwaysApply?: boolean | undefined;
1081
+ }[] | undefined;
1082
+ } | undefined;
1083
+ hooks?: Record<string, {
1084
+ command: string;
1085
+ description?: string | undefined;
1086
+ timeout?: number | undefined;
1087
+ matcher?: string | undefined;
1088
+ }[]> | undefined;
1089
+ mcp?: {
1090
+ env?: Record<string, string> | undefined;
1091
+ servers?: Record<string, {
1092
+ command: string;
1093
+ args?: string[] | undefined;
1094
+ env?: Record<string, string> | undefined;
1095
+ }> | undefined;
1096
+ } | undefined;
1097
+ permissions?: {
1098
+ allow?: string[] | undefined;
1099
+ deny?: string[] | undefined;
1100
+ default?: "prompt" | "allow" | "deny" | undefined;
1101
+ } | undefined;
1102
+ skills?: {
1103
+ local?: {
1104
+ path: string;
1105
+ name: string;
1106
+ description?: string | undefined;
1107
+ tags?: string[] | undefined;
1108
+ }[] | undefined;
1109
+ external?: {
1110
+ name: string;
1111
+ source: string;
1112
+ sourceType: "url" | "github" | "npm";
1113
+ skillPath: string;
1114
+ description?: string | undefined;
1115
+ }[] | undefined;
1116
+ } | undefined;
1117
+ }> | undefined;
1118
+ }>>;
1119
+ meta: z.ZodOptional<z.ZodObject<{
1120
+ created: z.ZodOptional<z.ZodString>;
1121
+ schema: z.ZodOptional<z.ZodString>;
1122
+ description: z.ZodOptional<z.ZodString>;
1123
+ }, "strip", z.ZodTypeAny, {
1124
+ description?: string | undefined;
1125
+ created?: string | undefined;
1126
+ schema?: string | undefined;
1127
+ }, {
1128
+ description?: string | undefined;
1129
+ created?: string | undefined;
1130
+ schema?: string | undefined;
1131
+ }>>;
1132
+ }, "strip", z.ZodTypeAny, {
1133
+ version: 1;
1134
+ instructions?: {
1135
+ primary: string;
1136
+ references?: {
1137
+ path: string;
1138
+ description?: string | undefined;
1139
+ }[] | undefined;
1140
+ rules?: {
1141
+ path: string;
1142
+ alwaysApply: boolean;
1143
+ description?: string | undefined;
1144
+ globs?: string[] | undefined;
1145
+ }[] | undefined;
1146
+ } | undefined;
1147
+ hooks?: Record<string, {
1148
+ command: string;
1149
+ description?: string | undefined;
1150
+ timeout?: number | undefined;
1151
+ matcher?: string | undefined;
1152
+ }[]> | undefined;
1153
+ mcp?: {
1154
+ servers: Record<string, {
1155
+ command: string;
1156
+ args?: string[] | undefined;
1157
+ env?: Record<string, string> | undefined;
1158
+ }>;
1159
+ env?: Record<string, string> | undefined;
1160
+ } | undefined;
1161
+ permissions?: {
1162
+ default: "prompt" | "allow" | "deny";
1163
+ allow?: string[] | undefined;
1164
+ deny?: string[] | undefined;
1165
+ } | undefined;
1166
+ skills?: {
1167
+ local?: {
1168
+ path: string;
1169
+ name: string;
1170
+ description?: string | undefined;
1171
+ tags?: string[] | undefined;
1172
+ }[] | undefined;
1173
+ external?: {
1174
+ name: string;
1175
+ source: string;
1176
+ sourceType: "url" | "github" | "npm";
1177
+ skillPath: string;
1178
+ description?: string | undefined;
1179
+ }[] | undefined;
1180
+ } | undefined;
1181
+ providers?: {
1182
+ enabled?: string[] | undefined;
1183
+ overrides?: Record<string, {
1184
+ instructions?: {
1185
+ primary?: string | undefined;
1186
+ references?: {
1187
+ path: string;
1188
+ description?: string | undefined;
1189
+ }[] | undefined;
1190
+ rules?: {
1191
+ path: string;
1192
+ alwaysApply: boolean;
1193
+ description?: string | undefined;
1194
+ globs?: string[] | undefined;
1195
+ }[] | undefined;
1196
+ } | undefined;
1197
+ hooks?: Record<string, {
1198
+ command: string;
1199
+ description?: string | undefined;
1200
+ timeout?: number | undefined;
1201
+ matcher?: string | undefined;
1202
+ }[]> | undefined;
1203
+ mcp?: {
1204
+ env?: Record<string, string> | undefined;
1205
+ servers?: Record<string, {
1206
+ command: string;
1207
+ args?: string[] | undefined;
1208
+ env?: Record<string, string> | undefined;
1209
+ }> | undefined;
1210
+ } | undefined;
1211
+ permissions?: {
1212
+ allow?: string[] | undefined;
1213
+ deny?: string[] | undefined;
1214
+ default?: "prompt" | "allow" | "deny" | undefined;
1215
+ } | undefined;
1216
+ skills?: {
1217
+ local?: {
1218
+ path: string;
1219
+ name: string;
1220
+ description?: string | undefined;
1221
+ tags?: string[] | undefined;
1222
+ }[] | undefined;
1223
+ external?: {
1224
+ name: string;
1225
+ source: string;
1226
+ sourceType: "url" | "github" | "npm";
1227
+ skillPath: string;
1228
+ description?: string | undefined;
1229
+ }[] | undefined;
1230
+ } | undefined;
1231
+ }> | undefined;
1232
+ } | undefined;
1233
+ meta?: {
1234
+ description?: string | undefined;
1235
+ created?: string | undefined;
1236
+ schema?: string | undefined;
1237
+ } | undefined;
1238
+ }, {
1239
+ version: 1;
1240
+ instructions?: {
1241
+ primary?: string | undefined;
1242
+ references?: {
1243
+ path: string;
1244
+ description?: string | undefined;
1245
+ }[] | undefined;
1246
+ rules?: {
1247
+ path: string;
1248
+ description?: string | undefined;
1249
+ globs?: string[] | undefined;
1250
+ alwaysApply?: boolean | undefined;
1251
+ }[] | undefined;
1252
+ } | undefined;
1253
+ hooks?: Record<string, {
1254
+ command: string;
1255
+ description?: string | undefined;
1256
+ timeout?: number | undefined;
1257
+ matcher?: string | undefined;
1258
+ }[]> | undefined;
1259
+ mcp?: {
1260
+ servers: Record<string, {
1261
+ command: string;
1262
+ args?: string[] | undefined;
1263
+ env?: Record<string, string> | undefined;
1264
+ }>;
1265
+ env?: Record<string, string> | undefined;
1266
+ } | undefined;
1267
+ permissions?: {
1268
+ allow?: string[] | undefined;
1269
+ deny?: string[] | undefined;
1270
+ default?: "prompt" | "allow" | "deny" | undefined;
1271
+ } | undefined;
1272
+ skills?: {
1273
+ local?: {
1274
+ path: string;
1275
+ name: string;
1276
+ description?: string | undefined;
1277
+ tags?: string[] | undefined;
1278
+ }[] | undefined;
1279
+ external?: {
1280
+ name: string;
1281
+ source: string;
1282
+ sourceType: "url" | "github" | "npm";
1283
+ skillPath: string;
1284
+ description?: string | undefined;
1285
+ }[] | undefined;
1286
+ } | undefined;
1287
+ providers?: {
1288
+ enabled?: string[] | undefined;
1289
+ overrides?: Record<string, {
1290
+ instructions?: {
1291
+ primary?: string | undefined;
1292
+ references?: {
1293
+ path: string;
1294
+ description?: string | undefined;
1295
+ }[] | undefined;
1296
+ rules?: {
1297
+ path: string;
1298
+ description?: string | undefined;
1299
+ globs?: string[] | undefined;
1300
+ alwaysApply?: boolean | undefined;
1301
+ }[] | undefined;
1302
+ } | undefined;
1303
+ hooks?: Record<string, {
1304
+ command: string;
1305
+ description?: string | undefined;
1306
+ timeout?: number | undefined;
1307
+ matcher?: string | undefined;
1308
+ }[]> | undefined;
1309
+ mcp?: {
1310
+ env?: Record<string, string> | undefined;
1311
+ servers?: Record<string, {
1312
+ command: string;
1313
+ args?: string[] | undefined;
1314
+ env?: Record<string, string> | undefined;
1315
+ }> | undefined;
1316
+ } | undefined;
1317
+ permissions?: {
1318
+ allow?: string[] | undefined;
1319
+ deny?: string[] | undefined;
1320
+ default?: "prompt" | "allow" | "deny" | undefined;
1321
+ } | undefined;
1322
+ skills?: {
1323
+ local?: {
1324
+ path: string;
1325
+ name: string;
1326
+ description?: string | undefined;
1327
+ tags?: string[] | undefined;
1328
+ }[] | undefined;
1329
+ external?: {
1330
+ name: string;
1331
+ source: string;
1332
+ sourceType: "url" | "github" | "npm";
1333
+ skillPath: string;
1334
+ description?: string | undefined;
1335
+ }[] | undefined;
1336
+ } | undefined;
1337
+ }> | undefined;
1338
+ } | undefined;
1339
+ meta?: {
1340
+ description?: string | undefined;
1341
+ created?: string | undefined;
1342
+ schema?: string | undefined;
1343
+ } | undefined;
1344
+ }>;
1345
+ type UnifiedConfig = z.infer<typeof UnifiedConfigSchema>;
1346
+ type InstructionsConfig = z.infer<typeof InstructionsConfigSchema>;
1347
+ type HooksConfig = z.infer<typeof HooksConfigSchema>;
1348
+ type McpConfig = z.infer<typeof McpConfigSchema>;
1349
+ type PermissionsConfig = z.infer<typeof PermissionsConfigSchema>;
1350
+ type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
1351
+ type ProvidersConfig = z.infer<typeof ProvidersConfigSchema>;
1352
+
1353
+ /**
1354
+ * Load and parse a .ai/config.yaml file from the given project path.
1355
+ * Throws if the file is missing, invalid YAML, or fails schema validation.
1356
+ */
1357
+ declare function loadConfig(projectPath: string): UnifiedConfig;
1358
+ /**
1359
+ * Validate an already-parsed config object against the Zod schema.
1360
+ */
1361
+ declare function validateConfig(raw: unknown, source?: string): UnifiedConfig;
1362
+
1363
+ /**
1364
+ * Resolve configuration file paths in a monorepo-aware manner.
1365
+ *
1366
+ * Walks UP from the given path looking for .ai/config.yaml files.
1367
+ * Returns paths from outermost to innermost (global → project → subproject).
1368
+ */
1369
+ declare function resolveConfigPaths(startPath: string): string[];
1370
+
1371
+ /**
1372
+ * Merge multiple layered configs (e.g., global → project → local overrides).
1373
+ *
1374
+ * Strategy: later configs take precedence (shallow merge for top-level keys).
1375
+ * Arrays from later configs REPLACE earlier arrays (not concatenate).
1376
+ * Objects from later configs are DEEP-MERGED with earlier objects.
1377
+ */
1378
+ declare function mergeConfigs(configs: UnifiedConfig[]): UnifiedConfig;
1379
+
1380
+ declare enum ProviderCapability {
1381
+ INSTRUCTIONS = "instructions",
1382
+ HOOKS = "hooks",
1383
+ MCP = "mcp",
1384
+ PERMISSIONS = "permissions",
1385
+ SKILLS = "skills"
1386
+ }
1387
+ interface GeneratedFile {
1388
+ /** Relative path from project root */
1389
+ path: string;
1390
+ /** File content to write */
1391
+ content: string;
1392
+ /** Write mode */
1393
+ mode?: "write" | "symlink" | "merge";
1394
+ /** File format (drives serialization) */
1395
+ format?: "json" | "yaml" | "toml" | "markdown" | "text";
1396
+ /** Content hash for drift detection */
1397
+ hash?: string;
1398
+ }
1399
+ interface SyncResult {
1400
+ provider: string;
1401
+ filesWritten: GeneratedFile[];
1402
+ filesRemoved: string[];
1403
+ errors: string[];
1404
+ warnings: string[];
1405
+ }
1406
+ interface DriftReport {
1407
+ provider: string;
1408
+ inSync: boolean;
1409
+ lastSyncTime: Date | null;
1410
+ modifiedFiles: Array<{
1411
+ path: string;
1412
+ expectedHash: string;
1413
+ actualHash: string;
1414
+ }>;
1415
+ missingFiles: string[];
1416
+ extraFiles: string[];
1417
+ }
1418
+ interface DiscoveredConfig {
1419
+ instructions: string[];
1420
+ hooks: Record<string, unknown> | null;
1421
+ mcp: Record<string, unknown> | null;
1422
+ permissions: Record<string, unknown> | null;
1423
+ skills: string[];
1424
+ }
1425
+ interface SyncOptions {
1426
+ dryRun: boolean;
1427
+ verbose: boolean;
1428
+ force: boolean;
1429
+ }
1430
+ interface FileState {
1431
+ hash: string;
1432
+ generatedFrom: string;
1433
+ type?: "file" | "symlink";
1434
+ target?: string;
1435
+ }
1436
+ interface ProviderSyncState {
1437
+ synced: boolean;
1438
+ lastSync: string | null;
1439
+ files: Record<string, FileState>;
1440
+ }
1441
+ interface SyncState {
1442
+ version: number;
1443
+ lastSync: string;
1444
+ configHash: string;
1445
+ providers: Record<string, ProviderSyncState>;
1446
+ }
1447
+
1448
+ /**
1449
+ * Abstract base class for AI coding tool providers.
1450
+ * Each supported tool (Claude Code, Codex, Cursor, etc.)
1451
+ * extends this class and implements the tool-specific logic.
1452
+ */
1453
+ declare abstract class AIProvider {
1454
+ /** Unique identifier (e.g., "claude-code", "cursor") */
1455
+ abstract readonly id: string;
1456
+ /** Human-readable name */
1457
+ abstract readonly name: string;
1458
+ /** Provider version (for compatibility tracking) */
1459
+ abstract readonly version: string;
1460
+ /** Description of what this provider supports */
1461
+ abstract readonly capabilities: ProviderCapability[];
1462
+ /** Whether this tool's configuration exists in the project */
1463
+ abstract detect(projectPath: string): boolean;
1464
+ /** Discover existing config files for this tool */
1465
+ abstract discoverExisting(projectPath: string): DiscoveredConfig;
1466
+ /** Sync all applicable dimensions for this provider */
1467
+ abstract sync(projectPath: string, config: UnifiedConfig, options?: SyncOptions): Promise<SyncResult>;
1468
+ /** Remove all generated config files for this provider */
1469
+ abstract clean(projectPath: string): Promise<string[]>;
1470
+ /** Check if generated files have drifted from source */
1471
+ abstract checkDrift(projectPath: string, config: UnifiedConfig, state: SyncState): Promise<DriftReport>;
1472
+ /** Generate instruction files for this tool */
1473
+ abstract generateInstructions(config: InstructionsConfig): GeneratedFile[];
1474
+ /** Generate hook configurations for this tool */
1475
+ abstract generateHooks(config: HooksConfig, overrides?: HooksConfig): GeneratedFile[];
1476
+ /** Generate MCP server configuration for this tool */
1477
+ abstract generateMcp(config: McpConfig, env?: Record<string, string>): GeneratedFile[];
1478
+ /** Generate permission configuration for this tool */
1479
+ abstract generatePermissions(config: PermissionsConfig): GeneratedFile[];
1480
+ /** Generate skill files for this tool */
1481
+ abstract generateSkills(config: SkillsConfig, projectPath: string): GeneratedFile[];
1482
+ /** Check if this provider supports a specific capability */
1483
+ hasCapability(cap: ProviderCapability): boolean;
1484
+ }
1485
+
1486
+ /**
1487
+ * Provider registry — singleton that holds all registered AI tool providers.
1488
+ */
1489
+ declare class ProviderRegistry {
1490
+ private providers;
1491
+ /** Register a provider (built-in or external) */
1492
+ register(provider: AIProvider): void;
1493
+ /** Unregister a provider */
1494
+ unregister(id: string): boolean;
1495
+ /** Get a provider by ID */
1496
+ get(id: string): AIProvider | undefined;
1497
+ /** List all registered providers */
1498
+ list(): AIProvider[];
1499
+ /** Detect which providers apply to the given project */
1500
+ detect(projectPath: string): AIProvider[];
1501
+ /** Get providers that support a specific capability */
1502
+ withCapability(capability: ProviderCapability): AIProvider[];
1503
+ /** Get count of registered providers */
1504
+ get size(): number;
1505
+ }
1506
+ /** Singleton registry instance */
1507
+ declare const registry: ProviderRegistry;
1508
+
1509
+ export { AIProvider, type DiscoveredConfig, type DriftReport, type GeneratedFile, type HooksConfig, type InstructionsConfig, type McpConfig, type PermissionsConfig, ProviderCapability, type ProvidersConfig, type SkillsConfig, type SyncOptions, type SyncResult, type UnifiedConfig, loadConfig, mergeConfigs, registry, resolveConfigPaths, validateConfig };