stylemcp 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.
Files changed (83) hide show
  1. package/README.md +261 -0
  2. package/action/action.yml +59 -0
  3. package/action/package.json +24 -0
  4. package/action/src/index.ts +455 -0
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +335 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/index.d.ts +5 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +10 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/rewriter/index.d.ts +45 -0
  14. package/dist/rewriter/index.d.ts.map +1 -0
  15. package/dist/rewriter/index.js +163 -0
  16. package/dist/rewriter/index.js.map +1 -0
  17. package/dist/schema/copy-patterns.d.ts +298 -0
  18. package/dist/schema/copy-patterns.d.ts.map +1 -0
  19. package/dist/schema/copy-patterns.js +53 -0
  20. package/dist/schema/copy-patterns.js.map +1 -0
  21. package/dist/schema/cta-rules.d.ts +274 -0
  22. package/dist/schema/cta-rules.d.ts.map +1 -0
  23. package/dist/schema/cta-rules.js +45 -0
  24. package/dist/schema/cta-rules.js.map +1 -0
  25. package/dist/schema/index.d.ts +2172 -0
  26. package/dist/schema/index.d.ts.map +1 -0
  27. package/dist/schema/index.js +92 -0
  28. package/dist/schema/index.js.map +1 -0
  29. package/dist/schema/tests.d.ts +274 -0
  30. package/dist/schema/tests.d.ts.map +1 -0
  31. package/dist/schema/tests.js +37 -0
  32. package/dist/schema/tests.js.map +1 -0
  33. package/dist/schema/tokens.d.ts +632 -0
  34. package/dist/schema/tokens.d.ts.map +1 -0
  35. package/dist/schema/tokens.js +68 -0
  36. package/dist/schema/tokens.js.map +1 -0
  37. package/dist/schema/voice.d.ts +280 -0
  38. package/dist/schema/voice.d.ts.map +1 -0
  39. package/dist/schema/voice.js +52 -0
  40. package/dist/schema/voice.js.map +1 -0
  41. package/dist/server/billing.d.ts +53 -0
  42. package/dist/server/billing.d.ts.map +1 -0
  43. package/dist/server/billing.js +216 -0
  44. package/dist/server/billing.js.map +1 -0
  45. package/dist/server/http.d.ts +5 -0
  46. package/dist/server/http.d.ts.map +1 -0
  47. package/dist/server/http.js +470 -0
  48. package/dist/server/http.js.map +1 -0
  49. package/dist/server/index.d.ts +3 -0
  50. package/dist/server/index.d.ts.map +1 -0
  51. package/dist/server/index.js +480 -0
  52. package/dist/server/index.js.map +1 -0
  53. package/dist/server/middleware/auth.d.ts +15 -0
  54. package/dist/server/middleware/auth.d.ts.map +1 -0
  55. package/dist/server/middleware/auth.js +83 -0
  56. package/dist/server/middleware/auth.js.map +1 -0
  57. package/dist/utils/pack-loader.d.ts +13 -0
  58. package/dist/utils/pack-loader.d.ts.map +1 -0
  59. package/dist/utils/pack-loader.js +98 -0
  60. package/dist/utils/pack-loader.js.map +1 -0
  61. package/dist/validator/index.d.ts +21 -0
  62. package/dist/validator/index.d.ts.map +1 -0
  63. package/dist/validator/index.js +60 -0
  64. package/dist/validator/index.js.map +1 -0
  65. package/dist/validator/rules/constraints.d.ts +8 -0
  66. package/dist/validator/rules/constraints.d.ts.map +1 -0
  67. package/dist/validator/rules/constraints.js +150 -0
  68. package/dist/validator/rules/constraints.js.map +1 -0
  69. package/dist/validator/rules/cta.d.ts +11 -0
  70. package/dist/validator/rules/cta.d.ts.map +1 -0
  71. package/dist/validator/rules/cta.js +113 -0
  72. package/dist/validator/rules/cta.js.map +1 -0
  73. package/dist/validator/rules/voice.d.ts +6 -0
  74. package/dist/validator/rules/voice.d.ts.map +1 -0
  75. package/dist/validator/rules/voice.js +106 -0
  76. package/dist/validator/rules/voice.js.map +1 -0
  77. package/package.json +61 -0
  78. package/packs/saas/copy_patterns.yaml +423 -0
  79. package/packs/saas/cta_rules.yaml +362 -0
  80. package/packs/saas/manifest.yaml +16 -0
  81. package/packs/saas/tests.yaml +305 -0
  82. package/packs/saas/tokens.json +226 -0
  83. package/packs/saas/voice.yaml +232 -0
@@ -0,0 +1,2172 @@
1
+ import { z } from 'zod';
2
+ export * from './voice.js';
3
+ export * from './copy-patterns.js';
4
+ export * from './cta-rules.js';
5
+ export * from './tokens.js';
6
+ export * from './tests.js';
7
+ /**
8
+ * StyleMCP Pack - a complete, versioned style package
9
+ */
10
+ export declare const PackManifestSchema: z.ZodObject<{
11
+ name: z.ZodString;
12
+ version: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ author: z.ZodOptional<z.ZodString>;
15
+ license: z.ZodOptional<z.ZodString>;
16
+ files: z.ZodDefault<z.ZodObject<{
17
+ voice: z.ZodDefault<z.ZodString>;
18
+ copyPatterns: z.ZodDefault<z.ZodString>;
19
+ ctaRules: z.ZodDefault<z.ZodString>;
20
+ tokens: z.ZodDefault<z.ZodString>;
21
+ tests: z.ZodDefault<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ tests: string;
24
+ voice: string;
25
+ copyPatterns: string;
26
+ ctaRules: string;
27
+ tokens: string;
28
+ }, {
29
+ tests?: string | undefined;
30
+ voice?: string | undefined;
31
+ copyPatterns?: string | undefined;
32
+ ctaRules?: string | undefined;
33
+ tokens?: string | undefined;
34
+ }>>;
35
+ extends: z.ZodOptional<z.ZodString>;
36
+ config: z.ZodDefault<z.ZodObject<{
37
+ strictMode: z.ZodDefault<z.ZodBoolean>;
38
+ minScore: z.ZodDefault<z.ZodNumber>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ minScore: number;
41
+ strictMode: boolean;
42
+ }, {
43
+ minScore?: number | undefined;
44
+ strictMode?: boolean | undefined;
45
+ }>>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ name: string;
48
+ version: string;
49
+ config: {
50
+ minScore: number;
51
+ strictMode: boolean;
52
+ };
53
+ files: {
54
+ tests: string;
55
+ voice: string;
56
+ copyPatterns: string;
57
+ ctaRules: string;
58
+ tokens: string;
59
+ };
60
+ description?: string | undefined;
61
+ author?: string | undefined;
62
+ license?: string | undefined;
63
+ extends?: string | undefined;
64
+ }, {
65
+ name: string;
66
+ version: string;
67
+ description?: string | undefined;
68
+ config?: {
69
+ minScore?: number | undefined;
70
+ strictMode?: boolean | undefined;
71
+ } | undefined;
72
+ author?: string | undefined;
73
+ license?: string | undefined;
74
+ files?: {
75
+ tests?: string | undefined;
76
+ voice?: string | undefined;
77
+ copyPatterns?: string | undefined;
78
+ ctaRules?: string | undefined;
79
+ tokens?: string | undefined;
80
+ } | undefined;
81
+ extends?: string | undefined;
82
+ }>;
83
+ export declare const PackSchema: z.ZodObject<{
84
+ manifest: z.ZodObject<{
85
+ name: z.ZodString;
86
+ version: z.ZodString;
87
+ description: z.ZodOptional<z.ZodString>;
88
+ author: z.ZodOptional<z.ZodString>;
89
+ license: z.ZodOptional<z.ZodString>;
90
+ files: z.ZodDefault<z.ZodObject<{
91
+ voice: z.ZodDefault<z.ZodString>;
92
+ copyPatterns: z.ZodDefault<z.ZodString>;
93
+ ctaRules: z.ZodDefault<z.ZodString>;
94
+ tokens: z.ZodDefault<z.ZodString>;
95
+ tests: z.ZodDefault<z.ZodString>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ tests: string;
98
+ voice: string;
99
+ copyPatterns: string;
100
+ ctaRules: string;
101
+ tokens: string;
102
+ }, {
103
+ tests?: string | undefined;
104
+ voice?: string | undefined;
105
+ copyPatterns?: string | undefined;
106
+ ctaRules?: string | undefined;
107
+ tokens?: string | undefined;
108
+ }>>;
109
+ extends: z.ZodOptional<z.ZodString>;
110
+ config: z.ZodDefault<z.ZodObject<{
111
+ strictMode: z.ZodDefault<z.ZodBoolean>;
112
+ minScore: z.ZodDefault<z.ZodNumber>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ minScore: number;
115
+ strictMode: boolean;
116
+ }, {
117
+ minScore?: number | undefined;
118
+ strictMode?: boolean | undefined;
119
+ }>>;
120
+ }, "strip", z.ZodTypeAny, {
121
+ name: string;
122
+ version: string;
123
+ config: {
124
+ minScore: number;
125
+ strictMode: boolean;
126
+ };
127
+ files: {
128
+ tests: string;
129
+ voice: string;
130
+ copyPatterns: string;
131
+ ctaRules: string;
132
+ tokens: string;
133
+ };
134
+ description?: string | undefined;
135
+ author?: string | undefined;
136
+ license?: string | undefined;
137
+ extends?: string | undefined;
138
+ }, {
139
+ name: string;
140
+ version: string;
141
+ description?: string | undefined;
142
+ config?: {
143
+ minScore?: number | undefined;
144
+ strictMode?: boolean | undefined;
145
+ } | undefined;
146
+ author?: string | undefined;
147
+ license?: string | undefined;
148
+ files?: {
149
+ tests?: string | undefined;
150
+ voice?: string | undefined;
151
+ copyPatterns?: string | undefined;
152
+ ctaRules?: string | undefined;
153
+ tokens?: string | undefined;
154
+ } | undefined;
155
+ extends?: string | undefined;
156
+ }>;
157
+ voice: z.ZodObject<{
158
+ version: z.ZodDefault<z.ZodString>;
159
+ name: z.ZodString;
160
+ description: z.ZodOptional<z.ZodString>;
161
+ tone: z.ZodObject<{
162
+ attributes: z.ZodArray<z.ZodObject<{
163
+ name: z.ZodString;
164
+ weight: z.ZodDefault<z.ZodNumber>;
165
+ description: z.ZodOptional<z.ZodString>;
166
+ }, "strip", z.ZodTypeAny, {
167
+ name: string;
168
+ weight: number;
169
+ description?: string | undefined;
170
+ }, {
171
+ name: string;
172
+ weight?: number | undefined;
173
+ description?: string | undefined;
174
+ }>, "many">;
175
+ summary: z.ZodOptional<z.ZodString>;
176
+ }, "strip", z.ZodTypeAny, {
177
+ attributes: {
178
+ name: string;
179
+ weight: number;
180
+ description?: string | undefined;
181
+ }[];
182
+ summary?: string | undefined;
183
+ }, {
184
+ attributes: {
185
+ name: string;
186
+ weight?: number | undefined;
187
+ description?: string | undefined;
188
+ }[];
189
+ summary?: string | undefined;
190
+ }>;
191
+ vocabulary: z.ZodObject<{
192
+ rules: z.ZodArray<z.ZodObject<{
193
+ preferred: z.ZodString;
194
+ avoid: z.ZodArray<z.ZodString, "many">;
195
+ context: z.ZodOptional<z.ZodString>;
196
+ }, "strip", z.ZodTypeAny, {
197
+ preferred: string;
198
+ avoid: string[];
199
+ context?: string | undefined;
200
+ }, {
201
+ preferred: string;
202
+ avoid: string[];
203
+ context?: string | undefined;
204
+ }>, "many">;
205
+ forbidden: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
+ encouraged: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
207
+ }, "strip", z.ZodTypeAny, {
208
+ rules: {
209
+ preferred: string;
210
+ avoid: string[];
211
+ context?: string | undefined;
212
+ }[];
213
+ forbidden: string[];
214
+ encouraged: string[];
215
+ }, {
216
+ rules: {
217
+ preferred: string;
218
+ avoid: string[];
219
+ context?: string | undefined;
220
+ }[];
221
+ forbidden?: string[] | undefined;
222
+ encouraged?: string[] | undefined;
223
+ }>;
224
+ doNot: z.ZodDefault<z.ZodArray<z.ZodObject<{
225
+ pattern: z.ZodString;
226
+ isRegex: z.ZodDefault<z.ZodBoolean>;
227
+ reason: z.ZodString;
228
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
229
+ suggestion: z.ZodOptional<z.ZodString>;
230
+ }, "strip", z.ZodTypeAny, {
231
+ pattern: string;
232
+ isRegex: boolean;
233
+ reason: string;
234
+ severity: "error" | "warning" | "info";
235
+ suggestion?: string | undefined;
236
+ }, {
237
+ pattern: string;
238
+ reason: string;
239
+ isRegex?: boolean | undefined;
240
+ severity?: "error" | "warning" | "info" | undefined;
241
+ suggestion?: string | undefined;
242
+ }>, "many">>;
243
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
244
+ bad: z.ZodString;
245
+ good: z.ZodString;
246
+ explanation: z.ZodOptional<z.ZodString>;
247
+ context: z.ZodOptional<z.ZodString>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ bad: string;
250
+ good: string;
251
+ context?: string | undefined;
252
+ explanation?: string | undefined;
253
+ }, {
254
+ bad: string;
255
+ good: string;
256
+ context?: string | undefined;
257
+ explanation?: string | undefined;
258
+ }>, "many">>;
259
+ constraints: z.ZodDefault<z.ZodObject<{
260
+ maxSentenceLength: z.ZodOptional<z.ZodNumber>;
261
+ maxParagraphLength: z.ZodOptional<z.ZodNumber>;
262
+ readingLevel: z.ZodOptional<z.ZodEnum<["simple", "moderate", "technical"]>>;
263
+ personPov: z.ZodOptional<z.ZodEnum<["first-singular", "first-plural", "second", "third"]>>;
264
+ contractions: z.ZodDefault<z.ZodEnum<["required", "allowed", "forbidden"]>>;
265
+ oxfordComma: z.ZodDefault<z.ZodBoolean>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ contractions: "forbidden" | "required" | "allowed";
268
+ oxfordComma: boolean;
269
+ maxSentenceLength?: number | undefined;
270
+ maxParagraphLength?: number | undefined;
271
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
272
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
273
+ }, {
274
+ maxSentenceLength?: number | undefined;
275
+ maxParagraphLength?: number | undefined;
276
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
277
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
278
+ contractions?: "forbidden" | "required" | "allowed" | undefined;
279
+ oxfordComma?: boolean | undefined;
280
+ }>>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ name: string;
283
+ version: string;
284
+ tone: {
285
+ attributes: {
286
+ name: string;
287
+ weight: number;
288
+ description?: string | undefined;
289
+ }[];
290
+ summary?: string | undefined;
291
+ };
292
+ vocabulary: {
293
+ rules: {
294
+ preferred: string;
295
+ avoid: string[];
296
+ context?: string | undefined;
297
+ }[];
298
+ forbidden: string[];
299
+ encouraged: string[];
300
+ };
301
+ doNot: {
302
+ pattern: string;
303
+ isRegex: boolean;
304
+ reason: string;
305
+ severity: "error" | "warning" | "info";
306
+ suggestion?: string | undefined;
307
+ }[];
308
+ examples: {
309
+ bad: string;
310
+ good: string;
311
+ context?: string | undefined;
312
+ explanation?: string | undefined;
313
+ }[];
314
+ constraints: {
315
+ contractions: "forbidden" | "required" | "allowed";
316
+ oxfordComma: boolean;
317
+ maxSentenceLength?: number | undefined;
318
+ maxParagraphLength?: number | undefined;
319
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
320
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
321
+ };
322
+ description?: string | undefined;
323
+ }, {
324
+ name: string;
325
+ tone: {
326
+ attributes: {
327
+ name: string;
328
+ weight?: number | undefined;
329
+ description?: string | undefined;
330
+ }[];
331
+ summary?: string | undefined;
332
+ };
333
+ vocabulary: {
334
+ rules: {
335
+ preferred: string;
336
+ avoid: string[];
337
+ context?: string | undefined;
338
+ }[];
339
+ forbidden?: string[] | undefined;
340
+ encouraged?: string[] | undefined;
341
+ };
342
+ description?: string | undefined;
343
+ version?: string | undefined;
344
+ doNot?: {
345
+ pattern: string;
346
+ reason: string;
347
+ isRegex?: boolean | undefined;
348
+ severity?: "error" | "warning" | "info" | undefined;
349
+ suggestion?: string | undefined;
350
+ }[] | undefined;
351
+ examples?: {
352
+ bad: string;
353
+ good: string;
354
+ context?: string | undefined;
355
+ explanation?: string | undefined;
356
+ }[] | undefined;
357
+ constraints?: {
358
+ maxSentenceLength?: number | undefined;
359
+ maxParagraphLength?: number | undefined;
360
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
361
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
362
+ contractions?: "forbidden" | "required" | "allowed" | undefined;
363
+ oxfordComma?: boolean | undefined;
364
+ } | undefined;
365
+ }>;
366
+ copyPatterns: z.ZodObject<{
367
+ version: z.ZodDefault<z.ZodString>;
368
+ name: z.ZodString;
369
+ description: z.ZodOptional<z.ZodString>;
370
+ patterns: z.ZodArray<z.ZodObject<{
371
+ id: z.ZodString;
372
+ name: z.ZodString;
373
+ category: z.ZodEnum<["error", "empty-state", "success", "loading", "confirmation", "onboarding", "tooltip", "notification", "modal", "form-validation", "navigation", "feature-gate", "upgrade-prompt", "other"]>;
374
+ description: z.ZodOptional<z.ZodString>;
375
+ variants: z.ZodArray<z.ZodObject<{
376
+ template: z.ZodString;
377
+ tone: z.ZodOptional<z.ZodString>;
378
+ length: z.ZodOptional<z.ZodEnum<["short", "medium", "long"]>>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ template: string;
381
+ length?: "short" | "medium" | "long" | undefined;
382
+ tone?: string | undefined;
383
+ }, {
384
+ template: string;
385
+ length?: "short" | "medium" | "long" | undefined;
386
+ tone?: string | undefined;
387
+ }>, "many">;
388
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
389
+ examples: z.ZodDefault<z.ZodObject<{
390
+ good: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
391
+ bad: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
392
+ }, "strip", z.ZodTypeAny, {
393
+ bad: string[];
394
+ good: string[];
395
+ }, {
396
+ bad?: string[] | undefined;
397
+ good?: string[] | undefined;
398
+ }>>;
399
+ placeholders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
400
+ description: z.ZodString;
401
+ examples: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
402
+ required: z.ZodDefault<z.ZodBoolean>;
403
+ }, "strip", z.ZodTypeAny, {
404
+ description: string;
405
+ examples: string[];
406
+ required: boolean;
407
+ }, {
408
+ description: string;
409
+ examples?: string[] | undefined;
410
+ required?: boolean | undefined;
411
+ }>>>;
412
+ metadata: z.ZodOptional<z.ZodObject<{
413
+ maxLength: z.ZodOptional<z.ZodNumber>;
414
+ minLength: z.ZodOptional<z.ZodNumber>;
415
+ requiresAction: z.ZodOptional<z.ZodBoolean>;
416
+ }, "strip", z.ZodTypeAny, {
417
+ maxLength?: number | undefined;
418
+ minLength?: number | undefined;
419
+ requiresAction?: boolean | undefined;
420
+ }, {
421
+ maxLength?: number | undefined;
422
+ minLength?: number | undefined;
423
+ requiresAction?: boolean | undefined;
424
+ }>>;
425
+ }, "strip", z.ZodTypeAny, {
426
+ name: string;
427
+ examples: {
428
+ bad: string[];
429
+ good: string[];
430
+ };
431
+ id: string;
432
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
433
+ variants: {
434
+ template: string;
435
+ length?: "short" | "medium" | "long" | undefined;
436
+ tone?: string | undefined;
437
+ }[];
438
+ guidelines: string[];
439
+ description?: string | undefined;
440
+ placeholders?: Record<string, {
441
+ description: string;
442
+ examples: string[];
443
+ required: boolean;
444
+ }> | undefined;
445
+ metadata?: {
446
+ maxLength?: number | undefined;
447
+ minLength?: number | undefined;
448
+ requiresAction?: boolean | undefined;
449
+ } | undefined;
450
+ }, {
451
+ name: string;
452
+ id: string;
453
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
454
+ variants: {
455
+ template: string;
456
+ length?: "short" | "medium" | "long" | undefined;
457
+ tone?: string | undefined;
458
+ }[];
459
+ description?: string | undefined;
460
+ examples?: {
461
+ bad?: string[] | undefined;
462
+ good?: string[] | undefined;
463
+ } | undefined;
464
+ guidelines?: string[] | undefined;
465
+ placeholders?: Record<string, {
466
+ description: string;
467
+ examples?: string[] | undefined;
468
+ required?: boolean | undefined;
469
+ }> | undefined;
470
+ metadata?: {
471
+ maxLength?: number | undefined;
472
+ minLength?: number | undefined;
473
+ requiresAction?: boolean | undefined;
474
+ } | undefined;
475
+ }>, "many">;
476
+ }, "strip", z.ZodTypeAny, {
477
+ name: string;
478
+ version: string;
479
+ patterns: {
480
+ name: string;
481
+ examples: {
482
+ bad: string[];
483
+ good: string[];
484
+ };
485
+ id: string;
486
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
487
+ variants: {
488
+ template: string;
489
+ length?: "short" | "medium" | "long" | undefined;
490
+ tone?: string | undefined;
491
+ }[];
492
+ guidelines: string[];
493
+ description?: string | undefined;
494
+ placeholders?: Record<string, {
495
+ description: string;
496
+ examples: string[];
497
+ required: boolean;
498
+ }> | undefined;
499
+ metadata?: {
500
+ maxLength?: number | undefined;
501
+ minLength?: number | undefined;
502
+ requiresAction?: boolean | undefined;
503
+ } | undefined;
504
+ }[];
505
+ description?: string | undefined;
506
+ }, {
507
+ name: string;
508
+ patterns: {
509
+ name: string;
510
+ id: string;
511
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
512
+ variants: {
513
+ template: string;
514
+ length?: "short" | "medium" | "long" | undefined;
515
+ tone?: string | undefined;
516
+ }[];
517
+ description?: string | undefined;
518
+ examples?: {
519
+ bad?: string[] | undefined;
520
+ good?: string[] | undefined;
521
+ } | undefined;
522
+ guidelines?: string[] | undefined;
523
+ placeholders?: Record<string, {
524
+ description: string;
525
+ examples?: string[] | undefined;
526
+ required?: boolean | undefined;
527
+ }> | undefined;
528
+ metadata?: {
529
+ maxLength?: number | undefined;
530
+ minLength?: number | undefined;
531
+ requiresAction?: boolean | undefined;
532
+ } | undefined;
533
+ }[];
534
+ description?: string | undefined;
535
+ version?: string | undefined;
536
+ }>;
537
+ ctaRules: z.ZodObject<{
538
+ version: z.ZodDefault<z.ZodString>;
539
+ name: z.ZodString;
540
+ description: z.ZodOptional<z.ZodString>;
541
+ guidelines: z.ZodDefault<z.ZodObject<{
542
+ verbStyle: z.ZodDefault<z.ZodEnum<["imperative", "infinitive", "gerund"]>>;
543
+ maxWords: z.ZodDefault<z.ZodNumber>;
544
+ capitalization: z.ZodDefault<z.ZodEnum<["sentence", "title", "uppercase", "lowercase"]>>;
545
+ avoidWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
546
+ preferWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ verbStyle: "imperative" | "infinitive" | "gerund";
549
+ maxWords: number;
550
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
551
+ avoidWords: string[];
552
+ preferWords: string[];
553
+ }, {
554
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
555
+ maxWords?: number | undefined;
556
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
557
+ avoidWords?: string[] | undefined;
558
+ preferWords?: string[] | undefined;
559
+ }>>;
560
+ categories: z.ZodArray<z.ZodObject<{
561
+ name: z.ZodString;
562
+ description: z.ZodOptional<z.ZodString>;
563
+ ctas: z.ZodArray<z.ZodObject<{
564
+ id: z.ZodString;
565
+ text: z.ZodString;
566
+ context: z.ZodArray<z.ZodString, "many">;
567
+ priority: z.ZodDefault<z.ZodEnum<["primary", "secondary", "tertiary"]>>;
568
+ action: z.ZodOptional<z.ZodString>;
569
+ }, "strip", z.ZodTypeAny, {
570
+ context: string[];
571
+ id: string;
572
+ text: string;
573
+ priority: "primary" | "secondary" | "tertiary";
574
+ action?: string | undefined;
575
+ }, {
576
+ context: string[];
577
+ id: string;
578
+ text: string;
579
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
580
+ action?: string | undefined;
581
+ }>, "many">;
582
+ }, "strip", z.ZodTypeAny, {
583
+ name: string;
584
+ ctas: {
585
+ context: string[];
586
+ id: string;
587
+ text: string;
588
+ priority: "primary" | "secondary" | "tertiary";
589
+ action?: string | undefined;
590
+ }[];
591
+ description?: string | undefined;
592
+ }, {
593
+ name: string;
594
+ ctas: {
595
+ context: string[];
596
+ id: string;
597
+ text: string;
598
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
599
+ action?: string | undefined;
600
+ }[];
601
+ description?: string | undefined;
602
+ }>, "many">;
603
+ antiPatterns: z.ZodDefault<z.ZodArray<z.ZodObject<{
604
+ pattern: z.ZodString;
605
+ isRegex: z.ZodDefault<z.ZodBoolean>;
606
+ reason: z.ZodString;
607
+ suggestion: z.ZodOptional<z.ZodString>;
608
+ }, "strip", z.ZodTypeAny, {
609
+ pattern: string;
610
+ isRegex: boolean;
611
+ reason: string;
612
+ suggestion?: string | undefined;
613
+ }, {
614
+ pattern: string;
615
+ reason: string;
616
+ isRegex?: boolean | undefined;
617
+ suggestion?: string | undefined;
618
+ }>, "many">>;
619
+ contextualRules: z.ZodDefault<z.ZodArray<z.ZodObject<{
620
+ context: z.ZodString;
621
+ required: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
622
+ forbidden: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
623
+ preferred: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
624
+ }, "strip", z.ZodTypeAny, {
625
+ preferred: string[];
626
+ context: string;
627
+ forbidden: string[];
628
+ required: string[];
629
+ }, {
630
+ context: string;
631
+ preferred?: string[] | undefined;
632
+ forbidden?: string[] | undefined;
633
+ required?: string[] | undefined;
634
+ }>, "many">>;
635
+ }, "strip", z.ZodTypeAny, {
636
+ name: string;
637
+ version: string;
638
+ guidelines: {
639
+ verbStyle: "imperative" | "infinitive" | "gerund";
640
+ maxWords: number;
641
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
642
+ avoidWords: string[];
643
+ preferWords: string[];
644
+ };
645
+ categories: {
646
+ name: string;
647
+ ctas: {
648
+ context: string[];
649
+ id: string;
650
+ text: string;
651
+ priority: "primary" | "secondary" | "tertiary";
652
+ action?: string | undefined;
653
+ }[];
654
+ description?: string | undefined;
655
+ }[];
656
+ antiPatterns: {
657
+ pattern: string;
658
+ isRegex: boolean;
659
+ reason: string;
660
+ suggestion?: string | undefined;
661
+ }[];
662
+ contextualRules: {
663
+ preferred: string[];
664
+ context: string;
665
+ forbidden: string[];
666
+ required: string[];
667
+ }[];
668
+ description?: string | undefined;
669
+ }, {
670
+ name: string;
671
+ categories: {
672
+ name: string;
673
+ ctas: {
674
+ context: string[];
675
+ id: string;
676
+ text: string;
677
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
678
+ action?: string | undefined;
679
+ }[];
680
+ description?: string | undefined;
681
+ }[];
682
+ description?: string | undefined;
683
+ version?: string | undefined;
684
+ guidelines?: {
685
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
686
+ maxWords?: number | undefined;
687
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
688
+ avoidWords?: string[] | undefined;
689
+ preferWords?: string[] | undefined;
690
+ } | undefined;
691
+ antiPatterns?: {
692
+ pattern: string;
693
+ reason: string;
694
+ isRegex?: boolean | undefined;
695
+ suggestion?: string | undefined;
696
+ }[] | undefined;
697
+ contextualRules?: {
698
+ context: string;
699
+ preferred?: string[] | undefined;
700
+ forbidden?: string[] | undefined;
701
+ required?: string[] | undefined;
702
+ }[] | undefined;
703
+ }>;
704
+ tokens: z.ZodObject<{
705
+ version: z.ZodDefault<z.ZodString>;
706
+ name: z.ZodString;
707
+ description: z.ZodOptional<z.ZodString>;
708
+ colors: z.ZodDefault<z.ZodObject<{
709
+ primary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
710
+ value: z.ZodString;
711
+ description: z.ZodOptional<z.ZodString>;
712
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
713
+ }, "strip", z.ZodTypeAny, {
714
+ value: string;
715
+ usage: string[];
716
+ description?: string | undefined;
717
+ }, {
718
+ value: string;
719
+ description?: string | undefined;
720
+ usage?: string[] | undefined;
721
+ }>>>;
722
+ secondary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
723
+ value: z.ZodString;
724
+ description: z.ZodOptional<z.ZodString>;
725
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
726
+ }, "strip", z.ZodTypeAny, {
727
+ value: string;
728
+ usage: string[];
729
+ description?: string | undefined;
730
+ }, {
731
+ value: string;
732
+ description?: string | undefined;
733
+ usage?: string[] | undefined;
734
+ }>>>;
735
+ neutral: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
736
+ value: z.ZodString;
737
+ description: z.ZodOptional<z.ZodString>;
738
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
739
+ }, "strip", z.ZodTypeAny, {
740
+ value: string;
741
+ usage: string[];
742
+ description?: string | undefined;
743
+ }, {
744
+ value: string;
745
+ description?: string | undefined;
746
+ usage?: string[] | undefined;
747
+ }>>>;
748
+ semantic: z.ZodDefault<z.ZodObject<{
749
+ success: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
750
+ value: z.ZodString;
751
+ description: z.ZodOptional<z.ZodString>;
752
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
753
+ }, "strip", z.ZodTypeAny, {
754
+ value: string;
755
+ usage: string[];
756
+ description?: string | undefined;
757
+ }, {
758
+ value: string;
759
+ description?: string | undefined;
760
+ usage?: string[] | undefined;
761
+ }>>>;
762
+ warning: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
763
+ value: z.ZodString;
764
+ description: z.ZodOptional<z.ZodString>;
765
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
766
+ }, "strip", z.ZodTypeAny, {
767
+ value: string;
768
+ usage: string[];
769
+ description?: string | undefined;
770
+ }, {
771
+ value: string;
772
+ description?: string | undefined;
773
+ usage?: string[] | undefined;
774
+ }>>>;
775
+ error: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
776
+ value: z.ZodString;
777
+ description: z.ZodOptional<z.ZodString>;
778
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ value: string;
781
+ usage: string[];
782
+ description?: string | undefined;
783
+ }, {
784
+ value: string;
785
+ description?: string | undefined;
786
+ usage?: string[] | undefined;
787
+ }>>>;
788
+ info: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
789
+ value: z.ZodString;
790
+ description: z.ZodOptional<z.ZodString>;
791
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
792
+ }, "strip", z.ZodTypeAny, {
793
+ value: string;
794
+ usage: string[];
795
+ description?: string | undefined;
796
+ }, {
797
+ value: string;
798
+ description?: string | undefined;
799
+ usage?: string[] | undefined;
800
+ }>>>;
801
+ }, "strip", z.ZodTypeAny, {
802
+ error: Record<string, {
803
+ value: string;
804
+ usage: string[];
805
+ description?: string | undefined;
806
+ }>;
807
+ warning: Record<string, {
808
+ value: string;
809
+ usage: string[];
810
+ description?: string | undefined;
811
+ }>;
812
+ info: Record<string, {
813
+ value: string;
814
+ usage: string[];
815
+ description?: string | undefined;
816
+ }>;
817
+ success: Record<string, {
818
+ value: string;
819
+ usage: string[];
820
+ description?: string | undefined;
821
+ }>;
822
+ }, {
823
+ error?: Record<string, {
824
+ value: string;
825
+ description?: string | undefined;
826
+ usage?: string[] | undefined;
827
+ }> | undefined;
828
+ warning?: Record<string, {
829
+ value: string;
830
+ description?: string | undefined;
831
+ usage?: string[] | undefined;
832
+ }> | undefined;
833
+ info?: Record<string, {
834
+ value: string;
835
+ description?: string | undefined;
836
+ usage?: string[] | undefined;
837
+ }> | undefined;
838
+ success?: Record<string, {
839
+ value: string;
840
+ description?: string | undefined;
841
+ usage?: string[] | undefined;
842
+ }> | undefined;
843
+ }>>;
844
+ background: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
845
+ value: z.ZodString;
846
+ description: z.ZodOptional<z.ZodString>;
847
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
848
+ }, "strip", z.ZodTypeAny, {
849
+ value: string;
850
+ usage: string[];
851
+ description?: string | undefined;
852
+ }, {
853
+ value: string;
854
+ description?: string | undefined;
855
+ usage?: string[] | undefined;
856
+ }>>>;
857
+ text: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
858
+ value: z.ZodString;
859
+ description: z.ZodOptional<z.ZodString>;
860
+ usage: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
861
+ }, "strip", z.ZodTypeAny, {
862
+ value: string;
863
+ usage: string[];
864
+ description?: string | undefined;
865
+ }, {
866
+ value: string;
867
+ description?: string | undefined;
868
+ usage?: string[] | undefined;
869
+ }>>>;
870
+ }, "strip", z.ZodTypeAny, {
871
+ text: Record<string, {
872
+ value: string;
873
+ usage: string[];
874
+ description?: string | undefined;
875
+ }>;
876
+ primary: Record<string, {
877
+ value: string;
878
+ usage: string[];
879
+ description?: string | undefined;
880
+ }>;
881
+ secondary: Record<string, {
882
+ value: string;
883
+ usage: string[];
884
+ description?: string | undefined;
885
+ }>;
886
+ neutral: Record<string, {
887
+ value: string;
888
+ usage: string[];
889
+ description?: string | undefined;
890
+ }>;
891
+ semantic: {
892
+ error: Record<string, {
893
+ value: string;
894
+ usage: string[];
895
+ description?: string | undefined;
896
+ }>;
897
+ warning: Record<string, {
898
+ value: string;
899
+ usage: string[];
900
+ description?: string | undefined;
901
+ }>;
902
+ info: Record<string, {
903
+ value: string;
904
+ usage: string[];
905
+ description?: string | undefined;
906
+ }>;
907
+ success: Record<string, {
908
+ value: string;
909
+ usage: string[];
910
+ description?: string | undefined;
911
+ }>;
912
+ };
913
+ background: Record<string, {
914
+ value: string;
915
+ usage: string[];
916
+ description?: string | undefined;
917
+ }>;
918
+ }, {
919
+ text?: Record<string, {
920
+ value: string;
921
+ description?: string | undefined;
922
+ usage?: string[] | undefined;
923
+ }> | undefined;
924
+ primary?: Record<string, {
925
+ value: string;
926
+ description?: string | undefined;
927
+ usage?: string[] | undefined;
928
+ }> | undefined;
929
+ secondary?: Record<string, {
930
+ value: string;
931
+ description?: string | undefined;
932
+ usage?: string[] | undefined;
933
+ }> | undefined;
934
+ neutral?: Record<string, {
935
+ value: string;
936
+ description?: string | undefined;
937
+ usage?: string[] | undefined;
938
+ }> | undefined;
939
+ semantic?: {
940
+ error?: Record<string, {
941
+ value: string;
942
+ description?: string | undefined;
943
+ usage?: string[] | undefined;
944
+ }> | undefined;
945
+ warning?: Record<string, {
946
+ value: string;
947
+ description?: string | undefined;
948
+ usage?: string[] | undefined;
949
+ }> | undefined;
950
+ info?: Record<string, {
951
+ value: string;
952
+ description?: string | undefined;
953
+ usage?: string[] | undefined;
954
+ }> | undefined;
955
+ success?: Record<string, {
956
+ value: string;
957
+ description?: string | undefined;
958
+ usage?: string[] | undefined;
959
+ }> | undefined;
960
+ } | undefined;
961
+ background?: Record<string, {
962
+ value: string;
963
+ description?: string | undefined;
964
+ usage?: string[] | undefined;
965
+ }> | undefined;
966
+ }>>;
967
+ typography: z.ZodDefault<z.ZodObject<{
968
+ fontFamilies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
969
+ fontWeights: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
970
+ fontSizes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
971
+ lineHeights: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
972
+ styles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
973
+ fontFamily: z.ZodString;
974
+ fontSize: z.ZodString;
975
+ fontWeight: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
976
+ lineHeight: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
977
+ letterSpacing: z.ZodOptional<z.ZodString>;
978
+ textTransform: z.ZodOptional<z.ZodEnum<["none", "uppercase", "lowercase", "capitalize"]>>;
979
+ }, "strip", z.ZodTypeAny, {
980
+ fontFamily: string;
981
+ fontSize: string;
982
+ fontWeight: string | number;
983
+ lineHeight: string | number;
984
+ letterSpacing?: string | undefined;
985
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
986
+ }, {
987
+ fontFamily: string;
988
+ fontSize: string;
989
+ fontWeight: string | number;
990
+ lineHeight: string | number;
991
+ letterSpacing?: string | undefined;
992
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
993
+ }>>>;
994
+ }, "strip", z.ZodTypeAny, {
995
+ fontFamilies: Record<string, string>;
996
+ fontWeights: Record<string, string | number>;
997
+ fontSizes: Record<string, string>;
998
+ lineHeights: Record<string, string | number>;
999
+ styles: Record<string, {
1000
+ fontFamily: string;
1001
+ fontSize: string;
1002
+ fontWeight: string | number;
1003
+ lineHeight: string | number;
1004
+ letterSpacing?: string | undefined;
1005
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1006
+ }>;
1007
+ }, {
1008
+ fontFamilies?: Record<string, string> | undefined;
1009
+ fontWeights?: Record<string, string | number> | undefined;
1010
+ fontSizes?: Record<string, string> | undefined;
1011
+ lineHeights?: Record<string, string | number> | undefined;
1012
+ styles?: Record<string, {
1013
+ fontFamily: string;
1014
+ fontSize: string;
1015
+ fontWeight: string | number;
1016
+ lineHeight: string | number;
1017
+ letterSpacing?: string | undefined;
1018
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1019
+ }> | undefined;
1020
+ }>>;
1021
+ spacing: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1022
+ value: z.ZodString;
1023
+ description: z.ZodOptional<z.ZodString>;
1024
+ }, "strip", z.ZodTypeAny, {
1025
+ value: string;
1026
+ description?: string | undefined;
1027
+ }, {
1028
+ value: string;
1029
+ description?: string | undefined;
1030
+ }>>>;
1031
+ borderRadius: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1032
+ value: z.ZodString;
1033
+ description: z.ZodOptional<z.ZodString>;
1034
+ }, "strip", z.ZodTypeAny, {
1035
+ value: string;
1036
+ description?: string | undefined;
1037
+ }, {
1038
+ value: string;
1039
+ description?: string | undefined;
1040
+ }>>>;
1041
+ shadows: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1042
+ value: z.ZodString;
1043
+ description: z.ZodOptional<z.ZodString>;
1044
+ }, "strip", z.ZodTypeAny, {
1045
+ value: string;
1046
+ description?: string | undefined;
1047
+ }, {
1048
+ value: string;
1049
+ description?: string | undefined;
1050
+ }>>>;
1051
+ breakpoints: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1052
+ value: z.ZodString;
1053
+ description: z.ZodOptional<z.ZodString>;
1054
+ }, "strip", z.ZodTypeAny, {
1055
+ value: string;
1056
+ description?: string | undefined;
1057
+ }, {
1058
+ value: string;
1059
+ description?: string | undefined;
1060
+ }>>>;
1061
+ zIndex: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1062
+ transitions: z.ZodDefault<z.ZodObject<{
1063
+ duration: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1064
+ easing: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1065
+ }, "strip", z.ZodTypeAny, {
1066
+ duration: Record<string, string>;
1067
+ easing: Record<string, string>;
1068
+ }, {
1069
+ duration?: Record<string, string> | undefined;
1070
+ easing?: Record<string, string> | undefined;
1071
+ }>>;
1072
+ }, "strip", z.ZodTypeAny, {
1073
+ name: string;
1074
+ version: string;
1075
+ colors: {
1076
+ text: Record<string, {
1077
+ value: string;
1078
+ usage: string[];
1079
+ description?: string | undefined;
1080
+ }>;
1081
+ primary: Record<string, {
1082
+ value: string;
1083
+ usage: string[];
1084
+ description?: string | undefined;
1085
+ }>;
1086
+ secondary: Record<string, {
1087
+ value: string;
1088
+ usage: string[];
1089
+ description?: string | undefined;
1090
+ }>;
1091
+ neutral: Record<string, {
1092
+ value: string;
1093
+ usage: string[];
1094
+ description?: string | undefined;
1095
+ }>;
1096
+ semantic: {
1097
+ error: Record<string, {
1098
+ value: string;
1099
+ usage: string[];
1100
+ description?: string | undefined;
1101
+ }>;
1102
+ warning: Record<string, {
1103
+ value: string;
1104
+ usage: string[];
1105
+ description?: string | undefined;
1106
+ }>;
1107
+ info: Record<string, {
1108
+ value: string;
1109
+ usage: string[];
1110
+ description?: string | undefined;
1111
+ }>;
1112
+ success: Record<string, {
1113
+ value: string;
1114
+ usage: string[];
1115
+ description?: string | undefined;
1116
+ }>;
1117
+ };
1118
+ background: Record<string, {
1119
+ value: string;
1120
+ usage: string[];
1121
+ description?: string | undefined;
1122
+ }>;
1123
+ };
1124
+ typography: {
1125
+ fontFamilies: Record<string, string>;
1126
+ fontWeights: Record<string, string | number>;
1127
+ fontSizes: Record<string, string>;
1128
+ lineHeights: Record<string, string | number>;
1129
+ styles: Record<string, {
1130
+ fontFamily: string;
1131
+ fontSize: string;
1132
+ fontWeight: string | number;
1133
+ lineHeight: string | number;
1134
+ letterSpacing?: string | undefined;
1135
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1136
+ }>;
1137
+ };
1138
+ spacing: Record<string, {
1139
+ value: string;
1140
+ description?: string | undefined;
1141
+ }>;
1142
+ borderRadius: Record<string, {
1143
+ value: string;
1144
+ description?: string | undefined;
1145
+ }>;
1146
+ shadows: Record<string, {
1147
+ value: string;
1148
+ description?: string | undefined;
1149
+ }>;
1150
+ breakpoints: Record<string, {
1151
+ value: string;
1152
+ description?: string | undefined;
1153
+ }>;
1154
+ zIndex: Record<string, number>;
1155
+ transitions: {
1156
+ duration: Record<string, string>;
1157
+ easing: Record<string, string>;
1158
+ };
1159
+ description?: string | undefined;
1160
+ }, {
1161
+ name: string;
1162
+ description?: string | undefined;
1163
+ version?: string | undefined;
1164
+ colors?: {
1165
+ text?: Record<string, {
1166
+ value: string;
1167
+ description?: string | undefined;
1168
+ usage?: string[] | undefined;
1169
+ }> | undefined;
1170
+ primary?: Record<string, {
1171
+ value: string;
1172
+ description?: string | undefined;
1173
+ usage?: string[] | undefined;
1174
+ }> | undefined;
1175
+ secondary?: Record<string, {
1176
+ value: string;
1177
+ description?: string | undefined;
1178
+ usage?: string[] | undefined;
1179
+ }> | undefined;
1180
+ neutral?: Record<string, {
1181
+ value: string;
1182
+ description?: string | undefined;
1183
+ usage?: string[] | undefined;
1184
+ }> | undefined;
1185
+ semantic?: {
1186
+ error?: Record<string, {
1187
+ value: string;
1188
+ description?: string | undefined;
1189
+ usage?: string[] | undefined;
1190
+ }> | undefined;
1191
+ warning?: Record<string, {
1192
+ value: string;
1193
+ description?: string | undefined;
1194
+ usage?: string[] | undefined;
1195
+ }> | undefined;
1196
+ info?: Record<string, {
1197
+ value: string;
1198
+ description?: string | undefined;
1199
+ usage?: string[] | undefined;
1200
+ }> | undefined;
1201
+ success?: Record<string, {
1202
+ value: string;
1203
+ description?: string | undefined;
1204
+ usage?: string[] | undefined;
1205
+ }> | undefined;
1206
+ } | undefined;
1207
+ background?: Record<string, {
1208
+ value: string;
1209
+ description?: string | undefined;
1210
+ usage?: string[] | undefined;
1211
+ }> | undefined;
1212
+ } | undefined;
1213
+ typography?: {
1214
+ fontFamilies?: Record<string, string> | undefined;
1215
+ fontWeights?: Record<string, string | number> | undefined;
1216
+ fontSizes?: Record<string, string> | undefined;
1217
+ lineHeights?: Record<string, string | number> | undefined;
1218
+ styles?: Record<string, {
1219
+ fontFamily: string;
1220
+ fontSize: string;
1221
+ fontWeight: string | number;
1222
+ lineHeight: string | number;
1223
+ letterSpacing?: string | undefined;
1224
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1225
+ }> | undefined;
1226
+ } | undefined;
1227
+ spacing?: Record<string, {
1228
+ value: string;
1229
+ description?: string | undefined;
1230
+ }> | undefined;
1231
+ borderRadius?: Record<string, {
1232
+ value: string;
1233
+ description?: string | undefined;
1234
+ }> | undefined;
1235
+ shadows?: Record<string, {
1236
+ value: string;
1237
+ description?: string | undefined;
1238
+ }> | undefined;
1239
+ breakpoints?: Record<string, {
1240
+ value: string;
1241
+ description?: string | undefined;
1242
+ }> | undefined;
1243
+ zIndex?: Record<string, number> | undefined;
1244
+ transitions?: {
1245
+ duration?: Record<string, string> | undefined;
1246
+ easing?: Record<string, string> | undefined;
1247
+ } | undefined;
1248
+ }>;
1249
+ tests: z.ZodObject<{
1250
+ version: z.ZodDefault<z.ZodString>;
1251
+ name: z.ZodString;
1252
+ description: z.ZodOptional<z.ZodString>;
1253
+ tests: z.ZodArray<z.ZodObject<{
1254
+ id: z.ZodString;
1255
+ name: z.ZodString;
1256
+ description: z.ZodOptional<z.ZodString>;
1257
+ input: z.ZodString;
1258
+ expect: z.ZodObject<{
1259
+ pass: z.ZodBoolean;
1260
+ minScore: z.ZodOptional<z.ZodNumber>;
1261
+ maxScore: z.ZodOptional<z.ZodNumber>;
1262
+ violations: z.ZodOptional<z.ZodArray<z.ZodObject<{
1263
+ rule: z.ZodString;
1264
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info"]>>;
1265
+ }, "strip", z.ZodTypeAny, {
1266
+ rule: string;
1267
+ severity?: "error" | "warning" | "info" | undefined;
1268
+ }, {
1269
+ rule: string;
1270
+ severity?: "error" | "warning" | "info" | undefined;
1271
+ }>, "many">>;
1272
+ noViolations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1273
+ }, "strip", z.ZodTypeAny, {
1274
+ pass: boolean;
1275
+ minScore?: number | undefined;
1276
+ maxScore?: number | undefined;
1277
+ violations?: {
1278
+ rule: string;
1279
+ severity?: "error" | "warning" | "info" | undefined;
1280
+ }[] | undefined;
1281
+ noViolations?: string[] | undefined;
1282
+ }, {
1283
+ pass: boolean;
1284
+ minScore?: number | undefined;
1285
+ maxScore?: number | undefined;
1286
+ violations?: {
1287
+ rule: string;
1288
+ severity?: "error" | "warning" | "info" | undefined;
1289
+ }[] | undefined;
1290
+ noViolations?: string[] | undefined;
1291
+ }>;
1292
+ context: z.ZodOptional<z.ZodObject<{
1293
+ type: z.ZodOptional<z.ZodEnum<["ui-copy", "marketing", "docs", "support", "general"]>>;
1294
+ component: z.ZodOptional<z.ZodString>;
1295
+ audience: z.ZodOptional<z.ZodString>;
1296
+ }, "strip", z.ZodTypeAny, {
1297
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1298
+ component?: string | undefined;
1299
+ audience?: string | undefined;
1300
+ }, {
1301
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1302
+ component?: string | undefined;
1303
+ audience?: string | undefined;
1304
+ }>>;
1305
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ name: string;
1308
+ id: string;
1309
+ input: string;
1310
+ expect: {
1311
+ pass: boolean;
1312
+ minScore?: number | undefined;
1313
+ maxScore?: number | undefined;
1314
+ violations?: {
1315
+ rule: string;
1316
+ severity?: "error" | "warning" | "info" | undefined;
1317
+ }[] | undefined;
1318
+ noViolations?: string[] | undefined;
1319
+ };
1320
+ tags: string[];
1321
+ description?: string | undefined;
1322
+ context?: {
1323
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1324
+ component?: string | undefined;
1325
+ audience?: string | undefined;
1326
+ } | undefined;
1327
+ }, {
1328
+ name: string;
1329
+ id: string;
1330
+ input: string;
1331
+ expect: {
1332
+ pass: boolean;
1333
+ minScore?: number | undefined;
1334
+ maxScore?: number | undefined;
1335
+ violations?: {
1336
+ rule: string;
1337
+ severity?: "error" | "warning" | "info" | undefined;
1338
+ }[] | undefined;
1339
+ noViolations?: string[] | undefined;
1340
+ };
1341
+ description?: string | undefined;
1342
+ context?: {
1343
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1344
+ component?: string | undefined;
1345
+ audience?: string | undefined;
1346
+ } | undefined;
1347
+ tags?: string[] | undefined;
1348
+ }>, "many">;
1349
+ config: z.ZodDefault<z.ZodObject<{
1350
+ stopOnFirstFailure: z.ZodDefault<z.ZodBoolean>;
1351
+ verbose: z.ZodDefault<z.ZodBoolean>;
1352
+ }, "strip", z.ZodTypeAny, {
1353
+ stopOnFirstFailure: boolean;
1354
+ verbose: boolean;
1355
+ }, {
1356
+ stopOnFirstFailure?: boolean | undefined;
1357
+ verbose?: boolean | undefined;
1358
+ }>>;
1359
+ }, "strip", z.ZodTypeAny, {
1360
+ name: string;
1361
+ version: string;
1362
+ tests: {
1363
+ name: string;
1364
+ id: string;
1365
+ input: string;
1366
+ expect: {
1367
+ pass: boolean;
1368
+ minScore?: number | undefined;
1369
+ maxScore?: number | undefined;
1370
+ violations?: {
1371
+ rule: string;
1372
+ severity?: "error" | "warning" | "info" | undefined;
1373
+ }[] | undefined;
1374
+ noViolations?: string[] | undefined;
1375
+ };
1376
+ tags: string[];
1377
+ description?: string | undefined;
1378
+ context?: {
1379
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1380
+ component?: string | undefined;
1381
+ audience?: string | undefined;
1382
+ } | undefined;
1383
+ }[];
1384
+ config: {
1385
+ stopOnFirstFailure: boolean;
1386
+ verbose: boolean;
1387
+ };
1388
+ description?: string | undefined;
1389
+ }, {
1390
+ name: string;
1391
+ tests: {
1392
+ name: string;
1393
+ id: string;
1394
+ input: string;
1395
+ expect: {
1396
+ pass: boolean;
1397
+ minScore?: number | undefined;
1398
+ maxScore?: number | undefined;
1399
+ violations?: {
1400
+ rule: string;
1401
+ severity?: "error" | "warning" | "info" | undefined;
1402
+ }[] | undefined;
1403
+ noViolations?: string[] | undefined;
1404
+ };
1405
+ description?: string | undefined;
1406
+ context?: {
1407
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1408
+ component?: string | undefined;
1409
+ audience?: string | undefined;
1410
+ } | undefined;
1411
+ tags?: string[] | undefined;
1412
+ }[];
1413
+ description?: string | undefined;
1414
+ version?: string | undefined;
1415
+ config?: {
1416
+ stopOnFirstFailure?: boolean | undefined;
1417
+ verbose?: boolean | undefined;
1418
+ } | undefined;
1419
+ }>;
1420
+ }, "strip", z.ZodTypeAny, {
1421
+ tests: {
1422
+ name: string;
1423
+ version: string;
1424
+ tests: {
1425
+ name: string;
1426
+ id: string;
1427
+ input: string;
1428
+ expect: {
1429
+ pass: boolean;
1430
+ minScore?: number | undefined;
1431
+ maxScore?: number | undefined;
1432
+ violations?: {
1433
+ rule: string;
1434
+ severity?: "error" | "warning" | "info" | undefined;
1435
+ }[] | undefined;
1436
+ noViolations?: string[] | undefined;
1437
+ };
1438
+ tags: string[];
1439
+ description?: string | undefined;
1440
+ context?: {
1441
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1442
+ component?: string | undefined;
1443
+ audience?: string | undefined;
1444
+ } | undefined;
1445
+ }[];
1446
+ config: {
1447
+ stopOnFirstFailure: boolean;
1448
+ verbose: boolean;
1449
+ };
1450
+ description?: string | undefined;
1451
+ };
1452
+ voice: {
1453
+ name: string;
1454
+ version: string;
1455
+ tone: {
1456
+ attributes: {
1457
+ name: string;
1458
+ weight: number;
1459
+ description?: string | undefined;
1460
+ }[];
1461
+ summary?: string | undefined;
1462
+ };
1463
+ vocabulary: {
1464
+ rules: {
1465
+ preferred: string;
1466
+ avoid: string[];
1467
+ context?: string | undefined;
1468
+ }[];
1469
+ forbidden: string[];
1470
+ encouraged: string[];
1471
+ };
1472
+ doNot: {
1473
+ pattern: string;
1474
+ isRegex: boolean;
1475
+ reason: string;
1476
+ severity: "error" | "warning" | "info";
1477
+ suggestion?: string | undefined;
1478
+ }[];
1479
+ examples: {
1480
+ bad: string;
1481
+ good: string;
1482
+ context?: string | undefined;
1483
+ explanation?: string | undefined;
1484
+ }[];
1485
+ constraints: {
1486
+ contractions: "forbidden" | "required" | "allowed";
1487
+ oxfordComma: boolean;
1488
+ maxSentenceLength?: number | undefined;
1489
+ maxParagraphLength?: number | undefined;
1490
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
1491
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
1492
+ };
1493
+ description?: string | undefined;
1494
+ };
1495
+ copyPatterns: {
1496
+ name: string;
1497
+ version: string;
1498
+ patterns: {
1499
+ name: string;
1500
+ examples: {
1501
+ bad: string[];
1502
+ good: string[];
1503
+ };
1504
+ id: string;
1505
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
1506
+ variants: {
1507
+ template: string;
1508
+ length?: "short" | "medium" | "long" | undefined;
1509
+ tone?: string | undefined;
1510
+ }[];
1511
+ guidelines: string[];
1512
+ description?: string | undefined;
1513
+ placeholders?: Record<string, {
1514
+ description: string;
1515
+ examples: string[];
1516
+ required: boolean;
1517
+ }> | undefined;
1518
+ metadata?: {
1519
+ maxLength?: number | undefined;
1520
+ minLength?: number | undefined;
1521
+ requiresAction?: boolean | undefined;
1522
+ } | undefined;
1523
+ }[];
1524
+ description?: string | undefined;
1525
+ };
1526
+ ctaRules: {
1527
+ name: string;
1528
+ version: string;
1529
+ guidelines: {
1530
+ verbStyle: "imperative" | "infinitive" | "gerund";
1531
+ maxWords: number;
1532
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
1533
+ avoidWords: string[];
1534
+ preferWords: string[];
1535
+ };
1536
+ categories: {
1537
+ name: string;
1538
+ ctas: {
1539
+ context: string[];
1540
+ id: string;
1541
+ text: string;
1542
+ priority: "primary" | "secondary" | "tertiary";
1543
+ action?: string | undefined;
1544
+ }[];
1545
+ description?: string | undefined;
1546
+ }[];
1547
+ antiPatterns: {
1548
+ pattern: string;
1549
+ isRegex: boolean;
1550
+ reason: string;
1551
+ suggestion?: string | undefined;
1552
+ }[];
1553
+ contextualRules: {
1554
+ preferred: string[];
1555
+ context: string;
1556
+ forbidden: string[];
1557
+ required: string[];
1558
+ }[];
1559
+ description?: string | undefined;
1560
+ };
1561
+ tokens: {
1562
+ name: string;
1563
+ version: string;
1564
+ colors: {
1565
+ text: Record<string, {
1566
+ value: string;
1567
+ usage: string[];
1568
+ description?: string | undefined;
1569
+ }>;
1570
+ primary: Record<string, {
1571
+ value: string;
1572
+ usage: string[];
1573
+ description?: string | undefined;
1574
+ }>;
1575
+ secondary: Record<string, {
1576
+ value: string;
1577
+ usage: string[];
1578
+ description?: string | undefined;
1579
+ }>;
1580
+ neutral: Record<string, {
1581
+ value: string;
1582
+ usage: string[];
1583
+ description?: string | undefined;
1584
+ }>;
1585
+ semantic: {
1586
+ error: Record<string, {
1587
+ value: string;
1588
+ usage: string[];
1589
+ description?: string | undefined;
1590
+ }>;
1591
+ warning: Record<string, {
1592
+ value: string;
1593
+ usage: string[];
1594
+ description?: string | undefined;
1595
+ }>;
1596
+ info: Record<string, {
1597
+ value: string;
1598
+ usage: string[];
1599
+ description?: string | undefined;
1600
+ }>;
1601
+ success: Record<string, {
1602
+ value: string;
1603
+ usage: string[];
1604
+ description?: string | undefined;
1605
+ }>;
1606
+ };
1607
+ background: Record<string, {
1608
+ value: string;
1609
+ usage: string[];
1610
+ description?: string | undefined;
1611
+ }>;
1612
+ };
1613
+ typography: {
1614
+ fontFamilies: Record<string, string>;
1615
+ fontWeights: Record<string, string | number>;
1616
+ fontSizes: Record<string, string>;
1617
+ lineHeights: Record<string, string | number>;
1618
+ styles: Record<string, {
1619
+ fontFamily: string;
1620
+ fontSize: string;
1621
+ fontWeight: string | number;
1622
+ lineHeight: string | number;
1623
+ letterSpacing?: string | undefined;
1624
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1625
+ }>;
1626
+ };
1627
+ spacing: Record<string, {
1628
+ value: string;
1629
+ description?: string | undefined;
1630
+ }>;
1631
+ borderRadius: Record<string, {
1632
+ value: string;
1633
+ description?: string | undefined;
1634
+ }>;
1635
+ shadows: Record<string, {
1636
+ value: string;
1637
+ description?: string | undefined;
1638
+ }>;
1639
+ breakpoints: Record<string, {
1640
+ value: string;
1641
+ description?: string | undefined;
1642
+ }>;
1643
+ zIndex: Record<string, number>;
1644
+ transitions: {
1645
+ duration: Record<string, string>;
1646
+ easing: Record<string, string>;
1647
+ };
1648
+ description?: string | undefined;
1649
+ };
1650
+ manifest: {
1651
+ name: string;
1652
+ version: string;
1653
+ config: {
1654
+ minScore: number;
1655
+ strictMode: boolean;
1656
+ };
1657
+ files: {
1658
+ tests: string;
1659
+ voice: string;
1660
+ copyPatterns: string;
1661
+ ctaRules: string;
1662
+ tokens: string;
1663
+ };
1664
+ description?: string | undefined;
1665
+ author?: string | undefined;
1666
+ license?: string | undefined;
1667
+ extends?: string | undefined;
1668
+ };
1669
+ }, {
1670
+ tests: {
1671
+ name: string;
1672
+ tests: {
1673
+ name: string;
1674
+ id: string;
1675
+ input: string;
1676
+ expect: {
1677
+ pass: boolean;
1678
+ minScore?: number | undefined;
1679
+ maxScore?: number | undefined;
1680
+ violations?: {
1681
+ rule: string;
1682
+ severity?: "error" | "warning" | "info" | undefined;
1683
+ }[] | undefined;
1684
+ noViolations?: string[] | undefined;
1685
+ };
1686
+ description?: string | undefined;
1687
+ context?: {
1688
+ type?: "ui-copy" | "marketing" | "docs" | "support" | "general" | undefined;
1689
+ component?: string | undefined;
1690
+ audience?: string | undefined;
1691
+ } | undefined;
1692
+ tags?: string[] | undefined;
1693
+ }[];
1694
+ description?: string | undefined;
1695
+ version?: string | undefined;
1696
+ config?: {
1697
+ stopOnFirstFailure?: boolean | undefined;
1698
+ verbose?: boolean | undefined;
1699
+ } | undefined;
1700
+ };
1701
+ voice: {
1702
+ name: string;
1703
+ tone: {
1704
+ attributes: {
1705
+ name: string;
1706
+ weight?: number | undefined;
1707
+ description?: string | undefined;
1708
+ }[];
1709
+ summary?: string | undefined;
1710
+ };
1711
+ vocabulary: {
1712
+ rules: {
1713
+ preferred: string;
1714
+ avoid: string[];
1715
+ context?: string | undefined;
1716
+ }[];
1717
+ forbidden?: string[] | undefined;
1718
+ encouraged?: string[] | undefined;
1719
+ };
1720
+ description?: string | undefined;
1721
+ version?: string | undefined;
1722
+ doNot?: {
1723
+ pattern: string;
1724
+ reason: string;
1725
+ isRegex?: boolean | undefined;
1726
+ severity?: "error" | "warning" | "info" | undefined;
1727
+ suggestion?: string | undefined;
1728
+ }[] | undefined;
1729
+ examples?: {
1730
+ bad: string;
1731
+ good: string;
1732
+ context?: string | undefined;
1733
+ explanation?: string | undefined;
1734
+ }[] | undefined;
1735
+ constraints?: {
1736
+ maxSentenceLength?: number | undefined;
1737
+ maxParagraphLength?: number | undefined;
1738
+ readingLevel?: "simple" | "moderate" | "technical" | undefined;
1739
+ personPov?: "first-singular" | "first-plural" | "second" | "third" | undefined;
1740
+ contractions?: "forbidden" | "required" | "allowed" | undefined;
1741
+ oxfordComma?: boolean | undefined;
1742
+ } | undefined;
1743
+ };
1744
+ copyPatterns: {
1745
+ name: string;
1746
+ patterns: {
1747
+ name: string;
1748
+ id: string;
1749
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
1750
+ variants: {
1751
+ template: string;
1752
+ length?: "short" | "medium" | "long" | undefined;
1753
+ tone?: string | undefined;
1754
+ }[];
1755
+ description?: string | undefined;
1756
+ examples?: {
1757
+ bad?: string[] | undefined;
1758
+ good?: string[] | undefined;
1759
+ } | undefined;
1760
+ guidelines?: string[] | undefined;
1761
+ placeholders?: Record<string, {
1762
+ description: string;
1763
+ examples?: string[] | undefined;
1764
+ required?: boolean | undefined;
1765
+ }> | undefined;
1766
+ metadata?: {
1767
+ maxLength?: number | undefined;
1768
+ minLength?: number | undefined;
1769
+ requiresAction?: boolean | undefined;
1770
+ } | undefined;
1771
+ }[];
1772
+ description?: string | undefined;
1773
+ version?: string | undefined;
1774
+ };
1775
+ ctaRules: {
1776
+ name: string;
1777
+ categories: {
1778
+ name: string;
1779
+ ctas: {
1780
+ context: string[];
1781
+ id: string;
1782
+ text: string;
1783
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
1784
+ action?: string | undefined;
1785
+ }[];
1786
+ description?: string | undefined;
1787
+ }[];
1788
+ description?: string | undefined;
1789
+ version?: string | undefined;
1790
+ guidelines?: {
1791
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
1792
+ maxWords?: number | undefined;
1793
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
1794
+ avoidWords?: string[] | undefined;
1795
+ preferWords?: string[] | undefined;
1796
+ } | undefined;
1797
+ antiPatterns?: {
1798
+ pattern: string;
1799
+ reason: string;
1800
+ isRegex?: boolean | undefined;
1801
+ suggestion?: string | undefined;
1802
+ }[] | undefined;
1803
+ contextualRules?: {
1804
+ context: string;
1805
+ preferred?: string[] | undefined;
1806
+ forbidden?: string[] | undefined;
1807
+ required?: string[] | undefined;
1808
+ }[] | undefined;
1809
+ };
1810
+ tokens: {
1811
+ name: string;
1812
+ description?: string | undefined;
1813
+ version?: string | undefined;
1814
+ colors?: {
1815
+ text?: Record<string, {
1816
+ value: string;
1817
+ description?: string | undefined;
1818
+ usage?: string[] | undefined;
1819
+ }> | undefined;
1820
+ primary?: Record<string, {
1821
+ value: string;
1822
+ description?: string | undefined;
1823
+ usage?: string[] | undefined;
1824
+ }> | undefined;
1825
+ secondary?: Record<string, {
1826
+ value: string;
1827
+ description?: string | undefined;
1828
+ usage?: string[] | undefined;
1829
+ }> | undefined;
1830
+ neutral?: Record<string, {
1831
+ value: string;
1832
+ description?: string | undefined;
1833
+ usage?: string[] | undefined;
1834
+ }> | undefined;
1835
+ semantic?: {
1836
+ error?: Record<string, {
1837
+ value: string;
1838
+ description?: string | undefined;
1839
+ usage?: string[] | undefined;
1840
+ }> | undefined;
1841
+ warning?: Record<string, {
1842
+ value: string;
1843
+ description?: string | undefined;
1844
+ usage?: string[] | undefined;
1845
+ }> | undefined;
1846
+ info?: Record<string, {
1847
+ value: string;
1848
+ description?: string | undefined;
1849
+ usage?: string[] | undefined;
1850
+ }> | undefined;
1851
+ success?: Record<string, {
1852
+ value: string;
1853
+ description?: string | undefined;
1854
+ usage?: string[] | undefined;
1855
+ }> | undefined;
1856
+ } | undefined;
1857
+ background?: Record<string, {
1858
+ value: string;
1859
+ description?: string | undefined;
1860
+ usage?: string[] | undefined;
1861
+ }> | undefined;
1862
+ } | undefined;
1863
+ typography?: {
1864
+ fontFamilies?: Record<string, string> | undefined;
1865
+ fontWeights?: Record<string, string | number> | undefined;
1866
+ fontSizes?: Record<string, string> | undefined;
1867
+ lineHeights?: Record<string, string | number> | undefined;
1868
+ styles?: Record<string, {
1869
+ fontFamily: string;
1870
+ fontSize: string;
1871
+ fontWeight: string | number;
1872
+ lineHeight: string | number;
1873
+ letterSpacing?: string | undefined;
1874
+ textTransform?: "uppercase" | "lowercase" | "none" | "capitalize" | undefined;
1875
+ }> | undefined;
1876
+ } | undefined;
1877
+ spacing?: Record<string, {
1878
+ value: string;
1879
+ description?: string | undefined;
1880
+ }> | undefined;
1881
+ borderRadius?: Record<string, {
1882
+ value: string;
1883
+ description?: string | undefined;
1884
+ }> | undefined;
1885
+ shadows?: Record<string, {
1886
+ value: string;
1887
+ description?: string | undefined;
1888
+ }> | undefined;
1889
+ breakpoints?: Record<string, {
1890
+ value: string;
1891
+ description?: string | undefined;
1892
+ }> | undefined;
1893
+ zIndex?: Record<string, number> | undefined;
1894
+ transitions?: {
1895
+ duration?: Record<string, string> | undefined;
1896
+ easing?: Record<string, string> | undefined;
1897
+ } | undefined;
1898
+ };
1899
+ manifest: {
1900
+ name: string;
1901
+ version: string;
1902
+ description?: string | undefined;
1903
+ config?: {
1904
+ minScore?: number | undefined;
1905
+ strictMode?: boolean | undefined;
1906
+ } | undefined;
1907
+ author?: string | undefined;
1908
+ license?: string | undefined;
1909
+ files?: {
1910
+ tests?: string | undefined;
1911
+ voice?: string | undefined;
1912
+ copyPatterns?: string | undefined;
1913
+ ctaRules?: string | undefined;
1914
+ tokens?: string | undefined;
1915
+ } | undefined;
1916
+ extends?: string | undefined;
1917
+ };
1918
+ }>;
1919
+ export type PackManifest = z.infer<typeof PackManifestSchema>;
1920
+ export type Pack = z.infer<typeof PackSchema>;
1921
+ /**
1922
+ * Validation result types
1923
+ */
1924
+ export declare const ViolationSchema: z.ZodObject<{
1925
+ id: z.ZodString;
1926
+ rule: z.ZodString;
1927
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1928
+ message: z.ZodString;
1929
+ position: z.ZodOptional<z.ZodObject<{
1930
+ start: z.ZodNumber;
1931
+ end: z.ZodNumber;
1932
+ }, "strip", z.ZodTypeAny, {
1933
+ start: number;
1934
+ end: number;
1935
+ }, {
1936
+ start: number;
1937
+ end: number;
1938
+ }>>;
1939
+ text: z.ZodOptional<z.ZodString>;
1940
+ suggestion: z.ZodOptional<z.ZodString>;
1941
+ }, "strip", z.ZodTypeAny, {
1942
+ message: string;
1943
+ severity: "error" | "warning" | "info";
1944
+ id: string;
1945
+ rule: string;
1946
+ suggestion?: string | undefined;
1947
+ text?: string | undefined;
1948
+ position?: {
1949
+ start: number;
1950
+ end: number;
1951
+ } | undefined;
1952
+ }, {
1953
+ message: string;
1954
+ severity: "error" | "warning" | "info";
1955
+ id: string;
1956
+ rule: string;
1957
+ suggestion?: string | undefined;
1958
+ text?: string | undefined;
1959
+ position?: {
1960
+ start: number;
1961
+ end: number;
1962
+ } | undefined;
1963
+ }>;
1964
+ export declare const ValidationResultSchema: z.ZodObject<{
1965
+ valid: z.ZodBoolean;
1966
+ score: z.ZodNumber;
1967
+ input: z.ZodString;
1968
+ violations: z.ZodArray<z.ZodObject<{
1969
+ id: z.ZodString;
1970
+ rule: z.ZodString;
1971
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1972
+ message: z.ZodString;
1973
+ position: z.ZodOptional<z.ZodObject<{
1974
+ start: z.ZodNumber;
1975
+ end: z.ZodNumber;
1976
+ }, "strip", z.ZodTypeAny, {
1977
+ start: number;
1978
+ end: number;
1979
+ }, {
1980
+ start: number;
1981
+ end: number;
1982
+ }>>;
1983
+ text: z.ZodOptional<z.ZodString>;
1984
+ suggestion: z.ZodOptional<z.ZodString>;
1985
+ }, "strip", z.ZodTypeAny, {
1986
+ message: string;
1987
+ severity: "error" | "warning" | "info";
1988
+ id: string;
1989
+ rule: string;
1990
+ suggestion?: string | undefined;
1991
+ text?: string | undefined;
1992
+ position?: {
1993
+ start: number;
1994
+ end: number;
1995
+ } | undefined;
1996
+ }, {
1997
+ message: string;
1998
+ severity: "error" | "warning" | "info";
1999
+ id: string;
2000
+ rule: string;
2001
+ suggestion?: string | undefined;
2002
+ text?: string | undefined;
2003
+ position?: {
2004
+ start: number;
2005
+ end: number;
2006
+ } | undefined;
2007
+ }>, "many">;
2008
+ summary: z.ZodObject<{
2009
+ errors: z.ZodNumber;
2010
+ warnings: z.ZodNumber;
2011
+ info: z.ZodNumber;
2012
+ }, "strip", z.ZodTypeAny, {
2013
+ info: number;
2014
+ errors: number;
2015
+ warnings: number;
2016
+ }, {
2017
+ info: number;
2018
+ errors: number;
2019
+ warnings: number;
2020
+ }>;
2021
+ metadata: z.ZodObject<{
2022
+ packName: z.ZodString;
2023
+ packVersion: z.ZodString;
2024
+ validatedAt: z.ZodString;
2025
+ }, "strip", z.ZodTypeAny, {
2026
+ packName: string;
2027
+ packVersion: string;
2028
+ validatedAt: string;
2029
+ }, {
2030
+ packName: string;
2031
+ packVersion: string;
2032
+ validatedAt: string;
2033
+ }>;
2034
+ }, "strip", z.ZodTypeAny, {
2035
+ valid: boolean;
2036
+ summary: {
2037
+ info: number;
2038
+ errors: number;
2039
+ warnings: number;
2040
+ };
2041
+ metadata: {
2042
+ packName: string;
2043
+ packVersion: string;
2044
+ validatedAt: string;
2045
+ };
2046
+ input: string;
2047
+ violations: {
2048
+ message: string;
2049
+ severity: "error" | "warning" | "info";
2050
+ id: string;
2051
+ rule: string;
2052
+ suggestion?: string | undefined;
2053
+ text?: string | undefined;
2054
+ position?: {
2055
+ start: number;
2056
+ end: number;
2057
+ } | undefined;
2058
+ }[];
2059
+ score: number;
2060
+ }, {
2061
+ valid: boolean;
2062
+ summary: {
2063
+ info: number;
2064
+ errors: number;
2065
+ warnings: number;
2066
+ };
2067
+ metadata: {
2068
+ packName: string;
2069
+ packVersion: string;
2070
+ validatedAt: string;
2071
+ };
2072
+ input: string;
2073
+ violations: {
2074
+ message: string;
2075
+ severity: "error" | "warning" | "info";
2076
+ id: string;
2077
+ rule: string;
2078
+ suggestion?: string | undefined;
2079
+ text?: string | undefined;
2080
+ position?: {
2081
+ start: number;
2082
+ end: number;
2083
+ } | undefined;
2084
+ }[];
2085
+ score: number;
2086
+ }>;
2087
+ export declare const RewriteResultSchema: z.ZodObject<{
2088
+ original: z.ZodString;
2089
+ rewritten: z.ZodString;
2090
+ changes: z.ZodArray<z.ZodObject<{
2091
+ type: z.ZodEnum<["replace", "insert", "delete"]>;
2092
+ original: z.ZodString;
2093
+ replacement: z.ZodString;
2094
+ reason: z.ZodString;
2095
+ position: z.ZodObject<{
2096
+ start: z.ZodNumber;
2097
+ end: z.ZodNumber;
2098
+ }, "strip", z.ZodTypeAny, {
2099
+ start: number;
2100
+ end: number;
2101
+ }, {
2102
+ start: number;
2103
+ end: number;
2104
+ }>;
2105
+ }, "strip", z.ZodTypeAny, {
2106
+ type: "replace" | "insert" | "delete";
2107
+ reason: string;
2108
+ position: {
2109
+ start: number;
2110
+ end: number;
2111
+ };
2112
+ original: string;
2113
+ replacement: string;
2114
+ }, {
2115
+ type: "replace" | "insert" | "delete";
2116
+ reason: string;
2117
+ position: {
2118
+ start: number;
2119
+ end: number;
2120
+ };
2121
+ original: string;
2122
+ replacement: string;
2123
+ }>, "many">;
2124
+ score: z.ZodObject<{
2125
+ before: z.ZodNumber;
2126
+ after: z.ZodNumber;
2127
+ }, "strip", z.ZodTypeAny, {
2128
+ before: number;
2129
+ after: number;
2130
+ }, {
2131
+ before: number;
2132
+ after: number;
2133
+ }>;
2134
+ }, "strip", z.ZodTypeAny, {
2135
+ score: {
2136
+ before: number;
2137
+ after: number;
2138
+ };
2139
+ original: string;
2140
+ rewritten: string;
2141
+ changes: {
2142
+ type: "replace" | "insert" | "delete";
2143
+ reason: string;
2144
+ position: {
2145
+ start: number;
2146
+ end: number;
2147
+ };
2148
+ original: string;
2149
+ replacement: string;
2150
+ }[];
2151
+ }, {
2152
+ score: {
2153
+ before: number;
2154
+ after: number;
2155
+ };
2156
+ original: string;
2157
+ rewritten: string;
2158
+ changes: {
2159
+ type: "replace" | "insert" | "delete";
2160
+ reason: string;
2161
+ position: {
2162
+ start: number;
2163
+ end: number;
2164
+ };
2165
+ original: string;
2166
+ replacement: string;
2167
+ }[];
2168
+ }>;
2169
+ export type Violation = z.infer<typeof ViolationSchema>;
2170
+ export type ValidationResult = z.infer<typeof ValidationResultSchema>;
2171
+ export type RewriteResult = z.infer<typeof RewriteResultSchema>;
2172
+ //# sourceMappingURL=index.d.ts.map