@dcyfr/ai 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.
Files changed (49) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/LICENSE +21 -0
  3. package/README.md +210 -0
  4. package/bin/cli.js +249 -0
  5. package/bin/dcyfr-ai.js +376 -0
  6. package/config/default.json +123 -0
  7. package/config/default.yaml +161 -0
  8. package/config/minimal.yaml +16 -0
  9. package/dist/ai/config/loader.d.ts +91 -0
  10. package/dist/ai/config/loader.d.ts.map +1 -0
  11. package/dist/ai/config/loader.js +259 -0
  12. package/dist/ai/config/loader.js.map +1 -0
  13. package/dist/ai/config/schema.d.ts +854 -0
  14. package/dist/ai/config/schema.d.ts.map +1 -0
  15. package/dist/ai/config/schema.js +260 -0
  16. package/dist/ai/config/schema.js.map +1 -0
  17. package/dist/ai/core/provider-registry.d.ts +115 -0
  18. package/dist/ai/core/provider-registry.d.ts.map +1 -0
  19. package/dist/ai/core/provider-registry.js +360 -0
  20. package/dist/ai/core/provider-registry.js.map +1 -0
  21. package/dist/ai/core/telemetry-engine.d.ts +114 -0
  22. package/dist/ai/core/telemetry-engine.d.ts.map +1 -0
  23. package/dist/ai/core/telemetry-engine.js +390 -0
  24. package/dist/ai/core/telemetry-engine.js.map +1 -0
  25. package/dist/ai/index.d.ts +17 -0
  26. package/dist/ai/index.d.ts.map +1 -0
  27. package/dist/ai/index.js +21 -0
  28. package/dist/ai/index.js.map +1 -0
  29. package/dist/ai/plugins/plugin-loader.d.ts +132 -0
  30. package/dist/ai/plugins/plugin-loader.d.ts.map +1 -0
  31. package/dist/ai/plugins/plugin-loader.js +316 -0
  32. package/dist/ai/plugins/plugin-loader.js.map +1 -0
  33. package/dist/ai/types/index.d.ts +179 -0
  34. package/dist/ai/types/index.d.ts.map +1 -0
  35. package/dist/ai/types/index.js +11 -0
  36. package/dist/ai/types/index.js.map +1 -0
  37. package/dist/ai/types/telemetry.d.ts +117 -0
  38. package/dist/ai/types/telemetry.d.ts.map +1 -0
  39. package/dist/ai/types/telemetry.js +6 -0
  40. package/dist/ai/types/telemetry.js.map +1 -0
  41. package/dist/ai/utils/storage.d.ts +37 -0
  42. package/dist/ai/utils/storage.d.ts.map +1 -0
  43. package/dist/ai/utils/storage.js +129 -0
  44. package/dist/ai/utils/storage.js.map +1 -0
  45. package/dist/ai/validation/validation-framework.d.ts +112 -0
  46. package/dist/ai/validation/validation-framework.d.ts.map +1 -0
  47. package/dist/ai/validation/validation-framework.js +221 -0
  48. package/dist/ai/validation/validation-framework.js.map +1 -0
  49. package/package.json +67 -0
@@ -0,0 +1,854 @@
1
+ /**
2
+ * Configuration Schema - Zod validation schemas for framework configuration
3
+ *
4
+ * Provides type-safe configuration with runtime validation and defaults.
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * Severity level for validation issues
9
+ */
10
+ export declare const SeveritySchema: z.ZodEnum<["error", "warning", "info"]>;
11
+ /**
12
+ * Failure mode for validation gates
13
+ */
14
+ export declare const FailureModeSchema: z.ZodEnum<["error", "warn", "skip"]>;
15
+ /**
16
+ * Design token configuration
17
+ */
18
+ export declare const DesignTokenConfigSchema: z.ZodDefault<z.ZodObject<{
19
+ enabled: z.ZodDefault<z.ZodBoolean>;
20
+ tokenFile: z.ZodDefault<z.ZodString>;
21
+ compliance: z.ZodDefault<z.ZodNumber>;
22
+ autofix: z.ZodDefault<z.ZodBoolean>;
23
+ strictMode: z.ZodDefault<z.ZodBoolean>;
24
+ patterns: z.ZodDefault<z.ZodObject<{
25
+ spacing: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
26
+ typography: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
27
+ colors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ spacing: string[];
30
+ typography: string[];
31
+ colors: string[];
32
+ }, {
33
+ spacing?: string[] | undefined;
34
+ typography?: string[] | undefined;
35
+ colors?: string[] | undefined;
36
+ }>>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ enabled: boolean;
39
+ tokenFile: string;
40
+ compliance: number;
41
+ autofix: boolean;
42
+ strictMode: boolean;
43
+ patterns: {
44
+ spacing: string[];
45
+ typography: string[];
46
+ colors: string[];
47
+ };
48
+ }, {
49
+ enabled?: boolean | undefined;
50
+ tokenFile?: string | undefined;
51
+ compliance?: number | undefined;
52
+ autofix?: boolean | undefined;
53
+ strictMode?: boolean | undefined;
54
+ patterns?: {
55
+ spacing?: string[] | undefined;
56
+ typography?: string[] | undefined;
57
+ colors?: string[] | undefined;
58
+ } | undefined;
59
+ }>>;
60
+ /**
61
+ * Barrel export configuration
62
+ */
63
+ export declare const BarrelExportConfigSchema: z.ZodDefault<z.ZodObject<{
64
+ enabled: z.ZodDefault<z.ZodBoolean>;
65
+ barrelPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
66
+ allowRelativeWithin: z.ZodDefault<z.ZodBoolean>;
67
+ strictMode: z.ZodDefault<z.ZodBoolean>;
68
+ exceptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ enabled: boolean;
71
+ strictMode: boolean;
72
+ barrelPaths: string[];
73
+ allowRelativeWithin: boolean;
74
+ exceptions: string[];
75
+ }, {
76
+ enabled?: boolean | undefined;
77
+ strictMode?: boolean | undefined;
78
+ barrelPaths?: string[] | undefined;
79
+ allowRelativeWithin?: boolean | undefined;
80
+ exceptions?: string[] | undefined;
81
+ }>>;
82
+ /**
83
+ * PageLayout enforcement configuration
84
+ */
85
+ export declare const PageLayoutConfigSchema: z.ZodDefault<z.ZodObject<{
86
+ enabled: z.ZodDefault<z.ZodBoolean>;
87
+ targetUsage: z.ZodDefault<z.ZodNumber>;
88
+ pagePattern: z.ZodDefault<z.ZodString>;
89
+ exceptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
90
+ strictMode: z.ZodDefault<z.ZodBoolean>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ enabled: boolean;
93
+ strictMode: boolean;
94
+ exceptions: string[];
95
+ targetUsage: number;
96
+ pagePattern: string;
97
+ }, {
98
+ enabled?: boolean | undefined;
99
+ strictMode?: boolean | undefined;
100
+ exceptions?: string[] | undefined;
101
+ targetUsage?: number | undefined;
102
+ pagePattern?: string | undefined;
103
+ }>>;
104
+ /**
105
+ * Test data guardian configuration
106
+ */
107
+ export declare const TestDataConfigSchema: z.ZodDefault<z.ZodObject<{
108
+ enabled: z.ZodDefault<z.ZodBoolean>;
109
+ testPattern: z.ZodDefault<z.ZodString>;
110
+ sensitivePatterns: z.ZodDefault<z.ZodObject<{
111
+ apiKeys: z.ZodDefault<z.ZodBoolean>;
112
+ passwords: z.ZodDefault<z.ZodBoolean>;
113
+ secrets: z.ZodDefault<z.ZodBoolean>;
114
+ tokens: z.ZodDefault<z.ZodBoolean>;
115
+ emails: z.ZodDefault<z.ZodBoolean>;
116
+ urls: z.ZodDefault<z.ZodBoolean>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ apiKeys: boolean;
119
+ passwords: boolean;
120
+ secrets: boolean;
121
+ tokens: boolean;
122
+ emails: boolean;
123
+ urls: boolean;
124
+ }, {
125
+ apiKeys?: boolean | undefined;
126
+ passwords?: boolean | undefined;
127
+ secrets?: boolean | undefined;
128
+ tokens?: boolean | undefined;
129
+ emails?: boolean | undefined;
130
+ urls?: boolean | undefined;
131
+ }>>;
132
+ allowedPrefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ enabled: boolean;
135
+ testPattern: string;
136
+ sensitivePatterns: {
137
+ apiKeys: boolean;
138
+ passwords: boolean;
139
+ secrets: boolean;
140
+ tokens: boolean;
141
+ emails: boolean;
142
+ urls: boolean;
143
+ };
144
+ allowedPrefixes: string[];
145
+ }, {
146
+ enabled?: boolean | undefined;
147
+ testPattern?: string | undefined;
148
+ sensitivePatterns?: {
149
+ apiKeys?: boolean | undefined;
150
+ passwords?: boolean | undefined;
151
+ secrets?: boolean | undefined;
152
+ tokens?: boolean | undefined;
153
+ emails?: boolean | undefined;
154
+ urls?: boolean | undefined;
155
+ } | undefined;
156
+ allowedPrefixes?: string[] | undefined;
157
+ }>>;
158
+ /**
159
+ * Plugin configuration
160
+ */
161
+ export declare const PluginConfigSchema: z.ZodObject<{
162
+ name: z.ZodString;
163
+ enabled: z.ZodDefault<z.ZodBoolean>;
164
+ timeout: z.ZodDefault<z.ZodNumber>;
165
+ failureMode: z.ZodDefault<z.ZodEnum<["error", "warn", "skip"]>>;
166
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ enabled: boolean;
169
+ name: string;
170
+ timeout: number;
171
+ failureMode: "error" | "warn" | "skip";
172
+ config: Record<string, unknown>;
173
+ }, {
174
+ name: string;
175
+ enabled?: boolean | undefined;
176
+ timeout?: number | undefined;
177
+ failureMode?: "error" | "warn" | "skip" | undefined;
178
+ config?: Record<string, unknown> | undefined;
179
+ }>;
180
+ /**
181
+ * Validation gate configuration
182
+ */
183
+ export declare const ValidationGateConfigSchema: z.ZodObject<{
184
+ name: z.ZodString;
185
+ plugins: z.ZodArray<z.ZodString, "many">;
186
+ required: z.ZodDefault<z.ZodBoolean>;
187
+ failureMode: z.ZodDefault<z.ZodEnum<["error", "warn", "skip"]>>;
188
+ parallel: z.ZodDefault<z.ZodBoolean>;
189
+ timeout: z.ZodDefault<z.ZodNumber>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ name: string;
192
+ timeout: number;
193
+ failureMode: "error" | "warn" | "skip";
194
+ plugins: string[];
195
+ required: boolean;
196
+ parallel: boolean;
197
+ }, {
198
+ name: string;
199
+ plugins: string[];
200
+ timeout?: number | undefined;
201
+ failureMode?: "error" | "warn" | "skip" | undefined;
202
+ required?: boolean | undefined;
203
+ parallel?: boolean | undefined;
204
+ }>;
205
+ /**
206
+ * Telemetry configuration
207
+ */
208
+ export declare const TelemetryConfigSchema: z.ZodDefault<z.ZodObject<{
209
+ enabled: z.ZodDefault<z.ZodBoolean>;
210
+ storage: z.ZodDefault<z.ZodEnum<["memory", "file", "redis", "database"]>>;
211
+ storagePath: z.ZodDefault<z.ZodString>;
212
+ retentionDays: z.ZodDefault<z.ZodNumber>;
213
+ sampling: z.ZodDefault<z.ZodNumber>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ storage: "memory" | "file" | "redis" | "database";
216
+ enabled: boolean;
217
+ storagePath: string;
218
+ retentionDays: number;
219
+ sampling: number;
220
+ }, {
221
+ storage?: "memory" | "file" | "redis" | "database" | undefined;
222
+ enabled?: boolean | undefined;
223
+ storagePath?: string | undefined;
224
+ retentionDays?: number | undefined;
225
+ sampling?: number | undefined;
226
+ }>>;
227
+ /**
228
+ * Provider configuration
229
+ */
230
+ export declare const ProviderConfigSchema: z.ZodDefault<z.ZodObject<{
231
+ enabled: z.ZodDefault<z.ZodBoolean>;
232
+ primary: z.ZodDefault<z.ZodString>;
233
+ fallback: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
234
+ timeout: z.ZodDefault<z.ZodNumber>;
235
+ retries: z.ZodDefault<z.ZodNumber>;
236
+ providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
237
+ enabled: z.ZodDefault<z.ZodBoolean>;
238
+ apiKey: z.ZodOptional<z.ZodString>;
239
+ baseUrl: z.ZodOptional<z.ZodString>;
240
+ model: z.ZodOptional<z.ZodString>;
241
+ maxTokens: z.ZodOptional<z.ZodNumber>;
242
+ }, "strip", z.ZodTypeAny, {
243
+ enabled: boolean;
244
+ apiKey?: string | undefined;
245
+ baseUrl?: string | undefined;
246
+ model?: string | undefined;
247
+ maxTokens?: number | undefined;
248
+ }, {
249
+ enabled?: boolean | undefined;
250
+ apiKey?: string | undefined;
251
+ baseUrl?: string | undefined;
252
+ model?: string | undefined;
253
+ maxTokens?: number | undefined;
254
+ }>>>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ enabled: boolean;
257
+ timeout: number;
258
+ primary: string;
259
+ fallback: string[];
260
+ retries: number;
261
+ providers: Record<string, {
262
+ enabled: boolean;
263
+ apiKey?: string | undefined;
264
+ baseUrl?: string | undefined;
265
+ model?: string | undefined;
266
+ maxTokens?: number | undefined;
267
+ }>;
268
+ }, {
269
+ enabled?: boolean | undefined;
270
+ timeout?: number | undefined;
271
+ primary?: string | undefined;
272
+ fallback?: string[] | undefined;
273
+ retries?: number | undefined;
274
+ providers?: Record<string, {
275
+ enabled?: boolean | undefined;
276
+ apiKey?: string | undefined;
277
+ baseUrl?: string | undefined;
278
+ model?: string | undefined;
279
+ maxTokens?: number | undefined;
280
+ }> | undefined;
281
+ }>>;
282
+ /**
283
+ * Main framework configuration schema
284
+ */
285
+ export declare const FrameworkConfigSchema: z.ZodObject<{
286
+ version: z.ZodDefault<z.ZodString>;
287
+ projectName: z.ZodOptional<z.ZodString>;
288
+ telemetry: z.ZodDefault<z.ZodObject<{
289
+ enabled: z.ZodDefault<z.ZodBoolean>;
290
+ storage: z.ZodDefault<z.ZodEnum<["memory", "file", "redis", "database"]>>;
291
+ storagePath: z.ZodDefault<z.ZodString>;
292
+ retentionDays: z.ZodDefault<z.ZodNumber>;
293
+ sampling: z.ZodDefault<z.ZodNumber>;
294
+ }, "strip", z.ZodTypeAny, {
295
+ storage: "memory" | "file" | "redis" | "database";
296
+ enabled: boolean;
297
+ storagePath: string;
298
+ retentionDays: number;
299
+ sampling: number;
300
+ }, {
301
+ storage?: "memory" | "file" | "redis" | "database" | undefined;
302
+ enabled?: boolean | undefined;
303
+ storagePath?: string | undefined;
304
+ retentionDays?: number | undefined;
305
+ sampling?: number | undefined;
306
+ }>>;
307
+ providers: z.ZodDefault<z.ZodObject<{
308
+ enabled: z.ZodDefault<z.ZodBoolean>;
309
+ primary: z.ZodDefault<z.ZodString>;
310
+ fallback: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
311
+ timeout: z.ZodDefault<z.ZodNumber>;
312
+ retries: z.ZodDefault<z.ZodNumber>;
313
+ providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
314
+ enabled: z.ZodDefault<z.ZodBoolean>;
315
+ apiKey: z.ZodOptional<z.ZodString>;
316
+ baseUrl: z.ZodOptional<z.ZodString>;
317
+ model: z.ZodOptional<z.ZodString>;
318
+ maxTokens: z.ZodOptional<z.ZodNumber>;
319
+ }, "strip", z.ZodTypeAny, {
320
+ enabled: boolean;
321
+ apiKey?: string | undefined;
322
+ baseUrl?: string | undefined;
323
+ model?: string | undefined;
324
+ maxTokens?: number | undefined;
325
+ }, {
326
+ enabled?: boolean | undefined;
327
+ apiKey?: string | undefined;
328
+ baseUrl?: string | undefined;
329
+ model?: string | undefined;
330
+ maxTokens?: number | undefined;
331
+ }>>>;
332
+ }, "strip", z.ZodTypeAny, {
333
+ enabled: boolean;
334
+ timeout: number;
335
+ primary: string;
336
+ fallback: string[];
337
+ retries: number;
338
+ providers: Record<string, {
339
+ enabled: boolean;
340
+ apiKey?: string | undefined;
341
+ baseUrl?: string | undefined;
342
+ model?: string | undefined;
343
+ maxTokens?: number | undefined;
344
+ }>;
345
+ }, {
346
+ enabled?: boolean | undefined;
347
+ timeout?: number | undefined;
348
+ primary?: string | undefined;
349
+ fallback?: string[] | undefined;
350
+ retries?: number | undefined;
351
+ providers?: Record<string, {
352
+ enabled?: boolean | undefined;
353
+ apiKey?: string | undefined;
354
+ baseUrl?: string | undefined;
355
+ model?: string | undefined;
356
+ maxTokens?: number | undefined;
357
+ }> | undefined;
358
+ }>>;
359
+ validation: z.ZodDefault<z.ZodObject<{
360
+ enabled: z.ZodDefault<z.ZodBoolean>;
361
+ parallel: z.ZodDefault<z.ZodBoolean>;
362
+ failFast: z.ZodDefault<z.ZodBoolean>;
363
+ gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
364
+ name: z.ZodString;
365
+ plugins: z.ZodArray<z.ZodString, "many">;
366
+ required: z.ZodDefault<z.ZodBoolean>;
367
+ failureMode: z.ZodDefault<z.ZodEnum<["error", "warn", "skip"]>>;
368
+ parallel: z.ZodDefault<z.ZodBoolean>;
369
+ timeout: z.ZodDefault<z.ZodNumber>;
370
+ }, "strip", z.ZodTypeAny, {
371
+ name: string;
372
+ timeout: number;
373
+ failureMode: "error" | "warn" | "skip";
374
+ plugins: string[];
375
+ required: boolean;
376
+ parallel: boolean;
377
+ }, {
378
+ name: string;
379
+ plugins: string[];
380
+ timeout?: number | undefined;
381
+ failureMode?: "error" | "warn" | "skip" | undefined;
382
+ required?: boolean | undefined;
383
+ parallel?: boolean | undefined;
384
+ }>, "many">>;
385
+ }, "strip", z.ZodTypeAny, {
386
+ enabled: boolean;
387
+ gates: {
388
+ name: string;
389
+ timeout: number;
390
+ failureMode: "error" | "warn" | "skip";
391
+ plugins: string[];
392
+ required: boolean;
393
+ parallel: boolean;
394
+ }[];
395
+ parallel: boolean;
396
+ failFast: boolean;
397
+ }, {
398
+ enabled?: boolean | undefined;
399
+ gates?: {
400
+ name: string;
401
+ plugins: string[];
402
+ timeout?: number | undefined;
403
+ failureMode?: "error" | "warn" | "skip" | undefined;
404
+ required?: boolean | undefined;
405
+ parallel?: boolean | undefined;
406
+ }[] | undefined;
407
+ parallel?: boolean | undefined;
408
+ failFast?: boolean | undefined;
409
+ }>>;
410
+ plugins: z.ZodDefault<z.ZodArray<z.ZodObject<{
411
+ name: z.ZodString;
412
+ enabled: z.ZodDefault<z.ZodBoolean>;
413
+ timeout: z.ZodDefault<z.ZodNumber>;
414
+ failureMode: z.ZodDefault<z.ZodEnum<["error", "warn", "skip"]>>;
415
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
416
+ }, "strip", z.ZodTypeAny, {
417
+ enabled: boolean;
418
+ name: string;
419
+ timeout: number;
420
+ failureMode: "error" | "warn" | "skip";
421
+ config: Record<string, unknown>;
422
+ }, {
423
+ name: string;
424
+ enabled?: boolean | undefined;
425
+ timeout?: number | undefined;
426
+ failureMode?: "error" | "warn" | "skip" | undefined;
427
+ config?: Record<string, unknown> | undefined;
428
+ }>, "many">>;
429
+ agents: z.ZodDefault<z.ZodObject<{
430
+ designTokens: z.ZodDefault<z.ZodObject<{
431
+ enabled: z.ZodDefault<z.ZodBoolean>;
432
+ tokenFile: z.ZodDefault<z.ZodString>;
433
+ compliance: z.ZodDefault<z.ZodNumber>;
434
+ autofix: z.ZodDefault<z.ZodBoolean>;
435
+ strictMode: z.ZodDefault<z.ZodBoolean>;
436
+ patterns: z.ZodDefault<z.ZodObject<{
437
+ spacing: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
438
+ typography: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
439
+ colors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
440
+ }, "strip", z.ZodTypeAny, {
441
+ spacing: string[];
442
+ typography: string[];
443
+ colors: string[];
444
+ }, {
445
+ spacing?: string[] | undefined;
446
+ typography?: string[] | undefined;
447
+ colors?: string[] | undefined;
448
+ }>>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ enabled: boolean;
451
+ tokenFile: string;
452
+ compliance: number;
453
+ autofix: boolean;
454
+ strictMode: boolean;
455
+ patterns: {
456
+ spacing: string[];
457
+ typography: string[];
458
+ colors: string[];
459
+ };
460
+ }, {
461
+ enabled?: boolean | undefined;
462
+ tokenFile?: string | undefined;
463
+ compliance?: number | undefined;
464
+ autofix?: boolean | undefined;
465
+ strictMode?: boolean | undefined;
466
+ patterns?: {
467
+ spacing?: string[] | undefined;
468
+ typography?: string[] | undefined;
469
+ colors?: string[] | undefined;
470
+ } | undefined;
471
+ }>>;
472
+ barrelExports: z.ZodDefault<z.ZodObject<{
473
+ enabled: z.ZodDefault<z.ZodBoolean>;
474
+ barrelPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
475
+ allowRelativeWithin: z.ZodDefault<z.ZodBoolean>;
476
+ strictMode: z.ZodDefault<z.ZodBoolean>;
477
+ exceptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
478
+ }, "strip", z.ZodTypeAny, {
479
+ enabled: boolean;
480
+ strictMode: boolean;
481
+ barrelPaths: string[];
482
+ allowRelativeWithin: boolean;
483
+ exceptions: string[];
484
+ }, {
485
+ enabled?: boolean | undefined;
486
+ strictMode?: boolean | undefined;
487
+ barrelPaths?: string[] | undefined;
488
+ allowRelativeWithin?: boolean | undefined;
489
+ exceptions?: string[] | undefined;
490
+ }>>;
491
+ pageLayout: z.ZodDefault<z.ZodObject<{
492
+ enabled: z.ZodDefault<z.ZodBoolean>;
493
+ targetUsage: z.ZodDefault<z.ZodNumber>;
494
+ pagePattern: z.ZodDefault<z.ZodString>;
495
+ exceptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
496
+ strictMode: z.ZodDefault<z.ZodBoolean>;
497
+ }, "strip", z.ZodTypeAny, {
498
+ enabled: boolean;
499
+ strictMode: boolean;
500
+ exceptions: string[];
501
+ targetUsage: number;
502
+ pagePattern: string;
503
+ }, {
504
+ enabled?: boolean | undefined;
505
+ strictMode?: boolean | undefined;
506
+ exceptions?: string[] | undefined;
507
+ targetUsage?: number | undefined;
508
+ pagePattern?: string | undefined;
509
+ }>>;
510
+ testData: z.ZodDefault<z.ZodObject<{
511
+ enabled: z.ZodDefault<z.ZodBoolean>;
512
+ testPattern: z.ZodDefault<z.ZodString>;
513
+ sensitivePatterns: z.ZodDefault<z.ZodObject<{
514
+ apiKeys: z.ZodDefault<z.ZodBoolean>;
515
+ passwords: z.ZodDefault<z.ZodBoolean>;
516
+ secrets: z.ZodDefault<z.ZodBoolean>;
517
+ tokens: z.ZodDefault<z.ZodBoolean>;
518
+ emails: z.ZodDefault<z.ZodBoolean>;
519
+ urls: z.ZodDefault<z.ZodBoolean>;
520
+ }, "strip", z.ZodTypeAny, {
521
+ apiKeys: boolean;
522
+ passwords: boolean;
523
+ secrets: boolean;
524
+ tokens: boolean;
525
+ emails: boolean;
526
+ urls: boolean;
527
+ }, {
528
+ apiKeys?: boolean | undefined;
529
+ passwords?: boolean | undefined;
530
+ secrets?: boolean | undefined;
531
+ tokens?: boolean | undefined;
532
+ emails?: boolean | undefined;
533
+ urls?: boolean | undefined;
534
+ }>>;
535
+ allowedPrefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
536
+ }, "strip", z.ZodTypeAny, {
537
+ enabled: boolean;
538
+ testPattern: string;
539
+ sensitivePatterns: {
540
+ apiKeys: boolean;
541
+ passwords: boolean;
542
+ secrets: boolean;
543
+ tokens: boolean;
544
+ emails: boolean;
545
+ urls: boolean;
546
+ };
547
+ allowedPrefixes: string[];
548
+ }, {
549
+ enabled?: boolean | undefined;
550
+ testPattern?: string | undefined;
551
+ sensitivePatterns?: {
552
+ apiKeys?: boolean | undefined;
553
+ passwords?: boolean | undefined;
554
+ secrets?: boolean | undefined;
555
+ tokens?: boolean | undefined;
556
+ emails?: boolean | undefined;
557
+ urls?: boolean | undefined;
558
+ } | undefined;
559
+ allowedPrefixes?: string[] | undefined;
560
+ }>>;
561
+ }, "strip", z.ZodTypeAny, {
562
+ designTokens: {
563
+ enabled: boolean;
564
+ tokenFile: string;
565
+ compliance: number;
566
+ autofix: boolean;
567
+ strictMode: boolean;
568
+ patterns: {
569
+ spacing: string[];
570
+ typography: string[];
571
+ colors: string[];
572
+ };
573
+ };
574
+ barrelExports: {
575
+ enabled: boolean;
576
+ strictMode: boolean;
577
+ barrelPaths: string[];
578
+ allowRelativeWithin: boolean;
579
+ exceptions: string[];
580
+ };
581
+ pageLayout: {
582
+ enabled: boolean;
583
+ strictMode: boolean;
584
+ exceptions: string[];
585
+ targetUsage: number;
586
+ pagePattern: string;
587
+ };
588
+ testData: {
589
+ enabled: boolean;
590
+ testPattern: string;
591
+ sensitivePatterns: {
592
+ apiKeys: boolean;
593
+ passwords: boolean;
594
+ secrets: boolean;
595
+ tokens: boolean;
596
+ emails: boolean;
597
+ urls: boolean;
598
+ };
599
+ allowedPrefixes: string[];
600
+ };
601
+ }, {
602
+ designTokens?: {
603
+ enabled?: boolean | undefined;
604
+ tokenFile?: string | undefined;
605
+ compliance?: number | undefined;
606
+ autofix?: boolean | undefined;
607
+ strictMode?: boolean | undefined;
608
+ patterns?: {
609
+ spacing?: string[] | undefined;
610
+ typography?: string[] | undefined;
611
+ colors?: string[] | undefined;
612
+ } | undefined;
613
+ } | undefined;
614
+ barrelExports?: {
615
+ enabled?: boolean | undefined;
616
+ strictMode?: boolean | undefined;
617
+ barrelPaths?: string[] | undefined;
618
+ allowRelativeWithin?: boolean | undefined;
619
+ exceptions?: string[] | undefined;
620
+ } | undefined;
621
+ pageLayout?: {
622
+ enabled?: boolean | undefined;
623
+ strictMode?: boolean | undefined;
624
+ exceptions?: string[] | undefined;
625
+ targetUsage?: number | undefined;
626
+ pagePattern?: string | undefined;
627
+ } | undefined;
628
+ testData?: {
629
+ enabled?: boolean | undefined;
630
+ testPattern?: string | undefined;
631
+ sensitivePatterns?: {
632
+ apiKeys?: boolean | undefined;
633
+ passwords?: boolean | undefined;
634
+ secrets?: boolean | undefined;
635
+ tokens?: boolean | undefined;
636
+ emails?: boolean | undefined;
637
+ urls?: boolean | undefined;
638
+ } | undefined;
639
+ allowedPrefixes?: string[] | undefined;
640
+ } | undefined;
641
+ }>>;
642
+ project: z.ZodDefault<z.ZodObject<{
643
+ root: z.ZodDefault<z.ZodString>;
644
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
645
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ root: string;
648
+ include: string[];
649
+ exclude: string[];
650
+ }, {
651
+ root?: string | undefined;
652
+ include?: string[] | undefined;
653
+ exclude?: string[] | undefined;
654
+ }>>;
655
+ }, "strip", z.ZodTypeAny, {
656
+ validation: {
657
+ enabled: boolean;
658
+ gates: {
659
+ name: string;
660
+ timeout: number;
661
+ failureMode: "error" | "warn" | "skip";
662
+ plugins: string[];
663
+ required: boolean;
664
+ parallel: boolean;
665
+ }[];
666
+ parallel: boolean;
667
+ failFast: boolean;
668
+ };
669
+ agents: {
670
+ designTokens: {
671
+ enabled: boolean;
672
+ tokenFile: string;
673
+ compliance: number;
674
+ autofix: boolean;
675
+ strictMode: boolean;
676
+ patterns: {
677
+ spacing: string[];
678
+ typography: string[];
679
+ colors: string[];
680
+ };
681
+ };
682
+ barrelExports: {
683
+ enabled: boolean;
684
+ strictMode: boolean;
685
+ barrelPaths: string[];
686
+ allowRelativeWithin: boolean;
687
+ exceptions: string[];
688
+ };
689
+ pageLayout: {
690
+ enabled: boolean;
691
+ strictMode: boolean;
692
+ exceptions: string[];
693
+ targetUsage: number;
694
+ pagePattern: string;
695
+ };
696
+ testData: {
697
+ enabled: boolean;
698
+ testPattern: string;
699
+ sensitivePatterns: {
700
+ apiKeys: boolean;
701
+ passwords: boolean;
702
+ secrets: boolean;
703
+ tokens: boolean;
704
+ emails: boolean;
705
+ urls: boolean;
706
+ };
707
+ allowedPrefixes: string[];
708
+ };
709
+ };
710
+ plugins: {
711
+ enabled: boolean;
712
+ name: string;
713
+ timeout: number;
714
+ failureMode: "error" | "warn" | "skip";
715
+ config: Record<string, unknown>;
716
+ }[];
717
+ providers: {
718
+ enabled: boolean;
719
+ timeout: number;
720
+ primary: string;
721
+ fallback: string[];
722
+ retries: number;
723
+ providers: Record<string, {
724
+ enabled: boolean;
725
+ apiKey?: string | undefined;
726
+ baseUrl?: string | undefined;
727
+ model?: string | undefined;
728
+ maxTokens?: number | undefined;
729
+ }>;
730
+ };
731
+ version: string;
732
+ telemetry: {
733
+ storage: "memory" | "file" | "redis" | "database";
734
+ enabled: boolean;
735
+ storagePath: string;
736
+ retentionDays: number;
737
+ sampling: number;
738
+ };
739
+ project: {
740
+ root: string;
741
+ include: string[];
742
+ exclude: string[];
743
+ };
744
+ projectName?: string | undefined;
745
+ }, {
746
+ validation?: {
747
+ enabled?: boolean | undefined;
748
+ gates?: {
749
+ name: string;
750
+ plugins: string[];
751
+ timeout?: number | undefined;
752
+ failureMode?: "error" | "warn" | "skip" | undefined;
753
+ required?: boolean | undefined;
754
+ parallel?: boolean | undefined;
755
+ }[] | undefined;
756
+ parallel?: boolean | undefined;
757
+ failFast?: boolean | undefined;
758
+ } | undefined;
759
+ agents?: {
760
+ designTokens?: {
761
+ enabled?: boolean | undefined;
762
+ tokenFile?: string | undefined;
763
+ compliance?: number | undefined;
764
+ autofix?: boolean | undefined;
765
+ strictMode?: boolean | undefined;
766
+ patterns?: {
767
+ spacing?: string[] | undefined;
768
+ typography?: string[] | undefined;
769
+ colors?: string[] | undefined;
770
+ } | undefined;
771
+ } | undefined;
772
+ barrelExports?: {
773
+ enabled?: boolean | undefined;
774
+ strictMode?: boolean | undefined;
775
+ barrelPaths?: string[] | undefined;
776
+ allowRelativeWithin?: boolean | undefined;
777
+ exceptions?: string[] | undefined;
778
+ } | undefined;
779
+ pageLayout?: {
780
+ enabled?: boolean | undefined;
781
+ strictMode?: boolean | undefined;
782
+ exceptions?: string[] | undefined;
783
+ targetUsage?: number | undefined;
784
+ pagePattern?: string | undefined;
785
+ } | undefined;
786
+ testData?: {
787
+ enabled?: boolean | undefined;
788
+ testPattern?: string | undefined;
789
+ sensitivePatterns?: {
790
+ apiKeys?: boolean | undefined;
791
+ passwords?: boolean | undefined;
792
+ secrets?: boolean | undefined;
793
+ tokens?: boolean | undefined;
794
+ emails?: boolean | undefined;
795
+ urls?: boolean | undefined;
796
+ } | undefined;
797
+ allowedPrefixes?: string[] | undefined;
798
+ } | undefined;
799
+ } | undefined;
800
+ plugins?: {
801
+ name: string;
802
+ enabled?: boolean | undefined;
803
+ timeout?: number | undefined;
804
+ failureMode?: "error" | "warn" | "skip" | undefined;
805
+ config?: Record<string, unknown> | undefined;
806
+ }[] | undefined;
807
+ providers?: {
808
+ enabled?: boolean | undefined;
809
+ timeout?: number | undefined;
810
+ primary?: string | undefined;
811
+ fallback?: string[] | undefined;
812
+ retries?: number | undefined;
813
+ providers?: Record<string, {
814
+ enabled?: boolean | undefined;
815
+ apiKey?: string | undefined;
816
+ baseUrl?: string | undefined;
817
+ model?: string | undefined;
818
+ maxTokens?: number | undefined;
819
+ }> | undefined;
820
+ } | undefined;
821
+ version?: string | undefined;
822
+ projectName?: string | undefined;
823
+ telemetry?: {
824
+ storage?: "memory" | "file" | "redis" | "database" | undefined;
825
+ enabled?: boolean | undefined;
826
+ storagePath?: string | undefined;
827
+ retentionDays?: number | undefined;
828
+ sampling?: number | undefined;
829
+ } | undefined;
830
+ project?: {
831
+ root?: string | undefined;
832
+ include?: string[] | undefined;
833
+ exclude?: string[] | undefined;
834
+ } | undefined;
835
+ }>;
836
+ /**
837
+ * Type inference from schemas
838
+ */
839
+ export type FrameworkConfig = z.infer<typeof FrameworkConfigSchema>;
840
+ export type DesignTokenConfig = z.infer<typeof DesignTokenConfigSchema>;
841
+ export type BarrelExportConfig = z.infer<typeof BarrelExportConfigSchema>;
842
+ export type PageLayoutConfig = z.infer<typeof PageLayoutConfigSchema>;
843
+ export type TestDataConfig = z.infer<typeof TestDataConfigSchema>;
844
+ export type PluginConfig = z.infer<typeof PluginConfigSchema>;
845
+ export type ValidationGateConfig = z.infer<typeof ValidationGateConfigSchema>;
846
+ export type TelemetryConfig = z.infer<typeof TelemetryConfigSchema>;
847
+ export type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
848
+ export type Severity = z.infer<typeof SeveritySchema>;
849
+ export type FailureMode = z.infer<typeof FailureModeSchema>;
850
+ /**
851
+ * Default framework configuration
852
+ */
853
+ export declare const DEFAULT_CONFIG: FrameworkConfig;
854
+ //# sourceMappingURL=schema.d.ts.map