neozipkit 1.0.2 → 1.0.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 (76) hide show
  1. package/NEOZIP_APPNOTE.md +527 -0
  2. package/README.md +8 -5
  3. package/WHATS_NEW.md +42 -10
  4. package/dist/browser/ZipkitBrowser.d.ts.map +1 -1
  5. package/dist/browser/ZipkitBrowser.js +4 -6
  6. package/dist/browser/ZipkitBrowser.js.map +1 -1
  7. package/dist/browser-esm/index.js +424 -82
  8. package/dist/browser-esm/index.js.map +4 -4
  9. package/dist/browser-umd/index.js +424 -82
  10. package/dist/browser-umd/index.js.map +4 -4
  11. package/dist/browser-umd/index.min.js +3 -3
  12. package/dist/core/ZipCompress.d.ts.map +1 -1
  13. package/dist/core/ZipCompress.js +12 -11
  14. package/dist/core/ZipCompress.js.map +1 -1
  15. package/dist/core/ZipDecompress.d.ts.map +1 -1
  16. package/dist/core/ZipDecompress.js +13 -8
  17. package/dist/core/ZipDecompress.js.map +1 -1
  18. package/dist/core/ZipEntry.d.ts +6 -0
  19. package/dist/core/ZipEntry.d.ts.map +1 -1
  20. package/dist/core/ZipEntry.js +7 -1
  21. package/dist/core/ZipEntry.js.map +1 -1
  22. package/dist/core/Zipkit.d.ts +43 -11
  23. package/dist/core/Zipkit.d.ts.map +1 -1
  24. package/dist/core/Zipkit.js +106 -63
  25. package/dist/core/Zipkit.js.map +1 -1
  26. package/dist/core/components/HashCalculator.d.ts +22 -1
  27. package/dist/core/components/HashCalculator.d.ts.map +1 -1
  28. package/dist/core/components/HashCalculator.js +49 -6
  29. package/dist/core/components/HashCalculator.js.map +1 -1
  30. package/dist/core/components/Util.d.ts +3 -4
  31. package/dist/core/components/Util.d.ts.map +1 -1
  32. package/dist/core/components/Util.js +10 -8
  33. package/dist/core/components/Util.js.map +1 -1
  34. package/dist/core/constants/Headers.d.ts +1 -3
  35. package/dist/core/constants/Headers.d.ts.map +1 -1
  36. package/dist/core/constants/Headers.js +14 -5
  37. package/dist/core/constants/Headers.js.map +1 -1
  38. package/dist/core/constants/MetaPaths.d.ts +38 -0
  39. package/dist/core/constants/MetaPaths.d.ts.map +1 -0
  40. package/dist/core/constants/MetaPaths.js +79 -0
  41. package/dist/core/constants/MetaPaths.js.map +1 -0
  42. package/dist/core/index.d.ts +2 -0
  43. package/dist/core/index.d.ts.map +1 -1
  44. package/dist/core/index.js +14 -1
  45. package/dist/core/index.js.map +1 -1
  46. package/dist/core/merkle/MerkleRoot.d.ts +109 -0
  47. package/dist/core/merkle/MerkleRoot.d.ts.map +1 -0
  48. package/dist/core/merkle/MerkleRoot.js +275 -0
  49. package/dist/core/merkle/MerkleRoot.js.map +1 -0
  50. package/dist/core/version.js +1 -1
  51. package/dist/node/ZipCompressNode.d.ts.map +1 -1
  52. package/dist/node/ZipCompressNode.js +40 -49
  53. package/dist/node/ZipCompressNode.js.map +1 -1
  54. package/dist/node/ZipDecompressNode.d.ts.map +1 -1
  55. package/dist/node/ZipDecompressNode.js +17 -1
  56. package/dist/node/ZipDecompressNode.js.map +1 -1
  57. package/dist/node/ZipkitNode.d.ts +9 -0
  58. package/dist/node/ZipkitNode.d.ts.map +1 -1
  59. package/dist/node/ZipkitNode.js +67 -4
  60. package/dist/node/ZipkitNode.js.map +1 -1
  61. package/package.json +3 -2
  62. package/src/browser/ZipkitBrowser.ts +4 -6
  63. package/src/core/ZipCompress.ts +14 -13
  64. package/src/core/ZipDecompress.ts +14 -8
  65. package/src/core/ZipEntry.ts +8 -1
  66. package/src/core/Zipkit.ts +149 -76
  67. package/src/core/components/HashCalculator.ts +58 -6
  68. package/src/core/components/Util.ts +16 -7
  69. package/src/core/constants/Headers.ts +14 -4
  70. package/src/core/constants/MetaPaths.ts +86 -0
  71. package/src/core/index.ts +14 -0
  72. package/src/core/merkle/MerkleRoot.ts +312 -0
  73. package/src/core/version.ts +1 -1
  74. package/src/node/ZipCompressNode.ts +40 -49
  75. package/src/node/ZipDecompressNode.ts +13 -1
  76. package/src/node/ZipkitNode.ts +82 -4
@@ -17,7 +17,7 @@ const types_1 = require("../types");
17
17
  const ZipCompress_1 = require("./ZipCompress");
18
18
  const ZipDecompress_1 = __importDefault(require("./ZipDecompress"));
19
19
  const ZipCrypto_1 = require("./encryption/ZipCrypto");
20
- const HashCalculator_1 = __importDefault(require("./components/HashCalculator"));
20
+ const MerkleRoot_1 = require("./merkle/MerkleRoot");
21
21
  const Headers_1 = require("./constants/Headers");
22
22
  Object.defineProperty(exports, "LOCAL_HDR", { enumerable: true, get: function () { return Headers_1.LOCAL_HDR; } });
23
23
  Object.defineProperty(exports, "ENCRYPT_HDR_SIZE", { enumerable: true, get: function () { return Headers_1.ENCRYPT_HDR_SIZE; } });
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "LOCAL_FILE_HEADER", { enumerable: true, get: fun
34
34
  Object.defineProperty(exports, "CENTRAL_FILE_HEADER", { enumerable: true, get: function () { return Headers_1.CENTRAL_FILE_HEADER; } });
35
35
  Object.defineProperty(exports, "CENTRAL_DIRECTORY_END", { enumerable: true, get: function () { return Headers_1.CENTRAL_DIRECTORY_END; } });
36
36
  Object.defineProperty(exports, "HDR_ID", { enumerable: true, get: function () { return Headers_1.HDR_ID; } });
37
+ const MetaPaths_1 = require("./constants/MetaPaths");
37
38
  /**
38
39
  * Zipkit - Enhanced ZIP File Processing Library with Dual Mode Support
39
40
  *
@@ -266,7 +267,9 @@ class Zipkit {
266
267
  return this.zipEntries;
267
268
  }
268
269
  /**
269
- * Get specific ZIP entry by filename from zipEntries[] array
270
+ * Get specific ZIP entry by filename from zipEntries[] array.
271
+ * Reserved META-INF paths (APPNOTE §2.3) also match ASCII case-insensitively
272
+ * when an exact spelling is not found.
270
273
  *
271
274
  * @param filename - The name/path of the file/directory to find
272
275
  * @returns ZipEntry object if found, null if not found
@@ -274,7 +277,13 @@ class Zipkit {
274
277
  getZipEntry(filename) {
275
278
  try {
276
279
  const centralDir = this.getDirectory();
277
- return centralDir.find((entry) => entry.filename === filename) || null;
280
+ const exact = centralDir.find((entry) => entry.filename === filename);
281
+ if (exact)
282
+ return exact;
283
+ if ((0, MetaPaths_1.isReservedMetaPath)(filename)) {
284
+ return (0, MetaPaths_1.findReservedMetaEntry)(centralDir, filename);
285
+ }
286
+ return null;
278
287
  }
279
288
  catch (error) {
280
289
  return null;
@@ -546,22 +555,28 @@ class Zipkit {
546
555
  return ceBuf;
547
556
  }
548
557
  /**
549
- * Calculate Merkle Root of the ZIP file
558
+ * Calculate Merkle root of archive content (non-META-INF entries).
559
+ *
560
+ * Per NEOZIP_APPNOTE.md §6:
561
+ * - Default **v1**: domain-separated leaves SHA-256(0x00 ‖ uncompressed bytes) and
562
+ * SHA-256(0x01 ‖ left ‖ right) parents; paths NFC-normalized before sort.
563
+ * - Legacy **v0**: bare 0x014E digests as leaves, duplicate-odd pairing, path as stored.
550
564
  *
551
- * Excludes metadata files (META-INF) to ensure consistent calculation.
552
- * Simply calls getDirectory() and returns null if empty.
565
+ * When only Extra Field digests are available (typical after open), **v1 requires
566
+ * payload bytes**. This sync method therefore returns null for v1; use
567
+ * {@link getMerkleRootAsync} (extracts content) or `{ algorithm: 'v0' }`.
568
+ * When you already hold payloads, use {@link merkleRootFromEntries}.
553
569
  *
554
- * @returns Merkle root string or null if calculation fails
570
+ * @param options.algorithm - `v1` (default) or legacy `v0`
571
+ * @returns Lowercase hex Merkle root, or null if calculation fails
555
572
  */
556
- getMerkleRoot() {
557
- // Simply get directory - no loading logic
573
+ getMerkleRoot(options) {
574
+ const algorithm = options?.algorithm ?? 'v1';
558
575
  let zipEntries;
559
576
  try {
560
577
  zipEntries = this.getDirectory();
561
578
  }
562
579
  catch (error) {
563
- // Catch any errors from getDirectory() - this should never happen
564
- // but if it does, log it and return null
565
580
  Logger_1.Logger.error(`getMerkleRoot(): Error calling getDirectory(): ${error instanceof Error ? error.message : String(error)}`);
566
581
  Logger_1.Logger.error(`getMerkleRoot(): Stack trace: ${error instanceof Error ? error.stack : 'No stack trace'}`);
567
582
  return null;
@@ -569,49 +584,43 @@ class Zipkit {
569
584
  if (!zipEntries || zipEntries.length === 0) {
570
585
  return null;
571
586
  }
572
- const hashAccumulator = new HashCalculator_1.default({ enableAccumulation: true });
573
- // Filter out metadata files (META-INF) to ensure consistent Merkle Root calculation
574
- // Inline check to avoid conflict with ZipkitBrowser's isMetadataFile() method
575
- const contentEntries = zipEntries.filter(entry => {
576
- const filename = entry.filename || '';
577
- return filename !== Headers_1.TIMESTAMP_SUBMITTED &&
578
- filename !== Headers_1.TIMESTAMP_METADATA &&
579
- filename !== Headers_1.TOKENIZED_METADATA;
580
- });
581
- for (const entry of contentEntries) {
582
- if (entry.sha256) {
583
- // Convert hex string to Buffer
584
- const hashBuffer = Buffer.from(entry.sha256, 'hex');
585
- hashAccumulator.addHash(hashBuffer);
586
- }
587
- }
588
- const merkleRoot = hashAccumulator.merkleRoot();
589
- if (!merkleRoot) {
590
- return null;
591
- }
592
- return merkleRoot;
587
+ const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
588
+ if (algorithm === 'v0') {
589
+ const digests = contentEntries
590
+ .filter((e) => e.sha256)
591
+ .map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
592
+ return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
593
+ }
594
+ // v1: prefer leaves captured in the same create/extract hash stream (no re-hash)
595
+ if (contentEntries.length > 0 &&
596
+ contentEntries.every((e) => !!e.merkleLeafV1)) {
597
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
598
+ path: e.filename || '',
599
+ merkleLeafV1: e.merkleLeafV1,
600
+ })));
601
+ }
602
+ // v1: bare digests are not leaves — need getMerkleRootAsync() or stream leaves
603
+ return null;
593
604
  }
594
605
  /**
595
- * Calculate Merkle Root of the ZIP file asynchronously
606
+ * Calculate Merkle root (preferred for v1 / new archives).
607
+ *
608
+ * **v1 (default):** uses precomputed stream leaves when available; otherwise extracts
609
+ * each content entry once and folds APPNOTE §6.3 root (no second content hash pass
610
+ * when extract captures merkleLeafV1).
611
+ * **v0:** uses Extra Field digests only (no extract), APPNOTE §6.2.
596
612
  *
597
- * Excludes metadata files (META-INF) to ensure consistent calculation.
598
- * Works with both buffer-based and file-based ZIPs.
613
+ * META-INF/** is excluded. File-streaming mode: use ZipkitNode override (testEntry
614
+ * pipeline) rather than buffering the whole archive.
599
615
  *
600
- * @returns Promise resolving to Merkle root string or null if calculation fails
616
+ * @param options.algorithm - `v1` (default) or legacy `v0`
617
+ * @returns Promise resolving to lowercase hex root, or null
601
618
  */
602
- async getMerkleRootAsync() {
619
+ async getMerkleRootAsync(options) {
620
+ const algorithm = options?.algorithm ?? 'v1';
603
621
  let zipEntries = [];
604
622
  try {
605
- // Get entries based on ZIP type
606
- if (this.inBuffer) {
607
- zipEntries = this.getDirectory();
608
- }
609
- else {
610
- // File-based: cannot get entries synchronously - return null
611
- // Caller should use ZipkitServer.getMerkleRootAsync() for file-based ZIPs
612
- Logger_1.Logger.error('getMerkleRootAsync() called on file-based ZIP. Use ZipkitServer.getMerkleRootAsync() instead.');
613
- return null;
614
- }
623
+ zipEntries = this.getDirectory();
615
624
  }
616
625
  catch (error) {
617
626
  Logger_1.Logger.error(`Failed to get directory for merkle root calculation: ${error instanceof Error ? error.message : String(error)}`);
@@ -620,27 +629,61 @@ class Zipkit {
620
629
  if (!zipEntries || zipEntries.length === 0) {
621
630
  return null;
622
631
  }
623
- const hashAccumulator = new HashCalculator_1.default({ enableAccumulation: true });
624
- // Filter out metadata files (META-INF) to ensure consistent Merkle Root calculation
625
- // Inline check to avoid conflict with ZipkitBrowser's isMetadataFile() method
626
- const contentEntries = zipEntries.filter(entry => {
627
- const filename = entry.filename || '';
628
- return filename !== Headers_1.TIMESTAMP_SUBMITTED &&
629
- filename !== Headers_1.TIMESTAMP_METADATA &&
630
- filename !== Headers_1.TOKENIZED_METADATA;
631
- });
632
+ const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
633
+ if (algorithm === 'v0') {
634
+ const digests = contentEntries
635
+ .filter((e) => e.sha256)
636
+ .map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
637
+ return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
638
+ }
639
+ // Reuse leaves already produced during write/extract (one stream hash pass)
640
+ if (contentEntries.length > 0 &&
641
+ contentEntries.every((e) => !!e.merkleLeafV1)) {
642
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
643
+ path: e.filename || '',
644
+ merkleLeafV1: e.merkleLeafV1,
645
+ })));
646
+ }
647
+ // Buffer path: one decompress + dual hash inside extract (ZipDecompress)
648
+ if (!this.inBuffer) {
649
+ Logger_1.Logger.error('getMerkleRootAsync() called on file-based ZIP without precomputed merkle leaves. ' +
650
+ 'Use ZipkitNode (streaming testEntry) or ensure create captured merkleLeafV1.');
651
+ return null;
652
+ }
632
653
  for (const entry of contentEntries) {
633
- if (entry.sha256) {
634
- // Convert hex string to Buffer
635
- const hashBuffer = Buffer.from(entry.sha256, 'hex');
636
- hashAccumulator.addHash(hashBuffer);
654
+ try {
655
+ const data = await this.extract(entry, false);
656
+ if (entry.merkleLeafV1) {
657
+ continue;
658
+ }
659
+ // Legacy decompress without dual leaf: hash payload once, cache leaf
660
+ if (data === null || data.length === 0) {
661
+ entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(Buffer.alloc(0)).toString('hex');
662
+ }
663
+ else {
664
+ entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(data).toString('hex');
665
+ }
666
+ }
667
+ catch (error) {
668
+ Logger_1.Logger.error(`getMerkleRootAsync(): failed to extract ${entry.filename}: ${error instanceof Error ? error.message : String(error)}`);
669
+ return null;
637
670
  }
638
671
  }
639
- const merkleRoot = hashAccumulator.merkleRoot();
640
- if (!merkleRoot) {
672
+ if (!contentEntries.every((e) => !!e.merkleLeafV1)) {
641
673
  return null;
642
674
  }
643
- return merkleRoot;
675
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
676
+ path: e.filename || '',
677
+ merkleLeafV1: e.merkleLeafV1,
678
+ })));
679
+ }
680
+ /**
681
+ * Compute Merkle root from known digests and/or payloads (APPNOTE §6).
682
+ * Prefer this during create when uncompressed bytes are still in hand, or when
683
+ * stream leaves (`merkleLeafV1`) were already produced.
684
+ */
685
+ static merkleRootFromEntries(entries, algorithm = 'v1') {
686
+ return (0, MerkleRoot_1.computeArchiveMerkleRoot)(entries, algorithm);
644
687
  }
645
688
  }
646
689
  Zipkit.version = types_1.NEOZIPKIT_INFO.version;
@@ -1 +1 @@
1
- {"version":3,"file":"Zipkit.js","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Zipkit.js","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@
26
26
  export declare class HashCalculator {
27
27
  private crc32State;
28
28
  private sha256Hash;
29
+ /** Domain-separated leaf hasher (APPNOTE §6.3): SHA-256(0x00 ‖ payload). */
30
+ private merkleLeafHash;
29
31
  private useSHA256;
30
32
  private hashes;
31
33
  private xorResult;
@@ -55,10 +57,29 @@ export declare class HashCalculator {
55
57
  */
56
58
  finalizeCRC32(): number;
57
59
  /**
58
- * Get final SHA-256 hash as hex string
60
+ * Get final SHA-256 hash as hex string (Extra Field 0x014E — bare content digest)
59
61
  * @returns SHA-256 hash as hex string, or null if SHA-256 not enabled
60
62
  */
61
63
  finalizeSHA256(): string | null;
64
+ /**
65
+ * Get APPNOTE §6.3 v1 Merkle leaf: SHA-256(0x00 ‖ uncompressed payload) as hex.
66
+ * Consumes the leaf hasher; call after or instead of finalizeSHA256 for dual streams.
67
+ */
68
+ finalizeMerkleLeafV1(): string | null;
69
+ /**
70
+ * Apply stream digests to a ZIP entry in one place.
71
+ *
72
+ * When SHA-256 was enabled, both Extra Field 0x014E (`sha256`) and the v1 Merkle leaf
73
+ * (`merkleLeafV1`) are finalized from the **same** chunk stream — no second payload pass.
74
+ */
75
+ applyToEntry(entry: {
76
+ crc: number;
77
+ sha256: string | null;
78
+ merkleLeafV1?: string | null;
79
+ }, options: {
80
+ setCrc?: boolean;
81
+ setSha256?: boolean;
82
+ }): void;
62
83
  /**
63
84
  * Reset the incremental hash calculation state
64
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HashCalculator.d.ts","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,kBAAkB,CAAkB;IAG5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAKnB;IAEF;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAaD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAO/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuBpC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAOjB;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAsB3B;;;OAGG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAiBxE;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA2BhC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;CAWnE;AAGD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"HashCalculator.d.ts","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAA4B;IAC9C,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,kBAAkB,CAAkB;IAG5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAOnB;IAEF;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAeD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAe3B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAO/B;;;OAGG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAOrC;;;;;OAKG;IACH,YAAY,CACV,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EACD,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACjD,IAAI;IAgBP;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuBpC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAOjB;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAsB3B;;;OAGG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAiBxE;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA2BhC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;CAWnE;AAGD,eAAe,cAAc,CAAC"}
@@ -76,24 +76,30 @@ class HashCalculator {
76
76
  // Incremental hash calculation state (from StreamHashCalculator)
77
77
  this.crc32State = ~0;
78
78
  this.sha256Hash = null;
79
+ /** Domain-separated leaf hasher (APPNOTE §6.3): SHA-256(0x00 ‖ payload). */
80
+ this.merkleLeafHash = null;
79
81
  this.useSHA256 = false;
80
82
  // Hash accumulation state (from HashAccumulator)
81
83
  this.hashes = [];
82
84
  this.xorResult = Buffer.alloc(32, 0);
83
85
  this.enableAccumulation = false;
84
- // Merkle tree state (from MerkleTree)
86
+ // Merkle tree state (from MerkleTree) — generic digest folding; archive roots use merkle/MerkleRoot.ts
85
87
  this.merkleLeaves = [];
86
88
  this.merkleLayers = [];
87
89
  this.merkleOptions = {
88
90
  hashLeaves: false,
89
- sortLeaves: true,
90
- sortPairs: true,
91
+ // Archive content roots sort by path in MerkleRoot; generic accumulator keeps insertion order.
92
+ sortLeaves: false,
93
+ sortPairs: false,
94
+ // match APPNOTE v0 odd-leaf rule when used as a generic Bitcoin-style tree
91
95
  duplicateOdd: true
92
96
  };
93
97
  this.useSHA256 = options?.useSHA256 || false;
94
98
  this.enableAccumulation = options?.enableAccumulation || false;
95
99
  if (this.useSHA256) {
96
100
  this.sha256Hash = crypto.createHash('sha256');
101
+ this.merkleLeafHash = crypto.createHash('sha256');
102
+ this.merkleLeafHash.update(Buffer.from([0x00]));
97
103
  }
98
104
  }
99
105
  // ============================================================================
@@ -109,10 +115,13 @@ class HashCalculator {
109
115
  for (let i = 0; i < chunk.length; i++) {
110
116
  this.crc32State = (0, ZipCrypto_1.crc32update)(this.crc32State, chunk[i]);
111
117
  }
112
- // Update SHA-256 incrementally
118
+ // Update SHA-256 and v1 Merkle leaf hash incrementally
113
119
  if (this.sha256Hash) {
114
120
  this.sha256Hash.update(chunk);
115
121
  }
122
+ if (this.merkleLeafHash) {
123
+ this.merkleLeafHash.update(chunk);
124
+ }
116
125
  }
117
126
  /**
118
127
  * Get final CRC-32 value
@@ -122,7 +131,7 @@ class HashCalculator {
122
131
  return ~this.crc32State >>> 0; // Finalize with ~0 like the existing crc32 function
123
132
  }
124
133
  /**
125
- * Get final SHA-256 hash as hex string
134
+ * Get final SHA-256 hash as hex string (Extra Field 0x014E — bare content digest)
126
135
  * @returns SHA-256 hash as hex string, or null if SHA-256 not enabled
127
136
  */
128
137
  finalizeSHA256() {
@@ -131,13 +140,46 @@ class HashCalculator {
131
140
  }
132
141
  return null;
133
142
  }
143
+ /**
144
+ * Get APPNOTE §6.3 v1 Merkle leaf: SHA-256(0x00 ‖ uncompressed payload) as hex.
145
+ * Consumes the leaf hasher; call after or instead of finalizeSHA256 for dual streams.
146
+ */
147
+ finalizeMerkleLeafV1() {
148
+ if (this.merkleLeafHash) {
149
+ return this.merkleLeafHash.digest('hex');
150
+ }
151
+ return null;
152
+ }
153
+ /**
154
+ * Apply stream digests to a ZIP entry in one place.
155
+ *
156
+ * When SHA-256 was enabled, both Extra Field 0x014E (`sha256`) and the v1 Merkle leaf
157
+ * (`merkleLeafV1`) are finalized from the **same** chunk stream — no second payload pass.
158
+ */
159
+ applyToEntry(entry, options) {
160
+ if (options.setCrc) {
161
+ entry.crc = this.finalizeCRC32();
162
+ }
163
+ if (options.setSha256) {
164
+ const digest = this.finalizeSHA256();
165
+ const leaf = this.finalizeMerkleLeafV1();
166
+ if (digest) {
167
+ entry.sha256 = digest;
168
+ }
169
+ if (leaf) {
170
+ entry.merkleLeafV1 = leaf;
171
+ }
172
+ }
173
+ }
134
174
  /**
135
175
  * Reset the incremental hash calculation state
136
176
  */
137
177
  reset() {
138
178
  this.crc32State = ~0;
139
- if (this.sha256Hash) {
179
+ if (this.useSHA256) {
140
180
  this.sha256Hash = crypto.createHash('sha256');
181
+ this.merkleLeafHash = crypto.createHash('sha256');
182
+ this.merkleLeafHash.update(Buffer.from([0x00]));
141
183
  }
142
184
  }
143
185
  // ============================================================================
@@ -255,6 +297,7 @@ class HashCalculator {
255
297
  if (this.merkleOptions.sortPairs && Buffer.compare(left, right) > 0) {
256
298
  [left, right] = [right, left];
257
299
  }
300
+ // Generic accumulator tree (not APPNOTE archive root — see merkle/MerkleRoot.ts)
258
301
  return this.hash(Buffer.concat([left, right]));
259
302
  }
260
303
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HashCalculator.js","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HashCalculator.js","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { findReservedMetaEntry, isReservedMetaPath, isMetaInfPath, asciiPathEqualsIgnoreCase, } from "../constants/MetaPaths";
1
2
  export declare const DATATYPE: {
2
3
  STRING: string;
3
4
  BUFFER: string;
@@ -17,10 +18,8 @@ interface StreamLike {
17
18
  export declare function isStream(obj: unknown): obj is StreamLike;
18
19
  export declare function getTypeOf(input: string | Buffer | Blob | Array<any> | ArrayBuffer | Uint8Array): string;
19
20
  /**
20
- * Check if a filename is a metadata file
21
- * @param filename The filename to check
22
- * @returns True if the file is a metadata file (META-INF)
21
+ * Check if a filename is NeoZip metadata (any META-INF/** path).
22
+ * Case-insensitive on the META-INF/ prefix (NEOZIP_APPNOTE.md §2.3 / §6.2).
23
23
  */
24
24
  export declare const isMetadataFile: (filename: string) => boolean;
25
- export {};
26
25
  //# sourceMappingURL=Util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/core/components/Util.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC;AAGF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrE;AAGD,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAA0B,CAAC;AAEpE,UAAU,UAAU;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAMxD;AAKD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,KAAK,CAAC,GAAG,CAAC,GAAC,WAAW,GAAC,UAAU,GAAG,MAAM,CA+B7F;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,OAIjD,CAAC"}
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/core/components/Util.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC;AAGF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrE;AAGD,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAA0B,CAAC;AAEpE,UAAU,UAAU;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAMxD;AAKD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,KAAK,CAAC,GAAG,CAAC,GAAC,WAAW,GAAC,UAAU,GAAG,MAAM,CA+B7F;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,OAEjD,CAAC"}
@@ -8,13 +8,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.isMetadataFile = exports.uMul = exports.DATATYPE = void 0;
11
+ exports.isMetadataFile = exports.uMul = exports.DATATYPE = exports.asciiPathEqualsIgnoreCase = exports.isMetaInfPath = exports.isReservedMetaPath = exports.findReservedMetaEntry = void 0;
12
12
  exports.readBigUInt64LE = readBigUInt64LE;
13
13
  exports.isStream = isStream;
14
14
  exports.getTypeOf = getTypeOf;
15
15
  const Support_1 = __importDefault(require("./Support"));
16
16
  const Errors_1 = __importDefault(require("../constants/Errors"));
17
- const Headers_1 = require("../constants/Headers");
17
+ const MetaPaths_1 = require("../constants/MetaPaths");
18
+ var MetaPaths_2 = require("../constants/MetaPaths");
19
+ Object.defineProperty(exports, "findReservedMetaEntry", { enumerable: true, get: function () { return MetaPaths_2.findReservedMetaEntry; } });
20
+ Object.defineProperty(exports, "isReservedMetaPath", { enumerable: true, get: function () { return MetaPaths_2.isReservedMetaPath; } });
21
+ Object.defineProperty(exports, "isMetaInfPath", { enumerable: true, get: function () { return MetaPaths_2.isMetaInfPath; } });
22
+ Object.defineProperty(exports, "asciiPathEqualsIgnoreCase", { enumerable: true, get: function () { return MetaPaths_2.asciiPathEqualsIgnoreCase; } });
18
23
  exports.DATATYPE = {
19
24
  STRING: "string",
20
25
  BUFFER: "buffer",
@@ -82,14 +87,11 @@ function getTypeOf(input) {
82
87
  }
83
88
  ;
84
89
  /**
85
- * Check if a filename is a metadata file
86
- * @param filename The filename to check
87
- * @returns True if the file is a metadata file (META-INF)
90
+ * Check if a filename is NeoZip metadata (any META-INF/** path).
91
+ * Case-insensitive on the META-INF/ prefix (NEOZIP_APPNOTE.md §2.3 / §6.2).
88
92
  */
89
93
  const isMetadataFile = (filename) => {
90
- return filename === Headers_1.TIMESTAMP_SUBMITTED ||
91
- filename === Headers_1.TIMESTAMP_METADATA ||
92
- filename === Headers_1.TOKENIZED_METADATA;
94
+ return (0, MetaPaths_1.isMetaInfPath)(filename);
93
95
  };
94
96
  exports.isMetadataFile = isMetadataFile;
95
97
  //# sourceMappingURL=Util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/core/components/Util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/core/components/Util.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,7 @@ export declare const CENTRAL_DIRECTORY_END = "PK\u0005\u0006";
4
4
  export declare const ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\u0006\u0007";
5
5
  export declare const ZIP64_CENTRAL_DIRECTORY_END = "PK\u0006\u0006";
6
6
  export declare const DATA_DESCRIPTOR = "PK\u0007\b";
7
- export declare const TIMESTAMP_SUBMITTED = "META-INF/TS-SUBMIT.OTS";
8
- export declare const TIMESTAMP_METADATA = "META-INF/TIMESTAMP.OTS";
9
- export declare const TOKENIZED_METADATA = "META-INF/NZIP.TOKEN";
7
+ export { META_TOKEN_NZIP, META_TOKEN_NZIP_LEGACY, META_TS_SUBMIT_NZIP, META_TIMESTAMP_NZIP, META_TS_SUBMIT_OTS, META_TIMESTAMP_OTS, META_MANIFEST_JSON, TIMESTAMP_SUBMITTED, TIMESTAMP_METADATA, TOKENIZED_METADATA, } from './MetaPaths';
10
8
  export declare const LOCAL_HDR: {
11
9
  SIZE: number;
12
10
  SIGNATURE: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.d.ts","sourceRoot":"","sources":["../../../src/core/constants/Headers.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,mBAAe,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAe,CAAC;AAChD,eAAO,MAAM,qBAAqB,mBAAe,CAAC;AAClD,eAAO,MAAM,+BAA+B,mBAAe,CAAC;AAC5D,eAAO,MAAM,2BAA2B,mBAAe,CAAC;AACxD,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAGxD,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYrB,CAAC;AACF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,YAAY,QAAiE,CAAC;AAG3F,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,2BAA2B,QAA4B,CAAC;AACrE,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAGlF,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAkBvB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;CAUvB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAc7B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAgBtB,CAAC;AAGF,eAAO,MAAM,OAAO;;;;;;;;;;CAcnB,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAGF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;CAoBvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAC"}
1
+ {"version":3,"file":"Headers.d.ts","sourceRoot":"","sources":["../../../src/core/constants/Headers.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,mBAAe,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAe,CAAC;AAChD,eAAO,MAAM,qBAAqB,mBAAe,CAAC;AAClD,eAAO,MAAM,+BAA+B,mBAAe,CAAC;AAC5D,eAAO,MAAM,2BAA2B,mBAAe,CAAC;AACxD,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYrB,CAAC;AACF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,YAAY,QAAiE,CAAC;AAG3F,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,2BAA2B,QAA4B,CAAC;AACrE,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAGlF,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAkBvB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;CAUvB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAc7B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAgBtB,CAAC;AAGF,eAAO,MAAM,OAAO;;;;;;;;;;CAcnB,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAGF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;CAoBvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAC"}