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,298 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Copy Patterns schema - defines reusable patterns for UI copy situations
4
+ */
5
+ export declare const CopyPatternVariantSchema: z.ZodObject<{
6
+ template: z.ZodString;
7
+ tone: z.ZodOptional<z.ZodString>;
8
+ length: z.ZodOptional<z.ZodEnum<["short", "medium", "long"]>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ template: string;
11
+ length?: "short" | "medium" | "long" | undefined;
12
+ tone?: string | undefined;
13
+ }, {
14
+ template: string;
15
+ length?: "short" | "medium" | "long" | undefined;
16
+ tone?: string | undefined;
17
+ }>;
18
+ export declare const CopyPatternSchema: z.ZodObject<{
19
+ id: z.ZodString;
20
+ name: z.ZodString;
21
+ category: z.ZodEnum<["error", "empty-state", "success", "loading", "confirmation", "onboarding", "tooltip", "notification", "modal", "form-validation", "navigation", "feature-gate", "upgrade-prompt", "other"]>;
22
+ description: z.ZodOptional<z.ZodString>;
23
+ variants: z.ZodArray<z.ZodObject<{
24
+ template: z.ZodString;
25
+ tone: z.ZodOptional<z.ZodString>;
26
+ length: z.ZodOptional<z.ZodEnum<["short", "medium", "long"]>>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ template: string;
29
+ length?: "short" | "medium" | "long" | undefined;
30
+ tone?: string | undefined;
31
+ }, {
32
+ template: string;
33
+ length?: "short" | "medium" | "long" | undefined;
34
+ tone?: string | undefined;
35
+ }>, "many">;
36
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
37
+ examples: z.ZodDefault<z.ZodObject<{
38
+ good: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
39
+ bad: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ bad: string[];
42
+ good: string[];
43
+ }, {
44
+ bad?: string[] | undefined;
45
+ good?: string[] | undefined;
46
+ }>>;
47
+ placeholders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
48
+ description: z.ZodString;
49
+ examples: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
50
+ required: z.ZodDefault<z.ZodBoolean>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ description: string;
53
+ examples: string[];
54
+ required: boolean;
55
+ }, {
56
+ description: string;
57
+ examples?: string[] | undefined;
58
+ required?: boolean | undefined;
59
+ }>>>;
60
+ metadata: z.ZodOptional<z.ZodObject<{
61
+ maxLength: z.ZodOptional<z.ZodNumber>;
62
+ minLength: z.ZodOptional<z.ZodNumber>;
63
+ requiresAction: z.ZodOptional<z.ZodBoolean>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ maxLength?: number | undefined;
66
+ minLength?: number | undefined;
67
+ requiresAction?: boolean | undefined;
68
+ }, {
69
+ maxLength?: number | undefined;
70
+ minLength?: number | undefined;
71
+ requiresAction?: boolean | undefined;
72
+ }>>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ name: string;
75
+ examples: {
76
+ bad: string[];
77
+ good: string[];
78
+ };
79
+ id: string;
80
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
81
+ variants: {
82
+ template: string;
83
+ length?: "short" | "medium" | "long" | undefined;
84
+ tone?: string | undefined;
85
+ }[];
86
+ guidelines: string[];
87
+ description?: string | undefined;
88
+ placeholders?: Record<string, {
89
+ description: string;
90
+ examples: string[];
91
+ required: boolean;
92
+ }> | undefined;
93
+ metadata?: {
94
+ maxLength?: number | undefined;
95
+ minLength?: number | undefined;
96
+ requiresAction?: boolean | undefined;
97
+ } | undefined;
98
+ }, {
99
+ name: string;
100
+ id: string;
101
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
102
+ variants: {
103
+ template: string;
104
+ length?: "short" | "medium" | "long" | undefined;
105
+ tone?: string | undefined;
106
+ }[];
107
+ description?: string | undefined;
108
+ examples?: {
109
+ bad?: string[] | undefined;
110
+ good?: string[] | undefined;
111
+ } | undefined;
112
+ guidelines?: string[] | undefined;
113
+ placeholders?: Record<string, {
114
+ description: string;
115
+ examples?: string[] | undefined;
116
+ required?: boolean | undefined;
117
+ }> | undefined;
118
+ metadata?: {
119
+ maxLength?: number | undefined;
120
+ minLength?: number | undefined;
121
+ requiresAction?: boolean | undefined;
122
+ } | undefined;
123
+ }>;
124
+ export declare const CopyPatternsSchema: z.ZodObject<{
125
+ version: z.ZodDefault<z.ZodString>;
126
+ name: z.ZodString;
127
+ description: z.ZodOptional<z.ZodString>;
128
+ patterns: z.ZodArray<z.ZodObject<{
129
+ id: z.ZodString;
130
+ name: z.ZodString;
131
+ category: z.ZodEnum<["error", "empty-state", "success", "loading", "confirmation", "onboarding", "tooltip", "notification", "modal", "form-validation", "navigation", "feature-gate", "upgrade-prompt", "other"]>;
132
+ description: z.ZodOptional<z.ZodString>;
133
+ variants: z.ZodArray<z.ZodObject<{
134
+ template: z.ZodString;
135
+ tone: z.ZodOptional<z.ZodString>;
136
+ length: z.ZodOptional<z.ZodEnum<["short", "medium", "long"]>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ template: string;
139
+ length?: "short" | "medium" | "long" | undefined;
140
+ tone?: string | undefined;
141
+ }, {
142
+ template: string;
143
+ length?: "short" | "medium" | "long" | undefined;
144
+ tone?: string | undefined;
145
+ }>, "many">;
146
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
147
+ examples: z.ZodDefault<z.ZodObject<{
148
+ good: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
149
+ bad: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ bad: string[];
152
+ good: string[];
153
+ }, {
154
+ bad?: string[] | undefined;
155
+ good?: string[] | undefined;
156
+ }>>;
157
+ placeholders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
158
+ description: z.ZodString;
159
+ examples: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
160
+ required: z.ZodDefault<z.ZodBoolean>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ description: string;
163
+ examples: string[];
164
+ required: boolean;
165
+ }, {
166
+ description: string;
167
+ examples?: string[] | undefined;
168
+ required?: boolean | undefined;
169
+ }>>>;
170
+ metadata: z.ZodOptional<z.ZodObject<{
171
+ maxLength: z.ZodOptional<z.ZodNumber>;
172
+ minLength: z.ZodOptional<z.ZodNumber>;
173
+ requiresAction: z.ZodOptional<z.ZodBoolean>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ maxLength?: number | undefined;
176
+ minLength?: number | undefined;
177
+ requiresAction?: boolean | undefined;
178
+ }, {
179
+ maxLength?: number | undefined;
180
+ minLength?: number | undefined;
181
+ requiresAction?: boolean | undefined;
182
+ }>>;
183
+ }, "strip", z.ZodTypeAny, {
184
+ name: string;
185
+ examples: {
186
+ bad: string[];
187
+ good: string[];
188
+ };
189
+ id: string;
190
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
191
+ variants: {
192
+ template: string;
193
+ length?: "short" | "medium" | "long" | undefined;
194
+ tone?: string | undefined;
195
+ }[];
196
+ guidelines: string[];
197
+ description?: string | undefined;
198
+ placeholders?: Record<string, {
199
+ description: string;
200
+ examples: string[];
201
+ required: boolean;
202
+ }> | undefined;
203
+ metadata?: {
204
+ maxLength?: number | undefined;
205
+ minLength?: number | undefined;
206
+ requiresAction?: boolean | undefined;
207
+ } | undefined;
208
+ }, {
209
+ name: string;
210
+ id: string;
211
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
212
+ variants: {
213
+ template: string;
214
+ length?: "short" | "medium" | "long" | undefined;
215
+ tone?: string | undefined;
216
+ }[];
217
+ description?: string | undefined;
218
+ examples?: {
219
+ bad?: string[] | undefined;
220
+ good?: string[] | undefined;
221
+ } | undefined;
222
+ guidelines?: string[] | undefined;
223
+ placeholders?: Record<string, {
224
+ description: string;
225
+ examples?: string[] | undefined;
226
+ required?: boolean | undefined;
227
+ }> | undefined;
228
+ metadata?: {
229
+ maxLength?: number | undefined;
230
+ minLength?: number | undefined;
231
+ requiresAction?: boolean | undefined;
232
+ } | undefined;
233
+ }>, "many">;
234
+ }, "strip", z.ZodTypeAny, {
235
+ name: string;
236
+ version: string;
237
+ patterns: {
238
+ name: string;
239
+ examples: {
240
+ bad: string[];
241
+ good: string[];
242
+ };
243
+ id: string;
244
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
245
+ variants: {
246
+ template: string;
247
+ length?: "short" | "medium" | "long" | undefined;
248
+ tone?: string | undefined;
249
+ }[];
250
+ guidelines: string[];
251
+ description?: string | undefined;
252
+ placeholders?: Record<string, {
253
+ description: string;
254
+ examples: string[];
255
+ required: boolean;
256
+ }> | undefined;
257
+ metadata?: {
258
+ maxLength?: number | undefined;
259
+ minLength?: number | undefined;
260
+ requiresAction?: boolean | undefined;
261
+ } | undefined;
262
+ }[];
263
+ description?: string | undefined;
264
+ }, {
265
+ name: string;
266
+ patterns: {
267
+ name: string;
268
+ id: string;
269
+ category: "error" | "empty-state" | "success" | "loading" | "confirmation" | "onboarding" | "tooltip" | "notification" | "modal" | "form-validation" | "navigation" | "feature-gate" | "upgrade-prompt" | "other";
270
+ variants: {
271
+ template: string;
272
+ length?: "short" | "medium" | "long" | undefined;
273
+ tone?: string | undefined;
274
+ }[];
275
+ description?: string | undefined;
276
+ examples?: {
277
+ bad?: string[] | undefined;
278
+ good?: string[] | undefined;
279
+ } | undefined;
280
+ guidelines?: string[] | undefined;
281
+ placeholders?: Record<string, {
282
+ description: string;
283
+ examples?: string[] | undefined;
284
+ required?: boolean | undefined;
285
+ }> | undefined;
286
+ metadata?: {
287
+ maxLength?: number | undefined;
288
+ minLength?: number | undefined;
289
+ requiresAction?: boolean | undefined;
290
+ } | undefined;
291
+ }[];
292
+ description?: string | undefined;
293
+ version?: string | undefined;
294
+ }>;
295
+ export type CopyPatternVariant = z.infer<typeof CopyPatternVariantSchema>;
296
+ export type CopyPattern = z.infer<typeof CopyPatternSchema>;
297
+ export type CopyPatterns = z.infer<typeof CopyPatternsSchema>;
298
+ //# sourceMappingURL=copy-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-patterns.d.ts","sourceRoot":"","sources":["../../src/schema/copy-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Copy Patterns schema - defines reusable patterns for UI copy situations
4
+ */
5
+ export const CopyPatternVariantSchema = z.object({
6
+ template: z.string().describe('The copy template with {{placeholders}}'),
7
+ tone: z.string().optional().describe('Tone variant: neutral, friendly, urgent, etc.'),
8
+ length: z.enum(['short', 'medium', 'long']).optional(),
9
+ });
10
+ export const CopyPatternSchema = z.object({
11
+ id: z.string().describe('Unique identifier for this pattern'),
12
+ name: z.string().describe('Human-readable name'),
13
+ category: z.enum([
14
+ 'error',
15
+ 'empty-state',
16
+ 'success',
17
+ 'loading',
18
+ 'confirmation',
19
+ 'onboarding',
20
+ 'tooltip',
21
+ 'notification',
22
+ 'modal',
23
+ 'form-validation',
24
+ 'navigation',
25
+ 'feature-gate',
26
+ 'upgrade-prompt',
27
+ 'other'
28
+ ]).describe('Category of UI situation'),
29
+ description: z.string().optional().describe('When to use this pattern'),
30
+ variants: z.array(CopyPatternVariantSchema).min(1).describe('Available copy variants'),
31
+ guidelines: z.array(z.string()).default([]).describe('Guidelines for using this pattern'),
32
+ examples: z.object({
33
+ good: z.array(z.string()).default([]),
34
+ bad: z.array(z.string()).default([]),
35
+ }).default({ good: [], bad: [] }),
36
+ placeholders: z.record(z.object({
37
+ description: z.string(),
38
+ examples: z.array(z.string()).default([]),
39
+ required: z.boolean().default(true),
40
+ })).optional().describe('Placeholder definitions'),
41
+ metadata: z.object({
42
+ maxLength: z.number().optional().describe('Max character length'),
43
+ minLength: z.number().optional().describe('Min character length'),
44
+ requiresAction: z.boolean().optional().describe('Whether pattern should include a CTA'),
45
+ }).optional(),
46
+ });
47
+ export const CopyPatternsSchema = z.object({
48
+ version: z.string().default('1.0'),
49
+ name: z.string().describe('Name of this pattern library'),
50
+ description: z.string().optional(),
51
+ patterns: z.array(CopyPatternSchema),
52
+ });
53
+ //# sourceMappingURL=copy-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-patterns.js","sourceRoot":"","sources":["../../src/schema/copy-patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,274 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * CTA Rules schema - defines call-to-action patterns and guidelines
4
+ */
5
+ export declare const CTASchema: z.ZodObject<{
6
+ id: z.ZodString;
7
+ text: z.ZodString;
8
+ context: z.ZodArray<z.ZodString, "many">;
9
+ priority: z.ZodDefault<z.ZodEnum<["primary", "secondary", "tertiary"]>>;
10
+ action: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ context: string[];
13
+ id: string;
14
+ text: string;
15
+ priority: "primary" | "secondary" | "tertiary";
16
+ action?: string | undefined;
17
+ }, {
18
+ context: string[];
19
+ id: string;
20
+ text: string;
21
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
22
+ action?: string | undefined;
23
+ }>;
24
+ export declare const CTACategorySchema: z.ZodObject<{
25
+ name: z.ZodString;
26
+ description: z.ZodOptional<z.ZodString>;
27
+ ctas: z.ZodArray<z.ZodObject<{
28
+ id: z.ZodString;
29
+ text: z.ZodString;
30
+ context: z.ZodArray<z.ZodString, "many">;
31
+ priority: z.ZodDefault<z.ZodEnum<["primary", "secondary", "tertiary"]>>;
32
+ action: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ context: string[];
35
+ id: string;
36
+ text: string;
37
+ priority: "primary" | "secondary" | "tertiary";
38
+ action?: string | undefined;
39
+ }, {
40
+ context: string[];
41
+ id: string;
42
+ text: string;
43
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
44
+ action?: string | undefined;
45
+ }>, "many">;
46
+ }, "strip", z.ZodTypeAny, {
47
+ name: string;
48
+ ctas: {
49
+ context: string[];
50
+ id: string;
51
+ text: string;
52
+ priority: "primary" | "secondary" | "tertiary";
53
+ action?: string | undefined;
54
+ }[];
55
+ description?: string | undefined;
56
+ }, {
57
+ name: string;
58
+ ctas: {
59
+ context: string[];
60
+ id: string;
61
+ text: string;
62
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
63
+ action?: string | undefined;
64
+ }[];
65
+ description?: string | undefined;
66
+ }>;
67
+ export declare const CTAGuidelinesSchema: z.ZodObject<{
68
+ verbStyle: z.ZodDefault<z.ZodEnum<["imperative", "infinitive", "gerund"]>>;
69
+ maxWords: z.ZodDefault<z.ZodNumber>;
70
+ capitalization: z.ZodDefault<z.ZodEnum<["sentence", "title", "uppercase", "lowercase"]>>;
71
+ avoidWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
72
+ preferWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ verbStyle: "imperative" | "infinitive" | "gerund";
75
+ maxWords: number;
76
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
77
+ avoidWords: string[];
78
+ preferWords: string[];
79
+ }, {
80
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
81
+ maxWords?: number | undefined;
82
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
83
+ avoidWords?: string[] | undefined;
84
+ preferWords?: string[] | undefined;
85
+ }>;
86
+ export declare const CTAAntiPatternSchema: z.ZodObject<{
87
+ pattern: z.ZodString;
88
+ isRegex: z.ZodDefault<z.ZodBoolean>;
89
+ reason: z.ZodString;
90
+ suggestion: z.ZodOptional<z.ZodString>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ pattern: string;
93
+ isRegex: boolean;
94
+ reason: string;
95
+ suggestion?: string | undefined;
96
+ }, {
97
+ pattern: string;
98
+ reason: string;
99
+ isRegex?: boolean | undefined;
100
+ suggestion?: string | undefined;
101
+ }>;
102
+ export declare const CTARulesSchema: z.ZodObject<{
103
+ version: z.ZodDefault<z.ZodString>;
104
+ name: z.ZodString;
105
+ description: z.ZodOptional<z.ZodString>;
106
+ guidelines: z.ZodDefault<z.ZodObject<{
107
+ verbStyle: z.ZodDefault<z.ZodEnum<["imperative", "infinitive", "gerund"]>>;
108
+ maxWords: z.ZodDefault<z.ZodNumber>;
109
+ capitalization: z.ZodDefault<z.ZodEnum<["sentence", "title", "uppercase", "lowercase"]>>;
110
+ avoidWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
111
+ preferWords: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ verbStyle: "imperative" | "infinitive" | "gerund";
114
+ maxWords: number;
115
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
116
+ avoidWords: string[];
117
+ preferWords: string[];
118
+ }, {
119
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
120
+ maxWords?: number | undefined;
121
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
122
+ avoidWords?: string[] | undefined;
123
+ preferWords?: string[] | undefined;
124
+ }>>;
125
+ categories: z.ZodArray<z.ZodObject<{
126
+ name: z.ZodString;
127
+ description: z.ZodOptional<z.ZodString>;
128
+ ctas: z.ZodArray<z.ZodObject<{
129
+ id: z.ZodString;
130
+ text: z.ZodString;
131
+ context: z.ZodArray<z.ZodString, "many">;
132
+ priority: z.ZodDefault<z.ZodEnum<["primary", "secondary", "tertiary"]>>;
133
+ action: z.ZodOptional<z.ZodString>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ context: string[];
136
+ id: string;
137
+ text: string;
138
+ priority: "primary" | "secondary" | "tertiary";
139
+ action?: string | undefined;
140
+ }, {
141
+ context: string[];
142
+ id: string;
143
+ text: string;
144
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
145
+ action?: string | undefined;
146
+ }>, "many">;
147
+ }, "strip", z.ZodTypeAny, {
148
+ name: string;
149
+ ctas: {
150
+ context: string[];
151
+ id: string;
152
+ text: string;
153
+ priority: "primary" | "secondary" | "tertiary";
154
+ action?: string | undefined;
155
+ }[];
156
+ description?: string | undefined;
157
+ }, {
158
+ name: string;
159
+ ctas: {
160
+ context: string[];
161
+ id: string;
162
+ text: string;
163
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
164
+ action?: string | undefined;
165
+ }[];
166
+ description?: string | undefined;
167
+ }>, "many">;
168
+ antiPatterns: z.ZodDefault<z.ZodArray<z.ZodObject<{
169
+ pattern: z.ZodString;
170
+ isRegex: z.ZodDefault<z.ZodBoolean>;
171
+ reason: z.ZodString;
172
+ suggestion: z.ZodOptional<z.ZodString>;
173
+ }, "strip", z.ZodTypeAny, {
174
+ pattern: string;
175
+ isRegex: boolean;
176
+ reason: string;
177
+ suggestion?: string | undefined;
178
+ }, {
179
+ pattern: string;
180
+ reason: string;
181
+ isRegex?: boolean | undefined;
182
+ suggestion?: string | undefined;
183
+ }>, "many">>;
184
+ contextualRules: z.ZodDefault<z.ZodArray<z.ZodObject<{
185
+ context: z.ZodString;
186
+ required: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
187
+ forbidden: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
188
+ preferred: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ preferred: string[];
191
+ context: string;
192
+ forbidden: string[];
193
+ required: string[];
194
+ }, {
195
+ context: string;
196
+ preferred?: string[] | undefined;
197
+ forbidden?: string[] | undefined;
198
+ required?: string[] | undefined;
199
+ }>, "many">>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ name: string;
202
+ version: string;
203
+ guidelines: {
204
+ verbStyle: "imperative" | "infinitive" | "gerund";
205
+ maxWords: number;
206
+ capitalization: "sentence" | "title" | "uppercase" | "lowercase";
207
+ avoidWords: string[];
208
+ preferWords: string[];
209
+ };
210
+ categories: {
211
+ name: string;
212
+ ctas: {
213
+ context: string[];
214
+ id: string;
215
+ text: string;
216
+ priority: "primary" | "secondary" | "tertiary";
217
+ action?: string | undefined;
218
+ }[];
219
+ description?: string | undefined;
220
+ }[];
221
+ antiPatterns: {
222
+ pattern: string;
223
+ isRegex: boolean;
224
+ reason: string;
225
+ suggestion?: string | undefined;
226
+ }[];
227
+ contextualRules: {
228
+ preferred: string[];
229
+ context: string;
230
+ forbidden: string[];
231
+ required: string[];
232
+ }[];
233
+ description?: string | undefined;
234
+ }, {
235
+ name: string;
236
+ categories: {
237
+ name: string;
238
+ ctas: {
239
+ context: string[];
240
+ id: string;
241
+ text: string;
242
+ priority?: "primary" | "secondary" | "tertiary" | undefined;
243
+ action?: string | undefined;
244
+ }[];
245
+ description?: string | undefined;
246
+ }[];
247
+ description?: string | undefined;
248
+ version?: string | undefined;
249
+ guidelines?: {
250
+ verbStyle?: "imperative" | "infinitive" | "gerund" | undefined;
251
+ maxWords?: number | undefined;
252
+ capitalization?: "sentence" | "title" | "uppercase" | "lowercase" | undefined;
253
+ avoidWords?: string[] | undefined;
254
+ preferWords?: string[] | undefined;
255
+ } | undefined;
256
+ antiPatterns?: {
257
+ pattern: string;
258
+ reason: string;
259
+ isRegex?: boolean | undefined;
260
+ suggestion?: string | undefined;
261
+ }[] | undefined;
262
+ contextualRules?: {
263
+ context: string;
264
+ preferred?: string[] | undefined;
265
+ forbidden?: string[] | undefined;
266
+ required?: string[] | undefined;
267
+ }[] | undefined;
268
+ }>;
269
+ export type CTA = z.infer<typeof CTASchema>;
270
+ export type CTACategory = z.infer<typeof CTACategorySchema>;
271
+ export type CTAGuidelines = z.infer<typeof CTAGuidelinesSchema>;
272
+ export type CTAAntiPattern = z.infer<typeof CTAAntiPatternSchema>;
273
+ export type CTARules = z.infer<typeof CTARulesSchema>;
274
+ //# sourceMappingURL=cta-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cta-rules.d.ts","sourceRoot":"","sources":["../../src/schema/cta-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;EAMpB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBzB,CAAC;AAEH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}