neozipkit 0.8.0 → 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 (115) hide show
  1. package/NEOZIP_APPNOTE.md +527 -0
  2. package/README.md +57 -21
  3. package/WHATS_NEW.md +146 -0
  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 +28 -0
  8. package/dist/browser/zstd-browser-shim.d.ts.map +1 -0
  9. package/dist/browser/zstd-browser-shim.js +66 -0
  10. package/dist/browser/zstd-browser-shim.js.map +1 -0
  11. package/dist/browser-esm/index.js +2110 -41755
  12. package/dist/browser-esm/index.js.map +4 -4
  13. package/dist/browser-umd/index.js +2110 -41755
  14. package/dist/browser-umd/index.js.map +4 -4
  15. package/dist/browser-umd/index.min.js +3 -21
  16. package/dist/core/ZipCompress.d.ts +2 -7
  17. package/dist/core/ZipCompress.d.ts.map +1 -1
  18. package/dist/core/ZipCompress.js +57 -33
  19. package/dist/core/ZipCompress.js.map +1 -1
  20. package/dist/core/ZipDecompress.d.ts +1 -3
  21. package/dist/core/ZipDecompress.d.ts.map +1 -1
  22. package/dist/core/ZipDecompress.js +27 -17
  23. package/dist/core/ZipDecompress.js.map +1 -1
  24. package/dist/core/ZipEntry.d.ts +6 -0
  25. package/dist/core/ZipEntry.d.ts.map +1 -1
  26. package/dist/core/ZipEntry.js +7 -1
  27. package/dist/core/ZipEntry.js.map +1 -1
  28. package/dist/core/Zipkit.d.ts +43 -11
  29. package/dist/core/Zipkit.d.ts.map +1 -1
  30. package/dist/core/Zipkit.js +106 -63
  31. package/dist/core/Zipkit.js.map +1 -1
  32. package/dist/core/components/HashCalculator.d.ts +22 -1
  33. package/dist/core/components/HashCalculator.d.ts.map +1 -1
  34. package/dist/core/components/HashCalculator.js +49 -6
  35. package/dist/core/components/HashCalculator.js.map +1 -1
  36. package/dist/core/components/Util.d.ts +3 -4
  37. package/dist/core/components/Util.d.ts.map +1 -1
  38. package/dist/core/components/Util.js +10 -8
  39. package/dist/core/components/Util.js.map +1 -1
  40. package/dist/core/constants/Headers.d.ts +1 -3
  41. package/dist/core/constants/Headers.d.ts.map +1 -1
  42. package/dist/core/constants/Headers.js +14 -5
  43. package/dist/core/constants/Headers.js.map +1 -1
  44. package/dist/core/constants/MetaPaths.d.ts +38 -0
  45. package/dist/core/constants/MetaPaths.d.ts.map +1 -0
  46. package/dist/core/constants/MetaPaths.js +79 -0
  47. package/dist/core/constants/MetaPaths.js.map +1 -0
  48. package/dist/core/encryption/AesCrypto.d.ts +55 -11
  49. package/dist/core/encryption/AesCrypto.d.ts.map +1 -1
  50. package/dist/core/encryption/AesCrypto.js +223 -68
  51. package/dist/core/encryption/AesCrypto.js.map +1 -1
  52. package/dist/core/encryption/index.d.ts +1 -1
  53. package/dist/core/encryption/index.d.ts.map +1 -1
  54. package/dist/core/encryption/index.js +3 -1
  55. package/dist/core/encryption/index.js.map +1 -1
  56. package/dist/core/index.d.ts +2 -0
  57. package/dist/core/index.d.ts.map +1 -1
  58. package/dist/core/index.js +14 -1
  59. package/dist/core/index.js.map +1 -1
  60. package/dist/core/merkle/MerkleRoot.d.ts +109 -0
  61. package/dist/core/merkle/MerkleRoot.d.ts.map +1 -0
  62. package/dist/core/merkle/MerkleRoot.js +275 -0
  63. package/dist/core/merkle/MerkleRoot.js.map +1 -0
  64. package/dist/core/version.js +1 -1
  65. package/dist/node/LegacyZstd.d.ts +67 -0
  66. package/dist/node/LegacyZstd.d.ts.map +1 -0
  67. package/dist/node/LegacyZstd.js +209 -0
  68. package/dist/node/LegacyZstd.js.map +1 -0
  69. package/dist/node/ZipCompressNode.d.ts +9 -7
  70. package/dist/node/ZipCompressNode.d.ts.map +1 -1
  71. package/dist/node/ZipCompressNode.js +105 -75
  72. package/dist/node/ZipCompressNode.js.map +1 -1
  73. package/dist/node/ZipDecompressNode.d.ts +7 -3
  74. package/dist/node/ZipDecompressNode.d.ts.map +1 -1
  75. package/dist/node/ZipDecompressNode.js +68 -56
  76. package/dist/node/ZipDecompressNode.js.map +1 -1
  77. package/dist/node/ZipkitNode.d.ts +23 -0
  78. package/dist/node/ZipkitNode.d.ts.map +1 -1
  79. package/dist/node/ZipkitNode.js +195 -41
  80. package/dist/node/ZipkitNode.js.map +1 -1
  81. package/dist/node/ZstdNode.d.ts +39 -0
  82. package/dist/node/ZstdNode.d.ts.map +1 -0
  83. package/dist/node/ZstdNode.js +171 -0
  84. package/dist/node/ZstdNode.js.map +1 -0
  85. package/dist/node/index.d.ts +3 -0
  86. package/dist/node/index.d.ts.map +1 -1
  87. package/dist/node/index.js +11 -1
  88. package/dist/node/index.js.map +1 -1
  89. package/package.json +4 -3
  90. package/src/browser/ZipkitBrowser.ts +4 -6
  91. package/src/browser/zstd-browser-shim.ts +76 -0
  92. package/src/core/ZipCompress.ts +71 -42
  93. package/src/core/ZipDecompress.ts +35 -18
  94. package/src/core/ZipEntry.ts +8 -1
  95. package/src/core/Zipkit.ts +149 -76
  96. package/src/core/components/HashCalculator.ts +58 -6
  97. package/src/core/components/Util.ts +16 -7
  98. package/src/core/constants/Headers.ts +14 -4
  99. package/src/core/constants/MetaPaths.ts +86 -0
  100. package/src/core/encryption/AesCrypto.ts +265 -86
  101. package/src/core/encryption/index.ts +1 -1
  102. package/src/core/index.ts +14 -0
  103. package/src/core/merkle/MerkleRoot.ts +312 -0
  104. package/src/core/version.ts +1 -1
  105. package/src/node/LegacyZstd.ts +270 -0
  106. package/src/node/ZipCompressNode.ts +127 -84
  107. package/src/node/ZipDecompressNode.ts +93 -67
  108. package/src/node/ZipkitNode.ts +230 -42
  109. package/src/node/ZstdNode.ts +155 -0
  110. package/src/node/index.ts +10 -0
  111. package/dist/core/ZstdManager.d.ts +0 -56
  112. package/dist/core/ZstdManager.d.ts.map +0 -1
  113. package/dist/core/ZstdManager.js +0 -144
  114. package/dist/core/ZstdManager.js.map +0 -1
  115. package/src/core/ZstdManager.ts +0 -165
@@ -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"}
@@ -5,16 +5,25 @@
5
5
  // ======================================
6
6
  // Zip File Format Constants
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.DOS_FILE_ATTR = exports.FILE_SYSTEM = exports.HDR_ID = exports.EXTENSIBLE_DATA_FIELDS = exports.GP_FLAG = exports.CMP_METHOD = exports.ZIP64_CENTRAL_END = exports.ZIP64_CENTRAL_DIR = exports.CENTRAL_END = exports.CENTRAL_DIR = exports.DATA_DESC = exports.NEO_CRYPTO_MAGIC_BYTES = exports.NEO_CRYPTO_EXTRA_FIELD_SIZE = exports.NEO_CRYPTO_PAYLOAD_V1 = exports.AES_OVERHEAD = exports.AES_EXTRA_FIELD_SIZE = exports.AES_AUTH_CODE_SIZE = exports.AES256_PWD_VERIFY_SIZE = exports.AES256_KEY_SIZE = exports.AES256_SALT_SIZE = exports.ENCRYPT_HDR_SIZE = exports.LOCAL_HDR = exports.TOKENIZED_METADATA = exports.TIMESTAMP_METADATA = exports.TIMESTAMP_SUBMITTED = exports.DATA_DESCRIPTOR = exports.ZIP64_CENTRAL_DIRECTORY_END = exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = exports.CENTRAL_DIRECTORY_END = exports.CENTRAL_FILE_HEADER = exports.LOCAL_FILE_HEADER = void 0;
8
+ exports.DOS_FILE_ATTR = exports.FILE_SYSTEM = exports.HDR_ID = exports.EXTENSIBLE_DATA_FIELDS = exports.GP_FLAG = exports.CMP_METHOD = exports.ZIP64_CENTRAL_END = exports.ZIP64_CENTRAL_DIR = exports.CENTRAL_END = exports.CENTRAL_DIR = exports.DATA_DESC = exports.NEO_CRYPTO_MAGIC_BYTES = exports.NEO_CRYPTO_EXTRA_FIELD_SIZE = exports.NEO_CRYPTO_PAYLOAD_V1 = exports.AES_OVERHEAD = exports.AES_EXTRA_FIELD_SIZE = exports.AES_AUTH_CODE_SIZE = exports.AES256_PWD_VERIFY_SIZE = exports.AES256_KEY_SIZE = exports.AES256_SALT_SIZE = exports.ENCRYPT_HDR_SIZE = exports.LOCAL_HDR = exports.TOKENIZED_METADATA = exports.TIMESTAMP_METADATA = exports.TIMESTAMP_SUBMITTED = exports.META_MANIFEST_JSON = exports.META_TIMESTAMP_OTS = exports.META_TS_SUBMIT_OTS = exports.META_TIMESTAMP_NZIP = exports.META_TS_SUBMIT_NZIP = exports.META_TOKEN_NZIP_LEGACY = exports.META_TOKEN_NZIP = exports.DATA_DESCRIPTOR = exports.ZIP64_CENTRAL_DIRECTORY_END = exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = exports.CENTRAL_DIRECTORY_END = exports.CENTRAL_FILE_HEADER = exports.LOCAL_FILE_HEADER = void 0;
9
9
  exports.LOCAL_FILE_HEADER = 'PK\x03\x04';
10
10
  exports.CENTRAL_FILE_HEADER = 'PK\x01\x02';
11
11
  exports.CENTRAL_DIRECTORY_END = 'PK\x05\x06';
12
12
  exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = 'PK\x06\x07';
13
13
  exports.ZIP64_CENTRAL_DIRECTORY_END = 'PK\x06\x06';
14
14
  exports.DATA_DESCRIPTOR = 'PK\x07\x08';
15
- exports.TIMESTAMP_SUBMITTED = 'META-INF/TS-SUBMIT.OTS';
16
- exports.TIMESTAMP_METADATA = 'META-INF/TIMESTAMP.OTS';
17
- exports.TOKENIZED_METADATA = 'META-INF/NZIP.TOKEN';
15
+ // Reserved META-INF paths — see constants/MetaPaths.ts and NEOZIP_APPNOTE.md §2
16
+ var MetaPaths_1 = require("./MetaPaths");
17
+ Object.defineProperty(exports, "META_TOKEN_NZIP", { enumerable: true, get: function () { return MetaPaths_1.META_TOKEN_NZIP; } });
18
+ Object.defineProperty(exports, "META_TOKEN_NZIP_LEGACY", { enumerable: true, get: function () { return MetaPaths_1.META_TOKEN_NZIP_LEGACY; } });
19
+ Object.defineProperty(exports, "META_TS_SUBMIT_NZIP", { enumerable: true, get: function () { return MetaPaths_1.META_TS_SUBMIT_NZIP; } });
20
+ Object.defineProperty(exports, "META_TIMESTAMP_NZIP", { enumerable: true, get: function () { return MetaPaths_1.META_TIMESTAMP_NZIP; } });
21
+ Object.defineProperty(exports, "META_TS_SUBMIT_OTS", { enumerable: true, get: function () { return MetaPaths_1.META_TS_SUBMIT_OTS; } });
22
+ Object.defineProperty(exports, "META_TIMESTAMP_OTS", { enumerable: true, get: function () { return MetaPaths_1.META_TIMESTAMP_OTS; } });
23
+ Object.defineProperty(exports, "META_MANIFEST_JSON", { enumerable: true, get: function () { return MetaPaths_1.META_MANIFEST_JSON; } });
24
+ Object.defineProperty(exports, "TIMESTAMP_SUBMITTED", { enumerable: true, get: function () { return MetaPaths_1.TIMESTAMP_SUBMITTED; } });
25
+ Object.defineProperty(exports, "TIMESTAMP_METADATA", { enumerable: true, get: function () { return MetaPaths_1.TIMESTAMP_METADATA; } });
26
+ Object.defineProperty(exports, "TOKENIZED_METADATA", { enumerable: true, get: function () { return MetaPaths_1.TOKENIZED_METADATA; } });
18
27
  // Local file header
19
28
  exports.LOCAL_HDR = {
20
29
  SIZE: 30, // LOC header size in bytes
@@ -165,7 +174,7 @@ exports.HDR_ID = {
165
174
  x509PKCS7RL: 0x0019, // X.509 Certificate Revocation List (PKCS#7)
166
175
  IBM1: 0x0065, // IBM S/390 (Z390) - Attribute
167
176
  IBM2: 0x0066, // IBM S/390 (Z390) - Attribute
168
- SHA256: 0x014E, // SHA256 "N\01" with 64 bytes (256 bit) of SHA256 hash data
177
+ SHA256: 0x014E, // NeoZip Extra Field: 32-byte SHA-256 of uncompressed payload (APPNOTE §5)
169
178
  NEO_CRYPTO: 0x024E, // NeoEncrypt metadata (see docs/NEO_CRYPTO_FORMAT.md); LE on wire: 4E 02
170
179
  POSZIP: 0x4690, // POSZIP 4690
171
180
  UNV_TIME: 0x5455, // Universal Time (UT) (32-bit) 5 data bytes
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../src/core/constants/Headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../src/core/constants/Headers.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,aAAa;AACb,yDAAyD;AACzD,yCAAyC;AACzC,4BAA4B;;;AAEf,QAAA,iBAAiB,GAAG,YAAY,CAAC;AACjC,QAAA,mBAAmB,GAAG,YAAY,CAAC;AACnC,QAAA,qBAAqB,GAAG,YAAY,CAAC;AACrC,QAAA,+BAA+B,GAAG,YAAY,CAAC;AAC/C,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,eAAe,GAAG,YAAY,CAAC;AAE5C,gFAAgF;AAChF,yCAWqB;AAVnB,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAGpB,oBAAoB;AACP,QAAA,SAAS,GAAG;IACvB,IAAI,EAAQ,EAAE,EAAM,2BAA2B;IAC/C,SAAS,EAAG,UAAU,EAAG,eAAe;IACxC,WAAW,EAAE,CAAC,EAAM,4BAA4B;IAChD,KAAK,EAAQ,CAAC,EAAM,2BAA2B;IAC/C,WAAW,EAAE,CAAC,EAAM,qBAAqB;IACzC,YAAY,EAAE,EAAE,EAAI,iDAAiD;IACrE,GAAG,EAAS,EAAE,EAAM,iCAAiC;IACrD,QAAQ,EAAI,EAAE,EAAM,kBAAkB;IACtC,UAAU,EAAE,EAAE,EAAM,oBAAoB;IACxC,SAAS,EAAG,EAAE,EAAM,kBAAkB;IACtC,SAAS,EAAG,EAAE,CAAM,qBAAqB;CAC1C,CAAC;AACW,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC,kCAAkC;AACrB,QAAA,gBAAgB,GAAG,EAAE,CAAC;AACtB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAC3B,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACxB,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,YAAY,GAAG,wBAAgB,GAAG,8BAAsB,GAAG,0BAAkB,CAAC,CAAC,WAAW;AAEvG,gGAAgG;AACnF,QAAA,qBAAqB,GAAG,EAAE,CAAC;AAC3B,QAAA,2BAA2B,GAAG,CAAC,GAAG,6BAAqB,CAAC,CAAC,+DAA+D;AACrI,wDAAwD;AAC3C,QAAA,sBAAsB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAElF,kBAAkB;AACL,QAAA,SAAS,GAAG;IACvB,SAAS,EAAG,UAAU,EAAG,eAAe;IACxC,IAAI,EAAQ,EAAE,EAAM,2BAA2B;IAC/C,GAAG,EAAS,CAAC,EAAO,0CAA0C;IAC9D,QAAQ,EAAI,CAAC,EAAO,2BAA2B;IAC/C,UAAU,EAAE,EAAE,CAAM,oBAAoB;CACzC,CAAC;AAEF,qCAAqC;AACxB,QAAA,WAAW,GAAG;IACzB,IAAI,EAAQ,EAAE,EAAM,gCAAgC;IACpD,SAAS,EAAG,UAAU,EAAG,eAAe;IACxC,QAAQ,EAAI,CAAC,EAAO,kBAAkB;IACtC,OAAO,EAAK,CAAC,EAAO,4BAA4B;IAChD,KAAK,EAAO,CAAC,EAAO,yBAAyB;IAC7C,UAAU,EAAE,EAAE,EAAK,qBAAqB;IACxC,YAAY,EAAE,EAAE,EAAM,qDAAqD;IAC3E,GAAG,EAAS,EAAE,EAAM,iCAAiC;IACrD,QAAQ,EAAI,EAAE,EAAM,kBAAkB;IACtC,UAAU,EAAE,EAAE,EAAM,oBAAoB;IACxC,SAAS,EAAG,EAAE,EAAM,kBAAkB;IACtC,SAAS,EAAG,EAAE,EAAM,qBAAqB;IACzC,WAAW,EAAE,EAAE,EAAK,sBAAsB;IAC1C,QAAQ,EAAI,EAAE,EAAM,sBAAsB;IAC1C,aAAa,EAAE,EAAE,EAAG,2BAA2B;IAC/C,aAAa,EAAE,EAAE,EAAG,mDAAmD;IACvE,gBAAgB,EAAE,EAAE,CAAC,oBAAoB;CAC1C,CAAC;AAEF,oCAAoC;AACvB,QAAA,WAAW,GAAG;IACzB,IAAI,EAAQ,EAAE,EAAU,kBAAkB;IAC1C,SAAS,EAAG,UAAU,EAAE,eAAe;IACvC,OAAO,EAAS,CAAC,EAAO,sBAAsB;IAC9C,YAAY,EAAI,CAAC,EAAO,gEAAgE;IACxF,WAAW,EAAK,CAAC,EAAO,wCAAwC;IAChE,aAAa,EAAG,EAAE,EAAM,uCAAuC;IAC/D,gBAAgB,EAAE,EAAE,EAAI,kCAAkC;IAC1D,kBAAkB,EAAE,EAAE,EAAE,6BAA6B;IACrD,eAAe,EAAE,EAAE,CAAK,0BAA0B;CACnD,CAAC;AAEF,gCAAgC;AACnB,QAAA,iBAAiB,GAAG;IAC/B,SAAS,EAAG,UAAU,EAAG,gCAAgC;IACzD,IAAI,EAAQ,EAAE,EAAM,4BAA4B;IAChD,IAAI,EAAQ,EAAE,EAAM,yFAAyF;IAC7G,UAAU,EAAG,CAAC,EAAM,6CAA6C;IACjE,UAAU,EAAE,EAAE,EAAM,wBAAwB;IAC5C,UAAU,EAAE,EAAE,EAAM,kCAAkC;IACtD,OAAO,EAAK,EAAE,EAAM,4BAA4B;IAChD,YAAY,EAAE,EAAE,EAAG,4DAA4D;IAC/E,WAAW,EAAG,EAAE,EAAG,iCAAiC;IACpD,aAAa,EAAE,EAAE,EAAG,0BAA0B;IAC9C,gBAAgB,EAAE,EAAE,EAAE,wCAAwC;IAC9D,kBAAkB,EAAE,EAAE,EAAE,gFAAgF;IACxG,WAAW,EAAI,EAAE,CAAG,yBAAyB;CAC9C,CAAC;AAEF,kCAAkC;AACrB,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAQ,EAAE,EAAU,wBAAwB;IAChD,SAAS,EAAG,UAAU,EAAE,wCAAwC;IAChE,OAAO,EAAK,CAAC,EAAW,iDAAiD;IACzE,kBAAkB,EAAE,CAAC,EAAG,wDAAwD;IAChF,WAAW,EAAE,EAAE,CAAS,wBAAwB;CACjD,CAAC;AAEF,sBAAsB;AACT,QAAA,UAAU,GAAG;IACxB,MAAM,EAAY,CAAC,EAAG,iBAAiB;IACvC,MAAM,EAAY,CAAC,EAAG,SAAS;IAC/B,QAAQ,EAAU,CAAC,EAAG,oCAAoC;IAC1D,QAAQ,EAAU,CAAC,EAAG,oCAAoC;IAC1D,QAAQ,EAAU,CAAC,EAAG,oCAAoC;IAC1D,QAAQ,EAAU,CAAC,EAAG,oCAAoC;IAC1D,QAAQ,EAAU,CAAC,EAAG,WAAW;IACjC,QAAQ,EAAU,CAAC,EAAG,WAAW;IACjC,gBAAgB,EAAE,CAAC,EAAG,oBAAoB;IAC1C,KAAK,EAAa,EAAE,EAAE,0BAA0B;IAChD,IAAI,EAAc,EAAE,EAAE,OAAO;IAC7B,SAAS,EAAS,EAAE,EAAE,6BAA6B;IACnD,QAAQ,EAAU,EAAE,EAAE,WAAW;IACjC,IAAI,EAAc,EAAE,EAAE,wBAAwB;IAC9C,WAAW,EAAO,EAAE,CAAE,+BAA+B;CACtD,CAAC;AAEF,2BAA2B;AACd,QAAA,OAAO,GAAG;IACrB,SAAS,EAAO,CAAC,EAAK,wBAAwB;IAC9C,YAAY,EAAI,CAAC,EAAK,4BAA4B;IAClD,YAAY,EAAI,CAAC,EAAK,4BAA4B;IAClD,SAAS,EAAO,CAAC,EAAK,0BAA0B;IAChD,gBAAgB,EAAE,EAAE,EAAE,4BAA4B;IAClD,OAAO,EAAS,EAAE,EAAI,6DAA6D;IACnF,cAAc,EAAE,EAAE,EAAI,sCAAsC;IACtC,+BAA+B;IACrD,GAAG,EAAa,IAAI,EAAE,uCAAuC;IACvC,uDAAuD;IACvD,sDAAsD;IACtD,kCAAkC;IACxD,IAAI,EAAY,IAAI,EAAE,qBAAqB;CAC5C,CAAC;AAEF,6BAA6B;AAChB,QAAA,sBAAsB,GAAG;IACpC,EAAE,EAAe,CAAC;IAClB,IAAI,EAAa,CAAC;CACnB,CAAC;AAEF,aAAa;AACA,QAAA,MAAM,GAAG;IACpB,KAAK,EAAY,MAAM,EAAK,yCAAyC;IACrE,MAAM,EAAW,MAAM,EAAK,UAAU;IACtC,GAAG,EAAc,MAAM,EAAK,kBAAkB;IAC9C,GAAG,EAAc,MAAM,EAAK,mBAAmB;IAC/C,IAAI,EAAa,MAAM,EAAK,mBAAmB;IAC/C,OAAO,EAAU,MAAM,EAAK,sBAAsB;IAClD,IAAI,EAAa,MAAM,EAAK,mBAAmB;IAC/C,IAAI,EAAa,MAAM,EAAK,wBAAwB;IACpD,KAAK,EAAY,MAAM,EAAK,+BAA+B;IAC3D,SAAS,EAAQ,MAAM,EAAK,mCAAmC;IAC/D,YAAY,EAAK,MAAM,EAAK,uCAAuC;IACnE,YAAY,EAAK,MAAM,EAAK,uCAAuC;IACnE,UAAU,EAAO,MAAM,EAAK,2BAA2B;IACvD,GAAG,EAAc,MAAM,EAAK,8BAA8B;IAC1D,UAAU,EAAO,MAAM,EAAK,6BAA6B;IACzD,WAAW,EAAM,MAAM,EAAK,6CAA6C;IACzE,IAAI,EAAa,MAAM,EAAK,+BAA+B;IAC3D,IAAI,EAAa,MAAM,EAAK,+BAA+B;IAC3D,MAAM,EAAW,MAAM,EAAK,2EAA2E;IACvG,UAAU,EAAO,MAAM,EAAK,yEAAyE;IACrG,MAAM,EAAW,MAAM,EAAK,cAAc;IAC1C,QAAQ,EAAS,MAAM,EAAK,4CAA4C;IACxE,OAAO,EAAU,MAAM,EAAK,0BAA0B;IACtD,YAAY,EAAK,MAAM,EAAK,oCAAoC;IAChE,OAAO,EAAU,MAAM,EAAK,iCAAiC;IAC7D,QAAQ,EAAS,MAAM,EAAK,6BAA6B;CAC1D,CAAC;AAEF,cAAc;AACD,QAAA,WAAW,GAAG;IACzB,KAAK,EAAY,CAAC,EAAI,oDAAoD;IAC1E,KAAK,EAAY,CAAC,EAAI,QAAQ;IAC9B,OAAO,EAAU,CAAC,EAAI,UAAU;IAChC,IAAI,EAAa,CAAC,EAAI,OAAO;IAC7B,MAAM,EAAW,CAAC,EAAI,SAAS;IAC/B,KAAK,EAAY,CAAC,EAAI,WAAW;IACjC,GAAG,EAAc,CAAC,EAAI,gBAAgB;IACtC,GAAG,EAAc,CAAC,EAAI,YAAY;IAClC,IAAI,EAAa,CAAC,EAAI,OAAO;IAC7B,IAAI,EAAa,EAAE,EAAG,eAAe;IACrC,GAAG,EAAc,EAAE,EAAG,sBAAsB;IAC5C,GAAG,EAAc,EAAE,EAAG,MAAM;IAC5B,KAAK,EAAY,EAAE,EAAG,aAAa;IACnC,IAAI,EAAa,EAAE,EAAG,OAAO;IAC7B,MAAM,EAAW,EAAE,EAAG,gBAAgB;IACtC,IAAI,EAAa,EAAE,EAAG,OAAO;IAC7B,MAAM,EAAW,EAAE,EAAG,SAAS;IAC/B,KAAK,EAAY,EAAE,EAAG,SAAS;IAC/B,MAAM,EAAW,EAAE,CAAG,sBAAsB;CAC7C,CAAC;AAEF,sBAAsB;AACT,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAS,IAAI;IACrB,MAAM,EAAW,IAAI;IACrB,MAAM,EAAW,IAAI;IACrB,MAAM,EAAW,IAAI;IACrB,SAAS,EAAQ,IAAI;IACrB,OAAO,EAAU,IAAI;CACtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * NeoZip reserved META-INF paths and ASCII case-insensitive discovery.
3
+ * Matches NEOZIP_APPNOTE.md §2.3: writers emit canonical spellings; readers fold case.
4
+ */
5
+ /** Canonical writers MUST emit these spellings. */
6
+ export declare const META_TOKEN_NZIP = "META-INF/TOKEN.NZIP";
7
+ export declare const META_TOKEN_NZIP_LEGACY = "META-INF/NZIP.TOKEN";
8
+ export declare const META_TS_SUBMIT_NZIP = "META-INF/TS-SUBMIT.NZIP";
9
+ export declare const META_TIMESTAMP_NZIP = "META-INF/TIMESTAMP.NZIP";
10
+ export declare const META_TS_SUBMIT_OTS = "META-INF/TS-SUBMIT.OTS";
11
+ export declare const META_TIMESTAMP_OTS = "META-INF/TIMESTAMP.OTS";
12
+ export declare const META_MANIFEST_JSON = "META-INF/manifest.json";
13
+ /** @deprecated Prefer META_TS_SUBMIT_OTS — kept for existing imports. */
14
+ export declare const TIMESTAMP_SUBMITTED = "META-INF/TS-SUBMIT.OTS";
15
+ /** @deprecated Prefer META_TIMESTAMP_OTS — kept for existing imports. */
16
+ export declare const TIMESTAMP_METADATA = "META-INF/TIMESTAMP.OTS";
17
+ /** @deprecated Prefer META_TOKEN_NZIP — kept for existing imports (canonical TOKEN.NZIP). */
18
+ export declare const TOKENIZED_METADATA = "META-INF/TOKEN.NZIP";
19
+ export type ZipEntryLikeFilename = {
20
+ filename?: string;
21
+ };
22
+ /** ASCII case-insensitive path compare (APPNOTE §2.3). */
23
+ export declare function asciiPathEqualsIgnoreCase(a: string, b: string): boolean;
24
+ /** True when path is under META-INF/ (ASCII case-insensitive). */
25
+ export declare function isMetaInfPath(filename: string): boolean;
26
+ /** True when filename is a reserved NeoZip meta path (any casing). */
27
+ export declare function isReservedMetaPath(filename: string): boolean;
28
+ /**
29
+ * True for any META-INF/** entry (integrity merkle leaves exclude these per APPNOTE §6.2).
30
+ */
31
+ export declare function isMetadataFile(filename: string): boolean;
32
+ /**
33
+ * Find a reserved meta entry among ZIP directory entries.
34
+ * Prefers an exact canonical match, then ASCII case-insensitive match.
35
+ * When multiple preferred names are given, earlier names win.
36
+ */
37
+ export declare function findReservedMetaEntry<T extends ZipEntryLikeFilename>(entries: T[], preferredCanonicalNames: string | readonly string[]): T | null;
38
+ //# sourceMappingURL=MetaPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaPaths.d.ts","sourceRoot":"","sources":["../../../src/core/constants/MetaPaths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mDAAmD;AACnD,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,2BAAqB,CAAC;AACtD,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,2BAAqB,CAAC;AACrD,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,wBAAkB,CAAC;AAYlD,MAAM,MAAM,oBAAoB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,0DAA0D;AAC1D,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,EAClE,OAAO,EAAE,CAAC,EAAE,EACZ,uBAAuB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAClD,CAAC,GAAG,IAAI,CAkBV"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * NeoZip reserved META-INF paths and ASCII case-insensitive discovery.
4
+ * Matches NEOZIP_APPNOTE.md §2.3: writers emit canonical spellings; readers fold case.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TOKENIZED_METADATA = exports.TIMESTAMP_METADATA = exports.TIMESTAMP_SUBMITTED = exports.META_MANIFEST_JSON = exports.META_TIMESTAMP_OTS = exports.META_TS_SUBMIT_OTS = exports.META_TIMESTAMP_NZIP = exports.META_TS_SUBMIT_NZIP = exports.META_TOKEN_NZIP_LEGACY = exports.META_TOKEN_NZIP = void 0;
8
+ exports.asciiPathEqualsIgnoreCase = asciiPathEqualsIgnoreCase;
9
+ exports.isMetaInfPath = isMetaInfPath;
10
+ exports.isReservedMetaPath = isReservedMetaPath;
11
+ exports.isMetadataFile = isMetadataFile;
12
+ exports.findReservedMetaEntry = findReservedMetaEntry;
13
+ /** Canonical writers MUST emit these spellings. */
14
+ exports.META_TOKEN_NZIP = 'META-INF/TOKEN.NZIP';
15
+ exports.META_TOKEN_NZIP_LEGACY = 'META-INF/NZIP.TOKEN';
16
+ exports.META_TS_SUBMIT_NZIP = 'META-INF/TS-SUBMIT.NZIP';
17
+ exports.META_TIMESTAMP_NZIP = 'META-INF/TIMESTAMP.NZIP';
18
+ exports.META_TS_SUBMIT_OTS = 'META-INF/TS-SUBMIT.OTS';
19
+ exports.META_TIMESTAMP_OTS = 'META-INF/TIMESTAMP.OTS';
20
+ exports.META_MANIFEST_JSON = 'META-INF/manifest.json';
21
+ /** @deprecated Prefer META_TS_SUBMIT_OTS — kept for existing imports. */
22
+ exports.TIMESTAMP_SUBMITTED = exports.META_TS_SUBMIT_OTS;
23
+ /** @deprecated Prefer META_TIMESTAMP_OTS — kept for existing imports. */
24
+ exports.TIMESTAMP_METADATA = exports.META_TIMESTAMP_OTS;
25
+ /** @deprecated Prefer META_TOKEN_NZIP — kept for existing imports (canonical TOKEN.NZIP). */
26
+ exports.TOKENIZED_METADATA = exports.META_TOKEN_NZIP;
27
+ const RESERVED_CANONICAL = [
28
+ exports.META_TOKEN_NZIP,
29
+ exports.META_TOKEN_NZIP_LEGACY,
30
+ exports.META_TS_SUBMIT_NZIP,
31
+ exports.META_TIMESTAMP_NZIP,
32
+ exports.META_TS_SUBMIT_OTS,
33
+ exports.META_TIMESTAMP_OTS,
34
+ exports.META_MANIFEST_JSON,
35
+ ];
36
+ /** ASCII case-insensitive path compare (APPNOTE §2.3). */
37
+ function asciiPathEqualsIgnoreCase(a, b) {
38
+ if (a.length !== b.length) {
39
+ // Still allow length mismatch only via toLowerCase for UTF-8 safety on ASCII paths
40
+ }
41
+ return a.toLowerCase() === b.toLowerCase();
42
+ }
43
+ /** True when path is under META-INF/ (ASCII case-insensitive). */
44
+ function isMetaInfPath(filename) {
45
+ return filename.toLowerCase().startsWith('meta-inf/');
46
+ }
47
+ /** True when filename is a reserved NeoZip meta path (any casing). */
48
+ function isReservedMetaPath(filename) {
49
+ const lower = filename.toLowerCase();
50
+ return RESERVED_CANONICAL.some((c) => c.toLowerCase() === lower);
51
+ }
52
+ /**
53
+ * True for any META-INF/** entry (integrity merkle leaves exclude these per APPNOTE §6.2).
54
+ */
55
+ function isMetadataFile(filename) {
56
+ return isMetaInfPath(filename);
57
+ }
58
+ /**
59
+ * Find a reserved meta entry among ZIP directory entries.
60
+ * Prefers an exact canonical match, then ASCII case-insensitive match.
61
+ * When multiple preferred names are given, earlier names win.
62
+ */
63
+ function findReservedMetaEntry(entries, preferredCanonicalNames) {
64
+ const preferred = Array.isArray(preferredCanonicalNames)
65
+ ? preferredCanonicalNames
66
+ : [preferredCanonicalNames];
67
+ for (const name of preferred) {
68
+ const exact = entries.find((e) => e.filename === name);
69
+ if (exact)
70
+ return exact;
71
+ }
72
+ for (const name of preferred) {
73
+ const folded = entries.find((e) => typeof e.filename === 'string' && asciiPathEqualsIgnoreCase(e.filename, name));
74
+ if (folded)
75
+ return folded;
76
+ }
77
+ return null;
78
+ }
79
+ //# sourceMappingURL=MetaPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaPaths.js","sourceRoot":"","sources":["../../../src/core/constants/MetaPaths.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA+BH,8DAKC;AAGD,sCAEC;AAGD,gDAGC;AAKD,wCAEC;AAOD,sDAqBC;AAhFD,mDAAmD;AACtC,QAAA,eAAe,GAAG,qBAAqB,CAAC;AACxC,QAAA,sBAAsB,GAAG,qBAAqB,CAAC;AAC/C,QAAA,mBAAmB,GAAG,yBAAyB,CAAC;AAChD,QAAA,mBAAmB,GAAG,yBAAyB,CAAC;AAChD,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAC9C,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAC9C,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAE3D,yEAAyE;AAC5D,QAAA,mBAAmB,GAAG,0BAAkB,CAAC;AACtD,yEAAyE;AAC5D,QAAA,kBAAkB,GAAG,0BAAkB,CAAC;AACrD,6FAA6F;AAChF,QAAA,kBAAkB,GAAG,uBAAe,CAAC;AAElD,MAAM,kBAAkB,GAAG;IACzB,uBAAe;IACf,8BAAsB;IACtB,2BAAmB;IACnB,2BAAmB;IACnB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;CACV,CAAC;AAIX,0DAA0D;AAC1D,SAAgB,yBAAyB,CAAC,CAAS,EAAE,CAAS;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,mFAAmF;IACrF,CAAC;IACD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7C,CAAC;AAED,kEAAkE;AAClE,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,sEAAsE;AACtE,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,OAAY,EACZ,uBAAmD;IAEnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACtD,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CACrF,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -4,6 +4,51 @@ interface DerivedKeys {
4
4
  hmacKey: Buffer;
5
5
  passwordVerifier: Buffer;
6
6
  }
7
+ /**
8
+ * Streaming AE-1/AE-2 encryptor for ZIP entry payloads.
9
+ *
10
+ * Usage: `header()` once → `update(compressedChunk)` repeatedly → `finish()` for HMAC.
11
+ */
12
+ export declare class AesEncryptor {
13
+ private readonly keys;
14
+ private readonly salt;
15
+ private readonly ctr;
16
+ private readonly hmac;
17
+ private headerSent;
18
+ private finished;
19
+ constructor(password: string);
20
+ /** salt (16) + password verifier (2). Write before any ciphertext. */
21
+ header(): Buffer;
22
+ /** Encrypt one compressed-data chunk; updates HMAC over ciphertext. */
23
+ update(plain: Buffer): Buffer;
24
+ /** Final 10-byte authentication code. */
25
+ finish(): Buffer;
26
+ }
27
+ /**
28
+ * Streaming AE-1/AE-2 decryptor. `compressedSize` is the full ZIP payload length
29
+ * (salt + verifier + ciphertext + auth), as stored in the local/central header.
30
+ */
31
+ export declare class AesDecryptor {
32
+ private readonly password;
33
+ private readonly cipherLen;
34
+ private remainingCipher;
35
+ private keys;
36
+ private ctr;
37
+ private hmac;
38
+ private headerBuf;
39
+ private authBuf;
40
+ private headerDone;
41
+ private verified;
42
+ constructor(password: string, compressedSize: number);
43
+ /**
44
+ * Feed the next archive chunk. Returns decrypted compressed bytes
45
+ * (empty while still reading salt/verifier).
46
+ */
47
+ push(chunk: Buffer): Buffer;
48
+ /** Ensure ciphertext is complete and HMAC verified. */
49
+ end(): void;
50
+ private tryVerify;
51
+ }
7
52
  /**
8
53
  * WinZip AES-256 encryption/decryption for ZIP files.
9
54
  *
@@ -16,6 +61,13 @@ export declare class AesCrypto {
16
61
  * using PBKDF2 with HMAC-SHA1.
17
62
  */
18
63
  static deriveKeys(password: string | Buffer, salt: Buffer): DerivedKeys;
64
+ /** Create a streaming AE-1/AE-2 encryptor. */
65
+ static createEncryptor(password: string): AesEncryptor;
66
+ /**
67
+ * Create a streaming AE-1/AE-2 decryptor.
68
+ * @param compressedSize Full payload size including salt, verifier, and auth code.
69
+ */
70
+ static createDecryptor(password: string, compressedSize: number): AesDecryptor;
19
71
  /**
20
72
  * Encrypt compressed data using WinZip AES-256.
21
73
  *
@@ -32,17 +84,10 @@ export declare class AesCrypto {
32
84
  */
33
85
  static decryptBuffer(entry: ZipEntry, fullPayload: Buffer, password: string): Buffer;
34
86
  /**
35
- * AES-CTR encrypt/decrypt with WinZip's little-endian counter.
36
- *
37
- * WinZip uses a counter that starts at 1 and increments in little-endian byte order.
38
- * Node's built-in aes-256-ctr uses big-endian counter increment, so we process
39
- * block-by-block with an explicit LE counter to match the WinZip format.
40
- */
41
- private static aesCtrProcess;
42
- /**
43
- * Increment a 16-byte counter in little-endian order.
87
+ * Decrypt an async chunk stream (Node extract path).
88
+ * Yields decrypted compressed chunks; verifies HMAC when the stream ends.
44
89
  */
45
- private static incrementCounterLE;
90
+ static decryptStream(password: string, compressedSize: number, encryptedStream: AsyncIterable<Buffer>): AsyncGenerator<Buffer>;
46
91
  /**
47
92
  * Build the WinZip AES extra data field (0x9901).
48
93
  *
@@ -55,7 +100,6 @@ export declare class AesCrypto {
55
100
  * Parse the AES extra data field (0x9901) from a buffer.
56
101
  *
57
102
  * @param data - 7-byte data portion of the extra field (without header ID and size)
58
- * @returns Parsed AES extra field values
59
103
  */
60
104
  static parseAesExtraField(data: Buffer): {
61
105
  vendorVersion: number;
@@ -1 +1 @@
1
- {"version":3,"file":"AesCrypto.d.ts","sourceRoot":"","sources":["../../../src/core/encryption/AesCrypto.ts"],"names":[],"mappings":"AAgBA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAenC,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAEpB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAUvE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAavF;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IA0BpF;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA4B5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,MAAM;IAWhF;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;QACvC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;KACvB;CAQF"}
1
+ {"version":3,"file":"AesCrypto.d.ts","sourceRoot":"","sources":["../../../src/core/encryption/AesCrypto.ts"],"names":[],"mappings":"AAmBA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAenC,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAmDD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAO5B,sEAAsE;IACtE,MAAM,IAAI,MAAM;IAQhB,uEAAuE;IACvE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAe7B,yCAAyC;IACzC,MAAM,IAAI,MAAM;CAUjB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IASpD;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA4C3B,uDAAuD;IACvD,GAAG,IAAI,IAAI;IAUX,OAAO,CAAC,SAAS;CAgBlB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAgBvE,8CAA8C;IAC9C,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAItD;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY;IAI9E;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWvF;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQpF;;;OAGG;WACW,aAAa,CACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,GACrC,cAAc,CAAC,MAAM,CAAC;IAWzB;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,MAAM;IAWhF;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;QACvC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;KACvB;CAQF"}