This commit is contained in:
2026-02-11 23:59:13 +08:00
parent d3a9fec698
commit 34697e07b5
3 changed files with 308 additions and 71 deletions

View File

@@ -63,6 +63,7 @@
}, },
"devDependencies": { "devDependencies": {
"@kevisual/api": "^0.0.47", "@kevisual/api": "^0.0.47",
"@kevisual/cnb": "^0.0.22",
"@kevisual/dts": "^0.0.3", "@kevisual/dts": "^0.0.3",
"@kevisual/load": "^0.0.6", "@kevisual/load": "^0.0.6",
"@kevisual/logger": "^0.0.4", "@kevisual/logger": "^0.0.4",

335
pnpm-lock.yaml generated
View File

@@ -10,7 +10,7 @@ importers:
dependencies: dependencies:
'@inquirer/prompts': '@inquirer/prompts':
specifier: ^8.2.0 specifier: ^8.2.0
version: 8.2.0(@types/node@25.2.0) version: 8.2.0(@types/node@25.2.3)
'@kevisual/app': '@kevisual/app':
specifier: ^0.0.2 specifier: ^0.0.2
version: 0.0.2(dotenv@17.2.3) version: 0.0.2(dotenv@17.2.3)
@@ -24,8 +24,8 @@ importers:
specifier: ^1.0.30 specifier: ^1.0.30
version: 1.0.30(dotenv@17.2.3) version: 1.0.30(dotenv@17.2.3)
'@opencode-ai/sdk': '@opencode-ai/sdk':
specifier: ^1.1.50 specifier: ^1.1.53
version: 1.1.50 version: 1.1.59
'@types/busboy': '@types/busboy':
specifier: ^1.5.4 specifier: ^1.5.4
version: 1.5.4 version: 1.5.4
@@ -51,15 +51,18 @@ importers:
specifier: latest specifier: latest
version: 6.0.14(supports-color@10.2.2) version: 6.0.14(supports-color@10.2.2)
semver: semver:
specifier: ^7.7.3 specifier: ^7.7.4
version: 7.7.3 version: 7.7.4
unstorage: unstorage:
specifier: ^1.17.4 specifier: ^1.17.4
version: 1.17.4(idb-keyval@6.2.2) version: 1.17.4(idb-keyval@6.2.2)
devDependencies: devDependencies:
'@kevisual/api': '@kevisual/api':
specifier: ^0.0.44 specifier: ^0.0.47
version: 0.0.44 version: 0.0.47
'@kevisual/cnb':
specifier: ^0.0.22
version: 0.0.22(dotenv@17.2.3)(idb-keyval@6.2.2)
'@kevisual/dts': '@kevisual/dts':
specifier: ^0.0.3 specifier: ^0.0.3
version: 0.0.3(typescript@5.8.2) version: 0.0.3(typescript@5.8.2)
@@ -70,11 +73,11 @@ importers:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4 version: 0.0.4
'@kevisual/query': '@kevisual/query':
specifier: 0.0.39 specifier: 0.0.40
version: 0.0.39 version: 0.0.40
'@kevisual/query-login': '@kevisual/query-login':
specifier: 0.0.7 specifier: 0.0.7
version: 0.0.7(@kevisual/query@0.0.39) version: 0.0.7(@kevisual/query@0.0.40)
'@types/bun': '@types/bun':
specifier: ^1.3.8 specifier: ^1.3.8
version: 1.3.8 version: 1.3.8
@@ -88,8 +91,8 @@ importers:
specifier: ^4.0.10 specifier: ^4.0.10
version: 4.0.10 version: 4.0.10
'@types/node': '@types/node':
specifier: ^25.2.0 specifier: ^25.2.3
version: 25.2.0 version: 25.2.3
'@types/semver': '@types/semver':
specifier: ^7.7.1 specifier: ^7.7.1
version: 7.7.1 version: 7.7.1
@@ -249,16 +252,16 @@ importers:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.3.13 specifier: ^4.3.13
version: 4.3.13(astro@5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2)) version: 4.3.13(astro@5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))
'@astrojs/react': '@astrojs/react':
specifier: ^4.4.2 specifier: ^4.4.2
version: 4.4.2(@types/node@25.2.0)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) version: 4.4.2(@types/node@25.2.3)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@astrojs/sitemap': '@astrojs/sitemap':
specifier: ^3.7.0 specifier: ^3.7.0
version: 3.7.0 version: 3.7.0
'@astrojs/vue': '@astrojs/vue':
specifier: ^5.1.4 specifier: ^5.1.4
version: 5.1.4(@types/node@25.2.0)(astro@5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(vue@3.5.27(typescript@5.8.2)) version: 5.1.4(@types/node@25.2.3)(astro@5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(vue@3.5.27(typescript@5.8.2))
'@kevisual/api': '@kevisual/api':
specifier: ^0.0.28 specifier: ^0.0.28
version: 0.0.28 version: 0.0.28
@@ -282,7 +285,7 @@ importers:
version: 1.2.4(@types/react@19.2.10)(react@19.2.4) version: 1.2.4(@types/react@19.2.10)(react@19.2.4)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.1.18 specifier: ^4.1.18
version: 4.1.18(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) version: 4.1.18(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
'@uiw/react-md-editor': '@uiw/react-md-editor':
specifier: ^4.0.11 specifier: ^4.0.11
version: 4.0.11(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) version: 4.0.11(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -291,7 +294,7 @@ importers:
version: 6.2.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) version: 6.2.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
astro: astro:
specifier: ^5.16.15 specifier: ^5.16.15
version: 5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2) version: 5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2)
class-variance-authority: class-variance-authority:
specifier: ^0.7.1 specifier: ^0.7.1
version: 0.7.1 version: 0.7.1
@@ -1307,6 +1310,9 @@ packages:
'@kevisual/api@0.0.44': '@kevisual/api@0.0.44':
resolution: {integrity: sha512-KA2b17pxW1pTPWa4zsTSRTiGTmwdkIesV1ig51MyISUllita5VPqZ6UYYDJQTHuPzYcIkuodQ9iWTEZNM9AkFw==} resolution: {integrity: sha512-KA2b17pxW1pTPWa4zsTSRTiGTmwdkIesV1ig51MyISUllita5VPqZ6UYYDJQTHuPzYcIkuodQ9iWTEZNM9AkFw==}
'@kevisual/api@0.0.47':
resolution: {integrity: sha512-Yhb5NQR+FqQB6huAPqO4uCoEdWiWwXGI0m0lCj6yk0/eIM+X/CzTRtS2mMcxDH3r/BacDJ+OlGQMCqnQcM896g==}
'@kevisual/app@0.0.1': '@kevisual/app@0.0.1':
resolution: {integrity: sha512-PEx8P3l0iNSqrz9Ib9kVCYfqNMX6/LfNu+cEafmY6ECP1cV5Vmv+TH2fuasMosKjtbH2fAdDi97sbd29tdEK+g==} resolution: {integrity: sha512-PEx8P3l0iNSqrz9Ib9kVCYfqNMX6/LfNu+cEafmY6ECP1cV5Vmv+TH2fuasMosKjtbH2fAdDi97sbd29tdEK+g==}
@@ -1319,6 +1325,9 @@ packages:
'@kevisual/cache@0.0.3': '@kevisual/cache@0.0.3':
resolution: {integrity: sha512-BWEck69KYL96/ywjYVkML974RHjDJTj2ITQND1zFPR+hlBV1H1p55QZgSYRJCObg3EAV1S9Zic/fR2T4pfe8yg==} resolution: {integrity: sha512-BWEck69KYL96/ywjYVkML974RHjDJTj2ITQND1zFPR+hlBV1H1p55QZgSYRJCObg3EAV1S9Zic/fR2T4pfe8yg==}
'@kevisual/cnb@0.0.22':
resolution: {integrity: sha512-KX8oSmmaHnT4qqCfAoQoHZbkcohUVSK7LfdsEKTlItrE77rPyZcvD+APByroxH4FMQ80ItRW9tQlxBO8iRlrIw==}
'@kevisual/context@0.0.4': '@kevisual/context@0.0.4':
resolution: {integrity: sha512-HJeLeZQLU+7tCluSfOyvkgKLs0HjCZrdJlZgEgKRSa8XTwZfMAUt6J7qZTbrZAHBlPtX68EPu/PI8JMCeu3WAQ==} resolution: {integrity: sha512-HJeLeZQLU+7tCluSfOyvkgKLs0HjCZrdJlZgEgKRSa8XTwZfMAUt6J7qZTbrZAHBlPtX68EPu/PI8JMCeu3WAQ==}
@@ -1364,6 +1373,9 @@ packages:
'@kevisual/query@0.0.39': '@kevisual/query@0.0.39':
resolution: {integrity: sha512-3UEPBIvtdykNkrby3hvrgrHdgd17Uq+Pnr4zs+JBzATkU2eKaOqtTUJqdyIEwuySCwzGTxrnlUzWP4tziDQDLQ==} resolution: {integrity: sha512-3UEPBIvtdykNkrby3hvrgrHdgd17Uq+Pnr4zs+JBzATkU2eKaOqtTUJqdyIEwuySCwzGTxrnlUzWP4tziDQDLQ==}
'@kevisual/query@0.0.40':
resolution: {integrity: sha512-7m5BgDzd01m51hCHUId6ugQHdwgrLTb6fI7DSuMY17VjWb0+zGnkYmvRBqkTXzoIjjYbP5iwtRnrooEoToQfhg==}
'@kevisual/registry@0.0.1': '@kevisual/registry@0.0.1':
resolution: {integrity: sha512-//OHu9m4JDrMjgP8o8dcjZd3D3IAUkRVlkTSviouZEH7r5m7mccA3Hvzw0XJ/lelx6exC6LWsyv6c4uV0Dp+gw==} resolution: {integrity: sha512-//OHu9m4JDrMjgP8o8dcjZd3D3IAUkRVlkTSviouZEH7r5m7mccA3Hvzw0XJ/lelx6exC6LWsyv6c4uV0Dp+gw==}
@@ -1397,6 +1409,10 @@ packages:
resolution: {integrity: sha512-jlFxSlXUEz93cFW+UYT5BXv/rFVgiMQnIfqRYZ0gj1hSP8PMGRqMqUoHSLfKvfRRS4jseLSvTTeEKSQpZJtURg==} resolution: {integrity: sha512-jlFxSlXUEz93cFW+UYT5BXv/rFVgiMQnIfqRYZ0gj1hSP8PMGRqMqUoHSLfKvfRRS4jseLSvTTeEKSQpZJtURg==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
'@kevisual/ws@8.19.0':
resolution: {integrity: sha512-jLsL80wBBKkrJZrfk3SQpJ9JA/zREdlUROj7eCkmzqduAWKSI0wVcXuCKf+mLFCHB0Q0Tkh2rgzjSlurt3JQgw==}
engines: {node: '>=10.0.0'}
'@lezer/common@1.4.0': '@lezer/common@1.4.0':
resolution: {integrity: sha512-DVeMRoGrgn/k45oQNu189BoW4SZwgZFzJ1+1TV5j2NJ/KFC83oa/enRqZSGshyeMk5cPWMhsKs9nx+8o0unwGg==} resolution: {integrity: sha512-DVeMRoGrgn/k45oQNu189BoW4SZwgZFzJ1+1TV5j2NJ/KFC83oa/enRqZSGshyeMk5cPWMhsKs9nx+8o0unwGg==}
@@ -1449,8 +1465,8 @@ packages:
'@opencode-ai/sdk@1.1.49': '@opencode-ai/sdk@1.1.49':
resolution: {integrity: sha512-F5ZkgiqOiV+z3U4zeBLvrmNZv5MwNFMTWM+HWhChD+/UEswIebQKk9UMz9lPX4fswexIJdFPwFI/TBdNyZfKMg==} resolution: {integrity: sha512-F5ZkgiqOiV+z3U4zeBLvrmNZv5MwNFMTWM+HWhChD+/UEswIebQKk9UMz9lPX4fswexIJdFPwFI/TBdNyZfKMg==}
'@opencode-ai/sdk@1.1.50': '@opencode-ai/sdk@1.1.59':
resolution: {integrity: sha512-qw0jv1TYJ6fA1Ga1Qkvicq+wrUS2Z6MyPG0LykI3mxMb9yRk9sr1ARX+T26Ij7DiRW4x7ffp36F9EE63Lyl1YQ==} resolution: {integrity: sha512-g+Z0UQ9qNUcZsX4m/fXG4MHIquYlp4d2wfelRsynMj+AprfZ4He6u9GxAVT0FmLxuutj2ZxTLlspSe1+256pxg==}
'@oslojs/encoding@1.1.0': '@oslojs/encoding@1.1.0':
resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
@@ -2382,6 +2398,9 @@ packages:
'@types/node@25.2.0': '@types/node@25.2.0':
resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==} resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==}
'@types/node@25.2.3':
resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==}
'@types/prismjs@1.26.5': '@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
@@ -4489,8 +4508,8 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
semver@7.7.3: semver@7.7.4:
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
@@ -5207,12 +5226,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/mdx@4.3.13(astro@5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))': '@astrojs/mdx@4.3.13(astro@5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))':
dependencies: dependencies:
'@astrojs/markdown-remark': 6.3.10 '@astrojs/markdown-remark': 6.3.10
'@mdx-js/mdx': 3.1.1 '@mdx-js/mdx': 3.1.1
acorn: 8.15.0 acorn: 8.15.0
astro: 5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2) astro: 5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2)
es-module-lexer: 1.7.0 es-module-lexer: 1.7.0
estree-util-visit: 2.0.0 estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5 hast-util-to-html: 9.0.5
@@ -5230,15 +5249,15 @@ snapshots:
dependencies: dependencies:
prismjs: 1.30.0 prismjs: 1.30.0
'@astrojs/react@4.4.2(@types/node@25.2.0)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': '@astrojs/react@4.4.2(@types/node@25.2.3)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies: dependencies:
'@types/react': 19.2.10 '@types/react': 19.2.10
'@types/react-dom': 19.2.3(@types/react@19.2.10) '@types/react-dom': 19.2.3(@types/react@19.2.10)
'@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
react: 19.2.4 react: 19.2.4
react-dom: 19.2.4(react@19.2.4) react-dom: 19.2.4(react@19.2.4)
ultrahtml: 1.6.0 ultrahtml: 1.6.0
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- jiti - jiti
@@ -5271,14 +5290,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/vue@5.1.4(@types/node@25.2.0)(astro@5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(vue@3.5.27(typescript@5.8.2))': '@astrojs/vue@5.1.4(@types/node@25.2.3)(astro@5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(vue@3.5.27(typescript@5.8.2))':
dependencies: dependencies:
'@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)) '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))
'@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)) '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))
'@vue/compiler-sfc': 3.5.27 '@vue/compiler-sfc': 3.5.27
astro: 5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2) astro: 5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2)
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vite-plugin-vue-devtools: 7.7.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)) vite-plugin-vue-devtools: 7.7.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))
vue: 3.5.27(typescript@5.8.2) vue: 3.5.27(typescript@5.8.2)
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -6298,6 +6317,15 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/checkbox@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/ansi': 2.0.3
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/figures': 2.0.3
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/confirm@6.0.4(@types/node@25.2.0)': '@inquirer/confirm@6.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6305,6 +6333,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/confirm@6.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/core@11.1.1(@types/node@25.2.0)': '@inquirer/core@11.1.1(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.3 '@inquirer/ansi': 2.0.3
@@ -6317,6 +6352,18 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/core@11.1.1(@types/node@25.2.3)':
dependencies:
'@inquirer/ansi': 2.0.3
'@inquirer/figures': 2.0.3
'@inquirer/type': 4.0.3(@types/node@25.2.3)
cli-width: 4.1.0
mute-stream: 3.0.0
signal-exit: 4.1.0
wrap-ansi: 9.0.2
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/editor@5.0.4(@types/node@25.2.0)': '@inquirer/editor@5.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6325,6 +6372,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/editor@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/external-editor': 2.0.3(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/expand@5.0.4(@types/node@25.2.0)': '@inquirer/expand@5.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6332,6 +6387,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/expand@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/external-editor@2.0.3(@types/node@25.2.0)': '@inquirer/external-editor@2.0.3(@types/node@25.2.0)':
dependencies: dependencies:
chardet: 2.1.1 chardet: 2.1.1
@@ -6339,6 +6401,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/external-editor@2.0.3(@types/node@25.2.3)':
dependencies:
chardet: 2.1.1
iconv-lite: 0.7.2
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/figures@2.0.3': {} '@inquirer/figures@2.0.3': {}
'@inquirer/input@5.0.4(@types/node@25.2.0)': '@inquirer/input@5.0.4(@types/node@25.2.0)':
@@ -6348,6 +6417,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/input@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/number@4.0.4(@types/node@25.2.0)': '@inquirer/number@4.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6355,6 +6431,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/number@4.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/password@5.0.4(@types/node@25.2.0)': '@inquirer/password@5.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.3 '@inquirer/ansi': 2.0.3
@@ -6363,6 +6446,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/password@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/ansi': 2.0.3
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/prompts@8.2.0(@types/node@25.2.0)': '@inquirer/prompts@8.2.0(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/checkbox': 5.0.4(@types/node@25.2.0) '@inquirer/checkbox': 5.0.4(@types/node@25.2.0)
@@ -6378,6 +6469,21 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/prompts@8.2.0(@types/node@25.2.3)':
dependencies:
'@inquirer/checkbox': 5.0.4(@types/node@25.2.3)
'@inquirer/confirm': 6.0.4(@types/node@25.2.3)
'@inquirer/editor': 5.0.4(@types/node@25.2.3)
'@inquirer/expand': 5.0.4(@types/node@25.2.3)
'@inquirer/input': 5.0.4(@types/node@25.2.3)
'@inquirer/number': 4.0.4(@types/node@25.2.3)
'@inquirer/password': 5.0.4(@types/node@25.2.3)
'@inquirer/rawlist': 5.2.0(@types/node@25.2.3)
'@inquirer/search': 4.1.0(@types/node@25.2.3)
'@inquirer/select': 5.0.4(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/rawlist@5.2.0(@types/node@25.2.0)': '@inquirer/rawlist@5.2.0(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6385,6 +6491,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/rawlist@5.2.0(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/search@4.1.0(@types/node@25.2.0)': '@inquirer/search@4.1.0(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.0) '@inquirer/core': 11.1.1(@types/node@25.2.0)
@@ -6393,6 +6506,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/search@4.1.0(@types/node@25.2.3)':
dependencies:
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/figures': 2.0.3
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/select@5.0.4(@types/node@25.2.0)': '@inquirer/select@5.0.4(@types/node@25.2.0)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.3 '@inquirer/ansi': 2.0.3
@@ -6402,10 +6523,23 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/select@5.0.4(@types/node@25.2.3)':
dependencies:
'@inquirer/ansi': 2.0.3
'@inquirer/core': 11.1.1(@types/node@25.2.3)
'@inquirer/figures': 2.0.3
'@inquirer/type': 4.0.3(@types/node@25.2.3)
optionalDependencies:
'@types/node': 25.2.3
'@inquirer/type@4.0.3(@types/node@25.2.0)': '@inquirer/type@4.0.3(@types/node@25.2.0)':
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.0
'@inquirer/type@4.0.3(@types/node@25.2.3)':
optionalDependencies:
'@types/node': 25.2.3
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
dependencies: dependencies:
minipass: 7.1.2 minipass: 7.1.2
@@ -6463,6 +6597,17 @@ snapshots:
path-browserify-esm: 1.0.6 path-browserify-esm: 1.0.6
spark-md5: 3.0.2 spark-md5: 3.0.2
'@kevisual/api@0.0.47':
dependencies:
'@kevisual/js-filter': 0.0.5
'@kevisual/load': 0.0.6
es-toolkit: 1.44.0
eventemitter3: 5.0.4
fuse.js: 7.1.0
nanoid: 5.1.6
path-browserify-esm: 1.0.6
spark-md5: 3.0.2
'@kevisual/app@0.0.1(dotenv@17.2.3)': '@kevisual/app@0.0.1(dotenv@17.2.3)':
dependencies: dependencies:
'@kevisual/ai': 0.0.19 '@kevisual/ai': 0.0.19
@@ -6494,6 +6639,38 @@ snapshots:
dependencies: dependencies:
idb-keyval: 6.2.1 idb-keyval: 6.2.1
'@kevisual/cnb@0.0.22(dotenv@17.2.3)(idb-keyval@6.2.2)':
dependencies:
'@kevisual/query': 0.0.40
'@kevisual/router': 0.0.70
'@kevisual/use-config': 1.0.30(dotenv@17.2.3)
es-toolkit: 1.44.0
nanoid: 5.1.6
unstorage: 1.17.4(idb-keyval@6.2.2)
ws: '@kevisual/ws@8.19.0'
zod: 4.3.6
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/functions'
- '@vercel/kv'
- aws4fetch
- db0
- dotenv
- idb-keyval
- ioredis
- uploadthing
'@kevisual/context@0.0.4': {} '@kevisual/context@0.0.4': {}
'@kevisual/dts@0.0.3(typescript@5.8.2)': '@kevisual/dts@0.0.3(typescript@5.8.2)':
@@ -6568,6 +6745,12 @@ snapshots:
'@kevisual/query': 0.0.39 '@kevisual/query': 0.0.39
dotenv: 17.2.3 dotenv: 17.2.3
'@kevisual/query-login@0.0.7(@kevisual/query@0.0.40)':
dependencies:
'@kevisual/cache': 0.0.3
'@kevisual/query': 0.0.40
dotenv: 17.2.3
'@kevisual/query@0.0.31': {} '@kevisual/query@0.0.31': {}
'@kevisual/query@0.0.32': {} '@kevisual/query@0.0.32': {}
@@ -6580,6 +6763,10 @@ snapshots:
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
'@kevisual/query@0.0.40':
dependencies:
tslib: 2.8.1
'@kevisual/registry@0.0.1(typescript@5.8.2)': '@kevisual/registry@0.0.1(typescript@5.8.2)':
dependencies: dependencies:
class-variance-authority: 0.7.1 class-variance-authority: 0.7.1
@@ -6652,6 +6839,8 @@ snapshots:
'@kevisual/ws@8.0.0': {} '@kevisual/ws@8.0.0': {}
'@kevisual/ws@8.19.0': {}
'@lezer/common@1.4.0': {} '@lezer/common@1.4.0': {}
'@lezer/css@1.3.0': '@lezer/css@1.3.0':
@@ -6744,7 +6933,7 @@ snapshots:
'@opencode-ai/sdk@1.1.49': {} '@opencode-ai/sdk@1.1.49': {}
'@opencode-ai/sdk@1.1.50': {} '@opencode-ai/sdk@1.1.59': {}
'@oslojs/encoding@1.1.0': {} '@oslojs/encoding@1.1.0': {}
@@ -7798,12 +7987,12 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18
'@tailwindcss/oxide-win32-x64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18
'@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))': '@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))':
dependencies: dependencies:
'@tailwindcss/node': 4.1.18 '@tailwindcss/node': 4.1.18
'@tailwindcss/oxide': 4.1.18 '@tailwindcss/oxide': 4.1.18
tailwindcss: 4.1.18 tailwindcss: 4.1.18
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
'@tootallnate/quickjs-emscripten@0.23.0': {} '@tootallnate/quickjs-emscripten@0.23.0': {}
@@ -7836,7 +8025,7 @@ snapshots:
'@types/busboy@1.5.4': '@types/busboy@1.5.4':
dependencies: dependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
'@types/crypto-js@4.2.2': {} '@types/crypto-js@4.2.2': {}
@@ -7861,7 +8050,7 @@ snapshots:
'@types/jsonwebtoken@9.0.10': '@types/jsonwebtoken@9.0.10':
dependencies: dependencies:
'@types/ms': 0.7.34 '@types/ms': 0.7.34
'@types/node': 25.2.0 '@types/node': 25.2.3
'@types/mdast@4.0.4': '@types/mdast@4.0.4':
dependencies: dependencies:
@@ -7885,6 +8074,10 @@ snapshots:
dependencies: dependencies:
undici-types: 7.16.0 undici-types: 7.16.0
'@types/node@25.2.3':
dependencies:
undici-types: 7.16.0
'@types/prismjs@1.26.5': {} '@types/prismjs@1.26.5': {}
'@types/react-dom@19.2.3(@types/react@19.2.10)': '@types/react-dom@19.2.3(@types/react@19.2.10)':
@@ -7899,13 +8092,13 @@ snapshots:
'@types/sax@1.2.7': '@types/sax@1.2.7':
dependencies: dependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
'@types/semver@7.7.1': {} '@types/semver@7.7.1': {}
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
'@types/trusted-types@2.0.7': {} '@types/trusted-types@2.0.7': {}
@@ -7915,7 +8108,7 @@ snapshots:
'@types/ws@8.18.1': '@types/ws@8.18.1':
dependencies: dependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
'@uiw/copy-to-clipboard@1.0.19': {} '@uiw/copy-to-clipboard@1.0.19': {}
@@ -7954,7 +8147,7 @@ snapshots:
'@ungap/structured-clone@1.3.0': {} '@ungap/structured-clone@1.3.0': {}
'@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))': '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))':
dependencies: dependencies:
'@babel/core': 7.28.5 '@babel/core': 7.28.5
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5)
@@ -7962,24 +8155,24 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.27 '@rolldown/pluginutils': 1.0.0-beta.27
'@types/babel__core': 7.20.5 '@types/babel__core': 7.20.5
react-refresh: 0.17.0 react-refresh: 0.17.0
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))': '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))':
dependencies: dependencies:
'@babel/core': 7.28.5 '@babel/core': 7.28.5
'@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5)
'@rolldown/pluginutils': 1.0.0-beta.55 '@rolldown/pluginutils': 1.0.0-beta.55
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5)
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vue: 3.5.27(typescript@5.8.2) vue: 3.5.27(typescript@5.8.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))': '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))':
dependencies: dependencies:
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vue: 3.5.27(typescript@5.8.2) vue: 3.5.27(typescript@5.8.2)
'@vue/babel-helper-vue-transform-on@1.5.0': {} '@vue/babel-helper-vue-transform-on@1.5.0': {}
@@ -8041,14 +8234,14 @@ snapshots:
'@vue/compiler-dom': 3.5.27 '@vue/compiler-dom': 3.5.27
'@vue/shared': 3.5.27 '@vue/shared': 3.5.27
'@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))': '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))':
dependencies: dependencies:
'@vue/devtools-kit': 7.7.9 '@vue/devtools-kit': 7.7.9
'@vue/devtools-shared': 7.7.9 '@vue/devtools-shared': 7.7.9
mitt: 3.0.1 mitt: 3.0.1
nanoid: 5.1.6 nanoid: 5.1.6
pathe: 2.0.3 pathe: 2.0.3
vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
vue: 3.5.27(typescript@5.8.2) vue: 3.5.27(typescript@5.8.2)
transitivePeerDependencies: transitivePeerDependencies:
- vite - vite
@@ -8214,7 +8407,7 @@ snapshots:
astring@1.9.0: {} astring@1.9.0: {}
astro@5.16.15(@types/node@25.2.0)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2): astro@5.16.15(@types/node@25.2.3)(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.43.0)(typescript@5.8.2):
dependencies: dependencies:
'@astrojs/compiler': 2.13.0 '@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.5 '@astrojs/internal-helpers': 0.7.5
@@ -8259,7 +8452,7 @@ snapshots:
picomatch: 4.0.3 picomatch: 4.0.3
prompts: 2.4.2 prompts: 2.4.2
rehype: 13.0.2 rehype: 13.0.2
semver: 7.7.3 semver: 7.7.4
shiki: 3.21.0 shiki: 3.21.0
smol-toml: 1.6.0 smol-toml: 1.6.0
svgo: 4.0.0 svgo: 4.0.0
@@ -8271,8 +8464,8 @@ snapshots:
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
unstorage: 1.17.4(idb-keyval@6.2.2) unstorage: 1.17.4(idb-keyval@6.2.2)
vfile: 6.0.3 vfile: 6.0.3
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vitefu: 1.1.1(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) vitefu: 1.1.1(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
xxhash-wasm: 1.1.0 xxhash-wasm: 1.1.0
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yocto-spinner: 0.2.3 yocto-spinner: 0.2.3
@@ -8375,7 +8568,7 @@ snapshots:
bun-types@1.3.8: bun-types@1.3.8:
dependencies: dependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
bundle-name@4.1.0: bundle-name@4.1.0:
dependencies: dependencies:
@@ -9368,7 +9561,7 @@ snapshots:
lodash.isstring: 4.0.1 lodash.isstring: 4.0.1
lodash.once: 4.1.1 lodash.once: 4.1.1
ms: 2.1.3 ms: 2.1.3
semver: 7.7.3 semver: 7.7.4
jwa@2.0.1: jwa@2.0.1:
dependencies: dependencies:
@@ -10637,7 +10830,7 @@ snapshots:
semver@7.7.2: {} semver@7.7.2: {}
semver@7.7.3: {} semver@7.7.4: {}
send@1.2.1(supports-color@10.2.2): send@1.2.1(supports-color@10.2.2):
dependencies: dependencies:
@@ -10661,7 +10854,7 @@ snapshots:
dependencies: dependencies:
'@img/colour': 1.0.0 '@img/colour': 1.0.0
detect-libc: 2.1.2 detect-libc: 2.1.2
semver: 7.7.3 semver: 7.7.4
optionalDependencies: optionalDependencies:
'@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-arm64': 0.34.5
'@img/sharp-darwin-x64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5
@@ -11035,11 +11228,11 @@ snapshots:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
vfile-message: 4.0.3 vfile-message: 4.0.3
vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)): vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)):
dependencies: dependencies:
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vite-plugin-inspect@0.8.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)): vite-plugin-inspect@0.8.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.3.0(rollup@4.43.0) '@rollup/pluginutils': 5.3.0(rollup@4.43.0)
@@ -11050,28 +11243,28 @@ snapshots:
perfect-debounce: 1.0.0 perfect-debounce: 1.0.0
picocolors: 1.1.1 picocolors: 1.1.1
sirv: 3.0.2 sirv: 3.0.2
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
vite-plugin-vue-devtools@7.7.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)): vite-plugin-vue-devtools@7.7.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)):
dependencies: dependencies:
'@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2)) '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.27(typescript@5.8.2))
'@vue/devtools-kit': 7.7.9 '@vue/devtools-kit': 7.7.9
'@vue/devtools-shared': 7.7.9 '@vue/devtools-shared': 7.7.9
execa: 9.6.1 execa: 9.6.1
sirv: 3.0.2 sirv: 3.0.2
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vite-plugin-inspect: 0.8.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) vite-plugin-inspect: 0.8.9(rollup@4.43.0)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)) vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2))
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
- rollup - rollup
- supports-color - supports-color
- vue - vue
vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)): vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)):
dependencies: dependencies:
'@babel/core': 7.28.5 '@babel/core': 7.28.5
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5)
@@ -11082,11 +11275,11 @@ snapshots:
'@vue/compiler-dom': 3.5.27 '@vue/compiler-dom': 3.5.27
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.21 magic-string: 0.30.21
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2): vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2):
dependencies: dependencies:
esbuild: 0.25.12 esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3) fdir: 6.5.0(picomatch@4.0.3)
@@ -11095,14 +11288,14 @@ snapshots:
rollup: 4.43.0 rollup: 4.43.0
tinyglobby: 0.2.15 tinyglobby: 0.2.15
optionalDependencies: optionalDependencies:
'@types/node': 25.2.0 '@types/node': 25.2.3
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.6.1 jiti: 2.6.1
lightningcss: 1.30.2 lightningcss: 1.30.2
vitefu@1.1.1(vite@6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)): vitefu@1.1.1(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)):
optionalDependencies: optionalDependencies:
vite: 6.4.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2) vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)
vizion@2.2.1: vizion@2.2.1:
dependencies: dependencies:

43
src/command/cnb/index.ts Normal file
View File

@@ -0,0 +1,43 @@
import { createKeepAlive } from '@kevisual/cnb/keep'
import { program, Command } from '@/program.ts';
const cnbCmd = new Command('cnb')
.description('CNB 相关命令')
.action(async (opts) => {
console.log('CNB 命令');
});
const liveCmd = new Command('live')
.description('启动 CNB Keep Alive 服务')
.option('-u, --url <url>', 'WebSocket 服务器地址')
.option('-c, --cookie <cookie>', '认证 Cookie')
.action(async (opts) => {
if (!opts.url || !opts.cookie) {
console.log('请提供 WebSocket 服务器地址和认证 Cookie');
return;
}
const keepAlive = createKeepAlive({
wsUrl: opts.url,
cookie: opts.cookie,
debug: true,
onConnect: () => {
console.log('已连接到 CNB 服务器');
},
onDisconnect: (code) => {
console.log(`与 CNB 服务器断开连接,代码: ${code}`);
},
onError: (error) => {
console.error('CNB 连接错误:', error);
},
onMessage: (data) => {
console.log('收到 CNB 消息:', data.toString());
},
});
keepAlive.connect();
});
cnbCmd.addCommand(liveCmd);
program.addCommand(cnbCmd);