This commit is contained in:
2026-01-25 21:20:11 +08:00
parent da249ad779
commit db4e3ddcc5
5 changed files with 195 additions and 310 deletions

View File

@@ -15,9 +15,9 @@
"keywords": [],
"author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
"license": "MIT",
"packageManager": "pnpm@10.26.1",
"packageManager": "pnpm@10.28.1",
"type": "module",
"dependencies": {
"turbo": "^2.7.1"
"turbo": "^2.7.6"
}
}

453
pnpm-lock.yaml generated
View File

@@ -9,45 +9,45 @@ importers:
.:
dependencies:
turbo:
specifier: ^2.7.1
version: 2.7.1
specifier: ^2.7.6
version: 2.7.6
server:
dependencies:
'@kevisual/noco':
specifier: ^0.0.1
version: 0.0.1
'@kevisual/query':
specifier: ^0.0.29
version: 0.0.29(zod@3.25.76)
'@kevisual/router':
specifier: ^0.0.29
version: 0.0.29
'@kevisual/video-tools':
specifier: ^0.0.10
version: 0.0.10
'@kevisual/query':
specifier: ^0.0.38
version: 0.0.38
'@kevisual/router':
specifier: ^0.0.60
version: 0.0.60
'@kevisual/video-tools':
specifier: ^0.0.13
version: 0.0.13(dotenv@17.2.3)
fast-glob:
specifier: ^3.3.3
version: 3.3.3
pocketbase:
specifier: ^0.26.2
version: 0.26.2
specifier: ^0.26.6
version: 0.26.6
unstorage:
specifier: ^1.17.1
version: 1.17.1(idb-keyval@6.2.2)
specifier: ^1.17.4
version: 1.17.4(idb-keyval@6.2.2)
devDependencies:
'@kevisual/local-proxy':
specifier: ^0.0.6
version: 0.0.6
specifier: ^0.0.8
version: 0.0.8
'@kevisual/types':
specifier: ^0.0.10
version: 0.0.10
specifier: ^0.0.12
version: 0.0.12
'@kevisual/use-config':
specifier: ^1.0.19
version: 1.0.19
specifier: ^1.0.28
version: 1.0.28(dotenv@17.2.3)
'@types/bun':
specifier: ^1.3.0
version: 1.3.0(@types/react@19.2.7)
specifier: ^1.3.6
version: 1.3.6
web:
dependencies:
@@ -710,15 +710,12 @@ packages:
'@kevisual/load@0.0.6':
resolution: {integrity: sha512-+3YTFehRcZ1haGel5DKYMUwmi5i6f2psyaPZlfkKU/cOXgkpwoG9/BEqPCnPjicKqqnksEpixVRkyHJ+5bjLVA==}
'@kevisual/local-proxy@0.0.6':
resolution: {integrity: sha512-FL6m84FGPLf+WtcNVfKtwcmOtY+iVb5VPEXlKPv2JzzZKLkuEzEjtm8iLAuawwfr+8/MONMt1L7M0dTTR0JcEw==}
'@kevisual/local-proxy@0.0.8':
resolution: {integrity: sha512-VX/P+6/Cc8ruqp34ag6gVX073BchUmf5VNZcTV/6MJtjrNE76G8V6TLpBE8bywLnrqyRtFLIspk4QlH8up9B5Q==}
'@kevisual/logger@0.0.4':
resolution: {integrity: sha512-+fpr92eokSxoGOW1SIRl/27lPuO+zyY+feR5o2Q4YCNlAdt2x64NwC/w8r/3NEC5QenLgd4K0azyKTI2mHbARw==}
'@kevisual/noco@0.0.1':
resolution: {integrity: sha512-N0wYcxasxXe3S6jQtD5SSUwOOmaPaL+9S9Qe+iwA2oXYNUmheNXgz2vQJUmKa3SZHgOrwsKMMe3ZhAHftJizQg==}
'@kevisual/noco@0.0.10':
resolution: {integrity: sha512-VFdjFiRpTOnuedD+WHxxV1YOvzGHU3oS+C8pU3HRXCwpcd+8rYEpH7EEUF1mMfC1oPCOPwnr67Dailc3CY0QKg==}
@@ -730,43 +727,44 @@ packages:
peerDependencies:
'@kevisual/query': ^0
'@kevisual/query@0.0.29':
resolution: {integrity: sha512-rQZk0J073UuC1QGzuyq+pb4Y0hu8/Qx/xYHs9NbsmslM+RuMnd1zpXmvhXNj7Kn1MdYTH90ng2MlFLBkkQFaIg==}
'@kevisual/query@0.0.31':
resolution: {integrity: sha512-bBdepjmMICLpcj/a9fnn82/0CGGYUZiCV+usWsJZKAwVlZcnj+WtKmbgKT09KpP6g3jjYzYOaXHiNFB8N0bQAQ==}
'@kevisual/query@0.0.33':
resolution: {integrity: sha512-3w74bcLpwV3z483eg8n0DgkftfjWC6iLONXBvfyjW6IZf6jMOuouFaM4Rk+uEsTgElU6XGMKseNTp6dlQdWYkg==}
'@kevisual/query@0.0.38':
resolution: {integrity: sha512-bfvbSodsZyMfwY+1T2SvDeOCKsT/AaIxlVe0+B1R/fNhlg2MDq2CP0L9HKiFkEm+OXrvXcYDMKPUituVUM5J6Q==}
'@kevisual/registry@0.0.1':
resolution: {integrity: sha512-//OHu9m4JDrMjgP8o8dcjZd3D3IAUkRVlkTSviouZEH7r5m7mccA3Hvzw0XJ/lelx6exC6LWsyv6c4uV0Dp+gw==}
'@kevisual/router@0.0.29':
resolution: {integrity: sha512-UD2aWgf5yv/HmX3FOCPvvRLaZqYAP1JUsCgswo9BSibrVZYh7ZEnShYYnE+P2mr34UI2xEn+BJVxLMCLXg83sA==}
'@kevisual/router@0.0.48':
resolution: {integrity: sha512-WsSvT+NpfC/bZbaAzE3WSKD2DRZP0JuPQJGr4YucSdO/lOLB4cEpOZRbPlV3l7G064ow8QJRAN2DUW+bRjrp1A==}
'@kevisual/router@0.0.51':
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
'@kevisual/router@0.0.60':
resolution: {integrity: sha512-2v/ZzUstsaq+Uqo+tZX9ys5E+/2erPggCtljv9jTb3NA88ZdHsYUAsd5wUFvLtf9QucpJCzyWEt+InDV/98FKw==}
'@kevisual/types@0.0.10':
resolution: {integrity: sha512-Q73uzzjk9UidumnmCvOpgzqDDvQxsblz22bIFuoiioUFJWwaparx8bpd8ArRyFojicYL1YJoFDzDZ9j9NN8grA==}
'@kevisual/use-config@1.0.19':
resolution: {integrity: sha512-Q1IH4eMqUe5w6Bq8etoqOSls9FPIy0xwwD3wHf26EsQLZadhccI9qkDuFzP/rFWDa57mwFPEfwbGE5UlqWOCkw==}
peerDependencies:
dotenv: ^16.4.7
'@kevisual/types@0.0.12':
resolution: {integrity: sha512-zJXH2dosir3jVrQ6QG4i0+iLQeT9gJ3H+cKXs8ReWboxBSYzUZO78XssVeVrFPsJ33iaAqo4q3DWbSS1dWGn7Q==}
'@kevisual/use-config@1.0.21':
resolution: {integrity: sha512-czgy4+tBDBJI6QTnKh2PCwswET6ZpZ4ZqBE/SPkkOivEtlrcPzLs5elwMLZ3goD1XMD4VB3yjumb5WuW/8H8MA==}
'@kevisual/use-config@1.0.28':
resolution: {integrity: sha512-ngF+LDbjxpXWrZNmnShIKF/jPpAa+ezV+DcgoZIIzHlRnIjE+rr9sLkN/B7WJbiH9C/j1tQXOILY8ujBqILrow==}
peerDependencies:
dotenv: ^17
'@kevisual/video-tools@0.0.10':
resolution: {integrity: sha512-BdYZdO92fKT7px5qzgof/YqRJsyrS6wKpemUVlgJwsFnyYl4z++uUF2VVO7Hm3QXGPljmsXQoUMaEs03Gi+Udg==}
'@kevisual/video-tools@0.0.11':
resolution: {integrity: sha512-pwC2vt/BnbHiH8yDMCJZGr+SgFkaYzyviLBRumGHvvJxl9eNPyRUkPJYhtuPjBfQnuGWqfZ3sqkE4IOzEX2Ujw==}
'@kevisual/video-tools@0.0.13':
resolution: {integrity: sha512-bbAMTQznmlm70csVX5nQTeV+TsZw4BohYoYxcUsCi/slKZry2pWQaJgN3uKT0ovkZzLp1bogBEcBHmeP3wxXiw==}
'@kevisual/video@0.0.2':
resolution: {integrity: sha512-v2k9CC6Nq2UDzGwR9V7BMFf4jUsyCRKes1+3V7odPqOrbu+DskirWZVnMQFCkndB2Mmhkz1BugFVFrYak8bBew==}
@@ -1422,8 +1420,8 @@ packages:
'@types/babel__traverse@7.28.0':
resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
'@types/bun@1.3.0':
resolution: {integrity: sha512-+lAGCYjXjip2qY375xX/scJeVRmZ5cY0wyHYyCYxNcdEXrQ4AOe3gACgd4iQ8ksOslJtW4VNxBJ8llUwc3a6AA==}
'@types/bun@1.3.6':
resolution: {integrity: sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA==}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -1682,10 +1680,8 @@ packages:
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
bun-types@1.3.0:
resolution: {integrity: sha512-u8X0thhx+yJ0KmkxuEo9HAtdfgCBaM/aI9K90VQcQioAmkVp3SG3FkwWGibUFz3WdXAdcsqOcbU40lK7tbHdkQ==}
peerDependencies:
'@types/react': ^19
bun-types@1.3.6:
resolution: {integrity: sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ==}
bytestreamjs@2.0.1:
resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==}
@@ -1721,9 +1717,9 @@ packages:
character-reference-invalid@2.0.1:
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
chokidar@4.0.3:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
chokidar@5.0.0:
resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
engines: {node: '>= 20.19.0'}
ci-info@4.3.1:
resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
@@ -2105,8 +2101,8 @@ packages:
guid-typescript@1.0.9:
resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==}
h3@1.15.4:
resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
h3@1.15.5:
resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==}
hast-util-from-html@2.0.3:
resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
@@ -2148,6 +2144,10 @@ packages:
resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
engines: {node: '>=12.0.0'}
hono@4.11.5:
resolution: {integrity: sha512-WemPi9/WfyMwZs+ZUXdiwcCh9Y+m7L+8vki9MzDw3jJ+W9Lc+12HGsd368Qc1vZi1xwW8BWMMsnK5efYKPdt4g==}
engines: {node: '>=16.9.0'}
html-escaper@3.0.3:
resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
@@ -2160,10 +2160,6 @@ packages:
http-cache-semantics@4.2.0:
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
http-errors@2.0.1:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
engines: {node: '>= 0.8'}
@@ -2427,8 +2423,9 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
lru-cache@11.2.4:
resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==}
engines: {node: 20 || >=22}
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -2645,10 +2642,6 @@ packages:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
mime-types@3.0.1:
resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
engines: {node: '>= 0.6'}
mime-types@3.0.2:
resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
engines: {node: '>=18'}
@@ -2701,10 +2694,6 @@ packages:
encoding:
optional: true
node-forge@1.3.1:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
node-gyp-build@4.1.1:
resolution: {integrity: sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==}
hasBin: true
@@ -2713,8 +2702,8 @@ packages:
resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
hasBin: true
node-mock-http@1.0.3:
resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==}
node-mock-http@1.0.4:
resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==}
node-releases@2.0.23:
resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==}
@@ -2755,18 +2744,6 @@ packages:
onnxruntime-web@1.23.0:
resolution: {integrity: sha512-w0bvC2RwDxphOUFF8jFGZ/dYw+duaX20jM6V4BIZJPCfK4QuCpB/pVREV+hjYbT3x4hyfa2ZbTaWx4e1Vot0fQ==}
openai@5.23.2:
resolution: {integrity: sha512-MQBzmTulj+MM5O8SKEk/gL8a7s5mktS9zUtAkU257WjvobGc9nKcBuVwjyEEcb9SI8a8Y2G/mzn3vm9n1Jlleg==}
hasBin: true
peerDependencies:
ws: ^8.18.0
zod: ^3.23.8
peerDependenciesMeta:
ws:
optional: true
zod:
optional: true
p-limit@6.2.0:
resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
engines: {node: '>=18'}
@@ -2818,12 +2795,12 @@ packages:
platform@1.3.6:
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
pocketbase@0.26.2:
resolution: {integrity: sha512-WA8EOBc3QnSJh8rJ3iYoi9DmmPOMFIgVfAmIGux7wwruUEIzXgvrO4u0W2htfQjGIcyezJkdZOy5Xmh7SxAftw==}
pocketbase@0.26.5:
resolution: {integrity: sha512-SXcq+sRvVpNxfLxPB1C+8eRatL7ZY4o3EVl/0OdE3MeR9fhPyZt0nmmxLqYmkLvXCN9qp3lXWV/0EUYb3MmMXQ==}
pocketbase@0.26.6:
resolution: {integrity: sha512-Pl7V4y3DWglYITC4cBpclmuIzePRGsb/sXk/Wyqxznwu5JsHA5IILJY81PT2XQ3OSKCakWjbxjYBqtdcghzKvA==}
postcss@8.5.6:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
@@ -3032,9 +3009,9 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
readdirp@5.0.0:
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
engines: {node: '>= 20.19.0'}
recma-build-jsx@1.0.0:
resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
@@ -3138,14 +3115,14 @@ packages:
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
selfsigned@3.0.1:
resolution: {integrity: sha512-6U6w6kSLrM9Zxo0D7mC7QdGS6ZZytMWBnj/vhF9p+dAHx6CwGezuRcO4VclTbrrI7mg7SD6zNiqXUuBHOVopNQ==}
engines: {node: '>=10'}
selfsigned@5.2.0:
resolution: {integrity: sha512-QKF6fsJgdKn5Cy1SekTuwUQ6LOLUdnO4gVne1+TGSAyL/CD1aznNCmBna+bQB9xyon7DiYbDtTR1cLaxDXuaVA==}
engines: {node: '>=15.6.0'}
selfsigned@5.5.0:
resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==}
engines: {node: '>=18'}
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
@@ -3155,10 +3132,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
send@1.2.0:
resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
engines: {node: '>= 18'}
send@1.2.1:
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
engines: {node: '>= 18'}
@@ -3206,10 +3179,6 @@ packages:
spark-md5@3.0.2:
resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==}
statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
statuses@2.0.2:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
@@ -3327,38 +3296,38 @@ packages:
resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==}
engines: {node: '>= 6.0.0'}
turbo-darwin-64@2.7.1:
resolution: {integrity: sha512-EaA7UfYujbY9/Ku0WqPpvfctxm91h9LF7zo8vjielz+omfAPB54Si+ADmUoBczBDC6RoLgbURC3GmUW2alnjJg==}
turbo-darwin-64@2.7.6:
resolution: {integrity: sha512-bYu0qnWju2Ha3EbIkPCk1SMLT3sltKh1P/Jy5FER6BmH++H5z+T5MHh3W1Xoers9rk4N1VdKvog9FO1pxQyjhw==}
cpu: [x64]
os: [darwin]
turbo-darwin-arm64@2.7.1:
resolution: {integrity: sha512-/pWGSygtBugd7sKQOeMm+jKY3qN1vyB0RiHBM6bN/6qUOo2VHo8IQwBTIaSgINN4Ue6fzEU+WfePNvonSU9yXw==}
turbo-darwin-arm64@2.7.6:
resolution: {integrity: sha512-KCxTf3Y1hgNLYIWRLw8bwH8Zie9RyCGoxAlXYsCBI/YNqBSR+ZZK9KYzFxAqDaVaNvTwLFv3rJRGsXOFWg4+Uw==}
cpu: [arm64]
os: [darwin]
turbo-linux-64@2.7.1:
resolution: {integrity: sha512-Y5H11mdhASw/dJuRFyGtTCDFX5/MPT73EKsVEiHbw5MkFc77lx3nMc5L/Q7bKEhef/vYJAsAb61QuHsB6qdP8Q==}
turbo-linux-64@2.7.6:
resolution: {integrity: sha512-vjoU8zIfNgvJR3cMitgw7inEoi6bmuVuFawDl5yKtxjAEhDktFdRBpGS3WojD4l3BklBbIK689ssXcGf21LxRA==}
cpu: [x64]
os: [linux]
turbo-linux-arm64@2.7.1:
resolution: {integrity: sha512-L/r77jD7cqIEXoyu2LGBUrTY5GJSi/XcGLsQ2nZ/fefk6x3MpljTvwsXUVG1BUkiBPc4zaKRj6yGyWMo5MbLxQ==}
turbo-linux-arm64@2.7.6:
resolution: {integrity: sha512-TcMpBvTqZf+1DptrVYLbZls7WY1UVNDTGaf0bo7/GCgWYv5eZHCVo4Td7kCJeDU4glbXg67REX0md0S0V6ghMg==}
cpu: [arm64]
os: [linux]
turbo-windows-64@2.7.1:
resolution: {integrity: sha512-rkeuviXZ/1F7lCare7TNKvYtT/SH9dZR55FAMrxrFRh88b+ZKwlXEBfq5/1OctEzRUo/VLIm+s5LJMOEy+QshA==}
turbo-windows-64@2.7.6:
resolution: {integrity: sha512-1/MhkYldiihjneY8QnnDMbAkHXn/udTWSVYS94EMlkE9AShozsLTTOT1gDOpX06EfEW5njP09suhMvxbvwuwpQ==}
cpu: [x64]
os: [win32]
turbo-windows-arm64@2.7.1:
resolution: {integrity: sha512-1rZk9htm3+iP/rWCf/h4/DFQey9sMs2TJPC4T5QQfwqAdMWsphgrxBuFqHdxczlbBCgbWNhVw0CH2bTxe1/GFg==}
turbo-windows-arm64@2.7.6:
resolution: {integrity: sha512-0wDVnUJLFAWm4ZzOQFDkbyyUqaszorTGf3Rdc22IRIyJTTLd6ajqdb+cWD89UZ1RKr953+PZR1gqgWQY4PDuhA==}
cpu: [arm64]
os: [win32]
turbo@2.7.1:
resolution: {integrity: sha512-zAj9jGc7VDvuAo/5Jbos4QTtWz9uUpkMhMKGyTjDJkx//hdL2bM31qQoJSAbU+7JyK5vb0LPzpwf6DUt3zayqg==}
turbo@2.7.6:
resolution: {integrity: sha512-PO9AvJLEsNLO+EYhF4zB+v10hOjsJe5kJW+S6tTbRv+TW7gf1Qer4mfjP9h3/y9h8ZiPvOrenxnEgDtFgaM5zw==}
hasBin: true
tw-animate-css@1.4.0:
@@ -3376,6 +3345,9 @@ packages:
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
ufo@1.6.3:
resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
ultrahtml@1.6.0:
resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
@@ -3434,8 +3406,8 @@ packages:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
unstorage@1.17.1:
resolution: {integrity: sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==}
unstorage@1.17.4:
resolution: {integrity: sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==}
peerDependencies:
'@azure/app-configuration': ^1.8.0
'@azure/cosmos': ^4.2.0
@@ -3443,76 +3415,14 @@ packages:
'@azure/identity': ^4.6.0
'@azure/keyvault-secrets': ^4.9.0
'@azure/storage-blob': ^12.26.0
'@capacitor/preferences': ^6.0.3 || ^7.0.0
'@capacitor/preferences': ^6 || ^7 || ^8
'@deno/kv': '>=0.9.0'
'@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
'@planetscale/database': ^1.19.0
'@upstash/redis': ^1.34.3
'@vercel/blob': '>=0.27.1'
'@vercel/functions': ^2.2.12 || ^3.0.0
'@vercel/kv': ^1.0.1
aws4fetch: ^1.0.20
db0: '>=0.2.1'
idb-keyval: ^6.2.1
ioredis: ^5.4.2
uploadthing: ^7.4.4
peerDependenciesMeta:
'@azure/app-configuration':
optional: true
'@azure/cosmos':
optional: true
'@azure/data-tables':
optional: true
'@azure/identity':
optional: true
'@azure/keyvault-secrets':
optional: true
'@azure/storage-blob':
optional: true
'@capacitor/preferences':
optional: true
'@deno/kv':
optional: true
'@netlify/blobs':
optional: true
'@planetscale/database':
optional: true
'@upstash/redis':
optional: true
'@vercel/blob':
optional: true
'@vercel/functions':
optional: true
'@vercel/kv':
optional: true
aws4fetch:
optional: true
db0:
optional: true
idb-keyval:
optional: true
ioredis:
optional: true
uploadthing:
optional: true
unstorage@1.17.3:
resolution: {integrity: sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==}
peerDependencies:
'@azure/app-configuration': ^1.8.0
'@azure/cosmos': ^4.2.0
'@azure/data-tables': ^13.3.0
'@azure/identity': ^4.6.0
'@azure/keyvault-secrets': ^4.9.0
'@azure/storage-blob': ^12.26.0
'@capacitor/preferences': ^6.0.3 || ^7.0.0
'@deno/kv': '>=0.9.0'
'@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
'@planetscale/database': ^1.19.0
'@upstash/redis': ^1.34.3
'@vercel/blob': '>=0.27.1'
'@vercel/functions': ^2.2.12 || ^3.0.0
'@vercel/kv': ^1.0.1
'@vercel/kv': ^1 || ^2 || ^3
aws4fetch: ^1.0.20
db0: '>=0.2.1'
idb-keyval: ^6.2.1
@@ -4217,12 +4127,10 @@ snapshots:
dependencies:
eventemitter3: 5.0.1
'@kevisual/local-proxy@0.0.6': {}
'@kevisual/local-proxy@0.0.8': {}
'@kevisual/logger@0.0.4': {}
'@kevisual/noco@0.0.1': {}
'@kevisual/noco@0.0.10': {}
'@kevisual/permission@0.0.3': {}
@@ -4233,17 +4141,14 @@ snapshots:
'@kevisual/query': 0.0.33
dotenv: 17.2.3
'@kevisual/query@0.0.29(zod@3.25.76)':
dependencies:
openai: 5.23.2(zod@3.25.76)
transitivePeerDependencies:
- ws
- zod
'@kevisual/query@0.0.31': {}
'@kevisual/query@0.0.33': {}
'@kevisual/query@0.0.38':
dependencies:
tslib: 2.8.1
'@kevisual/registry@0.0.1(typescript@5.9.3)':
dependencies:
class-variance-authority: 0.7.1
@@ -4262,14 +4167,6 @@ snapshots:
- react-native
- typescript
'@kevisual/router@0.0.29':
dependencies:
path-to-regexp: 8.3.0
selfsigned: 3.0.1
send: 1.2.0
transitivePeerDependencies:
- supports-color
'@kevisual/router@0.0.48':
dependencies:
path-to-regexp: 8.3.0
@@ -4278,22 +4175,33 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@kevisual/router@0.0.51':
dependencies:
path-to-regexp: 8.3.0
selfsigned: 5.5.0
send: 1.2.1
transitivePeerDependencies:
- supports-color
'@kevisual/router@0.0.60':
dependencies:
hono: 4.11.5
'@kevisual/types@0.0.10': {}
'@kevisual/use-config@1.0.19':
dependencies:
'@kevisual/load': 0.0.6
'@kevisual/types@0.0.12': {}
'@kevisual/use-config@1.0.21(dotenv@17.2.3)':
'@kevisual/use-config@1.0.28(dotenv@17.2.3)':
dependencies:
'@kevisual/load': 0.0.6
dotenv: 17.2.3
'@kevisual/video-tools@0.0.10':
'@kevisual/video-tools@0.0.11(dotenv@17.2.3)':
dependencies:
'@gradio/client': 2.0.1
'@kevisual/ai': 0.0.19
'@kevisual/router': 0.0.48
'@kevisual/use-config': 1.0.21(dotenv@17.2.3)
'@kevisual/use-config': 1.0.28(dotenv@17.2.3)
'@kevisual/video': 0.0.2
crypto-js: 4.2.0
dayjs: 1.11.19
@@ -4303,12 +4211,12 @@ snapshots:
- dotenv
- supports-color
'@kevisual/video-tools@0.0.11(dotenv@17.2.3)':
'@kevisual/video-tools@0.0.13(dotenv@17.2.3)':
dependencies:
'@gradio/client': 2.0.1
'@kevisual/ai': 0.0.19
'@kevisual/router': 0.0.48
'@kevisual/use-config': 1.0.21(dotenv@17.2.3)
'@kevisual/router': 0.0.51
'@kevisual/use-config': 1.0.28(dotenv@17.2.3)
'@kevisual/video': 0.0.2
crypto-js: 4.2.0
dayjs: 1.11.19
@@ -4965,11 +4873,9 @@ snapshots:
dependencies:
'@babel/types': 7.28.4
'@types/bun@1.3.0(@types/react@19.2.7)':
'@types/bun@1.3.6':
dependencies:
bun-types: 1.3.0(@types/react@19.2.7)
transitivePeerDependencies:
- '@types/react'
bun-types: 1.3.6
'@types/debug@4.1.12':
dependencies:
@@ -5288,7 +5194,7 @@ snapshots:
ultrahtml: 1.6.0
unifont: 0.6.0
unist-util-visit: 5.0.0
unstorage: 1.17.3(idb-keyval@6.2.2)
unstorage: 1.17.4(idb-keyval@6.2.2)
vfile: 6.0.3
vite: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.2)
vitefu: 1.1.1(vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.2))
@@ -5384,10 +5290,9 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
bun-types@1.3.0(@types/react@19.2.7):
bun-types@1.3.6:
dependencies:
'@types/node': 24.7.2
'@types/react': 19.2.7
bytestreamjs@2.0.1: {}
@@ -5409,9 +5314,9 @@ snapshots:
character-reference-invalid@2.0.1: {}
chokidar@4.0.3:
chokidar@5.0.0:
dependencies:
readdirp: 4.1.2
readdirp: 5.0.0
ci-info@4.3.1: {}
@@ -5775,16 +5680,16 @@ snapshots:
guid-typescript@1.0.9: {}
h3@1.15.4:
h3@1.15.5:
dependencies:
cookie-es: 1.2.2
crossws: 0.3.5
defu: 6.1.4
destr: 2.0.5
iron-webcrypto: 1.2.1
node-mock-http: 1.0.3
node-mock-http: 1.0.4
radix3: 1.1.2
ufo: 1.6.1
ufo: 1.6.3
uncrypto: 0.1.3
hast-util-from-html@2.0.3:
@@ -5917,6 +5822,8 @@ snapshots:
highlight.js@11.11.1: {}
hono@4.11.5: {}
html-escaper@3.0.3: {}
html-parse-stringify@3.0.1:
@@ -5927,14 +5834,6 @@ snapshots:
http-cache-semantics@4.2.0: {}
http-errors@2.0.0:
dependencies:
depd: 2.0.0
inherits: 2.0.4
setprototypeof: 1.2.0
statuses: 2.0.1
toidentifier: 1.0.1
http-errors@2.0.1:
dependencies:
depd: 2.0.0
@@ -6151,7 +6050,7 @@ snapshots:
dependencies:
js-tokens: 4.0.0
lru-cache@10.4.3: {}
lru-cache@11.2.4: {}
lru-cache@5.1.1:
dependencies:
@@ -6640,10 +6539,6 @@ snapshots:
mime-db@1.54.0: {}
mime-types@3.0.1:
dependencies:
mime-db: 1.54.0
mime-types@3.0.2:
dependencies:
mime-db: 1.54.0
@@ -6674,13 +6569,11 @@ snapshots:
dependencies:
whatwg-url: 5.0.0
node-forge@1.3.1: {}
node-gyp-build@4.1.1: {}
node-gyp-build@4.8.4: {}
node-mock-http@1.0.3: {}
node-mock-http@1.0.4: {}
node-releases@2.0.23: {}
@@ -6702,7 +6595,7 @@ snapshots:
dependencies:
destr: 2.0.5
node-fetch-native: 1.6.7
ufo: 1.6.1
ufo: 1.6.3
ohash@2.0.11: {}
@@ -6729,10 +6622,6 @@ snapshots:
platform: 1.3.6
protobufjs: 7.5.4
openai@5.23.2(zod@3.25.76):
optionalDependencies:
zod: 3.25.76
p-limit@6.2.0:
dependencies:
yocto-queue: 1.2.1
@@ -6792,10 +6681,10 @@ snapshots:
platform@1.3.6: {}
pocketbase@0.26.2: {}
pocketbase@0.26.5: {}
pocketbase@0.26.6: {}
postcss@8.5.6:
dependencies:
nanoid: 3.3.11
@@ -7068,7 +6957,7 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
readdirp@4.1.2: {}
readdirp@5.0.0: {}
recma-build-jsx@1.0.0:
dependencies:
@@ -7263,35 +7152,20 @@ snapshots:
scheduler@0.27.0: {}
selfsigned@3.0.1:
dependencies:
node-forge: 1.3.1
selfsigned@5.2.0:
dependencies:
'@peculiar/x509': 1.14.2
pkijs: 3.3.3
selfsigned@5.5.0:
dependencies:
'@peculiar/x509': 1.14.2
pkijs: 3.3.3
semver@6.3.1: {}
semver@7.7.3: {}
send@1.2.0:
dependencies:
debug: 4.4.3
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
fresh: 2.0.0
http-errors: 2.0.0
mime-types: 3.0.1
ms: 2.1.3
on-finished: 2.4.1
range-parser: 1.2.1
statuses: 2.0.2
transitivePeerDependencies:
- supports-color
send@1.2.1:
dependencies:
debug: 4.4.3
@@ -7379,8 +7253,6 @@ snapshots:
spark-md5@3.0.2: {}
statuses@2.0.1: {}
statuses@2.0.2: {}
stream-replace-string@2.0.0: {}
@@ -7495,32 +7367,32 @@ snapshots:
dependencies:
tslib: 1.14.1
turbo-darwin-64@2.7.1:
turbo-darwin-64@2.7.6:
optional: true
turbo-darwin-arm64@2.7.1:
turbo-darwin-arm64@2.7.6:
optional: true
turbo-linux-64@2.7.1:
turbo-linux-64@2.7.6:
optional: true
turbo-linux-arm64@2.7.1:
turbo-linux-arm64@2.7.6:
optional: true
turbo-windows-64@2.7.1:
turbo-windows-64@2.7.6:
optional: true
turbo-windows-arm64@2.7.1:
turbo-windows-arm64@2.7.6:
optional: true
turbo@2.7.1:
turbo@2.7.6:
optionalDependencies:
turbo-darwin-64: 2.7.1
turbo-darwin-arm64: 2.7.1
turbo-linux-64: 2.7.1
turbo-linux-arm64: 2.7.1
turbo-windows-64: 2.7.1
turbo-windows-arm64: 2.7.1
turbo-darwin-64: 2.7.6
turbo-darwin-arm64: 2.7.6
turbo-linux-64: 2.7.6
turbo-linux-arm64: 2.7.6
turbo-windows-64: 2.7.6
turbo-windows-arm64: 2.7.6
tw-animate-css@1.4.0: {}
@@ -7530,6 +7402,8 @@ snapshots:
ufo@1.6.1: {}
ufo@1.6.3: {}
ultrahtml@1.6.0: {}
uncrypto@0.1.3: {}
@@ -7615,29 +7489,16 @@ snapshots:
universalify@0.2.0: {}
unstorage@1.17.1(idb-keyval@6.2.2):
unstorage@1.17.4(idb-keyval@6.2.2):
dependencies:
anymatch: 3.1.3
chokidar: 4.0.3
chokidar: 5.0.0
destr: 2.0.5
h3: 1.15.4
lru-cache: 10.4.3
node-fetch-native: 1.6.7
ofetch: 1.4.1
ufo: 1.6.1
optionalDependencies:
idb-keyval: 6.2.2
unstorage@1.17.3(idb-keyval@6.2.2):
dependencies:
anymatch: 3.1.3
chokidar: 4.0.3
destr: 2.0.5
h3: 1.15.4
lru-cache: 10.4.3
h3: 1.15.5
lru-cache: 11.2.4
node-fetch-native: 1.6.7
ofetch: 1.5.1
ufo: 1.6.1
ufo: 1.6.3
optionalDependencies:
idb-keyval: 6.2.2

View File

@@ -5,4 +5,7 @@
## 文件管理工具
[filebrowser](https://github.com/filebrowser/filebrowser/releases)
[filebrowser](https://github.com/filebrowser/filebrowser/releases)
列出文件列表

View File

@@ -12,21 +12,21 @@
"keywords": [],
"author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
"license": "MIT",
"packageManager": "pnpm@10.16.1",
"packageManager": "pnpm@10.28.1",
"type": "module",
"devDependencies": {
"@kevisual/local-proxy": "^0.0.6",
"@kevisual/types": "^0.0.10",
"@kevisual/use-config": "^1.0.19",
"@types/bun": "^1.3.0"
"@kevisual/local-proxy": "^0.0.8",
"@kevisual/types": "^0.0.12",
"@kevisual/use-config": "^1.0.28",
"@types/bun": "^1.3.6"
},
"dependencies": {
"@kevisual/noco": "^0.0.1",
"@kevisual/query": "^0.0.29",
"@kevisual/router": "^0.0.29",
"@kevisual/video-tools": "^0.0.10",
"@kevisual/noco": "^0.0.10",
"@kevisual/query": "^0.0.38",
"@kevisual/router": "^0.0.60",
"@kevisual/video-tools": "^0.0.13",
"fast-glob": "^3.3.3",
"pocketbase": "^0.26.2",
"unstorage": "^1.17.1"
"pocketbase": "^0.26.6",
"unstorage": "^1.17.4"
}
}

21
server/test/run-str.ts Normal file
View File

@@ -0,0 +1,21 @@
import { spawnSync } from 'node:child_process';
const code = `import { App } from '@kevisual/router';
const app = new App();
console.log('App initialized:', app.appId);
`
// const child = Bun.spawn({
// cmd: ["bun", "--eval", "console.log('from child process')"],
// stdio: ["pipe", "pipe", "inherit"]
// });
const child = Bun.spawn({
cmd: ["bun", "--eval", code],
env: {},
stdio: ["pipe", "pipe", "inherit"]
});
const output = await new Response(child.stdout).text();
console.log('Child process output:', output);
console.log('Child process PID:', child.pid);