@promptframe/contracts 0.1.1 → 0.1.3
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 +2 -2
- package/dist/index.d.ts +231 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +219 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# @promptframe/contracts
|
|
2
2
|
|
|
3
|
-
Public contracts for PromptFrame component manifests, component references, diagnostics
|
|
3
|
+
Public contracts for PromptFrame component manifests, component references, diagnostics, layout capability cards, and public authoring policy metadata.
|
|
4
4
|
|
|
5
|
-
This package is intentionally small and safe to consume from authoring tools, templates and platform integration code.
|
|
5
|
+
This package is intentionally small and safe to consume from authoring tools, templates, and platform integration code. It exports the public standard/security policy IDs used by `@promptframe/cli` so automation can rely on stable diagnostics without reading platform-internal docs.
|
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,192 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const PROMPTFRAME_CONTRACTS_VERSION: "promptframe-contracts.v0.1.0";
|
|
3
3
|
export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: "component-manifest.v0.1.0";
|
|
4
4
|
export declare const COMPONENT_STANDARD_VERSION: "component-standard.v0.1.0";
|
|
5
|
+
export declare const COMPONENT_STANDARD_SOURCE_HASH: "sha256:8c1e01c36155b4b646981064d24df9bd8cda501fd9cd9da93e5b62f40db22d52";
|
|
5
6
|
export declare const COMPONENT_REF_VERSION: "component-ref.v0.1.0";
|
|
6
7
|
export declare const LAYOUT_CAPABILITY_VERSION: "layout-capability.v0.1.0";
|
|
7
8
|
export declare const CAPABILITY_CARD_VERSION: "component-capability-card.v0.1.0";
|
|
9
|
+
export declare const COMPONENT_STANDARD_POLICY_VERSION: "component-standard-policy.v0.1.0";
|
|
10
|
+
export declare const COMPONENT_SECURITY_POLICY_VERSION: "component-security-policy.v0.1.0";
|
|
11
|
+
export declare const PROMPTFRAME_PUBLIC_STANDARD_POLICY: {
|
|
12
|
+
readonly policyVersion: "component-standard-policy.v0.1.0";
|
|
13
|
+
readonly sourceVersion: "component-standard.v0.1.0";
|
|
14
|
+
readonly sourceHash: "sha256:8c1e01c36155b4b646981064d24df9bd8cda501fd9cd9da93e5b62f40db22d52";
|
|
15
|
+
readonly manifestSchemaVersion: "component-manifest.v0.1.0";
|
|
16
|
+
readonly requiredFiles: readonly ["manifest.json", "package.json", "src/Component.tsx", "src/schema.ts", "src/index.ts", "src/preview-props.json"];
|
|
17
|
+
readonly ignoredPackageDirectories: readonly ["node_modules", "dist", ".git", ".component-packages", ".promptframe"];
|
|
18
|
+
readonly previewLimits: {
|
|
19
|
+
readonly maxDurationFrames: 180;
|
|
20
|
+
readonly maxWidth: 1280;
|
|
21
|
+
readonly maxHeight: 720;
|
|
22
|
+
readonly allowedFps: readonly [30];
|
|
23
|
+
};
|
|
24
|
+
readonly sourceSafetyRules: readonly [{
|
|
25
|
+
readonly id: "component_standard.source.no_math_random";
|
|
26
|
+
readonly stage: "build";
|
|
27
|
+
readonly severity: "error";
|
|
28
|
+
readonly pattern: "Math\\.random\\s*\\(";
|
|
29
|
+
readonly message: "Math.random() is not allowed in PromptFrame components; use Remotion random(seed).";
|
|
30
|
+
readonly repairHint: "Derive random-looking values from props, frame, or a stable seed.";
|
|
31
|
+
}, {
|
|
32
|
+
readonly id: "component_standard.source.no_date_now";
|
|
33
|
+
readonly stage: "build";
|
|
34
|
+
readonly severity: "error";
|
|
35
|
+
readonly pattern: "Date\\.now\\s*\\(";
|
|
36
|
+
readonly message: "Date.now() is not allowed because renders must be deterministic.";
|
|
37
|
+
readonly repairHint: "Use useCurrentFrame(), useVideoConfig(), and props-derived timing.";
|
|
38
|
+
}, {
|
|
39
|
+
readonly id: "component_standard.source.no_native_img";
|
|
40
|
+
readonly stage: "build";
|
|
41
|
+
readonly severity: "error";
|
|
42
|
+
readonly pattern: "<img\\b";
|
|
43
|
+
readonly message: "Native <img> is not allowed; use Remotion <Img>.";
|
|
44
|
+
readonly repairHint: "Import Img from remotion and replace native img tags.";
|
|
45
|
+
}, {
|
|
46
|
+
readonly id: "component_standard.source.no_native_video";
|
|
47
|
+
readonly stage: "build";
|
|
48
|
+
readonly severity: "error";
|
|
49
|
+
readonly pattern: "<video\\b";
|
|
50
|
+
readonly message: "Native <video> is not allowed; use Remotion <Video>.";
|
|
51
|
+
readonly repairHint: "Import Video from remotion and replace native video tags.";
|
|
52
|
+
}, {
|
|
53
|
+
readonly id: "component_standard.source.no_css_transition";
|
|
54
|
+
readonly stage: "build";
|
|
55
|
+
readonly severity: "error";
|
|
56
|
+
readonly pattern: "transition\\s*:";
|
|
57
|
+
readonly message: "CSS transition is not allowed; animation must be frame-driven.";
|
|
58
|
+
readonly repairHint: "Use interpolate(), spring(), or frame-derived styles.";
|
|
59
|
+
}, {
|
|
60
|
+
readonly id: "component_standard.source.no_css_keyframes";
|
|
61
|
+
readonly stage: "build";
|
|
62
|
+
readonly severity: "error";
|
|
63
|
+
readonly pattern: "@keyframes";
|
|
64
|
+
readonly message: "CSS keyframes are not allowed; animation must be frame-driven.";
|
|
65
|
+
readonly repairHint: "Replace keyframes with Remotion frame-driven animation.";
|
|
66
|
+
}];
|
|
67
|
+
};
|
|
68
|
+
export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
|
|
69
|
+
readonly policyVersion: "component-security-policy.v0.1.0";
|
|
70
|
+
readonly forbiddenApis: readonly [{
|
|
71
|
+
readonly id: "code.eval";
|
|
72
|
+
readonly label: "Dynamic code execution";
|
|
73
|
+
readonly patterns: readonly ["\\beval\\s*\\("];
|
|
74
|
+
readonly action: "reject";
|
|
75
|
+
readonly category: "dynamic_code_execution";
|
|
76
|
+
readonly severity: "high";
|
|
77
|
+
readonly reason: "Third-party components cannot execute string code.";
|
|
78
|
+
readonly recommendation: "Remove eval and use deterministic props/frame-driven logic.";
|
|
79
|
+
}, {
|
|
80
|
+
readonly id: "code.new_function";
|
|
81
|
+
readonly label: "new Function dynamic execution";
|
|
82
|
+
readonly patterns: readonly ["\\bnew\\s+Function\\s*\\("];
|
|
83
|
+
readonly action: "reject";
|
|
84
|
+
readonly category: "dynamic_code_execution";
|
|
85
|
+
readonly severity: "high";
|
|
86
|
+
readonly reason: "Third-party components cannot build and run arbitrary code strings.";
|
|
87
|
+
readonly recommendation: "Remove new Function.";
|
|
88
|
+
}, {
|
|
89
|
+
readonly id: "code.string_timer";
|
|
90
|
+
readonly label: "String timer execution";
|
|
91
|
+
readonly patterns: readonly ["\\bset(?:Timeout|Interval)\\s*\\(\\s*['\"`]"];
|
|
92
|
+
readonly action: "reject";
|
|
93
|
+
readonly category: "dynamic_code_execution";
|
|
94
|
+
readonly severity: "high";
|
|
95
|
+
readonly reason: "String timers are equivalent to dynamic code execution.";
|
|
96
|
+
readonly recommendation: "Do not pass strings to setTimeout or setInterval.";
|
|
97
|
+
}, {
|
|
98
|
+
readonly id: "host.fs_process_env";
|
|
99
|
+
readonly label: "Host filesystem, process, or env access";
|
|
100
|
+
readonly patterns: readonly ["\\b(node:fs|fs\\/promises|child_process|process\\.env|Bun\\.|Deno\\.)\\b"];
|
|
101
|
+
readonly action: "reject";
|
|
102
|
+
readonly category: "filesystem_process_env_access";
|
|
103
|
+
readonly severity: "critical";
|
|
104
|
+
readonly reason: "Components must not read host files, spawn processes, or access environment variables.";
|
|
105
|
+
readonly recommendation: "Use only platform-provided props and trusted artifacts.";
|
|
106
|
+
}];
|
|
107
|
+
readonly mediatedApis: readonly [{
|
|
108
|
+
readonly id: "network.raw_fetch";
|
|
109
|
+
readonly label: "Raw network access";
|
|
110
|
+
readonly rawApis: readonly ["fetch", "XMLHttpRequest", "WebSocket", "EventSource", "navigator.sendBeacon"];
|
|
111
|
+
readonly defaultAction: "manual_review";
|
|
112
|
+
readonly category: "network_exfiltration";
|
|
113
|
+
readonly severity: "high";
|
|
114
|
+
readonly reason: "Marketplace components must not self-network; assets should be injected by the platform.";
|
|
115
|
+
readonly recommendation: "Remove raw network access or use an audited platform wrapper with an allowlist.";
|
|
116
|
+
}, {
|
|
117
|
+
readonly id: "network.runtime_fetch_json_unconfigured";
|
|
118
|
+
readonly label: "Unconfigured platform JSON network access";
|
|
119
|
+
readonly rawApis: readonly ["componentRuntime.fetchJson"];
|
|
120
|
+
readonly defaultAction: "manual_review";
|
|
121
|
+
readonly category: "network_exfiltration";
|
|
122
|
+
readonly severity: "high";
|
|
123
|
+
readonly reason: "Platform-mediated network calls still require an explicit allowlist.";
|
|
124
|
+
readonly recommendation: "Configure an allowlist or remove the network dependency.";
|
|
125
|
+
}];
|
|
126
|
+
readonly warningApis: readonly [{
|
|
127
|
+
readonly id: "dom.dangerous_html";
|
|
128
|
+
readonly label: "Dangerous HTML injection";
|
|
129
|
+
readonly patterns: readonly ["dangerouslySetInnerHTML|\\.innerHTML\\s*="];
|
|
130
|
+
readonly action: "manual_review";
|
|
131
|
+
readonly category: "dangerous_html_injection";
|
|
132
|
+
readonly severity: "high";
|
|
133
|
+
readonly reason: "HTML injection can bypass component rendering boundaries.";
|
|
134
|
+
readonly recommendation: "Render React nodes or sanitized text structures.";
|
|
135
|
+
}, {
|
|
136
|
+
readonly id: "package.install_script";
|
|
137
|
+
readonly label: "Install script signal";
|
|
138
|
+
readonly patterns: readonly ["postinstall|preinstall|prepare"];
|
|
139
|
+
readonly action: "manual_review";
|
|
140
|
+
readonly category: "dependency_supply_chain";
|
|
141
|
+
readonly severity: "medium";
|
|
142
|
+
readonly reason: "Third-party component packages should not rely on install scripts.";
|
|
143
|
+
readonly recommendation: "Remove install scripts before upload.";
|
|
144
|
+
}, {
|
|
145
|
+
readonly id: "resource.exhaustion_pattern";
|
|
146
|
+
readonly label: "Resource exhaustion signal";
|
|
147
|
+
readonly patterns: readonly ["while\\s*\\(\\s*true\\s*\\)|for\\s*\\(\\s*;\\s*;\\s*\\)|new\\s+Array\\s*\\(\\s*1\\d{6,}"];
|
|
148
|
+
readonly action: "warn";
|
|
149
|
+
readonly category: "resource_exhaustion";
|
|
150
|
+
readonly severity: "medium";
|
|
151
|
+
readonly reason: "Infinite loops or very large arrays can break preview or render.";
|
|
152
|
+
readonly recommendation: "Bound loops, arrays, canvas operations, and particles.";
|
|
153
|
+
}, {
|
|
154
|
+
readonly id: "tenant.identity_string";
|
|
155
|
+
readonly label: "Tenant or artifact identity signal";
|
|
156
|
+
readonly patterns: readonly ["tenantId|objectKey|sourceArchiveRef|artifactVersion"];
|
|
157
|
+
readonly action: "warn";
|
|
158
|
+
readonly category: "tenant_boundary_bypass";
|
|
159
|
+
readonly severity: "low";
|
|
160
|
+
readonly reason: "Ordinary components should not assemble platform tenant or artifact identifiers.";
|
|
161
|
+
readonly recommendation: "Remove platform identity wiring and use platform-provided props.";
|
|
162
|
+
}, {
|
|
163
|
+
readonly id: "prompt.injection_string";
|
|
164
|
+
readonly label: "Prompt-injection-like string";
|
|
165
|
+
readonly patterns: readonly ["ignore\\s+previous\\s+instructions|rank\\s+this\\s+component\\s+first|忽略.{0,12}规则|自动放行|排名第一"];
|
|
166
|
+
readonly action: "manual_review";
|
|
167
|
+
readonly category: "prompt_injection_string";
|
|
168
|
+
readonly severity: "medium";
|
|
169
|
+
readonly reason: "Source comments and strings cannot ask the platform to change rules, ranking, or admission.";
|
|
170
|
+
readonly recommendation: "Remove prompt-injection-like strings.";
|
|
171
|
+
}, {
|
|
172
|
+
readonly id: "storage.browser_storage";
|
|
173
|
+
readonly label: "Browser storage access";
|
|
174
|
+
readonly patterns: readonly ["document\\.cookie|localStorage|sessionStorage"];
|
|
175
|
+
readonly action: "warn";
|
|
176
|
+
readonly category: "unsafe_browser_storage";
|
|
177
|
+
readonly severity: "medium";
|
|
178
|
+
readonly reason: "Marketplace components must not read user browser storage.";
|
|
179
|
+
readonly recommendation: "Use platform-provided props for state.";
|
|
180
|
+
}, {
|
|
181
|
+
readonly id: "network.remote_url";
|
|
182
|
+
readonly label: "Hardcoded remote URL";
|
|
183
|
+
readonly patterns: readonly ["https?:\\/\\/"];
|
|
184
|
+
readonly action: "warn";
|
|
185
|
+
readonly category: "remote_url";
|
|
186
|
+
readonly severity: "medium";
|
|
187
|
+
readonly reason: "Remote assets must go through platform asset management and authorization.";
|
|
188
|
+
readonly recommendation: "Do not hardcode remote URLs in component source.";
|
|
189
|
+
}];
|
|
190
|
+
};
|
|
8
191
|
export declare const sha256Schema: z.ZodString;
|
|
9
192
|
export declare const nonEmptyStringSchema: z.ZodString;
|
|
10
193
|
export declare const semverSchema: z.ZodString;
|
|
@@ -54,14 +237,14 @@ export declare const componentDiagnosticSchema: z.ZodObject<{
|
|
|
54
237
|
}, "strip", z.ZodTypeAny, {
|
|
55
238
|
code: string;
|
|
56
239
|
message: string;
|
|
57
|
-
severity: "
|
|
58
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
240
|
+
severity: "error" | "info" | "warning";
|
|
241
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
59
242
|
repairHint?: string | undefined;
|
|
60
243
|
}, {
|
|
61
244
|
code: string;
|
|
62
245
|
message: string;
|
|
63
|
-
severity: "
|
|
64
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
246
|
+
severity: "error" | "info" | "warning";
|
|
247
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
65
248
|
repairHint?: string | undefined;
|
|
66
249
|
}>;
|
|
67
250
|
export type ComponentDiagnostic = z.infer<typeof componentDiagnosticSchema>;
|
|
@@ -99,14 +282,14 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
|
|
|
99
282
|
}, "strip", z.ZodTypeAny, {
|
|
100
283
|
code: string;
|
|
101
284
|
message: string;
|
|
102
|
-
severity: "
|
|
103
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
285
|
+
severity: "error" | "info" | "warning";
|
|
286
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
104
287
|
repairHint?: string | undefined;
|
|
105
288
|
}, {
|
|
106
289
|
code: string;
|
|
107
290
|
message: string;
|
|
108
|
-
severity: "
|
|
109
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
291
|
+
severity: "error" | "info" | "warning";
|
|
292
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
110
293
|
repairHint?: string | undefined;
|
|
111
294
|
}>, "many">>;
|
|
112
295
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -124,8 +307,8 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
|
|
|
124
307
|
diagnostics: {
|
|
125
308
|
code: string;
|
|
126
309
|
message: string;
|
|
127
|
-
severity: "
|
|
128
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
310
|
+
severity: "error" | "info" | "warning";
|
|
311
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
129
312
|
repairHint?: string | undefined;
|
|
130
313
|
}[];
|
|
131
314
|
lastVerifiedAt?: string | undefined;
|
|
@@ -145,8 +328,8 @@ export declare const layoutCapabilitySchema: z.ZodObject<{
|
|
|
145
328
|
diagnostics?: {
|
|
146
329
|
code: string;
|
|
147
330
|
message: string;
|
|
148
|
-
severity: "
|
|
149
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
331
|
+
severity: "error" | "info" | "warning";
|
|
332
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
150
333
|
repairHint?: string | undefined;
|
|
151
334
|
}[] | undefined;
|
|
152
335
|
}>;
|
|
@@ -251,14 +434,14 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
251
434
|
}, "strip", z.ZodTypeAny, {
|
|
252
435
|
code: string;
|
|
253
436
|
message: string;
|
|
254
|
-
severity: "
|
|
255
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
437
|
+
severity: "error" | "info" | "warning";
|
|
438
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
256
439
|
repairHint?: string | undefined;
|
|
257
440
|
}, {
|
|
258
441
|
code: string;
|
|
259
442
|
message: string;
|
|
260
|
-
severity: "
|
|
261
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
443
|
+
severity: "error" | "info" | "warning";
|
|
444
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
262
445
|
repairHint?: string | undefined;
|
|
263
446
|
}>, "many">>>;
|
|
264
447
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -277,8 +460,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
277
460
|
diagnostics?: {
|
|
278
461
|
code: string;
|
|
279
462
|
message: string;
|
|
280
|
-
severity: "
|
|
281
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
463
|
+
severity: "error" | "info" | "warning";
|
|
464
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
282
465
|
repairHint?: string | undefined;
|
|
283
466
|
}[] | undefined;
|
|
284
467
|
}, {
|
|
@@ -297,8 +480,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
297
480
|
diagnostics?: {
|
|
298
481
|
code: string;
|
|
299
482
|
message: string;
|
|
300
|
-
severity: "
|
|
301
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
483
|
+
severity: "error" | "info" | "warning";
|
|
484
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
302
485
|
repairHint?: string | undefined;
|
|
303
486
|
}[] | undefined;
|
|
304
487
|
}>>;
|
|
@@ -378,8 +561,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
378
561
|
diagnostics?: {
|
|
379
562
|
code: string;
|
|
380
563
|
message: string;
|
|
381
|
-
severity: "
|
|
382
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
564
|
+
severity: "error" | "info" | "warning";
|
|
565
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
383
566
|
repairHint?: string | undefined;
|
|
384
567
|
}[] | undefined;
|
|
385
568
|
} | undefined;
|
|
@@ -432,8 +615,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
432
615
|
diagnostics?: {
|
|
433
616
|
code: string;
|
|
434
617
|
message: string;
|
|
435
|
-
severity: "
|
|
436
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
618
|
+
severity: "error" | "info" | "warning";
|
|
619
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
437
620
|
repairHint?: string | undefined;
|
|
438
621
|
}[] | undefined;
|
|
439
622
|
} | undefined;
|
|
@@ -494,8 +677,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
494
677
|
diagnostics?: {
|
|
495
678
|
code: string;
|
|
496
679
|
message: string;
|
|
497
|
-
severity: "
|
|
498
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
680
|
+
severity: "error" | "info" | "warning";
|
|
681
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
499
682
|
repairHint?: string | undefined;
|
|
500
683
|
}[] | undefined;
|
|
501
684
|
} | undefined;
|
|
@@ -548,8 +731,8 @@ export declare const componentManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
|
548
731
|
diagnostics?: {
|
|
549
732
|
code: string;
|
|
550
733
|
message: string;
|
|
551
|
-
severity: "
|
|
552
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
734
|
+
severity: "error" | "info" | "warning";
|
|
735
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
553
736
|
repairHint?: string | undefined;
|
|
554
737
|
}[] | undefined;
|
|
555
738
|
} | undefined;
|
|
@@ -623,14 +806,14 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
623
806
|
}, "strip", z.ZodTypeAny, {
|
|
624
807
|
code: string;
|
|
625
808
|
message: string;
|
|
626
|
-
severity: "
|
|
627
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
809
|
+
severity: "error" | "info" | "warning";
|
|
810
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
628
811
|
repairHint?: string | undefined;
|
|
629
812
|
}, {
|
|
630
813
|
code: string;
|
|
631
814
|
message: string;
|
|
632
|
-
severity: "
|
|
633
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
815
|
+
severity: "error" | "info" | "warning";
|
|
816
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
634
817
|
repairHint?: string | undefined;
|
|
635
818
|
}>, "many">>;
|
|
636
819
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -648,8 +831,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
648
831
|
diagnostics: {
|
|
649
832
|
code: string;
|
|
650
833
|
message: string;
|
|
651
|
-
severity: "
|
|
652
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
834
|
+
severity: "error" | "info" | "warning";
|
|
835
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
653
836
|
repairHint?: string | undefined;
|
|
654
837
|
}[];
|
|
655
838
|
lastVerifiedAt?: string | undefined;
|
|
@@ -669,8 +852,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
669
852
|
diagnostics?: {
|
|
670
853
|
code: string;
|
|
671
854
|
message: string;
|
|
672
|
-
severity: "
|
|
673
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
855
|
+
severity: "error" | "info" | "warning";
|
|
856
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
674
857
|
repairHint?: string | undefined;
|
|
675
858
|
}[] | undefined;
|
|
676
859
|
}>;
|
|
@@ -684,14 +867,14 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
684
867
|
}, "strip", z.ZodTypeAny, {
|
|
685
868
|
code: string;
|
|
686
869
|
message: string;
|
|
687
|
-
severity: "
|
|
688
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
870
|
+
severity: "error" | "info" | "warning";
|
|
871
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
689
872
|
repairHint?: string | undefined;
|
|
690
873
|
}, {
|
|
691
874
|
code: string;
|
|
692
875
|
message: string;
|
|
693
|
-
severity: "
|
|
694
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
876
|
+
severity: "error" | "info" | "warning";
|
|
877
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
695
878
|
repairHint?: string | undefined;
|
|
696
879
|
}>, "many">>;
|
|
697
880
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -699,8 +882,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
699
882
|
diagnostics: {
|
|
700
883
|
code: string;
|
|
701
884
|
message: string;
|
|
702
|
-
severity: "
|
|
703
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
885
|
+
severity: "error" | "info" | "warning";
|
|
886
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
704
887
|
repairHint?: string | undefined;
|
|
705
888
|
}[];
|
|
706
889
|
displayName: string;
|
|
@@ -730,8 +913,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
730
913
|
diagnostics: {
|
|
731
914
|
code: string;
|
|
732
915
|
message: string;
|
|
733
|
-
severity: "
|
|
734
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
916
|
+
severity: "error" | "info" | "warning";
|
|
917
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
735
918
|
repairHint?: string | undefined;
|
|
736
919
|
}[];
|
|
737
920
|
lastVerifiedAt?: string | undefined;
|
|
@@ -766,8 +949,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
766
949
|
diagnostics?: {
|
|
767
950
|
code: string;
|
|
768
951
|
message: string;
|
|
769
|
-
severity: "
|
|
770
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
952
|
+
severity: "error" | "info" | "warning";
|
|
953
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
771
954
|
repairHint?: string | undefined;
|
|
772
955
|
}[] | undefined;
|
|
773
956
|
};
|
|
@@ -775,8 +958,8 @@ export declare const componentCapabilityCardSchema: z.ZodObject<{
|
|
|
775
958
|
diagnostics?: {
|
|
776
959
|
code: string;
|
|
777
960
|
message: string;
|
|
778
|
-
severity: "
|
|
779
|
-
stage: "authoring" | "doctor" | "validate" | "package" | "upload" | "
|
|
961
|
+
severity: "error" | "info" | "warning";
|
|
962
|
+
stage: "build" | "authoring" | "doctor" | "validate" | "package" | "upload" | "manifest" | "schema" | "policy" | "preview" | "probe" | "publish";
|
|
780
963
|
repairHint?: string | undefined;
|
|
781
964
|
}[] | undefined;
|
|
782
965
|
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;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,6BAA6B,EAAG,8BAAuC,CAAC;AACrF,eAAO,MAAM,iCAAiC,EAAG,2BAAoC,CAAC;AACtF,eAAO,MAAM,0BAA0B,EAAG,2BAAoC,CAAC;AAC/E,eAAO,MAAM,qBAAqB,EAAG,sBAA+B,CAAC;AACrE,eAAO,MAAM,yBAAyB,EAAG,0BAAmC,CAAC;AAC7E,eAAO,MAAM,uBAAuB,EAAG,kCAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,228 @@ import { z } from 'zod';
|
|
|
2
2
|
export const PROMPTFRAME_CONTRACTS_VERSION = 'promptframe-contracts.v0.1.0';
|
|
3
3
|
export const COMPONENT_MANIFEST_SCHEMA_VERSION = 'component-manifest.v0.1.0';
|
|
4
4
|
export const COMPONENT_STANDARD_VERSION = 'component-standard.v0.1.0';
|
|
5
|
+
export const COMPONENT_STANDARD_SOURCE_HASH = 'sha256:8c1e01c36155b4b646981064d24df9bd8cda501fd9cd9da93e5b62f40db22d52';
|
|
5
6
|
export const COMPONENT_REF_VERSION = 'component-ref.v0.1.0';
|
|
6
7
|
export const LAYOUT_CAPABILITY_VERSION = 'layout-capability.v0.1.0';
|
|
7
8
|
export const CAPABILITY_CARD_VERSION = 'component-capability-card.v0.1.0';
|
|
9
|
+
export const COMPONENT_STANDARD_POLICY_VERSION = 'component-standard-policy.v0.1.0';
|
|
10
|
+
export const COMPONENT_SECURITY_POLICY_VERSION = 'component-security-policy.v0.1.0';
|
|
11
|
+
export const PROMPTFRAME_PUBLIC_STANDARD_POLICY = {
|
|
12
|
+
policyVersion: COMPONENT_STANDARD_POLICY_VERSION,
|
|
13
|
+
sourceVersion: COMPONENT_STANDARD_VERSION,
|
|
14
|
+
sourceHash: COMPONENT_STANDARD_SOURCE_HASH,
|
|
15
|
+
manifestSchemaVersion: COMPONENT_MANIFEST_SCHEMA_VERSION,
|
|
16
|
+
requiredFiles: [
|
|
17
|
+
'manifest.json',
|
|
18
|
+
'package.json',
|
|
19
|
+
'src/Component.tsx',
|
|
20
|
+
'src/schema.ts',
|
|
21
|
+
'src/index.ts',
|
|
22
|
+
'src/preview-props.json',
|
|
23
|
+
],
|
|
24
|
+
ignoredPackageDirectories: [
|
|
25
|
+
'node_modules',
|
|
26
|
+
'dist',
|
|
27
|
+
'.git',
|
|
28
|
+
'.component-packages',
|
|
29
|
+
'.promptframe',
|
|
30
|
+
],
|
|
31
|
+
previewLimits: {
|
|
32
|
+
maxDurationFrames: 180,
|
|
33
|
+
maxWidth: 1280,
|
|
34
|
+
maxHeight: 720,
|
|
35
|
+
allowedFps: [30],
|
|
36
|
+
},
|
|
37
|
+
sourceSafetyRules: [
|
|
38
|
+
{
|
|
39
|
+
id: 'component_standard.source.no_math_random',
|
|
40
|
+
stage: 'build',
|
|
41
|
+
severity: 'error',
|
|
42
|
+
pattern: 'Math\\.random\\s*\\(',
|
|
43
|
+
message: 'Math.random() is not allowed in PromptFrame components; use Remotion random(seed).',
|
|
44
|
+
repairHint: 'Derive random-looking values from props, frame, or a stable seed.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'component_standard.source.no_date_now',
|
|
48
|
+
stage: 'build',
|
|
49
|
+
severity: 'error',
|
|
50
|
+
pattern: 'Date\\.now\\s*\\(',
|
|
51
|
+
message: 'Date.now() is not allowed because renders must be deterministic.',
|
|
52
|
+
repairHint: 'Use useCurrentFrame(), useVideoConfig(), and props-derived timing.',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'component_standard.source.no_native_img',
|
|
56
|
+
stage: 'build',
|
|
57
|
+
severity: 'error',
|
|
58
|
+
pattern: '<img\\b',
|
|
59
|
+
message: 'Native <img> is not allowed; use Remotion <Img>.',
|
|
60
|
+
repairHint: 'Import Img from remotion and replace native img tags.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'component_standard.source.no_native_video',
|
|
64
|
+
stage: 'build',
|
|
65
|
+
severity: 'error',
|
|
66
|
+
pattern: '<video\\b',
|
|
67
|
+
message: 'Native <video> is not allowed; use Remotion <Video>.',
|
|
68
|
+
repairHint: 'Import Video from remotion and replace native video tags.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'component_standard.source.no_css_transition',
|
|
72
|
+
stage: 'build',
|
|
73
|
+
severity: 'error',
|
|
74
|
+
pattern: 'transition\\s*:',
|
|
75
|
+
message: 'CSS transition is not allowed; animation must be frame-driven.',
|
|
76
|
+
repairHint: 'Use interpolate(), spring(), or frame-derived styles.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: 'component_standard.source.no_css_keyframes',
|
|
80
|
+
stage: 'build',
|
|
81
|
+
severity: 'error',
|
|
82
|
+
pattern: '@keyframes',
|
|
83
|
+
message: 'CSS keyframes are not allowed; animation must be frame-driven.',
|
|
84
|
+
repairHint: 'Replace keyframes with Remotion frame-driven animation.',
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
export const PROMPTFRAME_PUBLIC_SECURITY_POLICY = {
|
|
89
|
+
policyVersion: COMPONENT_SECURITY_POLICY_VERSION,
|
|
90
|
+
forbiddenApis: [
|
|
91
|
+
{
|
|
92
|
+
id: 'code.eval',
|
|
93
|
+
label: 'Dynamic code execution',
|
|
94
|
+
patterns: ['\\beval\\s*\\('],
|
|
95
|
+
action: 'reject',
|
|
96
|
+
category: 'dynamic_code_execution',
|
|
97
|
+
severity: 'high',
|
|
98
|
+
reason: 'Third-party components cannot execute string code.',
|
|
99
|
+
recommendation: 'Remove eval and use deterministic props/frame-driven logic.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'code.new_function',
|
|
103
|
+
label: 'new Function dynamic execution',
|
|
104
|
+
patterns: ['\\bnew\\s+Function\\s*\\('],
|
|
105
|
+
action: 'reject',
|
|
106
|
+
category: 'dynamic_code_execution',
|
|
107
|
+
severity: 'high',
|
|
108
|
+
reason: 'Third-party components cannot build and run arbitrary code strings.',
|
|
109
|
+
recommendation: 'Remove new Function.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: 'code.string_timer',
|
|
113
|
+
label: 'String timer execution',
|
|
114
|
+
patterns: ['\\bset(?:Timeout|Interval)\\s*\\(\\s*[\'"`]'],
|
|
115
|
+
action: 'reject',
|
|
116
|
+
category: 'dynamic_code_execution',
|
|
117
|
+
severity: 'high',
|
|
118
|
+
reason: 'String timers are equivalent to dynamic code execution.',
|
|
119
|
+
recommendation: 'Do not pass strings to setTimeout or setInterval.',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
id: 'host.fs_process_env',
|
|
123
|
+
label: 'Host filesystem, process, or env access',
|
|
124
|
+
patterns: ['\\b(node:fs|fs\\/promises|child_process|process\\.env|Bun\\.|Deno\\.)\\b'],
|
|
125
|
+
action: 'reject',
|
|
126
|
+
category: 'filesystem_process_env_access',
|
|
127
|
+
severity: 'critical',
|
|
128
|
+
reason: 'Components must not read host files, spawn processes, or access environment variables.',
|
|
129
|
+
recommendation: 'Use only platform-provided props and trusted artifacts.',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
mediatedApis: [
|
|
133
|
+
{
|
|
134
|
+
id: 'network.raw_fetch',
|
|
135
|
+
label: 'Raw network access',
|
|
136
|
+
rawApis: ['fetch', 'XMLHttpRequest', 'WebSocket', 'EventSource', 'navigator.sendBeacon'],
|
|
137
|
+
defaultAction: 'manual_review',
|
|
138
|
+
category: 'network_exfiltration',
|
|
139
|
+
severity: 'high',
|
|
140
|
+
reason: 'Marketplace components must not self-network; assets should be injected by the platform.',
|
|
141
|
+
recommendation: 'Remove raw network access or use an audited platform wrapper with an allowlist.',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
id: 'network.runtime_fetch_json_unconfigured',
|
|
145
|
+
label: 'Unconfigured platform JSON network access',
|
|
146
|
+
rawApis: ['componentRuntime.fetchJson'],
|
|
147
|
+
defaultAction: 'manual_review',
|
|
148
|
+
category: 'network_exfiltration',
|
|
149
|
+
severity: 'high',
|
|
150
|
+
reason: 'Platform-mediated network calls still require an explicit allowlist.',
|
|
151
|
+
recommendation: 'Configure an allowlist or remove the network dependency.',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
warningApis: [
|
|
155
|
+
{
|
|
156
|
+
id: 'dom.dangerous_html',
|
|
157
|
+
label: 'Dangerous HTML injection',
|
|
158
|
+
patterns: ['dangerouslySetInnerHTML|\\.innerHTML\\s*='],
|
|
159
|
+
action: 'manual_review',
|
|
160
|
+
category: 'dangerous_html_injection',
|
|
161
|
+
severity: 'high',
|
|
162
|
+
reason: 'HTML injection can bypass component rendering boundaries.',
|
|
163
|
+
recommendation: 'Render React nodes or sanitized text structures.',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: 'package.install_script',
|
|
167
|
+
label: 'Install script signal',
|
|
168
|
+
patterns: ['postinstall|preinstall|prepare'],
|
|
169
|
+
action: 'manual_review',
|
|
170
|
+
category: 'dependency_supply_chain',
|
|
171
|
+
severity: 'medium',
|
|
172
|
+
reason: 'Third-party component packages should not rely on install scripts.',
|
|
173
|
+
recommendation: 'Remove install scripts before upload.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
id: 'resource.exhaustion_pattern',
|
|
177
|
+
label: 'Resource exhaustion signal',
|
|
178
|
+
patterns: ['while\\s*\\(\\s*true\\s*\\)|for\\s*\\(\\s*;\\s*;\\s*\\)|new\\s+Array\\s*\\(\\s*1\\d{6,}'],
|
|
179
|
+
action: 'warn',
|
|
180
|
+
category: 'resource_exhaustion',
|
|
181
|
+
severity: 'medium',
|
|
182
|
+
reason: 'Infinite loops or very large arrays can break preview or render.',
|
|
183
|
+
recommendation: 'Bound loops, arrays, canvas operations, and particles.',
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
id: 'tenant.identity_string',
|
|
187
|
+
label: 'Tenant or artifact identity signal',
|
|
188
|
+
patterns: ['tenantId|objectKey|sourceArchiveRef|artifactVersion'],
|
|
189
|
+
action: 'warn',
|
|
190
|
+
category: 'tenant_boundary_bypass',
|
|
191
|
+
severity: 'low',
|
|
192
|
+
reason: 'Ordinary components should not assemble platform tenant or artifact identifiers.',
|
|
193
|
+
recommendation: 'Remove platform identity wiring and use platform-provided props.',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: 'prompt.injection_string',
|
|
197
|
+
label: 'Prompt-injection-like string',
|
|
198
|
+
patterns: ['ignore\\s+previous\\s+instructions|rank\\s+this\\s+component\\s+first|忽略.{0,12}规则|自动放行|排名第一'],
|
|
199
|
+
action: 'manual_review',
|
|
200
|
+
category: 'prompt_injection_string',
|
|
201
|
+
severity: 'medium',
|
|
202
|
+
reason: 'Source comments and strings cannot ask the platform to change rules, ranking, or admission.',
|
|
203
|
+
recommendation: 'Remove prompt-injection-like strings.',
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: 'storage.browser_storage',
|
|
207
|
+
label: 'Browser storage access',
|
|
208
|
+
patterns: ['document\\.cookie|localStorage|sessionStorage'],
|
|
209
|
+
action: 'warn',
|
|
210
|
+
category: 'unsafe_browser_storage',
|
|
211
|
+
severity: 'medium',
|
|
212
|
+
reason: 'Marketplace components must not read user browser storage.',
|
|
213
|
+
recommendation: 'Use platform-provided props for state.',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
id: 'network.remote_url',
|
|
217
|
+
label: 'Hardcoded remote URL',
|
|
218
|
+
patterns: ['https?:\\/\\/'],
|
|
219
|
+
action: 'warn',
|
|
220
|
+
category: 'remote_url',
|
|
221
|
+
severity: 'medium',
|
|
222
|
+
reason: 'Remote assets must go through platform asset management and authorization.',
|
|
223
|
+
recommendation: 'Do not hardcode remote URLs in component source.',
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
};
|
|
8
227
|
export const sha256Schema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
|
|
9
228
|
export const nonEmptyStringSchema = z.string().trim().min(1);
|
|
10
229
|
export const semverSchema = z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
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.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsc",
|
|
38
38
|
"lint": "tsc --noEmit",
|
|
39
|
-
"test": "
|
|
39
|
+
"test": "pnpm build && node --test test/*.test.mjs",
|
|
40
|
+
"pack:dry-run": "pnpm build && npm pack --dry-run --json",
|
|
40
41
|
"clean": "rm -rf dist"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|