feat(auth): add authentication routes and user token handling
- Implemented user authentication routes in `auth.ts` for fetching current user info and admin verification. - Added caching mechanism for user tokens to improve performance. - Created middleware for admin authentication. feat(opencode): create OpenCode client route - Added `opencode-cnb` route for creating OpenCode clients with session management. - Integrated OpenCode SDK for client operations and session handling. refactor(client): encapsulate OpenCode client creation - Created a utility function `getClient` in `client.ts` to initialize OpenCode clients. test(opencode): add tests for OpenCode routes - Implemented test cases for OpenCode routes in `list.ts` to validate functionality. - Created common utilities for testing in `common.ts`.
This commit is contained in:
@@ -54,13 +54,13 @@
|
|||||||
"@kevisual/use-config": "^1.0.30",
|
"@kevisual/use-config": "^1.0.30",
|
||||||
"@opencode-ai/plugin": "^1.2.24",
|
"@opencode-ai/plugin": "^1.2.24",
|
||||||
"@types/bun": "^1.3.10",
|
"@types/bun": "^1.3.10",
|
||||||
"@types/node": "^25.4.0",
|
"@types/node": "^25.5.0",
|
||||||
"@types/send": "^1.2.1",
|
"@types/send": "^1.2.1",
|
||||||
"@types/ws": "^8.18.1",
|
"@types/ws": "^8.18.1",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"commander": "^14.0.3",
|
"commander": "^14.0.3",
|
||||||
"cross-env": "^10.1.0",
|
"cross-env": "^10.1.0",
|
||||||
"dayjs": "^1.11.19",
|
"dayjs": "^1.11.20",
|
||||||
"dotenv": "^17.3.1",
|
"dotenv": "^17.3.1",
|
||||||
"get-port": "^7.1.0",
|
"get-port": "^7.1.0",
|
||||||
"nanoid": "^5.1.6",
|
"nanoid": "^5.1.6",
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.1007.0",
|
"@aws-sdk/client-s3": "^3.1008.0",
|
||||||
"@kevisual/js-filter": "^0.0.6",
|
"@kevisual/js-filter": "^0.0.6",
|
||||||
"@kevisual/oss": "^0.0.20",
|
"@kevisual/oss": "^0.0.20",
|
||||||
"@kevisual/video-tools": "^0.0.13",
|
"@kevisual/video-tools": "^0.0.13",
|
||||||
|
|||||||
119
assistant/src/routes/auth.ts
Normal file
119
assistant/src/routes/auth.ts
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
import { app, assistantConfig } from '../app.ts';
|
||||||
|
import { authCache } from '@/module/cache/auth.ts';
|
||||||
|
|
||||||
|
import { logger } from '@/module/logger.ts';
|
||||||
|
const getTokenUser = async (token: string) => {
|
||||||
|
const query = assistantConfig.query
|
||||||
|
const res = await query.post({
|
||||||
|
path: 'user',
|
||||||
|
key: 'me',
|
||||||
|
token: token,
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
export const getTokenUserCache = async (token: string) => {
|
||||||
|
const tokenUser = await authCache.get(token);
|
||||||
|
if (tokenUser) {
|
||||||
|
return {
|
||||||
|
code: 200,
|
||||||
|
data: tokenUser,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const res = await getTokenUser(token);
|
||||||
|
if (res.code === 200) {
|
||||||
|
authCache.set(token, res.data);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
export const checkAuth = async (ctx: any, isAdmin = false) => {
|
||||||
|
const config = assistantConfig.getConfig();
|
||||||
|
const { auth = {} } = config;
|
||||||
|
const token = ctx.query.token;
|
||||||
|
logger.debug('checkAuth', ctx.query, { token });
|
||||||
|
if (!token) {
|
||||||
|
return {
|
||||||
|
code: 401,
|
||||||
|
message: '未登录',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 鉴权代理
|
||||||
|
let tokenUser = await authCache.get(token);
|
||||||
|
if (!tokenUser) {
|
||||||
|
const tokenUserRes = await getTokenUser(token);
|
||||||
|
if (tokenUserRes.code !== 200) {
|
||||||
|
return {
|
||||||
|
code: tokenUserRes.code,
|
||||||
|
message: '验证失败' + tokenUserRes.message,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
tokenUser = tokenUserRes.data;
|
||||||
|
}
|
||||||
|
authCache.set(token, tokenUser);
|
||||||
|
}
|
||||||
|
ctx.state = {
|
||||||
|
...ctx.state,
|
||||||
|
token,
|
||||||
|
tokenUser,
|
||||||
|
};
|
||||||
|
const { username } = tokenUser;
|
||||||
|
if (!auth.username) {
|
||||||
|
// 初始管理员账号
|
||||||
|
auth.username = username;
|
||||||
|
assistantConfig.setConfig({ auth });
|
||||||
|
}
|
||||||
|
if (isAdmin && auth.username) {
|
||||||
|
const admins = config.auth?.admin || [];
|
||||||
|
let isCheckAdmin = false;
|
||||||
|
const admin = auth.username;
|
||||||
|
if (admin === username) {
|
||||||
|
isCheckAdmin = true;
|
||||||
|
}
|
||||||
|
if (!isCheckAdmin && admins.length > 0 && admins.includes(username)) {
|
||||||
|
isCheckAdmin = true;
|
||||||
|
}
|
||||||
|
if (!isCheckAdmin) {
|
||||||
|
return {
|
||||||
|
code: 403,
|
||||||
|
message: '非管理员用户',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
code: 200,
|
||||||
|
data: { tokenUser, token }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
app
|
||||||
|
.route({
|
||||||
|
path: 'auth',
|
||||||
|
id: 'auth',
|
||||||
|
description: '获取当前登录用户信息, 第一个登录的用户为管理员用户',
|
||||||
|
})
|
||||||
|
.define(async (ctx) => {
|
||||||
|
if (!ctx.query?.token && ctx.appId === app.appId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const authResult = await checkAuth(ctx);
|
||||||
|
if (authResult.code !== 200) {
|
||||||
|
ctx.throw(authResult.code, authResult.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.addTo(app);
|
||||||
|
app
|
||||||
|
.route({
|
||||||
|
path: 'auth-admin',
|
||||||
|
id: 'auth-admin',
|
||||||
|
description: '管理员鉴权, 获取用户信息,并验证是否为管理员。',
|
||||||
|
})
|
||||||
|
.define(async (ctx) => {
|
||||||
|
// logger.debug('query', ctx.query);
|
||||||
|
if (!ctx.query?.token && ctx.appId === app.appId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ctx.state.isAdmin = true;
|
||||||
|
const authResult = await checkAuth(ctx, true);
|
||||||
|
if (authResult.code !== 200) {
|
||||||
|
ctx.throw(authResult.code, authResult.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.addTo(app);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { app, assistantConfig } from '../app.ts';
|
|
||||||
import './config/index.ts';
|
import './config/index.ts';
|
||||||
import './client/index.ts';
|
import './client/index.ts';
|
||||||
import './shop-install/index.ts';
|
import './shop-install/index.ts';
|
||||||
@@ -11,121 +11,8 @@ import './remote/index.ts';
|
|||||||
// import './kevisual/index.ts'
|
// import './kevisual/index.ts'
|
||||||
import './cnb-board/index.ts';
|
import './cnb-board/index.ts';
|
||||||
|
|
||||||
import { authCache } from '@/module/cache/auth.ts';
|
import './auth.ts';
|
||||||
|
|
||||||
|
import { getTokenUserCache, checkAuth } from './auth.ts';
|
||||||
|
export { getTokenUserCache, checkAuth }
|
||||||
|
|
||||||
import { logger } from '@/module/logger.ts';
|
|
||||||
const getTokenUser = async (token: string) => {
|
|
||||||
const query = assistantConfig.query
|
|
||||||
const res = await query.post({
|
|
||||||
path: 'user',
|
|
||||||
key: 'me',
|
|
||||||
token: token,
|
|
||||||
});
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
export const getTokenUserCache = async (token: string) => {
|
|
||||||
const tokenUser = await authCache.get(token);
|
|
||||||
if (tokenUser) {
|
|
||||||
return {
|
|
||||||
code: 200,
|
|
||||||
data: tokenUser,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
const res = await getTokenUser(token);
|
|
||||||
if (res.code === 200) {
|
|
||||||
authCache.set(token, res.data);
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
export const checkAuth = async (ctx: any, isAdmin = false) => {
|
|
||||||
const config = assistantConfig.getConfig();
|
|
||||||
const { auth = {} } = config;
|
|
||||||
const token = ctx.query.token;
|
|
||||||
logger.debug('checkAuth', ctx.query, { token });
|
|
||||||
if (!token) {
|
|
||||||
return {
|
|
||||||
code: 401,
|
|
||||||
message: '未登录',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 鉴权代理
|
|
||||||
let tokenUser = await authCache.get(token);
|
|
||||||
if (!tokenUser) {
|
|
||||||
const tokenUserRes = await getTokenUser(token);
|
|
||||||
if (tokenUserRes.code !== 200) {
|
|
||||||
return {
|
|
||||||
code: tokenUserRes.code,
|
|
||||||
message: '验证失败' + tokenUserRes.message,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
tokenUser = tokenUserRes.data;
|
|
||||||
}
|
|
||||||
authCache.set(token, tokenUser);
|
|
||||||
}
|
|
||||||
ctx.state = {
|
|
||||||
...ctx.state,
|
|
||||||
token,
|
|
||||||
tokenUser,
|
|
||||||
};
|
|
||||||
const { username } = tokenUser;
|
|
||||||
if (!auth.username) {
|
|
||||||
// 初始管理员账号
|
|
||||||
auth.username = username;
|
|
||||||
assistantConfig.setConfig({ auth });
|
|
||||||
}
|
|
||||||
if (isAdmin && auth.username) {
|
|
||||||
const admins = config.auth?.admin || [];
|
|
||||||
let isCheckAdmin = false;
|
|
||||||
const admin = auth.username;
|
|
||||||
if (admin === username) {
|
|
||||||
isCheckAdmin = true;
|
|
||||||
}
|
|
||||||
if (!isCheckAdmin && admins.length > 0 && admins.includes(username)) {
|
|
||||||
isCheckAdmin = true;
|
|
||||||
}
|
|
||||||
if (!isCheckAdmin) {
|
|
||||||
return {
|
|
||||||
code: 403,
|
|
||||||
message: '非管理员用户',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
code: 200,
|
|
||||||
data: { tokenUser, token }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
app
|
|
||||||
.route({
|
|
||||||
path: 'auth',
|
|
||||||
id: 'auth',
|
|
||||||
description: '获取当前登录用户信息, 第一个登录的用户为管理员用户',
|
|
||||||
})
|
|
||||||
.define(async (ctx) => {
|
|
||||||
if (!ctx.query?.token && ctx.appId === app.appId) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const authResult = await checkAuth(ctx);
|
|
||||||
if (authResult.code !== 200) {
|
|
||||||
ctx.throw(authResult.code, authResult.message);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.addTo(app);
|
|
||||||
app
|
|
||||||
.route({
|
|
||||||
path: 'auth-admin',
|
|
||||||
id: 'auth-admin',
|
|
||||||
description: '管理员鉴权, 获取用户信息,并验证是否为管理员。',
|
|
||||||
})
|
|
||||||
.define(async (ctx) => {
|
|
||||||
// logger.debug('query', ctx.query);
|
|
||||||
if (!ctx.query?.token && ctx.appId === app.appId) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ctx.state.isAdmin = true;
|
|
||||||
const authResult = await checkAuth(ctx, true);
|
|
||||||
if (authResult.code !== 200) {
|
|
||||||
ctx.throw(authResult.code, authResult.message);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.addTo(app);
|
|
||||||
|
|||||||
68
assistant/src/routes/opencode/cnb.ts
Normal file
68
assistant/src/routes/opencode/cnb.ts
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import { app } from '@/app.ts'
|
||||||
|
import { z } from 'zod';
|
||||||
|
import { getClient } from './module/client.ts';
|
||||||
|
import dayjs from 'dayjs';
|
||||||
|
import { Session } from '@opencode-ai/sdk';
|
||||||
|
|
||||||
|
app.route({
|
||||||
|
path: 'opencode-cnb',
|
||||||
|
key: 'question',
|
||||||
|
middleware: ['auth-admin'],
|
||||||
|
description: '创建 OpenCode 客户端',
|
||||||
|
metadata: {
|
||||||
|
args: {
|
||||||
|
question: z.string().describe('问题'),
|
||||||
|
baseUrl: z.string().optional().describe('OpenCode 服务地址,默认为 http://localhost:4096'),
|
||||||
|
directory: z.string().optional().describe('运行目录,默认为根目录'),
|
||||||
|
messageID: z.string().optional().describe('消息 ID,选填'),
|
||||||
|
sessionId: z.string().optional().describe('会话 ID,选填'),
|
||||||
|
parts: z.array(z.any()).optional().describe('消息内容的分块,优先于 question 参数'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).define(async (ctx) => {
|
||||||
|
const { question, baseUrl, directory = '/workspace', messageID, sessionId, parts } = ctx.query;
|
||||||
|
const client = await getClient({ baseUrl: baseUrl });
|
||||||
|
if (!client) {
|
||||||
|
ctx.body = { content: `OpenCode 客户端获取失败` };
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!question) {
|
||||||
|
ctx.body = { content: `问题不能为空` };
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// const sessionList = await client.session.list()
|
||||||
|
let session: Session | null = null;
|
||||||
|
// const hasSession = sessionList.data.find(s => s.directory === directory);
|
||||||
|
// if (hasSession) {
|
||||||
|
// session = hasSession;
|
||||||
|
// } else {
|
||||||
|
if (sessionId) {
|
||||||
|
try {
|
||||||
|
const getSession = await client.session.get({ path: { id: sessionId } });
|
||||||
|
session = getSession.data;
|
||||||
|
} catch (error) {
|
||||||
|
// 无法获取会话,继续往下走创建会话的逻辑
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!session) {
|
||||||
|
const createSession = await client.session.create({
|
||||||
|
query: {
|
||||||
|
directory,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
session = createSession.data;
|
||||||
|
}
|
||||||
|
let _parts: any[] = parts ?? [{ type: "text", text: question }];
|
||||||
|
const message = await client.session.prompt({
|
||||||
|
body: {
|
||||||
|
messageID: messageID,
|
||||||
|
parts: _parts,
|
||||||
|
},
|
||||||
|
path: {
|
||||||
|
id: sessionId || session.id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
const data = message.data;
|
||||||
|
|
||||||
|
ctx.body = { content: `已经启动`, data };
|
||||||
|
}).addTo(app);
|
||||||
@@ -7,7 +7,7 @@ import { useKey } from '@kevisual/use-config';
|
|||||||
app.route({
|
app.route({
|
||||||
path: 'opencode',
|
path: 'opencode',
|
||||||
key: 'create',
|
key: 'create',
|
||||||
middleware: ['auth'],
|
middleware: ['auth-admin'],
|
||||||
description: '创建 OpenCode 客户端',
|
description: '创建 OpenCode 客户端',
|
||||||
metadata: {
|
metadata: {
|
||||||
tags: ['opencode'],
|
tags: ['opencode'],
|
||||||
@@ -16,7 +16,7 @@ app.route({
|
|||||||
title: '创建 OpenCode 客户端',
|
title: '创建 OpenCode 客户端',
|
||||||
summary: '创建 OpenCode 客户端,如果存在则复用',
|
summary: '创建 OpenCode 客户端,如果存在则复用',
|
||||||
args: {
|
args: {
|
||||||
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 5000')
|
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 4096')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -25,11 +25,11 @@ app.route({
|
|||||||
ctx.body = { content: `${opencodeManager.url} OpenCode 客户端已就绪` };
|
ctx.body = { content: `${opencodeManager.url} OpenCode 客户端已就绪` };
|
||||||
}).addTo(app);
|
}).addTo(app);
|
||||||
|
|
||||||
// 关闭 opencode 客户端 5000
|
// 关闭 opencode 客户端 4096
|
||||||
app.route({
|
app.route({
|
||||||
path: 'opencode',
|
path: 'opencode',
|
||||||
key: 'close',
|
key: 'close',
|
||||||
middleware: ['auth'],
|
middleware: ['auth-admin'],
|
||||||
description: '关闭 OpenCode 客户端',
|
description: '关闭 OpenCode 客户端',
|
||||||
metadata: {
|
metadata: {
|
||||||
tags: ['opencode'],
|
tags: ['opencode'],
|
||||||
@@ -38,7 +38,7 @@ app.route({
|
|||||||
title: '关闭 OpenCode 客户端',
|
title: '关闭 OpenCode 客户端',
|
||||||
summary: '关闭 OpenCode 客户端, 未提供端口则关闭默认端口',
|
summary: '关闭 OpenCode 客户端, 未提供端口则关闭默认端口',
|
||||||
args: {
|
args: {
|
||||||
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 5000')
|
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 4096')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -51,7 +51,7 @@ app.route({
|
|||||||
app.route({
|
app.route({
|
||||||
path: 'opencode',
|
path: 'opencode',
|
||||||
key: 'restart',
|
key: 'restart',
|
||||||
middleware: ['auth'],
|
middleware: ['auth-admin'],
|
||||||
description: '重启 OpenCode 客户端',
|
description: '重启 OpenCode 客户端',
|
||||||
metadata: {
|
metadata: {
|
||||||
tags: ['opencode'],
|
tags: ['opencode'],
|
||||||
@@ -60,7 +60,7 @@ app.route({
|
|||||||
title: '重启 OpenCode 客户端',
|
title: '重启 OpenCode 客户端',
|
||||||
summary: '重启 OpenCode 客户端',
|
summary: '重启 OpenCode 客户端',
|
||||||
args: {
|
args: {
|
||||||
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 5000')
|
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 4096')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -73,7 +73,7 @@ app.route({
|
|||||||
app.route({
|
app.route({
|
||||||
path: 'opencode',
|
path: 'opencode',
|
||||||
key: 'getUrl',
|
key: 'getUrl',
|
||||||
middleware: ['auth'],
|
middleware: ['auth-admin'],
|
||||||
description: '获取 OpenCode 服务 URL',
|
description: '获取 OpenCode 服务 URL',
|
||||||
metadata: {
|
metadata: {
|
||||||
tags: ['opencode'],
|
tags: ['opencode'],
|
||||||
@@ -82,7 +82,7 @@ app.route({
|
|||||||
title: '获取 OpenCode 服务 URL',
|
title: '获取 OpenCode 服务 URL',
|
||||||
summary: '获取当前 OpenCode 服务的 URL 地址',
|
summary: '获取当前 OpenCode 服务的 URL 地址',
|
||||||
args: {
|
args: {
|
||||||
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 5000')
|
port: tool.schema.number().optional().describe('OpenCode 服务端口,默认为 4096')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -91,7 +91,7 @@ app.route({
|
|||||||
const cnbURL = useKey('CNB_VSCODE_PROXY_URI') as string | undefined;
|
const cnbURL = useKey('CNB_VSCODE_PROXY_URI') as string | undefined;
|
||||||
let content = `本地访问地址: ${url}`
|
let content = `本地访问地址: ${url}`
|
||||||
if (cnbURL) {
|
if (cnbURL) {
|
||||||
content += `\n云端访问地址: ${cnbURL.replace('{{port}}', '5000')}`;
|
content += `\n云端访问地址: ${cnbURL.replace('{{port}}', '4096')}`;
|
||||||
}
|
}
|
||||||
ctx.body = { content };
|
ctx.body = { content };
|
||||||
}).addTo(app);
|
}).addTo(app);
|
||||||
@@ -114,7 +114,7 @@ app.route({
|
|||||||
app.route({
|
app.route({
|
||||||
path: 'opencode',
|
path: 'opencode',
|
||||||
key: 'runProject',
|
key: 'runProject',
|
||||||
middleware: ['auth'],
|
middleware: ['auth-admin'],
|
||||||
metadata: {
|
metadata: {
|
||||||
tags: ['opencode'],
|
tags: ['opencode'],
|
||||||
...createSkill({
|
...createSkill({
|
||||||
|
|||||||
8
assistant/src/routes/opencode/module/client.ts
Normal file
8
assistant/src/routes/opencode/module/client.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { createOpencodeClient } from "@opencode-ai/sdk"
|
||||||
|
|
||||||
|
export const getClient = async (opts?: { baseUrl?: string }) => {
|
||||||
|
const client = await createOpencodeClient({
|
||||||
|
baseUrl: opts?.baseUrl ?? "http://localhost:4096",
|
||||||
|
})
|
||||||
|
return client;
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ import getPort from "get-port";
|
|||||||
import os from "node:os";
|
import os from "node:os";
|
||||||
import { execSync } from "node:child_process";
|
import { execSync } from "node:child_process";
|
||||||
|
|
||||||
const DEFAULT_PORT = 5000;
|
const DEFAULT_PORT = 4096;
|
||||||
|
|
||||||
export class OpencodeManager {
|
export class OpencodeManager {
|
||||||
private static instance: OpencodeManager | null = null;
|
private static instance: OpencodeManager | null = null;
|
||||||
@@ -57,7 +57,7 @@ export class OpencodeManager {
|
|||||||
|
|
||||||
async createOpencodeProject({
|
async createOpencodeProject({
|
||||||
directory,
|
directory,
|
||||||
port = 5000
|
port = DEFAULT_PORT
|
||||||
}: { directory?: string, port?: number }): Promise<OpencodeClient> {
|
}: { directory?: string, port?: number }): Promise<OpencodeClient> {
|
||||||
const client = createOpencodeClient({
|
const client = createOpencodeClient({
|
||||||
baseUrl: `http://localhost:${port}`,
|
baseUrl: `http://localhost:${port}`,
|
||||||
|
|||||||
9
assistant/src/routes/opencode/test/common.ts
Normal file
9
assistant/src/routes/opencode/test/common.ts
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { app } from '@/app.ts';
|
||||||
|
import '../cnb.ts'
|
||||||
|
import "@/routes/auth.ts"
|
||||||
|
import util from "node:util"
|
||||||
|
export { app }
|
||||||
|
|
||||||
|
export const showMore = (data: any) => {
|
||||||
|
return util.inspect(data, { depth: null, colors: true })
|
||||||
|
}
|
||||||
14
assistant/src/routes/opencode/test/list.ts
Normal file
14
assistant/src/routes/opencode/test/list.ts
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { app, showMore } from './common.ts';
|
||||||
|
|
||||||
|
const main = async () => {
|
||||||
|
const res = await app.run({
|
||||||
|
path: 'opencode-cnb',
|
||||||
|
key: 'question',
|
||||||
|
payload: {
|
||||||
|
question: '当前的projects目录下有哪些文件?',
|
||||||
|
}
|
||||||
|
}, { appId: app.appId });
|
||||||
|
console.log('res', showMore(res));
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kevisual/api": "^0.0.64",
|
"@kevisual/api": "^0.0.64",
|
||||||
"@kevisual/cnb": "^0.0.42",
|
"@kevisual/cnb": "^0.0.43",
|
||||||
"@kevisual/dts": "^0.0.4",
|
"@kevisual/dts": "^0.0.4",
|
||||||
"@kevisual/load": "^0.0.6",
|
"@kevisual/load": "^0.0.6",
|
||||||
"@kevisual/logger": "^0.0.4",
|
"@kevisual/logger": "^0.0.4",
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"@types/crypto-js": "^4.2.2",
|
"@types/crypto-js": "^4.2.2",
|
||||||
"@types/jsonwebtoken": "^9.0.10",
|
"@types/jsonwebtoken": "^9.0.10",
|
||||||
"@types/micromatch": "^4.0.10",
|
"@types/micromatch": "^4.0.10",
|
||||||
"@types/node": "^25.4.0",
|
"@types/node": "^25.5.0",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"commander": "^14.0.3",
|
"commander": "^14.0.3",
|
||||||
|
|||||||
398
pnpm-lock.yaml
generated
398
pnpm-lock.yaml
generated
@@ -10,7 +10,7 @@ importers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/prompts':
|
'@inquirer/prompts':
|
||||||
specifier: ^8.3.0
|
specifier: ^8.3.0
|
||||||
version: 8.3.0(@types/node@25.4.0)
|
version: 8.3.0(@types/node@25.5.0)
|
||||||
'@kevisual/app':
|
'@kevisual/app':
|
||||||
specifier: ^0.0.2
|
specifier: ^0.0.2
|
||||||
version: 0.0.2(dotenv@17.3.1)
|
version: 0.0.2(dotenv@17.3.1)
|
||||||
@@ -21,8 +21,8 @@ importers:
|
|||||||
specifier: ^0.0.8
|
specifier: ^0.0.8
|
||||||
version: 0.0.8
|
version: 0.0.8
|
||||||
'@kevisual/router':
|
'@kevisual/router':
|
||||||
specifier: ^0.1.0
|
specifier: ^0.1.1
|
||||||
version: 0.1.0
|
version: 0.1.1
|
||||||
'@kevisual/use-config':
|
'@kevisual/use-config':
|
||||||
specifier: ^1.0.30
|
specifier: ^1.0.30
|
||||||
version: 1.0.30(dotenv@17.3.1)
|
version: 1.0.30(dotenv@17.3.1)
|
||||||
@@ -64,11 +64,11 @@ importers:
|
|||||||
version: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
version: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@kevisual/api':
|
'@kevisual/api':
|
||||||
specifier: ^0.0.62
|
specifier: ^0.0.64
|
||||||
version: 0.0.62(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
version: 0.0.64(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||||
'@kevisual/cnb':
|
'@kevisual/cnb':
|
||||||
specifier: ^0.0.42
|
specifier: ^0.0.43
|
||||||
version: 0.0.42(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.9.3)
|
version: 0.0.43(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.9.3)
|
||||||
'@kevisual/dts':
|
'@kevisual/dts':
|
||||||
specifier: ^0.0.4
|
specifier: ^0.0.4
|
||||||
version: 0.0.4(typescript@5.8.2)
|
version: 0.0.4(typescript@5.8.2)
|
||||||
@@ -94,8 +94,8 @@ importers:
|
|||||||
specifier: ^4.0.10
|
specifier: ^4.0.10
|
||||||
version: 4.0.10
|
version: 4.0.10
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^25.4.0
|
specifier: ^25.5.0
|
||||||
version: 25.4.0
|
version: 25.5.0
|
||||||
'@types/semver':
|
'@types/semver':
|
||||||
specifier: ^7.7.1
|
specifier: ^7.7.1
|
||||||
version: 7.7.1
|
version: 7.7.1
|
||||||
@@ -133,8 +133,8 @@ importers:
|
|||||||
assistant:
|
assistant:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/client-s3':
|
'@aws-sdk/client-s3':
|
||||||
specifier: ^3.1006.0
|
specifier: ^3.1008.0
|
||||||
version: 3.1006.0
|
version: 3.1008.0
|
||||||
'@kevisual/js-filter':
|
'@kevisual/js-filter':
|
||||||
specifier: ^0.0.6
|
specifier: ^0.0.6
|
||||||
version: 0.0.6
|
version: 0.0.6
|
||||||
@@ -171,13 +171,13 @@ importers:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@inquirer/prompts':
|
'@inquirer/prompts':
|
||||||
specifier: ^8.3.0
|
specifier: ^8.3.0
|
||||||
version: 8.3.0(@types/node@25.4.0)
|
version: 8.3.0(@types/node@25.5.0)
|
||||||
'@kevisual/ai':
|
'@kevisual/ai':
|
||||||
specifier: ^0.0.27
|
specifier: ^0.0.28
|
||||||
version: 0.0.27
|
version: 0.0.28
|
||||||
'@kevisual/api':
|
'@kevisual/api':
|
||||||
specifier: ^0.0.62
|
specifier: ^0.0.64
|
||||||
version: 0.0.62(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
version: 0.0.64(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||||
'@kevisual/load':
|
'@kevisual/load':
|
||||||
specifier: ^0.0.6
|
specifier: ^0.0.6
|
||||||
version: 0.0.6
|
version: 0.0.6
|
||||||
@@ -191,8 +191,8 @@ importers:
|
|||||||
specifier: 0.0.53
|
specifier: 0.0.53
|
||||||
version: 0.0.53
|
version: 0.0.53
|
||||||
'@kevisual/router':
|
'@kevisual/router':
|
||||||
specifier: ^0.1.0
|
specifier: ^0.1.1
|
||||||
version: 0.1.0
|
version: 0.1.1
|
||||||
'@kevisual/types':
|
'@kevisual/types':
|
||||||
specifier: ^0.0.12
|
specifier: ^0.0.12
|
||||||
version: 0.0.12
|
version: 0.0.12
|
||||||
@@ -206,8 +206,8 @@ importers:
|
|||||||
specifier: ^1.3.10
|
specifier: ^1.3.10
|
||||||
version: 1.3.10
|
version: 1.3.10
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^25.4.0
|
specifier: ^25.5.0
|
||||||
version: 25.4.0
|
version: 25.5.0
|
||||||
'@types/send':
|
'@types/send':
|
||||||
specifier: ^1.2.1
|
specifier: ^1.2.1
|
||||||
version: 1.2.1
|
version: 1.2.1
|
||||||
@@ -224,8 +224,8 @@ importers:
|
|||||||
specifier: ^10.1.0
|
specifier: ^10.1.0
|
||||||
version: 10.1.0
|
version: 10.1.0
|
||||||
dayjs:
|
dayjs:
|
||||||
specifier: ^1.11.19
|
specifier: ^1.11.20
|
||||||
version: 1.11.19
|
version: 1.11.20
|
||||||
dotenv:
|
dotenv:
|
||||||
specifier: ^17.3.1
|
specifier: ^17.3.1
|
||||||
version: 17.3.1
|
version: 17.3.1
|
||||||
@@ -252,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.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))
|
version: 4.3.13(astro@5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))
|
||||||
'@astrojs/react':
|
'@astrojs/react':
|
||||||
specifier: ^4.4.2
|
specifier: ^4.4.2
|
||||||
version: 4.4.2(@types/node@25.4.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.5.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/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.4.0)(astro@5.16.15(@types/node@25.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(vue@3.5.27(typescript@5.8.2))
|
version: 5.1.4(@types/node@25.5.0)(astro@5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(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 +282,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
version: 4.1.18(vite@6.4.1(@types/node@25.5.0)(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 +291,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.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2)
|
version: 5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(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
|
||||||
@@ -499,8 +499,8 @@ packages:
|
|||||||
'@aws-crypto/util@5.2.0':
|
'@aws-crypto/util@5.2.0':
|
||||||
resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==}
|
resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==}
|
||||||
|
|
||||||
'@aws-sdk/client-s3@3.1006.0':
|
'@aws-sdk/client-s3@3.1008.0':
|
||||||
resolution: {integrity: sha512-tm8R/LgWDC3zWPMCdD990owvBrmuIM2A39+OWKW/HyAomWi6ancPz/H1K/hmxf0bqdXAaRUHBQMAmzwb1aR33Q==}
|
resolution: {integrity: sha512-w/SIRD25v2zVMbkn8CYIxUsac8yf5Jghkhw5j7EsNWdJhl56m/nWpUX7t1etFUW1cnzpFjZV0lXt0dNFSnbXwA==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/core@3.973.19':
|
'@aws-sdk/core@3.973.19':
|
||||||
@@ -519,28 +519,28 @@ packages:
|
|||||||
resolution: {integrity: sha512-9EJROO8LXll5a7eUFqu48k6BChrtokbmgeMWmsH7lBb6lVbtjslUYz/ShLi+SHkYzTomiGBhmzTW7y+H4BxsnA==}
|
resolution: {integrity: sha512-9EJROO8LXll5a7eUFqu48k6BChrtokbmgeMWmsH7lBb6lVbtjslUYz/ShLi+SHkYzTomiGBhmzTW7y+H4BxsnA==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-ini@3.972.18':
|
'@aws-sdk/credential-provider-ini@3.972.19':
|
||||||
resolution: {integrity: sha512-vthIAXJISZnj2576HeyLBj4WTeX+I7PwWeRkbOa0mVX39K13SCGxCgOFuKj2ytm9qTlLOmXe4cdEnroteFtJfw==}
|
resolution: {integrity: sha512-pVJVjWqVrPqjpFq7o0mCmeZu1Y0c94OCHSYgivdCD2wfmYVtBbwQErakruhgOD8pcMcx9SCqRw1pzHKR7OGBcA==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-login@3.972.18':
|
'@aws-sdk/credential-provider-login@3.972.19':
|
||||||
resolution: {integrity: sha512-kINzc5BBxdYBkPZ0/i1AMPMOk5b5QaFNbYMElVw5QTX13AKj6jcxnv/YNl9oW9mg+Y08ti19hh01HhyEAxsSJQ==}
|
resolution: {integrity: sha512-jOXdZ1o+CywQKr6gyxgxuUmnGwTTnY2Kxs1PM7fI6AYtDWDnmW/yKXayNqkF8KjP1unflqMWKVbVt5VgmE3L0g==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-node@3.972.19':
|
'@aws-sdk/credential-provider-node@3.972.20':
|
||||||
resolution: {integrity: sha512-yDWQ9dFTr+IMxwanFe7+tbN5++q8psZBjlUwOiCXn1EzANoBgtqBwcpYcHaMGtn0Wlfj4NuXdf2JaEx1lz5RaQ==}
|
resolution: {integrity: sha512-0xHca2BnPY0kzjDYPH7vk8YbfdBPpWVS67rtqQMalYDQUCBYS37cZ55K6TuFxCoIyNZgSCFrVKr9PXC5BVvQQw==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-process@3.972.17':
|
'@aws-sdk/credential-provider-process@3.972.17':
|
||||||
resolution: {integrity: sha512-c8G8wT1axpJDgaP3xzcy+q8Y1fTi9A2eIQJvyhQ9xuXrUZhlCfXbC0vM9bM1CUXiZppFQ1p7g0tuUMvil/gCPg==}
|
resolution: {integrity: sha512-c8G8wT1axpJDgaP3xzcy+q8Y1fTi9A2eIQJvyhQ9xuXrUZhlCfXbC0vM9bM1CUXiZppFQ1p7g0tuUMvil/gCPg==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-sso@3.972.18':
|
'@aws-sdk/credential-provider-sso@3.972.19':
|
||||||
resolution: {integrity: sha512-YHYEfj5S2aqInRt5ub8nDOX8vAxgMvd84wm2Y3WVNfFa/53vOv9T7WOAqXI25qjj3uEcV46xxfqdDQk04h5XQA==}
|
resolution: {integrity: sha512-kVjQsEU3b///q7EZGrUzol9wzwJFKbEzqJKSq82A9ShrUTEO7FNylTtby3sPV19ndADZh1H3FB3+5ZrvKtEEeg==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-web-identity@3.972.18':
|
'@aws-sdk/credential-provider-web-identity@3.972.19':
|
||||||
resolution: {integrity: sha512-OqlEQpJ+J3T5B96qtC1zLLwkBloechP+fezKbCH0sbd2cCc0Ra55XpxWpk/hRj69xAOYtHvoC4orx6eTa4zU7g==}
|
resolution: {integrity: sha512-BV1BlTFdG4w4tAihxN7iXDBoNcNewXD4q8uZlNQiUrnqxwGWUhKHODIQVSPlQGxXClEj+63m+cqZskw+ESmeZg==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/middleware-bucket-endpoint@3.972.7':
|
'@aws-sdk/middleware-bucket-endpoint@3.972.7':
|
||||||
@@ -583,8 +583,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-3kNTLtpUdeahxtnJRnj/oIdLAUdzTfr9N40KtxNhtdrq+Q1RPMdCJINRXq37m4t5+r3H70wgC3opW46OzFcZYA==}
|
resolution: {integrity: sha512-3kNTLtpUdeahxtnJRnj/oIdLAUdzTfr9N40KtxNhtdrq+Q1RPMdCJINRXq37m4t5+r3H70wgC3opW46OzFcZYA==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/nested-clients@3.996.8':
|
'@aws-sdk/nested-clients@3.996.9':
|
||||||
resolution: {integrity: sha512-6HlLm8ciMW8VzfB80kfIx16PBA9lOa9Dl+dmCBi78JDhvGlx3I7Rorwi5PpVRkL31RprXnYna3yBf6UKkD/PqA==}
|
resolution: {integrity: sha512-+RpVtpmQbbtzFOKhMlsRcXM/3f1Z49qTOHaA8gEpHOYruERmog6f2AUtf/oTRLCWjR9H2b3roqryV/hI7QMW8w==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/region-config-resolver@3.972.7':
|
'@aws-sdk/region-config-resolver@3.972.7':
|
||||||
@@ -595,8 +595,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-mYhh7FY+7OOqjkYkd6+6GgJOsXK1xBWmuR+c5mxJPj2kr5TBNeZq+nUvE9kANWAux5UxDVrNOSiEM/wlHzC3Lg==}
|
resolution: {integrity: sha512-mYhh7FY+7OOqjkYkd6+6GgJOsXK1xBWmuR+c5mxJPj2kr5TBNeZq+nUvE9kANWAux5UxDVrNOSiEM/wlHzC3Lg==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/token-providers@3.1005.0':
|
'@aws-sdk/token-providers@3.1008.0':
|
||||||
resolution: {integrity: sha512-vMxd+ivKqSxU9bHx5vmAlFKDAkjGotFU56IOkDa5DaTu1WWwbcse0yFHEm9I537oVvodaiwMl3VBwgHfzQ2rvw==}
|
resolution: {integrity: sha512-TulwlHQBWcJs668kNUDMZHN51DeLrDsYT59Ux4a/nbvr025gM6HjKJJ3LvnZccam7OS/ZKUVkWomCneRQKJbBg==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
|
|
||||||
'@aws-sdk/types@3.973.5':
|
'@aws-sdk/types@3.973.5':
|
||||||
@@ -618,8 +618,8 @@ packages:
|
|||||||
'@aws-sdk/util-user-agent-browser@3.972.7':
|
'@aws-sdk/util-user-agent-browser@3.972.7':
|
||||||
resolution: {integrity: sha512-7SJVuvhKhMF/BkNS1n0QAJYgvEwYbK2QLKBrzDiwQGiTRU6Yf1f3nehTzm/l21xdAOtWSfp2uWSddPnP2ZtsVw==}
|
resolution: {integrity: sha512-7SJVuvhKhMF/BkNS1n0QAJYgvEwYbK2QLKBrzDiwQGiTRU6Yf1f3nehTzm/l21xdAOtWSfp2uWSddPnP2ZtsVw==}
|
||||||
|
|
||||||
'@aws-sdk/util-user-agent-node@3.973.5':
|
'@aws-sdk/util-user-agent-node@3.973.6':
|
||||||
resolution: {integrity: sha512-Dyy38O4GeMk7UQ48RupfHif//gqnOPbq/zlvRssc11E2mClT+aUfc3VS2yD8oLtzqO3RsqQ9I3gOBB4/+HjPOw==}
|
resolution: {integrity: sha512-iF7G0prk7AvmOK64FcLvc/fW+Ty1H+vttajL7PvJFReU8urMxfYmynTTuFKDTA76Wgpq3FzTPKwabMQIXQHiXQ==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
aws-crt: '>=1.0.0'
|
aws-crt: '>=1.0.0'
|
||||||
@@ -1316,14 +1316,14 @@ packages:
|
|||||||
'@kevisual/ai@0.0.19':
|
'@kevisual/ai@0.0.19':
|
||||||
resolution: {integrity: sha512-AFc8m6OcHZNxCb88bvzhvwWTZ4EVYyPupBzPUsLKLpdNBvsqm9TRboKCM2brJj2cqHnm+H+RbAk9AcGJkYhRCA==}
|
resolution: {integrity: sha512-AFc8m6OcHZNxCb88bvzhvwWTZ4EVYyPupBzPUsLKLpdNBvsqm9TRboKCM2brJj2cqHnm+H+RbAk9AcGJkYhRCA==}
|
||||||
|
|
||||||
'@kevisual/ai@0.0.27':
|
'@kevisual/ai@0.0.28':
|
||||||
resolution: {integrity: sha512-1FlDg3Tj4171XY5NpTq+do69CyACgDE5oTA1RJYxQlGgaPeAjx2V2ahBgIDHRRhMSX/ztB1pBF1rx4zDoXq99A==}
|
resolution: {integrity: sha512-GLwCNXfopDvOj+hEZwEIwOV2/3VGd+TCPgBClaYuAv30KzhgehlCW05HPjBducSg+uPcdKacEzZsecHjo5fMUQ==}
|
||||||
|
|
||||||
'@kevisual/api@0.0.28':
|
'@kevisual/api@0.0.28':
|
||||||
resolution: {integrity: sha512-WQluRlu2qGM1qktIhPLODie8x382a6jEMfFOcay/rnkCgXK0BRpnqOKwlX7IMLdMqka7GY/BD69kSMnK1Exf5g==}
|
resolution: {integrity: sha512-WQluRlu2qGM1qktIhPLODie8x382a6jEMfFOcay/rnkCgXK0BRpnqOKwlX7IMLdMqka7GY/BD69kSMnK1Exf5g==}
|
||||||
|
|
||||||
'@kevisual/api@0.0.62':
|
'@kevisual/api@0.0.64':
|
||||||
resolution: {integrity: sha512-GB8Ho2absXoXoZP2GKyuoRqRqjdwtV0JR512DXBaKJR2sIPn1KvuglbBiX+zPjDBBskv/ApvZKOoSwj1OmkrKQ==}
|
resolution: {integrity: sha512-y7wP8ucvi/rflVGd6uJpvuEUTwI7wMef8+ITQzv4flg7a2pwWZYe/DT0TOyaqDAqKOTlXaVIdBeI15jXuUxIIg==}
|
||||||
|
|
||||||
'@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==}
|
||||||
@@ -1334,8 +1334,8 @@ packages:
|
|||||||
'@kevisual/auth@2.0.3':
|
'@kevisual/auth@2.0.3':
|
||||||
resolution: {integrity: sha512-4xpijaIhlCTr/DlJaV/gmkCQeg45EO1yxWpRvUX+1jCdVbuxSR0wZrF0SD9oybnjmKWMKDNPLsXyduFjMGcItA==}
|
resolution: {integrity: sha512-4xpijaIhlCTr/DlJaV/gmkCQeg45EO1yxWpRvUX+1jCdVbuxSR0wZrF0SD9oybnjmKWMKDNPLsXyduFjMGcItA==}
|
||||||
|
|
||||||
'@kevisual/cnb@0.0.42':
|
'@kevisual/cnb@0.0.43':
|
||||||
resolution: {integrity: sha512-eVrTB2kFNaTYFkDx3U7TSdlFKitu+m8wCUCGZoDgH92q0diQI2Gy+Tcaw4NwMtxszPDvd0tzeRwxp+9wDcLdWQ==}
|
resolution: {integrity: sha512-KgqlxtKqJomnRSPg7n5mAOj/CP0pqbzam6vbUvzJzsMg9uWWKiyCqr202+QbVCBXmfDFBV/38kjgllUZJCRAyg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@kevisual/context@0.0.4':
|
'@kevisual/context@0.0.4':
|
||||||
@@ -1399,11 +1399,8 @@ packages:
|
|||||||
'@kevisual/router@0.0.51':
|
'@kevisual/router@0.0.51':
|
||||||
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
|
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
|
||||||
|
|
||||||
'@kevisual/router@0.0.90':
|
'@kevisual/router@0.1.1':
|
||||||
resolution: {integrity: sha512-pFNfjsJkN9NqSVuyQB6QjvJnBeyrR/JQrM/KPa+PtvkByp0UA2FFFtSbB/OX7rduEKcXg5GImm4yucqFLdzewQ==}
|
resolution: {integrity: sha512-+uaJc+Bf/T1mfxyfy9PmwuxJGPOLhVqrmsli2xUPqkkFvizrFIGB1vBTITuo5XP/FnwGqxgbjsitG57AMubm3w==}
|
||||||
|
|
||||||
'@kevisual/router@0.1.0':
|
|
||||||
resolution: {integrity: sha512-7NHoKP36uWkTDp/hxeUBMtawma91BrOAwG/caOrVsO8tM3wjqhlmCt0sIvLBM+snVJkmylROQR0WGaygd3JqYw==}
|
|
||||||
|
|
||||||
'@kevisual/types@0.0.12':
|
'@kevisual/types@0.0.12':
|
||||||
resolution: {integrity: sha512-zJXH2dosir3jVrQ6QG4i0+iLQeT9gJ3H+cKXs8ReWboxBSYzUZO78XssVeVrFPsJ33iaAqo4q3DWbSS1dWGn7Q==}
|
resolution: {integrity: sha512-zJXH2dosir3jVrQ6QG4i0+iLQeT9gJ3H+cKXs8ReWboxBSYzUZO78XssVeVrFPsJ33iaAqo4q3DWbSS1dWGn7Q==}
|
||||||
@@ -2553,8 +2550,8 @@ packages:
|
|||||||
'@types/node@17.0.45':
|
'@types/node@17.0.45':
|
||||||
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
||||||
|
|
||||||
'@types/node@25.4.0':
|
'@types/node@25.5.0':
|
||||||
resolution: {integrity: sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw==}
|
resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==}
|
||||||
|
|
||||||
'@types/prismjs@1.26.5':
|
'@types/prismjs@1.26.5':
|
||||||
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
|
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
|
||||||
@@ -3072,6 +3069,9 @@ packages:
|
|||||||
dayjs@1.11.19:
|
dayjs@1.11.19:
|
||||||
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
|
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
|
||||||
|
|
||||||
|
dayjs@1.11.20:
|
||||||
|
resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
|
||||||
|
|
||||||
dayjs@1.8.36:
|
dayjs@1.8.36:
|
||||||
resolution: {integrity: sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==}
|
resolution: {integrity: sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==}
|
||||||
|
|
||||||
@@ -5469,12 +5469,12 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@astrojs/mdx@4.3.13(astro@5.16.15(@types/node@25.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))':
|
'@astrojs/mdx@4.3.13(astro@5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(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.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2)
|
astro: 5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(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
|
||||||
@@ -5492,15 +5492,15 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prismjs: 1.30.0
|
prismjs: 1.30.0
|
||||||
|
|
||||||
'@astrojs/react@4.4.2(@types/node@25.4.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.5.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)':
|
||||||
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.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
'@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@types/node'
|
- '@types/node'
|
||||||
- jiti
|
- jiti
|
||||||
@@ -5533,14 +5533,14 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@astrojs/vue@5.1.4(@types/node@25.4.0)(astro@5.16.15(@types/node@25.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(vue@3.5.27(typescript@5.8.2))':
|
'@astrojs/vue@5.1.4(@types/node@25.5.0)(astro@5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(vue@3.5.27(typescript@5.8.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.4.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.5.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.4.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.5.0)(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.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2)
|
astro: 5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2)
|
||||||
vite: 6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
vite-plugin-vue-devtools: 7.7.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.4.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.57.1)(vite@6.4.1(@types/node@25.5.0)(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'
|
||||||
@@ -5605,13 +5605,13 @@ snapshots:
|
|||||||
'@smithy/util-utf8': 2.3.0
|
'@smithy/util-utf8': 2.3.0
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/client-s3@3.1006.0':
|
'@aws-sdk/client-s3@3.1008.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-crypto/sha1-browser': 5.2.0
|
'@aws-crypto/sha1-browser': 5.2.0
|
||||||
'@aws-crypto/sha256-browser': 5.2.0
|
'@aws-crypto/sha256-browser': 5.2.0
|
||||||
'@aws-crypto/sha256-js': 5.2.0
|
'@aws-crypto/sha256-js': 5.2.0
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/credential-provider-node': 3.972.19
|
'@aws-sdk/credential-provider-node': 3.972.20
|
||||||
'@aws-sdk/middleware-bucket-endpoint': 3.972.7
|
'@aws-sdk/middleware-bucket-endpoint': 3.972.7
|
||||||
'@aws-sdk/middleware-expect-continue': 3.972.7
|
'@aws-sdk/middleware-expect-continue': 3.972.7
|
||||||
'@aws-sdk/middleware-flexible-checksums': 3.973.5
|
'@aws-sdk/middleware-flexible-checksums': 3.973.5
|
||||||
@@ -5627,7 +5627,7 @@ snapshots:
|
|||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@aws-sdk/util-endpoints': 3.996.4
|
'@aws-sdk/util-endpoints': 3.996.4
|
||||||
'@aws-sdk/util-user-agent-browser': 3.972.7
|
'@aws-sdk/util-user-agent-browser': 3.972.7
|
||||||
'@aws-sdk/util-user-agent-node': 3.973.5
|
'@aws-sdk/util-user-agent-node': 3.973.6
|
||||||
'@smithy/config-resolver': 4.4.10
|
'@smithy/config-resolver': 4.4.10
|
||||||
'@smithy/core': 3.23.9
|
'@smithy/core': 3.23.9
|
||||||
'@smithy/eventstream-serde-browser': 4.2.11
|
'@smithy/eventstream-serde-browser': 4.2.11
|
||||||
@@ -5707,16 +5707,16 @@ snapshots:
|
|||||||
'@smithy/util-stream': 4.5.17
|
'@smithy/util-stream': 4.5.17
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-ini@3.972.18':
|
'@aws-sdk/credential-provider-ini@3.972.19':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/credential-provider-env': 3.972.17
|
'@aws-sdk/credential-provider-env': 3.972.17
|
||||||
'@aws-sdk/credential-provider-http': 3.972.19
|
'@aws-sdk/credential-provider-http': 3.972.19
|
||||||
'@aws-sdk/credential-provider-login': 3.972.18
|
'@aws-sdk/credential-provider-login': 3.972.19
|
||||||
'@aws-sdk/credential-provider-process': 3.972.17
|
'@aws-sdk/credential-provider-process': 3.972.17
|
||||||
'@aws-sdk/credential-provider-sso': 3.972.18
|
'@aws-sdk/credential-provider-sso': 3.972.19
|
||||||
'@aws-sdk/credential-provider-web-identity': 3.972.18
|
'@aws-sdk/credential-provider-web-identity': 3.972.19
|
||||||
'@aws-sdk/nested-clients': 3.996.8
|
'@aws-sdk/nested-clients': 3.996.9
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/credential-provider-imds': 4.2.11
|
'@smithy/credential-provider-imds': 4.2.11
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
@@ -5726,10 +5726,10 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-login@3.972.18':
|
'@aws-sdk/credential-provider-login@3.972.19':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/nested-clients': 3.996.8
|
'@aws-sdk/nested-clients': 3.996.9
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
'@smithy/protocol-http': 5.3.11
|
'@smithy/protocol-http': 5.3.11
|
||||||
@@ -5739,14 +5739,14 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-node@3.972.19':
|
'@aws-sdk/credential-provider-node@3.972.20':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/credential-provider-env': 3.972.17
|
'@aws-sdk/credential-provider-env': 3.972.17
|
||||||
'@aws-sdk/credential-provider-http': 3.972.19
|
'@aws-sdk/credential-provider-http': 3.972.19
|
||||||
'@aws-sdk/credential-provider-ini': 3.972.18
|
'@aws-sdk/credential-provider-ini': 3.972.19
|
||||||
'@aws-sdk/credential-provider-process': 3.972.17
|
'@aws-sdk/credential-provider-process': 3.972.17
|
||||||
'@aws-sdk/credential-provider-sso': 3.972.18
|
'@aws-sdk/credential-provider-sso': 3.972.19
|
||||||
'@aws-sdk/credential-provider-web-identity': 3.972.18
|
'@aws-sdk/credential-provider-web-identity': 3.972.19
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/credential-provider-imds': 4.2.11
|
'@smithy/credential-provider-imds': 4.2.11
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
@@ -5765,11 +5765,11 @@ snapshots:
|
|||||||
'@smithy/types': 4.13.0
|
'@smithy/types': 4.13.0
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-sso@3.972.18':
|
'@aws-sdk/credential-provider-sso@3.972.19':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/nested-clients': 3.996.8
|
'@aws-sdk/nested-clients': 3.996.9
|
||||||
'@aws-sdk/token-providers': 3.1005.0
|
'@aws-sdk/token-providers': 3.1008.0
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
'@smithy/shared-ini-file-loader': 4.4.6
|
'@smithy/shared-ini-file-loader': 4.4.6
|
||||||
@@ -5778,10 +5778,10 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
'@aws-sdk/credential-provider-web-identity@3.972.18':
|
'@aws-sdk/credential-provider-web-identity@3.972.19':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/nested-clients': 3.996.8
|
'@aws-sdk/nested-clients': 3.996.9
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
'@smithy/shared-ini-file-loader': 4.4.6
|
'@smithy/shared-ini-file-loader': 4.4.6
|
||||||
@@ -5885,7 +5885,7 @@ snapshots:
|
|||||||
'@smithy/util-retry': 4.2.11
|
'@smithy/util-retry': 4.2.11
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/nested-clients@3.996.8':
|
'@aws-sdk/nested-clients@3.996.9':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-crypto/sha256-browser': 5.2.0
|
'@aws-crypto/sha256-browser': 5.2.0
|
||||||
'@aws-crypto/sha256-js': 5.2.0
|
'@aws-crypto/sha256-js': 5.2.0
|
||||||
@@ -5898,7 +5898,7 @@ snapshots:
|
|||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@aws-sdk/util-endpoints': 3.996.4
|
'@aws-sdk/util-endpoints': 3.996.4
|
||||||
'@aws-sdk/util-user-agent-browser': 3.972.7
|
'@aws-sdk/util-user-agent-browser': 3.972.7
|
||||||
'@aws-sdk/util-user-agent-node': 3.973.5
|
'@aws-sdk/util-user-agent-node': 3.973.6
|
||||||
'@smithy/config-resolver': 4.4.10
|
'@smithy/config-resolver': 4.4.10
|
||||||
'@smithy/core': 3.23.9
|
'@smithy/core': 3.23.9
|
||||||
'@smithy/fetch-http-handler': 5.3.13
|
'@smithy/fetch-http-handler': 5.3.13
|
||||||
@@ -5945,10 +5945,10 @@ snapshots:
|
|||||||
'@smithy/types': 4.13.0
|
'@smithy/types': 4.13.0
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/token-providers@3.1005.0':
|
'@aws-sdk/token-providers@3.1008.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/core': 3.973.19
|
'@aws-sdk/core': 3.973.19
|
||||||
'@aws-sdk/nested-clients': 3.996.8
|
'@aws-sdk/nested-clients': 3.996.9
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/property-provider': 4.2.11
|
'@smithy/property-provider': 4.2.11
|
||||||
'@smithy/shared-ini-file-loader': 4.4.6
|
'@smithy/shared-ini-file-loader': 4.4.6
|
||||||
@@ -5985,12 +5985,13 @@ snapshots:
|
|||||||
bowser: 2.13.1
|
bowser: 2.13.1
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/util-user-agent-node@3.973.5':
|
'@aws-sdk/util-user-agent-node@3.973.6':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@aws-sdk/middleware-user-agent': 3.972.20
|
'@aws-sdk/middleware-user-agent': 3.972.20
|
||||||
'@aws-sdk/types': 3.973.5
|
'@aws-sdk/types': 3.973.5
|
||||||
'@smithy/node-config-provider': 4.3.11
|
'@smithy/node-config-provider': 4.3.11
|
||||||
'@smithy/types': 4.13.0
|
'@smithy/types': 4.13.0
|
||||||
|
'@smithy/util-config-provider': 4.2.2
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
|
|
||||||
'@aws-sdk/xml-builder@3.972.10':
|
'@aws-sdk/xml-builder@3.972.10':
|
||||||
@@ -6491,122 +6492,122 @@ snapshots:
|
|||||||
|
|
||||||
'@inquirer/ansi@2.0.3': {}
|
'@inquirer/ansi@2.0.3': {}
|
||||||
|
|
||||||
'@inquirer/checkbox@5.1.0(@types/node@25.4.0)':
|
'@inquirer/checkbox@5.1.0(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/ansi': 2.0.3
|
'@inquirer/ansi': 2.0.3
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/figures': 2.0.3
|
'@inquirer/figures': 2.0.3
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/confirm@6.0.8(@types/node@25.4.0)':
|
'@inquirer/confirm@6.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/core@11.1.5(@types/node@25.4.0)':
|
'@inquirer/core@11.1.5(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/ansi': 2.0.3
|
'@inquirer/ansi': 2.0.3
|
||||||
'@inquirer/figures': 2.0.3
|
'@inquirer/figures': 2.0.3
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
cli-width: 4.1.0
|
cli-width: 4.1.0
|
||||||
fast-wrap-ansi: 0.2.0
|
fast-wrap-ansi: 0.2.0
|
||||||
mute-stream: 3.0.0
|
mute-stream: 3.0.0
|
||||||
signal-exit: 4.1.0
|
signal-exit: 4.1.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/editor@5.0.8(@types/node@25.4.0)':
|
'@inquirer/editor@5.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/external-editor': 2.0.3(@types/node@25.4.0)
|
'@inquirer/external-editor': 2.0.3(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/expand@5.0.8(@types/node@25.4.0)':
|
'@inquirer/expand@5.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/external-editor@2.0.3(@types/node@25.4.0)':
|
'@inquirer/external-editor@2.0.3(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
chardet: 2.1.1
|
chardet: 2.1.1
|
||||||
iconv-lite: 0.7.2
|
iconv-lite: 0.7.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/figures@2.0.3': {}
|
'@inquirer/figures@2.0.3': {}
|
||||||
|
|
||||||
'@inquirer/input@5.0.8(@types/node@25.4.0)':
|
'@inquirer/input@5.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/number@4.0.8(@types/node@25.4.0)':
|
'@inquirer/number@4.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/password@5.0.8(@types/node@25.4.0)':
|
'@inquirer/password@5.0.8(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/ansi': 2.0.3
|
'@inquirer/ansi': 2.0.3
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/prompts@8.3.0(@types/node@25.4.0)':
|
'@inquirer/prompts@8.3.0(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/checkbox': 5.1.0(@types/node@25.4.0)
|
'@inquirer/checkbox': 5.1.0(@types/node@25.5.0)
|
||||||
'@inquirer/confirm': 6.0.8(@types/node@25.4.0)
|
'@inquirer/confirm': 6.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/editor': 5.0.8(@types/node@25.4.0)
|
'@inquirer/editor': 5.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/expand': 5.0.8(@types/node@25.4.0)
|
'@inquirer/expand': 5.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/input': 5.0.8(@types/node@25.4.0)
|
'@inquirer/input': 5.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/number': 4.0.8(@types/node@25.4.0)
|
'@inquirer/number': 4.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/password': 5.0.8(@types/node@25.4.0)
|
'@inquirer/password': 5.0.8(@types/node@25.5.0)
|
||||||
'@inquirer/rawlist': 5.2.4(@types/node@25.4.0)
|
'@inquirer/rawlist': 5.2.4(@types/node@25.5.0)
|
||||||
'@inquirer/search': 4.1.4(@types/node@25.4.0)
|
'@inquirer/search': 4.1.4(@types/node@25.5.0)
|
||||||
'@inquirer/select': 5.1.0(@types/node@25.4.0)
|
'@inquirer/select': 5.1.0(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/rawlist@5.2.4(@types/node@25.4.0)':
|
'@inquirer/rawlist@5.2.4(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/search@4.1.4(@types/node@25.4.0)':
|
'@inquirer/search@4.1.4(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/figures': 2.0.3
|
'@inquirer/figures': 2.0.3
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/select@5.1.0(@types/node@25.4.0)':
|
'@inquirer/select@5.1.0(@types/node@25.5.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inquirer/ansi': 2.0.3
|
'@inquirer/ansi': 2.0.3
|
||||||
'@inquirer/core': 11.1.5(@types/node@25.4.0)
|
'@inquirer/core': 11.1.5(@types/node@25.5.0)
|
||||||
'@inquirer/figures': 2.0.3
|
'@inquirer/figures': 2.0.3
|
||||||
'@inquirer/type': 4.0.3(@types/node@25.4.0)
|
'@inquirer/type': 4.0.3(@types/node@25.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@inquirer/type@4.0.3(@types/node@25.4.0)':
|
'@inquirer/type@4.0.3(@types/node@25.5.0)':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@ioredis/commands@1.5.0':
|
'@ioredis/commands@1.5.0':
|
||||||
optional: true
|
optional: true
|
||||||
@@ -6640,7 +6641,7 @@ snapshots:
|
|||||||
'@kevisual/permission': 0.0.3
|
'@kevisual/permission': 0.0.3
|
||||||
'@kevisual/query': 0.0.31
|
'@kevisual/query': 0.0.31
|
||||||
|
|
||||||
'@kevisual/ai@0.0.27':
|
'@kevisual/ai@0.0.28':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/anthropic': 3.0.58(zod@4.3.6)
|
'@ai-sdk/anthropic': 3.0.58(zod@4.3.6)
|
||||||
'@ai-sdk/openai': 3.0.41(zod@4.3.6)
|
'@ai-sdk/openai': 3.0.41(zod@4.3.6)
|
||||||
@@ -6661,10 +6662,10 @@ snapshots:
|
|||||||
fuse.js: 7.1.0
|
fuse.js: 7.1.0
|
||||||
nanoid: 5.1.6
|
nanoid: 5.1.6
|
||||||
|
|
||||||
'@kevisual/api@0.0.62(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
|
'@kevisual/api@0.0.64(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@kevisual/context': 0.0.8
|
'@kevisual/context': 0.0.8
|
||||||
'@kevisual/js-filter': 0.0.5
|
'@kevisual/js-filter': 0.0.6
|
||||||
'@kevisual/load': 0.0.6
|
'@kevisual/load': 0.0.6
|
||||||
'@paralleldrive/cuid2': 3.3.0
|
'@paralleldrive/cuid2': 3.3.0
|
||||||
es-toolkit: 1.45.1
|
es-toolkit: 1.45.1
|
||||||
@@ -6709,11 +6710,12 @@ snapshots:
|
|||||||
|
|
||||||
'@kevisual/auth@2.0.3': {}
|
'@kevisual/auth@2.0.3': {}
|
||||||
|
|
||||||
'@kevisual/cnb@0.0.42(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.9.3)':
|
'@kevisual/cnb@0.0.43(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.9.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@kevisual/query': 0.0.53
|
'@kevisual/query': 0.0.53
|
||||||
'@kevisual/router': 0.0.90
|
'@kevisual/router': 0.1.1
|
||||||
'@kevisual/use-config': 1.0.30(dotenv@17.3.1)
|
'@kevisual/use-config': 1.0.30(dotenv@17.3.1)
|
||||||
|
'@opencode-ai/sdk': 1.2.24
|
||||||
es-toolkit: 1.45.1
|
es-toolkit: 1.45.1
|
||||||
nanoid: 5.1.6
|
nanoid: 5.1.6
|
||||||
unstorage: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
unstorage: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
||||||
@@ -6861,11 +6863,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@kevisual/router@0.0.90':
|
'@kevisual/router@0.1.1':
|
||||||
dependencies:
|
|
||||||
es-toolkit: 1.45.1
|
|
||||||
|
|
||||||
'@kevisual/router@0.1.0':
|
|
||||||
dependencies:
|
dependencies:
|
||||||
es-toolkit: 1.45.1
|
es-toolkit: 1.45.1
|
||||||
|
|
||||||
@@ -6889,7 +6887,7 @@ snapshots:
|
|||||||
'@kevisual/use-config': 1.0.30(dotenv@17.3.1)
|
'@kevisual/use-config': 1.0.30(dotenv@17.3.1)
|
||||||
'@kevisual/video': 0.0.2
|
'@kevisual/video': 0.0.2
|
||||||
crypto-js: 4.2.0
|
crypto-js: 4.2.0
|
||||||
dayjs: 1.11.19
|
dayjs: 1.11.20
|
||||||
eventemitter3: 5.0.4
|
eventemitter3: 5.0.4
|
||||||
nanoid: 5.1.6
|
nanoid: 5.1.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -8125,12 +8123,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2))':
|
'@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
|
|
||||||
'@tootallnate/quickjs-emscripten@0.23.0': {}
|
'@tootallnate/quickjs-emscripten@0.23.0': {}
|
||||||
|
|
||||||
@@ -8163,7 +8161,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/busboy@1.5.4':
|
'@types/busboy@1.5.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@types/crypto-js@4.2.2': {}
|
'@types/crypto-js@4.2.2': {}
|
||||||
|
|
||||||
@@ -8190,7 +8188,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.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@types/mdast@4.0.4':
|
'@types/mdast@4.0.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -8210,7 +8208,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/node@17.0.45': {}
|
'@types/node@17.0.45': {}
|
||||||
|
|
||||||
'@types/node@25.4.0':
|
'@types/node@25.5.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 7.18.2
|
undici-types: 7.18.2
|
||||||
|
|
||||||
@@ -8228,13 +8226,13 @@ snapshots:
|
|||||||
|
|
||||||
'@types/sax@1.2.7':
|
'@types/sax@1.2.7':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@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.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@types/trusted-types@2.0.7': {}
|
'@types/trusted-types@2.0.7': {}
|
||||||
|
|
||||||
@@ -8244,7 +8242,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/ws@8.18.1':
|
'@types/ws@8.18.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
'@uiw/copy-to-clipboard@1.0.19': {}
|
'@uiw/copy-to-clipboard@1.0.19': {}
|
||||||
|
|
||||||
@@ -8285,7 +8283,7 @@ snapshots:
|
|||||||
|
|
||||||
'@vercel/oidc@3.1.0': {}
|
'@vercel/oidc@3.1.0': {}
|
||||||
|
|
||||||
'@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2))':
|
'@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.5.0)(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)
|
||||||
@@ -8293,24 +8291,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(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.4.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.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(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.4.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.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(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': {}
|
||||||
@@ -8372,14 +8370,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.4.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.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.5.0)(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
|
||||||
@@ -8553,7 +8551,7 @@ snapshots:
|
|||||||
|
|
||||||
astring@1.9.0: {}
|
astring@1.9.0: {}
|
||||||
|
|
||||||
astro@5.16.15(@types/node@25.4.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.8.2):
|
astro@5.16.15(@types/node@25.5.0)(idb-keyval@6.2.2)(ioredis@5.9.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(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
|
||||||
@@ -8610,8 +8608,8 @@ snapshots:
|
|||||||
unist-util-visit: 5.0.0
|
unist-util-visit: 5.0.0
|
||||||
unstorage: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
unstorage: 1.17.4(idb-keyval@6.2.2)(ioredis@5.9.3(supports-color@10.2.2))
|
||||||
vfile: 6.0.3
|
vfile: 6.0.3
|
||||||
vite: 6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
vitefu: 1.1.1(vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
vitefu: 1.1.1(vite@6.4.1(@types/node@25.5.0)(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
|
||||||
@@ -8716,7 +8714,7 @@ snapshots:
|
|||||||
|
|
||||||
bun-types@1.3.10:
|
bun-types@1.3.10:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
|
|
||||||
bundle-name@4.1.0:
|
bundle-name@4.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -8906,6 +8904,8 @@ snapshots:
|
|||||||
|
|
||||||
dayjs@1.11.19: {}
|
dayjs@1.11.19: {}
|
||||||
|
|
||||||
|
dayjs@1.11.20: {}
|
||||||
|
|
||||||
dayjs@1.8.36: {}
|
dayjs@1.8.36: {}
|
||||||
|
|
||||||
debug@3.2.7(supports-color@10.2.2):
|
debug@3.2.7(supports-color@10.2.2):
|
||||||
@@ -11454,11 +11454,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
|
|
||||||
vite-plugin-inspect@0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
vite-plugin-inspect@0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.5.0)(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.57.1)
|
'@rollup/pluginutils': 5.3.0(rollup@4.57.1)
|
||||||
@@ -11469,28 +11469,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(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.57.1)(vite@6.4.1(@types/node@25.4.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.57.1)(vite@6.4.1(@types/node@25.5.0)(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.4.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.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
vite-plugin-inspect: 0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
vite-plugin-inspect: 0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
||||||
vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2))
|
vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.5.0)(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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.5.0)(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)
|
||||||
@@ -11501,11 +11501,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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vite@6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2):
|
vite@6.4.1(@types/node@25.5.0)(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)
|
||||||
@@ -11514,14 +11514,14 @@ snapshots:
|
|||||||
rollup: 4.43.0
|
rollup: 4.43.0
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 25.4.0
|
'@types/node': 25.5.0
|
||||||
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.4.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
vitefu@1.1.1(vite@6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 6.4.1(@types/node@25.4.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.30.2)
|
||||||
|
|
||||||
vizion@2.2.1:
|
vizion@2.2.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
Reference in New Issue
Block a user