From 4aec2bc2312c29a015e3a58037c733fd5d4cbbe3 Mon Sep 17 00:00:00 2001 From: xion Date: Sun, 11 May 2025 21:57:54 +0800 Subject: [PATCH] =?UTF-8?q?bun=20=20=E5=A4=9A=E6=96=87=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E4=BC=9A=E6=9C=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 15 +- pnpm-lock.yaml | 962 ++++++++++------------------- src/command/app/front-app/index.ts | 19 +- src/command/deploy.ts | 58 +- src/command/sync.ts | 9 +- src/module/download/install.ts | 50 +- src/module/download/upload.ts | 63 ++ src/scripts/summary.md | 1 + src/scripts/upload.ts | 24 + 9 files changed, 510 insertions(+), 691 deletions(-) create mode 100644 src/module/download/upload.ts create mode 100644 src/scripts/summary.md create mode 100644 src/scripts/upload.ts diff --git a/package.json b/package.json index e667297..89840de 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "bun.config.mjs" ], "scripts": { - "dev": "bun run src/run.ts ", + "dev": "bun src/run.ts ", + "dev:tsx": "tsx src/run.ts ", "build": "rimraf dist && bun run bun.config.mjs", "postbuild": "cd assistant && pnpm build", "dts": "dts-bundle-generator --external-inlines=@types/jsonwebtoken src/index.ts -o dist/index.d.ts ", @@ -43,23 +44,23 @@ "@kevisual/load": "^0.0.6", "@kevisual/query": "0.0.17", "@kevisual/query-login": "0.0.5", - "@types/bun": "^1.2.10", + "@types/bun": "^1.2.13", "@types/crypto-js": "^4.2.2", "@types/jsonwebtoken": "^9.0.9", - "@types/node": "^22.14.1", + "@types/node": "^22.15.17", "chalk": "^5.4.1", "commander": "^13.1.0", "crypto-js": "^4.2.0", "fast-glob": "^3.3.3", "filesize": "^10.1.6", "form-data": "^4.0.2", - "ignore": "^7.0.3", - "inquirer": "^12.5.2", + "ignore": "^7.0.4", + "inquirer": "^12.6.1", "jsonwebtoken": "^9.0.2", - "rollup": "^4.40.0", + "rollup": "^4.40.2", "rollup-plugin-dts": "^6.2.1", "tar": "^7.4.3", - "zustand": "^5.0.3" + "zustand": "^5.0.4" }, "engines": { "node": ">=22.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1189677..554d5b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,12 +8,6 @@ importers: .: dependencies: - pino: - specifier: ^9.6.0 - version: 9.6.0 - pino-pretty: - specifier: ^13.0.0 - version: 13.0.0 pm2: specifier: ^6.0.5 version: 6.0.5(supports-color@10.0.0) @@ -26,10 +20,10 @@ importers: version: 0.0.17(encoding@0.1.13)(ws@8.18.0) '@kevisual/query-login': specifier: 0.0.5 - version: 0.0.5(@kevisual/query@0.0.17(encoding@0.1.13)(ws@8.18.0))(rollup@4.40.0)(typescript@5.8.2) + version: 0.0.5(@kevisual/query@0.0.17(encoding@0.1.13)(ws@8.18.0))(rollup@4.40.2)(typescript@5.8.2) '@types/bun': - specifier: ^1.2.10 - version: 1.2.10 + specifier: ^1.2.13 + version: 1.2.13 '@types/crypto-js': specifier: ^4.2.2 version: 4.2.2 @@ -37,8 +31,8 @@ importers: specifier: ^9.0.9 version: 9.0.9 '@types/node': - specifier: ^22.14.1 - version: 22.14.1 + specifier: ^22.15.17 + version: 22.15.17 chalk: specifier: ^5.4.1 version: 5.4.1 @@ -58,26 +52,26 @@ importers: specifier: ^4.0.2 version: 4.0.2 ignore: - specifier: ^7.0.3 - version: 7.0.3 + specifier: ^7.0.4 + version: 7.0.4 inquirer: - specifier: ^12.5.2 - version: 12.5.2(@types/node@22.14.1) + specifier: ^12.6.1 + version: 12.6.1(@types/node@22.15.17) jsonwebtoken: specifier: ^9.0.2 version: 9.0.2 rollup: - specifier: ^4.40.0 - version: 4.40.0 + specifier: ^4.40.2 + version: 4.40.2 rollup-plugin-dts: specifier: ^6.2.1 - version: 6.2.1(rollup@4.40.0)(typescript@5.8.2) + version: 6.2.1(rollup@4.40.2)(typescript@5.8.2) tar: specifier: ^7.4.3 version: 7.4.3 zustand: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.0.4 + version: 5.0.4 assistant: dependencies: @@ -99,7 +93,7 @@ importers: version: 0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13) '@kevisual/query-login': specifier: 0.0.5 - version: 0.0.5(@kevisual/query@0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13))(rollup@4.40.0)(typescript@5.8.2) + version: 0.0.5(@kevisual/query@0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13))(rollup@4.40.2)(typescript@5.8.2) '@kevisual/router': specifier: ^0.0.13 version: 0.0.13 @@ -154,12 +148,6 @@ importers: nanoid: specifier: ^5.1.5 version: 5.1.5 - pino: - specifier: ^9.6.0 - version: 9.6.0 - pino-pretty: - specifier: ^13.0.0 - version: 13.0.0 send: specifier: ^1.2.0 version: 1.2.0(supports-color@10.0.0) @@ -169,15 +157,12 @@ importers: ws: specifier: npm:@kevisual/ws version: '@kevisual/ws@8.0.0' - zustand: - specifier: ^5.0.3 - version: 5.0.3 submodules/kevisual-query-login: dependencies: '@kevisual/cache': specifier: ^0.0.2 - version: 0.0.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2) + version: 0.0.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2) '@kevisual/query': specifier: ^0.0.17 version: 0.0.17(encoding@0.1.13)(ws@8.18.0) @@ -361,6 +346,24 @@ packages: '@types/node': optional: true + '@inquirer/checkbox@4.1.6': + resolution: {integrity: sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.10': + resolution: {integrity: sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/confirm@5.1.9': resolution: {integrity: sha512-NgQCnHqFTjF7Ys2fsqK2WtnA8X1kHyInyG+nMIuHowVTIgIuS10T4AznI/PvbqSpJqjCUqNBlKGh1v3bwLFL4w==} engines: {node: '>=18'} @@ -379,6 +382,15 @@ packages: '@types/node': optional: true + '@inquirer/core@10.1.11': + resolution: {integrity: sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/editor@4.2.10': resolution: {integrity: sha512-5GVWJ+qeI6BzR6TIInLP9SXhWCEcvgFQYmcRG6d6RIlhFjM5TyG18paTGBgRYyEouvCmzeco47x9zX9tQEofkw==} engines: {node: '>=18'} @@ -388,6 +400,15 @@ packages: '@types/node': optional: true + '@inquirer/editor@4.2.11': + resolution: {integrity: sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/expand@4.0.12': resolution: {integrity: sha512-jV8QoZE1fC0vPe6TnsOfig+qwu7Iza1pkXoUJ3SroRagrt2hxiL+RbM432YAihNR7m7XnU0HWl/WQ35RIGmXHw==} engines: {node: '>=18'} @@ -397,10 +418,28 @@ packages: '@types/node': optional: true + '@inquirer/expand@4.0.13': + resolution: {integrity: sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/figures@1.0.11': resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} engines: {node: '>=18'} + '@inquirer/input@4.1.10': + resolution: {integrity: sha512-kV3BVne3wJ+j6reYQUZi/UN9NZGZLxgc/tfyjeK3mrx1QI7RXPxGp21IUTv+iVHcbP4ytZALF8vCHoxyNSC6qg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/input@4.1.9': resolution: {integrity: sha512-mshNG24Ij5KqsQtOZMgj5TwEjIf+F2HOESk6bjMwGWgcH5UBe8UoljwzNFHqdMbGYbgAf6v2wU/X9CAdKJzgOA==} engines: {node: '>=18'} @@ -419,6 +458,15 @@ packages: '@types/node': optional: true + '@inquirer/number@3.0.13': + resolution: {integrity: sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/password@4.0.12': resolution: {integrity: sha512-FlOB0zvuELPEbnBYiPaOdJIaDzb2PmJ7ghi/SVwIHDDSQ2K4opGBkF+5kXOg6ucrtSUQdLhVVY5tycH0j0l+0g==} engines: {node: '>=18'} @@ -428,8 +476,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.4.1': - resolution: {integrity: sha512-UlmM5FVOZF0gpoe1PT/jN4vk8JmpIWBlMvTL8M+hlvPmzN89K6z03+IFmyeu/oFCenwdwHDr2gky7nIGSEVvlA==} + '@inquirer/password@4.0.13': + resolution: {integrity: sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -446,8 +494,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.0.12': - resolution: {integrity: sha512-wNPJZy8Oc7RyGISPxp9/MpTOqX8lr0r+lCCWm7hQra+MDtYRgINv1hxw7R+vKP71Bu/3LszabxOodfV/uTfsaA==} + '@inquirer/prompts@7.5.1': + resolution: {integrity: sha512-5AOrZPf2/GxZ+SDRZ5WFplCA2TAQgK3OYrXCYmJL5NaTu4ECcoWFlfUZuw7Es++6Njv7iu/8vpYJhuzxUH76Vg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -464,6 +512,15 @@ packages: '@types/node': optional: true + '@inquirer/rawlist@4.1.1': + resolution: {integrity: sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/search@3.0.12': resolution: {integrity: sha512-H/kDJA3kNlnNIjB8YsaXoQI0Qccgf0Na14K1h8ExWhNmUg2E941dyFPrZeugihEa9AZNW5NdsD/NcvUME83OPQ==} engines: {node: '>=18'} @@ -473,8 +530,8 @@ packages: '@types/node': optional: true - '@inquirer/select@4.1.1': - resolution: {integrity: sha512-IUXzzTKVdiVNMA+2yUvPxWsSgOG4kfX93jOM4Zb5FgujeInotv5SPIJVeXQ+fO4xu7tW8VowFhdG5JRmmCyQ1Q==} + '@inquirer/search@3.0.13': + resolution: {integrity: sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -491,6 +548,15 @@ packages: '@types/node': optional: true + '@inquirer/select@4.2.1': + resolution: {integrity: sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/type@3.0.6': resolution: {integrity: sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==} engines: {node: '>=18'} @@ -639,203 +705,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.39.0': - resolution: {integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==} + '@rollup/rollup-android-arm-eabi@4.40.2': + resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.40.0': - resolution: {integrity: sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.39.0': - resolution: {integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==} + '@rollup/rollup-android-arm64@4.40.2': + resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.40.0': - resolution: {integrity: sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.39.0': - resolution: {integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==} + '@rollup/rollup-darwin-arm64@4.40.2': + resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.40.0': - resolution: {integrity: sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.39.0': - resolution: {integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==} + '@rollup/rollup-darwin-x64@4.40.2': + resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.40.0': - resolution: {integrity: sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.39.0': - resolution: {integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==} + '@rollup/rollup-freebsd-arm64@4.40.2': + resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.40.0': - resolution: {integrity: sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.39.0': - resolution: {integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==} + '@rollup/rollup-freebsd-x64@4.40.2': + resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.40.0': - resolution: {integrity: sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.39.0': - resolution: {integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==} + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': + resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.40.0': - resolution: {integrity: sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==} + '@rollup/rollup-linux-arm-musleabihf@4.40.2': + resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.39.0': - resolution: {integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.40.0': - resolution: {integrity: sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.39.0': - resolution: {integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==} + '@rollup/rollup-linux-arm64-gnu@4.40.2': + resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.40.0': - resolution: {integrity: sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==} + '@rollup/rollup-linux-arm64-musl@4.40.2': + resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.39.0': - resolution: {integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.40.0': - resolution: {integrity: sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.39.0': - resolution: {integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==} + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': + resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.40.0': - resolution: {integrity: sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': - resolution: {integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': + resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': - resolution: {integrity: sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.39.0': - resolution: {integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==} + '@rollup/rollup-linux-riscv64-gnu@4.40.2': + resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.40.0': - resolution: {integrity: sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==} + '@rollup/rollup-linux-riscv64-musl@4.40.2': + resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.39.0': - resolution: {integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-musl@4.40.0': - resolution: {integrity: sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.39.0': - resolution: {integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==} + '@rollup/rollup-linux-s390x-gnu@4.40.2': + resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.40.0': - resolution: {integrity: sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.39.0': - resolution: {integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==} + '@rollup/rollup-linux-x64-gnu@4.40.2': + resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.40.0': - resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} + '@rollup/rollup-linux-x64-musl@4.40.2': + resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.39.0': - resolution: {integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.40.0': - resolution: {integrity: sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.39.0': - resolution: {integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==} + '@rollup/rollup-win32-arm64-msvc@4.40.2': + resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.40.0': - resolution: {integrity: sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.39.0': - resolution: {integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==} + '@rollup/rollup-win32-ia32-msvc@4.40.2': + resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.40.0': - resolution: {integrity: sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.39.0': - resolution: {integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.40.0': - resolution: {integrity: sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==} + '@rollup/rollup-win32-x64-msvc@4.40.2': + resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} cpu: [x64] os: [win32] @@ -845,6 +811,9 @@ packages: '@types/bun@1.2.10': resolution: {integrity: sha512-eilv6WFM3M0c9ztJt7/g80BDusK98z/FrFwseZgT4bXCq2vPhXD4z8R3oddmAn+R/Nmz9vBn4kweJKmGTZj+lg==} + '@types/bun@1.2.13': + resolution: {integrity: sha512-u6vXep/i9VBxoJl3GjZsl/BFIsvML8DfVDO0RYLEwtSZSp981kEO1V5NwRcO1CPJ7AmvpbnDCiMKo3JvbDEjAg==} + '@types/crypto-js@4.2.2': resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} @@ -881,6 +850,9 @@ packages: '@types/node@22.14.1': resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} + '@types/node@22.15.17': + resolution: {integrity: sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==} + '@types/node@22.15.2': resolution: {integrity: sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==} @@ -958,10 +930,6 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -997,6 +965,9 @@ packages: bun-types@1.2.10: resolution: {integrity: sha512-b5ITZMnVdf3m1gMvJHG+gIfeJHiQPJak0f7925Hxu6ZN5VKA8AGy4GZ4lM+Xkn6jtWxg5S3ldWvfmXdvnkp3GQ==} + bun-types@1.2.13: + resolution: {integrity: sha512-rRjA1T6n7wto4gxhAO/ErZEtOXyEZEmnIHQfl0Dt1QQSB4QV0iP6BZ9/YB5fZaHFQ2dwHFrmPaRQ9GGMX01k9Q==} + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1052,9 +1023,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1099,9 +1067,6 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} @@ -1180,9 +1145,6 @@ packages: encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -1260,9 +1222,6 @@ packages: extrareqp2@1.0.0: resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==} - fast-copy@3.0.2: - resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -1270,13 +1229,6 @@ packages: fast-json-patch@3.1.1: resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -1398,9 +1350,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -1427,8 +1376,8 @@ packages: idb-keyval@6.2.1: resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} - ignore@7.0.3: - resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} + ignore@7.0.4: + resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} engines: {node: '>= 4'} inherits@2.0.4: @@ -1437,8 +1386,8 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inquirer@12.5.2: - resolution: {integrity: sha512-qoDk/vdSTIaXNXAoNnlg7ubexpJfUo7t8GT2vylxvE49BrLhToFuPPdMViidG2boHV7+AcP1TCkJs/+PPoF2QQ==} + inquirer@12.6.0: + resolution: {integrity: sha512-3zmmccQd/8o65nPOZJZ+2wqt76Ghw3+LaMrmc6JE/IzcvQhJ1st+QLCOo/iLS85/tILU0myG31a2TAZX0ysAvg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1446,8 +1395,8 @@ packages: '@types/node': optional: true - inquirer@12.6.0: - resolution: {integrity: sha512-3zmmccQd/8o65nPOZJZ+2wqt76Ghw3+LaMrmc6JE/IzcvQhJ1st+QLCOo/iLS85/tILU0myG31a2TAZX0ysAvg==} + inquirer@12.6.1: + resolution: {integrity: sha512-MGFnzHVS3l3oM3cy+LWkyR7UUtVEn3D5U41CZbEY34szToWoJAvaVtCTz1mxsEzZFk/HXWyCArn0HDgloTXMDw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1615,9 +1564,6 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -1696,17 +1642,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - openai@4.88.0: resolution: {integrity: sha512-Ll2ZJCdX/56WcCF/wLtAFou+zWRyLeneoXy+qya5T5/wm5LkIr6heJfSn53c5ujXWPB+24cgumiOetbFqcppFA==} hasBin: true @@ -1771,20 +1710,6 @@ packages: resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==} engines: {node: '>=10'} - pino-abstract-transport@2.0.0: - resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - - pino-pretty@13.0.0: - resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==} - hasBin: true - - pino-std-serializers@7.0.0: - resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - - pino@9.6.0: - resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==} - hasBin: true - pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -1834,9 +1759,6 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} - process-warning@4.0.1: - resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} - promptly@2.2.0: resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==} @@ -1847,9 +1769,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1857,9 +1776,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -1876,10 +1792,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - require-in-the-middle@5.2.0: resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} engines: {node: '>=6'} @@ -1907,13 +1819,8 @@ packages: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 - rollup@4.39.0: - resolution: {integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.40.0: - resolution: {integrity: sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==} + rollup@4.40.2: + resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1933,19 +1840,12 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} @@ -1997,9 +1897,6 @@ packages: resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -2015,10 +1912,6 @@ packages: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - sprintf-js@1.1.2: resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} @@ -2045,10 +1938,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -2083,9 +1972,6 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-stream@3.1.0: - resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -2202,9 +2088,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -2240,8 +2123,8 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - zustand@5.0.3: - resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} + zustand@5.0.4: + resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -2345,16 +2228,6 @@ snapshots: '@esbuild/win32-x64@0.25.0': optional: true - '@inquirer/checkbox@4.1.5(@types/node@22.14.1)': - dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.14.1) - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.14.1 - '@inquirer/checkbox@4.1.5(@types/node@22.15.2)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.15.2) @@ -2365,12 +2238,22 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/confirm@5.1.9(@types/node@22.14.1)': + '@inquirer/checkbox@4.1.6(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@22.15.17) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 + + '@inquirer/confirm@5.1.10(@types/node@22.15.17)': + dependencies: + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) + optionalDependencies: + '@types/node': 22.15.17 '@inquirer/confirm@5.1.9(@types/node@22.15.2)': dependencies: @@ -2379,19 +2262,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/core@10.1.10(@types/node@22.14.1)': - dependencies: - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.14.1) - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.14.1 - '@inquirer/core@10.1.10(@types/node@22.15.2)': dependencies: '@inquirer/figures': 1.0.11 @@ -2405,13 +2275,18 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/editor@4.2.10(@types/node@22.14.1)': + '@inquirer/core@10.1.11(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - external-editor: 3.1.0 + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@22.15.17) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/editor@4.2.10(@types/node@22.15.2)': dependencies: @@ -2421,13 +2296,13 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/expand@4.0.12(@types/node@22.14.1)': + '@inquirer/editor@4.2.11(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - yoctocolors-cjs: 2.1.2 + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) + external-editor: 3.1.0 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/expand@4.0.12(@types/node@22.15.2)': dependencies: @@ -2437,14 +2312,22 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 + '@inquirer/expand@4.0.13(@types/node@22.15.17)': + dependencies: + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.15.17 + '@inquirer/figures@1.0.11': {} - '@inquirer/input@4.1.9(@types/node@22.14.1)': + '@inquirer/input@4.1.10(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/input@4.1.9(@types/node@22.15.2)': dependencies: @@ -2453,13 +2336,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/number@3.0.12(@types/node@22.14.1)': - dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - optionalDependencies: - '@types/node': 22.14.1 - '@inquirer/number@3.0.12(@types/node@22.15.2)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.15.2) @@ -2467,13 +2343,12 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/password@4.0.12(@types/node@22.14.1)': + '@inquirer/number@3.0.13(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - ansi-escapes: 4.3.2 + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/password@4.0.12(@types/node@22.15.2)': dependencies: @@ -2483,20 +2358,13 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/prompts@7.4.1(@types/node@22.14.1)': + '@inquirer/password@4.0.13(@types/node@22.15.17)': dependencies: - '@inquirer/checkbox': 4.1.5(@types/node@22.14.1) - '@inquirer/confirm': 5.1.9(@types/node@22.14.1) - '@inquirer/editor': 4.2.10(@types/node@22.14.1) - '@inquirer/expand': 4.0.12(@types/node@22.14.1) - '@inquirer/input': 4.1.9(@types/node@22.14.1) - '@inquirer/number': 3.0.12(@types/node@22.14.1) - '@inquirer/password': 4.0.12(@types/node@22.14.1) - '@inquirer/rawlist': 4.0.12(@types/node@22.14.1) - '@inquirer/search': 3.0.12(@types/node@22.14.1) - '@inquirer/select': 4.1.1(@types/node@22.14.1) + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) + ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/prompts@7.5.0(@types/node@22.15.2)': dependencies: @@ -2513,13 +2381,20 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/rawlist@4.0.12(@types/node@22.14.1)': + '@inquirer/prompts@7.5.1(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - yoctocolors-cjs: 2.1.2 + '@inquirer/checkbox': 4.1.6(@types/node@22.15.17) + '@inquirer/confirm': 5.1.10(@types/node@22.15.17) + '@inquirer/editor': 4.2.11(@types/node@22.15.17) + '@inquirer/expand': 4.0.13(@types/node@22.15.17) + '@inquirer/input': 4.1.10(@types/node@22.15.17) + '@inquirer/number': 3.0.13(@types/node@22.15.17) + '@inquirer/password': 4.0.13(@types/node@22.15.17) + '@inquirer/rawlist': 4.1.1(@types/node@22.15.17) + '@inquirer/search': 3.0.13(@types/node@22.15.17) + '@inquirer/select': 4.2.1(@types/node@22.15.17) optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/rawlist@4.1.0(@types/node@22.15.2)': dependencies: @@ -2529,14 +2404,13 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/search@3.0.12(@types/node@22.14.1)': + '@inquirer/rawlist@4.1.1(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.14.1) + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/search@3.0.12(@types/node@22.15.2)': dependencies: @@ -2547,15 +2421,14 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/select@4.1.1(@types/node@22.14.1)': + '@inquirer/search@3.0.13(@types/node@22.15.17)': dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) + '@inquirer/core': 10.1.11(@types/node@22.15.17) '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.14.1) - ansi-escapes: 4.3.2 + '@inquirer/type': 3.0.6(@types/node@22.15.17) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 '@inquirer/select@4.2.0(@types/node@22.15.2)': dependencies: @@ -2567,9 +2440,19 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 - '@inquirer/type@3.0.6(@types/node@22.14.1)': + '@inquirer/select@4.2.1(@types/node@22.15.17)': + dependencies: + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@22.15.17) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.17 + + '@inquirer/type@3.0.6(@types/node@22.15.17)': + optionalDependencies: + '@types/node': 22.15.17 '@inquirer/type@3.0.6(@types/node@22.15.2)': optionalDependencies: @@ -2607,13 +2490,13 @@ snapshots: '@kevisual/ai-center@0.0.3': {} - '@kevisual/cache@0.0.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2)': + '@kevisual/cache@0.0.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2)': dependencies: - '@rollup/plugin-commonjs': 28.0.3(rollup@4.40.0) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.40.0) - '@rollup/plugin-typescript': 12.1.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2) + '@rollup/plugin-commonjs': 28.0.3(rollup@4.40.2) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.40.2) + '@rollup/plugin-typescript': 12.1.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2) idb-keyval: 6.2.1 - rollup-plugin-dts: 6.2.1(rollup@4.40.0)(typescript@5.8.2) + rollup-plugin-dts: 6.2.1(rollup@4.40.2)(typescript@5.8.2) transitivePeerDependencies: - rollup - tslib @@ -2630,9 +2513,9 @@ snapshots: '@kevisual/use-config': 1.0.11(dotenv@16.5.0) pm2: 6.0.5(supports-color@10.0.0) - '@kevisual/query-login@0.0.5(@kevisual/query@0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13))(rollup@4.40.0)(typescript@5.8.2)': + '@kevisual/query-login@0.0.5(@kevisual/query@0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13))(rollup@4.40.2)(typescript@5.8.2)': dependencies: - '@kevisual/cache': 0.0.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2) + '@kevisual/cache': 0.0.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2) '@kevisual/query': 0.0.17(@kevisual/ws@8.0.0)(encoding@0.1.13) dotenv: 16.5.0 transitivePeerDependencies: @@ -2640,9 +2523,9 @@ snapshots: - tslib - typescript - '@kevisual/query-login@0.0.5(@kevisual/query@0.0.17(encoding@0.1.13)(ws@8.18.0))(rollup@4.40.0)(typescript@5.8.2)': + '@kevisual/query-login@0.0.5(@kevisual/query@0.0.17(encoding@0.1.13)(ws@8.18.0))(rollup@4.40.2)(typescript@5.8.2)': dependencies: - '@kevisual/cache': 0.0.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2) + '@kevisual/cache': 0.0.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2) '@kevisual/query': 0.0.17(encoding@0.1.13)(ws@8.18.0) dotenv: 16.5.0 transitivePeerDependencies: @@ -2747,9 +2630,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@28.0.3(rollup@4.40.0)': + '@rollup/plugin-commonjs@28.0.3(rollup@4.40.2)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.40.0) + '@rollup/pluginutils': 5.1.2(rollup@4.40.2) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.0(picomatch@4.0.2) @@ -2757,153 +2640,93 @@ snapshots: magic-string: 0.30.11 picomatch: 4.0.2 optionalDependencies: - rollup: 4.40.0 + rollup: 4.40.2 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.40.0)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.40.2)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.40.0) + '@rollup/pluginutils': 5.1.2(rollup@4.40.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.40.0 + rollup: 4.40.2 - '@rollup/plugin-typescript@12.1.2(rollup@4.40.0)(tslib@2.8.1)(typescript@5.8.2)': + '@rollup/plugin-typescript@12.1.2(rollup@4.40.2)(tslib@2.8.1)(typescript@5.8.2)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.40.0) + '@rollup/pluginutils': 5.1.2(rollup@4.40.2) resolve: 1.22.8 typescript: 5.8.2 optionalDependencies: - rollup: 4.40.0 + rollup: 4.40.2 tslib: 2.8.1 - '@rollup/pluginutils@5.1.2(rollup@4.40.0)': + '@rollup/pluginutils@5.1.2(rollup@4.40.2)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.40.0 + rollup: 4.40.2 - '@rollup/rollup-android-arm-eabi@4.39.0': + '@rollup/rollup-android-arm-eabi@4.40.2': optional: true - '@rollup/rollup-android-arm-eabi@4.40.0': + '@rollup/rollup-android-arm64@4.40.2': optional: true - '@rollup/rollup-android-arm64@4.39.0': + '@rollup/rollup-darwin-arm64@4.40.2': optional: true - '@rollup/rollup-android-arm64@4.40.0': + '@rollup/rollup-darwin-x64@4.40.2': optional: true - '@rollup/rollup-darwin-arm64@4.39.0': + '@rollup/rollup-freebsd-arm64@4.40.2': optional: true - '@rollup/rollup-darwin-arm64@4.40.0': + '@rollup/rollup-freebsd-x64@4.40.2': optional: true - '@rollup/rollup-darwin-x64@4.39.0': + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': optional: true - '@rollup/rollup-darwin-x64@4.40.0': + '@rollup/rollup-linux-arm-musleabihf@4.40.2': optional: true - '@rollup/rollup-freebsd-arm64@4.39.0': + '@rollup/rollup-linux-arm64-gnu@4.40.2': optional: true - '@rollup/rollup-freebsd-arm64@4.40.0': + '@rollup/rollup-linux-arm64-musl@4.40.2': optional: true - '@rollup/rollup-freebsd-x64@4.39.0': + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': optional: true - '@rollup/rollup-freebsd-x64@4.40.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.39.0': + '@rollup/rollup-linux-riscv64-gnu@4.40.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.40.0': + '@rollup/rollup-linux-riscv64-musl@4.40.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.39.0': + '@rollup/rollup-linux-s390x-gnu@4.40.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.40.0': + '@rollup/rollup-linux-x64-gnu@4.40.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.39.0': + '@rollup/rollup-linux-x64-musl@4.40.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.0': + '@rollup/rollup-win32-arm64-msvc@4.40.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.39.0': + '@rollup/rollup-win32-ia32-msvc@4.40.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.40.0': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.39.0': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.40.0': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.39.0': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.40.0': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.39.0': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.40.0': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.39.0': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.40.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.39.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.40.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.39.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.40.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.39.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.40.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.39.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.40.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.39.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.40.0': + '@rollup/rollup-win32-x64-msvc@4.40.2': optional: true '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -2912,6 +2735,10 @@ snapshots: dependencies: bun-types: 1.2.10 + '@types/bun@1.2.13': + dependencies: + bun-types: 1.2.13 + '@types/crypto-js@4.2.2': {} '@types/estree@1.0.6': {} @@ -2921,7 +2748,7 @@ snapshots: '@types/jsonwebtoken@9.0.9': dependencies: '@types/ms': 0.7.34 - '@types/node': 22.15.2 + '@types/node': 22.15.17 '@types/lodash-es@4.17.12': dependencies: @@ -2935,12 +2762,12 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.17 form-data: 4.0.2 '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.17 '@types/node@18.19.80': dependencies: @@ -2950,6 +2777,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@22.15.17': + dependencies: + undici-types: 6.21.0 + '@types/node@22.15.2': dependencies: undici-types: 6.21.0 @@ -2959,11 +2790,11 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.2 + '@types/node': 22.15.17 '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.17 abort-controller@3.0.0: dependencies: @@ -3018,8 +2849,6 @@ snapshots: asynckit@0.4.0: {} - atomic-sleep@1.0.0: {} - balanced-match@1.0.2: {} basic-ftp@5.0.5: {} @@ -3044,7 +2873,11 @@ snapshots: bun-types@1.2.10: dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.17 + + bun-types@1.2.13: + dependencies: + '@types/node': 22.15.17 bundle-require@5.1.0(esbuild@0.25.0): dependencies: @@ -3099,8 +2932,6 @@ snapshots: color-name@1.1.4: {} - colorette@2.0.20: {} - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -3133,8 +2964,6 @@ snapshots: data-uri-to-buffer@6.0.2: {} - dateformat@4.6.3: {} - dayjs@1.11.13: {} dayjs@1.8.36: {} @@ -3196,10 +3025,6 @@ snapshots: iconv-lite: 0.6.3 optional: true - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - enquirer@2.3.6: dependencies: ansi-colors: 4.1.3 @@ -3289,8 +3114,6 @@ snapshots: transitivePeerDependencies: - debug - fast-copy@3.0.2: {} - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -3301,10 +3124,6 @@ snapshots: fast-json-patch@3.1.1: {} - fast-redact@3.5.0: {} - - fast-safe-stringify@2.1.1: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -3416,8 +3235,6 @@ snapshots: dependencies: function-bind: 1.1.2 - help-me@5.0.0: {} - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -3455,24 +3272,12 @@ snapshots: idb-keyval@6.2.1: {} - ignore@7.0.3: {} + ignore@7.0.4: {} inherits@2.0.4: {} ini@1.3.8: {} - inquirer@12.5.2(@types/node@22.14.1): - dependencies: - '@inquirer/core': 10.1.10(@types/node@22.14.1) - '@inquirer/prompts': 7.4.1(@types/node@22.14.1) - '@inquirer/type': 3.0.6(@types/node@22.14.1) - ansi-escapes: 4.3.2 - mute-stream: 2.0.0 - run-async: 3.0.0 - rxjs: 7.8.2 - optionalDependencies: - '@types/node': 22.14.1 - inquirer@12.6.0(@types/node@22.15.2): dependencies: '@inquirer/core': 10.1.10(@types/node@22.15.2) @@ -3485,6 +3290,18 @@ snapshots: optionalDependencies: '@types/node': 22.15.2 + inquirer@12.6.1(@types/node@22.15.17): + dependencies: + '@inquirer/core': 10.1.11(@types/node@22.15.17) + '@inquirer/prompts': 7.5.1(@types/node@22.15.17) + '@inquirer/type': 3.0.6(@types/node@22.15.17) + ansi-escapes: 4.3.2 + mute-stream: 2.0.0 + run-async: 3.0.0 + rxjs: 7.8.2 + optionalDependencies: + '@types/node': 22.15.17 + ip-address@9.0.5: dependencies: jsbn: 1.1.0 @@ -3634,8 +3451,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimist@1.2.8: {} - minipass@7.1.2: {} minizlib@3.0.1: @@ -3690,16 +3505,10 @@ snapshots: object-assign@4.1.1: {} - on-exit-leak-free@2.1.2: {} - on-finished@2.4.1: dependencies: ee-first: 1.1.1 - once@1.4.0: - dependencies: - wrappy: 1.0.2 - openai@4.88.0(@kevisual/ws@8.0.0)(encoding@0.1.13): dependencies: '@types/node': 18.19.80 @@ -3778,42 +3587,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - pino-abstract-transport@2.0.0: - dependencies: - split2: 4.2.0 - - pino-pretty@13.0.0: - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.2 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 2.0.0 - pump: 3.0.2 - secure-json-parse: 2.7.0 - sonic-boom: 4.2.0 - strip-json-comments: 3.1.1 - - pino-std-serializers@7.0.0: {} - - pino@9.6.0: - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 2.0.0 - pino-std-serializers: 7.0.0 - process-warning: 4.0.1 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.0 - thread-stream: 3.1.0 - pirates@4.0.6: {} pm2-axon-rpc@0.7.1(supports-color@10.0.0): @@ -3902,8 +3675,6 @@ snapshots: source-map-js: 1.2.1 optional: true - process-warning@4.0.1: {} - promptly@2.2.0: dependencies: read: 1.0.7 @@ -3923,17 +3694,10 @@ snapshots: proxy-from-env@1.1.0: {} - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode@2.3.1: {} queue-microtask@1.2.3: {} - quick-format-unescaped@4.0.4: {} - range-parser@1.2.1: {} read@1.0.7: @@ -3946,8 +3710,6 @@ snapshots: readdirp@4.1.2: {} - real-require@0.2.0: {} - require-in-the-middle@5.2.0(supports-color@10.0.0): dependencies: debug: 4.4.0(supports-color@10.0.0) @@ -3970,64 +3732,38 @@ snapshots: dependencies: glob: 10.4.5 - rollup-plugin-dts@6.2.1(rollup@4.40.0)(typescript@5.8.2): + rollup-plugin-dts@6.2.1(rollup@4.40.2)(typescript@5.8.2): dependencies: magic-string: 0.30.17 - rollup: 4.40.0 + rollup: 4.40.2 typescript: 5.8.2 optionalDependencies: '@babel/code-frame': 7.26.2 - rollup@4.39.0: + rollup@4.40.2: dependencies: '@types/estree': 1.0.7 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.39.0 - '@rollup/rollup-android-arm64': 4.39.0 - '@rollup/rollup-darwin-arm64': 4.39.0 - '@rollup/rollup-darwin-x64': 4.39.0 - '@rollup/rollup-freebsd-arm64': 4.39.0 - '@rollup/rollup-freebsd-x64': 4.39.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.39.0 - '@rollup/rollup-linux-arm-musleabihf': 4.39.0 - '@rollup/rollup-linux-arm64-gnu': 4.39.0 - '@rollup/rollup-linux-arm64-musl': 4.39.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.39.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.39.0 - '@rollup/rollup-linux-riscv64-gnu': 4.39.0 - '@rollup/rollup-linux-riscv64-musl': 4.39.0 - '@rollup/rollup-linux-s390x-gnu': 4.39.0 - '@rollup/rollup-linux-x64-gnu': 4.39.0 - '@rollup/rollup-linux-x64-musl': 4.39.0 - '@rollup/rollup-win32-arm64-msvc': 4.39.0 - '@rollup/rollup-win32-ia32-msvc': 4.39.0 - '@rollup/rollup-win32-x64-msvc': 4.39.0 - fsevents: 2.3.3 - - rollup@4.40.0: - dependencies: - '@types/estree': 1.0.7 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.40.0 - '@rollup/rollup-android-arm64': 4.40.0 - '@rollup/rollup-darwin-arm64': 4.40.0 - '@rollup/rollup-darwin-x64': 4.40.0 - '@rollup/rollup-freebsd-arm64': 4.40.0 - '@rollup/rollup-freebsd-x64': 4.40.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.40.0 - '@rollup/rollup-linux-arm-musleabihf': 4.40.0 - '@rollup/rollup-linux-arm64-gnu': 4.40.0 - '@rollup/rollup-linux-arm64-musl': 4.40.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.40.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.40.0 - '@rollup/rollup-linux-riscv64-gnu': 4.40.0 - '@rollup/rollup-linux-riscv64-musl': 4.40.0 - '@rollup/rollup-linux-s390x-gnu': 4.40.0 - '@rollup/rollup-linux-x64-gnu': 4.40.0 - '@rollup/rollup-linux-x64-musl': 4.40.0 - '@rollup/rollup-win32-arm64-msvc': 4.40.0 - '@rollup/rollup-win32-ia32-msvc': 4.40.0 - '@rollup/rollup-win32-x64-msvc': 4.40.0 + '@rollup/rollup-android-arm-eabi': 4.40.2 + '@rollup/rollup-android-arm64': 4.40.2 + '@rollup/rollup-darwin-arm64': 4.40.2 + '@rollup/rollup-darwin-x64': 4.40.2 + '@rollup/rollup-freebsd-arm64': 4.40.2 + '@rollup/rollup-freebsd-x64': 4.40.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.40.2 + '@rollup/rollup-linux-arm-musleabihf': 4.40.2 + '@rollup/rollup-linux-arm64-gnu': 4.40.2 + '@rollup/rollup-linux-arm64-musl': 4.40.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.40.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.40.2 + '@rollup/rollup-linux-riscv64-gnu': 4.40.2 + '@rollup/rollup-linux-riscv64-musl': 4.40.2 + '@rollup/rollup-linux-s390x-gnu': 4.40.2 + '@rollup/rollup-linux-x64-gnu': 4.40.2 + '@rollup/rollup-linux-x64-musl': 4.40.2 + '@rollup/rollup-win32-arm64-msvc': 4.40.2 + '@rollup/rollup-win32-ia32-msvc': 4.40.2 + '@rollup/rollup-win32-x64-msvc': 4.40.2 fsevents: 2.3.3 run-async@3.0.0: {} @@ -4044,14 +3780,10 @@ snapshots: safe-buffer@5.2.1: {} - safe-stable-stringify@2.5.0: {} - safer-buffer@2.1.2: {} sax@1.4.1: {} - secure-json-parse@2.7.0: {} - selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 @@ -4108,10 +3840,6 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - sonic-boom@4.2.0: - dependencies: - atomic-sleep: 1.0.0 - source-map-js@1.2.1: optional: true @@ -4126,8 +3854,6 @@ snapshots: dependencies: whatwg-url: 7.1.0 - split2@4.2.0: {} - sprintf-js@1.1.2: {} sprintf-js@1.1.3: {} @@ -4154,8 +3880,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-json-comments@3.1.1: {} - sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -4194,10 +3918,6 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@3.1.0: - dependencies: - real-require: 0.2.0 - tinyexec@0.3.2: {} tinyglobby@0.2.12: @@ -4241,7 +3961,7 @@ snapshots: picocolors: 1.1.1 postcss-load-config: 6.0.1(postcss@8.5.3) resolve-from: 5.0.0 - rollup: 4.39.0 + rollup: 4.40.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 @@ -4317,8 +4037,6 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - ws@7.5.10: {} ws@8.18.0: @@ -4330,4 +4048,4 @@ snapshots: yoctocolors-cjs@2.1.2: {} - zustand@5.0.3: {} + zustand@5.0.4: {} diff --git a/src/command/app/front-app/index.ts b/src/command/app/front-app/index.ts index e3f532c..e56c5aa 100644 --- a/src/command/app/front-app/index.ts +++ b/src/command/app/front-app/index.ts @@ -5,7 +5,7 @@ import { chalk } from '@/module/chalk.ts'; import { program, Command } from '../../../program.ts'; import { queryApp } from '../../../query/app-manager/query-app.ts'; -import { checkAppDir, installApp, uninstallApp } from '@/module/download/install.ts'; +import { checkAppDir, installApp, uninstallApp, fetchLink } from '@/module/download/install.ts'; import { fileIsExist } from '@/uitls/file.ts'; import fs from 'fs'; import { getConfig } from '@/module/get-config.ts'; @@ -156,3 +156,20 @@ const uninstallAppCommand = new Command('uninstall') appCommand.addCommand(downloadAppCommand); appCommand.addCommand(uninstallAppCommand); + +const link = new Command('link') + .argument('url') + .option('-o --output ', '输出目录') + .action(async (url, options) => { + const output = options.output || ''; + const { content, filename } = await fetchLink(url, { returnContent: true }); + if (output) { + const checkOutput = fileIsExist(output); + if (!checkOutput) { + fs.mkdirSync(output, { recursive: true }); + } + } + fs.writeFileSync(path.join(output, filename), content); + }); + +appCommand.addCommand(link); diff --git a/src/command/deploy.ts b/src/command/deploy.ts index fe1a4d7..350b720 100644 --- a/src/command/deploy.ts +++ b/src/command/deploy.ts @@ -9,7 +9,9 @@ import inquirer from 'inquirer'; import { packLib, unpackLib } from './publish.ts'; import chalk from 'chalk'; import { installDeps } from '@/uitls/npm.ts'; -import { MD5 } from 'crypto-js'; +import cryptojs from 'crypto-js'; +import { upload } from '@/module/download/upload.ts'; +const MD5 = cryptojs.MD5; /** * 获取package.json 中的 basename, version, user, appKey * @returns @@ -209,8 +211,10 @@ const uploadFiles = async (files: string[], directory: string, opts: UploadFileO console.log('文件已经上传过了', file); continue; } + const filename = path.basename(filePath); + console.log('upload file', file, filename); form.append('file', fs.createReadStream(filePath), { - filename: file, + filename: filename, filepath: file, }); needUpload = true; @@ -221,50 +225,12 @@ const uploadFiles = async (files: string[], directory: string, opts: UploadFileO code: 200, }; } - - return new Promise(async (resolve) => { - const _baseURL = getBaseURL(); - const url = new URL('/api/s1/resources/upload', _baseURL); - const searchParams = url.searchParams; - if (opts.noCheckAppFiles) { - searchParams.append('noCheckAppFiles', 'true'); - } - console.log('upload url', url.hostname, url.protocol, url.port); - const pathname = url.href.toString().replace(_baseURL.toString(), ''); - form.submit( - { - path: pathname, - host: url.hostname, - protocol: url.protocol as any, - port: url.port, - method: 'POST', - headers: { - Authorization: 'Bearer ' + token, - ...form.getHeaders(), - }, - }, - (err, res) => { - if (err) { - console.error('Error uploading file:', err.message); - return; - } - // 处理服务器响应 - let body = ''; - res.on('data', (chunk) => { - body += chunk; - }); - - res.on('end', () => { - try { - const res = JSON.parse(body); - resolve(res); - } catch (e) { - resolve({ code: 500, message: body }); - } - }); - }, - ); - }); + const _baseURL = getBaseURL(); + const url = new URL('/api/s1/resources/upload', _baseURL); + if (opts.noCheckAppFiles) { + url.searchParams.append('noCheckAppFiles', 'true'); + } + return upload({ url: url, form: form, token: token }); }; app.addCommand(command); diff --git a/src/command/sync.ts b/src/command/sync.ts index 3a4d5fc..b924666 100644 --- a/src/command/sync.ts +++ b/src/command/sync.ts @@ -1,8 +1,11 @@ import { program as app, Command } from '@/program.ts'; -const command = new Command('sync').description('同步项目').action(() => { - console.log('同步项目'); -}); +const command = new Command('sync') + .option('-d --dir ') + .description('同步项目') + .action(() => { + console.log('同步项目'); + }); const syncUpload = new Command('upload').description('上传项目').action(() => { console.log('上传项目'); }); diff --git a/src/module/download/install.ts b/src/module/download/install.ts index be71b8b..461a436 100644 --- a/src/module/download/install.ts +++ b/src/module/download/install.ts @@ -1,6 +1,6 @@ import path from 'path'; import fs from 'fs'; -import { storage } from '../query.ts'; +import { storage, baseURL } from '../query.ts'; import { chalk } from '../chalk.ts'; type DownloadTask = { @@ -20,6 +20,40 @@ export type Package = { key?: string; [key: string]: any; }; +type Options = { + check?: boolean; + returnContent?: boolean; + [key: string]: any; +}; +export const fetchLink = async (url: string, opts?: Options) => { + const token = process.env.KEVISUAL_TOKEN || storage.getItem('token'); + const fetchURL = new URL(url); + const check = opts?.check ?? false; + if (check) { + if (!url.startsWith(baseURL)) { + throw new Error('url must start with ' + baseURL); + } + } + if (token) { + fetchURL.searchParams.set('token', token); + } + fetchURL.searchParams.set('download', 'true'); + const res = await fetch(fetchURL.toString()); + const blob = await res.blob(); + const type = blob.type; + let content: Buffer | undefined; + if (opts?.returnContent) { + content = Buffer.from(await blob.arrayBuffer()); + } + const pathname = fetchURL.pathname; + const filename = pathname.split('/').pop(); + return { + filename, + blob, + type, + content, + }; +}; type InstallAppOpts = { appDir?: string; kevisualUrl?: string; @@ -65,20 +99,12 @@ export const installApp = async (app: Package, opts: InstallAppOpts = {}) => { fs.mkdirSync(dir, { recursive: true }); } console.log('downloadUrwl', downloadUrl); - const token = process.env.KEVISUAL_TOKEN || storage.getItem('token'); - const fetchURL = new URL(downloadUrl); - if (token) { - fetchURL.searchParams.set('token', token); - } - fetchURL.searchParams.set('download', 'true'); - const res = await fetch(fetchURL.toString()); - const blob = await res.blob(); - const type = blob.type; + const { blob, type } = await fetchLink(downloadUrl); if (type.includes('text/html')) { const html = await blob.text(); if (html === 'fetchRes is error') { - console.log(chalk.red('fetchRes is error')); - break; + console.log(chalk.red('fetchRes is error'), '下载失败', downloadUrl); + throw new Error('fetchRes is error'); } } fs.writeFileSync(downloadPath, Buffer.from(await blob.arrayBuffer())); diff --git a/src/module/download/upload.ts b/src/module/download/upload.ts new file mode 100644 index 0000000..d430cf4 --- /dev/null +++ b/src/module/download/upload.ts @@ -0,0 +1,63 @@ +import FormData from 'form-data'; +export const handleResponse = async (err: any, res: any) => { + return new Promise((resolve) => { + if (err) { + console.error('Upload failed:', err); + resolve({ code: 500, message: err }); + return; + } + // 处理服务器响应 + let body = ''; + res.on('data', (chunk) => { + body += chunk; + }); + res.on('end', () => { + try { + const res = JSON.parse(body); + resolve(res); + } catch (e) { + resolve({ code: 500, message: body }); + } + }); + }); +}; +export const getFormParams = (opts: UploadOptions, headers: any): FormData.SubmitOptions => { + const url = new URL(opts.url); + if (opts.token) { + // url.searchParams.append('token', opts.token); + } + const value: FormData.SubmitOptions = { + path: url.pathname + url.search, + host: url.hostname, + method: 'POST', + protocol: url.protocol === 'https:' ? 'https:' : 'http:', + port: url.port || (url.protocol === 'https:' ? 443 : 80), + headers: { + Authorization: 'Bearer ' + opts.token, + ...headers, + }, + }; + return value; +}; +type UploadOptions = { + url: string | URL; + file?: string | Buffer | File; + token?: string; + form?: FormData; +}; +export const upload = (opts: UploadOptions): Promise<{ code?: number; message?: string; [key: string]: any }> => { + const form = opts?.form || new FormData(); + if (!opts.form) { + if (typeof opts.file === 'string') { + form.append('file', Buffer.from(opts.file)); + } else { + form.append('file', opts.file); + } + } + const headers = form.getHeaders(); + return new Promise((resolve) => { + form.submit(getFormParams(opts, headers), (err, res) => { + handleResponse(err, res).then(resolve); + }); + }); +}; diff --git a/src/scripts/summary.md b/src/scripts/summary.md new file mode 100644 index 0000000..c18cc32 --- /dev/null +++ b/src/scripts/summary.md @@ -0,0 +1 @@ +# 汇总 23333 \ No newline at end of file diff --git a/src/scripts/upload.ts b/src/scripts/upload.ts new file mode 100644 index 0000000..ae0ade2 --- /dev/null +++ b/src/scripts/upload.ts @@ -0,0 +1,24 @@ +import { fetchLink } from '@/module/download/install.ts'; +import { baseURL, storage } from '@/module/query.ts'; +import { upload } from '@/module/download/upload.ts'; +import fs from 'node:fs'; +import path from 'node:path'; + +const scriptPath = path.join(process.cwd(), 'src', 'scripts'); +const sum = 'https://kevisual.xiongxiao.me/root/ai/kevisual/01-summary.md'; +const download = async () => { + const { content } = await fetchLink(sum, { returnContent: true }); + console.log(content.toString()); +}; + +// download(); + +const uploadTest = async () => { + const file = fs.readFileSync(path.join(scriptPath, './summary.md')); + const token = storage.getItem('token'); + // const res = await upload({ url: sum, file: '# 汇总 123', token }); + const res = await upload({ url: sum, file: file, token }); + console.log(res); +}; + +uploadTest();