Commit 8b01a81

Anton Golub <antongolub@antongolub.com>
2025-01-30 14:37:03
chore: bump version to 8.4.0, update deps zurk, ps, envapi (#1089)
1 parent 5f40814
package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "zx",
-  "version": "8.3.1",
+  "version": "8.4.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "zx",
-      "version": "8.3.1",
+      "version": "8.4.0",
       "license": "Apache-2.0",
       "bin": {
         "zx": "build/cli.js"
@@ -18,14 +18,14 @@
         "@types/node": ">=20.11.30",
         "@types/which": "^3.0.4",
         "@webpod/ingrid": "^0.0.0-beta.3",
-        "@webpod/ps": "^0.0.1",
+        "@webpod/ps": "^0.1.0",
         "c8": "^10.1.3",
         "chalk": "^5.4.1",
         "create-require": "^1.1.1",
-        "cronometro": "^4.0.1",
+        "cronometro": "^4.0.3",
         "depseek": "^0.4.1",
         "dts-bundle-generator": "^9.5.1",
-        "envapi": "^0.2.0",
+        "envapi": "^0.2.1",
         "esbuild": "^0.24.2",
         "esbuild-node-externals": "^1.16.0",
         "esbuild-plugin-entry-chunks": "^0.1.15",
@@ -37,8 +37,8 @@
         "fs-extra": "^11.2.0",
         "get-port": "^7.1.0",
         "globby": "^14.0.2",
-        "jsr": "^0.13.2",
-        "lefthook": "^1.10.1",
+        "jsr": "^0.13.3",
+        "lefthook": "^1.10.10",
         "madge": "^8.0.0",
         "minimist": "^1.2.8",
         "node-fetch-native": "^1.6.4",
@@ -47,11 +47,11 @@
         "ts-node": "^10.9.2",
         "tsd": "^0.31.2",
         "tsx": "^4.19.2",
-        "typescript": "^5.7.2",
-        "vitepress": "^1.5.0",
+        "typescript": "^5.7.3",
+        "vitepress": "^1.6.3",
         "which": "^5.0.0",
         "yaml": "~2.7.0",
-        "zurk": "^0.10.1"
+        "zurk": "^0.10.2"
       },
       "engines": {
         "node": ">= 12.17.0"
@@ -111,41 +111,41 @@
       }
     },
     "node_modules/@algolia/client-abtesting": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.17.1.tgz",
-      "integrity": "sha512-Os/xkQbDp5A5RdGYq1yS3fF69GoBJH5FIfrkVh+fXxCSe714i1Xdl9XoXhS4xG76DGKm6EFMlUqP024qjps8cg==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.20.0.tgz",
+      "integrity": "sha512-YaEoNc1Xf2Yk6oCfXXkZ4+dIPLulCx8Ivqj0OsdkHWnsI3aOJChY5qsfyHhDBNSOhqn2ilgHWxSfyZrjxBcAww==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/client-analytics": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.17.1.tgz",
-      "integrity": "sha512-WKpGC+cUhmdm3wndIlTh8RJXoVabUH+4HrvZHC4hXtvCYojEXYeep8RZstatwSZ7Ocg6Y2u67bLw90NEINuYEw==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.20.0.tgz",
+      "integrity": "sha512-CIT9ni0+5sYwqehw+t5cesjho3ugKQjPVy/iPiJvtJX4g8Cdb6je6SPt2uX72cf2ISiXCAX9U3cY0nN0efnRDw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/client-common": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.17.1.tgz",
-      "integrity": "sha512-5rb5+yPIie6912riAypTSyzbE23a7UM1UpESvD8GEPI4CcWQvA9DBlkRNx9qbq/nJ5pvv8VjZjUxJj7rFkzEAA==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.20.0.tgz",
+      "integrity": "sha512-iSTFT3IU8KNpbAHcBUJw2HUrPnMXeXLyGajmCL7gIzWOsYM4GabZDHXOFx93WGiXMti1dymz8k8R+bfHv1YZmA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -153,151 +153,151 @@
       }
     },
     "node_modules/@algolia/client-insights": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.17.1.tgz",
-      "integrity": "sha512-nb/tfwBMn209TzFv1DDTprBKt/wl5btHVKoAww9fdEVdoKK02R2KAqxe5tuXLdEzAsS+LevRyOM/YjXuLmPtjQ==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.20.0.tgz",
+      "integrity": "sha512-w9RIojD45z1csvW1vZmAko82fqE/Dm+Ovsy2ElTsjFDB0HMAiLh2FO86hMHbEXDPz6GhHKgGNmBRiRP8dDPgJg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/client-personalization": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.17.1.tgz",
-      "integrity": "sha512-JuNlZe1SdW9KbV0gcgdsiVkFfXt0mmPassdS3cBSGvZGbPB9JsHthD719k5Y6YOY4dGvw1JmC1i9CwCQHAS8hg==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.20.0.tgz",
+      "integrity": "sha512-p/hftHhrbiHaEcxubYOzqVV4gUqYWLpTwK+nl2xN3eTrSW9SNuFlAvUBFqPXSVBqc6J5XL9dNKn3y8OA1KElSQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/client-query-suggestions": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.17.1.tgz",
-      "integrity": "sha512-RBIFIv1QE3IlAikJKWTOpd6pwE4d2dY6t02iXH7r/SLXWn0HzJtsAPPeFg/OKkFvWAXt0H7In2/Mp7a1/Dy2pw==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.20.0.tgz",
+      "integrity": "sha512-m4aAuis5vZi7P4gTfiEs6YPrk/9hNTESj3gEmGFgfJw3hO2ubdS4jSId1URd6dGdt0ax2QuapXufcrN58hPUcw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/client-search": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.17.1.tgz",
-      "integrity": "sha512-bd5JBUOP71kPsxwDcvOxqtqXXVo/706NFifZ/O5Rx5GB8ZNVAhg4l7aGoT6jBvEfgmrp2fqPbkdIZ6JnuOpGcw==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.20.0.tgz",
+      "integrity": "sha512-KL1zWTzrlN4MSiaK1ea560iCA/UewMbS4ZsLQRPoDTWyrbDKVbztkPwwv764LAqgXk0fvkNZvJ3IelcK7DqhjQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/ingestion": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.17.1.tgz",
-      "integrity": "sha512-T18tvePi1rjRYcIKhd82oRukrPWHxG/Iy1qFGaxCplgRm9Im5z96qnYOq75MSKGOUHkFxaBKJOLmtn8xDR+Mcw==",
+      "version": "1.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.20.0.tgz",
+      "integrity": "sha512-shj2lTdzl9un4XJblrgqg54DoK6JeKFO8K8qInMu4XhE2JuB8De6PUuXAQwiRigZupbI0xq8aM0LKdc9+qiLQA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/monitoring": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.17.1.tgz",
-      "integrity": "sha512-gDtow+AUywTehRP8S1tWKx2IvhcJOxldAoqBxzN3asuQobF7er5n72auBeL++HY4ImEuzMi7PDOA/Iuwxs2IcA==",
+      "version": "1.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.20.0.tgz",
+      "integrity": "sha512-aF9blPwOhKtWvkjyyXh9P5peqmhCA1XxLBRgItT+K6pbT0q4hBDQrCid+pQZJYy4HFUKjB/NDDwyzFhj/rwKhw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/recommend": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.17.1.tgz",
-      "integrity": "sha512-2992tTHkRe18qmf5SP57N78kN1D3e5t4PO1rt10sJncWtXBZWiNOK6K/UcvWsFbNSGAogFcIcvIMAl5mNp6RWA==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.20.0.tgz",
+      "integrity": "sha512-T6B/WPdZR3b89/F9Vvk6QCbt/wrLAtrGoL8z4qPXDFApQ8MuTFWbleN/4rHn6APWO3ps+BUePIEbue2rY5MlRw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-common": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/requester-browser-xhr": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.17.1.tgz",
-      "integrity": "sha512-XpKgBfyczVesKgr7DOShNyPPu5kqlboimRRPjdqAw5grSyHhCmb8yoTIKy0TCqBABZeXRPMYT13SMruUVRXvHA==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.20.0.tgz",
+      "integrity": "sha512-t6//lXsq8E85JMenHrI6mhViipUT5riNhEfCcvtRsTV+KIBpC6Od18eK864dmBhoc5MubM0f+sGpKOqJIlBSCg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1"
+        "@algolia/client-common": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/requester-fetch": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.17.1.tgz",
-      "integrity": "sha512-EhUomH+DZP5vb6DnEjT0GvXaXBSwzZnuU6hPGNU1EYKRXDouRjII/bIWpVjt7ycMgL2D2oQruqDh6rAWUhQwRw==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.20.0.tgz",
+      "integrity": "sha512-FHxYGqRY+6bgjKsK4aUsTAg6xMs2S21elPe4Y50GB0Y041ihvw41Vlwy2QS6K9ldoftX4JvXodbKTcmuQxywdQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1"
+        "@algolia/client-common": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
       }
     },
     "node_modules/@algolia/requester-node-http": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.17.1.tgz",
-      "integrity": "sha512-PSnENJtl4/wBWXlGyOODbLYm6lSiFqrtww7UpQRCJdsHXlJKF8XAP6AME8NxvbE0Qo/RJUxK0mvyEh9sQcx6bg==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.20.0.tgz",
+      "integrity": "sha512-kmtQClq/w3vtPteDSPvaW9SPZL/xrIgMrxZyAgsFwrJk0vJxqyC5/hwHmrCraDnStnGSADnLpBf4SpZnwnkwWw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.17.1"
+        "@algolia/client-common": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
@@ -413,33 +413,33 @@
       }
     },
     "node_modules/@docsearch/css": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.1.tgz",
-      "integrity": "sha512-XiPhKT+ghUi4pEi/ACE9iDmwWsLA6d6xSwtR5ab48iB63OtYWFLZHUKdH7jHKTmwOs0Eg22TX4Kb3H5liFm5bQ==",
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz",
+      "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==",
       "dev": true,
       "license": "MIT"
     },
     "node_modules/@docsearch/js": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.1.tgz",
-      "integrity": "sha512-e27EsGPOSlfola18BJXLDgpAVThGOhGmqjsiGyS8kIrF+IWaRnYr9xOaZltfatFK1ytrAepyevwm7eLwBTL8Zg==",
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz",
+      "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@docsearch/react": "3.8.1",
+        "@docsearch/react": "3.8.2",
         "preact": "^10.0.0"
       }
     },
     "node_modules/@docsearch/react": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.1.tgz",
-      "integrity": "sha512-7vgQuktQNBQdNWO1jbkiwgIrTZ0r5nPIHqcO3Z2neAWgkdUuldvvMfEOEaPXT5lqcezEv7i0h+tC285nD3jpZg==",
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz",
+      "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@algolia/autocomplete-core": "1.17.7",
         "@algolia/autocomplete-preset-algolia": "1.17.7",
-        "@docsearch/css": "3.8.1",
+        "@docsearch/css": "3.8.2",
         "algoliasearch": "^5.14.2"
       },
       "peerDependencies": {
@@ -515,9 +515,9 @@
       }
     },
     "node_modules/@iconify-json/simple-icons": {
-      "version": "1.2.16",
-      "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.16.tgz",
-      "integrity": "sha512-mnQ0Ih8CDIgOqbi0qz01AJNOeFVuGFRimelg3JmJtD0y5EpZVw+enPPcpcxJKipsRZ/oqhcP3AhYkF1kM7yomg==",
+      "version": "1.2.22",
+      "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.22.tgz",
+      "integrity": "sha512-0UzThRMwHuOJfgpp+tyV/y2uEBLjFVrxC4igv9iWjSEQEBK4tNjWZNTRCBCYyv/FwWVYyKAsA8tZQ8vUYzvFnw==",
       "dev": true,
       "license": "CC0-1.0",
       "dependencies": {
@@ -919,68 +919,89 @@
       ]
     },
     "node_modules/@shikijs/core": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.24.2.tgz",
-      "integrity": "sha512-BpbNUSKIwbKrRRA+BQj0BEWSw+8kOPKDJevWeSE/xIqGX7K0xrCZQ9kK0nnEQyrzsUoka1l81ZtJ2mGaCA32HQ==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.1.0.tgz",
+      "integrity": "sha512-v795KDmvs+4oV0XD05YLzfDMe9ISBgNjtFxP4PAEv5DqyeghO1/TwDqs9ca5/E6fuO95IcAcWqR6cCX9TnqLZA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@shikijs/engine-javascript": "1.24.2",
-        "@shikijs/engine-oniguruma": "1.24.2",
-        "@shikijs/types": "1.24.2",
-        "@shikijs/vscode-textmate": "^9.3.0",
+        "@shikijs/engine-javascript": "2.1.0",
+        "@shikijs/engine-oniguruma": "2.1.0",
+        "@shikijs/types": "2.1.0",
+        "@shikijs/vscode-textmate": "^10.0.1",
         "@types/hast": "^3.0.4",
-        "hast-util-to-html": "^9.0.3"
+        "hast-util-to-html": "^9.0.4"
       }
     },
     "node_modules/@shikijs/engine-javascript": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.24.2.tgz",
-      "integrity": "sha512-EqsmYBJdLEwEiO4H+oExz34a5GhhnVp+jH9Q/XjPjmBPc6TE/x4/gD0X3i0EbkKKNqXYHHJTJUpOLRQNkEzS9Q==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-2.1.0.tgz",
+      "integrity": "sha512-cgIUdAliOsoaa0rJz/z+jvhrpRd+fVAoixVFEVxUq5FA+tHgBZAIfVJSgJNVRj2hs/wZ1+4hMe82eKAThVh0nQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@shikijs/types": "1.24.2",
-        "@shikijs/vscode-textmate": "^9.3.0",
-        "oniguruma-to-es": "0.7.0"
+        "@shikijs/types": "2.1.0",
+        "@shikijs/vscode-textmate": "^10.0.1",
+        "oniguruma-to-es": "^2.3.0"
       }
     },
     "node_modules/@shikijs/engine-oniguruma": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.24.2.tgz",
-      "integrity": "sha512-ZN6k//aDNWRJs1uKB12pturKHh7GejKugowOFGAuG7TxDRLod1Bd5JhpOikOiFqPmKjKEPtEA6mRCf7q3ulDyQ==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-2.1.0.tgz",
+      "integrity": "sha512-Ujik33wEDqgqY2WpjRDUBECGcKPv3eGGkoXPujIXvokLaRmGky8NisSk8lHUGeSFxo/Cz5sgFej9sJmA9yeepg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@shikijs/types": "2.1.0",
+        "@shikijs/vscode-textmate": "^10.0.1"
+      }
+    },
+    "node_modules/@shikijs/langs": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-2.1.0.tgz",
+      "integrity": "sha512-Jn0gS4rPgerMDPj1ydjgFzZr5fAIoMYz4k7ZT3LJxWWBWA6lokK0pumUwVtb+MzXtlpjxOaQejLprmLbvMZyww==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@shikijs/types": "2.1.0"
+      }
+    },
+    "node_modules/@shikijs/themes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-2.1.0.tgz",
+      "integrity": "sha512-oS2mU6+bz+8TKutsjBxBA7Z3vrQk21RCmADLpnu8cy3tZD6Rw0FKqDyXNtwX52BuIDKHxZNmRlTdG3vtcYv3NQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@shikijs/types": "1.24.2",
-        "@shikijs/vscode-textmate": "^9.3.0"
+        "@shikijs/types": "2.1.0"
       }
     },
     "node_modules/@shikijs/transformers": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.24.2.tgz",
-      "integrity": "sha512-cIwn8YSwO3bsWKJ+pezcXY1Vq0BVwvuLes1TZSC5+Awi6Tsfqhf3vBahOIqZK1rraMKOti2VEAEF/95oXMig1w==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-2.1.0.tgz",
+      "integrity": "sha512-3sfvh6OKUVkT5wZFU1xxiq1qqNIuCwUY3yOb9ZGm19y80UZ/eoroLE2orGNzfivyTxR93GfXXZC/ghPR0/SBow==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "shiki": "1.24.2"
+        "@shikijs/core": "2.1.0",
+        "@shikijs/types": "2.1.0"
       }
     },
     "node_modules/@shikijs/types": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.24.2.tgz",
-      "integrity": "sha512-bdeWZiDtajGLG9BudI0AHet0b6e7FbR0EsE4jpGaI0YwHm/XJunI9+3uZnzFtX65gsyJ6ngCIWUfA4NWRPnBkQ==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-2.1.0.tgz",
+      "integrity": "sha512-OFOdHA6VEVbiQvepJ8yqicC6VmBrKxFFhM2EsHHrZESqLVAXOSeRDiuSYV185lIgp15TVic5vYBYNhTsk1xHLg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@shikijs/vscode-textmate": "^9.3.0",
+        "@shikijs/vscode-textmate": "^10.0.1",
         "@types/hast": "^3.0.4"
       }
     },
     "node_modules/@shikijs/vscode-textmate": {
-      "version": "9.3.1",
-      "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz",
-      "integrity": "sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz",
+      "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==",
       "dev": true,
       "license": "MIT"
     },
@@ -1710,9 +1731,9 @@
       }
     },
     "node_modules/@ungap/structured-clone": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
-      "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+      "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
       "dev": true,
       "license": "ISC"
     },
@@ -1785,23 +1806,23 @@
       }
     },
     "node_modules/@vue/devtools-api": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.6.8.tgz",
-      "integrity": "sha512-ma6dY/sZR36zALVsV1W7eC57c6IJPXsy8SNgZn1PLVWU4z4dPn5TIBmnF4stmdJ4sQcixqKaQ8pwjbMPzEZwiA==",
+      "version": "7.7.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.1.tgz",
+      "integrity": "sha512-Cexc8GimowoDkJ6eNelOPdYIzsu2mgNyp0scOQ3tiaYSb9iok6LOESSsJvHaI+ib3joRfqRJNLkHFjhNuWA5dg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vue/devtools-kit": "^7.6.8"
+        "@vue/devtools-kit": "^7.7.1"
       }
     },
     "node_modules/@vue/devtools-kit": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.6.8.tgz",
-      "integrity": "sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==",
+      "version": "7.7.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.1.tgz",
+      "integrity": "sha512-yhZ4NPnK/tmxGtLNQxmll90jIIXdb2jAhPF76anvn5M/UkZCiLJy28bYgPIACKZ7FCosyKoaope89/RsFJll1w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vue/devtools-shared": "^7.6.8",
+        "@vue/devtools-shared": "^7.7.1",
         "birpc": "^0.2.19",
         "hookable": "^5.5.3",
         "mitt": "^3.0.1",
@@ -1811,9 +1832,9 @@
       }
     },
     "node_modules/@vue/devtools-shared": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.6.8.tgz",
-      "integrity": "sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==",
+      "version": "7.7.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.1.tgz",
+      "integrity": "sha512-BtgF7kHq4BHG23Lezc/3W2UhK2ga7a8ohAIAGJMBr4BkxUFzhqntQtCiuL1ijo2ztWnmusymkirgqUrXoQKumA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1876,58 +1897,31 @@
       "license": "MIT"
     },
     "node_modules/@vueuse/core": {
-      "version": "11.3.0",
-      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz",
-      "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==",
+      "version": "12.5.0",
+      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.5.0.tgz",
+      "integrity": "sha512-GVyH1iYqNANwcahAx8JBm6awaNgvR/SwZ1fjr10b8l1HIgDp82ngNbfzJUgOgWEoxjL+URAggnlilAEXwCOZtg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/web-bluetooth": "^0.0.20",
-        "@vueuse/metadata": "11.3.0",
-        "@vueuse/shared": "11.3.0",
-        "vue-demi": ">=0.14.10"
+        "@vueuse/metadata": "12.5.0",
+        "@vueuse/shared": "12.5.0",
+        "vue": "^3.5.13"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/@vueuse/core/node_modules/vue-demi": {
-      "version": "0.14.10",
-      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
-      "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
-      "dev": true,
-      "hasInstallScript": true,
-      "license": "MIT",
-      "bin": {
-        "vue-demi-fix": "bin/vue-demi-fix.js",
-        "vue-demi-switch": "bin/vue-demi-switch.js"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.0.0-rc.1",
-        "vue": "^3.0.0-0 || ^2.6.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/@vueuse/integrations": {
-      "version": "11.3.0",
-      "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-11.3.0.tgz",
-      "integrity": "sha512-5fzRl0apQWrDezmobchoiGTkGw238VWESxZHazfhP3RM7pDSiyXy18QbfYkILoYNTd23HPAfQTJpkUc5QbkwTw==",
+      "version": "12.5.0",
+      "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-12.5.0.tgz",
+      "integrity": "sha512-HYLt8M6mjUfcoUOzyBcX2RjpfapIwHPBmQJtTmXOQW845Y/Osu9VuTJ5kPvnmWJ6IUa05WpblfOwZ+P0G4iZsQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vueuse/core": "11.3.0",
-        "@vueuse/shared": "11.3.0",
-        "vue-demi": ">=0.14.10"
+        "@vueuse/core": "12.5.0",
+        "@vueuse/shared": "12.5.0",
+        "vue": "^3.5.13"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
@@ -1985,37 +1979,10 @@
         }
       }
     },
-    "node_modules/@vueuse/integrations/node_modules/vue-demi": {
-      "version": "0.14.10",
-      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
-      "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
-      "dev": true,
-      "hasInstallScript": true,
-      "license": "MIT",
-      "bin": {
-        "vue-demi-fix": "bin/vue-demi-fix.js",
-        "vue-demi-switch": "bin/vue-demi-switch.js"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.0.0-rc.1",
-        "vue": "^3.0.0-0 || ^2.6.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/@vueuse/metadata": {
-      "version": "11.3.0",
-      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz",
-      "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==",
+      "version": "12.5.0",
+      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.5.0.tgz",
+      "integrity": "sha512-Ui7Lo2a7AxrMAXRF+fAp9QsXuwTeeZ8fIB9wsLHqzq9MQk+2gMYE2IGJW48VMJ8ecvCB3z3GsGLKLbSasQ5Qlg==",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -2023,45 +1990,18 @@
       }
     },
     "node_modules/@vueuse/shared": {
-      "version": "11.3.0",
-      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz",
-      "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==",
+      "version": "12.5.0",
+      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.5.0.tgz",
+      "integrity": "sha512-vMpcL1lStUU6O+kdj6YdHDixh0odjPAUM15uJ9f7MY781jcYkIwFA4iv2EfoIPO6vBmvutI1HxxAwmf0cx5ISQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "vue-demi": ">=0.14.10"
+        "vue": "^3.5.13"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/@vueuse/shared/node_modules/vue-demi": {
-      "version": "0.14.10",
-      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
-      "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
-      "dev": true,
-      "hasInstallScript": true,
-      "license": "MIT",
-      "bin": {
-        "vue-demi-fix": "bin/vue-demi-fix.js",
-        "vue-demi-switch": "bin/vue-demi-switch.js"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.0.0-rc.1",
-        "vue": "^3.0.0-0 || ^2.6.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/@webpod/ingrid": {
       "version": "0.0.0-beta.3",
       "resolved": "https://registry.npmjs.org/@webpod/ingrid/-/ingrid-0.0.0-beta.3.tgz",
@@ -2070,14 +2010,14 @@
       "license": "MIT"
     },
     "node_modules/@webpod/ps": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/@webpod/ps/-/ps-0.0.1.tgz",
-      "integrity": "sha512-RhXyDTZOuFtX9/aeZTrSiqwHMbzbQt/iIKZe13TYgX+PC1Kkp9xx5+NlnHCfAgBaw9GDkk9AOVdwGlQucToFOw==",
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/@webpod/ps/-/ps-0.1.0.tgz",
+      "integrity": "sha512-+b2uvW4T75G9RcBBCKuse57uzSYOqni8al2aalcYxyOgyKicdVB2cy0YW5bRX6uASgT7Il4iU/Z10ibjzGO08w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@webpod/ingrid": "^0.0.0-beta.3",
-        "zurk": "^0.10.0"
+        "zurk": "^0.10.2"
       }
     },
     "node_modules/acorn": {
@@ -2134,25 +2074,25 @@
       }
     },
     "node_modules/algoliasearch": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.17.1.tgz",
-      "integrity": "sha512-3CcbT5yTWJDIcBe9ZHgsPi184SkT1kyZi3GWlQU5EFgvq1V73X2sqHRkPCQMe0RA/uvZbB+1sFeAk73eWygeLg==",
+      "version": "5.20.0",
+      "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.20.0.tgz",
+      "integrity": "sha512-groO71Fvi5SWpxjI9Ia+chy0QBwT61mg6yxJV27f5YFf+Mw+STT75K6SHySpP8Co5LsCrtsbCH5dJZSRtkSKaQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-abtesting": "5.17.1",
-        "@algolia/client-analytics": "5.17.1",
-        "@algolia/client-common": "5.17.1",
-        "@algolia/client-insights": "5.17.1",
-        "@algolia/client-personalization": "5.17.1",
-        "@algolia/client-query-suggestions": "5.17.1",
-        "@algolia/client-search": "5.17.1",
-        "@algolia/ingestion": "1.17.1",
-        "@algolia/monitoring": "1.17.1",
-        "@algolia/recommend": "5.17.1",
-        "@algolia/requester-browser-xhr": "5.17.1",
-        "@algolia/requester-fetch": "5.17.1",
-        "@algolia/requester-node-http": "5.17.1"
+        "@algolia/client-abtesting": "5.20.0",
+        "@algolia/client-analytics": "5.20.0",
+        "@algolia/client-common": "5.20.0",
+        "@algolia/client-insights": "5.20.0",
+        "@algolia/client-personalization": "5.20.0",
+        "@algolia/client-query-suggestions": "5.20.0",
+        "@algolia/client-search": "5.20.0",
+        "@algolia/ingestion": "1.20.0",
+        "@algolia/monitoring": "1.20.0",
+        "@algolia/recommend": "5.20.0",
+        "@algolia/requester-browser-xhr": "5.20.0",
+        "@algolia/requester-fetch": "5.20.0",
+        "@algolia/requester-node-http": "5.20.0"
       },
       "engines": {
         "node": ">= 14.0.0"
@@ -2642,9 +2582,9 @@
       "license": "MIT"
     },
     "node_modules/cronometro": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cronometro/-/cronometro-4.0.1.tgz",
-      "integrity": "sha512-yZdtz4hgrCOOfIrrp4iOcAgLNuf7u/s+KbyiDV5zCpnqaohNuzahpMrGjLNIchvpS6sFMCYplOVR/Gt232WvSA==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/cronometro/-/cronometro-4.0.3.tgz",
+      "integrity": "sha512-AZ9sGTTIm6StFxpBow243QU1pOuAtbhM10SKclLpBAE0o8UA/DazPBs8F30F9hvVIn+2nncFYTQFK5PT0kw2Ww==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
@@ -3090,9 +3030,9 @@
       }
     },
     "node_modules/envapi": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/envapi/-/envapi-0.2.0.tgz",
-      "integrity": "sha512-z6xOCmHC/xn80N9g1F1iL2OBICSd0ICgDRIpxSRsLl1At7iBhdwnOp9Trjs3ADlz4nS6CeYqGCSr//TCXHYAXg==",
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/envapi/-/envapi-0.2.1.tgz",
+      "integrity": "sha512-gWPqNxnV4PltW0jJk8qNGD7LVU5rXvZPNYt0kwLjKTNOYUkFeLjykpeNpXQycTSGdTgqj8r7tQDJIre62t9tJw==",
       "dev": true,
       "license": "MIT"
     },
@@ -3501,9 +3441,9 @@
       }
     },
     "node_modules/focus-trap": {
-      "version": "7.6.2",
-      "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.2.tgz",
-      "integrity": "sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==",
+      "version": "7.6.4",
+      "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.4.tgz",
+      "integrity": "sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -4245,9 +4185,9 @@
       }
     },
     "node_modules/jsr": {
-      "version": "0.13.2",
-      "resolved": "https://registry.npmjs.org/jsr/-/jsr-0.13.2.tgz",
-      "integrity": "sha512-c4ir0ql2Xgpg9mSOSPKBANS9oTvlV8fSzpesCsHP04VAOJ3pBm7YygY2LVkHC0jz9G36JBGh1oiEZTWO4UyctA==",
+      "version": "0.13.3",
+      "resolved": "https://registry.npmjs.org/jsr/-/jsr-0.13.3.tgz",
+      "integrity": "sha512-iPt9r1lMK8BIdGwLP9/PslqkP8HoU3tn3c26qrQlavC6sgqy7lbJk0wLHbrbKZCD5a7RIomvTivvJTFQrvkIPQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -4277,9 +4217,9 @@
       "license": "MIT"
     },
     "node_modules/lefthook": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.10.1.tgz",
-      "integrity": "sha512-WLwXd8FxAcZ0KJg0d/u1r2nY7F/i2XJlyxQSKJkFkbuzqggNU876ksHuNAluSbsZ4nNdI+tWbBUu1Th3SPvgcQ==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.10.10.tgz",
+      "integrity": "sha512-YW0fTONgOXsephvXq2gIFbegCW19MHCyKYX7JDWmzVF1ZiVMnDBYUL/SP3i0RtFvlCmqENl4SgKwYYQGUMnvig==",
       "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
@@ -4287,22 +4227,22 @@
         "lefthook": "bin/index.js"
       },
       "optionalDependencies": {
-        "lefthook-darwin-arm64": "1.10.1",
-        "lefthook-darwin-x64": "1.10.1",
-        "lefthook-freebsd-arm64": "1.10.1",
-        "lefthook-freebsd-x64": "1.10.1",
-        "lefthook-linux-arm64": "1.10.1",
-        "lefthook-linux-x64": "1.10.1",
-        "lefthook-openbsd-arm64": "1.10.1",
-        "lefthook-openbsd-x64": "1.10.1",
-        "lefthook-windows-arm64": "1.10.1",
-        "lefthook-windows-x64": "1.10.1"
+        "lefthook-darwin-arm64": "1.10.10",
+        "lefthook-darwin-x64": "1.10.10",
+        "lefthook-freebsd-arm64": "1.10.10",
+        "lefthook-freebsd-x64": "1.10.10",
+        "lefthook-linux-arm64": "1.10.10",
+        "lefthook-linux-x64": "1.10.10",
+        "lefthook-openbsd-arm64": "1.10.10",
+        "lefthook-openbsd-x64": "1.10.10",
+        "lefthook-windows-arm64": "1.10.10",
+        "lefthook-windows-x64": "1.10.10"
       }
     },
     "node_modules/lefthook-darwin-arm64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.10.1.tgz",
-      "integrity": "sha512-dGi4Oiu2LSve8Xmz7vHWlUbnU5mk6HnhTbC1CnXqaFbb08yNYSYoJBwsalS+LoO4L6I/pqnv32ESCbdIzuhBiQ==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.10.10.tgz",
+      "integrity": "sha512-hEypKdwWpmNSl4Q8eJxgmlGb2ybJj1+W5/v13Mxc+ApEmjbpNiJzPcdjC9zyaMEpPK4EybiHy8g5ZC0dLOwkpA==",
       "cpu": [
         "arm64"
       ],
@@ -4314,9 +4254,9 @@
       ]
     },
     "node_modules/lefthook-darwin-x64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.10.1.tgz",
-      "integrity": "sha512-NkEkBZm5jYH4fqbpJweDyJx/+/jWLst0FEHOCU5QZ8xFm+42hTGj4+6kfbjirU1ubvmRY/TeilYDsq1OIr5jZQ==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.10.10.tgz",
+      "integrity": "sha512-9xNbeE78i4Amz+uOheg9dcy7X/6X12h98SUMrYWk7fONvjW/Bp9h6nPGIGxI5krHp9iRB8rhmo33ljVDVtTlyg==",
       "cpu": [
         "x64"
       ],
@@ -4328,9 +4268,9 @@
       ]
     },
     "node_modules/lefthook-freebsd-arm64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.10.1.tgz",
-      "integrity": "sha512-hX/c4p0+JoCrr55e8zfXC63ReW3Cg4WKzZKP6NA2uNDaKItHlQ4zR3CCOytdVnuPXOa6f93WB9lmRYtIp34dqw==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.10.10.tgz",
+      "integrity": "sha512-GT9wYxPxkvO1rtIAmctayT9xQIVII5xUIG3Pv6gZo+r6yEyle0EFTLFDbmVje7p7rQNCsvJ8XzCNdnyDrva90g==",
       "cpu": [
         "arm64"
       ],
@@ -4342,9 +4282,9 @@
       ]
     },
     "node_modules/lefthook-freebsd-x64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.10.1.tgz",
-      "integrity": "sha512-0suh8/Mx56Rircc/hvr3vU/XKv0E/afD/LkF8lkOPm4besgq6k9HCkpdPgBykP8Q0ve/W3rOlXeBQ7c7oDhX8Q==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.10.10.tgz",
+      "integrity": "sha512-2BB/HRhEb9wGpk5K38iNkHtMPnn+TjXDtFG6C/AmUPLXLNhGnNiYp+v2uhUE8quWzxJx7QzfnU7Ga+/gzJcIcw==",
       "cpu": [
         "x64"
       ],
@@ -4356,9 +4296,9 @@
       ]
     },
     "node_modules/lefthook-linux-arm64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.10.1.tgz",
-      "integrity": "sha512-zADf8CSkoV7EfpLsy5U22gq0+famMjUEfKy9nacS6zEgPvMxDk5Q/7QpnMWJeeiwkf9XWgQ+GATWuGahA3Id9A==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.10.10.tgz",
+      "integrity": "sha512-GJ7GALKJ1NcMnNZG9uY+zJR3yS8q7/MgcHFWSJhBl+w4KTiiD/RAdSl5ALwEK2+UX36Eo+7iQA7AXzaRdAii4w==",
       "cpu": [
         "arm64"
       ],
@@ -4370,9 +4310,9 @@
       ]
     },
     "node_modules/lefthook-linux-x64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.10.1.tgz",
-      "integrity": "sha512-wdPVMZAN6vi3/4rlhzaWjR5N3AZE5+dUd3lSzfP6mmfXVQtwnJ29HFUlje6TAnwZBSOBI8yoMsz38FrhPuayYg==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.10.10.tgz",
+      "integrity": "sha512-dWUvPM9YTIJ3+X9dB+8iOnzoVHbnNmpscmUqEOKSeizgBrvuuIYKZJGDyjEtw65Qnmn1SJ7ouSaKK93p5c7SkQ==",
       "cpu": [
         "x64"
       ],
@@ -4384,9 +4324,9 @@
       ]
     },
     "node_modules/lefthook-openbsd-arm64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.10.1.tgz",
-      "integrity": "sha512-PJ0fHvjcgapaWsn+4uhj3ZMRvkV0Ug+BOrRovF+SdXdA7DiBbRzFPTpUWrGoV3lw7uFjY6pJqGqakDqZ0J7J6g==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.10.10.tgz",
+      "integrity": "sha512-KnwDyxOvbvGSBTbEF/OxkynZRPLowd3mIXUKHtkg3ABcQ4UREalX+Sh0nWU2dNjQbINx7Eh6B42TxNC7h+qXEg==",
       "cpu": [
         "arm64"
       ],
@@ -4398,9 +4338,9 @@
       ]
     },
     "node_modules/lefthook-openbsd-x64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.10.1.tgz",
-      "integrity": "sha512-Bs0hBWHW4s6Dp0qVG4LXv96Vo1NXsM/y6VrWten3pv2oEO18Yw9PmKd6vl4mGI7yA72wq4HNATBagFx460IIEw==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.10.10.tgz",
+      "integrity": "sha512-49nnG886CI3WkrzVJ71D1M2KWpUYN1BP9LMKNzN11cmZ0j6dUK4hj3nbW+NcrKXxgYzzyLU3FFwrc51OVy2eKA==",
       "cpu": [
         "x64"
       ],
@@ -4412,9 +4352,9 @@
       ]
     },
     "node_modules/lefthook-windows-arm64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.10.1.tgz",
-      "integrity": "sha512-xoBiiAChVSv1YYVkwkpfEoAbjNuRblrA0tI8GOtPBhkzlfBP3MaD5JfU2SPzID9IfAG/yV5dOlrLVKhacQA66A==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.10.10.tgz",
+      "integrity": "sha512-9ni0Tsnk+O5oL7EBfKj9C5ZctD1mrTyHCtiu1zQJBbREReJtPjIM9DwWzecfbuVfrIlpbviVQvx5mjZ44bqlWw==",
       "cpu": [
         "arm64"
       ],
@@ -4426,9 +4366,9 @@
       ]
     },
     "node_modules/lefthook-windows-x64": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.10.1.tgz",
-      "integrity": "sha512-+AwTHtBP8npL604Dd13rnEblWh6a9+sf0lSzoLy22y3jdae4kVENLmYoeZ6bz0Wf6SF18UCjf+byvspQRnnCHg==",
+      "version": "1.10.10",
+      "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.10.10.tgz",
+      "integrity": "sha512-gkKWYrlay4iecFfY1Ris5VcRYa0BaNJKMk0qE/wZmIpMgu4GvNg+f9BEwTMflkQIanABduT9lrECaL1lX5ClKw==",
       "cpu": [
         "x64"
       ],
@@ -5101,15 +5041,15 @@
       }
     },
     "node_modules/oniguruma-to-es": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.7.0.tgz",
-      "integrity": "sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz",
+      "integrity": "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "emoji-regex-xs": "^1.0.0",
-        "regex": "^5.0.2",
-        "regex-recursion": "^4.3.0"
+        "regex": "^5.1.1",
+        "regex-recursion": "^5.1.1"
       }
     },
     "node_modules/ora": {
@@ -5462,9 +5402,9 @@
       }
     },
     "node_modules/preact": {
-      "version": "10.25.2",
-      "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.2.tgz",
-      "integrity": "sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw==",
+      "version": "10.25.4",
+      "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz",
+      "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -5815,9 +5755,9 @@
       }
     },
     "node_modules/regex": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz",
-      "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==",
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz",
+      "integrity": "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -5825,12 +5765,13 @@
       }
     },
     "node_modules/regex-recursion": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.3.0.tgz",
-      "integrity": "sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==",
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-5.1.1.tgz",
+      "integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
+        "regex": "^5.1.1",
         "regex-utilities": "^2.3.0"
       }
     },
@@ -6131,17 +6072,19 @@
       }
     },
     "node_modules/shiki": {
-      "version": "1.24.2",
-      "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.24.2.tgz",
-      "integrity": "sha512-TR1fi6mkRrzW+SKT5G6uKuc32Dj2EEa7Kj0k8kGqiBINb+C1TiflVOiT9ta6GqOJtC4fraxO5SLUaKBcSY38Fg==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/shiki/-/shiki-2.1.0.tgz",
+      "integrity": "sha512-yvKPdNGLXZv7WC4bl7JBbU3CEcUxnBanvMez8MG3gZXKpClGL4bHqFyLhTx+2zUvbjClUANs/S22HXb7aeOgmA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@shikijs/core": "1.24.2",
-        "@shikijs/engine-javascript": "1.24.2",
-        "@shikijs/engine-oniguruma": "1.24.2",
-        "@shikijs/types": "1.24.2",
-        "@shikijs/vscode-textmate": "^9.3.0",
+        "@shikijs/core": "2.1.0",
+        "@shikijs/engine-javascript": "2.1.0",
+        "@shikijs/engine-oniguruma": "2.1.0",
+        "@shikijs/langs": "2.1.0",
+        "@shikijs/themes": "2.1.0",
+        "@shikijs/types": "2.1.0",
+        "@shikijs/vscode-textmate": "^10.0.1",
         "@types/hast": "^3.0.4"
       }
     },
@@ -6956,9 +6899,9 @@
       }
     },
     "node_modules/typescript": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
-      "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
+      "version": "5.7.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+      "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
       "dev": true,
       "license": "Apache-2.0",
       "bin": {
@@ -7270,30 +7213,30 @@
       }
     },
     "node_modules/vitepress": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.5.0.tgz",
-      "integrity": "sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g==",
+      "version": "1.6.3",
+      "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.3.tgz",
+      "integrity": "sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@docsearch/css": "^3.6.2",
-        "@docsearch/js": "^3.6.2",
-        "@iconify-json/simple-icons": "^1.2.10",
-        "@shikijs/core": "^1.22.2",
-        "@shikijs/transformers": "^1.22.2",
-        "@shikijs/types": "^1.22.2",
+        "@docsearch/css": "3.8.2",
+        "@docsearch/js": "3.8.2",
+        "@iconify-json/simple-icons": "^1.2.21",
+        "@shikijs/core": "^2.1.0",
+        "@shikijs/transformers": "^2.1.0",
+        "@shikijs/types": "^2.1.0",
         "@types/markdown-it": "^14.1.2",
-        "@vitejs/plugin-vue": "^5.1.4",
-        "@vue/devtools-api": "^7.5.4",
-        "@vue/shared": "^3.5.12",
-        "@vueuse/core": "^11.1.0",
-        "@vueuse/integrations": "^11.1.0",
-        "focus-trap": "^7.6.0",
+        "@vitejs/plugin-vue": "^5.2.1",
+        "@vue/devtools-api": "^7.7.0",
+        "@vue/shared": "^3.5.13",
+        "@vueuse/core": "^12.4.0",
+        "@vueuse/integrations": "^12.4.0",
+        "focus-trap": "^7.6.4",
         "mark.js": "8.11.1",
-        "minisearch": "^7.1.0",
-        "shiki": "^1.22.2",
-        "vite": "^5.4.10",
-        "vue": "^3.5.12"
+        "minisearch": "^7.1.1",
+        "shiki": "^2.1.0",
+        "vite": "^5.4.14",
+        "vue": "^3.5.13"
       },
       "bin": {
         "vitepress": "bin/vitepress.js"
@@ -7528,9 +7471,9 @@
       }
     },
     "node_modules/zurk": {
-      "version": "0.10.1",
-      "resolved": "https://registry.npmjs.org/zurk/-/zurk-0.10.1.tgz",
-      "integrity": "sha512-7PNALwEqqw254ZpdwY8w9KWyArS3+PmUKOnfcIRSXM2S6cQEPjIizJfF6rx2qm7Xo+InXm7CD457jXcb6JG/gA==",
+      "version": "0.10.2",
+      "resolved": "https://registry.npmjs.org/zurk/-/zurk-0.10.2.tgz",
+      "integrity": "sha512-h5yhv07N+AG2BeSYMlylG3vcF46RfOzZoCQLjVd5c7RlilX9R5GkajJcDqoFkmQjcwJljhy6iI1o6FzjNEh6ng==",
       "dev": true,
       "license": "MIT"
     },
package.json
@@ -1,6 +1,6 @@
 {
   "name": "zx",
-  "version": "8.3.1",
+  "version": "8.4.0",
   "description": "A tool for writing better scripts",
   "type": "module",
   "main": "./build/index.cjs",
@@ -103,14 +103,14 @@
     "@types/node": ">=20.11.30",
     "@types/which": "^3.0.4",
     "@webpod/ingrid": "^0.0.0-beta.3",
-    "@webpod/ps": "^0.0.1",
+    "@webpod/ps": "^0.1.0",
     "c8": "^10.1.3",
     "chalk": "^5.4.1",
     "create-require": "^1.1.1",
-    "cronometro": "^4.0.1",
+    "cronometro": "^4.0.3",
     "depseek": "^0.4.1",
     "dts-bundle-generator": "^9.5.1",
-    "envapi": "^0.2.0",
+    "envapi": "^0.2.1",
     "esbuild": "^0.24.2",
     "esbuild-node-externals": "^1.16.0",
     "esbuild-plugin-entry-chunks": "^0.1.15",
@@ -122,8 +122,8 @@
     "fs-extra": "^11.2.0",
     "get-port": "^7.1.0",
     "globby": "^14.0.2",
-    "jsr": "^0.13.2",
-    "lefthook": "^1.10.1",
+    "jsr": "^0.13.3",
+    "lefthook": "^1.10.10",
     "madge": "^8.0.0",
     "minimist": "^1.2.8",
     "node-fetch-native": "^1.6.4",
@@ -132,11 +132,11 @@
     "ts-node": "^10.9.2",
     "tsd": "^0.31.2",
     "tsx": "^4.19.2",
-    "typescript": "^5.7.2",
-    "vitepress": "^1.5.0",
+    "typescript": "^5.7.3",
+    "vitepress": "^1.6.3",
     "which": "^5.0.0",
     "yaml": "~2.7.0",
-    "zurk": "^0.10.1"
+    "zurk": "^0.10.2"
   },
   "publishConfig": {
     "registry": "https://wombat-dressing-room.appspot.com"