@ai-ecoverse/slicc-bios 1.23.0 → 1.24.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.
package/README.md CHANGED
@@ -318,6 +318,10 @@ seven can also join a tailnet, with a patched build of Tailscale's wasm client (
318
318
  - **Exits:** `os/exits.js` routes traffic over any number of exits: Tailscale, and linked devices.
319
319
  - **Linked devices:** `os/link.js` links a `slicc` CLI to the page over WebRTC, as one exit per link. It speaks the [slicc link protocol](https://github.com/ai-ecoverse/slicc-cli): slicc-node's tunnel frames over data channels, with one channel per stream and a 256 KiB credit window per stream and direction.
320
320
  - **Setup:** a CLI that holds CDP to this browser calls `globalThis.sliccLinkReceive` with a `hello` and its nonce, and the page answers through the CLI's `sliccLinkSend` binding: the offer, then its ICE candidates. The CLI checks that the call came from seven's main frame. CDP carries only the setup; the data goes over WebRTC. Every `hello` names its CLI process (`node`): a new `hello` from the same process replaces its link (after a reload, say), and one from another process (`slicc prompt` next to `slicc`) adds a second link.
321
+ - **Pairing without CDP (`slicc open`, `slicc pair`):** `os/pair.js` is seven's side of the link spec's §1.3, for a seven in an everyday browser that no CLI controls. It needs slicc ≥ 1.39.0; the tests run the pinned `@ai-ecoverse/slicc` devDependency. `slicc open` opens `<page>#slicc-pair=<port>.<token>.<node-fp>`, and `slicc pair` prints it for the **Link this computer** field under Linked devices (`pairComputer(url)`, spectrum's pairing block, spectrum ≥ 1.88.1). Seven strips the fragment at once, opens the Network panel, and asks *Link SLICC on this computer?* with the node's short fingerprint (`ab12…ef`), which slicc prints too. Only **Link** (`confirmPairing()`) sends a loopback request: one `POST http://127.0.0.1:<port>/slicc/v1/pair` with the token and a non-trickled offer (ICE gathering waits 10 s at most, then the offer goes with what it has), from a page certificate (ECDSA P-256) kept per origin in IndexedDB (`slicc-follow`, key `loopback`). Seven uses the answer only if its fingerprint is the URL's, then pins `{ port, name }` by that fingerprint in `localStorage` (`slicc-os.paired`). It never pairs over ports 9222–9229 or below 1024. Every loopback `POST` gets 15 s (2 minutes while Chrome's Local Network Access prompt is open, which shows as `links.permission`), and a missed deadline reads as nothing answering. A tab that isn't running SLICC keeps the link until it follows the tab that is, then hands the attempt over; under a version skew between the tabs it says so instead and never pairs on its own. A tab that takes over reads the pins again. Refusals read as a sentence in the block: a wrong, used or expired link (`403`), nothing answering (or an origin slicc refuses), a browser that blocks local network access, and an impostor's fingerprint.
322
+ - **Browsers:** Chrome, Edge and Firefox reach `http://127.0.0.1` from an https page. WebKit (Safari, and every browser on iOS) blocks it as mixed content, so there an attempt fails at once with "Safari doesn’t let an https page reach slicc on this computer…", which points to the join command (the tray path) or another browser.
323
+ - **The device:** keyed by the node's fingerprint, local (the automatic exit, folders, kernel services), but with no `agent` cap, so no remote control: `slicc prompt` never goes over a pairing. Its row stays while slicc isn't running. After a reload, a lost link or a restart of slicc, the tab running SLICC posts `{ offer }` to `/slicc/v1/signal` on the remembered port, then 17117–17126, with backoff from 1 s to 30 s (and at once on `online` or when the tab shows), and takes only an answer with the pinned fingerprint. A `403` on the pinned port means slicc forgot this seven (`slicc unpair`), and the offline row says so until it's paired again. **Unlink** opens `unlink` on the live link (cap `unlink-loopback`), then forgets the pin, even when slicc isn't running or the `unlink` fails: slicc's own pin is harmless then (seven never signals again) until `slicc unpair` removes it.
324
+ - **Tests:** `test/integration/pair.test.mjs` runs the real `slicc pair` and `slicc open` with no `--cdp`: kernel `curl` and a `--mount` folder over the link, the debugging ports refused through it, a reload and a restart of slicc that link again without a new URL, Unlink after which `slicc unpair` lists nothing, a wrong and a used token, a stopped slicc, ports 9222 and 80 refused before any request, the address bar, a second tab (which keeps the device once the first closes), a second tab under a version skew, and a slicc that forgot this seven. `test/integration/vendors/pair.test.mjs` pairs an https page (routed by Playwright) with the real `slicc pair` in Firefox, and checks WebKit's refusal; CI runs it in its own job, `ci / vendors`, on a GitHub-hosted runner with Playwright's Firefox and WebKit.
321
325
  - **Before HELLO:** each stream channel is its own SCTP stream, so a node's first OPEN can reach the page ahead of its HELLO on the control channel, the order a `slicc prompt`, `abort` or `watch` sometimes arrives in. The page holds up to 64 such frames, 256 KiB in all (one stream's credit window), and serves them in order once the HELLO arrives, as the CLI does for the page's; frames held on a channel that closed meanwhile are dropped. A frame on the control channel before HELLO, a 65th held frame or byte past 256 KiB, a held frame that turns out malformed, and no HELLO within 10 s still close the link: before its HELLO a peer is anonymous.
322
326
  - **Half-open links:** a link that hasn't said HELLO within 30 s of its offer (a follower that gave up on a bootstrap, say) is closed, and its peer connection with it. A device's row follows its link that said HELLO, never a newer half-open one; with only a half-open link left, a known device shows as away. Until a link says HELLO its row shows only that it's connecting, under its bootstrap id: no *Asks to follow*, no Allow and no switches, because its device isn't known yet. So Allow, which keeps the grant with the device's certificate, always finds the device it was clicked for. Unlinking a device drops every link it has and tells the ones that said HELLO.
323
327
  - **Names:** each link gets an address from `198.18.57.0/24` (the first is `.11`) and the name `<host>.slicc.internal`, from the CLI's hostname, made DNS-safe and unique (`lars-mbp-2`). A link keeps its name when it reconnects, also after a reload and in any order, while the name is free: the page remembers each CLI process's name (by device certificate and process id) in `localStorage` (`slicc-os.link-labels`). A CLI that restarts is a new process, so it may come back as `lars-mbp-2` while its old link is still closing; once that link is gone, the new one takes the name back (and its SSH host key is written under it). Port 22 there is the CLI's built-in SSH server, and any other port is the CLI machine's loopback, under the CLI's policy.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "description": "Slim loader that boots SLICC into OPFS and serves the UI from there",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -47,7 +47,7 @@
47
47
  "@ai-ecoverse/slicc-node": "2.5.1",
48
48
  "@ai-ecoverse/slicc-shared-web": "1.24.2",
49
49
  "@ai-ecoverse/slicc-spectrum": "1.89.1",
50
- "@ai-ecoverse/slicc-vault": "1.12.1",
50
+ "@ai-ecoverse/slicc-vault": "1.12.2",
51
51
  "@biomejs/biome": "2.5.15",
52
52
  "es-module-lexer": "3.0.3",
53
53
  "fake-indexeddb": "6.2.5",
@@ -159,6 +159,10 @@
159
159
  "integrity": "sha512-KSfYuLOA+W1Om/2Du4lZrM8PKVnPnRoxZUlGxjnzTZMC2fmG1D79+OokFp3bZ+dpbPqpHQ9u8W1sJa4fGcDptA==",
160
160
  "sha256": "85ac9ea30ccf0ef62bd453ec1498bdd7b22f240e8b23640c743f1dcb198110a0"
161
161
  },
162
+ "@ai-ecoverse/slicc-cdp@1.30.2": {
163
+ "integrity": "sha512-iCE6JHfJLbes+mxMMonImu/ppgGVdRz2AiQ9pY2uuWu2tZJ3s3RkocgONMOKtF5q1HnX85SoC5XyuvdCbQGhpQ==",
164
+ "sha256": "383f9c12a321426b5192efd616265e2dc3ef182318653e0d4e41df1de1a1feae"
165
+ },
162
166
  "@ai-ecoverse/slicc-clipboard@1.0.2": {
163
167
  "integrity": "sha512-p7b1h85qkiU0LKjNLCLiU7GVXjGigkyR2+VUCInM1cZo2yjLFxr7tGAOO09e6OG9nB7XKiQn3W88wb3s0gxy+g==",
164
168
  "sha256": "1bd73c6ae4c5c0dc149ba6a301e7615a78bf4b97ff88c5b0f6eb7d8e270588aa"
@@ -335,15 +339,27 @@
335
339
  "integrity": "sha512-xpi0li0G2wD3ezIlHGcfDJ8Pd1/pT9w+dNU5U3vrx8XlkIAEnpjJRpPU/+sIDeBy81EauPd9H0M3ke33wZD53g==",
336
340
  "sha256": "ea735648aff0c8620b62462bcbe9023d10c7306bbb41930e140977a2aa530964"
337
341
  },
342
+ "@ai-ecoverse/wasi-dig@0.1.0-4": {
343
+ "integrity": "sha512-zWKTPKPoJ27Jndc1gpHSGmGovisg8mXD6hkPYm14ccVlqtVpNTDdGgdY+5QAqzqYdTzyiVAbkhqFMDo75vxVOg==",
344
+ "sha256": "e659054a07ef09cbcd127820fbf6ee54bae90d86a643c02f3c7f4f54889e2b4e"
345
+ },
338
346
  "@ai-ecoverse/wasi-fnox@1.39.0-2": {
339
347
  "integrity": "sha512-puU9FN7kXKnlxaClZyqGd/m/229HHmVOA50+YExQBxzb1IrwPz/yS0Q1KDw0GnzC/glVLqu6jkSyc05LK1Fzyg==",
340
348
  "sha256": "3b6607de060ea30756807aa936774842b3bded9f463025c4d10732a8b474b175"
341
349
  },
350
+ "@ai-ecoverse/wasi-fnox@1.39.0-5": {
351
+ "integrity": "sha512-i5EjOav/o7l1oexodKLLr33ZohDD9bjtNzj7tmJIctREUy/7jcn6IMp8hvBv/H+pxeNs+bZ82gZ6kSRSOxwKXw==",
352
+ "sha256": "9f8af246dfa9ecd233b6312449a2c935e0a533c0bedb73c82f0d3a4c02487e37"
353
+ },
342
354
  "@ai-ecoverse/wasi-gh@2.102.0-1": {
343
355
  "integrity": "sha512-LX/ieGLiCbc7GMevt4hctBMaBYoK9jvrGKv+bRIOrs0qy5qdAm8E6RvZopm1Yaaa30d9as/hZbytDx9P2hKKjw==",
344
356
  "sha256": "134acd4ccc67ba48e98102e5a6b4ee995a21eb87b628e2b683b750437319a631",
345
357
  "exception": "unverifiable build (homescoop#864): kept because gh is core; bump when its reproduce check or a CI-built gh is certified"
346
358
  },
359
+ "@ai-ecoverse/wasi-gh@2.102.0-2": {
360
+ "integrity": "sha512-2Jsk/p+QT6Dvf4pMYYSAMSD5WQ67037Bqy6HxvHLT+DslyKNrxm2ExnMu1mQ9l5HG3uaWazdC/Vx4x3EuLwNqA==",
361
+ "sha256": "3b386388a3069c1df3c9a5d5418e238cd7fdd246abea19fa4b46cc29013c3e6d"
362
+ },
347
363
  "@ai-ecoverse/wasi-ntfy@2.32.0-2": {
348
364
  "integrity": "sha512-gPaK5pptREyvSsfnog3PqxDYAiZ9Qeo3S0llnB5UVzOeQTLT222SecJ5Xm7d6ldB2//3iILp3wxqV24TItpwMg==",
349
365
  "sha256": "12267d1463082fd86f7315a41c3f1c905ba320496ae5078cc56487246f884a05"
@@ -360,14 +376,26 @@
360
376
  "integrity": "sha512-9uTIklwdhPpn2lfpbUO4iNb+a9teRX1smXbf/0yr9ag41/IRLb7LD8Y9ywhm5aJq0pMHysbvp4WCYL+Di2Seqg==",
361
377
  "sha256": "9a7c5564972dc84df75dd71b95039b2d945aa2c2f66c2db95d94c7037c329657"
362
378
  },
379
+ "@ai-ecoverse/wasi-pnpm@12.9.1-13": {
380
+ "integrity": "sha512-i7LkdU+BMahJHdgI+BK6WlWDL0t8ZB66HuMFP17zV5uNs+glZAd0vGuV4ZZubRuPwCBMXm4LklwmZm7qd3kV7A==",
381
+ "sha256": "7d4108093b1b54c9379ef95df6ae8d8d9d4a6c81531aba0b3261bc51fb0d5c8a"
382
+ },
363
383
  "@ai-ecoverse/wasi-ripgrep@15.2.0-3": {
364
384
  "integrity": "sha512-UYnMCCev7OQYAOGJ+sO/wbmZGg5mOlsaa8zJPtsrere2mrKHczvwMYmLnGeC1cqV3XW/AwRlMNk0j+S3pYUZ2A==",
365
385
  "sha256": "d7db54ccdade9379aff3fa90fd8b07bb48990d96097fde39691b0fa17bffe2fe"
366
386
  },
387
+ "@ai-ecoverse/wasi-ripgrep@15.2.0-5": {
388
+ "integrity": "sha512-QtSi35Zr2Cbb7tg2DM4CCJ1gM/KtNrcJA0YgqiVrnSQ1fuXDi5rYnv9tIXqzpqGPRaLg/JOzhG7qklmksNn4cg==",
389
+ "sha256": "83b3d7fb58b5b95cef24f725f57e59e14d413f58138e72d57ae265f83d2ae12f"
390
+ },
367
391
  "@ai-ecoverse/wasi-slicc@1.41.0": {
368
392
  "integrity": "sha512-uPFR8MkUZ5IeDF6EHEehG74ZXpS5imlxZLSxqevMtbPTeNUHOMl+jTHo4INnPE6avtT1aY5LQnAPs1EM8Nh8Aw==",
369
393
  "sha256": "15d742df5303089573122181d510d9e8700fff6c72cb0f3cbed650ecccabf3a9"
370
394
  },
395
+ "@ai-ecoverse/wasi-slicc@1.44.7": {
396
+ "integrity": "sha512-DcfMY1JbWXHXJhcRPi/aQiGVs6AMGGTn6t300Mx2n0Pv7CQ2XtCpjB77xVb6gp2inrEhJpbBKOK64I14/WoQQQ==",
397
+ "sha256": "cdc8101fafb15d31f83fba7c44f42987f3e20ee9071257a941c09b4107ed3345"
398
+ },
371
399
  "@ai-ecoverse/wasix-gnupg@2.4.9-4": {
372
400
  "integrity": "sha512-O1V9mpj62CiI6gkKcD0YxBaHKRZ3pDLdwVB8hif2DBOin4bQsWaHgUn0P7jaoArIUjlD/Ak3Wk/u+wJawto/FA==",
373
401
  "sha256": "7b36fec5ff7585373c8f22482b245641e38d979d61c470383b030d678a3893ff"
@@ -392,6 +420,10 @@
392
420
  "integrity": "sha512-eb4K379LaFj8HV/wB+Ob7LbyBDgwxn6Bt/6/HuZ207+7SemejWutP4PbwAj7gtAD6eV8RuCi4XqaOhgo+p5Kew==",
393
421
  "sha256": "0f371d3dfba21552622375ebb0f7e6402b3e679d112c319acd313aa8b921fbf5"
394
422
  },
423
+ "@ai-ecoverse/wasix-openssh@10.6.0-11": {
424
+ "integrity": "sha512-MPTOdE/bKShVw+j65vN5yfZuV/xPyUdPJ34R2s2pSHzxNHHtLJOlZaCdfDmcvR5u+N2BGR/c7COBmYFmo/t6tQ==",
425
+ "sha256": "3c1c99f6dff26f388b9850f8633ca278bec2177608908d2b9f0f7a8b11e68a63"
426
+ },
395
427
  "@ai-ecoverse/wasix-perl@5.42.0-9": {
396
428
  "integrity": "sha512-sSpR6JeqbRrTDkd6MdGCD+l0IUBxo7fZSol86ZJRPYvfs/9NsXM9zuDiRymeAWoIpfTOYihG/d+dA1JQSNI5nw==",
397
429
  "sha256": "d5f1617af677c00973e8128481e8c8894fab12025c55c20b74df76f3214d0173"
@@ -404,6 +436,10 @@
404
436
  "integrity": "sha512-LHZes1su/6q25q6rHjNUcQxJW3FwW8JWSLWCTvZhEIPWWZ895mgkC+8s2uXFzjmSUclbIURBoTz5BfkAc4SLOg==",
405
437
  "sha256": "6a64347e332815d8681e739c7f47f8f71204df75101dcab66352544a872bc9ee"
406
438
  },
439
+ "@ai-ecoverse/wasix-perl@5.42.0-20": {
440
+ "integrity": "sha512-YjEfv0m/nfzUvMnilYXis8VRrTxAlyeuckwF1vjfR4tZ50/+7nOG10NwEV1Lv2V4HIztSFxnTuot5OhePYw2CA==",
441
+ "sha256": "29d9d22c148e44cd1bd940e3597db07543762fd4b1fa30471faaaca5028365f1"
442
+ },
407
443
  "@ai-ecoverse/wasix-python@3.14.2-15": {
408
444
  "integrity": "sha512-Yh0sg/eKB+YwsUwRFmBTAo6uM4GaZ18bHgunKTTV1HP3ORnsQ5ajBK//yqdmYl0LtHesltDhJ1mzQ+9Ciq+W4A==",
409
445
  "sha256": "f97315f7dbb2262f41512c7eb77384af78a51920f0678db8a49853f8b36d8a6d"
@@ -432,10 +468,18 @@
432
468
  "integrity": "sha512-qTMGYM+x0738OjxXdBuzTDadzDJb1XrR92ER3V1Y7l5Rw6IHfHSalizKuO+Jo+zM6qAa81OAmoYe61NrI50jgg==",
433
469
  "sha256": "a2efdbf4a3977e7cb6e158b51d619772f92b062aef8dca32236ed7be261c2606"
434
470
  },
471
+ "@ai-ecoverse/wasix-ruby@3.4.11-20": {
472
+ "integrity": "sha512-666zP5PgZ4PLk01W6E2F7cBQd7kjZXqyzaMgF1r5MK52v/aO53i7aHfuYHL1frLJgIzCPY8gXe7t3pkkacw/dw==",
473
+ "sha256": "95eb82efc54868200ee69edb6e303083bba25a2ec887a0f93a6098c49fc2ef93"
474
+ },
435
475
  "@ai-ecoverse/wasix-websocat@4.0.0-alpha3-3": {
436
476
  "integrity": "sha512-D3iGDb+tx30SUwuONfyMfRDY9ZIJnEnF8A4X5r4P8uPXYUge9ZTL8wVTMW9x060kq0VN1w9mifNzDF6Lb1/fFA==",
437
477
  "sha256": "50062e7d8f0d05eb04735aa3f5fd71b561bd831d7426f5a4baa0621980c20a61"
438
478
  },
479
+ "@ai-ecoverse/wasix-websocat@4.0.0-alpha3-5": {
480
+ "integrity": "sha512-ajSgu0rHPgwGrsXEJUSBX1J9s/gl//BRVKfGMkxe1WjwzYXoBFLD99BcJD4LvEMXTE+Wmvlfq102GgOevd3GRA==",
481
+ "sha256": "f6d42c5802c064a1b7c226819d8519e23a8d8e8faac7c3e9dee5e838fddc64b7"
482
+ },
439
483
  "@ai-ecoverse/wasm-bash@5.3.0-13": {
440
484
  "integrity": "sha512-pusddMmR2Y7k1fSDtF8vCNzPcpe4LCPEvwPhsxhnx9V7NmMcdudBvPE1nKLzetnqNQtXLjVaMNvKPxzrLO9KGw==",
441
485
  "sha256": "10fea4a64c1622155b24127dcdecb4c843ce608b42725806d6ca944d5035d3b9"
@@ -448,6 +492,10 @@
448
492
  "integrity": "sha512-4QRTNWXVecJG/zvEIpW2BEIWE//bqYNyWE+UnJOevyHhkGmFI5h2D4EHyjeH03Yqo/uqWFJVEsLkCPUdHw7IPA==",
449
493
  "sha256": "f0a0e0347c53cf46bd093892ad423ffe3746de517d644dc252085e6e34ad3a5f"
450
494
  },
495
+ "@ai-ecoverse/wasm-bash@5.3.0-19": {
496
+ "integrity": "sha512-svL9HAGz74mj8OaQaiA7uv7Wv0JnGQKryJk0zdkZBglDg2WIxX0ez+IKmR5lfLo9boFHopGQJ9rw6UeWBZypZw==",
497
+ "sha256": "a221e47df32b49509e55aa2afc4cd95873aaca2c8bc2c2da5a88e1bd4b8c185d"
498
+ },
451
499
  "@ai-ecoverse/wasm-bzip2@1.0.8-1": {
452
500
  "integrity": "sha512-xT8HkPFCdzQwJat8ZUYdv4U7C5Q8qMMOouor7Ss6neJ7Q8SHcuLVPYFph+zOQ2icZ1Cjm/3kGH9jXbvUpD416g==",
453
501
  "sha256": "984e43aa1a51a377177a64a152d49fbb79755e1a10feed35317b47db063123fb"
@@ -456,6 +504,10 @@
456
504
  "integrity": "sha512-FzE8FE3sMzOQLwm3hV1SFW717mhSjjrchGOgFuZW8JCZ57oPs6gJ/915POb5DHsjv3luXKnd2uycKdlOsdZoEQ==",
457
505
  "sha256": "eff7f59d50f541f9a1abd352893255de875859b4b58928148799af8ff7c3150d"
458
506
  },
507
+ "@ai-ecoverse/wasm-bzip2@1.0.8-5": {
508
+ "integrity": "sha512-oBIckNRPeNYklYPdetrQ4NOjCUVXxwJXVo+xf2dvHZDBDxlkRa3piNUQ1iPDEWyEp1sSOfgn7geTX/SoKyAfhQ==",
509
+ "sha256": "33f0f4bdc1339501862c7fe71f19a11b8c3c45da3c41d75dec10cba3d8ed2e0c"
510
+ },
459
511
  "@ai-ecoverse/wasm-coreutils@9.12.0-5": {
460
512
  "integrity": "sha512-FYVgCa3FEGBTci7YV9nwuqDsmPXqErNjKwCjj7JQ5JahoV5/uv1DriGQn3+kT1p4RYIcMKp4Ca4OtUz1DtV3Fg==",
461
513
  "sha256": "25b468bccb2b85d03a1b70cf70309bac8a18a3b0c5355d542736689e71a2e741"
@@ -472,29 +524,57 @@
472
524
  "integrity": "sha512-TVzd0Qrjb47zfMCseSNVIPEKmfofcCxbSNOKmuADfETuEx9bEnrTuMikMeah+laVfCy15YUq3C4FTZnaMeI0zQ==",
473
525
  "sha256": "1ad0d0bdceea1c1a6ed8d508c55f66137358e9bcd44a2dd51609e631c360b2e3"
474
526
  },
527
+ "@ai-ecoverse/wasm-coreutils@9.12.0-10": {
528
+ "integrity": "sha512-5vc75C/11PzPYSbQM129tccyLjTHTzsh1JR3rTT0HyaRTZ6ZwkNz0VDTrLgkJNrmnXbzjb9bCecocz+vv1s+VQ==",
529
+ "sha256": "d73f05e8cb97985d585e14a1d17311e6f9154456a539e8f63c9ec77d00dc0216"
530
+ },
475
531
  "@ai-ecoverse/wasm-curl@8.22.0-4": {
476
532
  "integrity": "sha512-FYCuUOylMQ6iPLJUvCAMk0lqcdb764t+9xv8qrIAOyQJWtSJrnUNntP7APzHo4m6I3LYJqYDO1NrImqc29S6Yg==",
477
533
  "sha256": "95c4950dd8dfc2b8898fd4b56771025fc8b2e8fe4c69928a94748703e58e934d"
478
534
  },
535
+ "@ai-ecoverse/wasm-curl@8.22.0-7": {
536
+ "integrity": "sha512-slOa6f6b1/0+HI7XEEzv84jZ9RjH1nu7DW03m5ZyvcXyuo5vQXlxqNru9jbY+daUIykqrlyHqM4VsKJ05iP79A==",
537
+ "sha256": "398567b218cd01022bf5a8759723500a1bfc3a18fd2b68acb7cf1a77a5d9df5c"
538
+ },
479
539
  "@ai-ecoverse/wasm-diffutils@3.12.0-1": {
480
540
  "integrity": "sha512-k8vezSs6/M0Mu/PxymsxvyM6lYym7nm+otzb+Epnw6dN9TiW/67Rtpk1YcbcLcIvqMIQpvUIzqVFhTBMIjoYMQ==",
481
541
  "sha256": "0fcb72f0a420af33d4e24370bc3c3284c6df78bda0d33dd544f71de1ee6729dd"
482
542
  },
543
+ "@ai-ecoverse/wasm-diffutils@3.12.0-3": {
544
+ "integrity": "sha512-7NiecGX/aYM8m5w5//z9DrifrSPFC8oxa0Q14jRTnrnY7LQZJqjhm+AILK69/8CknTRkeyQNCxvAtyS6Q4TBeQ==",
545
+ "sha256": "c0a960dafb7aa87e90fcd36e5af4095f94ed281bdb66954fb43e63abd51994ad"
546
+ },
483
547
  "@ai-ecoverse/wasm-findutils@4.11.0-1": {
484
548
  "integrity": "sha512-MKF21UnnF5IQCkMcwGfjbdgsq3eb0vzW76HHAl4XGkdf46wPvjPsNFdqBcgavkPO5YGhukLwZLT2EawnKeV88A=="
485
549
  },
550
+ "@ai-ecoverse/wasm-findutils@4.11.0-4": {
551
+ "integrity": "sha512-rMMV8cmhRhHm+4kvDMtV1fRbYZohrtX+mMTRJP3vyv653kJ9sVI/lyI50DggJfEHjs88v2mG8xOvUjNIk6a6xg==",
552
+ "sha256": "2d560f8b8113bdda39104864670607f47ede7712a2c1caac83428971e34d6cac"
553
+ },
486
554
  "@ai-ecoverse/wasm-gawk@5.4.1-2": {
487
555
  "integrity": "sha512-0VAhYN6S5LG/0U/L5/N7cFkQEGbfT4pCrn04lYN8febswwLeEmkI8H2GCpeJzXCPoeT7h7grfe8WDnxjWA2JIg==",
488
556
  "sha256": "e2c3e49f2962fcb3f56f11c49d545146577ef08aa7834d7a53ba7011a77fe1aa"
489
557
  },
558
+ "@ai-ecoverse/wasm-gawk@5.4.1-4": {
559
+ "integrity": "sha512-xeut1AGIIai63xC+yEPKXWI+zTDxMubCV2wSQYKkO8FqbYuR5EKa8zBlxd1IcdAyTSAJJWo8aNK3AYBofZra7A==",
560
+ "sha256": "b40d41a5b873652db6a407299e4c118ffb7c9a8677bdf3f1058910f84a563fed"
561
+ },
490
562
  "@ai-ecoverse/wasm-git@2.55.0-15": {
491
563
  "integrity": "sha512-iN+it7A5iVGAV4UL7p2ulLcopY/7vGADgin7GTk+8JKC5bmE++BkGSbDCHvv+FTBe17KHVljzHQ5Mz8SZlMZ/A==",
492
564
  "sha256": "42605553b8afb9471114530422cb3e69ec0e039cbac14aae16f17ace6e58c459",
493
565
  "exception": "unverifiable build (homescoop#858/#859): kept because git is core; bump when its reproduce check or a CI-built git is certified"
494
566
  },
567
+ "@ai-ecoverse/wasm-git@2.55.0-17": {
568
+ "integrity": "sha512-1anA5CYYvfVEcu9PQC1f5v6a9w2Q8GcSjrIQHW5Qjq5/zoYDxNmbElB6rX0zhvc5n5ZL5X6mY6RaSxi3jU+bkQ==",
569
+ "sha256": "7fbd8cbc7983bbb84ffa407811066cb3a2164d63ea68afe1bc621352cc51a18d"
570
+ },
495
571
  "@ai-ecoverse/wasm-grep@3.12.0-3": {
496
572
  "integrity": "sha512-2zUPO95WUlvdlRp2EOZW4ABaTvPdmF6qwX/mSWke1r51vW1NXTsqx1G+EXRwNFPzeYcOih17GViA0XGA7ph3/g=="
497
573
  },
574
+ "@ai-ecoverse/wasm-grep@3.12.0-6": {
575
+ "integrity": "sha512-HAZQ1lhYFEnFqTd/nuIj+2ldkD33t8Ks/e1socraB83o9lCYTgmD21nH+kE+f81MD2RyXVdx9PQbOa7vqRx5SQ==",
576
+ "sha256": "32410ac5b087748bbf0a35a4f35b69a66743b8df7a85f053ce46e8a02fd62de5"
577
+ },
498
578
  "@ai-ecoverse/wasm-gzip@1.15.0-1": {
499
579
  "integrity": "sha512-XQp/9qXWGsoYAjnDyfIywNaeWMH81qP4mW1cfkTkpQgfobu9DUNfy9hbHrerPzlf/fn1fYdkVbnUSHEyqRFlOw==",
500
580
  "sha256": "01cacd32295b21d8011013857df4043f043075c0e644e7647c23d0d0d67b2e50"
@@ -503,40 +583,80 @@
503
583
  "integrity": "sha512-Y5Rame9OWGT0b7DInO9WB7AX1oEyhp95aKPcvTjjeBXa+OiMu0CpcQ3YXncwOZOMxfaAGPXWC/mCD3sxALj5Nw==",
504
584
  "sha256": "5c157940f3fa20be82019af01415ddee7126e037760cf6109ed668b1113a1043"
505
585
  },
586
+ "@ai-ecoverse/wasm-gzip@1.15.0-5": {
587
+ "integrity": "sha512-e1XFfdt2Rx0i/ZYJxWMjbdOnEcj+W2E6iHEoEDBSmCV8S0Tc3IbAGc4STcv8k50m0dhtEfeantB6/MxUYuXiJA==",
588
+ "sha256": "987cd206d85c5b67fb9929b9141cf09adfe99ca8415dbb455db4c1d8dee592db"
589
+ },
506
590
  "@ai-ecoverse/wasm-jq@1.8.2-2": {
507
591
  "integrity": "sha512-lP0JB5DroQj0EUUfQTz8FPUIDIK2q3EDomXTtz5hzZnns8pPWBoeGcH79SiVjCEu5cREEDPeYS87oSA0uYFbaQ=="
508
592
  },
593
+ "@ai-ecoverse/wasm-jq@1.8.2-4": {
594
+ "integrity": "sha512-0Brgm7DUvWnGuvtzsGhkeBubkPUshVbICzzVpytq2/I6D7fkqau2CvH52mm5AfOsv3JSV1i+JgClRWYshR6y6Q==",
595
+ "sha256": "09d7b64467d709e74ef7b0ab4761bc7d176a415764463f288580c7a049c9e9e9"
596
+ },
509
597
  "@ai-ecoverse/wasm-less@668.0.0-2": {
510
598
  "integrity": "sha512-UlQHO4nK5Xdh/xUYy7O5Wyn/CK8PROFZB/DsGsHagOd2EBLTqEKmEIEQIyxR1EQx/2oWCVSLvatGVS8rqr8QXA==",
511
599
  "sha256": "ed6c40900d81514c5c89ddd5620e1223695295146c46c1e787561e6e31e5e68d"
512
600
  },
601
+ "@ai-ecoverse/wasm-less@668.0.0-5": {
602
+ "integrity": "sha512-51iFDCcWrE3t2YaU7PmnhkyRvIQjITGXg7DiBOvNB7LzNegaAvSdVhvxdruPfz1fv/sO4tsFrNs+gpSeHR9StQ==",
603
+ "sha256": "8bbe37b9313038cca365220d789828f18b17470247e02de40e068715366f3eb8"
604
+ },
513
605
  "@ai-ecoverse/wasm-libheif@1.23.6-1": {
514
606
  "integrity": "sha512-Do+JTuG9D5I7DkviQNTwIvPf9lnM2so/bDs+1He/mwtxLnxP2aIELIUkULQrBF9GYD4BU3pxH0Dxf+rZoG8SsQ==",
515
607
  "sha256": "68e4a36d2d31e0af23aff3cd929f5b76fffb2ade15be3bc1af5264d42788a232"
516
608
  },
609
+ "@ai-ecoverse/wasm-libheif@1.23.6-6": {
610
+ "integrity": "sha512-RhPLxEfVz3CRiOqYt0WCSPLWqNBTNgrvZcRcQYCfk2DtH+MmdlcH6GjhFPB7IKlmkOKOwonpeXzA/cI5e2H7SA==",
611
+ "sha256": "284f634f2c13f692853ce0313f262a93fe84a2a2f6f387fc696542de6e781da9"
612
+ },
517
613
  "@ai-ecoverse/wasm-mount@1.0.0-1": {
518
614
  "integrity": "sha512-s0C3IR/N+qEzNMBLgUO0gQX2sWdI607yZnbo2b7jkALtlhwpiQ1y2Ak1NjyMkDLNuvZyscsleDwFIsCuP50e1Q==",
519
615
  "sha256": "c7424668ac28116e8ec2202f3e734d60b7b9598813c797d9a446cb4b2eb3467b"
520
616
  },
617
+ "@ai-ecoverse/wasm-mount@1.0.0-4": {
618
+ "integrity": "sha512-iAsZ7etm/1fmZmUck6xJxjM39ElQfqIM5X7yH6R2zy7enXtBHP3CvjkQx8O/h+xFtxHGmZtPCxZ9gW5cS0DgBQ==",
619
+ "sha256": "b81200cdee09c5de8264223f23eb655c8821db940ed5288e1d3d8f2435b29f4b"
620
+ },
521
621
  "@ai-ecoverse/wasm-ncurses-utils@6.5.0-1": {
522
622
  "integrity": "sha512-Csbtl50xEJKVCHWf4JOg5ELrCW/V3U7r1RUsvOMxo8+N73D2yvlOLwSVW7xb/jecp+DfNqxJka9aNxbcfOl1OA=="
523
623
  },
624
+ "@ai-ecoverse/wasm-ncurses-utils@6.5.0-4": {
625
+ "integrity": "sha512-sIhjmXfKzLlUpGFZ94IWySj4W64P3MiB64cNBBcy9eDqHJ0hcT83e74tt2CzNI5206rXsTmUFYJ6PtpvdO4cIQ==",
626
+ "sha256": "8cb6d20589a2f07784b9f22db0cbdd4f839bbddf096110e37122900d105cef5b"
627
+ },
524
628
  "@ai-ecoverse/wasm-patch@2.8.0-1": {
525
629
  "integrity": "sha512-yy8fqdP6W2iYIaqdcEf1Xi+IElZFOzwJ2peJ4UEtxnmWrEPG+LzAoupe9qWqmrXTJsthe/LzwgyQYh4i2Roqbg==",
526
630
  "sha256": "0d97fabcae05ec6b33cd7d1fee9bfe5bbd17879cdd5e8aaa3c18fdba5ba02f4d"
527
631
  },
632
+ "@ai-ecoverse/wasm-patch@2.8.0-4": {
633
+ "integrity": "sha512-qQWB4e28Fbktm6WkLNdu45bNAMrlUTnI620WtmQdwRJyE0pTyEEQ09dALYWHNFhFhlNw2wJtpRW4C3blGWlQSQ==",
634
+ "sha256": "541e31aa6e6d76285ad1f91f506f0e0f47b0109185422949665417a599353c6e"
635
+ },
528
636
  "@ai-ecoverse/wasm-poppler@26.10.0-2": {
529
637
  "integrity": "sha512-9t7FOwy8YBBw2eBixGzfbxROukaRlFTYWPifzPPfqkjJ/+8JMUbxVlEcqq8XQoZO9Xl+lY4MB02kckYBniV0KA==",
530
638
  "sha256": "5c83029b06e972e3910829b5a411bbf76f448e47f9b41853c20596b258fd0d6d"
531
639
  },
640
+ "@ai-ecoverse/wasm-poppler@26.10.0-5": {
641
+ "integrity": "sha512-cKHeDywd6qiuM2lb80P1p+Ucpy2VH4PkqbC4Rz1cB1fuBDkCxceO2cYxWrf2r2A11lYZ7sJBm9qMWBi2FdTkMA==",
642
+ "sha256": "f277ab4f7b61ba64baf298186ffe88a08ec514f28cd21633f0b8fec0e9e43e5d"
643
+ },
532
644
  "@ai-ecoverse/wasm-procps@4.0.5-3": {
533
645
  "integrity": "sha512-NvioXl1q7DP/xq3DEENgicSyHIdl7Xfe/QEicosrAdgaaY4cisCMEpd0/+pwZRrRoIg9D3my/Zk4nhpvd2Jupw==",
534
646
  "sha256": "b86bdadbcf85629649e452dc2190e7f33a3a99c19260b39ded0ad9b8291ecc5e"
535
647
  },
648
+ "@ai-ecoverse/wasm-procps@4.0.7-4": {
649
+ "integrity": "sha512-aTLwoYEvUQ8z5TP6tVFEqF18E8i2Zx0S3UZB+3gRn9NY2j7qgTNzYKtDVFjwoyk2cFMQmRgSf9PFjOCAH618Hg==",
650
+ "sha256": "339fbf7d9d1262bf9d1823108bc5b1d8ad387c7d6df9d5e56901925b09bc3c3f"
651
+ },
536
652
  "@ai-ecoverse/wasm-qpdf@12.4.2-1": {
537
653
  "integrity": "sha512-fHzfYd3BAs298Ob4kVKPmXEDjGrCJ1urFfp+17ZZEjCJOZHBgfaFMruDVxf1M5Z5C7wUEwBdJZkbNWqsafVKsA==",
538
654
  "sha256": "8af50078bd9adba6f3b5ba0950eefc5172105746d28051633af8c1bad45cccd9"
539
655
  },
656
+ "@ai-ecoverse/wasm-qpdf@12.4.2-4": {
657
+ "integrity": "sha512-y1FD7A7zJUdnrdnT9sBD3X+50e2i9r3A7KW6zWQnjTJ6SShsVldihj7RbeyeyRqegrOvYfaMZ/5mJwnlY8M0Og==",
658
+ "sha256": "721ea4f5903d5535d6f87d8bc47a28fe6f47aead26f8a346668e81aff0e773a8"
659
+ },
540
660
  "@ai-ecoverse/wasm-rsync@3.4.4-3": {
541
661
  "integrity": "sha512-i/xVordg4UzcM/c64J2UTPEJnpwN3hb3CFmGER6u9XyPjX32zg7yXPrqcsub2MPniTM/cs+gwgr3y3lX+2k+Fg==",
542
662
  "sha256": "c203ee50c30992052e635fab4ccbccd2fbb84718369f4927b3132461cb791e23"
@@ -549,6 +669,10 @@
549
669
  "integrity": "sha512-+aZZCseE/FUlzMoQTgKn8ACxOj/8stfPOpxAWbjBxi77Rn49/Qo/BHm4zmbg+T36UiOqw8zbwSHT48ITdnyK0A==",
550
670
  "sha256": "2dc6fab4d122784c238f92965bda7b944ee70275cbc22dd5dc7f00e23dea7c32"
551
671
  },
672
+ "@ai-ecoverse/wasm-rsync@3.5.1-5": {
673
+ "integrity": "sha512-PH3b0+QLwWURo5293My7WMeUChS+p2aOO/JkOIgUNtSqbNTbu2bVaC31fxr+xhkAmAnH+WcTnjwvPQn/mQQ+ig==",
674
+ "sha256": "f3489f8102bcaea429486d283e3baaf6aa771061ea2c54ee409a4baf505aec06"
675
+ },
552
676
  "@ai-ecoverse/wasm-screen@5.0.1-9": {
553
677
  "integrity": "sha512-k3wcAieBfWa28hHWGZuA6MqhgJtQi5n0j1eyzopjSzXia9lysv39yKYGDrf5AZz6sad9unZkXSuW6u3jgo1XYg==",
554
678
  "sha256": "c651146115130196965af1738fa08a7354e6887b4a9efc9703d99dc06a52a873"
@@ -561,13 +685,25 @@
561
685
  "integrity": "sha512-qojf2nHN7W3jnxEH7Y0RZ4R/IGaUGDX5UrgYKm1bbFA3KdkwAgm/Eg4OW7t+3FfXM4YqgsMtnfUuSPrzga6LGw==",
562
686
  "sha256": "cedaa15b64767d421a03773ff98377d08d9aba87e10274f089f2b3f98a8ea6ce"
563
687
  },
688
+ "@ai-ecoverse/wasm-screen@5.0.1-13": {
689
+ "integrity": "sha512-g2K9J63mKkRORjPTQA7gGgvVBaW/0FZCjCkKxb+gvIstiwxpCos5mCW2z6+jGXXlxJ32cxTdyu3M0X4KWhkW3g==",
690
+ "sha256": "dce8cd02045e1f8a17d32fa9ea132b0e73e4164e72127e7fbdc07e9fa8dd2ba3"
691
+ },
564
692
  "@ai-ecoverse/wasm-sed@4.9.0-3": {
565
693
  "integrity": "sha512-t+sfLSgTzFW5tyysusEtV7D1xPY/qELvbNAqbNobp8/q898b0zFZrM2b2/PjNN5o1O6jEgjOTHuT1Z71tzb9bw=="
566
694
  },
695
+ "@ai-ecoverse/wasm-sed@4.10.0-4": {
696
+ "integrity": "sha512-T5mYWvRlYPc/WqRMqmB45VBCn4nT1q1smr5G+lQ73S25WrikR4W/Nc/N8p9eCmJ9xbrZ9xI08ClTg8JfogAo8A==",
697
+ "sha256": "1754ae2c32ba0e5a712c00c94e99c3d9ebd8db42cd4176c560689a19ec83da11"
698
+ },
567
699
  "@ai-ecoverse/wasm-sqlite3@3.54.0-3": {
568
700
  "integrity": "sha512-o44vvWhPQm0KNmnF9cy/J5Tj+wmKwdOPM/36yDpNAltCy/givEpViDOhvM071ZalJNA0ZE8R1dyX24jnivD0pA==",
569
701
  "sha256": "ea159cdf70797fc0aeb6319d85369e59fc78fbe2eda7b8bf92f62f2c98331190"
570
702
  },
703
+ "@ai-ecoverse/wasm-sqlite3@3.54.0-6": {
704
+ "integrity": "sha512-R68+igrJTaNAheMY317wTWVlRTWQQIA6WnkFgwc2XKdwDnh23tALEoRSURKXki2VacPknGt3YplY/rl/cCwsaw==",
705
+ "sha256": "8d8d7e18527d3613bc2b13b3db9f232e0fc856d10ac390521beb9e57022accad"
706
+ },
571
707
  "@ai-ecoverse/wasm-tailscale@1.104.1-8": {
572
708
  "integrity": "sha512-F8H2HVuDswpmFq2tfqabKDQlzZ8xmWpNUDinUIWplixiz+SCKwA0uE4YJIAHdw+lGJP1AEVdHHTFtcroGGv1Pw==",
573
709
  "sha256": "23e2b35274385c6b82cfe0b6fb140af4a15207902f97b1ed280d1b9543bcc4e4"
@@ -588,19 +724,39 @@
588
724
  "integrity": "sha512-EjOrsCO4s4k0KAHVUeUqkgod0rilC9Gd1f1CpCcwBD2maG3aVQQsXYI6DAgcZR5HLK5sHxzUOVSPcCZT0HQ8dQ==",
589
725
  "sha256": "0496cd2c2bf792dbfd5839967ab8622297fcb692bac5dca0d01c9aa6cd2cc00a"
590
726
  },
727
+ "@ai-ecoverse/wasm-tar@1.35.0-8": {
728
+ "integrity": "sha512-d4GeDmL+fAmN7pTPftsN/yeZxUL97QuyC1FaDX7JwxAL3qgzPHFnqcHpioJFCTrsbeKrqITV138Jy1Y4D3tymw==",
729
+ "sha256": "ac0729c09867423a7389c872632bef6b29c2bbc617995da858f22467970e932e"
730
+ },
591
731
  "@ai-ecoverse/wasm-tls-engine@3.6.5-1": {
592
732
  "integrity": "sha512-4dy6QCAUwpN6EG7njdeYDmtNXpy1+3jU+qLuwl6/dOs7S+fO/Ybcs+XfZWgp9LFUYEE1mQfr+8bqkgiOwK8RnQ=="
593
733
  },
734
+ "@ai-ecoverse/wasm-tls-engine@4.2.0-4": {
735
+ "integrity": "sha512-JZV7L1X3egEThjE/pKQISZSIC0kxcpcqEnhU8uqDxGoY3LujsznemkNzxR9tA/PnI05qpGWkcz8fMssgunFezw==",
736
+ "sha256": "91e4a5fb6c9d406bab281cd8f904b9e283ff6236b1124b4628f9db28fa12dc62"
737
+ },
594
738
  "@ai-ecoverse/wasm-tree@2.3.2-1": {
595
739
  "integrity": "sha512-SRKXqI491XrD7vhNPpKKerreIAFsf0XpUmbOm6E4TBAIXSq6KTWcieVivGo/ZsW+cNdW9yOyLGaVVFIQEx+fUw=="
596
740
  },
741
+ "@ai-ecoverse/wasm-tree@2.3.2-5": {
742
+ "integrity": "sha512-F22vZ3SyJKRJKROkYM2dmGGgA2VxGDio5QUhAIVVWyFhEKwsJ8G+d36M4e+mh4o5TnBbvuoJ9zgLHMOGFMlCLA==",
743
+ "sha256": "6955c02bc28cbdc175410a8aebd19300f3a786a443b294e2e1099c6fd2758526"
744
+ },
597
745
  "@ai-ecoverse/wasm-which@2.23.0-1": {
598
746
  "integrity": "sha512-ijCQxAjVhGT/2vlNrpNSWuXzGAGFOncJtad1QdYBD4iYB5AUdweGGTS+sfKVOb8C4OKgq6p/emFHp6KMhd9+jA=="
599
747
  },
748
+ "@ai-ecoverse/wasm-which@2.23.0-4": {
749
+ "integrity": "sha512-Zjmd4vqHbunhZEFYRkuBREwvZddMnXjz7znZSb2fVZ5QLkOaAxA2yzt1XYsHTTu92lzl/f8Y4s8/CUsvOsrg3g==",
750
+ "sha256": "3663b5c8d48540515b56b4a5b366188318498f59b15ec9fc34c074e19fb1abd0"
751
+ },
600
752
  "@ai-ecoverse/wasm-xz@5.8.4-1": {
601
753
  "integrity": "sha512-Y8AHpR0+RGfoneyERltFK4jt3P8EfsQzvKMrSFfaLWgtWk7dIC28GuHBK76+IsbE9+fbfs4m9ItcpqjlQckH4Q==",
602
754
  "sha256": "63fe14fc128ba70aeed95c57a9bca8f72f37f11a3af63f6bd859c93c89fd9149"
603
755
  },
756
+ "@ai-ecoverse/wasm-xz@5.8.4-4": {
757
+ "integrity": "sha512-BUgND+sJzalC3K280V2wf45lolCMQhSPvVrbFMlUAi6oD5us2OFjNkOb3mZ5uhteOCouRVxSg9WbVboYlWUbdQ==",
758
+ "sha256": "969d55289067821630ee2c8155c12e18dc4993394d619969d26c54f1fc2408ce"
759
+ },
604
760
  "@ai-ecoverse/mcpcat@0.16.3": {
605
761
  "integrity": "sha512-Sah/qC/1x31WKsVK+tyHYSdV8StFLpZEmuNyWqu2inbK19IL7ZyZyOb+85CGVAG1+ZRdXfE1y0eUAQuu0jnm3w==",
606
762
  "sha256": "d492f978d7f0925378369feaddb2925f9220169b965c3a7b0a2854acd6668bc3"
@@ -4,7 +4,7 @@
4
4
  "label": "git",
5
5
  "description": "Version control for your projects.",
6
6
  "commands": ["git"],
7
- "size": 18836262
7
+ "size": 18814699
8
8
  },
9
9
  "@ai-ecoverse/wasi-gh": {
10
10
  "id": "gh",
@@ -18,14 +18,14 @@
18
18
  "label": "OpenSSH",
19
19
  "description": "Connects to servers and copies files with ssh, scp and sftp; git over ssh too.",
20
20
  "commands": ["ssh", "scp", "sftp", "ssh-keygen", "ssh-add"],
21
- "size": 3355615
21
+ "size": 3360417
22
22
  },
23
23
  "@ai-ecoverse/wasi-slicc": {
24
24
  "id": "slicc",
25
25
  "label": "slicc",
26
26
  "description": "Prompts, watches and aborts another seven's agent from this terminal: slicc <join-url> prompt, watch or abort. For root and cones; the other seven must allow remote control from this one in its Linked devices.",
27
27
  "commands": ["slicc"],
28
- "size": 1324902
28
+ "size": 1349790
29
29
  },
30
30
  "@ai-ecoverse/wasix-python": {
31
31
  "id": "python",
@@ -56,21 +56,21 @@
56
56
  "description": "sliccy:browser for .jsh scripts: find and open tabs, run code in them, read cookies and localStorage, and fetch as the page, through seven's browser automation. Seven's own tab and the vault stay out of reach.",
57
57
  "commands": [],
58
58
  "requires": ["node"],
59
- "size": 1451643
59
+ "size": 1525841
60
60
  },
61
61
  "@ai-ecoverse/wasix-ruby": {
62
62
  "id": "ruby",
63
63
  "label": "Ruby",
64
64
  "description": "Ruby 3.4 with gem, bundler, rake, irb and erb, for scripts and gems. Commands from gem install run by name in a login shell.",
65
65
  "commands": ["ruby", "gem", "bundle", "rake", "irb", "erb"],
66
- "size": 9758294
66
+ "size": 9762412
67
67
  },
68
68
  "@ai-ecoverse/wasix-perl": {
69
69
  "id": "perl",
70
70
  "label": "Perl",
71
71
  "description": "Perl 5.42 with cpan, perldoc and prove, for scripts and text processing.",
72
72
  "commands": ["perl", "cpan", "perldoc", "prove", "pod2html", "pod2man", "pod2text"],
73
- "size": 15533777
73
+ "size": 19663059
74
74
  },
75
75
  "@ai-ecoverse/wasi-biome": {
76
76
  "id": "biome",
@@ -84,56 +84,56 @@
84
84
  "label": "PDF tools",
85
85
  "description": "Reads PDFs: text, page images, and splitting or joining files.",
86
86
  "commands": ["pdftotext", "pdfinfo", "pdftoppm", "pdfimages", "pdfunite", "pdfseparate"],
87
- "size": 2583976
87
+ "size": 2584619
88
88
  },
89
89
  "@ai-ecoverse/wasm-qpdf": {
90
90
  "id": "qpdf",
91
91
  "label": "qpdf",
92
92
  "description": "Merges, splits, rotates and encrypts PDF files.",
93
93
  "commands": ["qpdf"],
94
- "size": 992082
94
+ "size": 975365
95
95
  },
96
96
  "@ai-ecoverse/wasm-libheif": {
97
97
  "id": "heif",
98
98
  "label": "HEIF and AVIF images",
99
99
  "description": "HEIC/HEIF and AVIF image decoder (heif-convert, heif-info). Includes an HEVC decoder (libde265); HEVC is patent-encumbered. LGPL-3.0-or-later.",
100
100
  "commands": ["heif-convert", "heif-dec", "heif-info"],
101
- "size": 4541841
101
+ "size": 4190759
102
102
  },
103
103
  "@ai-ecoverse/wasm-rsync": {
104
104
  "id": "rsync",
105
105
  "label": "rsync",
106
106
  "description": "Copies and syncs folders, sending only what changed, also to rsync:// servers.",
107
107
  "commands": ["rsync"],
108
- "size": 984555
108
+ "size": 376423
109
109
  },
110
110
  "@ai-ecoverse/wasm-sqlite3": {
111
111
  "id": "sqlite3",
112
112
  "label": "SQLite",
113
113
  "description": "The sqlite3 shell 3.54, for SQLite databases. journal_mode=WAL falls back to delete, and a WAL database made elsewhere opens as \"file is not a database\".",
114
114
  "commands": ["sqlite3"],
115
- "size": 668627
115
+ "size": 678323
116
116
  },
117
117
  "@ai-ecoverse/wasm-screen": {
118
118
  "id": "screen",
119
119
  "label": "screen",
120
120
  "description": "Keeps a terminal session running to detach and reattach, from any terminal.",
121
121
  "commands": ["screen"],
122
- "size": 715750
122
+ "size": 715907
123
123
  },
124
124
  "@ai-ecoverse/wasi-dig": {
125
125
  "id": "dig",
126
126
  "label": "dig",
127
127
  "description": "Looks up DNS records, tailnet names included.",
128
128
  "commands": ["dig"],
129
- "size": 207317
129
+ "size": 214326
130
130
  },
131
131
  "@ai-ecoverse/wasix-websocat": {
132
132
  "id": "websocat",
133
133
  "label": "websocat",
134
134
  "description": "Connects to WebSocket servers (ws:// and wss://) from the terminal. An upstream alpha (websocat 4). It speaks raw TCP, so hosts outside seven need an exit: a linked slicc CLI or a Tailscale exit node. A listener that can't bind still exits 0.",
135
135
  "commands": ["websocat"],
136
- "size": 1266828
136
+ "size": 1267173
137
137
  },
138
138
  "@ai-ecoverse/wasi-ntfy": {
139
139
  "id": "ntfy",
@@ -147,7 +147,7 @@
147
147
  "label": "fnox",
148
148
  "description": "Secrets by name: fnox keeps placeholders and seven's vault keeps the values. Pipe a value into fnox set NAME to add or change one; fnox exec hands a program the values the secret rules allow.",
149
149
  "commands": ["fnox"],
150
- "size": 2154238
150
+ "size": 2156061
151
151
  },
152
152
  "@ai-ecoverse/wasix-gnupg": {
153
153
  "id": "gpg",