foundry-design-protocol 0.2.0-beta.21 → 0.2.0-beta.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,289 @@
1
+ import { z } from 'zod';
2
+ export declare const visualScreenSchema: z.ZodObject<{
3
+ version: z.ZodLiteral<1>;
4
+ name: z.ZodString;
5
+ url: z.ZodString;
6
+ viewport: z.ZodObject<{
7
+ width: z.ZodNumber;
8
+ height: z.ZodNumber;
9
+ }, z.core.$strip>;
10
+ theme: z.ZodDefault<z.ZodString>;
11
+ state: z.ZodDefault<z.ZodString>;
12
+ themeHook: z.ZodOptional<z.ZodObject<{
13
+ selector: z.ZodString;
14
+ attribute: z.ZodString;
15
+ value: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ stateHook: z.ZodOptional<z.ZodObject<{
18
+ selector: z.ZodString;
19
+ attribute: z.ZodString;
20
+ value: z.ZodString;
21
+ }, z.core.$strip>>;
22
+ masks: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
+ targets: z.ZodDefault<z.ZodArray<z.ZodString>>;
24
+ pixelThreshold: z.ZodDefault<z.ZodNumber>;
25
+ changedPixelRatio: z.ZodDefault<z.ZodNumber>;
26
+ geometryTolerance: z.ZodDefault<z.ZodNumber>;
27
+ }, z.core.$strip>;
28
+ export declare const visualFindingSchema: z.ZodObject<{
29
+ kind: z.ZodEnum<{
30
+ "horizontal-overflow": "horizontal-overflow";
31
+ "clipped-content": "clipped-content";
32
+ "small-target": "small-target";
33
+ "missing-name": "missing-name";
34
+ "missing-alt": "missing-alt";
35
+ }>;
36
+ selector: z.ZodString;
37
+ message: z.ZodString;
38
+ }, z.core.$strip>;
39
+ export declare const visualCaptureSchema: z.ZodObject<{
40
+ version: z.ZodLiteral<1>;
41
+ screen: z.ZodObject<{
42
+ version: z.ZodLiteral<1>;
43
+ name: z.ZodString;
44
+ url: z.ZodString;
45
+ viewport: z.ZodObject<{
46
+ width: z.ZodNumber;
47
+ height: z.ZodNumber;
48
+ }, z.core.$strip>;
49
+ theme: z.ZodDefault<z.ZodString>;
50
+ state: z.ZodDefault<z.ZodString>;
51
+ themeHook: z.ZodOptional<z.ZodObject<{
52
+ selector: z.ZodString;
53
+ attribute: z.ZodString;
54
+ value: z.ZodString;
55
+ }, z.core.$strip>>;
56
+ stateHook: z.ZodOptional<z.ZodObject<{
57
+ selector: z.ZodString;
58
+ attribute: z.ZodString;
59
+ value: z.ZodString;
60
+ }, z.core.$strip>>;
61
+ masks: z.ZodDefault<z.ZodArray<z.ZodString>>;
62
+ targets: z.ZodDefault<z.ZodArray<z.ZodString>>;
63
+ pixelThreshold: z.ZodDefault<z.ZodNumber>;
64
+ changedPixelRatio: z.ZodDefault<z.ZodNumber>;
65
+ geometryTolerance: z.ZodDefault<z.ZodNumber>;
66
+ }, z.core.$strip>;
67
+ configurationHash: z.ZodString;
68
+ createdAt: z.ZodString;
69
+ sourceRevision: z.ZodOptional<z.ZodString>;
70
+ sourceDirty: z.ZodOptional<z.ZodBoolean>;
71
+ browser: z.ZodString;
72
+ platform: z.ZodString;
73
+ deviceScaleFactor: z.ZodLiteral<1>;
74
+ motion: z.ZodLiteral<"reduced; CSS animations and transitions disabled">;
75
+ screenshot: z.ZodString;
76
+ screenshotHash: z.ZodString;
77
+ geometry: z.ZodArray<z.ZodObject<{
78
+ selector: z.ZodString;
79
+ x: z.ZodNumber;
80
+ y: z.ZodNumber;
81
+ width: z.ZodNumber;
82
+ height: z.ZodNumber;
83
+ }, z.core.$strip>>;
84
+ findings: z.ZodArray<z.ZodObject<{
85
+ kind: z.ZodEnum<{
86
+ "horizontal-overflow": "horizontal-overflow";
87
+ "clipped-content": "clipped-content";
88
+ "small-target": "small-target";
89
+ "missing-name": "missing-name";
90
+ "missing-alt": "missing-alt";
91
+ }>;
92
+ selector: z.ZodString;
93
+ message: z.ZodString;
94
+ }, z.core.$strip>>;
95
+ evidence: z.ZodArray<z.ZodString>;
96
+ }, z.core.$strip>;
97
+ export declare const visualCheckResultSchema: z.ZodObject<{
98
+ name: z.ZodString;
99
+ status: z.ZodEnum<{
100
+ passed: "passed";
101
+ failed: "failed";
102
+ different: "different";
103
+ unsupported: "unsupported";
104
+ unbaselined: "unbaselined";
105
+ }>;
106
+ reason: z.ZodOptional<z.ZodString>;
107
+ capture: z.ZodOptional<z.ZodObject<{
108
+ version: z.ZodLiteral<1>;
109
+ screen: z.ZodObject<{
110
+ version: z.ZodLiteral<1>;
111
+ name: z.ZodString;
112
+ url: z.ZodString;
113
+ viewport: z.ZodObject<{
114
+ width: z.ZodNumber;
115
+ height: z.ZodNumber;
116
+ }, z.core.$strip>;
117
+ theme: z.ZodDefault<z.ZodString>;
118
+ state: z.ZodDefault<z.ZodString>;
119
+ themeHook: z.ZodOptional<z.ZodObject<{
120
+ selector: z.ZodString;
121
+ attribute: z.ZodString;
122
+ value: z.ZodString;
123
+ }, z.core.$strip>>;
124
+ stateHook: z.ZodOptional<z.ZodObject<{
125
+ selector: z.ZodString;
126
+ attribute: z.ZodString;
127
+ value: z.ZodString;
128
+ }, z.core.$strip>>;
129
+ masks: z.ZodDefault<z.ZodArray<z.ZodString>>;
130
+ targets: z.ZodDefault<z.ZodArray<z.ZodString>>;
131
+ pixelThreshold: z.ZodDefault<z.ZodNumber>;
132
+ changedPixelRatio: z.ZodDefault<z.ZodNumber>;
133
+ geometryTolerance: z.ZodDefault<z.ZodNumber>;
134
+ }, z.core.$strip>;
135
+ configurationHash: z.ZodString;
136
+ createdAt: z.ZodString;
137
+ sourceRevision: z.ZodOptional<z.ZodString>;
138
+ sourceDirty: z.ZodOptional<z.ZodBoolean>;
139
+ browser: z.ZodString;
140
+ platform: z.ZodString;
141
+ deviceScaleFactor: z.ZodLiteral<1>;
142
+ motion: z.ZodLiteral<"reduced; CSS animations and transitions disabled">;
143
+ screenshot: z.ZodString;
144
+ screenshotHash: z.ZodString;
145
+ geometry: z.ZodArray<z.ZodObject<{
146
+ selector: z.ZodString;
147
+ x: z.ZodNumber;
148
+ y: z.ZodNumber;
149
+ width: z.ZodNumber;
150
+ height: z.ZodNumber;
151
+ }, z.core.$strip>>;
152
+ findings: z.ZodArray<z.ZodObject<{
153
+ kind: z.ZodEnum<{
154
+ "horizontal-overflow": "horizontal-overflow";
155
+ "clipped-content": "clipped-content";
156
+ "small-target": "small-target";
157
+ "missing-name": "missing-name";
158
+ "missing-alt": "missing-alt";
159
+ }>;
160
+ selector: z.ZodString;
161
+ message: z.ZodString;
162
+ }, z.core.$strip>>;
163
+ evidence: z.ZodArray<z.ZodString>;
164
+ }, z.core.$strip>>;
165
+ baselineId: z.ZodOptional<z.ZodString>;
166
+ baselineScreenshot: z.ZodOptional<z.ZodString>;
167
+ diffScreenshot: z.ZodOptional<z.ZodString>;
168
+ changedPixels: z.ZodOptional<z.ZodNumber>;
169
+ totalPixels: z.ZodOptional<z.ZodNumber>;
170
+ changedRatio: z.ZodOptional<z.ZodNumber>;
171
+ geometryChanges: z.ZodDefault<z.ZodArray<z.ZodObject<{
172
+ selector: z.ZodString;
173
+ description: z.ZodString;
174
+ }, z.core.$strip>>>;
175
+ newFindings: z.ZodDefault<z.ZodArray<z.ZodObject<{
176
+ kind: z.ZodEnum<{
177
+ "horizontal-overflow": "horizontal-overflow";
178
+ "clipped-content": "clipped-content";
179
+ "small-target": "small-target";
180
+ "missing-name": "missing-name";
181
+ "missing-alt": "missing-alt";
182
+ }>;
183
+ selector: z.ZodString;
184
+ message: z.ZodString;
185
+ }, z.core.$strip>>>;
186
+ }, z.core.$strip>;
187
+ export declare const visualCheckReportSchema: z.ZodObject<{
188
+ format: z.ZodLiteral<"foundry.visual-check">;
189
+ version: z.ZodLiteral<1>;
190
+ id: z.ZodString;
191
+ createdAt: z.ZodString;
192
+ results: z.ZodArray<z.ZodObject<{
193
+ name: z.ZodString;
194
+ status: z.ZodEnum<{
195
+ passed: "passed";
196
+ failed: "failed";
197
+ different: "different";
198
+ unsupported: "unsupported";
199
+ unbaselined: "unbaselined";
200
+ }>;
201
+ reason: z.ZodOptional<z.ZodString>;
202
+ capture: z.ZodOptional<z.ZodObject<{
203
+ version: z.ZodLiteral<1>;
204
+ screen: z.ZodObject<{
205
+ version: z.ZodLiteral<1>;
206
+ name: z.ZodString;
207
+ url: z.ZodString;
208
+ viewport: z.ZodObject<{
209
+ width: z.ZodNumber;
210
+ height: z.ZodNumber;
211
+ }, z.core.$strip>;
212
+ theme: z.ZodDefault<z.ZodString>;
213
+ state: z.ZodDefault<z.ZodString>;
214
+ themeHook: z.ZodOptional<z.ZodObject<{
215
+ selector: z.ZodString;
216
+ attribute: z.ZodString;
217
+ value: z.ZodString;
218
+ }, z.core.$strip>>;
219
+ stateHook: z.ZodOptional<z.ZodObject<{
220
+ selector: z.ZodString;
221
+ attribute: z.ZodString;
222
+ value: z.ZodString;
223
+ }, z.core.$strip>>;
224
+ masks: z.ZodDefault<z.ZodArray<z.ZodString>>;
225
+ targets: z.ZodDefault<z.ZodArray<z.ZodString>>;
226
+ pixelThreshold: z.ZodDefault<z.ZodNumber>;
227
+ changedPixelRatio: z.ZodDefault<z.ZodNumber>;
228
+ geometryTolerance: z.ZodDefault<z.ZodNumber>;
229
+ }, z.core.$strip>;
230
+ configurationHash: z.ZodString;
231
+ createdAt: z.ZodString;
232
+ sourceRevision: z.ZodOptional<z.ZodString>;
233
+ sourceDirty: z.ZodOptional<z.ZodBoolean>;
234
+ browser: z.ZodString;
235
+ platform: z.ZodString;
236
+ deviceScaleFactor: z.ZodLiteral<1>;
237
+ motion: z.ZodLiteral<"reduced; CSS animations and transitions disabled">;
238
+ screenshot: z.ZodString;
239
+ screenshotHash: z.ZodString;
240
+ geometry: z.ZodArray<z.ZodObject<{
241
+ selector: z.ZodString;
242
+ x: z.ZodNumber;
243
+ y: z.ZodNumber;
244
+ width: z.ZodNumber;
245
+ height: z.ZodNumber;
246
+ }, z.core.$strip>>;
247
+ findings: z.ZodArray<z.ZodObject<{
248
+ kind: z.ZodEnum<{
249
+ "horizontal-overflow": "horizontal-overflow";
250
+ "clipped-content": "clipped-content";
251
+ "small-target": "small-target";
252
+ "missing-name": "missing-name";
253
+ "missing-alt": "missing-alt";
254
+ }>;
255
+ selector: z.ZodString;
256
+ message: z.ZodString;
257
+ }, z.core.$strip>>;
258
+ evidence: z.ZodArray<z.ZodString>;
259
+ }, z.core.$strip>>;
260
+ baselineId: z.ZodOptional<z.ZodString>;
261
+ baselineScreenshot: z.ZodOptional<z.ZodString>;
262
+ diffScreenshot: z.ZodOptional<z.ZodString>;
263
+ changedPixels: z.ZodOptional<z.ZodNumber>;
264
+ totalPixels: z.ZodOptional<z.ZodNumber>;
265
+ changedRatio: z.ZodOptional<z.ZodNumber>;
266
+ geometryChanges: z.ZodDefault<z.ZodArray<z.ZodObject<{
267
+ selector: z.ZodString;
268
+ description: z.ZodString;
269
+ }, z.core.$strip>>>;
270
+ newFindings: z.ZodDefault<z.ZodArray<z.ZodObject<{
271
+ kind: z.ZodEnum<{
272
+ "horizontal-overflow": "horizontal-overflow";
273
+ "clipped-content": "clipped-content";
274
+ "small-target": "small-target";
275
+ "missing-name": "missing-name";
276
+ "missing-alt": "missing-alt";
277
+ }>;
278
+ selector: z.ZodString;
279
+ message: z.ZodString;
280
+ }, z.core.$strip>>>;
281
+ }, z.core.$strip>>;
282
+ exitCode: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
283
+ }, z.core.$strip>;
284
+ export type VisualScreen = z.infer<typeof visualScreenSchema>;
285
+ export type VisualCapture = z.infer<typeof visualCaptureSchema>;
286
+ export type VisualFinding = z.infer<typeof visualFindingSchema>;
287
+ export type VisualCheckResult = z.infer<typeof visualCheckResultSchema>;
288
+ export type VisualCheckReport = z.infer<typeof visualCheckReportSchema>;
289
+ //# sourceMappingURL=visual-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-check.d.ts","sourceRoot":"","sources":["../src/visual-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAU9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwB9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ const identifier = z.string().regex(/^[a-z0-9][a-z0-9_-]{0,79}$/i);
3
+ const hookSchema = z.object({
4
+ selector: z.string().min(1),
5
+ attribute: z.string().regex(/^(data-[a-z0-9_-]+|class)$/),
6
+ value: z.string().min(1),
7
+ });
8
+ export const visualScreenSchema = z.object({
9
+ version: z.literal(1),
10
+ name: identifier,
11
+ url: z.string().url(),
12
+ viewport: z.object({
13
+ width: z.number().int().min(320).max(3840),
14
+ height: z.number().int().min(240).max(2160),
15
+ }),
16
+ theme: z.string().min(1).default('current'),
17
+ state: z.string().min(1).default('current'),
18
+ themeHook: hookSchema.optional(),
19
+ stateHook: hookSchema.optional(),
20
+ masks: z.array(z.string().min(1)).max(32).default([]),
21
+ targets: z.array(z.string().min(1)).max(64).default([]),
22
+ pixelThreshold: z.number().int().min(0).max(255).default(16),
23
+ changedPixelRatio: z.number().min(0).max(1).default(0.001),
24
+ geometryTolerance: z.number().min(0).max(10).default(0.5),
25
+ });
26
+ export const visualFindingSchema = z.object({
27
+ kind: z.enum([
28
+ 'horizontal-overflow',
29
+ 'clipped-content',
30
+ 'small-target',
31
+ 'missing-name',
32
+ 'missing-alt',
33
+ ]),
34
+ selector: z.string(),
35
+ message: z.string(),
36
+ });
37
+ export const visualCaptureSchema = z.object({
38
+ version: z.literal(1),
39
+ screen: visualScreenSchema,
40
+ configurationHash: z.string(),
41
+ createdAt: z.string().datetime(),
42
+ sourceRevision: z.string().optional(),
43
+ sourceDirty: z.boolean().optional(),
44
+ browser: z.string(),
45
+ platform: z.string(),
46
+ deviceScaleFactor: z.literal(1),
47
+ motion: z.literal('reduced; CSS animations and transitions disabled'),
48
+ screenshot: z.string(),
49
+ screenshotHash: z.string(),
50
+ geometry: z.array(z.object({
51
+ selector: z.string(),
52
+ x: z.number(),
53
+ y: z.number(),
54
+ width: z.number(),
55
+ height: z.number(),
56
+ })),
57
+ findings: z.array(visualFindingSchema),
58
+ evidence: z.array(z.string()),
59
+ });
60
+ export const visualCheckResultSchema = z.object({
61
+ name: identifier,
62
+ status: z.enum(['passed', 'different', 'failed', 'unsupported', 'unbaselined']),
63
+ reason: z.string().optional(),
64
+ capture: visualCaptureSchema.optional(),
65
+ baselineId: z.string().optional(),
66
+ baselineScreenshot: z.string().optional(),
67
+ diffScreenshot: z.string().optional(),
68
+ changedPixels: z.number().int().nonnegative().optional(),
69
+ totalPixels: z.number().int().nonnegative().optional(),
70
+ changedRatio: z.number().nonnegative().optional(),
71
+ geometryChanges: z.array(z.object({ selector: z.string(), description: z.string() })).default([]),
72
+ newFindings: z.array(visualFindingSchema).default([]),
73
+ });
74
+ export const visualCheckReportSchema = z.object({
75
+ format: z.literal('foundry.visual-check'),
76
+ version: z.literal(1),
77
+ id: identifier,
78
+ createdAt: z.string().datetime(),
79
+ results: z.array(visualCheckResultSchema),
80
+ exitCode: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
81
+ });
82
+ //# sourceMappingURL=visual-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-check.js","sourceRoot":"","sources":["../src/visual-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foundry-design-protocol",
3
- "version": "0.2.0-beta.21",
3
+ "version": "0.2.0-beta.23",
4
4
  "description": "Versioned Foundry design-change schemas and prompt rendering",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
+ },
13
+ "./engineering-verification": {
14
+ "types": "./dist/engineering-verification.d.ts",
15
+ "import": "./dist/engineering-verification.js"
12
16
  }
13
17
  },
14
18
  "files": [