From 57326c14d6b2f6cfe795b1fbac7c153c1d9c7a26 Mon Sep 17 00:00:00 2001 From: xiongxiao Date: Wed, 18 Mar 2026 19:08:43 +0800 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- .npmrc | 1 - assistant/package.json | 14 +- .../src/module/assistant/config/index.ts | 8 +- assistant/src/services/init/common.ts | 18 +- assistant/src/services/init/index.ts | 4 + assistant/src/services/init/package.json | 18 +- package.json | 14 +- pnpm-lock.yaml | 308 +++++++++--------- 8 files changed, 195 insertions(+), 190 deletions(-) diff --git a/.npmrc b/.npmrc index c230925..cb5f145 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,2 @@ -//npm.xiongxiao.me/:_authToken=${ME_NPM_TOKEN} //npm.cnb.cool/kevisual/registry/-/packages/:_authToken=${CNB_API_KEY} //registry.npmjs.org/:_authToken=${NPM_TOKEN} \ No newline at end of file diff --git a/assistant/package.json b/assistant/package.json index df7a736..5ccf2e2 100644 --- a/assistant/package.json +++ b/assistant/package.json @@ -42,17 +42,17 @@ } }, "devDependencies": { - "@inquirer/prompts": "^8.3.0", + "@inquirer/prompts": "^8.3.2", "@kevisual/ai": "^0.0.28", "@kevisual/api": "^0.0.64", "@kevisual/load": "^0.0.6", "@kevisual/local-app-manager": "^0.1.32", "@kevisual/logger": "^0.0.4", "@kevisual/query": "0.0.53", - "@kevisual/router": "^0.1.2", + "@kevisual/router": "^0.1.5", "@kevisual/types": "^0.0.12", "@kevisual/use-config": "^1.0.30", - "@opencode-ai/plugin": "^1.2.26", + "@opencode-ai/plugin": "^1.2.27", "@types/bun": "^1.3.10", "@types/node": "^25.5.0", "@types/send": "^1.2.1", @@ -63,8 +63,8 @@ "dayjs": "^1.11.20", "dotenv": "^17.3.1", "get-port": "^7.1.0", - "meilisearch": "^0.55.0", - "nanoid": "^5.1.6", + "meilisearch": "^0.56.0", + "nanoid": "^5.1.7", "send": "^1.2.1", "supports-color": "^10.2.2", "table": "^6.9.0", @@ -77,11 +77,11 @@ "access": "public" }, "dependencies": { - "@aws-sdk/client-s3": "^3.1009.0", + "@aws-sdk/client-s3": "^3.1011.0", "@kevisual/js-filter": "^0.0.6", "@kevisual/oss": "^0.0.20", "@kevisual/video-tools": "^0.0.13", - "@opencode-ai/sdk": "^1.2.26", + "@opencode-ai/sdk": "^1.2.27", "es-toolkit": "^1.45.1", "eventemitter3": "^5.0.4", "lowdb": "^7.0.1", diff --git a/assistant/src/module/assistant/config/index.ts b/assistant/src/module/assistant/config/index.ts index be678cf..f30d496 100644 --- a/assistant/src/module/assistant/config/index.ts +++ b/assistant/src/module/assistant/config/index.ts @@ -390,6 +390,10 @@ export class AssistantConfig { kevisualUrl = 'http://kevisual.cn'; } } + const routes = ["@kevisual/cnb/routes"] + if (isCNB) { + routes.push("@kevisual/project-search/routes") + } return { app: { url: kevisualUrl, @@ -399,9 +403,7 @@ export class AssistantConfig { docs: `${kevisualUrl}/root/cli/docs/`, home: isCNB ? '/root/cli-center' : '/root/home', proxy: [], - "routes": [ - "@kevisual/cnb/routes" - ], + "routes": routes, share: { enabled: true, url: 'https://kevisual.cn/ws/proxy', diff --git a/assistant/src/services/init/common.ts b/assistant/src/services/init/common.ts index 2d657d3..39dc814 100644 --- a/assistant/src/services/init/common.ts +++ b/assistant/src/services/init/common.ts @@ -1,6 +1,6 @@ export const configJson = `{ "name": "assistant-app", - "version": "1.0.3", + "version": "1.0.4", "description": "assistant-app package pnpm, node pkgs projects", "type": "module", "scripts": { @@ -11,18 +11,21 @@ export const configJson = `{ "author": "", "license": "ISC", "dependencies": { - "@aws-sdk/client-s3": "^3.1007.0", + "@aws-sdk/client-s3": "^3.1011.0", + "@kevisual/cnb": "^0.0.53", "@kevisual/oss": "^0.0.20", + "@kevisual/project-search": "^0.0.12", "@kevisual/query": "^0.0.53", - "@kevisual/router": "^0.1.1", - "@kevisual/cnb": "^0.0.42", + "@kevisual/router": "^0.1.5", "@kevisual/use-config": "^1.0.30", - "dayjs": "^1.11.19", + "@parcel/watcher": "^2.5.6", + "crypto-js": "^4.2.0", + "dayjs": "^1.11.20", "dotenv": "^17.3.1", "es-toolkit": "^1.45.1", "eventemitter3": "^5.0.4", "ioredis": "^5.10.0", - "node-cron": "^4.2.1", + "cron": "^4.4.0", "pg": "^8.20.0", "pm2": "^6.0.14", "unstorage": "^1.17.4" @@ -30,7 +33,8 @@ export const configJson = `{ "devDependencies": { "@kevisual/types": "^0.0.12", "@types/bun": "^1.3.10", - "@types/node": "^25.4.0", + "@types/crypto-js": "^4.2.2", + "@types/node": "^25.5.0", "semver": "^7.7.4" } } diff --git a/assistant/src/services/init/index.ts b/assistant/src/services/init/index.ts index 4ffc3dd..7e1679b 100644 --- a/assistant/src/services/init/index.ts +++ b/assistant/src/services/init/index.ts @@ -113,6 +113,10 @@ export class AssistantInit extends AssistantConfig { `packages: - 'apps/**/*' - 'pages/**/*' + - 'skills/**/*' +allowBuilds: + '@parcel/watcher': true + `, ); console.log(chalk.green('助手 pnpm-workspace.yaml 文件创建成功')); diff --git a/assistant/src/services/init/package.json b/assistant/src/services/init/package.json index a63cec1..533fb19 100644 --- a/assistant/src/services/init/package.json +++ b/assistant/src/services/init/package.json @@ -1,6 +1,6 @@ { "name": "assistant-app", - "version": "1.0.3", + "version": "1.0.4", "description": "assistant-app package pnpm, node pkgs projects", "type": "module", "scripts": { @@ -11,18 +11,21 @@ "author": "", "license": "ISC", "dependencies": { - "@aws-sdk/client-s3": "^3.1007.0", + "@aws-sdk/client-s3": "^3.1011.0", + "@kevisual/cnb": "^0.0.53", "@kevisual/oss": "^0.0.20", + "@kevisual/project-search": "^0.0.12", "@kevisual/query": "^0.0.53", - "@kevisual/router": "^0.1.1", - "@kevisual/cnb": "^0.0.42", + "@kevisual/router": "^0.1.5", "@kevisual/use-config": "^1.0.30", - "dayjs": "^1.11.19", + "@parcel/watcher": "^2.5.6", + "crypto-js": "^4.2.0", + "dayjs": "^1.11.20", "dotenv": "^17.3.1", "es-toolkit": "^1.45.1", "eventemitter3": "^5.0.4", "ioredis": "^5.10.0", - "node-cron": "^4.2.1", + "cron": "^4.4.0", "pg": "^8.20.0", "pm2": "^6.0.14", "unstorage": "^1.17.4" @@ -30,7 +33,8 @@ "devDependencies": { "@kevisual/types": "^0.0.12", "@types/bun": "^1.3.10", - "@types/node": "^25.4.0", + "@types/crypto-js": "^4.2.2", + "@types/node": "^25.5.0", "semver": "^7.7.4" } } \ No newline at end of file diff --git a/package.json b/package.json index 5a2c3dd..9952864 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kevisual/cli", - "version": "0.1.27", + "version": "0.1.28", "description": "envision 命令行工具", "type": "module", "basename": "/root/cli", @@ -41,13 +41,13 @@ ], "author": "abearxiong", "dependencies": { - "@inquirer/prompts": "^8.3.0", + "@inquirer/prompts": "^8.3.2", "@kevisual/app": "^0.0.2", "@kevisual/auth": "^2.0.3", "@kevisual/context": "^0.0.8", - "@kevisual/router": "^0.1.1", + "@kevisual/router": "^0.1.5", "@kevisual/use-config": "^1.0.30", - "@opencode-ai/sdk": "^1.2.26", + "@opencode-ai/sdk": "^1.2.27", "@types/busboy": "^1.5.4", "busboy": "^1.6.0", "eventemitter3": "^5.0.4", @@ -55,14 +55,14 @@ "lowdb": "^7.0.1", "lru-cache": "^11.2.7", "micromatch": "^4.0.8", - "nanoid": "^5.1.6", + "nanoid": "^5.1.7", "pm2": "latest", "semver": "^7.7.4", "unstorage": "^1.17.4" }, "devDependencies": { "@kevisual/api": "^0.0.64", - "@kevisual/cnb": "^0.0.46", + "@kevisual/cnb": "^0.0.53", "@kevisual/dts": "^0.0.4", "@kevisual/load": "^0.0.6", "@kevisual/logger": "^0.0.4", @@ -83,7 +83,7 @@ "jsonwebtoken": "^9.0.3", "pm2": "^6.0.14", "tar": "^7.5.11", - "zustand": "^5.0.11" + "zustand": "^5.0.12" }, "engines": { "node": ">=22.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ca6179..3b2508f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@inquirer/prompts': - specifier: ^8.3.0 - version: 8.3.0(@types/node@25.5.0) + specifier: ^8.3.2 + version: 8.3.2(@types/node@25.5.0) '@kevisual/app': specifier: ^0.0.2 version: 0.0.2(dotenv@17.3.1) @@ -21,14 +21,14 @@ importers: specifier: ^0.0.8 version: 0.0.8 '@kevisual/router': - specifier: ^0.1.1 - version: 0.1.1 + specifier: ^0.1.5 + version: 0.1.5 '@kevisual/use-config': specifier: ^1.0.30 version: 1.0.30(dotenv@17.3.1) '@opencode-ai/sdk': - specifier: ^1.2.26 - version: 1.2.26 + specifier: ^1.2.27 + version: 1.2.27 '@types/busboy': specifier: ^1.5.4 version: 1.5.4 @@ -51,8 +51,8 @@ importers: specifier: ^4.0.8 version: 4.0.8 nanoid: - specifier: ^5.1.6 - version: 5.1.6 + specifier: ^5.1.7 + version: 5.1.7 pm2: specifier: latest version: 6.0.14(supports-color@10.2.2) @@ -67,8 +67,8 @@ importers: specifier: ^0.0.64 version: 0.0.64(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@kevisual/cnb': - specifier: ^0.0.46 - version: 0.0.46(dotenv@17.3.1) + specifier: ^0.0.53 + version: 0.0.53(dotenv@17.3.1) '@kevisual/dts': specifier: ^0.0.4 version: 0.0.4(typescript@5.9.3) @@ -127,14 +127,14 @@ importers: specifier: ^7.5.11 version: 7.5.11 zustand: - specifier: ^5.0.11 - version: 5.0.11(react@19.2.4) + specifier: ^5.0.12 + version: 5.0.12(react@19.2.4) assistant: dependencies: '@aws-sdk/client-s3': - specifier: ^3.1009.0 - version: 3.1009.0 + specifier: ^3.1011.0 + version: 3.1011.0 '@kevisual/js-filter': specifier: ^0.0.6 version: 0.0.6 @@ -145,8 +145,8 @@ importers: specifier: ^0.0.13 version: 0.0.13(dotenv@17.3.1)(supports-color@10.2.2) '@opencode-ai/sdk': - specifier: ^1.2.26 - version: 1.2.26 + specifier: ^1.2.27 + version: 1.2.27 es-toolkit: specifier: ^1.45.1 version: 1.45.1 @@ -170,8 +170,8 @@ importers: version: 4.3.6 devDependencies: '@inquirer/prompts': - specifier: ^8.3.0 - version: 8.3.0(@types/node@25.5.0) + specifier: ^8.3.2 + version: 8.3.2(@types/node@25.5.0) '@kevisual/ai': specifier: ^0.0.28 version: 0.0.28 @@ -191,8 +191,8 @@ importers: specifier: 0.0.53 version: 0.0.53 '@kevisual/router': - specifier: ^0.1.2 - version: 0.1.2 + specifier: ^0.1.5 + version: 0.1.5 '@kevisual/types': specifier: ^0.0.12 version: 0.0.12 @@ -200,8 +200,8 @@ importers: specifier: ^1.0.30 version: 1.0.30(dotenv@17.3.1) '@opencode-ai/plugin': - specifier: ^1.2.26 - version: 1.2.26 + specifier: ^1.2.27 + version: 1.2.27 '@types/bun': specifier: ^1.3.10 version: 1.3.10 @@ -233,11 +233,11 @@ importers: specifier: ^7.1.0 version: 7.1.0 meilisearch: - specifier: ^0.55.0 - version: 0.55.0 + specifier: ^0.56.0 + version: 0.56.0 nanoid: - specifier: ^5.1.6 - version: 5.1.6 + specifier: ^5.1.7 + version: 5.1.7 send: specifier: ^1.2.1 version: 1.2.1(supports-color@10.2.2) @@ -310,8 +310,8 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.1009.0': - resolution: {integrity: sha512-luy8CxallkoiGWTqU86ca/BbvkWJjs0oala7uIIRN1JtQxMb5i4Yl/PBZVcQFhbK9kQi0PK0GfD8gIpLkI91fw==} + '@aws-sdk/client-s3@3.1011.0': + resolution: {integrity: sha512-jY7CGX+vfM/DSi4K8UwaZKoXnhqchmAbKFB1kIuHMfPPqW7l3jC/fUVDb95/njMsB2ymYOTusZEzoCTeUB/4qA==} engines: {node: '>=20.0.0'} '@aws-sdk/core@3.973.20': @@ -362,8 +362,8 @@ packages: resolution: {integrity: sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.973.6': - resolution: {integrity: sha512-0nYEgkJH7Yt9k+nZJyllTghnkKaz17TWFcr5Mi0XMVMzYlF4ytDZADQpF2/iJo36cKL5AYSzRsvlykE4M/ErTA==} + '@aws-sdk/middleware-flexible-checksums@3.974.0': + resolution: {integrity: sha512-BmdDjqvnuYaC4SY7ypHLXfCSsGYGUZkjCLSZyUAAYn1YT28vbNMJNDwhlfkvvE+hQHG5RJDlEmYuvBxcB9jX1g==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-host-header@3.972.8': @@ -461,12 +461,12 @@ packages: resolution: {integrity: sha512-LyDyvpueETaZI62xbjaLa74iSrtsbib6c2uhzxML0eSYkfX553imlK5Nu9NIcwMU2+ULAsCqUCutgd0PeCumww==} engines: {node: '>=18.0.0'} - '@inquirer/ansi@2.0.3': - resolution: {integrity: sha512-g44zhR3NIKVs0zUesa4iMzExmZpLUdTLRMCStqX3GE5NT6VkPcxQGJ+uC8tDgBUC/vB1rUhUd55cOf++4NZcmw==} + '@inquirer/ansi@2.0.4': + resolution: {integrity: sha512-DpcZrQObd7S0R/U3bFdkcT5ebRwbTTC4D3tCc1vsJizmgPLxNJBo+AAFmrZwe8zk30P2QzgzGWZ3Q9uJwWuhIg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} - '@inquirer/checkbox@5.1.0': - resolution: {integrity: sha512-/HjF1LN0a1h4/OFsbGKHNDtWICFU/dqXCdym719HFTyJo9IG7Otr+ziGWc9S0iQuohRZllh+WprSgd5UW5Fw0g==} + '@inquirer/checkbox@5.1.2': + resolution: {integrity: sha512-PubpMPO2nJgMufkoB3P2wwxNXEMUXnBIKi/ACzDUYfaoPuM7gSTmuxJeMscoLVEsR4qqrCMf5p0SiYGWnVJ8kw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -474,8 +474,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@6.0.8': - resolution: {integrity: sha512-Di6dgmiZ9xCSUxWUReWTqDtbhXCuG2MQm2xmgSAIruzQzBqNf49b8E07/vbCYY506kDe8BiwJbegXweG8M1klw==} + '@inquirer/confirm@6.0.10': + resolution: {integrity: sha512-tiNyA73pgpQ0FQ7axqtoLUe4GDYjNCDcVsbgcA5anvwg2z6i+suEngLKKJrWKJolT//GFPZHwN30binDIHgSgQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -483,8 +483,8 @@ packages: '@types/node': optional: true - '@inquirer/core@11.1.5': - resolution: {integrity: sha512-QQPAX+lka8GyLcZ7u7Nb1h6q72iZ/oy0blilC3IB2nSt1Qqxp7akt94Jqhi/DzARuN3Eo9QwJRvtl4tmVe4T5A==} + '@inquirer/core@11.1.7': + resolution: {integrity: sha512-1BiBNDk9btIwYIzNZpkikIHXWeNzNncJePPqwDyVMhXhD1ebqbpn1mKGctpoqAbzywZfdG0O4tvmsGIcOevAPQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -492,8 +492,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@5.0.8': - resolution: {integrity: sha512-sLcpbb9B3XqUEGrj1N66KwhDhEckzZ4nI/W6SvLXyBX8Wic3LDLENlWRvkOGpCPoserabe+MxQkpiMoI8irvyA==} + '@inquirer/editor@5.0.10': + resolution: {integrity: sha512-VJx4XyaKea7t8hEApTw5dxeIyMtWXre2OiyJcICCRZI4hkoHsMoCnl/KbUnJJExLbH9csLLHMVR144ZhFE1CwA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -501,8 +501,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@5.0.8': - resolution: {integrity: sha512-QieW3F1prNw3j+hxO7/NKkG1pk3oz7pOB6+5Upwu3OIwADfPX0oZVppsqlL+Vl/uBHHDSOBY0BirLctLnXwGGg==} + '@inquirer/expand@5.0.10': + resolution: {integrity: sha512-fC0UHJPXsTRvY2fObiwuQYaAnHrp3aDqfwKUJSdfpgv18QUG054ezGbaRNStk/BKD5IPijeMKWej8VV8O5Q/eQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -510,8 +510,8 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@2.0.3': - resolution: {integrity: sha512-LgyI7Agbda74/cL5MvA88iDpvdXI2KuMBCGRkbCl2Dg1vzHeOgs+s0SDcXV7b+WZJrv2+ERpWSM65Fpi9VfY3w==} + '@inquirer/external-editor@2.0.4': + resolution: {integrity: sha512-Prenuv9C1PHj2Itx0BcAOVBTonz02Hc2Nd2DbU67PdGUaqn0nPCnV34oDyyoaZHnmfRxkpuhh/u51ThkrO+RdA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -519,12 +519,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@2.0.3': - resolution: {integrity: sha512-y09iGt3JKoOCBQ3w4YrSJdokcD8ciSlMIWsD+auPu+OZpfxLuyz+gICAQ6GCBOmJJt4KEQGHuZSVff2jiNOy7g==} + '@inquirer/figures@2.0.4': + resolution: {integrity: sha512-eLBsjlS7rPS3WEhmOmh1znQ5IsQrxWzxWDxO51e4urv+iVrSnIHbq4zqJIOiyNdYLa+BVjwOtdetcQx1lWPpiQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} - '@inquirer/input@5.0.8': - resolution: {integrity: sha512-p0IJslw0AmedLEkOU+yrEX3Aj2RTpQq7ZOf8nc1DIhjzaxRWrrgeuE5Kyh39fVRgtcACaMXx/9WNo8+GjgBOfw==} + '@inquirer/input@5.0.10': + resolution: {integrity: sha512-nvZ6qEVeX/zVtZ1dY2hTGDQpVGD3R7MYPLODPgKO8Y+RAqxkrP3i/3NwF3fZpLdaMiNuK0z2NaYIx9tPwiSegQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -532,8 +532,8 @@ packages: '@types/node': optional: true - '@inquirer/number@4.0.8': - resolution: {integrity: sha512-uGLiQah9A0F9UIvJBX52m0CnqtLaym0WpT9V4YZrjZ+YRDKZdwwoEPz06N6w8ChE2lrnsdyhY9sL+Y690Kh9gQ==} + '@inquirer/number@4.0.10': + resolution: {integrity: sha512-Ht8OQstxiS3APMGjHV0aYAjRAysidWdwurWEo2i8yI5xbhOBWqizT0+MU1S2GCcuhIBg+3SgWVjEoXgfhY+XaA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -541,8 +541,8 @@ packages: '@types/node': optional: true - '@inquirer/password@5.0.8': - resolution: {integrity: sha512-zt1sF4lYLdvPqvmvHdmjOzuUUjuCQ897pdUCO8RbXMUDKXJTTyOQgtn23le+jwcb+MpHl3VAFvzIdxRAf6aPlA==} + '@inquirer/password@5.0.10': + resolution: {integrity: sha512-QbNyvIE8q2GTqKLYSsA8ATG+eETo+m31DSR0+AU7x3d2FhaTWzqQek80dj3JGTo743kQc6mhBR0erMjYw5jQ0A==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -550,8 +550,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@8.3.0': - resolution: {integrity: sha512-JAj66kjdH/F1+B7LCigjARbwstt3SNUOSzMdjpsvwJmzunK88gJeXmcm95L9nw1KynvFVuY4SzXh/3Y0lvtgSg==} + '@inquirer/prompts@8.3.2': + resolution: {integrity: sha512-yFroiSj2iiBFlm59amdTvAcQFvWS6ph5oKESls/uqPBect7rTU2GbjyZO2DqxMGuIwVA8z0P4K6ViPcd/cp+0w==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -559,8 +559,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@5.2.4': - resolution: {integrity: sha512-fTuJ5Cq9W286isLxwj6GGyfTjx1Zdk4qppVEPexFuA6yioCCXS4V1zfKroQqw7QdbDPN73xs2DiIAlo55+kBqg==} + '@inquirer/rawlist@5.2.6': + resolution: {integrity: sha512-jfw0MLJ5TilNsa9zlJ6nmRM0ZFVZhhTICt4/6CU2Dv1ndY7l3sqqo1gIYZyMMDw0LvE1u1nzJNisfHEhJIxq5w==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -568,8 +568,8 @@ packages: '@types/node': optional: true - '@inquirer/search@4.1.4': - resolution: {integrity: sha512-9yPTxq7LPmYjrGn3DRuaPuPbmC6u3fiWcsE9ggfLcdgO/ICHYgxq7mEy1yJ39brVvgXhtOtvDVjDh9slJxE4LQ==} + '@inquirer/search@4.1.6': + resolution: {integrity: sha512-3/6kTRae98hhDevENScy7cdFEuURnSpM3JbBNg8yfXLw88HgTOl+neUuy/l9W0No5NzGsLVydhBzTIxZP7yChQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -577,8 +577,8 @@ packages: '@types/node': optional: true - '@inquirer/select@5.1.0': - resolution: {integrity: sha512-OyYbKnchS1u+zRe14LpYrN8S0wH1vD0p2yKISvSsJdH2TpI87fh4eZdWnpdbrGauCRWDph3NwxRmM4Pcm/hx1Q==} + '@inquirer/select@5.1.2': + resolution: {integrity: sha512-kTK8YIkHV+f02y7bWCh7E0u2/11lul5WepVTclr3UMBtBr05PgcZNWfMa7FY57ihpQFQH/spLMHTcr0rXy50tA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -586,8 +586,8 @@ packages: '@types/node': optional: true - '@inquirer/type@4.0.3': - resolution: {integrity: sha512-cKZN7qcXOpj1h+1eTTcGDVLaBIHNMT1Rz9JqJP5MnEJ0JhgVWllx7H/tahUp5YEK1qaByH2Itb8wLG/iScD5kw==} + '@inquirer/type@4.0.4': + resolution: {integrity: sha512-PamArxO3cFJZoOzspzo6cxVlLeIftyBsZw/S9bKY5DzxqJVZgjoj1oP8d0rskKtp7sZxBycsoer1g6UeJV1BBA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -630,8 +630,8 @@ packages: '@kevisual/auth@2.0.3': resolution: {integrity: sha512-4xpijaIhlCTr/DlJaV/gmkCQeg45EO1yxWpRvUX+1jCdVbuxSR0wZrF0SD9oybnjmKWMKDNPLsXyduFjMGcItA==} - '@kevisual/cnb@0.0.46': - resolution: {integrity: sha512-D39NwnlqL5U2AQ0q5TXkKpR+E+fBEklA7gGY93dfJN1lzgOgMnzJxIbu+PFKN7u1EYE3lMGpK+s0MTcDExmkZw==} + '@kevisual/cnb@0.0.53': + resolution: {integrity: sha512-moDiUkWNaHtOvQ2WXhILD2o7OdKv+/QW6fb4Iq8VXPBI+AYdVN4kmdBSIXR1RGulbYX82gaZcjypC/4vYDD/PQ==} hasBin: true '@kevisual/context@0.0.4': @@ -680,11 +680,8 @@ packages: '@kevisual/router@0.0.51': resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==} - '@kevisual/router@0.1.1': - resolution: {integrity: sha512-+uaJc+Bf/T1mfxyfy9PmwuxJGPOLhVqrmsli2xUPqkkFvizrFIGB1vBTITuo5XP/FnwGqxgbjsitG57AMubm3w==} - - '@kevisual/router@0.1.2': - resolution: {integrity: sha512-GLLJMZXtv3nUQKJXyE+vJFiCuntpuBc0VT8hMQyGvxwzqN8BY8rX6yS9TNDWhSXLwLYed8BJtG+azEONDjFCpw==} + '@kevisual/router@0.1.5': + resolution: {integrity: sha512-ZsHYGQ49j70wQQqEafSPLpgjD2Vv3c7wFUm+iHyVFCW1f8tHjyMZjsG2cflaDmICCJBo1vhrqq5+abuDJq/U9g==} '@kevisual/types@0.0.12': resolution: {integrity: sha512-zJXH2dosir3jVrQ6QG4i0+iLQeT9gJ3H+cKXs8ReWboxBSYzUZO78XssVeVrFPsJ33iaAqo4q3DWbSS1dWGn7Q==} @@ -724,11 +721,11 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opencode-ai/plugin@1.2.26': - resolution: {integrity: sha512-pC71KGAI9T0+S84KpbEq9THp5pT7KOq+GmfdXkvQ7KSH5zi+iASWRhqorir73sKmEj2MQfpbe1BxdcU5qbeOwA==} + '@opencode-ai/plugin@1.2.27': + resolution: {integrity: sha512-h+8Bw9v9nghMg7T+SUCTzxlIhOrsTqXW7U0HVLGQST5DjbN7uyCUM51roZWZ8LRjGxzbzFhvPnY1bj8i+ioZyw==} - '@opencode-ai/sdk@1.2.26': - resolution: {integrity: sha512-HPB+0pfvTMPj2KEjNLF3oqgldKW8koTJ7ssqXwzndazqxS+gUynzvdIKIQP4+QIInNcc5nJMG9JtfLcePGgTLQ==} + '@opencode-ai/sdk@1.2.27': + resolution: {integrity: sha512-Wk0o/I+Fo+wE3zgvlJDs8Fb67KlKqX0PrV8dK5adSDkANq6r4Z25zXJg2iOir+a8ntg3rAcpel1OY4FV/TwRUA==} '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} @@ -1867,8 +1864,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - meilisearch@0.55.0: - resolution: {integrity: sha512-qSMeiezfDgIqciIeYzh5E4pXDZZD7CtHeWDCs43kN3trLgl5FtfmBAIkljL3huFaOx08feYtC8FfIFUpVwq6rg==} + meilisearch@0.56.0: + resolution: {integrity: sha512-kBXba8DcSrLWHYqopCm2JL90oBy97VdIfHkP1ii7/eHufeEEEk9Zu5Vv/IFQpNzmhEpWszVFVlGvZoI6QJeGzA==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1923,8 +1920,8 @@ packages: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} - nanoid@5.1.6: - resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} + nanoid@5.1.7: + resolution: {integrity: sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==} engines: {node: ^18 || >=20} hasBin: true @@ -2393,8 +2390,8 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - zustand@5.0.11: - resolution: {integrity: sha512-fdZY+dk7zn/vbWNCYmzZULHRrss0jx5pPFiOuMZ/5HJN6Yv3u+1Wswy/4MpZEkEGhtNH+pwxZB8OKgUBPzYAGg==} + zustand@5.0.12: + resolution: {integrity: sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -2496,7 +2493,7 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1009.0': + '@aws-sdk/client-s3@3.1011.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 @@ -2505,7 +2502,7 @@ snapshots: '@aws-sdk/credential-provider-node': 3.972.21 '@aws-sdk/middleware-bucket-endpoint': 3.972.8 '@aws-sdk/middleware-expect-continue': 3.972.8 - '@aws-sdk/middleware-flexible-checksums': 3.973.6 + '@aws-sdk/middleware-flexible-checksums': 3.974.0 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-location-constraint': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 @@ -2698,7 +2695,7 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.973.6': + '@aws-sdk/middleware-flexible-checksums@3.974.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 @@ -2909,29 +2906,29 @@ snapshots: dependencies: fetch-event-stream: 0.1.6 - '@inquirer/ansi@2.0.3': {} + '@inquirer/ansi@2.0.4': {} - '@inquirer/checkbox@5.1.0(@types/node@25.5.0)': + '@inquirer/checkbox@5.1.2(@types/node@25.5.0)': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/ansi': 2.0.4 + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/figures': 2.0.4 + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/confirm@6.0.8(@types/node@25.5.0)': + '@inquirer/confirm@6.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/core@11.1.5(@types/node@25.5.0)': + '@inquirer/core@11.1.7(@types/node@25.5.0)': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/ansi': 2.0.4 + '@inquirer/figures': 2.0.4 + '@inquirer/type': 4.0.4(@types/node@25.5.0) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 @@ -2939,92 +2936,92 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/editor@5.0.8(@types/node@25.5.0)': + '@inquirer/editor@5.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/external-editor': 2.0.3(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/external-editor': 2.0.4(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/expand@5.0.8(@types/node@25.5.0)': + '@inquirer/expand@5.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/external-editor@2.0.3(@types/node@25.5.0)': + '@inquirer/external-editor@2.0.4(@types/node@25.5.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: '@types/node': 25.5.0 - '@inquirer/figures@2.0.3': {} + '@inquirer/figures@2.0.4': {} - '@inquirer/input@5.0.8(@types/node@25.5.0)': + '@inquirer/input@5.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/number@4.0.8(@types/node@25.5.0)': + '@inquirer/number@4.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/password@5.0.8(@types/node@25.5.0)': + '@inquirer/password@5.0.10(@types/node@25.5.0)': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/ansi': 2.0.4 + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/prompts@8.3.0(@types/node@25.5.0)': + '@inquirer/prompts@8.3.2(@types/node@25.5.0)': dependencies: - '@inquirer/checkbox': 5.1.0(@types/node@25.5.0) - '@inquirer/confirm': 6.0.8(@types/node@25.5.0) - '@inquirer/editor': 5.0.8(@types/node@25.5.0) - '@inquirer/expand': 5.0.8(@types/node@25.5.0) - '@inquirer/input': 5.0.8(@types/node@25.5.0) - '@inquirer/number': 4.0.8(@types/node@25.5.0) - '@inquirer/password': 5.0.8(@types/node@25.5.0) - '@inquirer/rawlist': 5.2.4(@types/node@25.5.0) - '@inquirer/search': 4.1.4(@types/node@25.5.0) - '@inquirer/select': 5.1.0(@types/node@25.5.0) + '@inquirer/checkbox': 5.1.2(@types/node@25.5.0) + '@inquirer/confirm': 6.0.10(@types/node@25.5.0) + '@inquirer/editor': 5.0.10(@types/node@25.5.0) + '@inquirer/expand': 5.0.10(@types/node@25.5.0) + '@inquirer/input': 5.0.10(@types/node@25.5.0) + '@inquirer/number': 4.0.10(@types/node@25.5.0) + '@inquirer/password': 5.0.10(@types/node@25.5.0) + '@inquirer/rawlist': 5.2.6(@types/node@25.5.0) + '@inquirer/search': 4.1.6(@types/node@25.5.0) + '@inquirer/select': 5.1.2(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/rawlist@5.2.4(@types/node@25.5.0)': + '@inquirer/rawlist@5.2.6(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/search@4.1.4(@types/node@25.5.0)': + '@inquirer/search@4.1.6(@types/node@25.5.0)': dependencies: - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/figures': 2.0.4 + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/select@5.1.0(@types/node@25.5.0)': + '@inquirer/select@5.1.2(@types/node@25.5.0)': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.5(@types/node@25.5.0) - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3(@types/node@25.5.0) + '@inquirer/ansi': 2.0.4 + '@inquirer/core': 11.1.7(@types/node@25.5.0) + '@inquirer/figures': 2.0.4 + '@inquirer/type': 4.0.4(@types/node@25.5.0) optionalDependencies: '@types/node': 25.5.0 - '@inquirer/type@4.0.3(@types/node@25.5.0)': + '@inquirer/type@4.0.4(@types/node@25.5.0)': optionalDependencies: '@types/node': 25.5.0 @@ -3078,11 +3075,11 @@ snapshots: es-toolkit: 1.45.1 eventemitter3: 5.0.4 fuse.js: 7.1.0 - nanoid: 5.1.6 + nanoid: 5.1.7 path-browserify-esm: 1.0.6 sonner: 2.0.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) spark-md5: 3.0.2 - zustand: 5.0.11(react@19.2.4) + zustand: 5.0.12(react@19.2.4) transitivePeerDependencies: - '@types/react' - immer @@ -3098,24 +3095,23 @@ snapshots: '@kevisual/router': 0.0.39 '@kevisual/use-config': 1.0.30(dotenv@17.3.1) mitt: 3.0.1 - nanoid: 5.1.6 + nanoid: 5.1.7 transitivePeerDependencies: - dotenv - supports-color '@kevisual/auth@2.0.3': {} - '@kevisual/cnb@0.0.46(dotenv@17.3.1)': + '@kevisual/cnb@0.0.53(dotenv@17.3.1)': dependencies: '@kevisual/query': 0.0.53 - '@kevisual/router': 0.1.1 + '@kevisual/router': 0.1.5 '@kevisual/use-config': 1.0.30(dotenv@17.3.1) - '@opencode-ai/sdk': 1.2.26 + '@opencode-ai/sdk': 1.2.27 es-toolkit: 1.45.1 - nanoid: 5.1.6 + nanoid: 5.1.7 unstorage: 1.17.4 ws: '@kevisual/ws@8.19.0' - zod: 4.3.6 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -3197,11 +3193,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@kevisual/router@0.1.1': - dependencies: - es-toolkit: 1.45.1 - - '@kevisual/router@0.1.2': + '@kevisual/router@0.1.5': dependencies: crypto-js: 4.2.0 es-toolkit: 1.45.1 @@ -3224,7 +3216,7 @@ snapshots: crypto-js: 4.2.0 dayjs: 1.11.20 eventemitter3: 5.0.4 - nanoid: 5.1.6 + nanoid: 5.1.7 transitivePeerDependencies: - dotenv - supports-color @@ -3249,12 +3241,12 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@opencode-ai/plugin@1.2.26': + '@opencode-ai/plugin@1.2.27': dependencies: - '@opencode-ai/sdk': 1.2.26 + '@opencode-ai/sdk': 1.2.27 zod: 4.1.8 - '@opencode-ai/sdk@1.2.26': {} + '@opencode-ai/sdk@1.2.27': {} '@opentelemetry/api@1.9.0': {} @@ -4479,7 +4471,7 @@ snapshots: math-intrinsics@1.1.0: {} - meilisearch@0.55.0: {} + meilisearch@0.56.0: {} merge2@1.4.1: {} @@ -4518,7 +4510,7 @@ snapshots: mute-stream@3.0.0: {} - nanoid@5.1.6: {} + nanoid@5.1.7: {} needle@2.4.0(supports-color@10.2.2): dependencies: @@ -4986,6 +4978,6 @@ snapshots: zod@4.3.6: {} - zustand@5.0.11(react@19.2.4): + zustand@5.0.12(react@19.2.4): optionalDependencies: react: 19.2.4