@promptframe/contracts 0.1.7 → 0.1.9

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/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export { COMPONENT_SECURITY_POLICY_DIGEST_VERSION, canonicalizePromptFramePolicy, createPromptFramePublicSecurityPolicyDigest, } from './security-policy-fingerprint.js';
2
3
  export declare const PROMPTFRAME_CONTRACTS_VERSION: "promptframe-contracts.v0.1.0";
3
4
  export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: "component-manifest.v0.1.0";
4
5
  export declare const COMPONENT_STANDARD_VERSION: "component-standard.v0.1.0";
@@ -11,6 +12,7 @@ export declare const COMPONENT_SECURITY_POLICY_VERSION: "component-security-poli
11
12
  export declare const PROMPTFRAME_STYLE_CONTRACT_VERSION: "promptframe-style.v0.1.0";
12
13
  export declare const AUTHORING_STANDARD_RELEASE_VERSION: "authoring-standard-release.v0.1.0";
13
14
  export declare const COMPONENT_REUSABILITY_CONTRACT_VERSION: "component-reusability.v0.1.0";
15
+ export declare const COMPONENT_DEPENDENCY_POLICY_VERSION: "component-dependency-policy.v0.1.0";
14
16
  export declare const PROMPTFRAME_PUBLIC_STANDARD_POLICY: {
15
17
  readonly policyVersion: "component-standard-policy.v0.1.0";
16
18
  readonly sourceVersion: "component-standard.v0.1.0";
@@ -74,6 +76,9 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
74
76
  readonly id: "code.eval";
75
77
  readonly label: "Dynamic code execution";
76
78
  readonly patterns: readonly ["\\beval\\s*\\("];
79
+ readonly astMatchers: {
80
+ readonly globals: readonly ["eval"];
81
+ };
77
82
  readonly action: "reject";
78
83
  readonly category: "dynamic_code_execution";
79
84
  readonly severity: "high";
@@ -83,6 +88,9 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
83
88
  readonly id: "code.new_function";
84
89
  readonly label: "new Function dynamic execution";
85
90
  readonly patterns: readonly ["\\bnew\\s+Function\\s*\\("];
91
+ readonly astMatchers: {
92
+ readonly globals: readonly ["Function"];
93
+ };
86
94
  readonly action: "reject";
87
95
  readonly category: "dynamic_code_execution";
88
96
  readonly severity: "high";
@@ -92,25 +100,183 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
92
100
  readonly id: "code.string_timer";
93
101
  readonly label: "String timer execution";
94
102
  readonly patterns: readonly ["\\bset(?:Timeout|Interval)\\s*\\(\\s*['\"`]"];
103
+ readonly astMatchers: {
104
+ readonly stringTimer: true;
105
+ };
95
106
  readonly action: "reject";
96
107
  readonly category: "dynamic_code_execution";
97
108
  readonly severity: "high";
98
109
  readonly reason: "String timers are equivalent to dynamic code execution.";
99
110
  readonly recommendation: "Do not pass strings to setTimeout or setInterval.";
111
+ }, {
112
+ readonly id: "code.dynamic_import";
113
+ readonly label: "Dynamic import loading";
114
+ readonly patterns: readonly ["\\bimport\\s*\\("];
115
+ readonly astMatchers: {
116
+ readonly dynamicImport: true;
117
+ };
118
+ readonly action: "reject";
119
+ readonly category: "dynamic_code_execution";
120
+ readonly severity: "high";
121
+ readonly reason: "Third-party components cannot dynamically load code at preview or render time.";
122
+ readonly recommendation: "Use static imports that are visible to the authoring build and security checks.";
123
+ readonly docsPath: "/docs/component-authoring/security#code-dynamic-import";
100
124
  }, {
101
125
  readonly id: "host.fs_process_env";
102
126
  readonly label: "Host filesystem, process, or env access";
103
127
  readonly patterns: readonly ["\\b(node:fs|fs\\/promises|child_process|process\\.env|Bun\\.|Deno\\.)\\b"];
128
+ readonly astMatchers: {
129
+ readonly globals: readonly ["Bun", "Deno"];
130
+ readonly memberPaths: readonly ["process.env", "Bun", "Deno"];
131
+ };
104
132
  readonly action: "reject";
105
133
  readonly category: "filesystem_process_env_access";
106
134
  readonly severity: "critical";
107
135
  readonly reason: "Components must not read host files, spawn processes, or access environment variables.";
108
136
  readonly recommendation: "Use only platform-provided props and trusted artifacts.";
137
+ }, {
138
+ readonly id: "browser.broadcast_channel";
139
+ readonly label: "BroadcastChannel cross-context messaging";
140
+ readonly patterns: readonly ["\\bnew\\s+BroadcastChannel\\b|\\bBroadcastChannel\\s*\\("];
141
+ readonly astMatchers: {
142
+ readonly globals: readonly ["BroadcastChannel"];
143
+ readonly memberPaths: readonly ["window.BroadcastChannel", "globalThis.BroadcastChannel"];
144
+ };
145
+ readonly action: "reject";
146
+ readonly category: "browser_capability";
147
+ readonly severity: "high";
148
+ readonly reason: "Third-party components cannot open cross-tab or cross-context messaging channels.";
149
+ readonly recommendation: "Remove BroadcastChannel. Use explicit component props or platform-provided data instead.";
150
+ readonly docsPath: "/docs/component-authoring/security#browser-broadcast-channel";
151
+ }, {
152
+ readonly id: "browser.webrtc";
153
+ readonly label: "WebRTC / RTCPeerConnection access";
154
+ readonly patterns: readonly ["\\bnew\\s+RTCPeerConnection\\b|\\bRTCPeerConnection\\s*\\(|navigator\\.mediaDevices\\.getUserMedia\\s*\\("];
155
+ readonly astMatchers: {
156
+ readonly globals: readonly ["RTCPeerConnection"];
157
+ readonly memberPaths: readonly ["navigator.mediaDevices.getUserMedia"];
158
+ };
159
+ readonly action: "reject";
160
+ readonly category: "browser_capability";
161
+ readonly severity: "high";
162
+ readonly reason: "Third-party components cannot open peer connections or capture local media devices.";
163
+ readonly recommendation: "Remove WebRTC and media device access. Use platform-provided assets or props.";
164
+ readonly docsPath: "/docs/component-authoring/security#browser-webrtc";
165
+ }, {
166
+ readonly id: "browser.notification";
167
+ readonly label: "Notification permission or display";
168
+ readonly patterns: readonly ["\\bnew\\s+Notification\\b|\\bNotification\\s*\\(|Notification\\.requestPermission\\s*\\("];
169
+ readonly astMatchers: {
170
+ readonly globals: readonly ["Notification"];
171
+ readonly memberPaths: readonly ["Notification.requestPermission", "window.Notification", "globalThis.Notification"];
172
+ };
173
+ readonly action: "reject";
174
+ readonly category: "browser_capability";
175
+ readonly severity: "high";
176
+ readonly reason: "Third-party components cannot request browser notification permissions or show notifications.";
177
+ readonly recommendation: "Remove Notification usage and express state inside the rendered component.";
178
+ readonly docsPath: "/docs/component-authoring/security#browser-notification";
179
+ }, {
180
+ readonly id: "browser.service_worker";
181
+ readonly label: "Service Worker registration";
182
+ readonly patterns: readonly ["navigator\\.serviceWorker\\b|\\bServiceWorker(?:Registration|Container)?\\b"];
183
+ readonly astMatchers: {
184
+ readonly memberPaths: readonly ["navigator.serviceWorker"];
185
+ };
186
+ readonly action: "reject";
187
+ readonly category: "browser_capability";
188
+ readonly severity: "high";
189
+ readonly reason: "Third-party components cannot register or control Service Worker lifecycle.";
190
+ readonly recommendation: "Remove Service Worker usage. Component code must stay inside the platform render boundary.";
191
+ readonly docsPath: "/docs/component-authoring/security#browser-service-worker";
192
+ }, {
193
+ readonly id: "browser.clipboard";
194
+ readonly label: "Clipboard access";
195
+ readonly patterns: readonly ["navigator\\.clipboard\\b|document\\.execCommand\\s*\\(\\s*['\"`](?:copy|cut|paste)['\"`]"];
196
+ readonly astMatchers: {
197
+ readonly memberPaths: readonly ["navigator.clipboard", "document.execCommand"];
198
+ };
199
+ readonly action: "reject";
200
+ readonly category: "browser_capability";
201
+ readonly severity: "high";
202
+ readonly reason: "Third-party components cannot read from or write to the user clipboard.";
203
+ readonly recommendation: "Remove clipboard calls and use explicit props or platform actions outside the component.";
204
+ readonly docsPath: "/docs/component-authoring/security#browser-clipboard";
205
+ }, {
206
+ readonly id: "browser.navigator_locks";
207
+ readonly label: "Navigator locks API";
208
+ readonly patterns: readonly ["navigator\\.locks\\b"];
209
+ readonly astMatchers: {
210
+ readonly memberPaths: readonly ["navigator.locks"];
211
+ };
212
+ readonly action: "reject";
213
+ readonly category: "browser_capability";
214
+ readonly severity: "high";
215
+ readonly reason: "Third-party components cannot acquire browser-level execution locks.";
216
+ readonly recommendation: "Remove navigator.locks usage and keep component logic frame-driven and deterministic.";
217
+ readonly docsPath: "/docs/component-authoring/security#browser-navigator-locks";
218
+ }, {
219
+ readonly id: "browser.audio_context";
220
+ readonly label: "AudioContext / AudioWorklet access";
221
+ readonly patterns: readonly ["\\bnew\\s+(?:AudioContext|webkitAudioContext)\\b|\\b(?:AudioContext|webkitAudioContext)\\s*\\(|\\bAudioWorklet\\b|\\.audioWorklet\\b"];
222
+ readonly astMatchers: {
223
+ readonly globals: readonly ["AudioContext", "webkitAudioContext", "AudioWorklet"];
224
+ readonly memberPaths: readonly ["window.AudioContext", "window.webkitAudioContext", "globalThis.AudioContext", "globalThis.webkitAudioContext"];
225
+ };
226
+ readonly action: "reject";
227
+ readonly category: "browser_capability";
228
+ readonly severity: "high";
229
+ readonly reason: "Third-party components cannot create browser audio processing contexts or AudioWorklet code.";
230
+ readonly recommendation: "Use platform-provided audio assets and frame-driven visualizers instead.";
231
+ readonly docsPath: "/docs/component-authoring/security#browser-audio-context";
232
+ }, {
233
+ readonly id: "browser.css_register_property";
234
+ readonly label: "CSS.registerProperty / CSS Houdini access";
235
+ readonly patterns: readonly ["CSS\\.registerProperty\\s*\\("];
236
+ readonly astMatchers: {
237
+ readonly memberPaths: readonly ["CSS.registerProperty"];
238
+ };
239
+ readonly action: "reject";
240
+ readonly category: "browser_capability";
241
+ readonly severity: "high";
242
+ readonly reason: "Third-party components cannot register global CSS Houdini properties.";
243
+ readonly recommendation: "Use component-local style props and ordinary frame-driven React styles.";
244
+ readonly docsPath: "/docs/component-authoring/security#browser-css-register-property";
245
+ }, {
246
+ readonly id: "browser.observer_abuse";
247
+ readonly label: "DOM Observer capability";
248
+ readonly patterns: readonly ["\\bnew\\s+(?:MutationObserver|ResizeObserver|IntersectionObserver)\\b|\\b(?:MutationObserver|ResizeObserver|IntersectionObserver)\\s*\\("];
249
+ readonly astMatchers: {
250
+ readonly globals: readonly ["MutationObserver", "ResizeObserver", "IntersectionObserver"];
251
+ };
252
+ readonly action: "reject";
253
+ readonly category: "browser_capability";
254
+ readonly severity: "high";
255
+ readonly reason: "Third-party components cannot observe host DOM or runtime boundaries.";
256
+ readonly recommendation: "Use explicit props, layout inputs, and deterministic frame data instead of Observer APIs.";
257
+ readonly docsPath: "/docs/component-authoring/security#browser-observer-abuse";
258
+ }, {
259
+ readonly id: "remotion.delay_render";
260
+ readonly label: "Remotion delayRender lifecycle control";
261
+ readonly patterns: readonly ["\\bdelayRender\\s*\\("];
262
+ readonly astMatchers: {
263
+ readonly globals: readonly ["delayRender"];
264
+ };
265
+ readonly action: "reject";
266
+ readonly category: "remotion_lifecycle";
267
+ readonly severity: "high";
268
+ readonly reason: "Third-party components cannot delay platform preview or render lifecycle from component code.";
269
+ readonly recommendation: "Resolve assets before rendering and pass ready data through component props.";
270
+ readonly docsPath: "/docs/component-authoring/security#remotion-delay-render";
109
271
  }];
110
272
  readonly mediatedApis: readonly [{
111
273
  readonly id: "network.raw_fetch";
112
274
  readonly label: "Raw network access";
113
275
  readonly rawApis: readonly ["fetch", "XMLHttpRequest", "WebSocket", "EventSource", "navigator.sendBeacon"];
276
+ readonly astMatchers: {
277
+ readonly globals: readonly ["fetch", "XMLHttpRequest", "WebSocket", "EventSource"];
278
+ readonly memberPaths: readonly ["navigator.sendBeacon", "window.fetch", "globalThis.fetch"];
279
+ };
114
280
  readonly defaultAction: "manual_review";
115
281
  readonly category: "network_exfiltration";
116
282
  readonly severity: "high";
@@ -191,6 +357,53 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
191
357
  readonly recommendation: "Do not hardcode remote URLs in component source.";
192
358
  }];
193
359
  };
360
+ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST: `component-security-policy-digest.v0.1:${string}`;
361
+ export declare const PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY: {
362
+ readonly policyVersion: "component-dependency-policy.v0.1.0";
363
+ readonly lanes: readonly ["platform_core", "reviewed_visual", "requested_dependency", "native_or_scripted", "unknown_unlocked"];
364
+ readonly catalog: {
365
+ readonly platformCore: readonly ["@promptframe/cli", "@promptframe/component-kit", "@promptframe/contracts", "react", "react-dom", "remotion", "zod"];
366
+ readonly reviewedVisual: readonly ["lucide-react", "three"];
367
+ };
368
+ readonly forbiddenLifecycleScripts: readonly ["preinstall", "install", "postinstall", "prepare"];
369
+ readonly nativeOrPrebuildPackageSignals: readonly ["node-gyp", "node-pre-gyp", "prebuild", "prebuild-install", "node-addon-api", "nan"];
370
+ readonly forbiddenVersionSpecifiers: readonly ["latest", "*", "workspace:", "file:", "link:", "git+", "http:", "https:"];
371
+ readonly sandboxInstall: {
372
+ readonly required: true;
373
+ readonly requiredFlags: readonly ["--ignore-scripts", "--frozen-lockfile"];
374
+ readonly runInMainService: false;
375
+ };
376
+ };
377
+ export type PromptFrameDependencyLane = 'platform_core' | 'reviewed_visual' | 'requested_dependency' | 'native_or_scripted' | 'unknown_unlocked';
378
+ export type PromptFrameDependencyPolicyStatus = 'allow' | 'manual_review' | 'reject';
379
+ export interface EvaluatePromptFrameDependencyPolicyInput {
380
+ packageJson: unknown;
381
+ lockfilePresent: boolean;
382
+ catalog?: {
383
+ platformCore: readonly string[];
384
+ reviewedVisual: readonly string[];
385
+ };
386
+ }
387
+ export interface PromptFrameDependencyPolicyReceipt {
388
+ policyVersion: typeof COMPONENT_DEPENDENCY_POLICY_VERSION;
389
+ status: PromptFrameDependencyPolicyStatus;
390
+ lane: PromptFrameDependencyLane;
391
+ quarantine: boolean;
392
+ publicSearchableAllowed: boolean;
393
+ dependencies: Array<{
394
+ name: string;
395
+ version: string;
396
+ dependencySet: string;
397
+ lane: PromptFrameDependencyLane;
398
+ }>;
399
+ sandboxInstall: {
400
+ required: true;
401
+ requiredFlags: ['--ignore-scripts', '--frozen-lockfile'];
402
+ runInMainService: false;
403
+ };
404
+ diagnostics: ComponentDiagnostic[];
405
+ }
406
+ export declare function evaluatePromptFrameDependencyPolicy(input: EvaluatePromptFrameDependencyPolicyInput): PromptFrameDependencyPolicyReceipt;
194
407
  export declare const sha256Schema: z.ZodString;
195
408
  export declare const nonEmptyStringSchema: z.ZodString;
196
409
  export declare const semverSchema: z.ZodString;
@@ -336,17 +549,17 @@ export declare const componentReusabilitySignalSchema: z.ZodObject<{
336
549
  severity: z.ZodDefault<z.ZodEnum<["info", "warning", "error"]>>;
337
550
  reason: z.ZodString;
338
551
  }, "strict", z.ZodTypeAny, {
552
+ severity: "error" | "info" | "warning";
339
553
  id: "propsRichness" | "hardcodedContentRisk" | "dataShapeRichness" | "styleConfigurability" | "domainNeutrality" | "emptyStateSupport" | "previewCaseCoverage" | "sourceFactsReuse";
340
554
  score: number;
341
555
  weight: number;
342
- severity: "error" | "warning" | "info";
343
556
  reason: string;
344
557
  }, {
345
558
  id: "propsRichness" | "hardcodedContentRisk" | "dataShapeRichness" | "styleConfigurability" | "domainNeutrality" | "emptyStateSupport" | "previewCaseCoverage" | "sourceFactsReuse";
346
559
  score: number;
347
560
  weight: number;
348
561
  reason: string;
349
- severity?: "error" | "warning" | "info" | undefined;
562
+ severity?: "error" | "info" | "warning" | undefined;
350
563
  }>;
351
564
  export type ComponentReusabilitySignal = z.infer<typeof componentReusabilitySignalSchema>;
352
565
  export declare const componentReusabilityScoreSchema: z.ZodObject<{
@@ -362,17 +575,17 @@ export declare const componentReusabilityScoreSchema: z.ZodObject<{
362
575
  severity: z.ZodDefault<z.ZodEnum<["info", "warning", "error"]>>;
363
576
  reason: z.ZodString;
364
577
  }, "strict", z.ZodTypeAny, {
578
+ severity: "error" | "info" | "warning";
365
579
  id: "propsRichness" | "hardcodedContentRisk" | "dataShapeRichness" | "styleConfigurability" | "domainNeutrality" | "emptyStateSupport" | "previewCaseCoverage" | "sourceFactsReuse";
366
580
  score: number;
367
581
  weight: number;
368
- severity: "error" | "warning" | "info";
369
582
  reason: string;
370
583
  }, {
371
584
  id: "propsRichness" | "hardcodedContentRisk" | "dataShapeRichness" | "styleConfigurability" | "domainNeutrality" | "emptyStateSupport" | "previewCaseCoverage" | "sourceFactsReuse";
372
585
  score: number;
373
586
  weight: number;
374
587
  reason: string;
375
- severity?: "error" | "warning" | "info" | undefined;
588
+ severity?: "error" | "info" | "warning" | undefined;
376
589
  }>, "many">;
377
590
  generatedAt: z.ZodString;
378
591
  }, "strict", z.ZodTypeAny, {
@@ -382,10 +595,10 @@ export declare const componentReusabilityScoreSchema: z.ZodObject<{
382
595
  targetVisibility: "project_private" | "public" | "user_private" | "team_private";
383
596
  recommendation: "reject" | "manual_review" | "warn" | "allow";
384
597
  signals: {
598
+ severity: "error" | "info" | "warning";
385
599
  id: "propsRichness" | "hardcodedContentRisk" | "dataShapeRichness" | "styleConfigurability" | "domainNeutrality" | "emptyStateSupport" | "previewCaseCoverage" | "sourceFactsReuse";
386
600
  score: number;
387
601
  weight: number;
388
- severity: "error" | "warning" | "info";
389
602
  reason: string;
390
603
  }[];
391
604
  generatedAt: string;
@@ -399,7 +612,7 @@ export declare const componentReusabilityScoreSchema: z.ZodObject<{
399
612
  score: number;
400
613
  weight: number;
401
614
  reason: string;
402
- severity?: "error" | "warning" | "info" | undefined;
615
+ severity?: "error" | "info" | "warning" | undefined;
403
616
  }[];
404
617
  generatedAt: string;
405
618
  contractVersion?: "component-reusability.v0.1.0" | undefined;
@@ -514,12 +727,12 @@ export declare const authoringFreshnessDiagnosticSchema: z.ZodObject<{
514
727
  message: z.ZodString;
515
728
  }, "strict", z.ZodTypeAny, {
516
729
  code: string;
730
+ severity: "error" | "info" | "warning";
517
731
  message: string;
518
- severity: "error" | "warning" | "info";
519
732
  }, {
520
733
  code: string;
734
+ severity: "error" | "info" | "warning";
521
735
  message: string;
522
- severity: "error" | "warning" | "info";
523
736
  }>;
524
737
  export type AuthoringFreshnessDiagnostic = z.infer<typeof authoringFreshnessDiagnosticSchema>;
525
738
  export declare const authoringStandardFreshnessDecisionSchema: z.ZodObject<{
@@ -551,12 +764,12 @@ export declare const authoringStandardFreshnessDecisionSchema: z.ZodObject<{
551
764
  message: z.ZodString;
552
765
  }, "strict", z.ZodTypeAny, {
553
766
  code: string;
767
+ severity: "error" | "info" | "warning";
554
768
  message: string;
555
- severity: "error" | "warning" | "info";
556
769
  }, {
557
770
  code: string;
771
+ severity: "error" | "info" | "warning";
558
772
  message: string;
559
- severity: "error" | "warning" | "info";
560
773
  }>;
561
774
  retryable: z.ZodDefault<z.ZodBoolean>;
562
775
  }, "strict", z.ZodTypeAny, {
@@ -572,8 +785,8 @@ export declare const authoringStandardFreshnessDecisionSchema: z.ZodObject<{
572
785
  currentStandardSourceHash: string;
573
786
  diagnostic: {
574
787
  code: string;
788
+ severity: "error" | "info" | "warning";
575
789
  message: string;
576
- severity: "error" | "warning" | "info";
577
790
  };
578
791
  retryable: boolean;
579
792
  localStandardVersion?: string | undefined;
@@ -591,8 +804,8 @@ export declare const authoringStandardFreshnessDecisionSchema: z.ZodObject<{
591
804
  currentStandardSourceHash: string;
592
805
  diagnostic: {
593
806
  code: string;
807
+ severity: "error" | "info" | "warning";
594
808
  message: string;
595
- severity: "error" | "warning" | "info";
596
809
  };
597
810
  localStandardVersion?: string | undefined;
598
811
  localStandardSourceHash?: string | undefined;
@@ -634,15 +847,15 @@ export declare const componentDiagnosticSchema: z.ZodObject<{
634
847
  repairHint: z.ZodOptional<z.ZodString>;
635
848
  }, "strip", z.ZodTypeAny, {
636
849
  code: string;
850
+ severity: "error" | "info" | "warning";
637
851
  message: string;
638
- severity: "error" | "warning" | "info";
639
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
852
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
640
853
  repairHint?: string | undefined;
641
854
  }, {
642
855
  code: string;
856
+ severity: "error" | "info" | "warning";
643
857
  message: string;
644
- severity: "error" | "warning" | "info";
645
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
858
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
646
859
  repairHint?: string | undefined;
647
860
  }>;
648
861
  export type ComponentDiagnostic = z.infer<typeof componentDiagnosticSchema>;
@@ -679,15 +892,15 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
679
892
  repairHint: z.ZodOptional<z.ZodString>;
680
893
  }, "strip", z.ZodTypeAny, {
681
894
  code: string;
895
+ severity: "error" | "info" | "warning";
682
896
  message: string;
683
- severity: "error" | "warning" | "info";
684
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
897
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
685
898
  repairHint?: string | undefined;
686
899
  }, {
687
900
  code: string;
901
+ severity: "error" | "info" | "warning";
688
902
  message: string;
689
- severity: "error" | "warning" | "info";
690
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
903
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
691
904
  repairHint?: string | undefined;
692
905
  }>, "many">>;
693
906
  }, "strip", z.ZodTypeAny, {
@@ -704,9 +917,9 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
704
917
  confidence: number;
705
918
  diagnostics: {
706
919
  code: string;
920
+ severity: "error" | "info" | "warning";
707
921
  message: string;
708
- severity: "error" | "warning" | "info";
709
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
922
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
710
923
  repairHint?: string | undefined;
711
924
  }[];
712
925
  lastVerifiedAt?: string | undefined;
@@ -725,9 +938,9 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
725
938
  lastVerifiedAt?: string | undefined;
726
939
  diagnostics?: {
727
940
  code: string;
941
+ severity: "error" | "info" | "warning";
728
942
  message: string;
729
- severity: "error" | "warning" | "info";
730
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
943
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
731
944
  repairHint?: string | undefined;
732
945
  }[] | undefined;
733
946
  }>;
@@ -831,15 +1044,15 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
831
1044
  repairHint: z.ZodOptional<z.ZodString>;
832
1045
  }, "strip", z.ZodTypeAny, {
833
1046
  code: string;
1047
+ severity: "error" | "info" | "warning";
834
1048
  message: string;
835
- severity: "error" | "warning" | "info";
836
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1049
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
837
1050
  repairHint?: string | undefined;
838
1051
  }, {
839
1052
  code: string;
1053
+ severity: "error" | "info" | "warning";
840
1054
  message: string;
841
- severity: "error" | "warning" | "info";
842
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1055
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
843
1056
  repairHint?: string | undefined;
844
1057
  }>, "many">>>;
845
1058
  }, "strip", z.ZodTypeAny, {
@@ -857,9 +1070,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
857
1070
  lastVerifiedAt?: string | undefined;
858
1071
  diagnostics?: {
859
1072
  code: string;
1073
+ severity: "error" | "info" | "warning";
860
1074
  message: string;
861
- severity: "error" | "warning" | "info";
862
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1075
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
863
1076
  repairHint?: string | undefined;
864
1077
  }[] | undefined;
865
1078
  }, {
@@ -877,9 +1090,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
877
1090
  lastVerifiedAt?: string | undefined;
878
1091
  diagnostics?: {
879
1092
  code: string;
1093
+ severity: "error" | "info" | "warning";
880
1094
  message: string;
881
- severity: "error" | "warning" | "info";
882
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1095
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
883
1096
  repairHint?: string | undefined;
884
1097
  }[] | undefined;
885
1098
  }>>;
@@ -958,9 +1171,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
958
1171
  lastVerifiedAt?: string | undefined;
959
1172
  diagnostics?: {
960
1173
  code: string;
1174
+ severity: "error" | "info" | "warning";
961
1175
  message: string;
962
- severity: "error" | "warning" | "info";
963
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1176
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
964
1177
  repairHint?: string | undefined;
965
1178
  }[] | undefined;
966
1179
  } | undefined;
@@ -1012,9 +1225,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
1012
1225
  lastVerifiedAt?: string | undefined;
1013
1226
  diagnostics?: {
1014
1227
  code: string;
1228
+ severity: "error" | "info" | "warning";
1015
1229
  message: string;
1016
- severity: "error" | "warning" | "info";
1017
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1230
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1018
1231
  repairHint?: string | undefined;
1019
1232
  }[] | undefined;
1020
1233
  } | undefined;
@@ -1074,9 +1287,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
1074
1287
  lastVerifiedAt?: string | undefined;
1075
1288
  diagnostics?: {
1076
1289
  code: string;
1290
+ severity: "error" | "info" | "warning";
1077
1291
  message: string;
1078
- severity: "error" | "warning" | "info";
1079
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1292
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1080
1293
  repairHint?: string | undefined;
1081
1294
  }[] | undefined;
1082
1295
  } | undefined;
@@ -1128,9 +1341,9 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
1128
1341
  lastVerifiedAt?: string | undefined;
1129
1342
  diagnostics?: {
1130
1343
  code: string;
1344
+ severity: "error" | "info" | "warning";
1131
1345
  message: string;
1132
- severity: "error" | "warning" | "info";
1133
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1346
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1134
1347
  repairHint?: string | undefined;
1135
1348
  }[] | undefined;
1136
1349
  } | undefined;
@@ -1203,15 +1416,15 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1203
1416
  repairHint: z.ZodOptional<z.ZodString>;
1204
1417
  }, "strip", z.ZodTypeAny, {
1205
1418
  code: string;
1419
+ severity: "error" | "info" | "warning";
1206
1420
  message: string;
1207
- severity: "error" | "warning" | "info";
1208
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1421
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1209
1422
  repairHint?: string | undefined;
1210
1423
  }, {
1211
1424
  code: string;
1425
+ severity: "error" | "info" | "warning";
1212
1426
  message: string;
1213
- severity: "error" | "warning" | "info";
1214
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1427
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1215
1428
  repairHint?: string | undefined;
1216
1429
  }>, "many">>;
1217
1430
  }, "strip", z.ZodTypeAny, {
@@ -1228,9 +1441,9 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1228
1441
  confidence: number;
1229
1442
  diagnostics: {
1230
1443
  code: string;
1444
+ severity: "error" | "info" | "warning";
1231
1445
  message: string;
1232
- severity: "error" | "warning" | "info";
1233
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1446
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1234
1447
  repairHint?: string | undefined;
1235
1448
  }[];
1236
1449
  lastVerifiedAt?: string | undefined;
@@ -1249,9 +1462,9 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1249
1462
  lastVerifiedAt?: string | undefined;
1250
1463
  diagnostics?: {
1251
1464
  code: string;
1465
+ severity: "error" | "info" | "warning";
1252
1466
  message: string;
1253
- severity: "error" | "warning" | "info";
1254
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1467
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1255
1468
  repairHint?: string | undefined;
1256
1469
  }[] | undefined;
1257
1470
  }>;
@@ -1264,24 +1477,24 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1264
1477
  repairHint: z.ZodOptional<z.ZodString>;
1265
1478
  }, "strip", z.ZodTypeAny, {
1266
1479
  code: string;
1480
+ severity: "error" | "info" | "warning";
1267
1481
  message: string;
1268
- severity: "error" | "warning" | "info";
1269
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1482
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1270
1483
  repairHint?: string | undefined;
1271
1484
  }, {
1272
1485
  code: string;
1486
+ severity: "error" | "info" | "warning";
1273
1487
  message: string;
1274
- severity: "error" | "warning" | "info";
1275
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1488
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1276
1489
  repairHint?: string | undefined;
1277
1490
  }>, "many">>;
1278
1491
  }, "strip", z.ZodTypeAny, {
1279
1492
  contractVersion: "component-capability-card.v0.1.0";
1280
1493
  diagnostics: {
1281
1494
  code: string;
1495
+ severity: "error" | "info" | "warning";
1282
1496
  message: string;
1283
- severity: "error" | "warning" | "info";
1284
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1497
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1285
1498
  repairHint?: string | undefined;
1286
1499
  }[];
1287
1500
  displayName: string;
@@ -1310,9 +1523,9 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1310
1523
  confidence: number;
1311
1524
  diagnostics: {
1312
1525
  code: string;
1526
+ severity: "error" | "info" | "warning";
1313
1527
  message: string;
1314
- severity: "error" | "warning" | "info";
1315
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1528
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1316
1529
  repairHint?: string | undefined;
1317
1530
  }[];
1318
1531
  lastVerifiedAt?: string | undefined;
@@ -1346,18 +1559,18 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
1346
1559
  lastVerifiedAt?: string | undefined;
1347
1560
  diagnostics?: {
1348
1561
  code: string;
1562
+ severity: "error" | "info" | "warning";
1349
1563
  message: string;
1350
- severity: "error" | "warning" | "info";
1351
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1564
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1352
1565
  repairHint?: string | undefined;
1353
1566
  }[] | undefined;
1354
1567
  };
1355
1568
  contractVersion?: "component-capability-card.v0.1.0" | undefined;
1356
1569
  diagnostics?: {
1357
1570
  code: string;
1571
+ severity: "error" | "info" | "warning";
1358
1572
  message: string;
1359
- severity: "error" | "warning" | "info";
1360
- stage: "build" | "schema" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "policy" | "preview" | "probe" | "publish";
1573
+ stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
1361
1574
  repairHint?: string | undefined;
1362
1575
  }[] | undefined;
1363
1576
  policyRuleIds?: ("component.style.unknown_custom_style_prop" | "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;