neozipkit 1.0.2 → 1.5.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.
Files changed (128) hide show
  1. package/NEOZIP_APPNOTE.md +625 -0
  2. package/README.md +44 -11
  3. package/WHATS_NEW.md +153 -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/zstd-browser-shim.d.ts +17 -9
  8. package/dist/browser/zstd-browser-shim.d.ts.map +1 -1
  9. package/dist/browser/zstd-browser-shim.js +99 -21
  10. package/dist/browser/zstd-browser-shim.js.map +1 -1
  11. package/dist/browser-esm/index.js +6534 -1275
  12. package/dist/browser-esm/index.js.map +4 -4
  13. package/dist/browser-umd/index.js +6534 -1275
  14. package/dist/browser-umd/index.js.map +4 -4
  15. package/dist/browser-umd/index.min.js +6 -3
  16. package/dist/core/ZipCompress.d.ts +6 -0
  17. package/dist/core/ZipCompress.d.ts.map +1 -1
  18. package/dist/core/ZipCompress.js +12 -11
  19. package/dist/core/ZipCompress.js.map +1 -1
  20. package/dist/core/ZipCopy.d.ts.map +1 -1
  21. package/dist/core/ZipCopy.js +33 -25
  22. package/dist/core/ZipCopy.js.map +1 -1
  23. package/dist/core/ZipDecompress.d.ts.map +1 -1
  24. package/dist/core/ZipDecompress.js +13 -8
  25. package/dist/core/ZipDecompress.js.map +1 -1
  26. package/dist/core/ZipEntry.d.ts +24 -0
  27. package/dist/core/ZipEntry.d.ts.map +1 -1
  28. package/dist/core/ZipEntry.js +146 -14
  29. package/dist/core/ZipEntry.js.map +1 -1
  30. package/dist/core/Zipkit.d.ts +43 -11
  31. package/dist/core/Zipkit.d.ts.map +1 -1
  32. package/dist/core/Zipkit.js +132 -82
  33. package/dist/core/Zipkit.js.map +1 -1
  34. package/dist/core/components/HashCalculator.d.ts +22 -1
  35. package/dist/core/components/HashCalculator.d.ts.map +1 -1
  36. package/dist/core/components/HashCalculator.js +49 -6
  37. package/dist/core/components/HashCalculator.js.map +1 -1
  38. package/dist/core/components/Util.d.ts +3 -4
  39. package/dist/core/components/Util.d.ts.map +1 -1
  40. package/dist/core/components/Util.js +10 -8
  41. package/dist/core/components/Util.js.map +1 -1
  42. package/dist/core/constants/Headers.d.ts +2 -3
  43. package/dist/core/constants/Headers.d.ts.map +1 -1
  44. package/dist/core/constants/Headers.js +15 -5
  45. package/dist/core/constants/Headers.js.map +1 -1
  46. package/dist/core/constants/MetaPaths.d.ts +38 -0
  47. package/dist/core/constants/MetaPaths.d.ts.map +1 -0
  48. package/dist/core/constants/MetaPaths.js +79 -0
  49. package/dist/core/constants/MetaPaths.js.map +1 -0
  50. package/dist/core/index.d.ts +5 -0
  51. package/dist/core/index.d.ts.map +1 -1
  52. package/dist/core/index.js +18 -1
  53. package/dist/core/index.js.map +1 -1
  54. package/dist/core/inflateZipPayload.d.ts +6 -0
  55. package/dist/core/inflateZipPayload.d.ts.map +1 -0
  56. package/dist/core/inflateZipPayload.js +28 -0
  57. package/dist/core/inflateZipPayload.js.map +1 -0
  58. package/dist/core/merkle/MerkleRoot.d.ts +109 -0
  59. package/dist/core/merkle/MerkleRoot.d.ts.map +1 -0
  60. package/dist/core/merkle/MerkleRoot.js +275 -0
  61. package/dist/core/merkle/MerkleRoot.js.map +1 -0
  62. package/dist/core/origin/OriginExtra.d.ts +43 -0
  63. package/dist/core/origin/OriginExtra.d.ts.map +1 -0
  64. package/dist/core/origin/OriginExtra.js +187 -0
  65. package/dist/core/origin/OriginExtra.js.map +1 -0
  66. package/dist/core/version.js +1 -1
  67. package/dist/core/zip64/Zip64.d.ts +138 -0
  68. package/dist/core/zip64/Zip64.d.ts.map +1 -0
  69. package/dist/core/zip64/Zip64.js +353 -0
  70. package/dist/core/zip64/Zip64.js.map +1 -0
  71. package/dist/node/ZipCompressNode.d.ts.map +1 -1
  72. package/dist/node/ZipCompressNode.js +40 -49
  73. package/dist/node/ZipCompressNode.js.map +1 -1
  74. package/dist/node/ZipCopyNode.d.ts.map +1 -1
  75. package/dist/node/ZipCopyNode.js +26 -26
  76. package/dist/node/ZipCopyNode.js.map +1 -1
  77. package/dist/node/ZipDecompressNode.d.ts.map +1 -1
  78. package/dist/node/ZipDecompressNode.js +21 -3
  79. package/dist/node/ZipDecompressNode.js.map +1 -1
  80. package/dist/node/ZipkitNode.d.ts +23 -1
  81. package/dist/node/ZipkitNode.d.ts.map +1 -1
  82. package/dist/node/ZipkitNode.js +158 -57
  83. package/dist/node/ZipkitNode.js.map +1 -1
  84. package/dist/node/ZstdNode.d.ts +14 -4
  85. package/dist/node/ZstdNode.d.ts.map +1 -1
  86. package/dist/node/ZstdNode.js +28 -4
  87. package/dist/node/ZstdNode.js.map +1 -1
  88. package/dist/node/buildZipBuffer.d.ts +49 -0
  89. package/dist/node/buildZipBuffer.d.ts.map +1 -0
  90. package/dist/node/buildZipBuffer.js +146 -0
  91. package/dist/node/buildZipBuffer.js.map +1 -0
  92. package/dist/node/index.d.ts +3 -0
  93. package/dist/node/index.d.ts.map +1 -1
  94. package/dist/node/index.js +6 -1
  95. package/dist/node/index.js.map +1 -1
  96. package/dist/node/inflateZipPayload.d.ts +5 -0
  97. package/dist/node/inflateZipPayload.d.ts.map +1 -0
  98. package/dist/node/inflateZipPayload.js +21 -0
  99. package/dist/node/inflateZipPayload.js.map +1 -0
  100. package/dist/types/index.js +2 -2
  101. package/node-esm.mjs +32 -0
  102. package/package.json +13 -6
  103. package/src/browser/ZipkitBrowser.ts +4 -6
  104. package/src/browser/zstd-browser-shim.ts +110 -28
  105. package/src/core/ZipCompress.ts +20 -13
  106. package/src/core/ZipCopy.ts +56 -27
  107. package/src/core/ZipDecompress.ts +14 -8
  108. package/src/core/ZipEntry.ts +200 -14
  109. package/src/core/Zipkit.ts +189 -98
  110. package/src/core/components/HashCalculator.ts +58 -6
  111. package/src/core/components/Util.ts +16 -7
  112. package/src/core/constants/Headers.ts +15 -4
  113. package/src/core/constants/MetaPaths.ts +86 -0
  114. package/src/core/index.ts +17 -0
  115. package/src/core/inflateZipPayload.ts +27 -0
  116. package/src/core/merkle/MerkleRoot.ts +312 -0
  117. package/src/core/origin/OriginExtra.ts +209 -0
  118. package/src/core/version.ts +1 -1
  119. package/src/core/zip64/Zip64.ts +473 -0
  120. package/src/node/ZipCompressNode.ts +40 -49
  121. package/src/node/ZipCopyNode.ts +31 -29
  122. package/src/node/ZipDecompressNode.ts +16 -3
  123. package/src/node/ZipkitNode.ts +203 -72
  124. package/src/node/ZstdNode.ts +33 -8
  125. package/src/node/buildZipBuffer.ts +221 -0
  126. package/src/node/index.ts +7 -0
  127. package/src/node/inflateZipPayload.ts +19 -0
  128. package/src/types/index.ts +2 -2
@@ -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,8 @@ 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 Zip64_1 = require("./zip64/Zip64");
38
+ const MetaPaths_1 = require("./constants/MetaPaths");
37
39
  /**
38
40
  * Zipkit - Enhanced ZIP File Processing Library with Dual Mode Support
39
41
  *
@@ -266,7 +268,9 @@ class Zipkit {
266
268
  return this.zipEntries;
267
269
  }
268
270
  /**
269
- * Get specific ZIP entry by filename from zipEntries[] array
271
+ * Get specific ZIP entry by filename from zipEntries[] array.
272
+ * Reserved META-INF paths (APPNOTE §2.3) also match ASCII case-insensitively
273
+ * when an exact spelling is not found.
270
274
  *
271
275
  * @param filename - The name/path of the file/directory to find
272
276
  * @returns ZipEntry object if found, null if not found
@@ -274,7 +278,13 @@ class Zipkit {
274
278
  getZipEntry(filename) {
275
279
  try {
276
280
  const centralDir = this.getDirectory();
277
- return centralDir.find((entry) => entry.filename === filename) || null;
281
+ const exact = centralDir.find((entry) => entry.filename === filename);
282
+ if (exact)
283
+ return exact;
284
+ if ((0, MetaPaths_1.isReservedMetaPath)(filename)) {
285
+ return (0, MetaPaths_1.findReservedMetaEntry)(centralDir, filename);
286
+ }
287
+ return null;
278
288
  }
279
289
  catch (error) {
280
290
  return null;
@@ -460,16 +470,24 @@ class Zipkit {
460
470
  if (eocdBuffer.readUInt32LE(0) === Headers_1.CENTRAL_END.SIGNATURE) {
461
471
  this.centralDirSize = eocdBuffer.readUInt32LE(Headers_1.CENTRAL_END.CENTRAL_DIR_SIZE);
462
472
  this.centralDirOffset = eocdBuffer.readUInt32LE(Headers_1.CENTRAL_END.CENTRAL_DIR_OFFSET);
463
- if (this.centralDirOffset === 0xFFFFFFFF) {
464
- // ZIP64: locate locator (20 bytes before EOCD) and then ZIP64 EOCD (56 bytes)
465
- const locatorOffset = eocdOffset - 20;
466
- const locatorBuffer = buffer.subarray(locatorOffset, locatorOffset + 20);
467
- if (locatorBuffer.readUInt32LE(0) === Headers_1.ZIP64_CENTRAL_END.SIGNATURE) {
468
- const zip64Offset = Number(locatorBuffer.readBigUInt64LE(8));
469
- const zip64Buffer = buffer.subarray(zip64Offset, zip64Offset + 56);
470
- this.centralDirSize = Number(zip64Buffer.readBigUInt64LE(Headers_1.ZIP64_CENTRAL_DIR.CENTRAL_DIR_SIZE));
471
- this.centralDirOffset = Number(zip64Buffer.readBigUInt64LE(Headers_1.ZIP64_CENTRAL_DIR.CENTRAL_DIR_OFFSET));
473
+ const volEntries = eocdBuffer.readUInt16LE(Headers_1.CENTRAL_END.VOL_ENTRIES);
474
+ const totalEntries = eocdBuffer.readUInt16LE(Headers_1.CENTRAL_END.TOTAL_ENTRIES);
475
+ if ((0, Zip64_1.classicEocdNeedsZip64)({
476
+ volEntries,
477
+ totalEntries,
478
+ centralDirSize: this.centralDirSize,
479
+ centralDirOffset: this.centralDirOffset,
480
+ })) {
481
+ const locatorOffset = eocdOffset - Zip64_1.ZIP64_LOCATOR_SIZE;
482
+ if (locatorOffset < 0) {
483
+ throw new Error(Errors_1.default.INVALID_FORMAT);
472
484
  }
485
+ const locatorBuffer = buffer.subarray(locatorOffset, locatorOffset + Zip64_1.ZIP64_LOCATOR_SIZE);
486
+ const zip64Offset = (0, Zip64_1.parseZip64Locator)(locatorBuffer);
487
+ const zip64Buffer = buffer.subarray(zip64Offset, zip64Offset + Zip64_1.ZIP64_EOCD_RECORD_SIZE);
488
+ const z64 = (0, Zip64_1.parseZip64Eocd)(zip64Buffer);
489
+ this.centralDirSize = z64.centralDirSize;
490
+ this.centralDirOffset = z64.centralDirOffset;
473
491
  }
474
492
  }
475
493
  else {
@@ -534,34 +552,38 @@ class Zipkit {
534
552
  * Note: totalEntries must be passed as parameter since zipEntries[] in Zipkit is the cache
535
553
  */
536
554
  centralEndHdrMethod(centralDirSize, centralDirOffset, totalEntries) {
537
- const ceBuf = Buffer.alloc(Headers_1.CENTRAL_END.SIZE);
538
- ceBuf.writeUInt32LE(Headers_1.CENTRAL_END.SIGNATURE, 0);
539
- ceBuf.writeUInt16LE(0, 4); // Number of this disk
540
- ceBuf.writeUInt16LE(0, 6); // Number of the disk with the start of the central directory
541
- ceBuf.writeUInt16LE(totalEntries, 8); // Total number of entries
542
- ceBuf.writeUInt16LE(totalEntries, 10); // Total number of entries on this disk
543
- ceBuf.writeUInt32LE(centralDirSize, 12); // Size of central directory
544
- ceBuf.writeUInt32LE(centralDirOffset, 16); // Offset of start of central directory
545
- ceBuf.writeUInt16LE(0, 20); // ZIP file comment length
546
- return ceBuf;
555
+ // Buffer path: allow entry-count Zip64; refuse size/offset Zip64 (multi-GiB in memory).
556
+ return (0, Zip64_1.buildEndRecords)({
557
+ totalEntries,
558
+ centralDirSize,
559
+ centralDirOffset,
560
+ zip64EocdOffset: centralDirOffset + centralDirSize,
561
+ allowSizeOffsetZip64: false,
562
+ });
547
563
  }
548
564
  /**
549
- * Calculate Merkle Root of the ZIP file
565
+ * Calculate Merkle root of archive content (non-META-INF entries).
566
+ *
567
+ * Per NEOZIP_APPNOTE.md §6:
568
+ * - Default **v1**: domain-separated leaves SHA-256(0x00 ‖ uncompressed bytes) and
569
+ * SHA-256(0x01 ‖ left ‖ right) parents; paths NFC-normalized before sort.
570
+ * - Legacy **v0**: bare 0x014E digests as leaves, duplicate-odd pairing, path as stored.
550
571
  *
551
- * Excludes metadata files (META-INF) to ensure consistent calculation.
552
- * Simply calls getDirectory() and returns null if empty.
572
+ * When only Extra Field digests are available (typical after open), **v1 requires
573
+ * payload bytes**. This sync method therefore returns null for v1; use
574
+ * {@link getMerkleRootAsync} (extracts content) or `{ algorithm: 'v0' }`.
575
+ * When you already hold payloads, use {@link merkleRootFromEntries}.
553
576
  *
554
- * @returns Merkle root string or null if calculation fails
577
+ * @param options.algorithm - `v1` (default) or legacy `v0`
578
+ * @returns Lowercase hex Merkle root, or null if calculation fails
555
579
  */
556
- getMerkleRoot() {
557
- // Simply get directory - no loading logic
580
+ getMerkleRoot(options) {
581
+ const algorithm = options?.algorithm ?? 'v1';
558
582
  let zipEntries;
559
583
  try {
560
584
  zipEntries = this.getDirectory();
561
585
  }
562
586
  catch (error) {
563
- // Catch any errors from getDirectory() - this should never happen
564
- // but if it does, log it and return null
565
587
  Logger_1.Logger.error(`getMerkleRoot(): Error calling getDirectory(): ${error instanceof Error ? error.message : String(error)}`);
566
588
  Logger_1.Logger.error(`getMerkleRoot(): Stack trace: ${error instanceof Error ? error.stack : 'No stack trace'}`);
567
589
  return null;
@@ -569,49 +591,43 @@ class Zipkit {
569
591
  if (!zipEntries || zipEntries.length === 0) {
570
592
  return null;
571
593
  }
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;
594
+ const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
595
+ if (algorithm === 'v0') {
596
+ const digests = contentEntries
597
+ .filter((e) => e.sha256)
598
+ .map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
599
+ return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
600
+ }
601
+ // v1: prefer leaves captured in the same create/extract hash stream (no re-hash)
602
+ if (contentEntries.length > 0 &&
603
+ contentEntries.every((e) => !!e.merkleLeafV1)) {
604
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
605
+ path: e.filename || '',
606
+ merkleLeafV1: e.merkleLeafV1,
607
+ })));
608
+ }
609
+ // v1: bare digests are not leaves — need getMerkleRootAsync() or stream leaves
610
+ return null;
593
611
  }
594
612
  /**
595
- * Calculate Merkle Root of the ZIP file asynchronously
613
+ * Calculate Merkle root (preferred for v1 / new archives).
614
+ *
615
+ * **v1 (default):** uses precomputed stream leaves when available; otherwise extracts
616
+ * each content entry once and folds APPNOTE §6.3 root (no second content hash pass
617
+ * when extract captures merkleLeafV1).
618
+ * **v0:** uses Extra Field digests only (no extract), APPNOTE §6.2.
596
619
  *
597
- * Excludes metadata files (META-INF) to ensure consistent calculation.
598
- * Works with both buffer-based and file-based ZIPs.
620
+ * META-INF/** is excluded. File-streaming mode: use ZipkitNode override (testEntry
621
+ * pipeline) rather than buffering the whole archive.
599
622
  *
600
- * @returns Promise resolving to Merkle root string or null if calculation fails
623
+ * @param options.algorithm - `v1` (default) or legacy `v0`
624
+ * @returns Promise resolving to lowercase hex root, or null
601
625
  */
602
- async getMerkleRootAsync() {
626
+ async getMerkleRootAsync(options) {
627
+ const algorithm = options?.algorithm ?? 'v1';
603
628
  let zipEntries = [];
604
629
  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
- }
630
+ zipEntries = this.getDirectory();
615
631
  }
616
632
  catch (error) {
617
633
  Logger_1.Logger.error(`Failed to get directory for merkle root calculation: ${error instanceof Error ? error.message : String(error)}`);
@@ -620,27 +636,61 @@ class Zipkit {
620
636
  if (!zipEntries || zipEntries.length === 0) {
621
637
  return null;
622
638
  }
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
- });
639
+ const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
640
+ if (algorithm === 'v0') {
641
+ const digests = contentEntries
642
+ .filter((e) => e.sha256)
643
+ .map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
644
+ return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
645
+ }
646
+ // Reuse leaves already produced during write/extract (one stream hash pass)
647
+ if (contentEntries.length > 0 &&
648
+ contentEntries.every((e) => !!e.merkleLeafV1)) {
649
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
650
+ path: e.filename || '',
651
+ merkleLeafV1: e.merkleLeafV1,
652
+ })));
653
+ }
654
+ // Buffer path: one decompress + dual hash inside extract (ZipDecompress)
655
+ if (!this.inBuffer) {
656
+ Logger_1.Logger.error('getMerkleRootAsync() called on file-based ZIP without precomputed merkle leaves. ' +
657
+ 'Use ZipkitNode (streaming testEntry) or ensure create captured merkleLeafV1.');
658
+ return null;
659
+ }
632
660
  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);
661
+ try {
662
+ const data = await this.extract(entry, false);
663
+ if (entry.merkleLeafV1) {
664
+ continue;
665
+ }
666
+ // Legacy decompress without dual leaf: hash payload once, cache leaf
667
+ if (data === null || data.length === 0) {
668
+ entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(Buffer.alloc(0)).toString('hex');
669
+ }
670
+ else {
671
+ entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(data).toString('hex');
672
+ }
673
+ }
674
+ catch (error) {
675
+ Logger_1.Logger.error(`getMerkleRootAsync(): failed to extract ${entry.filename}: ${error instanceof Error ? error.message : String(error)}`);
676
+ return null;
637
677
  }
638
678
  }
639
- const merkleRoot = hashAccumulator.merkleRoot();
640
- if (!merkleRoot) {
679
+ if (!contentEntries.every((e) => !!e.merkleLeafV1)) {
641
680
  return null;
642
681
  }
643
- return merkleRoot;
682
+ return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
683
+ path: e.filename || '',
684
+ merkleLeafV1: e.merkleLeafV1,
685
+ })));
686
+ }
687
+ /**
688
+ * Compute Merkle root from known digests and/or payloads (APPNOTE §6).
689
+ * Prefer this during create when uncompressed bytes are still in hand, or when
690
+ * stream leaves (`merkleLeafV1`) were already produced.
691
+ */
692
+ static merkleRootFromEntries(entries, algorithm = 'v1') {
693
+ return (0, MerkleRoot_1.computeArchiveMerkleRoot)(entries, algorithm);
644
694
  }
645
695
  }
646
696
  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":";AAAA,yCAAyC;AACzC,8CAA8C;AAC9C,gFAAgF;AAChF,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,+CAAiC;AACjC,uDAAsD;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,cAAc;IAyBzB;;;;;OAKG;IACH,YAAY,OAGX;QAjCD,iEAAiE;QACzD,eAAU,GAAW,CAAC,CAAC,CAAC;QACxB,eAAU,GAAuB,IAAI,CAAC;QAC9C,4EAA4E;QACpE,mBAAc,GAAuB,IAAI,CAAC;QAC1C,cAAS,GAAY,KAAK,CAAC;QAEnC,iDAAiD;QACzC,WAAM,GAAa,EAAE,CAAC;QACtB,cAAS,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QAE5C,uGAAuG;QAC/F,iBAAY,GAAa,EAAE,CAAC;QAC5B,iBAAY,GAAe,EAAE,CAAC;QAC9B,kBAAa,GAAsB;YACzC,UAAU,EAAE,KAAK;YACjB,+FAA+F;YAC/F,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;YAChB,2EAA2E;YAC3E,YAAY,EAAE,IAAI;SACnB,CAAC;QAYA,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,KAAK,CAAC;QAE/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,mEAAmE;IACnE,+EAA+E;IAE/E;;;;OAIG;IACH,MAAM,CAAC,KAAa;QAClB,kEAAkE;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,oDAAoD;IACrF,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,KAIC,EACD,OAAkD;QAElD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,mDAAmD;IACnD,+EAA+E;IAE/E;;;OAGG;IACH,OAAO,CAAC,IAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ;YACzC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC;QAET,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnC,mBAAmB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAkC;QACtD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,qBAAqB;QACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,+EAA+E;IAC/E,wCAAwC;IACxC,+EAA+E;IAE/E;;;;OAIG;IACK,IAAI,CAAC,IAAY;QACvB,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,IAAY,EAAE,KAAa;QAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,iFAAiF;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,KAAe;QAClC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE3B,yBAAyB;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAED,6BAA6B;YAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;oBACpC,iCAAiC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAErC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC,EAAE,EAAc,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAe,EAAE,UAAkB,EAAE,IAAY;QACtD,IAAI,YAAY,GAAG,UAAU,CAAC;QAE9B,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YACjC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC;gBAC5D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF;AApYD,wCAoYC;AAED,iBAAiB;AACjB,kBAAe,cAAc,CAAC"}
@@ -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"}