@promptframe/cli 0.1.24 → 0.1.28

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
@@ -4,7 +4,7 @@ PromptFrame component authoring CLI.
4
4
 
5
5
  Use it to inspect the public component standard, check component folders, validate manifests, inspect the local preview envelope, package source archives, upload components, check build status, rebuild evidence indexes, and rerun layout/security probes.
6
6
 
7
- Current npm registry baseline is `@promptframe/cli@0.1.24`, `@promptframe/contracts@0.1.9`, and `create-promptframe-component@0.1.13`. The published CLI consumes the contracts AST-aware public security policy evaluator, reports `securityPolicyDigest` / `securityEvaluatorMode` in JSON output, and packages sanitized lockfile evidence for platform admission.
7
+ Current npm registry baseline is `@promptframe/cli@0.1.28`, `@promptframe/contracts@0.1.13`, `@promptframe/component-kit@0.1.11`, and `create-promptframe-component@0.1.17`. The published CLI consumes the contracts AST-aware public security policy evaluator, reports `securityPolicyDigest` / `securityEvaluatorMode` in JSON output, reports `publicResources` for component-level public assets, and packages sanitized lockfile evidence for platform admission.
8
8
 
9
9
  ```bash
10
10
  npm install -D @promptframe/cli
@@ -33,8 +33,16 @@ The CLI embeds no production, Tailscale, local Docker, or private PromptFrame en
33
33
 
34
34
  Formal platform endpoints use bearer authentication. `promptframe login --endpoint <url>` starts a one-time browser login code flow through `/cli/auth/device/start`: open the printed URL, approve the code in an already signed-in PromptFrame browser session, and the CLI polls `/cli/auth/device/poll` until it receives a short-lived human CLI token. The token secret is stored only in the local PromptFrame config file with `0600` permissions and is never printed to stdout or JSON output. `promptframe login --endpoint <url> --token <token>` remains supported for already issued CLI/CI tokens and verifies them through `/cli/auth/whoami`; `promptframe whoami` shows the current platform identity without printing the token secret; `promptframe logout` revokes the current token and clears the matching local credential. Dev-header flags such as `--auth-roles` and `--auth-permissions` are local smoke helpers only and are rejected before transport for formal non-local endpoints.
35
35
 
36
+ The platform derives tenant, user, and project from the browser-approved CLI token or scoped CI token. External authors should not hand-enter internal IDs, and formal endpoints reject dev identity headers. `whoami --json` is the safe way to inspect the current token kind, display identity, endpoint, scopes, and project binding without exposing the token secret. CI tokens are project-scoped automation credentials; store them in secret managers such as GitHub Actions secrets, not in source files.
37
+
36
38
  `upload` defaults to `--target marketplace_authoring`, the external authoring lane. `--target marketplace --strict` is accepted as the public strict authoring alias and resolves to the same lane. Director Component Author jobs must use `--target project_private_generation` so the server can keep the component project scoped. Unknown targets fail locally before network transport with diagnostic code `upload.target.invalid`; stale PromptFrame authoring package floors are checked before network transport for both component folders and source zip archives. Upload also checks the platform `/components/standard` source hash before sending the package bytes; stale local standards fail with `standard.freshness.upload_blocking`. The platform repeats the same admission checks and remains the final authority.
37
39
 
40
+ Upload targets are authorization boundaries, not just labels. A scoped token may be limited to `marketplace_authoring`, `project_private_generation`, or another platform-supported lane. If the request target is outside the token's allowed targets, the platform rejects the upload with a stable authorization diagnostic before build admission.
41
+
42
+ Component resource support is intentionally conservative. Use props, safe fallback values, platform-managed asset references, or the component-level `public/` resource contract. Files under `public/` are reported in `validate --json`, `check --json`, `package`, and directory `upload --json` as `publicResources`; unsupported extensions, unsafe SVG, path traversal, excessive file count, oversized files, and total-size overflow fail locally before transport. Component code should use `promptFramePublicResource(props, '/logo.png', fallback)` from `@promptframe/component-kit`. After platform build admission accepts those files, preview/render receive platform-managed runtime URLs; `status` / build diagnostics remain the final authority for runtime hosting, URL injection, and rejection reasons. Avoid raw external URLs and raw `fetch()`; if a component needs dynamic data, wait for a platform-mediated API and allowlist.
43
+
44
+ The upload-to-publish lifecycle has multiple gates. `upload` returning success means the source package was received and build admission started; it does not mean the component is searchable, preview-ready, render-ready, or public. Use `status <buildId> --json` for build/admission diagnostics, `reindex <buildId> --json` for evidence/search refresh, and `probe <buildId> --json` for layout/security preview diagnostics. Common failure codes include stale standard freshness, missing credentials, invalid upload target, blocked security rules, manual review, and build admission failures.
45
+
38
46
  `package` excludes raw package-manager lockfiles from the public source zip, but when a root lockfile exists it adds `promptframe-lockfile-evidence.json`. The receipt contains only file names, sizes, and SHA-256 hashes so the platform can audit lockfile presence without exposing registry URLs or the full dependency tree in the source archive.
39
47
 
40
48
  `setup-ci --provider github` writes `.github/workflows/promptframe-component.yml` for a component project. Pull requests run check-only diagnostics and GitHub annotations; `main` and release-style tag pushes upload with `${{ secrets.PROMPTFRAME_CI_TOKEN }}` against `${{ vars.PROMPTFRAME_API_BASE }}`. Add those values in GitHub repository settings. Do not paste the CI token into the workflow, README, issue, or component source.
@@ -69,4 +77,4 @@ Every JSON response includes a stable `diagnostic.code`, for example `standard.c
69
77
  - `project_private_generation`: Director Component Author lane; upload still enters the trust pipeline but stays project scoped.
70
78
  - `freshness.status`: `current`, `warning`, `upload_blocking`, or `security_breaking`.
71
79
 
72
- `validate` and `package` consume public policies from `@promptframe/contracts`: required files, preview limits, deterministic frame-driven source rules, dependency policy, and security policy. Source files are evaluated with the contracts AST-aware security evaluator so alias usage such as `const BC = BroadcastChannel; new BC()` is rejected while ordinary comments or strings mentioning a blocked API do not fail validation. JSON, Markdown, and package metadata still use bounded pattern fallback for install scripts, prompt-injection strings, and remote URL signals. These local checks are early author feedback; the platform admission pipeline remains the final trust gate.
80
+ `validate` and `package` consume public policies from `@promptframe/contracts`: required files, preview limits, deterministic frame-driven source rules, dependency policy, and security policy. Source files are evaluated with the contracts AST-aware security evaluator so alias usage such as `const BC = BroadcastChannel; new BC()` is rejected while ordinary comments or strings mentioning a blocked API do not fail validation. Warning-first rules such as `runtime.deterministic.fps_hardcoded_timing` appear in `validate --json` / `check --json` diagnostics with `repairHint` and do not block local validation by themselves. JSON, Markdown, and package metadata still use bounded pattern fallback for install scripts, prompt-injection strings, and remote URL signals. These local checks are early author feedback; the platform admission pipeline remains the final trust gate.
package/dist/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
  import { createHash } from 'node:crypto';
3
3
  import { spawn } from 'node:child_process';
4
4
  import { setTimeout as sleep } from 'node:timers/promises';
5
- import { chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from 'node:fs';
5
+ import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from 'node:fs';
6
6
  import os from 'node:os';
7
- import { basename, dirname, join, relative, resolve } from 'node:path';
7
+ import { basename, dirname, extname, join, relative, resolve } from 'node:path';
8
8
  import { inflateRawSync } from 'node:zlib';
9
- import { COMPONENT_MANIFEST_SCHEMA_VERSION, COMPONENT_REF_VERSION, COMPONENT_STANDARD_SOURCE_HASH, COMPONENT_STANDARD_VERSION, PROMPTFRAME_AUTHORING_STANDARD_RELEASE, PROMPTFRAME_PUBLIC_SECURITY_POLICY, PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST, PROMPTFRAME_PUBLIC_STANDARD_POLICY, PROMPTFRAME_CONTRACTS_VERSION, PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY, detectPromptFrameUnknownCustomStyleProps, evaluatePromptFrameDependencyPolicy, authoringUploadTargetSchema, parseComponentManifest, } from '@promptframe/contracts';
9
+ import { COMPONENT_MANIFEST_SCHEMA_VERSION, COMPONENT_PUBLIC_RESOURCES_CONTRACT_VERSION, COMPONENT_REF_VERSION, COMPONENT_STANDARD_SOURCE_HASH, COMPONENT_STANDARD_VERSION, PROMPTFRAME_AUTHORING_STANDARD_RELEASE, PROMPTFRAME_PUBLIC_RESOURCE_LIMITS, PROMPTFRAME_PUBLIC_RESOURCE_POLICY, PROMPTFRAME_PUBLIC_SECURITY_POLICY, PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST, PROMPTFRAME_PUBLIC_STANDARD_POLICY, PROMPTFRAME_CONTRACTS_VERSION, PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY, detectPromptFrameUnknownCustomStyleProps, evaluatePromptFrameDependencyPolicy, authoringUploadTargetSchema, parseComponentManifest, } from '@promptframe/contracts';
10
10
  import { evaluatePromptFrameSecurityPolicySource, } from '@promptframe/contracts/security-evaluator';
11
11
  import { applyPackageChanges, buildFreshnessDecision, computePackageChanges, computePackageFreshnessDiagnostics, resolveLocalPreviewScript, } from './lifecycle.js';
12
12
  import { evaluateLocalReusability, reusabilityDiagnostics, } from './reusability.js';
@@ -33,6 +33,7 @@ const VALIDATE_CHECKED_RULE_IDS = [
33
33
  'manifest.component_type.supported',
34
34
  'evidence.schema_source_hash_present',
35
35
  'runtime.deterministic.remotion',
36
+ 'runtime.deterministic.fps_hardcoded_timing',
36
37
  'security.forbidden.browser_apis',
37
38
  'security.no_raw_remote_url_import',
38
39
  'package.no_parent_imports',
@@ -115,6 +116,8 @@ function standard() {
115
116
  supportedComponentTypes: PROMPTFRAME_AUTHORING_STANDARD_RELEASE.supportedComponentTypes,
116
117
  standardPolicyVersion: PROMPTFRAME_PUBLIC_STANDARD_POLICY.policyVersion,
117
118
  securityPolicyVersion: PROMPTFRAME_PUBLIC_SECURITY_POLICY.policyVersion,
119
+ publicResourcePolicyVersion: PROMPTFRAME_PUBLIC_RESOURCE_POLICY.policyVersion,
120
+ publicResourcePolicy: PROMPTFRAME_PUBLIC_RESOURCE_POLICY,
118
121
  dependencyPolicyVersion: PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY.policyVersion,
119
122
  dependencyPolicy: PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY,
120
123
  previewLimits: PROMPTFRAME_PUBLIC_STANDARD_POLICY.previewLimits,
@@ -143,10 +146,14 @@ function doctor(argv) {
143
146
  function validate(argv) {
144
147
  const dir = resolve(firstPositionalArg(argv) ?? '.');
145
148
  const manifest = validateComponentDirectory(dir);
149
+ const publicResources = evaluateDirectoryPublicResources(dir);
150
+ assertPublicResourcesAccepted(publicResources);
146
151
  const dependencyPolicy = evaluateDirectoryDependencyPolicy(dir);
147
152
  const diagnostics = [
148
153
  ...stylePropDiagnostics(dir),
154
+ ...securityPolicyWarningDiagnostics(dir),
149
155
  ...dependencyPolicy.diagnostics,
156
+ ...publicResources.diagnostics,
150
157
  ];
151
158
  const output = {
152
159
  command: 'validate',
@@ -163,6 +170,7 @@ function validate(argv) {
163
170
  securityPolicyDigest: PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST,
164
171
  securityEvaluatorMode: SECURITY_EVALUATOR_MODE,
165
172
  dependencyPolicy,
173
+ publicResources,
166
174
  diagnostics,
167
175
  diagnostic: diagnostic('validate.completed', 'info', 'Component manifest and public source boundaries validated.'),
168
176
  };
@@ -181,10 +189,14 @@ async function check(argv) {
181
189
  const freshness = await resolveSoftRemoteStandardFreshness(argv, target, 'check');
182
190
  const localReusability = evaluateDirectoryReusability(dir, manifest, target);
183
191
  const dependencyPolicy = evaluateDirectoryDependencyPolicy(dir);
192
+ const publicResources = evaluateDirectoryPublicResources(dir);
193
+ assertPublicResourcesAccepted(publicResources);
184
194
  const diagnostics = [
185
195
  ...reusabilityDiagnostics(localReusability),
186
196
  ...stylePropDiagnostics(dir),
197
+ ...securityPolicyWarningDiagnostics(dir),
187
198
  ...dependencyPolicy.diagnostics,
199
+ ...publicResources.diagnostics,
188
200
  ];
189
201
  const output = {
190
202
  command: 'check',
@@ -197,6 +209,7 @@ async function check(argv) {
197
209
  freshness,
198
210
  localReusability,
199
211
  dependencyPolicy,
212
+ publicResources,
200
213
  diagnostics,
201
214
  diagnostic: diagnostic('check.completed', 'info', 'Component authoring checks completed.'),
202
215
  };
@@ -324,6 +337,7 @@ function packageComponent(argv) {
324
337
  out: artifact.out,
325
338
  sizeBytes: artifact.sizeBytes,
326
339
  sha256: artifact.sha256,
340
+ publicResources: artifact.publicResources,
327
341
  });
328
342
  }
329
343
  function validateComponentDirectory(dir) {
@@ -383,13 +397,15 @@ function assertDependencyPolicyAccepted(receipt) {
383
397
  function packageDirectory(componentDir, outArg) {
384
398
  const dir = resolve(componentDir);
385
399
  const manifest = validateComponentDirectory(dir);
400
+ const publicResources = evaluateDirectoryPublicResources(dir);
401
+ assertPublicResourcesAccepted(publicResources);
386
402
  const out = resolve(outArg ?? join(dir, '.component-packages', `${manifest.name}.zip`));
387
403
  const files = collectPackageFiles(dir);
388
404
  mkdirSync(dirname(out), { recursive: true });
389
405
  writeFileSync(out, buildStoredZip(files));
390
406
  const sizeBytes = statSync(out).size;
391
407
  const sha256 = `sha256:${createHash('sha256').update(readFileSync(out)).digest('hex')}`;
392
- return { out, sizeBytes, sha256 };
408
+ return { out, sizeBytes, sha256, publicResources };
393
409
  }
394
410
  function packageDirectoryForUploadWithLocalReusability(componentDir, uploadTarget, outArg, onReusability) {
395
411
  const dir = resolve(componentDir);
@@ -427,6 +443,7 @@ async function uploadComponent(argv) {
427
443
  ? [
428
444
  ...reusabilityDiagnostics(localReusability),
429
445
  ...stylePropDiagnostics(target),
446
+ ...(artifact.publicResources?.diagnostics ?? []),
430
447
  ]
431
448
  : undefined;
432
449
  const endpoint = resolveEndpoint('upload', argv);
@@ -1259,15 +1276,40 @@ function validateSecurityPolicy(dir) {
1259
1276
  if (!isSecurityScannableFile(entry.name))
1260
1277
  continue;
1261
1278
  const source = entry.data.toString('utf8');
1262
- const finding = firstSecurityFindingFromEvaluator(entry.name, source);
1279
+ const finding = firstBlockingSecurityFindingFromEvaluator(entry.name, source);
1263
1280
  if (!finding)
1264
1281
  continue;
1265
1282
  fail(formatSecurityFindingFailure(entry.name, finding), finding.ruleId);
1266
1283
  }
1267
1284
  }
1268
- function firstSecurityFindingFromEvaluator(file, source) {
1285
+ function firstBlockingSecurityFindingFromEvaluator(file, source) {
1269
1286
  const receipt = evaluatePromptFrameSecurityPolicySource({ file, source });
1270
- return receipt.findings.find((finding) => shouldScanSecurityRule(file, finding.ruleId));
1287
+ return receipt.findings.find((finding) => (shouldScanSecurityRule(file, finding.ruleId) && finding.action !== 'warn'));
1288
+ }
1289
+ function securityPolicyWarningDiagnostics(dir) {
1290
+ const diagnostics = [];
1291
+ for (const entry of collectPackageFiles(dir)) {
1292
+ if (!isSecurityScannableFile(entry.name))
1293
+ continue;
1294
+ const source = entry.data.toString('utf8');
1295
+ const receipt = evaluatePromptFrameSecurityPolicySource({ file: entry.name, source });
1296
+ for (const finding of receipt.findings) {
1297
+ if (finding.action !== 'warn' || !shouldScanSecurityRule(entry.name, finding.ruleId))
1298
+ continue;
1299
+ diagnostics.push(securityPolicyWarningDiagnostic(entry.name, finding));
1300
+ }
1301
+ }
1302
+ return diagnostics;
1303
+ }
1304
+ function securityPolicyWarningDiagnostic(file, finding) {
1305
+ const location = finding.line && finding.column ? `:${finding.line}:${finding.column}` : '';
1306
+ return {
1307
+ code: finding.ruleId,
1308
+ severity: 'warning',
1309
+ stage: 'validate',
1310
+ message: `${file}${location}: ${finding.message}`,
1311
+ repairHint: finding.repairHint ?? finding.recommendation,
1312
+ };
1271
1313
  }
1272
1314
  function formatSecurityFindingFailure(file, finding) {
1273
1315
  const location = finding.line && finding.column ? `:${finding.line}:${finding.column}` : '';
@@ -1327,6 +1369,192 @@ function packageArtifactFromZip(path) {
1327
1369
  sha256: `sha256:${createHash('sha256').update(file).digest('hex')}`,
1328
1370
  };
1329
1371
  }
1372
+ function evaluateDirectoryPublicResources(dir) {
1373
+ const publicRoot = join(dir, 'public');
1374
+ const entries = [];
1375
+ const diagnostics = [];
1376
+ const seenPublicPaths = new Set();
1377
+ let totalBytes = 0;
1378
+ if (!existsSync(publicRoot)) {
1379
+ return createPublicResourceReport('empty', entries, totalBytes, diagnostics);
1380
+ }
1381
+ const rootStat = lstatSync(publicRoot);
1382
+ if (!rootStat.isDirectory()) {
1383
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.path_rejected', 'error', '`public` must be a directory when component resources are used.', 'Move resource files into a public/ directory or remove the file named public.'));
1384
+ return createPublicResourceReport('blocked', entries, totalBytes, diagnostics);
1385
+ }
1386
+ function walk(currentDir) {
1387
+ for (const entry of readdirSync(currentDir, { withFileTypes: true }).sort((left, right) => left.name.localeCompare(right.name))) {
1388
+ const full = join(currentDir, entry.name);
1389
+ const relativePath = relative(publicRoot, full).replace(/\\/g, '/');
1390
+ if (entry.isDirectory()) {
1391
+ const normalized = normalizePublicResourcePath(relativePath);
1392
+ if (!normalized.ok) {
1393
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.path_rejected', 'error', `public/${relativePath}: ${normalized.reason}`, 'Use simple relative resource paths without dot segments, backslashes, URLs, or unsupported characters.'));
1394
+ continue;
1395
+ }
1396
+ walk(full);
1397
+ continue;
1398
+ }
1399
+ if (!entry.isFile()) {
1400
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.path_rejected', 'error', `public/${relativePath}: only ordinary files are allowed in public resources.`, 'Remove symlinks, sockets, devices, and other non-file entries from public/.'));
1401
+ continue;
1402
+ }
1403
+ const normalized = normalizePublicResourcePath(relativePath);
1404
+ if (!normalized.ok) {
1405
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.path_rejected', 'error', `public/${relativePath}: ${normalized.reason}`, 'Use simple relative resource paths without dot segments, backslashes, URLs, or unsupported characters.'));
1406
+ continue;
1407
+ }
1408
+ if (seenPublicPaths.has(normalized.publicPath)) {
1409
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.path_rejected', 'error', `${normalized.publicPath}: duplicate normalized public resource path.`, 'Keep one file for each public resource path.'));
1410
+ continue;
1411
+ }
1412
+ seenPublicPaths.add(normalized.publicPath);
1413
+ const resourceType = classifyPublicResource(relativePath);
1414
+ if (!resourceType) {
1415
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.content_type_rejected', 'error', `${normalized.sourcePath}: unsupported public resource file type.`, `Use one of the supported extensions: ${supportedPublicResourceExtensions().join(', ')}.`));
1416
+ continue;
1417
+ }
1418
+ const data = readFileSync(full);
1419
+ const sizeBytes = data.byteLength;
1420
+ if (sizeBytes > PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxFileBytes) {
1421
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.file_too_large', 'error', `${normalized.sourcePath}: file is ${sizeBytes} bytes, above the ${PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxFileBytes} byte limit.`, 'Compress the asset, reduce resolution/duration, or pass larger media through platform-managed assets.'));
1422
+ continue;
1423
+ }
1424
+ if (resourceType.contentType === 'image/svg+xml') {
1425
+ const svgDiagnostic = unsafeSvgDiagnostic(normalized.sourcePath, data);
1426
+ if (svgDiagnostic) {
1427
+ diagnostics.push(svgDiagnostic);
1428
+ continue;
1429
+ }
1430
+ }
1431
+ totalBytes += sizeBytes;
1432
+ entries.push({
1433
+ publicPath: normalized.publicPath,
1434
+ sourcePath: normalized.sourcePath,
1435
+ artifactPath: `resources/public/${normalized.relativePath}`,
1436
+ kind: resourceType.kind,
1437
+ contentType: resourceType.contentType,
1438
+ sizeBytes,
1439
+ sha256: sha256Buffer(data),
1440
+ });
1441
+ }
1442
+ }
1443
+ walk(publicRoot);
1444
+ if (entries.length > PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxFiles) {
1445
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.too_many_files', 'error', `public/ contains ${entries.length} accepted resource files, above the ${PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxFiles} file limit.`, 'Keep component resources small and reusable; move large media sets to platform-managed assets.'));
1446
+ }
1447
+ if (totalBytes > PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxTotalBytes) {
1448
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.total_bytes_exceeded', 'error', `public/ resources total ${totalBytes} bytes, above the ${PROMPTFRAME_PUBLIC_RESOURCE_LIMITS.maxTotalBytes} byte limit.`, 'Reduce bundled resources or move large media to platform-managed assets.'));
1449
+ }
1450
+ if (entries.length > 0 && !diagnostics.some((item) => item.severity === 'error')) {
1451
+ diagnostics.push(publicResourceDiagnostic('component_resources.public.accepted', 'info', `Accepted ${entries.length} public resource file${entries.length === 1 ? '' : 's'} (${totalBytes} bytes).`));
1452
+ }
1453
+ return createPublicResourceReport(diagnostics.some((item) => item.severity === 'error') ? 'blocked' : entries.length > 0 ? 'accepted' : 'empty', entries.sort((left, right) => left.publicPath.localeCompare(right.publicPath)), totalBytes, diagnostics);
1454
+ }
1455
+ function createPublicResourceReport(status, entries, totalBytes, diagnostics) {
1456
+ return {
1457
+ contractVersion: COMPONENT_PUBLIC_RESOURCES_CONTRACT_VERSION,
1458
+ policyVersion: PROMPTFRAME_PUBLIC_RESOURCE_POLICY.policyVersion,
1459
+ sourceDirectory: 'public',
1460
+ status,
1461
+ total: entries.length,
1462
+ totalBytes,
1463
+ entries,
1464
+ diagnostics,
1465
+ };
1466
+ }
1467
+ function assertPublicResourcesAccepted(report) {
1468
+ const firstError = report.diagnostics.find((item) => item.severity === 'error');
1469
+ if (!firstError)
1470
+ return;
1471
+ fail(firstError.message, firstError.code);
1472
+ }
1473
+ function normalizePublicResourcePath(relativePath) {
1474
+ const value = relativePath.replace(/\\/g, '/').replace(/^\/+/, '');
1475
+ if (!value || value.endsWith('/'))
1476
+ return { ok: false, reason: 'empty resource path.' };
1477
+ if (/^[a-z][a-z0-9+.-]*:/i.test(value))
1478
+ return { ok: false, reason: 'URL-like paths are not allowed.' };
1479
+ if (value.includes('//'))
1480
+ return { ok: false, reason: 'double slashes are not allowed.' };
1481
+ const parts = value.split('/');
1482
+ if (parts.some((part) => part === '.' || part === '..' || part.trim() !== part || part.length === 0)) {
1483
+ return { ok: false, reason: 'dot segments and whitespace-padded path parts are not allowed.' };
1484
+ }
1485
+ if (!/^[A-Za-z0-9._~!$&'()+,;=@/-]+$/.test(value)) {
1486
+ return { ok: false, reason: 'path contains unsupported characters.' };
1487
+ }
1488
+ return {
1489
+ ok: true,
1490
+ relativePath: value,
1491
+ publicPath: `/${value}`,
1492
+ sourcePath: `public/${value}`,
1493
+ };
1494
+ }
1495
+ function classifyPublicResource(relativePath) {
1496
+ const ext = extname(relativePath).toLowerCase();
1497
+ switch (ext) {
1498
+ case '.png':
1499
+ return { kind: 'image', contentType: 'image/png' };
1500
+ case '.jpg':
1501
+ case '.jpeg':
1502
+ return { kind: 'image', contentType: 'image/jpeg' };
1503
+ case '.webp':
1504
+ return { kind: 'image', contentType: 'image/webp' };
1505
+ case '.gif':
1506
+ return { kind: 'image', contentType: 'image/gif' };
1507
+ case '.svg':
1508
+ return { kind: 'image', contentType: 'image/svg+xml' };
1509
+ case '.mp3':
1510
+ return { kind: 'audio', contentType: 'audio/mpeg' };
1511
+ case '.wav':
1512
+ return { kind: 'audio', contentType: 'audio/wav' };
1513
+ case '.m4a':
1514
+ return { kind: 'audio', contentType: 'audio/mp4' };
1515
+ case '.ogg':
1516
+ return { kind: 'audio', contentType: 'audio/ogg' };
1517
+ case '.mp4':
1518
+ return { kind: 'video', contentType: 'video/mp4' };
1519
+ case '.webm':
1520
+ return { kind: 'video', contentType: 'video/webm' };
1521
+ case '.woff':
1522
+ return { kind: 'font', contentType: 'font/woff' };
1523
+ case '.woff2':
1524
+ return { kind: 'font', contentType: 'font/woff2' };
1525
+ case '.json':
1526
+ return { kind: 'json', contentType: 'application/json' };
1527
+ case '.txt':
1528
+ return { kind: 'text', contentType: 'text/plain; charset=utf-8' };
1529
+ case '.csv':
1530
+ return { kind: 'text', contentType: 'text/csv; charset=utf-8' };
1531
+ default:
1532
+ return undefined;
1533
+ }
1534
+ }
1535
+ function supportedPublicResourceExtensions() {
1536
+ return Object.values(PROMPTFRAME_PUBLIC_RESOURCE_POLICY.allowedExtensions).flat().sort();
1537
+ }
1538
+ function unsafeSvgDiagnostic(sourcePath, data) {
1539
+ const text = data.toString('utf8');
1540
+ if (/<\s*script\b/i.test(text)
1541
+ || /<\s*foreignObject\b/i.test(text)
1542
+ || /\son[a-z]+\s*=/i.test(text)
1543
+ || /\b(?:href|xlink:href)\s*=\s*["']\s*(?:https?:|data:|javascript:)/i.test(text)
1544
+ || /\burl\s*\(\s*["']?\s*(?:https?:|data:|javascript:)/i.test(text)) {
1545
+ return publicResourceDiagnostic('component_resources.public.svg_rejected', 'error', `${sourcePath}: SVG is outside the PromptFrame safe subset.`, 'Remove scripts, foreignObject, event handlers, external hrefs and javascript/data URLs, or use a raster image.');
1546
+ }
1547
+ return undefined;
1548
+ }
1549
+ function publicResourceDiagnostic(code, severity, message, repairHint) {
1550
+ return {
1551
+ code,
1552
+ severity,
1553
+ stage: 'package',
1554
+ message,
1555
+ ...(repairHint ? { repairHint } : {}),
1556
+ };
1557
+ }
1330
1558
  function readPackageManifestFromZip(path) {
1331
1559
  const packageEntry = readPackageJsonEntryFromZip(readFileSync(path));
1332
1560
  if (!packageEntry)
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/cli",
3
- "version": "0.1.24",
3
+ "version": "0.1.28",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -43,7 +43,7 @@
43
43
  "clean": "rm -rf dist"
44
44
  },
45
45
  "dependencies": {
46
- "@promptframe/contracts": "^0.1.9"
46
+ "@promptframe/contracts": "^0.1.13"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^24.12.4",