@ai-ecoverse/wasm-zip 3.0.0-5 → 3.0.0-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,6 +13,10 @@ unzip -l out.zip
13
13
  command, so it needs one (`@ai-ecoverse/wasm-bash`).
14
14
  - Non-ASCII names are UTF-8. `zip` sets the UTF-8 flag on them, and `unzip`
15
15
  shows them and reads Info-ZIP's Unicode path field.
16
+ - The realm's file names are UTF-8. An entry whose name isn't (an old
17
+ Latin-1 or CP437 archive without a Unicode path) is not extracted under a
18
+ changed name: `unzip` says `cannot create <name>` / `Illegal byte sequence`
19
+ and exits 50. `unzip -p` still streams its bytes.
16
20
  - `zip - … > file` and `zip - … | …` write valid archives, and `zip -s 0`
17
21
  merges split archives (`zip -s 1m`) back with every byte.
18
22
  - `zipinfo` is unzip's zipinfo mode, the same as `unzip -Z`.
package/bin/unzip CHANGED
@@ -4557,6 +4557,20 @@ async function createWasm() {
4557
4557
  var FS_createDevice = (...args) => FS.createDevice(...args);
4558
4558
 
4559
4559
 
4560
+ {
4561
+ const lenient = SYSCALLS.getStr;
4562
+ const strict = new TextDecoder('utf-8', { fatal: true });
4563
+ SYSCALLS.getStr = (ptr) => {
4564
+ let end = ptr;
4565
+ while (HEAPU8[end]) end++;
4566
+ try {
4567
+ strict.decode(HEAPU8.subarray(ptr, end));
4568
+ } catch {
4569
+ throw new FS.ErrnoError(25);
4570
+ }
4571
+ return lenient(ptr);
4572
+ };
4573
+ };
4560
4574
 
4561
4575
  FS.createPreloadedFile = FS_createPreloadedFile;
4562
4576
  FS.preloadFile = FS_preloadFile;
@@ -5026,8 +5040,10 @@ function checkIncomingModuleAPI() {
5026
5040
  function slicc_sleep_ms(ms) { if (typeof SharedArrayBuffer === 'function' && typeof Atomics === 'object') { Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms); return; } const end = Date.now() + ms; while (Date.now() < end) {} }
5027
5041
  function slicc_default_getpid_js() { return (Module.sliccPid | 0) || 42; }
5028
5042
  function slicc_default_getppid_js() { return (Module.sliccPpid | 0) || 1; }
5043
+ function __syscall_flock(fd,op) { return 0; }
5029
5044
  function slicc_kill_js(pid,sig) { if (Module.sliccKernel && Module.sliccKernel.kill) return Module.sliccKernel.kill(pid, sig); return 1; }
5030
5045
  function slicc_pause_js() { if (Module.sliccKernel && Module.sliccKernel.pause) return Module.sliccKernel.pause(); return -52; }
5046
+ function slicc_sig_inherited_js() { try { if (Module.sliccKernel && typeof Module.sliccKernel.sigInherited === 'function') return Module.sliccKernel.sigInherited() | 0; } catch (e) { } return 0; }
5031
5047
  function slicc_cred_js(out) { const k = Module.sliccKernel; if (!k || !k.cred) return -52; const c = k.cred(); if (typeof c === 'number') return c; ['ruid', 'euid', 'suid', 'rgid', 'egid', 'sgid'].forEach((key, i) => { HEAPU32[(out >> 2) + i] = c[key] >>> 0; }); return 0; }
5032
5048
  function slicc_groups_js(list,cap) { const k = Module.sliccKernel; if (!k || !k.cred) return -52; const c = k.cred(); if (typeof c === 'number') return c; if (cap === 0) return c.groups.length; if (cap < c.groups.length) return -28; c.groups.forEach((g, i) => { HEAPU32[(list >> 2) + i] = g >>> 0; }); return c.groups.length; }
5033
5049
  function slicc_setcred_js(ruid,euid,suid,rgid,egid,sgid) { const k = Module.sliccKernel; if (!k || !k.setcred) return -52; const change = {}; const ids = { ruid, euid, suid, rgid, egid, sgid }; for (const key in ids) if (ids[key] !== -1) change[key] = ids[key] >>> 0; const r = k.setcred(change); return typeof r === 'number' ? r : 0; }
@@ -5165,7 +5181,9 @@ var wasmImports = {
5165
5181
  /** @export */
5166
5182
  slicc_kill_js,
5167
5183
  /** @export */
5168
- slicc_pause_js
5184
+ slicc_pause_js,
5185
+ /** @export */
5186
+ slicc_sig_inherited_js
5169
5187
  };
5170
5188
 
5171
5189
 
package/bin/unzip.wasm CHANGED
Binary file
package/bin/zip CHANGED
@@ -4844,6 +4844,20 @@ async function createWasm() {
4844
4844
  var FS_createDevice = (...args) => FS.createDevice(...args);
4845
4845
 
4846
4846
 
4847
+ {
4848
+ const lenient = SYSCALLS.getStr;
4849
+ const strict = new TextDecoder('utf-8', { fatal: true });
4850
+ SYSCALLS.getStr = (ptr) => {
4851
+ let end = ptr;
4852
+ while (HEAPU8[end]) end++;
4853
+ try {
4854
+ strict.decode(HEAPU8.subarray(ptr, end));
4855
+ } catch {
4856
+ throw new FS.ErrnoError(25);
4857
+ }
4858
+ return lenient(ptr);
4859
+ };
4860
+ };
4847
4861
 
4848
4862
  FS.createPreloadedFile = FS_createPreloadedFile;
4849
4863
  FS.preloadFile = FS_preloadFile;
@@ -5316,8 +5330,10 @@ function slicc_exec_detach(pid) { if (!Module.sliccKernel || typeof SliccFork ==
5316
5330
  function slicc_sleep_ms(ms) { if (typeof SharedArrayBuffer === 'function' && typeof Atomics === 'object') { Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms); return; } const end = Date.now() + ms; while (Date.now() < end) {} }
5317
5331
  function slicc_default_getpid_js() { return (Module.sliccPid | 0) || 42; }
5318
5332
  function slicc_default_getppid_js() { return (Module.sliccPpid | 0) || 1; }
5333
+ function __syscall_flock(fd,op) { return 0; }
5319
5334
  function slicc_kill_js(pid,sig) { if (Module.sliccKernel && Module.sliccKernel.kill) return Module.sliccKernel.kill(pid, sig); return 1; }
5320
5335
  function slicc_pause_js() { if (Module.sliccKernel && Module.sliccKernel.pause) return Module.sliccKernel.pause(); return -52; }
5336
+ function slicc_sig_inherited_js() { try { if (Module.sliccKernel && typeof Module.sliccKernel.sigInherited === 'function') return Module.sliccKernel.sigInherited() | 0; } catch (e) { } return 0; }
5321
5337
  function slicc_cred_js(out) { const k = Module.sliccKernel; if (!k || !k.cred) return -52; const c = k.cred(); if (typeof c === 'number') return c; ['ruid', 'euid', 'suid', 'rgid', 'egid', 'sgid'].forEach((key, i) => { HEAPU32[(out >> 2) + i] = c[key] >>> 0; }); return 0; }
5322
5338
  function slicc_groups_js(list,cap) { const k = Module.sliccKernel; if (!k || !k.cred) return -52; const c = k.cred(); if (typeof c === 'number') return c; if (cap === 0) return c.groups.length; if (cap < c.groups.length) return -28; c.groups.forEach((g, i) => { HEAPU32[(list >> 2) + i] = g >>> 0; }); return c.groups.length; }
5323
5339
  function slicc_setcred_js(ruid,euid,suid,rgid,egid,sgid) { const k = Module.sliccKernel; if (!k || !k.setcred) return -52; const change = {}; const ids = { ruid, euid, suid, rgid, egid, sgid }; for (const key in ids) if (ids[key] !== -1) change[key] = ids[key] >>> 0; const r = k.setcred(change); return typeof r === 'number' ? r : 0; }
@@ -5457,6 +5473,8 @@ var wasmImports = {
5457
5473
  /** @export */
5458
5474
  slicc_pause_js,
5459
5475
  /** @export */
5476
+ slicc_sig_inherited_js,
5477
+ /** @export */
5460
5478
  slicc_spawn_capture_js,
5461
5479
  /** @export */
5462
5480
  slicc_wait_js
package/bin/zip.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/wasm-zip",
3
- "version": "3.0.0-5",
3
+ "version": "3.0.0-7",
4
4
  "description": "Info-ZIP zip 3.0 + unzip 6.0 for wasm / slicc (emscripten)",
5
5
  "license": "Info-ZIP",
6
6
  "repository": {