Files
cnb/agent/routes/repo/list.ts

37 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { createSkill } from '@kevisual/router';
import { app, cnb } from '../../app.ts';
import { tool } from "@opencode-ai/plugin/tool"
app.route({
path: 'cnb',
key: 'list-repos',
description: '列出我的代码仓库',
middleware: ['auth'],
metadata: {
tags: ['opencode'],
...createSkill({
skill: 'list-repos',
title: '列出代码仓库',
summary: '列出代码仓库',
args: {
search: tool.schema.string().optional().describe('搜索关键词'),
pageSize: tool.schema.number().optional().describe('每页数量默认999'),
},
})
}
}).define(async (ctx) => {
const search = ctx.query?.search;
const pageSize = ctx.query?.pageSize || 9999;
const res = await cnb.repo.getRepoList({ search, page_size: pageSize, role: 'developer' });
if (res.code === 200) {
const repos = res.data.map((item) => ({
name: item.name,
path: item.path,
description: item.description,
web_url: item.web_url,
}));
ctx.body = { content: JSON.stringify(repos) };
} else {
ctx.throw(500, '获取仓库列表失败');
}
}).addTo(app);