@ai-matrx/alchemy 0.16.0 → 0.17.5

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/dist/core.cjs.map +1 -1
  3. package/dist/core.js +2 -2
  4. package/dist/core.js.map +1 -1
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/operate-capture.cjs +1 -1
  9. package/dist/operate-capture.cjs.map +1 -1
  10. package/dist/operate-capture.d.cts +30 -1
  11. package/dist/operate-capture.d.ts +30 -1
  12. package/dist/operate-capture.js +1 -1
  13. package/dist/operate-capture.js.map +1 -1
  14. package/dist/operate-document.cjs.map +1 -1
  15. package/dist/operate-document.js +1 -1
  16. package/dist/operate-document.js.map +1 -1
  17. package/dist/operate-pptx.cjs +151 -0
  18. package/dist/operate-pptx.cjs.map +1 -0
  19. package/dist/operate-pptx.d.cts +2695 -0
  20. package/dist/operate-pptx.d.ts +2695 -0
  21. package/dist/operate-pptx.js +151 -0
  22. package/dist/operate-pptx.js.map +1 -0
  23. package/dist/operate-read.cjs +2 -2
  24. package/dist/operate-read.cjs.map +1 -1
  25. package/dist/operate-read.js +2 -2
  26. package/dist/operate-read.js.map +1 -1
  27. package/dist/operate-rich-html.cjs.map +1 -1
  28. package/dist/operate-rich-html.js +1 -1
  29. package/dist/operate-rich-html.js.map +1 -1
  30. package/dist/operate-server.cjs.map +1 -1
  31. package/dist/operate-server.js +1 -1
  32. package/dist/operate-server.js.map +1 -1
  33. package/dist/operate-xlsx.cjs.map +1 -1
  34. package/dist/operate-xlsx.js +1 -1
  35. package/dist/operate-xlsx.js.map +1 -1
  36. package/dist/operate-zip.cjs +2 -0
  37. package/dist/operate-zip.cjs.map +1 -0
  38. package/dist/operate-zip.d.cts +35 -0
  39. package/dist/operate-zip.d.ts +35 -0
  40. package/dist/operate-zip.js +2 -0
  41. package/dist/operate-zip.js.map +1 -0
  42. package/dist/operate.cjs.map +1 -1
  43. package/dist/operate.js +2 -2
  44. package/dist/operate.js.map +1 -1
  45. package/package.json +26 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.4
4
+ ### Unreleased
5
+
6
+ - The bundled PowerPoint leaf retains PptxGenJS's full MIT notice in both JavaScript formats. Its artifact gate rejects a missing notice.
7
+
8
+ **Consumer action:** none; presentation behavior and dependency installation are unchanged.
9
+
10
+ ## 0.17.3 — 2026-10-07
11
+
12
+ - `/operate/pptx` now bundles its complete pptxgenjs + JSZip engine in that intentionally heavy lazy leaf. This removes pptxgenjs's transitive `image-size` advisory from installed consumer production dependencies while keeping `/operate` and every other entry engine-free. The 150 KB gzip ceiling is measured with 14% headroom and is enforced independently.
13
+
14
+ **Consumer action:** upgrade to this release to remove the transitive advisory. Hosts do not need a separate `pptxgenjs` dependency; `buildPresentation` imports and its lazy first-use behavior are unchanged. The packed ESM and CommonJS consumer gates build real text-and-image presentations without either `pptxgenjs` or `image-size` installed.
15
+
16
+ ## 0.17.2 — 2026-10-07
17
+
18
+ - `/operate` core no longer imports `normalizeTransferJson` it only re-exports (TS6133 under `noUnusedLocals` failed every sibling type-check that reads Alchemy source — content-ir-react's and dashboard's — and with it their publishes). `UnreadableFormatError.format` is a declared field, not a parameter property (TS1294 under `erasableSyntaxOnly`, the dashboard's type-check). No behaviour change; no consumer action.
19
+
20
+ ## 0.17.1 — 2026-10-07
21
+
22
+ - `parseDelimited` guesses the line break from the text OUTSIDE quotes (as Papa Parse does). A cell holding `\r\n`
23
+ in a file whose records end `\n` used to make the whole file read as one CRLF-separated record.
24
+ - Decision (AP-2): the CSV/TSV writer keeps `\n` between records (Excel, Sheets and every parser here accept it;
25
+ the clipboard TSV, tests and consumers depend on it). It is the one `join("\n")` in `serialize`; a CRLF dialect
26
+ would change it there and nowhere else.
27
+ - `spreadsheetSafe` (on by default for the csv/tsv/xlsx formats, off for `toDelimitedText` unless passed) only
28
+ prefixes `'` on TEXT starting (after tab/CR/LF/space) with `=` `+` `-` `@`; a real number such as `-5` is never
29
+ altered (tests added). Pass `{ spreadsheetSafe: true }` for any untrusted text.
30
+
31
+ Consumer action: none. Hand-rolled CSV writers in the app move to `toDelimitedText` / `buildFile`.
32
+
33
+ ## 0.17.0 — 2026-10-07
34
+
35
+ ALC-19 tail: the last format/capture engines the app imported directly now have a door.
36
+
37
+ - `/operate/capture`: `renderElement(element, options)` and `renderElementToDataUrl` (html-to-image, SVG
38
+ foreignObject renderer with `filter`, root `style`, `canvasWidth/Height`, `skipFonts`, `cacheBust`,
39
+ `imagePlaceholder`); loaded by `import()` only. html2canvas stays the engine for `captureElement`.
40
+ - New subpath `/operate/zip`: `buildZip(entries, { compression, level, comment })` -> Blob, `readZip(input)` ->
41
+ `{ files, get(path) }` (JSZip, lazy; now a dependency, no longer dev-only).
42
+ - New subpath `/operate/pptx`: `buildPresentation(fill, { title, author, subject, layout })` -> .pptx Blob (pptxgenjs, lazy).
43
+
44
+ Consumer action: delete direct `html-to-image` / `jszip` / `pptxgenjs` imports; save Blobs with kit's `downloadFile`.
45
+
3
46
  ## 0.16.0 — 2026-10-07
4
47
 
5
48
  ALC-19 (T4–T12): Alchemy owns every file format the app reads or writes, and DOM capture.
@@ -930,4 +973,3 @@ Initial `@ai-matrx/alchemy` distribution package. It exports the existing kit co
930
973
 
931
974
  Wait for the initial npm publish and the required sibling package releases. Then install `@ai-matrx/alchemy` and replace multiple Alchemy package imports with the matching distribution subpath.
932
975
 
933
-