pixelkiln 0.26.0 → 0.28.0

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
@@ -77,8 +77,8 @@ Left/Right inspects alternatives, Enter or 1–9 selects, 0 leaves a row
77
77
  unresolved, and closing without **Apply selections** applies nothing
78
78
  ([CLI reference](docs/CLI.md#pick)). [`pixelkiln gallery`](docs/CLI.md#gallery)
79
79
  is its companion: every generation at integer zoom with its prompt, cost, hashes,
80
- lineage, and quality record; `--edit` changes prompts and adds assets; `--budget`
81
- generates and reviews from the page under that ceiling; `--json` prints the snapshot.
80
+ lineage, and quality record; `--edit` changes prompts, adds assets, and serves a pinned,
81
+ hash-verified [Pixelorama](docs/CLI.md#tools) build; `--budget` generates and reviews from the page.
82
82
 
83
83
  ![PixelKiln generation gallery UI](./website/public/gallery-ui-showcase.jpg)
84
84
 
package/SECURITY.md CHANGED
@@ -28,8 +28,8 @@ reporter.
28
28
  ## Sensitive areas
29
29
 
30
30
  PixelKiln handles provider credentials, paid API actions, remote object deletion,
31
- local output paths, a localhost review server, and generated HTML containing
32
- provider data. Temporary provider result URLs can also contain signing
31
+ local output paths, a localhost review server, generated HTML containing
32
+ provider data, and a downloaded editor build served to the browser. Temporary provider result URLs can also contain signing
33
33
  credentials in their query string. Reports involving authentication leakage, path traversal,
34
34
  cross-origin review actions, HTML/script injection, unsafe overwrite/delete
35
35
  behavior, lockfile corruption, or budget bypass are security relevant.
@@ -46,3 +46,13 @@ download may retain its source locally so `fetch` can retry, but that in-flight
46
46
  lockfile should not be committed. `npm run test:security` checks every tracked
47
47
  JSON file for credential-bearing URLs and reports only the file and JSON path,
48
48
  never the sensitive value.
49
+
50
+ The in-browser editor is fetched from a PixelKiln GitHub release and verified
51
+ file by file against SHA-256 hashes pinned inside the package before anything
52
+ is served; `PIXELKILN_EDITOR_URL` changes where the bytes come from but not
53
+ what is accepted. The gallery serves it only under the pinned release path and
54
+ only the pinned file names, with a Content-Security-Policy that keeps the
55
+ editor page to its own files and lets only the gallery frame it. A report that
56
+ the editor can be served from another location, that verification can be
57
+ bypassed, or that the editor page can reach beyond its origin is security
58
+ relevant.
package/dist/cli.d.ts CHANGED
@@ -42,6 +42,8 @@ interface Args {
42
42
  tag: boolean;
43
43
  /** gallery: allow the page to edit manifest intent (prompts, sizes, tags, new assets). */
44
44
  edit: boolean;
45
+ /** gallery: do not offer the in-browser editor even with --edit. */
46
+ noEditor: boolean;
45
47
  /** fetch: re-download downloaded outputs and replace files whose object changed upstream. */
46
48
  refresh: boolean;
47
49
  from?: string;
@@ -88,7 +90,7 @@ interface Args {
88
90
  */
89
91
  explicitLock?: string;
90
92
  }
91
- declare const COMMANDS: readonly ["init", "plan", "doctor", "gen", "submit", "poll", "pick", "fetch", "restore", "adopt", "accept", "salvage", "purge", "prune", "audit", "cache", "pack", "mount", "export", "tag", "balance", "status", "gallery", "edit", "quality", "refine", "recipe", "workspace", "help", "--help", "-h", "--version", "-v"];
93
+ declare const COMMANDS: readonly ["init", "plan", "doctor", "gen", "submit", "poll", "pick", "fetch", "restore", "adopt", "accept", "salvage", "purge", "prune", "audit", "cache", "pack", "mount", "export", "tag", "balance", "status", "gallery", "edit", "tools", "quality", "refine", "recipe", "workspace", "help", "--help", "-h", "--version", "-v"];
92
94
  /**
93
95
  * Strict parsing. Unknown flags are a hard error rather than being ignored,
94
96
  * because a silently-dropped filter is expensive here: `--styles neon` (plural,