diff --git a/package.json b/package.json index 79413c3..8338a53 100644 --- a/package.json +++ b/package.json @@ -17,14 +17,15 @@ "license": "MIT", "type": "module", "dependencies": { - "@ant-design/x": "^2.0.1", + "@ant-design/x": "^2.1.0", "@astrojs/mdx": "^4.3.12", "@astrojs/react": "^4.4.2", "@astrojs/sitemap": "^3.6.0", "@floating-ui/dom": "^1.7.4", + "@kevisual/ai": "^0.0.19", "@kevisual/context": "^0.0.4", "@kevisual/kv-login": "^0.0.8", - "@kevisual/query": "0.0.29", + "@kevisual/query": "0.0.31", "@kevisual/query-login": "^0.0.7", "@kevisual/registry": "^0.0.1", "@radix-ui/react-dialog": "^1.1.15", @@ -37,7 +38,7 @@ "dayjs": "^1.11.19", "es-toolkit": "^1.42.0", "github-markdown-css": "^5.8.1", - "lucide-react": "^0.555.0", + "lucide-react": "^0.556.0", "nanoid": "^5.1.6", "qrcode": "^1.5.4", "react": "^19.2.1", @@ -47,7 +48,7 @@ "zustand": "^5.0.9" }, "devDependencies": { - "@kevisual/router": "0.0.33", + "@kevisual/router": "0.0.36", "@kevisual/store": "0.0.9", "@kevisual/types": "^0.0.10", "@tailwindcss/vite": "^4.1.17", @@ -59,7 +60,7 @@ "react": "^19.2.1", "tailwindcss": "^4.1.17", "tw-animate-css": "^1.4.0", - "vite": "^7.2.6" + "vite": "^7.2.7" }, "pnpm": { "onlyBuiltDependencies": [ diff --git a/packages/kv-login/src/main.ts b/packages/kv-login/src/main.ts index b4215c1..d151c45 100644 --- a/packages/kv-login/src/main.ts +++ b/packages/kv-login/src/main.ts @@ -1,4 +1,7 @@ +import { checkPluginLogin } from './modules/login-handle'; import './pages/kv-login' import './pages/kv-message' -export { loginEmitter } from './pages/kv-login' \ No newline at end of file +export { loginEmitter } from './pages/kv-login' + +export { checkPluginLogin } \ No newline at end of file diff --git a/packages/kv-login/src/modules/login-handle.ts b/packages/kv-login/src/modules/login-handle.ts index c559c36..9bce8d8 100644 --- a/packages/kv-login/src/modules/login-handle.ts +++ b/packages/kv-login/src/modules/login-handle.ts @@ -146,6 +146,29 @@ export const checkMpWechat = async () => { closePage(); } } +export const checkPluginLogin = async () => { + const userCheck = 'user-check'; + const url = new URL(location.href); + const redirect = url.searchParams.get('redirect'); + const redirectUrl = redirect ? decodeURIComponent(redirect) : ''; + const checkKey = url.searchParams.get(userCheck); + if (redirect && checkKey) { + // 通过refresh_token 刷新token + const me = await query.getMe(); + if (me.code === 200) { + message.success('登录插件中...'); + const token = await query.cacheStore.getAccessToken(); + const newRedirectUrl = new URL(redirectUrl); + newRedirectUrl.searchParams.set('token', token + ''); + setTimeout(() => { + window.open(newRedirectUrl.toString(), '_blank'); + }, 2000); + return; + } + // 刷新token失败,登陆页自己跳转 + } + console.log('checkKey', checkKey, redirectUrl); +} const isWechat = () => { const ua = navigator.userAgent.toLowerCase(); return /micromessenger/i.test(ua); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf2ba4c..fbf62e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@ant-design/x': - specifier: ^2.0.1 - version: 2.0.1(antd@6.0.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: ^2.1.0 + version: 2.1.0(antd@6.0.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@astrojs/mdx': specifier: ^4.3.12 version: 4.3.12(astro@5.16.4(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.52.5)(terser@5.37.0)(typescript@5.8.3)) @@ -23,18 +23,21 @@ importers: '@floating-ui/dom': specifier: ^1.7.4 version: 1.7.4 + '@kevisual/ai': + specifier: ^0.0.19 + version: 0.0.19 '@kevisual/context': specifier: ^0.0.4 version: 0.0.4 '@kevisual/kv-login': specifier: ^0.0.8 - version: 0.0.8(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76)) + version: 0.0.8(@kevisual/query@0.0.31) '@kevisual/query': - specifier: 0.0.29 - version: 0.0.29(ws@8.18.0)(zod@3.25.76) + specifier: 0.0.31 + version: 0.0.31 '@kevisual/query-login': specifier: ^0.0.7 - version: 0.0.7(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76)) + version: 0.0.7(@kevisual/query@0.0.31) '@kevisual/registry': specifier: ^0.0.1 version: 0.0.1(typescript@5.8.3) @@ -49,7 +52,7 @@ importers: version: 1.2.4(@types/react@19.2.7)(react@19.2.1) '@tailwindcss/vite': specifier: ^4.1.17 - version: 4.1.17(vite@7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)) + version: 4.1.17(vite@7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)) astro: specifier: ^5.16.4 version: 5.16.4(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.52.5)(terser@5.37.0)(typescript@5.8.3) @@ -69,8 +72,8 @@ importers: specifier: ^5.8.1 version: 5.8.1 lucide-react: - specifier: ^0.555.0 - version: 0.555.0(react@19.2.1) + specifier: ^0.556.0 + version: 0.556.0(react@19.2.1) nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -94,8 +97,8 @@ importers: version: 5.0.9(@types/react@19.2.7)(react@19.2.1) devDependencies: '@kevisual/router': - specifier: 0.0.33 - version: 0.0.33 + specifier: 0.0.36 + version: 0.0.36 '@kevisual/store': specifier: 0.0.9 version: 0.0.9 @@ -113,7 +116,7 @@ importers: version: 19.2.3(@types/react@19.2.7) '@vitejs/plugin-basic-ssl': specifier: ^2.1.0 - version: 2.1.0(vite@7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)) + version: 2.1.0(vite@7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)) dotenv: specifier: ^17.2.3 version: 17.2.3 @@ -124,8 +127,8 @@ importers: specifier: ^1.4.0 version: 1.4.0 vite: - specifier: ^7.2.6 - version: 7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) + specifier: ^7.2.7 + version: 7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) packages/user-login: dependencies: @@ -245,12 +248,16 @@ packages: peerDependencies: react: '>=16.9.0' - '@ant-design/x@2.0.1': - resolution: {integrity: sha512-s2I43bn6QnWYJAAwtIqa2RJr6WXjlPXLdqwTKtAFNLcyFZY4LwB7iVmmgwhqltYu0aP2MeTeFpdPCbMbUMJroA==} + '@ant-design/x@2.1.0': + resolution: {integrity: sha512-BkbOhaH9rJOlMtgIfDKB1mfU6t5vwSCRs9f87aGVqZjlhNhA3wt1JkFuB5WL/82JFrMzSsF1qpYpzByjAVTL0w==} peerDependencies: antd: ^6.0.1 + mermaid: ^11.12.1 react: '>=18.0.0' react-dom: '>=18.0.0' + peerDependenciesMeta: + mermaid: + optional: true '@astrojs/compiler@2.13.0': resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==} @@ -871,6 +878,9 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@kevisual/ai@0.0.19': + resolution: {integrity: sha512-AFc8m6OcHZNxCb88bvzhvwWTZ4EVYyPupBzPUsLKLpdNBvsqm9TRboKCM2brJj2cqHnm+H+RbAk9AcGJkYhRCA==} + '@kevisual/cache@0.0.2': resolution: {integrity: sha512-2Cl5KF2Gi27uLfhO6CdTMFnRzx9vYnqevAo7d9ab3rOaqTgF8tLeAXglXyRbaWW3WUbHU2XaOb4r98uUsqIQQw==} @@ -883,6 +893,12 @@ packages: '@kevisual/kv-login@0.0.8': resolution: {integrity: sha512-N6nDCwI0sZkjQAiJf7JpyVvn5x3Nf2qWp9U9vzSMDyYeV/PHNzMZIr42Woma2MGFwcjMRjcnJxIC7HWARVLLsQ==} + '@kevisual/logger@0.0.4': + resolution: {integrity: sha512-+fpr92eokSxoGOW1SIRl/27lPuO+zyY+feR5o2Q4YCNlAdt2x64NwC/w8r/3NEC5QenLgd4K0azyKTI2mHbARw==} + + '@kevisual/permission@0.0.3': + resolution: {integrity: sha512-8JsA/5O5Ax/z+M+MYpFYdlioHE6jNmWMuFSokBWYs9CCAHNiSKMR01YLkoVDoPvncfH/Y8F5K/IEXRCbptuMNA==} + '@kevisual/query-login@0.0.6': resolution: {integrity: sha512-ZdX+sxeQaM3PV9fZXofMlxFz1RmpYIkoi47exzUgw6DADjEryBAQKRXe2/oL20NsBTV8owqaagRqffAVjq5c5g==} peerDependencies: @@ -896,14 +912,17 @@ packages: '@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/registry@0.0.1': resolution: {integrity: sha512-//OHu9m4JDrMjgP8o8dcjZd3D3IAUkRVlkTSviouZEH7r5m7mccA3Hvzw0XJ/lelx6exC6LWsyv6c4uV0Dp+gw==} '@kevisual/router@0.0.30': resolution: {integrity: sha512-/mBo7aZFWjT4QfHkI5HPXfdgSwZzt3mAVei7dcNSBTPe9KQSoYKZ8BTq9VTUj3XE0sI6o1bZjlLYvinpVnZilw==} - '@kevisual/router@0.0.33': - resolution: {integrity: sha512-9z7TkSzCIGbXn9SuHPBdZpGwHlAuwA8iN5jNAZBUvbEvBRkBxlrbdCSe9fBYiAHueLm2AceFNrW74uulOiAkqA==} + '@kevisual/router@0.0.36': + resolution: {integrity: sha512-o7GAb5T0WwRuHnWe3KB0/SPVaNHrnsFSNAQ9XuWokobfDP1ACFvOR9/rjbC0fbGFaeTeRKAprixxKkY1sfunBw==} '@kevisual/ssl@0.0.1': resolution: {integrity: sha512-Uh7PCkR5x1kEGvlEn4PrKE5C7yM5MiBsWwneTZyQMJJ/yrV3FZELXGYHzsb/Kb7V10d5skool7BtlL92AJEZpQ==} @@ -920,9 +939,47 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@peculiar/asn1-cms@2.6.0': + resolution: {integrity: sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==} + + '@peculiar/asn1-csr@2.6.0': + resolution: {integrity: sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==} + + '@peculiar/asn1-ecc@2.6.0': + resolution: {integrity: sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==} + + '@peculiar/asn1-pfx@2.6.0': + resolution: {integrity: sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==} + + '@peculiar/asn1-pkcs8@2.6.0': + resolution: {integrity: sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==} + + '@peculiar/asn1-pkcs9@2.6.0': + resolution: {integrity: sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==} + + '@peculiar/asn1-rsa@2.6.0': + resolution: {integrity: sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==} + + '@peculiar/asn1-schema@2.6.0': + resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==} + + '@peculiar/asn1-x509-attr@2.6.0': + resolution: {integrity: sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==} + + '@peculiar/asn1-x509@2.6.0': + resolution: {integrity: sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==} + + '@peculiar/x509@1.14.2': + resolution: {integrity: sha512-r2w1Hg6pODDs0zfAKHkSS5HLkOLSeburtcgwvlLLWWCixw+MmW3U6kD5ddyvc2Y2YdbGuVwCF2S2ASoU1cFAag==} + engines: {node: '>=22.0.0'} + '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -1745,6 +1802,9 @@ packages: '@types/node@22.10.3': resolution: {integrity: sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==} + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + '@types/qrcode@1.5.6': resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} @@ -1856,6 +1916,10 @@ packages: array-iterate@2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + asn1js@3.0.6: + resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==} + engines: {node: '>=12.0.0'} + astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true @@ -1900,6 +1964,10 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -2246,6 +2314,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2269,6 +2340,10 @@ packages: fontkit@2.0.4: resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -2350,6 +2425,12 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + highlightjs-vue@1.0.0: + resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} + html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} @@ -2557,9 +2638,15 @@ packages: lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + lowlight@1.20.0: + resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2571,8 +2658,8 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - lucide-react@0.555.0: - resolution: {integrity: sha512-D8FvHUGbxWBRQM90NZeIyhAvkFfsh3u9ekrMvJ30Z6gnpBHS6HC6ldLg7tL45hwiIz/u66eKDtdA23gwwGsAHA==} + lucide-react@0.556.0: + resolution: {integrity: sha512-iOb8dRk7kLaYBZhR2VlV1CeJGxChBgUthpSP8wom9jfj79qovgG6qcSdiy6vkoREKPnbUYzJsCn4o4PtG3Iy+A==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -2907,6 +2994,10 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pkijs@3.3.3: + resolution: {integrity: sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==} + engines: {node: '>=16.0.0'} + pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} @@ -2929,6 +3020,13 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.5: + resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + engines: {node: '>=16.0.0'} + qrcode@1.5.4: resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} engines: {node: '>=10.13.0'} @@ -3039,6 +3137,12 @@ packages: '@types/react': optional: true + react-syntax-highlighter@16.1.0: + resolution: {integrity: sha512-E40/hBiP5rCNwkeBN1vRP+xow1X0pndinO+z3h7HLsHyjztbyjfzNWNKuAsJj+7DLam9iT4AaaOZnueCU+Nplg==} + engines: {node: '>= 16.20.2'} + peerDependencies: + react: '>= 0.14.0' + react-toastify@11.0.5: resolution: {integrity: sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==} peerDependencies: @@ -3071,6 +3175,12 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + refractor@5.0.0: + resolution: {integrity: sha512-QXOrHQF5jOpjjLfiNk5GFnWhRXvxjUVnlFxkeDmewR5sXkr3iM46Zo+CnRR8B+MDVqkULW4EcLVcRBNOPXHosw==} + regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -3169,9 +3279,9 @@ packages: resolution: {integrity: sha512-6U6w6kSLrM9Zxo0D7mC7QdGS6ZZytMWBnj/vhF9p+dAHx6CwGezuRcO4VclTbrrI7mg7SD6zNiqXUuBHOVopNQ==} engines: {node: '>=10'} - selfsigned@4.0.0: - resolution: {integrity: sha512-eP/1BEUCziBF/7p96ergE2JlGOMsGj9kIe77pD99G3ValgxDFwHA2oNCYW4rjlmYp8LXc684ypH0836GjSKw0A==} - engines: {node: '>=10'} + selfsigned@5.2.0: + resolution: {integrity: sha512-QKF6fsJgdKn5Cy1SekTuwUQ6LOLUdnO4gVne1+TGSAyL/CD1aznNCmBna+bQB9xyon7DiYbDtTR1cLaxDXuaVA==} + engines: {node: '>=15.6.0'} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3345,9 +3455,16 @@ packages: typescript: optional: true + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsyringe@4.10.0: + resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} + engines: {node: '>= 6.0.0'} + tw-animate-css@1.4.0: resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} @@ -3591,8 +3708,8 @@ packages: yaml: optional: true - vite@7.2.6: - resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==} + vite@7.2.7: + resolution: {integrity: sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -3822,7 +3939,7 @@ snapshots: resize-observer-polyfill: 1.5.1 throttle-debounce: 5.0.2 - '@ant-design/x@2.0.1(antd@6.0.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': + '@ant-design/x@2.1.0(antd@6.0.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@ant-design/colors': 8.0.0 '@ant-design/cssinjs': 2.0.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) @@ -3832,10 +3949,12 @@ snapshots: '@babel/runtime': 7.28.4 antd: 6.0.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) classnames: 2.5.1 + lodash.throttle: 4.1.1 rc-motion: 2.9.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) rc-util: 5.44.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react: 19.2.1 react-dom: 19.2.1(react@19.2.1) + react-syntax-highlighter: 16.1.0(react@19.2.1) '@astrojs/compiler@2.13.0': {} @@ -4356,6 +4475,12 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@kevisual/ai@0.0.19': + dependencies: + '@kevisual/logger': 0.0.4 + '@kevisual/permission': 0.0.3 + '@kevisual/query': 0.0.31 + '@kevisual/cache@0.0.2(rollup@4.52.5)(tslib@2.8.1)(typescript@5.8.3)': dependencies: '@rollup/plugin-commonjs': 28.0.3(rollup@4.52.5) @@ -4374,15 +4499,19 @@ snapshots: '@kevisual/context@0.0.4': {} - '@kevisual/kv-login@0.0.8(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76))': + '@kevisual/kv-login@0.0.8(@kevisual/query@0.0.31)': dependencies: '@kevisual/context': 0.0.4 - '@kevisual/query-login': 0.0.7(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76)) + '@kevisual/query-login': 0.0.7(@kevisual/query@0.0.31) lit-html: 3.3.1 qrcode: 1.5.4 transitivePeerDependencies: - '@kevisual/query' + '@kevisual/logger@0.0.4': {} + + '@kevisual/permission@0.0.3': {} + '@kevisual/query-login@0.0.6(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76))(rollup@4.52.5)(tslib@2.8.1)(typescript@5.8.3)': dependencies: '@kevisual/cache': 0.0.2(rollup@4.52.5)(tslib@2.8.1)(typescript@5.8.3) @@ -4393,10 +4522,10 @@ snapshots: - tslib - typescript - '@kevisual/query-login@0.0.7(@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76))': + '@kevisual/query-login@0.0.7(@kevisual/query@0.0.31)': dependencies: '@kevisual/cache': 0.0.3 - '@kevisual/query': 0.0.29(ws@8.18.0)(zod@3.25.76) + '@kevisual/query': 0.0.31 dotenv: 17.2.3 '@kevisual/query@0.0.29(ws@8.18.0)(zod@3.25.76)': @@ -4406,6 +4535,8 @@ snapshots: - ws - zod + '@kevisual/query@0.0.31': {} + '@kevisual/registry@0.0.1(typescript@5.8.3)': dependencies: class-variance-authority: 0.7.1 @@ -4432,10 +4563,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@kevisual/router@0.0.33': + '@kevisual/router@0.0.36': dependencies: path-to-regexp: 8.3.0 - selfsigned: 4.0.0 + selfsigned: 5.2.0 send: 1.2.0 transitivePeerDependencies: - supports-color @@ -4478,8 +4609,100 @@ snapshots: transitivePeerDependencies: - supports-color + '@noble/hashes@1.4.0': {} + '@oslojs/encoding@1.1.0': {} + '@peculiar/asn1-cms@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + '@peculiar/asn1-x509-attr': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.6.0': + dependencies: + '@peculiar/asn1-cms': 2.6.0 + '@peculiar/asn1-pkcs8': 2.6.0 + '@peculiar/asn1-rsa': 2.6.0 + '@peculiar/asn1-schema': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.6.0': + dependencies: + '@peculiar/asn1-cms': 2.6.0 + '@peculiar/asn1-pfx': 2.6.0 + '@peculiar/asn1-pkcs8': 2.6.0 + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + '@peculiar/asn1-x509-attr': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.6.0': + dependencies: + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.6.0': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/x509@1.14.2': + dependencies: + '@peculiar/asn1-cms': 2.6.0 + '@peculiar/asn1-csr': 2.6.0 + '@peculiar/asn1-ecc': 2.6.0 + '@peculiar/asn1-pkcs9': 2.6.0 + '@peculiar/asn1-rsa': 2.6.0 + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.0 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.10.0 + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': @@ -5227,12 +5450,12 @@ snapshots: tailwindcss: 4.1.17 vite: 7.2.2(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) - '@tailwindcss/vite@4.1.17(vite@7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0))': + '@tailwindcss/vite@4.1.17(vite@7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0))': dependencies: '@tailwindcss/node': 4.1.17 '@tailwindcss/oxide': 4.1.17 tailwindcss: 4.1.17 - vite: 7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) + vite: 7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) '@types/babel__core@7.20.5': dependencies: @@ -5291,6 +5514,8 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/prismjs@1.26.5': {} + '@types/qrcode@1.5.6': dependencies: '@types/node': 22.10.3 @@ -5329,9 +5554,9 @@ snapshots: dependencies: vite: 7.2.2(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) - '@vitejs/plugin-basic-ssl@2.1.0(vite@7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0))': + '@vitejs/plugin-basic-ssl@2.1.0(vite@7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0))': dependencies: - vite: 7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) + vite: 7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0) '@vitejs/plugin-react@4.7.0(vite@6.4.1(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0))': dependencies: @@ -5450,6 +5675,12 @@ snapshots: array-iterate@2.0.1: {} + asn1js@3.0.6: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + astring@1.9.0: {} astro@5.16.4(idb-keyval@6.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.52.5)(terser@5.37.0)(typescript@5.8.3): @@ -5592,6 +5823,8 @@ snapshots: buffer-from@1.1.2: optional: true + bytestreamjs@2.0.1: {} + camelcase@5.3.1: {} camelcase@8.0.0: {} @@ -5931,6 +6164,10 @@ snapshots: fast-deep-equal@3.1.3: {} + fault@1.0.4: + dependencies: + format: 0.2.2 + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -5959,6 +6196,8 @@ snapshots: unicode-properties: 1.4.1 unicode-trie: 2.0.0 + format@0.2.2: {} + fresh@2.0.0: {} fsevents@2.3.3: @@ -6124,6 +6363,10 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 + highlight.js@10.7.3: {} + + highlightjs-vue@1.0.0: {} + html-escaper@3.0.3: {} html-parse-stringify@3.0.1: @@ -6288,8 +6531,15 @@ snapshots: lodash-es@4.17.21: {} + lodash.throttle@4.1.1: {} + longest-streak@3.1.0: {} + lowlight@1.20.0: + dependencies: + fault: 1.0.4 + highlight.js: 10.7.3 + lru-cache@10.4.3: {} lru-cache@5.1.1: @@ -6300,7 +6550,7 @@ snapshots: dependencies: react: 19.2.1 - lucide-react@0.555.0(react@19.2.1): + lucide-react@0.556.0(react@19.2.1): dependencies: react: 19.2.1 @@ -6882,6 +7132,15 @@ snapshots: picomatch@4.0.3: {} + pkijs@3.3.3: + dependencies: + '@noble/hashes': 1.4.0 + asn1js: 3.0.6 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + pngjs@5.0.0: {} postcss@8.5.6: @@ -6901,6 +7160,12 @@ snapshots: property-information@7.1.0: {} + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.5: {} + qrcode@1.5.4: dependencies: dijkstrajs: 1.0.3 @@ -7006,6 +7271,16 @@ snapshots: optionalDependencies: '@types/react': 19.2.7 + react-syntax-highlighter@16.1.0(react@19.2.1): + dependencies: + '@babel/runtime': 7.28.4 + highlight.js: 10.7.3 + highlightjs-vue: 1.0.0 + lowlight: 1.20.0 + prismjs: 1.30.0 + react: 19.2.1 + refractor: 5.0.0 + react-toastify@11.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: clsx: 2.1.1 @@ -7053,6 +7328,15 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + reflect-metadata@0.2.2: {} + + refractor@5.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/prismjs': 1.26.5 + hastscript: 9.0.1 + parse-entities: 4.0.2 + regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -7231,9 +7515,10 @@ snapshots: dependencies: node-forge: 1.3.1 - selfsigned@4.0.0: + selfsigned@5.2.0: dependencies: - node-forge: 1.3.1 + '@peculiar/x509': 1.14.2 + pkijs: 3.3.3 semver@6.3.1: {} @@ -7426,8 +7711,14 @@ snapshots: optionalDependencies: typescript: 5.8.3 + tslib@1.14.1: {} + tslib@2.8.1: {} + tsyringe@4.10.0: + dependencies: + tslib: 1.14.1 + tw-animate-css@1.4.0: {} type-fest@4.41.0: {} @@ -7591,7 +7882,7 @@ snapshots: lightningcss: 1.30.2 terser: 5.37.0 - vite@7.2.6(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0): + vite@7.2.7(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0): dependencies: esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3)