diff --git a/package-lock.json b/package-lock.json index 63d827d..00eb940 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,19 +10,19 @@ "license": "MIT", "dependencies": { "@dfinity/utils": "^4.1.0", - "@dfinity/zod-schemas": "^3.0.2", + "@dfinity/zod-schemas": "^3.1.0", "@icp-sdk/canisters": "^3.3.0", "@icp-sdk/core": "^5.0.0", - "@junobuild/admin": "^4.1.0", - "@junobuild/cdn": "^2.3.0", - "@junobuild/cli-tools": "^0.10.2", - "@junobuild/config": "^2.11.0", - "@junobuild/config-loader": "^0.4.8", - "@junobuild/core": "^5.2.0", - "@junobuild/did-tools": "^0.3.10", - "@junobuild/ic-client": "^8.0.0", - "@junobuild/storage": "^2.3.0", - "@junobuild/utils": "^0.2.6", + "@junobuild/admin": "^4.1.0-next-2026-03-08", + "@junobuild/cdn": "^2.3.0-next-2026-03-08", + "@junobuild/cli-tools": "^0.10.2-next-2026-03-08", + "@junobuild/config": "^2.11.0-next-2026-03-08", + "@junobuild/config-loader": "^0.4.8-next-2026-03-08", + "@junobuild/core": "^5.2.0-next-2026-03-08", + "@junobuild/did-tools": "^0.3.10-next-2026-03-08", + "@junobuild/ic-client": "^8.0.0-next-2026-03-08", + "@junobuild/storage": "^2.3.0-next-2026-03-08", + "@junobuild/utils": "^0.2.6-next-2026-03-08", "chokidar": "^4.0.3", "conf": "^14.0.0", "open": "^11.0.0", @@ -30,8 +30,7 @@ "portfinder": "^1.0.38", "prompts": "^2.4.2", "semver": "^7.7.3", - "terminal-link": "^5.0.0", - "zod": "^4.3.5" + "terminal-link": "^5.0.0" }, "bin": { "juno": "dist/index.js" @@ -39,8 +38,8 @@ "devDependencies": { "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", - "@junobuild/emulator-playwright": "^0.0.3", - "@junobuild/functions": "^0.5.6", + "@junobuild/emulator-playwright": "^0.0.5", + "@junobuild/functions": "^0.5.6-next-2026-03-08", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -108,21 +107,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -178,36 +177,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/generator/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.27.3", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", @@ -270,55 +239,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -353,55 +273,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", @@ -416,55 +287,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", @@ -483,55 +305,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", @@ -573,55 +346,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", @@ -680,28 +404,14 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helpers/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "license": "MIT", "peer": true, "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -743,14 +453,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -780,9 +490,9 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", - "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "license": "MIT", "peer": true, "dependencies": { @@ -790,7 +500,7 @@ "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.27.1" + "@babel/plugin-transform-typescript": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -814,49 +524,19 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -864,14 +544,14 @@ } }, "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "license": "MIT", "peer": true, "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -903,9 +583,9 @@ } }, "node_modules/@dfinity/zod-schemas": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@dfinity/zod-schemas/-/zod-schemas-3.0.2.tgz", - "integrity": "sha512-cbOsAcPgOVjbJbP91VP4hMckwiGSVZ8Q41XWXZ0doG8Vaw3e1wt0blJLiomPYnZy++ycW6iGSfoxh4DiJmumgw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@dfinity/zod-schemas/-/zod-schemas-3.1.0.tgz", + "integrity": "sha512-VW4nk3LD4FVRwwVIfcQNUmrdULbQ3bKFbefBhy6njnpQ3/6BuQNT/sN3c+xrZva/8XwW2xTMMXkPD0tOp5wGdA==", "license": "Apache-2.0", "peerDependencies": { "@icp-sdk/core": "*", @@ -1733,50 +1413,39 @@ } }, "node_modules/@junobuild/admin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.1.0.tgz", - "integrity": "sha512-7kVgl0zqIXiFYUKakxRzNRQiGILsyMFo97Ulnib4h8FhZThGVDglBcfOfrevRtOxWA4F+0m02wZleD4ST46L6Q==", + "version": "4.1.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.1.0-next-2026-03-08.tgz", + "integrity": "sha512-6oADE8YXhxMs/EXQylfcAsG2Cz4iB9mANLJ0v31+fLb4fNPNiBPz4JcQIqoU9besLR4jIdRnvrm2i6cEpr5G+w==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/canisters": "^3.3", - "@icp-sdk/core": "^5", + "@dfinity/utils": "*", + "@icp-sdk/canisters": "*", + "@icp-sdk/core": "*", "@junobuild/config": "*", - "@junobuild/ic-client": "^8", - "semver": "7.*", - "zod": "^4" - } - }, - "node_modules/@junobuild/auth": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.0.0.tgz", - "integrity": "sha512-T4Fiwc3KIjeo9lmnp3ePIqU6z9I3RoY0Rs7OWecddurezgJ+L6J4TNiSGeOM/bpSAA69lt5k2EvZzqzUKv6pyA==", - "license": "MIT", - "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8" + "@junobuild/ic-client": "*", + "semver": "*", + "zod": "*" } }, "node_modules/@junobuild/cdn": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.3.0.tgz", - "integrity": "sha512-w+B1YvkSwYclBo/67Jyo/mUmTmEodE9ZJyg1LDja0kcDZLSEK3SQC2Rb3T0yS7E5SMDlA/mFzsSAycGRKzLVgw==", + "version": "2.3.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.3.0-next-2026-03-08.tgz", + "integrity": "sha512-zNnUUxA2/q2B9SS8JTwLwxVBd87jrya+2f3/XMJDBm+aARzLePN+LPtjcqaEFI2cirH5I+VI1toKDN3Y9GrVuA==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/canisters": "^3.3", - "@icp-sdk/core": "^5", + "@dfinity/utils": "*", + "@icp-sdk/canisters": "*", + "@icp-sdk/core": "*", "@junobuild/config": "*", - "@junobuild/ic-client": "^8", - "@junobuild/storage": "^2.3", - "semver": "7.*" + "@junobuild/ic-client": "*", + "@junobuild/storage": "*", + "semver": "*" } }, "node_modules/@junobuild/cli-tools": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.10.2.tgz", - "integrity": "sha512-AyQYdSIqxIj3RSF422l/4vN8fzsbw3RwwWuv+/KV/YUrZ7xllBNjsxWTSIjY3XahbXmPbBibBlRYFAjfc8wWMg==", + "version": "0.10.2-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.10.2-next-2026-03-08.tgz", + "integrity": "sha512-QFXX0Gi2MLyUO6/TFOjzMBoZZjSJGe8qrXdx32hOrkVawyo4js9k6s6CSDFS5wl/1agdlUQOQ2KYCdaiHmZ/4A==", "license": "MIT", "dependencies": { "file-type": "^21.1.1", @@ -1785,73 +1454,111 @@ "minimatch": "^10.1.2" }, "peerDependencies": { - "@dfinity/utils": "^4.1", - "@junobuild/cdn": "^2.3", - "@junobuild/config": "^2.7", - "@junobuild/storage": "^2.3", - "esbuild": "^0.27.0", - "ora": "^9" + "@dfinity/utils": "*", + "@junobuild/cdn": "*", + "@junobuild/config": "*", + "@junobuild/did-tools": "*", + "@junobuild/storage": "*", + "esbuild": "*", + "ora": "*" } }, "node_modules/@junobuild/config": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.11.0.tgz", - "integrity": "sha512-APzzQ8a8N52ZRGFD3VPIzhC/Ud7CvuYPFJX2ZR2ypaxPjhS2Jriz5aWRvQOE9RrEryHQXk2CQwzHNmzH4jcbkQ==", + "version": "2.11.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.11.0-next-2026-03-08.tgz", + "integrity": "sha512-ccoE2oGrl1VnvTTeK1NRF7FFGCsx/FomBxbMFnwDisokNdwY1pdHQ0rswpQfDfQHl+IgjCS+ItxhT4x+1Uxjeg==", "license": "MIT", "peerDependencies": { - "@dfinity/zod-schemas": "^3", - "zod": "^4" + "@dfinity/zod-schemas": "*", + "zod": "*" + } + }, + "node_modules/@junobuild/config-loader": { + "version": "0.4.8-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.8-next-2026-03-08.tgz", + "integrity": "sha512-EzrFNmompvQi1QEwWpJAxsdfY+F5kIl1XF8rMoHUiYHV0etL3sDfn8aW9uUxyclvTuaZZ/nV9z6rXyWWIZGpsg==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "*", + "@babel/plugin-transform-modules-commonjs": "*", + "@babel/preset-typescript": "*", + "@junobuild/config": "*" + } + }, + "node_modules/@junobuild/core": { + "version": "5.2.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.2.0-next-2026-03-08.tgz", + "integrity": "sha512-6yjxAsORXk5FT8lV5AzrPMKI7E/Rg3rtiBr7tDm83DBhlCuv3n9AlW60mv/CnduF1lSZN6BkXPB8pguwQ27jxg==", + "license": "MIT", + "dependencies": { + "@junobuild/auth": "^4", + "@junobuild/errors": "*", + "@junobuild/ic-client": "^8", + "@junobuild/storage": "^2.3", + "@junobuild/utils": "*" + }, + "peerDependencies": { + "@dfinity/utils": "*", + "@icp-sdk/auth": "*", + "@icp-sdk/core": "*" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/auth": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.0.0.tgz", + "integrity": "sha512-T4Fiwc3KIjeo9lmnp3ePIqU6z9I3RoY0Rs7OWecddurezgJ+L6J4TNiSGeOM/bpSAA69lt5k2EvZzqzUKv6pyA==", + "license": "MIT", + "peerDependencies": { + "@dfinity/utils": "^4.1", + "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8" } }, - "node_modules/@junobuild/config-loader": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.8.tgz", - "integrity": "sha512-iD+p6+GF8sWJOFVYuFj59J+eS7I8f+Z/rZqxBgGo/zzft+PPagxaApVDf5EqRsosvTRiuMB8Hmw7wCvYqRzmPg==", + "node_modules/@junobuild/core/node_modules/@junobuild/ic-client": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0.tgz", + "integrity": "sha512-FrHcl90vxzfu2CjvJ/K1+K4xtVD+ZomgSEvkEnNFgjXFymaFOVzNp3HFXfVT7lKT/PWWHRB+l0xM2Wko9YV2PQ==", "license": "MIT", "peerDependencies": { - "@babel/core": "7.28.4", - "@babel/plugin-transform-modules-commonjs": "7.27.1", - "@babel/preset-typescript": "7.27.1", - "@junobuild/config": "*" + "@dfinity/utils": "^4.1", + "@icp-sdk/core": "^5", + "idb-keyval": "^6.2.2" } }, - "node_modules/@junobuild/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.2.0.tgz", - "integrity": "sha512-QHZbuDL4n5eLJkRopKxZNe5AZ+0NEHY2EVydW1u3Yp7+lpwFt3y+11gb6dcxCWvKLdJYOdLo0Qbe34LAQ5GJHA==", + "node_modules/@junobuild/core/node_modules/@junobuild/storage": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0.tgz", + "integrity": "sha512-12ka/OKlqAD1CZ90dJzKW978LRPUVlgezhammO4WoIT1hkHJoguAO5Avu7vRTW36qJSKsoBHepj+l/W5ch9WdQ==", "license": "MIT", - "dependencies": { - "@junobuild/auth": "^4", - "@junobuild/errors": "*", - "@junobuild/ic-client": "^8", - "@junobuild/storage": "^2.3", - "@junobuild/utils": "*" - }, "peerDependencies": { "@dfinity/utils": "^4.1", - "@icp-sdk/auth": "^5", - "@icp-sdk/core": "^5" + "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8", + "@junobuild/utils": "*" } }, "node_modules/@junobuild/did-tools": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@junobuild/did-tools/-/did-tools-0.3.10.tgz", - "integrity": "sha512-3waVJ9fGgizy5sgekOZ2wIoszL6ZXKbnTQ9N2Wti410iXEj0zfVWRMKXmIMb0yiznI3hfveFrTyoJm3RHNy2YA==", + "version": "0.3.10-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/did-tools/-/did-tools-0.3.10-next-2026-03-08.tgz", + "integrity": "sha512-Mr6lTr3L2MsS/I4AleB3XhowSjFfS0BIq6uJgpo5ksRCbCDYv8F3plDjdF6a7e5p1R4lKmJN+fbfHR1fuV179Q==", "license": "MIT", "peerDependencies": { - "@babel/core": "7.28.4", - "@babel/parser": "7.28.4", - "@babel/plugin-transform-modules-commonjs": "7.27.1", - "@babel/preset-typescript": "7.27.1", - "@babel/traverse": "7.28.4", - "@babel/types": "7.28.4", - "@dfinity/utils": "^4.1" + "@babel/core": "*", + "@babel/parser": "*", + "@babel/plugin-transform-modules-commonjs": "*", + "@babel/preset-typescript": "*", + "@babel/traverse": "*", + "@babel/types": "*", + "@dfinity/utils": "*", + "@dfinity/zod-schemas": "*", + "@junobuild/functions": "*", + "zod": "*" } }, "node_modules/@junobuild/emulator-playwright": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@junobuild/emulator-playwright/-/emulator-playwright-0.0.3.tgz", - "integrity": "sha512-+W49nOvGcuN22bANa8nha1/lKSbPil7dtEIMNgBqC9MwT6b3IFRXJVWQsW6uxYep6hL0W4+egUsd8judUfZMNQ==", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@junobuild/emulator-playwright/-/emulator-playwright-0.0.5.tgz", + "integrity": "sha512-JZGquCUuPF+3ZzT0OnV4N9v4F/tRep1i+MIDTIbhiFszWdKJ08NtHBfYvAyVRXo1VlrRA7jmuwooCc5tPsA1jQ==", "dev": true, "license": "MIT", "engines": { @@ -1859,10 +1566,10 @@ "npm": ">=11.5.1 <12.0.0" }, "peerDependencies": { - "@dfinity/utils": "^4.1.0", - "@dfinity/zod-schemas": "^3.0.2", - "@junobuild/cli-tools": "^0.10.2", - "@junobuild/config-loader": "^0.4.8", + "@dfinity/utils": "^4", + "@dfinity/zod-schemas": "^3", + "@junobuild/cli-tools": "*", + "@junobuild/config-loader": "*", "@playwright/test": "^1.52.0" } }, @@ -1873,47 +1580,47 @@ "license": "MIT" }, "node_modules/@junobuild/functions": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.5.6.tgz", - "integrity": "sha512-mZDS23I8U28ZIGqSaxLd0dxREWWcw2oSgXj75eSfOydrIGNZtzZvLqf6LacPfbF43iS/oHxHYHSbMjXG28DjDQ==", - "dev": true, + "version": "0.5.6-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.5.6-next-2026-03-08.tgz", + "integrity": "sha512-0ZuF6L4K0FuIlVDna2aOEclu/r+vgPQ2PxnnO+HMBk/MJGkxGa3GJRps76/c/1Reg2tKlQq9Bnk8BYGWoRZqXg==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/core": "^5", - "zod": "^4" + "@dfinity/utils": "*", + "@dfinity/zod-schemas": "*", + "@icp-sdk/core": "*", + "zod": "*" } }, "node_modules/@junobuild/ic-client": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0.tgz", - "integrity": "sha512-FrHcl90vxzfu2CjvJ/K1+K4xtVD+ZomgSEvkEnNFgjXFymaFOVzNp3HFXfVT7lKT/PWWHRB+l0xM2Wko9YV2PQ==", + "version": "8.0.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0-next-2026-03-08.tgz", + "integrity": "sha512-quj1fcY6HZj/y8EbNoHAll+nx5M08rBbW2xzbD8+GDMxIPvl1JSw4utCs+vJfkoICGVP5OPt5aq5dur9Ss+Xsw==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/core": "^5", - "idb-keyval": "^6.2.2" + "@dfinity/utils": "*", + "@icp-sdk/core": "*", + "idb-keyval": "*" } }, "node_modules/@junobuild/storage": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0.tgz", - "integrity": "sha512-12ka/OKlqAD1CZ90dJzKW978LRPUVlgezhammO4WoIT1hkHJoguAO5Avu7vRTW36qJSKsoBHepj+l/W5ch9WdQ==", + "version": "2.3.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0-next-2026-03-08.tgz", + "integrity": "sha512-adWUlY92TtMCLfqSRbDYwtAscrbd4HB5KE+V1zUYJkSxzdnQs2TuL4zazGHjFtqxI3Td2IhnTxnxotaHrmBQTA==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1", - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8", + "@dfinity/utils": "*", + "@icp-sdk/core": "*", + "@junobuild/ic-client": "*", "@junobuild/utils": "*" } }, "node_modules/@junobuild/utils": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-0.2.6.tgz", - "integrity": "sha512-Xt9AtEvyU3UFVF3v9mQ64GE77zDhSxRzNsFWawoskGBUMWIOud8C7cyjJlv0A6A+qtNVN1vxE7t50/csG/UDXA==", + "version": "0.2.6-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-0.2.6-next-2026-03-08.tgz", + "integrity": "sha512-ZCHwnAx5Vs37fqCNuSwVndkb6ARNoMHi0ds/Jt3HGa+pQrSD19WRuvl+yAQP5ZAMtO4bbmuJtRGYMsOetDIP4A==", "license": "MIT", "peerDependencies": { - "@dfinity/utils": "^4.1" + "@dfinity/utils": "*" } }, "node_modules/@noble/curves": { @@ -2631,13 +2338,16 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "license": "Apache-2.0", "peer": true, "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/bech32": { @@ -2765,9 +2475,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001770", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", - "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "version": "1.0.30001777", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", + "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", "funding": [ { "type": "opencollective", @@ -2840,13 +2550,29 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "license": "MIT", "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -3141,9 +2867,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "license": "ISC", "peer": true }, @@ -4121,9 +3847,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", "license": "MIT", "engines": { "node": ">=18" @@ -5108,6 +4834,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -5178,39 +4932,39 @@ } }, "node_modules/minimatch": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz", - "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "license": "BlueOak-1.0.0", "dependencies": { "brace-expansion": "^5.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimatch/node_modules/balanced-match": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", - "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "license": "MIT", "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" } }, "node_modules/minimatch/node_modules/brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" } }, "node_modules/minimist": { @@ -5235,9 +4989,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "license": "MIT", "peer": true }, @@ -6042,16 +5796,16 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -6813,6 +6567,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -6843,20 +6598,20 @@ "peer": true }, "@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "peer": true, "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -6890,27 +6645,6 @@ "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-annotate-as-pure": { @@ -6958,40 +6692,6 @@ "semver": "^6.3.1" }, "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7014,42 +6714,6 @@ "requires": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-module-imports": { @@ -7060,42 +6724,6 @@ "requires": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-module-transforms": { @@ -7107,42 +6735,6 @@ "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-optimise-call-expression": { @@ -7169,42 +6761,6 @@ "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -7243,27 +6799,15 @@ "requires": { "@babel/template": "^7.28.6", "@babel/types": "^7.28.6" - }, - "dependencies": { - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "peer": true, "requires": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.29.0" } }, "@babel/plugin-syntax-jsx": { @@ -7285,13 +6829,13 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "peer": true, "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-typescript": { @@ -7308,16 +6852,16 @@ } }, "@babel/preset-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", - "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "peer": true, "requires": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.27.1" + "@babel/plugin-transform-typescript": "^7.28.5" } }, "@babel/template": { @@ -7329,52 +6873,31 @@ "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "peer": true, "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" } }, "@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "peer": true, "requires": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" } }, "@borewit/text-codec": { @@ -7394,9 +6917,9 @@ "requires": {} }, "@dfinity/zod-schemas": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@dfinity/zod-schemas/-/zod-schemas-3.0.2.tgz", - "integrity": "sha512-cbOsAcPgOVjbJbP91VP4hMckwiGSVZ8Q41XWXZ0doG8Vaw3e1wt0blJLiomPYnZy++ycW6iGSfoxh4DiJmumgw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@dfinity/zod-schemas/-/zod-schemas-3.1.0.tgz", + "integrity": "sha512-VW4nk3LD4FVRwwVIfcQNUmrdULbQ3bKFbefBhy6njnpQ3/6BuQNT/sN3c+xrZva/8XwW2xTMMXkPD0tOp5wGdA==", "requires": {} }, "@esbuild/aix-ppc64": { @@ -7834,27 +7357,21 @@ } }, "@junobuild/admin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.1.0.tgz", - "integrity": "sha512-7kVgl0zqIXiFYUKakxRzNRQiGILsyMFo97Ulnib4h8FhZThGVDglBcfOfrevRtOxWA4F+0m02wZleD4ST46L6Q==", - "requires": {} - }, - "@junobuild/auth": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.0.0.tgz", - "integrity": "sha512-T4Fiwc3KIjeo9lmnp3ePIqU6z9I3RoY0Rs7OWecddurezgJ+L6J4TNiSGeOM/bpSAA69lt5k2EvZzqzUKv6pyA==", + "version": "4.1.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.1.0-next-2026-03-08.tgz", + "integrity": "sha512-6oADE8YXhxMs/EXQylfcAsG2Cz4iB9mANLJ0v31+fLb4fNPNiBPz4JcQIqoU9besLR4jIdRnvrm2i6cEpr5G+w==", "requires": {} }, "@junobuild/cdn": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.3.0.tgz", - "integrity": "sha512-w+B1YvkSwYclBo/67Jyo/mUmTmEodE9ZJyg1LDja0kcDZLSEK3SQC2Rb3T0yS7E5SMDlA/mFzsSAycGRKzLVgw==", + "version": "2.3.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.3.0-next-2026-03-08.tgz", + "integrity": "sha512-zNnUUxA2/q2B9SS8JTwLwxVBd87jrya+2f3/XMJDBm+aARzLePN+LPtjcqaEFI2cirH5I+VI1toKDN3Y9GrVuA==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.10.2.tgz", - "integrity": "sha512-AyQYdSIqxIj3RSF422l/4vN8fzsbw3RwwWuv+/KV/YUrZ7xllBNjsxWTSIjY3XahbXmPbBibBlRYFAjfc8wWMg==", + "version": "0.10.2-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.10.2-next-2026-03-08.tgz", + "integrity": "sha512-QFXX0Gi2MLyUO6/TFOjzMBoZZjSJGe8qrXdx32hOrkVawyo4js9k6s6CSDFS5wl/1agdlUQOQ2KYCdaiHmZ/4A==", "requires": { "file-type": "^21.1.1", "listr2": "^9.0.5", @@ -7863,39 +7380,59 @@ } }, "@junobuild/config": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.11.0.tgz", - "integrity": "sha512-APzzQ8a8N52ZRGFD3VPIzhC/Ud7CvuYPFJX2ZR2ypaxPjhS2Jriz5aWRvQOE9RrEryHQXk2CQwzHNmzH4jcbkQ==", + "version": "2.11.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.11.0-next-2026-03-08.tgz", + "integrity": "sha512-ccoE2oGrl1VnvTTeK1NRF7FFGCsx/FomBxbMFnwDisokNdwY1pdHQ0rswpQfDfQHl+IgjCS+ItxhT4x+1Uxjeg==", "requires": {} }, "@junobuild/config-loader": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.8.tgz", - "integrity": "sha512-iD+p6+GF8sWJOFVYuFj59J+eS7I8f+Z/rZqxBgGo/zzft+PPagxaApVDf5EqRsosvTRiuMB8Hmw7wCvYqRzmPg==", + "version": "0.4.8-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.8-next-2026-03-08.tgz", + "integrity": "sha512-EzrFNmompvQi1QEwWpJAxsdfY+F5kIl1XF8rMoHUiYHV0etL3sDfn8aW9uUxyclvTuaZZ/nV9z6rXyWWIZGpsg==", "requires": {} }, "@junobuild/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.2.0.tgz", - "integrity": "sha512-QHZbuDL4n5eLJkRopKxZNe5AZ+0NEHY2EVydW1u3Yp7+lpwFt3y+11gb6dcxCWvKLdJYOdLo0Qbe34LAQ5GJHA==", + "version": "5.2.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.2.0-next-2026-03-08.tgz", + "integrity": "sha512-6yjxAsORXk5FT8lV5AzrPMKI7E/Rg3rtiBr7tDm83DBhlCuv3n9AlW60mv/CnduF1lSZN6BkXPB8pguwQ27jxg==", "requires": { "@junobuild/auth": "^4", "@junobuild/errors": "*", "@junobuild/ic-client": "^8", "@junobuild/storage": "^2.3", "@junobuild/utils": "*" + }, + "dependencies": { + "@junobuild/auth": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.0.0.tgz", + "integrity": "sha512-T4Fiwc3KIjeo9lmnp3ePIqU6z9I3RoY0Rs7OWecddurezgJ+L6J4TNiSGeOM/bpSAA69lt5k2EvZzqzUKv6pyA==", + "requires": {} + }, + "@junobuild/ic-client": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0.tgz", + "integrity": "sha512-FrHcl90vxzfu2CjvJ/K1+K4xtVD+ZomgSEvkEnNFgjXFymaFOVzNp3HFXfVT7lKT/PWWHRB+l0xM2Wko9YV2PQ==", + "requires": {} + }, + "@junobuild/storage": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0.tgz", + "integrity": "sha512-12ka/OKlqAD1CZ90dJzKW978LRPUVlgezhammO4WoIT1hkHJoguAO5Avu7vRTW36qJSKsoBHepj+l/W5ch9WdQ==", + "requires": {} + } } }, "@junobuild/did-tools": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@junobuild/did-tools/-/did-tools-0.3.10.tgz", - "integrity": "sha512-3waVJ9fGgizy5sgekOZ2wIoszL6ZXKbnTQ9N2Wti410iXEj0zfVWRMKXmIMb0yiznI3hfveFrTyoJm3RHNy2YA==", + "version": "0.3.10-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/did-tools/-/did-tools-0.3.10-next-2026-03-08.tgz", + "integrity": "sha512-Mr6lTr3L2MsS/I4AleB3XhowSjFfS0BIq6uJgpo5ksRCbCDYv8F3plDjdF6a7e5p1R4lKmJN+fbfHR1fuV179Q==", "requires": {} }, "@junobuild/emulator-playwright": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@junobuild/emulator-playwright/-/emulator-playwright-0.0.3.tgz", - "integrity": "sha512-+W49nOvGcuN22bANa8nha1/lKSbPil7dtEIMNgBqC9MwT6b3IFRXJVWQsW6uxYep6hL0W4+egUsd8judUfZMNQ==", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@junobuild/emulator-playwright/-/emulator-playwright-0.0.5.tgz", + "integrity": "sha512-JZGquCUuPF+3ZzT0OnV4N9v4F/tRep1i+MIDTIbhiFszWdKJ08NtHBfYvAyVRXo1VlrRA7jmuwooCc5tPsA1jQ==", "dev": true, "requires": {} }, @@ -7905,28 +7442,27 @@ "integrity": "sha512-uyfpITxVCDfxcALXi1CVxrwSK8yoVPZW8pgzf5fD1c2Vp1k7B0AIs/s4usW8SLR1CVvjOzf9m/jtVeFe6kuOtQ==" }, "@junobuild/functions": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.5.6.tgz", - "integrity": "sha512-mZDS23I8U28ZIGqSaxLd0dxREWWcw2oSgXj75eSfOydrIGNZtzZvLqf6LacPfbF43iS/oHxHYHSbMjXG28DjDQ==", - "dev": true, + "version": "0.5.6-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.5.6-next-2026-03-08.tgz", + "integrity": "sha512-0ZuF6L4K0FuIlVDna2aOEclu/r+vgPQ2PxnnO+HMBk/MJGkxGa3GJRps76/c/1Reg2tKlQq9Bnk8BYGWoRZqXg==", "requires": {} }, "@junobuild/ic-client": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0.tgz", - "integrity": "sha512-FrHcl90vxzfu2CjvJ/K1+K4xtVD+ZomgSEvkEnNFgjXFymaFOVzNp3HFXfVT7lKT/PWWHRB+l0xM2Wko9YV2PQ==", + "version": "8.0.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.0.0-next-2026-03-08.tgz", + "integrity": "sha512-quj1fcY6HZj/y8EbNoHAll+nx5M08rBbW2xzbD8+GDMxIPvl1JSw4utCs+vJfkoICGVP5OPt5aq5dur9Ss+Xsw==", "requires": {} }, "@junobuild/storage": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0.tgz", - "integrity": "sha512-12ka/OKlqAD1CZ90dJzKW978LRPUVlgezhammO4WoIT1hkHJoguAO5Avu7vRTW36qJSKsoBHepj+l/W5ch9WdQ==", + "version": "2.3.0-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.3.0-next-2026-03-08.tgz", + "integrity": "sha512-adWUlY92TtMCLfqSRbDYwtAscrbd4HB5KE+V1zUYJkSxzdnQs2TuL4zazGHjFtqxI3Td2IhnTxnxotaHrmBQTA==", "requires": {} }, "@junobuild/utils": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-0.2.6.tgz", - "integrity": "sha512-Xt9AtEvyU3UFVF3v9mQ64GE77zDhSxRzNsFWawoskGBUMWIOud8C7cyjJlv0A6A+qtNVN1vxE7t50/csG/UDXA==", + "version": "0.2.6-next-2026-03-08", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-0.2.6-next-2026-03-08.tgz", + "integrity": "sha512-ZCHwnAx5Vs37fqCNuSwVndkb6ARNoMHi0ds/Jt3HGa+pQrSD19WRuvl+yAQP5ZAMtO4bbmuJtRGYMsOetDIP4A==", "requires": {} }, "@noble/curves": { @@ -8371,9 +7907,9 @@ "integrity": "sha512-3hf42BysHnUqmZO7mK6e5X/hs1AvyEJIhdVLbG/Mxn/fhFnhGxOO37mWbMHg1RT4TxqcPKXgqj9/bp1YG0GBXA==" }, "baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "peer": true }, "bech32": { @@ -8450,9 +7986,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001770", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", - "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "version": "1.0.30001777", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", + "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", "peer": true }, "chalk": { @@ -8482,12 +8018,23 @@ "integrity": "sha512-/+40ljC3ONVnYIttjMWrlL51nItDAbBrq2upN8BPyvGU/2n5Oxw3tbNwORCaNuNqLJnxGqOfjUuhsv7l5Q4IsQ==" }, "cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "requires": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" + }, + "dependencies": { + "string-width": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "requires": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + } + } } }, "color-convert": { @@ -8674,9 +8221,9 @@ } }, "electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "peer": true }, "emoji-regex": { @@ -9343,9 +8890,9 @@ "peer": true }, "get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==" }, "get-intrinsic": { "version": "1.3.0", @@ -9934,6 +9481,22 @@ "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" + }, + "slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "requires": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + } + } } }, "lru-cache": { @@ -9975,22 +9538,22 @@ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==" }, "minimatch": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz", - "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "requires": { "brace-expansion": "^5.0.2" }, "dependencies": { "balanced-match": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", - "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" }, "brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "requires": { "balanced-match": "^4.0.2" } @@ -10015,9 +9578,9 @@ "dev": true }, "node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "peer": true }, "object-inspect": { @@ -10515,12 +10078,12 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "requires": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "dependencies": { "ansi-styles": { @@ -10978,7 +10541,8 @@ "zod": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==" + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "peer": true } } } diff --git a/package.json b/package.json index 500b427..4f0c632 100644 --- a/package.json +++ b/package.json @@ -30,19 +30,19 @@ }, "dependencies": { "@dfinity/utils": "^4.1.0", - "@dfinity/zod-schemas": "^3.0.2", + "@dfinity/zod-schemas": "^3.1.0", "@icp-sdk/canisters": "^3.3.0", "@icp-sdk/core": "^5.0.0", - "@junobuild/admin": "^4.1.0", - "@junobuild/cdn": "^2.3.0", - "@junobuild/cli-tools": "^0.10.2", - "@junobuild/config": "^2.11.0", - "@junobuild/config-loader": "^0.4.8", - "@junobuild/core": "^5.2.0", - "@junobuild/did-tools": "^0.3.10", - "@junobuild/ic-client": "^8.0.0", - "@junobuild/storage": "^2.3.0", - "@junobuild/utils": "^0.2.6", + "@junobuild/admin": "^4.1.0-next-2026-03-08", + "@junobuild/cdn": "^2.3.0-next-2026-03-08", + "@junobuild/cli-tools": "^0.10.2-next-2026-03-08", + "@junobuild/config": "^2.11.0-next-2026-03-08", + "@junobuild/config-loader": "^0.4.8-next-2026-03-08", + "@junobuild/core": "^5.2.0-next-2026-03-08", + "@junobuild/did-tools": "^0.3.10-next-2026-03-08", + "@junobuild/ic-client": "^8.0.0-next-2026-03-08", + "@junobuild/storage": "^2.3.0-next-2026-03-08", + "@junobuild/utils": "^0.2.6-next-2026-03-08", "chokidar": "^4.0.3", "conf": "^14.0.0", "open": "^11.0.0", @@ -50,14 +50,13 @@ "portfinder": "^1.0.38", "prompts": "^2.4.2", "semver": "^7.7.3", - "terminal-link": "^5.0.0", - "zod": "^4.3.5" + "terminal-link": "^5.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", - "@junobuild/emulator-playwright": "^0.0.3", - "@junobuild/functions": "^0.5.6", + "@junobuild/emulator-playwright": "^0.0.5", + "@junobuild/functions": "^0.5.6-next-2026-03-08", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", diff --git a/src/constants/dev.constants.ts b/src/constants/dev.constants.ts index 111bea5..e11e265 100644 --- a/src/constants/dev.constants.ts +++ b/src/constants/dev.constants.ts @@ -50,7 +50,9 @@ export const JUNO_PACKAGE_JSON_PATH = join(TARGET_PATH, 'juno.package.json'); export const PACKAGE_JSON_PATH = join(process.cwd(), 'package.json'); export const SPUTNIK_INDEX_MJS = 'sputnik.index.mjs'; +export const SPUTNIK_INDEX_RS = 'sputnik_index.rs'; export const DEPLOY_SPUTNIK_SCRIPT_PATH = join(DEPLOY_LOCAL_REPLICA_PATH, SPUTNIK_INDEX_MJS); +export const DEPLOY_SPUTNIK_FUNCTIONS_PATH = join(DEPLOY_LOCAL_REPLICA_PATH, SPUTNIK_INDEX_RS); export const JUNO_ACTION_SPUTNIK_PATH = '/juno/src/sputnik'; export const SPUTNIK_CARGO_TOML = join(JUNO_ACTION_SPUTNIK_PATH, CARGO_TOML); diff --git a/src/services/functions/build/build.javascript.services.ts b/src/services/functions/build/build.javascript.services.ts index 4b7ed26..456f4cd 100644 --- a/src/services/functions/build/build.javascript.services.ts +++ b/src/services/functions/build/build.javascript.services.ts @@ -1,9 +1,13 @@ -import {notEmptyString} from '@dfinity/utils'; -import {buildFunctions, formatBytes} from '@junobuild/cli-tools'; -import type {Metafile} from 'esbuild'; +import {nonNullish, notEmptyString} from '@dfinity/utils'; +import { + buildAndGenerateFunctions, + formatBytes, + type GenerateResultData +} from '@junobuild/cli-tools'; import {green, red, yellow} from 'kleur'; import {join} from 'node:path'; import { + DEPLOY_SPUTNIK_FUNCTIONS_PATH, DEPLOY_SPUTNIK_SCRIPT_PATH, DEVELOPER_PROJECT_SATELLITE_PATH, INDEX_MJS, @@ -39,9 +43,9 @@ const build = async ({exitOnError, ...params}: BuildArgsTsJs) => { try { const metadata = await prepareJavaScriptBuildMetadata(); - const buildResult = await buildWithEsbuild({params, metadata}); + const buildResult = await generate({params, metadata}); - printResults({metadata, buildResult}); + printResults({metadata, generateResult: buildResult}); } catch (_error: unknown) { if (exitOnError !== false) { process.exit(1); @@ -49,18 +53,13 @@ const build = async ({exitOnError, ...params}: BuildArgsTsJs) => { } }; -interface BuildResult { - version: string; - output: [string, Metafile['outputs'][0]]; -} - -const buildWithEsbuild = async ({ +const generate = async ({ params: {lang, paths}, metadata }: { params: Omit; metadata: BuildMetadata; -}): Promise => { +}): Promise => { const infile = paths?.source ?? join(DEVELOPER_PROJECT_SATELLITE_PATH, lang === 'mjs' ? INDEX_MJS : INDEX_TS); @@ -69,46 +68,39 @@ const buildWithEsbuild = async ({ js: `// @juno:package ${JSON.stringify(metadata)};` }; - const {metafile, errors, warnings, version} = await buildFunctions({ + const result = await buildAndGenerateFunctions({ infile, - outfile: DEPLOY_SPUTNIK_SCRIPT_PATH, - banner + banner, + outfileJs: DEPLOY_SPUTNIK_SCRIPT_PATH, + outfileRs: DEPLOY_SPUTNIK_FUNCTIONS_PATH }); - for (const {text} of warnings) { - console.log(`${yellow('[Warn]')} ${text}`); + if (result.status === 'success') { + return result.result; } - for (const {text} of errors) { - console.log(`${red('[Error]')} ${text}`); - } + const {warnings, errors} = result; - if (errors.length > 0) { - throw new Error(); + for (const text of warnings ?? []) { + console.log(`${yellow('[Warn]')} ${text}`); } - const entry = Object.entries(metafile.outputs); - - if (entry.length === 0) { - console.log(red('Unexpected: No metafile resulting from the build was found.')); - throw new Error(); + for (const text of errors) { + console.log(`${red('[Error]')} ${text}`); } - return { - output: entry[0], - version - }; + throw new Error(); }; const printResults = ({ metadata, - buildResult + generateResult: {generate, build} }: { metadata: BuildMetadata; - buildResult: BuildResult; + generateResult: GenerateResultData; }) => { - const {output, version: esbuildVersion} = buildResult; - const [key, {bytes}] = output; + const {output, version: esbuildVersion, outputPath} = build; + const [_key, {bytes}] = output; // The version defined by the developer for their serverless functions - not the version of the Satellite provided by Juno. const extendedVersion = metadata?.juno?.functions?.version ?? metadata?.version; @@ -117,5 +109,14 @@ const printResults = ({ console.log( `${green('✔')} Build complete at ${formatTime()} (${version}esbuild ${esbuildVersion})` ); - console.log(`→ ${yellow(key)} (${formatBytes(bytes)})`); + + console.log(`→ ${yellow(outputPath)} (${formatBytes(bytes)})`); + + if (nonNullish(generate)) { + const {totalQueries, totalUpdates, outputPath} = generate; + + console.log( + `${green('⬡')} ${totalQueries} queries and ${totalUpdates} updates generated to ${yellow(outputPath)}` + ); + } };