@promptframe/contracts 0.0.0 → 0.1.1

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.
package/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # @promptframe/contracts
2
2
 
3
- Public contract package for PromptFrame component authoring tools.
4
-
5
- This `0.0.0` release is a placeholder that reserves the package name and trusted publishing route. The first functional release will start at `0.1.0`.
3
+ Public contracts for PromptFrame component manifests, component references, diagnostics and layout capability cards.
6
4
 
5
+ This package is intentionally small and safe to consume from authoring tools, templates and platform integration code.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,787 @@
1
- export declare const PROMPTFRAME_CONTRACTS_PLACEHOLDER_VERSION = "0.0.0";
2
- export type PromptFrameComponentType = 'scene_template' | 'contained_widget' | 'overlay' | 'transition_effect';
1
+ import { z } from 'zod';
2
+ export declare const PROMPTFRAME_CONTRACTS_VERSION: "promptframe-contracts.v0.1.0";
3
+ export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: "component-manifest.v0.1.0";
4
+ export declare const COMPONENT_STANDARD_VERSION: "component-standard.v0.1.0";
5
+ export declare const COMPONENT_REF_VERSION: "component-ref.v0.1.0";
6
+ export declare const LAYOUT_CAPABILITY_VERSION: "layout-capability.v0.1.0";
7
+ export declare const CAPABILITY_CARD_VERSION: "component-capability-card.v0.1.0";
8
+ export declare const sha256Schema: z.ZodString;
9
+ export declare const nonEmptyStringSchema: z.ZodString;
10
+ export declare const semverSchema: z.ZodString;
11
+ export declare const componentIdSchema: z.ZodString;
12
+ export declare const componentNameSchema: z.ZodString;
13
+ export declare const relativePathSchema: z.ZodString;
14
+ export declare const promptFrameComponentTypeSchema: z.ZodEnum<["scene_template", "contained_widget", "overlay", "transition_effect"]>;
15
+ export type PromptFrameComponentType = z.infer<typeof promptFrameComponentTypeSchema>;
16
+ export declare const promptFrameManifestLayerSchema: z.ZodEnum<["foundation", "atom", "motion", "element", "scene_template"]>;
17
+ export type PromptFrameManifestLayer = z.infer<typeof promptFrameManifestLayerSchema>;
18
+ export declare const promptFrameManifestCategorySchema: z.ZodEnum<["background", "text", "media", "shape", "card", "layout", "motion", "effect", "scene_template"]>;
19
+ export type PromptFrameManifestCategory = z.infer<typeof promptFrameManifestCategorySchema>;
20
+ export declare const componentVisibilitySchema: z.ZodEnum<["builtin", "private", "project_private", "team", "public"]>;
21
+ export type ComponentVisibility = z.infer<typeof componentVisibilitySchema>;
22
+ export declare const componentRefSchema: z.ZodObject<{
23
+ contractVersion: z.ZodDefault<z.ZodLiteral<"component-ref.v0.1.0">>;
24
+ componentId: z.ZodString;
25
+ version: z.ZodString;
26
+ visibility: z.ZodEnum<["builtin", "private", "project_private", "team", "public"]>;
27
+ sourceHash: z.ZodString;
28
+ schemaHash: z.ZodString;
29
+ bundleHash: z.ZodOptional<z.ZodString>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ contractVersion: "component-ref.v0.1.0";
32
+ componentId: string;
33
+ version: string;
34
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
35
+ sourceHash: string;
36
+ schemaHash: string;
37
+ bundleHash?: string | undefined;
38
+ }, {
39
+ componentId: string;
40
+ version: string;
41
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
42
+ sourceHash: string;
43
+ schemaHash: string;
44
+ contractVersion?: "component-ref.v0.1.0" | undefined;
45
+ bundleHash?: string | undefined;
46
+ }>;
47
+ export type ComponentRef = z.infer<typeof componentRefSchema>;
48
+ export declare const componentDiagnosticSchema: z.ZodObject<{
49
+ code: z.ZodString;
50
+ severity: z.ZodEnum<["info", "warning", "error"]>;
51
+ message: z.ZodString;
52
+ stage: z.ZodEnum<["authoring", "doctor", "validate", "package", "upload", "build", "manifest", "schema", "policy", "preview", "probe", "publish"]>;
53
+ repairHint: z.ZodOptional<z.ZodString>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ code: string;
56
+ message: string;
57
+ severity: "info" | "warning" | "error";
58
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
59
+ repairHint?: string | undefined;
60
+ }, {
61
+ code: string;
62
+ message: string;
63
+ severity: "info" | "warning" | "error";
64
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
65
+ repairHint?: string | undefined;
66
+ }>;
67
+ export type ComponentDiagnostic = z.infer<typeof componentDiagnosticSchema>;
68
+ export declare const publicPolicyRuleIdSchema: z.ZodEnum<["manifest.identity.version", "manifest.component_type.supported", "schema.props.explicit", "runtime.deterministic.remotion", "runtime.no_global_scripts", "security.forbidden.browser_apis", "security.no_raw_remote_url_import", "layout.root_fills_parent", "layout.no_fixed_root_canvas", "package.no_parent_imports", "package.no_path_traversal", "evidence.schema_source_hash_present"]>;
69
+ export type PublicPolicyRuleId = z.infer<typeof publicPolicyRuleIdSchema>;
70
+ export declare const layoutAdaptivitySchema: z.ZodEnum<["responsive", "scales_down", "reflows", "clips", "fixed"]>;
71
+ export type LayoutAdaptivity = z.infer<typeof layoutAdaptivitySchema>;
72
+ export declare const slotRecommendationSchema: z.ZodEnum<["full_screen", "half_screen", "card", "badge", "text_line", "transition_slot"]>;
73
+ export type SlotRecommendation = z.infer<typeof slotRecommendationSchema>;
74
+ export declare const layoutCapabilitySchema: z.ZodObject<{
75
+ contractVersion: z.ZodDefault<z.ZodLiteral<"layout-capability.v0.1.0">>;
76
+ recommendedSlot: z.ZodEnum<["full_screen", "half_screen", "card", "badge", "text_line", "transition_slot"]>;
77
+ minReadableSize: z.ZodObject<{
78
+ width: z.ZodNumber;
79
+ height: z.ZodNumber;
80
+ }, "strip", z.ZodTypeAny, {
81
+ width: number;
82
+ height: number;
83
+ }, {
84
+ width: number;
85
+ height: number;
86
+ }>;
87
+ supportedAspectRatios: z.ZodArray<z.ZodEnum<["16:9", "9:16", "1:1", "4:5", "auto"]>, "many">;
88
+ layoutAdaptivity: z.ZodEnum<["responsive", "scales_down", "reflows", "clips", "fixed"]>;
89
+ overflowPolicy: z.ZodDefault<z.ZodEnum<["fit", "scroll_forbidden", "clip_with_warning", "unknown"]>>;
90
+ safeAreaPolicy: z.ZodDefault<z.ZodEnum<["required", "recommended", "none"]>>;
91
+ confidence: z.ZodDefault<z.ZodNumber>;
92
+ lastVerifiedAt: z.ZodOptional<z.ZodString>;
93
+ diagnostics: z.ZodDefault<z.ZodArray<z.ZodObject<{
94
+ code: z.ZodString;
95
+ severity: z.ZodEnum<["info", "warning", "error"]>;
96
+ message: z.ZodString;
97
+ stage: z.ZodEnum<["authoring", "doctor", "validate", "package", "upload", "build", "manifest", "schema", "policy", "preview", "probe", "publish"]>;
98
+ repairHint: z.ZodOptional<z.ZodString>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ code: string;
101
+ message: string;
102
+ severity: "info" | "warning" | "error";
103
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
104
+ repairHint?: string | undefined;
105
+ }, {
106
+ code: string;
107
+ message: string;
108
+ severity: "info" | "warning" | "error";
109
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
110
+ repairHint?: string | undefined;
111
+ }>, "many">>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ contractVersion: "layout-capability.v0.1.0";
114
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
115
+ minReadableSize: {
116
+ width: number;
117
+ height: number;
118
+ };
119
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
120
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
121
+ overflowPolicy: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning";
122
+ safeAreaPolicy: "required" | "recommended" | "none";
123
+ confidence: number;
124
+ diagnostics: {
125
+ code: string;
126
+ message: string;
127
+ severity: "info" | "warning" | "error";
128
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
129
+ repairHint?: string | undefined;
130
+ }[];
131
+ lastVerifiedAt?: string | undefined;
132
+ }, {
133
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
134
+ minReadableSize: {
135
+ width: number;
136
+ height: number;
137
+ };
138
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
139
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
140
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
141
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
142
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
143
+ confidence?: number | undefined;
144
+ lastVerifiedAt?: string | undefined;
145
+ diagnostics?: {
146
+ code: string;
147
+ message: string;
148
+ severity: "info" | "warning" | "error";
149
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
150
+ repairHint?: string | undefined;
151
+ }[] | undefined;
152
+ }>;
153
+ export type LayoutCapability = z.infer<typeof layoutCapabilitySchema>;
154
+ export declare const componentManifestAuthorSchema: z.ZodObject<{
155
+ id: z.ZodString;
156
+ name: z.ZodString;
157
+ }, "strip", z.ZodTypeAny, {
158
+ id: string;
159
+ name: string;
160
+ }, {
161
+ id: string;
162
+ name: string;
163
+ }>;
164
+ export declare const componentManifestEntrySchema: z.ZodObject<{
165
+ sourcePath: z.ZodString;
166
+ componentExport: z.ZodDefault<z.ZodString>;
167
+ propsSchemaPath: z.ZodString;
168
+ sourceHash: z.ZodString;
169
+ schemaHash: z.ZodString;
170
+ bundleHash: z.ZodOptional<z.ZodString>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ sourceHash: string;
173
+ schemaHash: string;
174
+ sourcePath: string;
175
+ componentExport: string;
176
+ propsSchemaPath: string;
177
+ bundleHash?: string | undefined;
178
+ }, {
179
+ sourceHash: string;
180
+ schemaHash: string;
181
+ sourcePath: string;
182
+ propsSchemaPath: string;
183
+ bundleHash?: string | undefined;
184
+ componentExport?: string | undefined;
185
+ }>;
186
+ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
187
+ schemaVersion: z.ZodLiteral<"component-manifest.v0.1.0">;
188
+ standardVersion: z.ZodLiteral<"component-standard.v0.1.0">;
189
+ standardSourceHash: z.ZodOptional<z.ZodString>;
190
+ id: z.ZodString;
191
+ name: z.ZodString;
192
+ displayName: z.ZodString;
193
+ version: z.ZodString;
194
+ componentType: z.ZodOptional<z.ZodEnum<["scene_template", "contained_widget", "overlay", "transition_effect"]>>;
195
+ layer: z.ZodOptional<z.ZodEnum<["foundation", "atom", "motion", "element", "scene_template"]>>;
196
+ category: z.ZodOptional<z.ZodEnum<["background", "text", "media", "shape", "card", "layout", "motion", "effect", "scene_template"]>>;
197
+ trustLevel: z.ZodOptional<z.ZodEnum<["trusted_builtin", "trusted_private", "trusted_marketplace", "untrusted_temporary"]>>;
198
+ author: z.ZodObject<{
199
+ id: z.ZodString;
200
+ name: z.ZodString;
201
+ }, "strip", z.ZodTypeAny, {
202
+ id: string;
203
+ name: string;
204
+ }, {
205
+ id: string;
206
+ name: string;
207
+ }>;
208
+ description: z.ZodString;
209
+ tags: z.ZodArray<z.ZodString, "many">;
210
+ designedDurationRange: z.ZodEffects<z.ZodObject<{
211
+ min: z.ZodNumber;
212
+ max: z.ZodNumber;
213
+ }, "strip", z.ZodTypeAny, {
214
+ min: number;
215
+ max: number;
216
+ }, {
217
+ min: number;
218
+ max: number;
219
+ }>, {
220
+ min: number;
221
+ max: number;
222
+ }, {
223
+ min: number;
224
+ max: number;
225
+ }>;
226
+ layout: z.ZodOptional<z.ZodObject<{
227
+ contractVersion: z.ZodOptional<z.ZodDefault<z.ZodLiteral<"layout-capability.v0.1.0">>>;
228
+ recommendedSlot: z.ZodOptional<z.ZodEnum<["full_screen", "half_screen", "card", "badge", "text_line", "transition_slot"]>>;
229
+ minReadableSize: z.ZodOptional<z.ZodObject<{
230
+ width: z.ZodNumber;
231
+ height: z.ZodNumber;
232
+ }, "strip", z.ZodTypeAny, {
233
+ width: number;
234
+ height: number;
235
+ }, {
236
+ width: number;
237
+ height: number;
238
+ }>>;
239
+ supportedAspectRatios: z.ZodOptional<z.ZodArray<z.ZodEnum<["16:9", "9:16", "1:1", "4:5", "auto"]>, "many">>;
240
+ layoutAdaptivity: z.ZodOptional<z.ZodEnum<["responsive", "scales_down", "reflows", "clips", "fixed"]>>;
241
+ overflowPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fit", "scroll_forbidden", "clip_with_warning", "unknown"]>>>;
242
+ safeAreaPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["required", "recommended", "none"]>>>;
243
+ confidence: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
244
+ lastVerifiedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
245
+ diagnostics: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
246
+ code: z.ZodString;
247
+ severity: z.ZodEnum<["info", "warning", "error"]>;
248
+ message: z.ZodString;
249
+ stage: z.ZodEnum<["authoring", "doctor", "validate", "package", "upload", "build", "manifest", "schema", "policy", "preview", "probe", "publish"]>;
250
+ repairHint: z.ZodOptional<z.ZodString>;
251
+ }, "strip", z.ZodTypeAny, {
252
+ code: string;
253
+ message: string;
254
+ severity: "info" | "warning" | "error";
255
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
256
+ repairHint?: string | undefined;
257
+ }, {
258
+ code: string;
259
+ message: string;
260
+ severity: "info" | "warning" | "error";
261
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
262
+ repairHint?: string | undefined;
263
+ }>, "many">>>;
264
+ }, "strip", z.ZodTypeAny, {
265
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
266
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
267
+ minReadableSize?: {
268
+ width: number;
269
+ height: number;
270
+ } | undefined;
271
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
272
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
273
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
274
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
275
+ confidence?: number | undefined;
276
+ lastVerifiedAt?: string | undefined;
277
+ diagnostics?: {
278
+ code: string;
279
+ message: string;
280
+ severity: "info" | "warning" | "error";
281
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
282
+ repairHint?: string | undefined;
283
+ }[] | undefined;
284
+ }, {
285
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
286
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
287
+ minReadableSize?: {
288
+ width: number;
289
+ height: number;
290
+ } | undefined;
291
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
292
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
293
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
294
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
295
+ confidence?: number | undefined;
296
+ lastVerifiedAt?: string | undefined;
297
+ diagnostics?: {
298
+ code: string;
299
+ message: string;
300
+ severity: "info" | "warning" | "error";
301
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
302
+ repairHint?: string | undefined;
303
+ }[] | undefined;
304
+ }>>;
305
+ entry: z.ZodObject<{
306
+ sourcePath: z.ZodString;
307
+ componentExport: z.ZodDefault<z.ZodString>;
308
+ propsSchemaPath: z.ZodString;
309
+ sourceHash: z.ZodString;
310
+ schemaHash: z.ZodString;
311
+ bundleHash: z.ZodOptional<z.ZodString>;
312
+ }, "strip", z.ZodTypeAny, {
313
+ sourceHash: string;
314
+ schemaHash: string;
315
+ sourcePath: string;
316
+ componentExport: string;
317
+ propsSchemaPath: string;
318
+ bundleHash?: string | undefined;
319
+ }, {
320
+ sourceHash: string;
321
+ schemaHash: string;
322
+ sourcePath: string;
323
+ propsSchemaPath: string;
324
+ bundleHash?: string | undefined;
325
+ componentExport?: string | undefined;
326
+ }>;
327
+ dependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
328
+ peerDependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
329
+ assets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
330
+ capabilityHints: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
331
+ reviewStatus: z.ZodOptional<z.ZodEnum<["draft", "pending_review", "approved", "rejected", "archived"]>>;
332
+ license: z.ZodString;
333
+ createdAt: z.ZodString;
334
+ }, "strict", z.ZodTypeAny, {
335
+ version: string;
336
+ id: string;
337
+ name: string;
338
+ schemaVersion: "component-manifest.v0.1.0";
339
+ standardVersion: "component-standard.v0.1.0";
340
+ displayName: string;
341
+ author: {
342
+ id: string;
343
+ name: string;
344
+ };
345
+ description: string;
346
+ tags: string[];
347
+ designedDurationRange: {
348
+ min: number;
349
+ max: number;
350
+ };
351
+ entry: {
352
+ sourceHash: string;
353
+ schemaHash: string;
354
+ sourcePath: string;
355
+ componentExport: string;
356
+ propsSchemaPath: string;
357
+ bundleHash?: string | undefined;
358
+ };
359
+ dependencies: Record<string, string>;
360
+ peerDependencies: Record<string, string>;
361
+ assets: Record<string, unknown>;
362
+ capabilityHints: string[];
363
+ license: string;
364
+ createdAt: string;
365
+ layout?: {
366
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
367
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
368
+ minReadableSize?: {
369
+ width: number;
370
+ height: number;
371
+ } | undefined;
372
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
373
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
374
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
375
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
376
+ confidence?: number | undefined;
377
+ lastVerifiedAt?: string | undefined;
378
+ diagnostics?: {
379
+ code: string;
380
+ message: string;
381
+ severity: "info" | "warning" | "error";
382
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
383
+ repairHint?: string | undefined;
384
+ }[] | undefined;
385
+ } | undefined;
386
+ standardSourceHash?: string | undefined;
387
+ componentType?: "scene_template" | "contained_widget" | "overlay" | "transition_effect" | undefined;
388
+ layer?: "scene_template" | "foundation" | "atom" | "motion" | "element" | undefined;
389
+ category?: "scene_template" | "motion" | "background" | "text" | "media" | "shape" | "card" | "layout" | "effect" | undefined;
390
+ trustLevel?: "trusted_builtin" | "trusted_private" | "trusted_marketplace" | "untrusted_temporary" | undefined;
391
+ reviewStatus?: "draft" | "pending_review" | "approved" | "rejected" | "archived" | undefined;
392
+ }, {
393
+ version: string;
394
+ id: string;
395
+ name: string;
396
+ schemaVersion: "component-manifest.v0.1.0";
397
+ standardVersion: "component-standard.v0.1.0";
398
+ displayName: string;
399
+ author: {
400
+ id: string;
401
+ name: string;
402
+ };
403
+ description: string;
404
+ tags: string[];
405
+ designedDurationRange: {
406
+ min: number;
407
+ max: number;
408
+ };
409
+ entry: {
410
+ sourceHash: string;
411
+ schemaHash: string;
412
+ sourcePath: string;
413
+ propsSchemaPath: string;
414
+ bundleHash?: string | undefined;
415
+ componentExport?: string | undefined;
416
+ };
417
+ license: string;
418
+ createdAt: string;
419
+ layout?: {
420
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
421
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
422
+ minReadableSize?: {
423
+ width: number;
424
+ height: number;
425
+ } | undefined;
426
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
427
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
428
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
429
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
430
+ confidence?: number | undefined;
431
+ lastVerifiedAt?: string | undefined;
432
+ diagnostics?: {
433
+ code: string;
434
+ message: string;
435
+ severity: "info" | "warning" | "error";
436
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
437
+ repairHint?: string | undefined;
438
+ }[] | undefined;
439
+ } | undefined;
440
+ standardSourceHash?: string | undefined;
441
+ componentType?: "scene_template" | "contained_widget" | "overlay" | "transition_effect" | undefined;
442
+ layer?: "scene_template" | "foundation" | "atom" | "motion" | "element" | undefined;
443
+ category?: "scene_template" | "motion" | "background" | "text" | "media" | "shape" | "card" | "layout" | "effect" | undefined;
444
+ trustLevel?: "trusted_builtin" | "trusted_private" | "trusted_marketplace" | "untrusted_temporary" | undefined;
445
+ dependencies?: Record<string, string> | undefined;
446
+ peerDependencies?: Record<string, string> | undefined;
447
+ assets?: Record<string, unknown> | undefined;
448
+ capabilityHints?: string[] | undefined;
449
+ reviewStatus?: "draft" | "pending_review" | "approved" | "rejected" | "archived" | undefined;
450
+ }>, {
451
+ version: string;
452
+ id: string;
453
+ name: string;
454
+ schemaVersion: "component-manifest.v0.1.0";
455
+ standardVersion: "component-standard.v0.1.0";
456
+ displayName: string;
457
+ author: {
458
+ id: string;
459
+ name: string;
460
+ };
461
+ description: string;
462
+ tags: string[];
463
+ designedDurationRange: {
464
+ min: number;
465
+ max: number;
466
+ };
467
+ entry: {
468
+ sourceHash: string;
469
+ schemaHash: string;
470
+ sourcePath: string;
471
+ componentExport: string;
472
+ propsSchemaPath: string;
473
+ bundleHash?: string | undefined;
474
+ };
475
+ dependencies: Record<string, string>;
476
+ peerDependencies: Record<string, string>;
477
+ assets: Record<string, unknown>;
478
+ capabilityHints: string[];
479
+ license: string;
480
+ createdAt: string;
481
+ layout?: {
482
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
483
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
484
+ minReadableSize?: {
485
+ width: number;
486
+ height: number;
487
+ } | undefined;
488
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
489
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
490
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
491
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
492
+ confidence?: number | undefined;
493
+ lastVerifiedAt?: string | undefined;
494
+ diagnostics?: {
495
+ code: string;
496
+ message: string;
497
+ severity: "info" | "warning" | "error";
498
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
499
+ repairHint?: string | undefined;
500
+ }[] | undefined;
501
+ } | undefined;
502
+ standardSourceHash?: string | undefined;
503
+ componentType?: "scene_template" | "contained_widget" | "overlay" | "transition_effect" | undefined;
504
+ layer?: "scene_template" | "foundation" | "atom" | "motion" | "element" | undefined;
505
+ category?: "scene_template" | "motion" | "background" | "text" | "media" | "shape" | "card" | "layout" | "effect" | undefined;
506
+ trustLevel?: "trusted_builtin" | "trusted_private" | "trusted_marketplace" | "untrusted_temporary" | undefined;
507
+ reviewStatus?: "draft" | "pending_review" | "approved" | "rejected" | "archived" | undefined;
508
+ }, {
509
+ version: string;
510
+ id: string;
511
+ name: string;
512
+ schemaVersion: "component-manifest.v0.1.0";
513
+ standardVersion: "component-standard.v0.1.0";
514
+ displayName: string;
515
+ author: {
516
+ id: string;
517
+ name: string;
518
+ };
519
+ description: string;
520
+ tags: string[];
521
+ designedDurationRange: {
522
+ min: number;
523
+ max: number;
524
+ };
525
+ entry: {
526
+ sourceHash: string;
527
+ schemaHash: string;
528
+ sourcePath: string;
529
+ propsSchemaPath: string;
530
+ bundleHash?: string | undefined;
531
+ componentExport?: string | undefined;
532
+ };
533
+ license: string;
534
+ createdAt: string;
535
+ layout?: {
536
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
537
+ recommendedSlot?: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot" | undefined;
538
+ minReadableSize?: {
539
+ width: number;
540
+ height: number;
541
+ } | undefined;
542
+ supportedAspectRatios?: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[] | undefined;
543
+ layoutAdaptivity?: "responsive" | "scales_down" | "reflows" | "clips" | "fixed" | undefined;
544
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
545
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
546
+ confidence?: number | undefined;
547
+ lastVerifiedAt?: string | undefined;
548
+ diagnostics?: {
549
+ code: string;
550
+ message: string;
551
+ severity: "info" | "warning" | "error";
552
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
553
+ repairHint?: string | undefined;
554
+ }[] | undefined;
555
+ } | undefined;
556
+ standardSourceHash?: string | undefined;
557
+ componentType?: "scene_template" | "contained_widget" | "overlay" | "transition_effect" | undefined;
558
+ layer?: "scene_template" | "foundation" | "atom" | "motion" | "element" | undefined;
559
+ category?: "scene_template" | "motion" | "background" | "text" | "media" | "shape" | "card" | "layout" | "effect" | undefined;
560
+ trustLevel?: "trusted_builtin" | "trusted_private" | "trusted_marketplace" | "untrusted_temporary" | undefined;
561
+ dependencies?: Record<string, string> | undefined;
562
+ peerDependencies?: Record<string, string> | undefined;
563
+ assets?: Record<string, unknown> | undefined;
564
+ capabilityHints?: string[] | undefined;
565
+ reviewStatus?: "draft" | "pending_review" | "approved" | "rejected" | "archived" | undefined;
566
+ }>;
567
+ export type ComponentManifest = z.infer<typeof componentManifestSchema>;
568
+ export declare const componentCapabilityCardSchema: z.ZodObject<{
569
+ contractVersion: z.ZodDefault<z.ZodLiteral<"component-capability-card.v0.1.0">>;
570
+ componentRef: z.ZodObject<{
571
+ contractVersion: z.ZodDefault<z.ZodLiteral<"component-ref.v0.1.0">>;
572
+ componentId: z.ZodString;
573
+ version: z.ZodString;
574
+ visibility: z.ZodEnum<["builtin", "private", "project_private", "team", "public"]>;
575
+ sourceHash: z.ZodString;
576
+ schemaHash: z.ZodString;
577
+ bundleHash: z.ZodOptional<z.ZodString>;
578
+ }, "strip", z.ZodTypeAny, {
579
+ contractVersion: "component-ref.v0.1.0";
580
+ componentId: string;
581
+ version: string;
582
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
583
+ sourceHash: string;
584
+ schemaHash: string;
585
+ bundleHash?: string | undefined;
586
+ }, {
587
+ componentId: string;
588
+ version: string;
589
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
590
+ sourceHash: string;
591
+ schemaHash: string;
592
+ contractVersion?: "component-ref.v0.1.0" | undefined;
593
+ bundleHash?: string | undefined;
594
+ }>;
595
+ componentType: z.ZodEnum<["scene_template", "contained_widget", "overlay", "transition_effect"]>;
596
+ displayName: z.ZodString;
597
+ summary: z.ZodString;
598
+ layoutCapability: z.ZodObject<{
599
+ contractVersion: z.ZodDefault<z.ZodLiteral<"layout-capability.v0.1.0">>;
600
+ recommendedSlot: z.ZodEnum<["full_screen", "half_screen", "card", "badge", "text_line", "transition_slot"]>;
601
+ minReadableSize: z.ZodObject<{
602
+ width: z.ZodNumber;
603
+ height: z.ZodNumber;
604
+ }, "strip", z.ZodTypeAny, {
605
+ width: number;
606
+ height: number;
607
+ }, {
608
+ width: number;
609
+ height: number;
610
+ }>;
611
+ supportedAspectRatios: z.ZodArray<z.ZodEnum<["16:9", "9:16", "1:1", "4:5", "auto"]>, "many">;
612
+ layoutAdaptivity: z.ZodEnum<["responsive", "scales_down", "reflows", "clips", "fixed"]>;
613
+ overflowPolicy: z.ZodDefault<z.ZodEnum<["fit", "scroll_forbidden", "clip_with_warning", "unknown"]>>;
614
+ safeAreaPolicy: z.ZodDefault<z.ZodEnum<["required", "recommended", "none"]>>;
615
+ confidence: z.ZodDefault<z.ZodNumber>;
616
+ lastVerifiedAt: z.ZodOptional<z.ZodString>;
617
+ diagnostics: z.ZodDefault<z.ZodArray<z.ZodObject<{
618
+ code: z.ZodString;
619
+ severity: z.ZodEnum<["info", "warning", "error"]>;
620
+ message: z.ZodString;
621
+ stage: z.ZodEnum<["authoring", "doctor", "validate", "package", "upload", "build", "manifest", "schema", "policy", "preview", "probe", "publish"]>;
622
+ repairHint: z.ZodOptional<z.ZodString>;
623
+ }, "strip", z.ZodTypeAny, {
624
+ code: string;
625
+ message: string;
626
+ severity: "info" | "warning" | "error";
627
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
628
+ repairHint?: string | undefined;
629
+ }, {
630
+ code: string;
631
+ message: string;
632
+ severity: "info" | "warning" | "error";
633
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
634
+ repairHint?: string | undefined;
635
+ }>, "many">>;
636
+ }, "strip", z.ZodTypeAny, {
637
+ contractVersion: "layout-capability.v0.1.0";
638
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
639
+ minReadableSize: {
640
+ width: number;
641
+ height: number;
642
+ };
643
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
644
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
645
+ overflowPolicy: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning";
646
+ safeAreaPolicy: "required" | "recommended" | "none";
647
+ confidence: number;
648
+ diagnostics: {
649
+ code: string;
650
+ message: string;
651
+ severity: "info" | "warning" | "error";
652
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
653
+ repairHint?: string | undefined;
654
+ }[];
655
+ lastVerifiedAt?: string | undefined;
656
+ }, {
657
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
658
+ minReadableSize: {
659
+ width: number;
660
+ height: number;
661
+ };
662
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
663
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
664
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
665
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
666
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
667
+ confidence?: number | undefined;
668
+ lastVerifiedAt?: string | undefined;
669
+ diagnostics?: {
670
+ code: string;
671
+ message: string;
672
+ severity: "info" | "warning" | "error";
673
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
674
+ repairHint?: string | undefined;
675
+ }[] | undefined;
676
+ }>;
677
+ policyRuleIds: z.ZodDefault<z.ZodArray<z.ZodEnum<["manifest.identity.version", "manifest.component_type.supported", "schema.props.explicit", "runtime.deterministic.remotion", "runtime.no_global_scripts", "security.forbidden.browser_apis", "security.no_raw_remote_url_import", "layout.root_fills_parent", "layout.no_fixed_root_canvas", "package.no_parent_imports", "package.no_path_traversal", "evidence.schema_source_hash_present"]>, "many">>;
678
+ diagnostics: z.ZodDefault<z.ZodArray<z.ZodObject<{
679
+ code: z.ZodString;
680
+ severity: z.ZodEnum<["info", "warning", "error"]>;
681
+ message: z.ZodString;
682
+ stage: z.ZodEnum<["authoring", "doctor", "validate", "package", "upload", "build", "manifest", "schema", "policy", "preview", "probe", "publish"]>;
683
+ repairHint: z.ZodOptional<z.ZodString>;
684
+ }, "strip", z.ZodTypeAny, {
685
+ code: string;
686
+ message: string;
687
+ severity: "info" | "warning" | "error";
688
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
689
+ repairHint?: string | undefined;
690
+ }, {
691
+ code: string;
692
+ message: string;
693
+ severity: "info" | "warning" | "error";
694
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
695
+ repairHint?: string | undefined;
696
+ }>, "many">>;
697
+ }, "strip", z.ZodTypeAny, {
698
+ contractVersion: "component-capability-card.v0.1.0";
699
+ diagnostics: {
700
+ code: string;
701
+ message: string;
702
+ severity: "info" | "warning" | "error";
703
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
704
+ repairHint?: string | undefined;
705
+ }[];
706
+ displayName: string;
707
+ componentType: "scene_template" | "contained_widget" | "overlay" | "transition_effect";
708
+ componentRef: {
709
+ contractVersion: "component-ref.v0.1.0";
710
+ componentId: string;
711
+ version: string;
712
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
713
+ sourceHash: string;
714
+ schemaHash: string;
715
+ bundleHash?: string | undefined;
716
+ };
717
+ summary: string;
718
+ layoutCapability: {
719
+ contractVersion: "layout-capability.v0.1.0";
720
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
721
+ minReadableSize: {
722
+ width: number;
723
+ height: number;
724
+ };
725
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
726
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
727
+ overflowPolicy: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning";
728
+ safeAreaPolicy: "required" | "recommended" | "none";
729
+ confidence: number;
730
+ diagnostics: {
731
+ code: string;
732
+ message: string;
733
+ severity: "info" | "warning" | "error";
734
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
735
+ repairHint?: string | undefined;
736
+ }[];
737
+ lastVerifiedAt?: string | undefined;
738
+ };
739
+ policyRuleIds: ("manifest.identity.version" | "manifest.component_type.supported" | "schema.props.explicit" | "runtime.deterministic.remotion" | "runtime.no_global_scripts" | "security.forbidden.browser_apis" | "security.no_raw_remote_url_import" | "layout.root_fills_parent" | "layout.no_fixed_root_canvas" | "package.no_parent_imports" | "package.no_path_traversal" | "evidence.schema_source_hash_present")[];
740
+ }, {
741
+ displayName: string;
742
+ componentType: "scene_template" | "contained_widget" | "overlay" | "transition_effect";
743
+ componentRef: {
744
+ componentId: string;
745
+ version: string;
746
+ visibility: "builtin" | "private" | "project_private" | "team" | "public";
747
+ sourceHash: string;
748
+ schemaHash: string;
749
+ contractVersion?: "component-ref.v0.1.0" | undefined;
750
+ bundleHash?: string | undefined;
751
+ };
752
+ summary: string;
753
+ layoutCapability: {
754
+ recommendedSlot: "card" | "full_screen" | "half_screen" | "badge" | "text_line" | "transition_slot";
755
+ minReadableSize: {
756
+ width: number;
757
+ height: number;
758
+ };
759
+ supportedAspectRatios: ("16:9" | "9:16" | "1:1" | "4:5" | "auto")[];
760
+ layoutAdaptivity: "responsive" | "scales_down" | "reflows" | "clips" | "fixed";
761
+ contractVersion?: "layout-capability.v0.1.0" | undefined;
762
+ overflowPolicy?: "unknown" | "fit" | "scroll_forbidden" | "clip_with_warning" | undefined;
763
+ safeAreaPolicy?: "required" | "recommended" | "none" | undefined;
764
+ confidence?: number | undefined;
765
+ lastVerifiedAt?: string | undefined;
766
+ diagnostics?: {
767
+ code: string;
768
+ message: string;
769
+ severity: "info" | "warning" | "error";
770
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
771
+ repairHint?: string | undefined;
772
+ }[] | undefined;
773
+ };
774
+ contractVersion?: "component-capability-card.v0.1.0" | undefined;
775
+ diagnostics?: {
776
+ code: string;
777
+ message: string;
778
+ severity: "info" | "warning" | "error";
779
+ stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "build" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
780
+ repairHint?: string | undefined;
781
+ }[] | undefined;
782
+ policyRuleIds?: ("manifest.identity.version" | "manifest.component_type.supported" | "schema.props.explicit" | "runtime.deterministic.remotion" | "runtime.no_global_scripts" | "security.forbidden.browser_apis" | "security.no_raw_remote_url_import" | "layout.root_fills_parent" | "layout.no_fixed_root_canvas" | "package.no_parent_imports" | "package.no_path_traversal" | "evidence.schema_source_hash_present")[] | undefined;
783
+ }>;
784
+ export type ComponentCapabilityCard = z.infer<typeof componentCapabilityCardSchema>;
785
+ export declare function parseComponentManifest(input: unknown): ComponentManifest;
786
+ export declare function parseComponentRef(input: unknown): ComponentRef;
3
787
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yCAAyC,UAAU,CAAC;AAEjE,MAAM,MAAM,wBAAwB,GAChC,gBAAgB,GAChB,kBAAkB,GAClB,SAAS,GACT,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,187 @@
1
- export const PROMPTFRAME_CONTRACTS_PLACEHOLDER_VERSION = '0.0.0';
1
+ import { z } from 'zod';
2
+ export const PROMPTFRAME_CONTRACTS_VERSION = 'promptframe-contracts.v0.1.0';
3
+ export const COMPONENT_MANIFEST_SCHEMA_VERSION = 'component-manifest.v0.1.0';
4
+ export const COMPONENT_STANDARD_VERSION = 'component-standard.v0.1.0';
5
+ export const COMPONENT_REF_VERSION = 'component-ref.v0.1.0';
6
+ export const LAYOUT_CAPABILITY_VERSION = 'layout-capability.v0.1.0';
7
+ export const CAPABILITY_CARD_VERSION = 'component-capability-card.v0.1.0';
8
+ export const sha256Schema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
9
+ export const nonEmptyStringSchema = z.string().trim().min(1);
10
+ export const semverSchema = z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/);
11
+ export const componentIdSchema = z.string().regex(/^@[a-z0-9][a-z0-9-]{1,62}\/[a-z0-9][a-z0-9-]{1,62}$/);
12
+ export const componentNameSchema = z.string().regex(/^[a-z0-9][a-z0-9-]{1,62}$/);
13
+ export const relativePathSchema = z.string().regex(/^[^/\\][\w./-]*$/);
14
+ export const promptFrameComponentTypeSchema = z.enum([
15
+ 'scene_template',
16
+ 'contained_widget',
17
+ 'overlay',
18
+ 'transition_effect',
19
+ ]);
20
+ export const promptFrameManifestLayerSchema = z.enum([
21
+ 'foundation',
22
+ 'atom',
23
+ 'motion',
24
+ 'element',
25
+ 'scene_template',
26
+ ]);
27
+ export const promptFrameManifestCategorySchema = z.enum([
28
+ 'background',
29
+ 'text',
30
+ 'media',
31
+ 'shape',
32
+ 'card',
33
+ 'layout',
34
+ 'motion',
35
+ 'effect',
36
+ 'scene_template',
37
+ ]);
38
+ export const componentVisibilitySchema = z.enum([
39
+ 'builtin',
40
+ 'private',
41
+ 'project_private',
42
+ 'team',
43
+ 'public',
44
+ ]);
45
+ export const componentRefSchema = z.object({
46
+ contractVersion: z.literal(COMPONENT_REF_VERSION).default(COMPONENT_REF_VERSION),
47
+ componentId: componentIdSchema,
48
+ version: semverSchema,
49
+ visibility: componentVisibilitySchema,
50
+ sourceHash: sha256Schema,
51
+ schemaHash: sha256Schema,
52
+ bundleHash: sha256Schema.optional(),
53
+ });
54
+ export const componentDiagnosticSchema = z.object({
55
+ code: nonEmptyStringSchema.max(160),
56
+ severity: z.enum(['info', 'warning', 'error']),
57
+ message: nonEmptyStringSchema.max(2000),
58
+ stage: z.enum([
59
+ 'authoring',
60
+ 'doctor',
61
+ 'validate',
62
+ 'package',
63
+ 'upload',
64
+ 'build',
65
+ 'manifest',
66
+ 'schema',
67
+ 'policy',
68
+ 'preview',
69
+ 'probe',
70
+ 'publish',
71
+ ]),
72
+ repairHint: z.string().trim().max(2000).optional(),
73
+ });
74
+ export const publicPolicyRuleIdSchema = z.enum([
75
+ 'manifest.identity.version',
76
+ 'manifest.component_type.supported',
77
+ 'schema.props.explicit',
78
+ 'runtime.deterministic.remotion',
79
+ 'runtime.no_global_scripts',
80
+ 'security.forbidden.browser_apis',
81
+ 'security.no_raw_remote_url_import',
82
+ 'layout.root_fills_parent',
83
+ 'layout.no_fixed_root_canvas',
84
+ 'package.no_parent_imports',
85
+ 'package.no_path_traversal',
86
+ 'evidence.schema_source_hash_present',
87
+ ]);
88
+ export const layoutAdaptivitySchema = z.enum(['responsive', 'scales_down', 'reflows', 'clips', 'fixed']);
89
+ export const slotRecommendationSchema = z.enum([
90
+ 'full_screen',
91
+ 'half_screen',
92
+ 'card',
93
+ 'badge',
94
+ 'text_line',
95
+ 'transition_slot',
96
+ ]);
97
+ export const layoutCapabilitySchema = z.object({
98
+ contractVersion: z.literal(LAYOUT_CAPABILITY_VERSION).default(LAYOUT_CAPABILITY_VERSION),
99
+ recommendedSlot: slotRecommendationSchema,
100
+ minReadableSize: z.object({
101
+ width: z.number().int().positive(),
102
+ height: z.number().int().positive(),
103
+ }),
104
+ supportedAspectRatios: z.array(z.enum(['16:9', '9:16', '1:1', '4:5', 'auto'])).min(1).max(8),
105
+ layoutAdaptivity: layoutAdaptivitySchema,
106
+ overflowPolicy: z.enum(['fit', 'scroll_forbidden', 'clip_with_warning', 'unknown']).default('unknown'),
107
+ safeAreaPolicy: z.enum(['required', 'recommended', 'none']).default('recommended'),
108
+ confidence: z.number().min(0).max(1).default(0),
109
+ lastVerifiedAt: z.string().datetime().optional(),
110
+ diagnostics: z.array(componentDiagnosticSchema).default([]),
111
+ });
112
+ export const componentManifestAuthorSchema = z.object({
113
+ id: nonEmptyStringSchema.max(128),
114
+ name: nonEmptyStringSchema.max(128),
115
+ });
116
+ export const componentManifestEntrySchema = z.object({
117
+ sourcePath: relativePathSchema,
118
+ componentExport: nonEmptyStringSchema.max(128).default('default'),
119
+ propsSchemaPath: relativePathSchema,
120
+ sourceHash: sha256Schema,
121
+ schemaHash: sha256Schema,
122
+ bundleHash: sha256Schema.optional(),
123
+ });
124
+ export const componentManifestSchema = z
125
+ .object({
126
+ schemaVersion: z.literal(COMPONENT_MANIFEST_SCHEMA_VERSION),
127
+ standardVersion: z.literal(COMPONENT_STANDARD_VERSION),
128
+ standardSourceHash: sha256Schema.optional(),
129
+ id: componentIdSchema,
130
+ name: componentNameSchema,
131
+ displayName: nonEmptyStringSchema.max(80),
132
+ version: semverSchema,
133
+ componentType: promptFrameComponentTypeSchema.optional(),
134
+ layer: promptFrameManifestLayerSchema.optional(),
135
+ category: promptFrameManifestCategorySchema.optional(),
136
+ trustLevel: z.enum(['trusted_builtin', 'trusted_private', 'trusted_marketplace', 'untrusted_temporary']).optional(),
137
+ author: componentManifestAuthorSchema,
138
+ description: z.string().trim().min(8).max(600),
139
+ tags: z.array(nonEmptyStringSchema.max(40)).min(1).max(16),
140
+ designedDurationRange: z.object({
141
+ min: z.number().int().positive(),
142
+ max: z.number().int().positive(),
143
+ }).refine((value) => value.max >= value.min, 'duration max must be greater than or equal to min'),
144
+ layout: layoutCapabilitySchema.partial().optional(),
145
+ entry: componentManifestEntrySchema,
146
+ dependencies: z.record(z.string()).default({}),
147
+ peerDependencies: z.record(z.string()).default({}),
148
+ assets: z.record(z.unknown()).default({}),
149
+ capabilityHints: z.array(nonEmptyStringSchema.max(80)).max(24).default([]),
150
+ reviewStatus: z.enum(['draft', 'pending_review', 'approved', 'rejected', 'archived']).optional(),
151
+ license: nonEmptyStringSchema.max(80),
152
+ createdAt: z.string().datetime(),
153
+ })
154
+ .strict()
155
+ .superRefine((manifest, ctx) => {
156
+ if (!manifest.componentType && !manifest.layer) {
157
+ ctx.addIssue({
158
+ code: z.ZodIssueCode.custom,
159
+ path: ['componentType'],
160
+ message: 'componentType or platform layer is required',
161
+ });
162
+ }
163
+ if (manifest.layer && !manifest.category) {
164
+ ctx.addIssue({
165
+ code: z.ZodIssueCode.custom,
166
+ path: ['category'],
167
+ message: 'category is required when layer is present',
168
+ });
169
+ }
170
+ });
171
+ export const componentCapabilityCardSchema = z.object({
172
+ contractVersion: z.literal(CAPABILITY_CARD_VERSION).default(CAPABILITY_CARD_VERSION),
173
+ componentRef: componentRefSchema,
174
+ componentType: promptFrameComponentTypeSchema,
175
+ displayName: nonEmptyStringSchema.max(80),
176
+ summary: nonEmptyStringSchema.max(500),
177
+ layoutCapability: layoutCapabilitySchema,
178
+ policyRuleIds: z.array(publicPolicyRuleIdSchema).default([]),
179
+ diagnostics: z.array(componentDiagnosticSchema).default([]),
180
+ });
181
+ export function parseComponentManifest(input) {
182
+ return componentManifestSchema.parse(input);
183
+ }
184
+ export function parseComponentRef(input) {
185
+ return componentRefSchema.parse(input);
186
+ }
2
187
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yCAAyC,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptframe/contracts",
3
- "version": "0.0.0",
3
+ "version": "0.1.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -39,7 +39,9 @@
39
39
  "test": "node -e \"console.log('placeholder test: @promptframe/contracts')\"",
40
40
  "clean": "rm -rf dist"
41
41
  },
42
- "dependencies": {},
42
+ "dependencies": {
43
+ "zod": "^3.24.0"
44
+ },
43
45
  "devDependencies": {
44
46
  "typescript": "~5.7.0"
45
47
  }