generated from kevisual/vite-react-template
feat: 添加 CNB API 接口定义,包括用户验证、仓库管理和工作空间操作
This commit is contained in:
906
src/pages/cnb/api.ts
Normal file
906
src/pages/cnb/api.ts
Normal file
@@ -0,0 +1,906 @@
|
|||||||
|
import { createQueryApi } from '@kevisual/query/api';
|
||||||
|
import { queryClient as query } from '@/modules/query.ts';
|
||||||
|
const api = {
|
||||||
|
"cnb": {
|
||||||
|
/**
|
||||||
|
* 验证 CNB 登录信息是否有效
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.checkToken - {boolean} 是否检查 Token 的有效性
|
||||||
|
* @param data.checkCookie - {boolean} 是否检查 Cookie 的有效性
|
||||||
|
*/
|
||||||
|
"user-check": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "user-check",
|
||||||
|
"description": "检查用户登录状态,参数checkToken,default true; checkCookie, default false",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"checkToken": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"default": true,
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "是否检查 Token 的有效性",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"checkCookie": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"default": false,
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "是否检查 Cookie 的有效性",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "cnb-login-verify",
|
||||||
|
"title": "CNB 登录验证信息",
|
||||||
|
"summary": "验证 CNB 登录信息是否有效",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 列出cnb代码仓库, 可选flags参数,如 KnowledgeBase
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.search - {string} 搜索关键词
|
||||||
|
* @param data.pageSize - {number} 每页数量,默认999
|
||||||
|
* @param data.flags - {string} 仓库标记,如果是知识库则填写 KnowledgeBase
|
||||||
|
*/
|
||||||
|
"list-repos": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "list-repos",
|
||||||
|
"description": "列出我的代码仓库",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"search": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "搜索关键词",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"pageSize": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "每页数量,默认999",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"flags": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "仓库标记,如果是知识库则填写 KnowledgeBase",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "list-repos",
|
||||||
|
"title": "列出cnb代码仓库",
|
||||||
|
"summary": "列出cnb代码仓库, 可选flags参数,如 KnowledgeBase",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 创建一个新的代码仓库
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.name - {string} 代码仓库名称, 如 my-user/my-repo
|
||||||
|
* @param data.visibility - {string} 代码仓库可见性, public 或 private
|
||||||
|
* @param data.description - {string} 代码仓库描述
|
||||||
|
*/
|
||||||
|
"create-repo": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "create-repo",
|
||||||
|
"description": "创建代码仓库, 参数name, visibility, description",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"name": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称, 如 my-user/my-repo"
|
||||||
|
},
|
||||||
|
"visibility": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"default": "public",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库可见性, public 或 private",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库描述"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "create-repo",
|
||||||
|
"title": "创建代码仓库",
|
||||||
|
"summary": "创建一个新的代码仓库",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 在代码仓库中创建文件, encoding 可选,默认 raw
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repoName - {string} 代码仓库名称, 如 my-user/my-repo
|
||||||
|
* @param data.filePath - {string} 文件路径, 如 src/index.ts
|
||||||
|
* @param data.content - {string} 文本的字符串的内容
|
||||||
|
* @param data.encoding - {string} 编码方式,如 raw
|
||||||
|
*/
|
||||||
|
"create-repo-file": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "create-repo-file",
|
||||||
|
"description": "在代码仓库中创建文件, repoName, filePath, content, encoding。使用CNB_COOKIE进行鉴权",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repoName": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称, 如 my-user/my-repo"
|
||||||
|
},
|
||||||
|
"filePath": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "文件路径, 如 src/index.ts"
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "文本的字符串的内容"
|
||||||
|
},
|
||||||
|
"encoding": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "编码方式,如 raw",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "create-repo-file",
|
||||||
|
"title": "在代码仓库中创建文件",
|
||||||
|
"summary": "在代码仓库中创建文件, encoding 可选,默认 raw",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 删除一个代码仓库
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.name - {string} 代码仓库名称
|
||||||
|
*/
|
||||||
|
"delete-repo": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "delete-repo",
|
||||||
|
"description": "删除代码仓库, 参数name",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"name": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "delete-repo",
|
||||||
|
"title": "删除代码仓库",
|
||||||
|
"summary": "删除一个代码仓库",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量删除已停止的cnb工作空间,释放资源
|
||||||
|
*/
|
||||||
|
"clean-closed-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "clean-closed-workspace",
|
||||||
|
"description": "批量删除已停止的cnb工作空间",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {},
|
||||||
|
"skill": "clean-closed-workspace",
|
||||||
|
"title": "清理已关闭的cnb工作空间",
|
||||||
|
"summary": "批量删除已停止的cnb工作空间,释放资源",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 保持工作空间存活技能,参数repo:代码仓库路径,例如 user/repo,pipelineId:流水线ID,例如 cnb-708-1ji9sog7o-001
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库路径,例如 user/repo
|
||||||
|
* @param data.pipelineId - {string} 流水线ID,例如 cnb-708-1ji9sog7o-001
|
||||||
|
*/
|
||||||
|
"keep-workspace-alive": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "keep-workspace-alive",
|
||||||
|
"description": "保持工作空间存活技能,参数repo:代码仓库路径,例如 user/repo,pipelineId:流水线ID,例如 cnb-708-1ji9sog7o-001",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库路径,例如 user/repo"
|
||||||
|
},
|
||||||
|
"pipelineId": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "流水线ID,例如 cnb-708-1ji9sog7o-001"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 停止保持工作空间存活技能, 参数repo:代码仓库路径,例如 user/repo,pipelineId:流水线ID,例如 cnb-708-1ji9sog7o-001
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库路径,例如 user/repo
|
||||||
|
* @param data.pipelineId - {string} 流水线ID,例如 cnb-708-1ji9sog7o-001
|
||||||
|
*/
|
||||||
|
"stop-keep-workspace-alive": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "stop-keep-workspace-alive",
|
||||||
|
"description": "停止保持工作空间存活技能, 参数repo:代码仓库路径,例如 user/repo,pipelineId:流水线ID,例如 cnb-708-1ji9sog7o-001",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库路径,例如 user/repo"
|
||||||
|
},
|
||||||
|
"pipelineId": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "流水线ID,例如 cnb-708-1ji9sog7o-001"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 保持当前工作空间存活,防止被关闭或释放资源
|
||||||
|
*/
|
||||||
|
"keep-alive-current-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "keep-alive-current-workspace",
|
||||||
|
"description": "保持当前工作空间存活技能",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"skill": "keep-alive-current-workspace",
|
||||||
|
"title": "保持当前工作空间存活",
|
||||||
|
"summary": "保持当前工作空间存活,防止被关闭或释放资源",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 启动cnb工作空间
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库路径,例如 user/repo
|
||||||
|
* @param data.branch - {string} 分支名称,默认主分支
|
||||||
|
* @param data.ref - {string} 提交引用,例如 commit sha
|
||||||
|
*/
|
||||||
|
"start-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "start-workspace",
|
||||||
|
"description": "启动开发工作空间, 参数 repo",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库路径,例如 user/repo"
|
||||||
|
},
|
||||||
|
"branch": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分支名称,默认主分支",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"ref": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "提交引用,例如 commit sha",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "start-workspace",
|
||||||
|
"title": "启动cnb工作空间",
|
||||||
|
"summary": "启动cnb工作空间",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 列出cnb工作空间列表,支持按状态过滤, status 可选值 running 或 closed
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.status - {string} 开发环境状态,running: 运行中,closed: 已关闭和停止的
|
||||||
|
* @param data.page - {number} 分页页码,默认 1
|
||||||
|
* @param data.pageSize - {number} 分页大小,默认 20,最大 100
|
||||||
|
* @param data.slug - {string} 仓库路径,例如 groupname/reponame
|
||||||
|
* @param data.branch - {string} 分支名称
|
||||||
|
*/
|
||||||
|
"list-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "list-workspace",
|
||||||
|
"description": "获取cnb开发工作空间列表,可选参数 status=running 获取运行中的环境",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"status": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "开发环境状态,running: 运行中,closed: 已关闭和停止的",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"page": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分页页码,默认 1",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"pageSize": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分页大小,默认 20,最大 100",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"slug": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "仓库路径,例如 groupname/reponame",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"branch": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分支名称",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "list-workspace",
|
||||||
|
"title": "列出cnb工作空间",
|
||||||
|
"summary": "列出cnb工作空间列表,支持按状态过滤, status 可选值 running 或 closed",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取工作空间详细信息
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库路径,例如 user/repo
|
||||||
|
* @param data.sn - {string} 工作空间流水线的 sn
|
||||||
|
*/
|
||||||
|
"get-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "get-workspace",
|
||||||
|
"description": "获取工作空间详情,通过 repo 和 sn 获取",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库路径,例如 user/repo"
|
||||||
|
},
|
||||||
|
"sn": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "工作空间流水线的 sn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "get-workspace",
|
||||||
|
"title": "获取工作空间详情",
|
||||||
|
"summary": "获取工作空间详细信息",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 删除工作空间,pipelineId 和 sn 二选一
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.pipelineId - {string} 流水线 ID,优先使用
|
||||||
|
* @param data.sn - {string} 流水线构建号
|
||||||
|
* @param data.sns - {array} 批量流水线构建号
|
||||||
|
*/
|
||||||
|
"delete-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "delete-workspace",
|
||||||
|
"description": "删除工作空间,通过 pipelineId 或 sn",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"pipelineId": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "流水线 ID,优先使用",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sn": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "流水线构建号",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sns": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "批量流水线构建号",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "delete-workspace",
|
||||||
|
"title": "删除工作空间",
|
||||||
|
"summary": "删除工作空间,pipelineId 和 sn 二选一",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 停止运行中的工作空间
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.pipelineId - {string} 流水线 ID,优先使用
|
||||||
|
* @param data.sn - {string} 流水线构建号
|
||||||
|
*/
|
||||||
|
"stop-workspace": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "stop-workspace",
|
||||||
|
"description": "停止工作空间,通过 pipelineId 或 sn",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"pipelineId": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "流水线 ID,优先使用",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sn": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "流水线构建号",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "stop-workspace",
|
||||||
|
"title": "停止工作空间",
|
||||||
|
"summary": "停止运行中的工作空间",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取当前cnb工作空间的port代理uri,用于端口转发
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.port - {number} 端口号,默认为51515
|
||||||
|
*/
|
||||||
|
"get-cnb-port-uri": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "get-cnb-port-uri",
|
||||||
|
"description": "获取当前cnb工作空间的port代理uri",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"port": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "端口号,默认为51515",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "get-cnb-port-uri",
|
||||||
|
"title": "获取当前cnb工作空间的port代理uri",
|
||||||
|
"summary": "获取当前cnb工作空间的port代理uri,用于端口转发",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取当前cnb工作空间的vscode代理uri,用于在浏览器中访问vscode,包含多种访问方式,如web、vscode、codebuddy、cursor、ssh
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.web - {boolean} 是否获取vscode web的访问uri,默认为false
|
||||||
|
* @param data.vscode - {boolean} 是否获取vscode的代理uri,默认为true
|
||||||
|
* @param data.codebuddy - {boolean} 是否获取codebuddy的代理uri,默认为false
|
||||||
|
* @param data.cursor - {boolean} 是否获取cursor的代理uri,默认为false
|
||||||
|
* @param data.ssh - {boolean} 是否获取vscode remote ssh的连接字符串,默认为false
|
||||||
|
*/
|
||||||
|
"get-cnb-vscode-uri": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "get-cnb-vscode-uri",
|
||||||
|
"description": "获取当前cnb工作空间的vscode代理uri, 包括多种访问方式, 如web、vscode、codebuddy、cursor、ssh",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"web": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "是否获取vscode web的访问uri,默认为false",
|
||||||
|
"type": "boolean",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"vscode": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "是否获取vscode的代理uri,默认为true",
|
||||||
|
"type": "boolean",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"codebuddy": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "是否获取codebuddy的代理uri,默认为false",
|
||||||
|
"type": "boolean",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"cursor": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "是否获取cursor的代理uri,默认为false",
|
||||||
|
"type": "boolean",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"ssh": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "是否获取vscode remote ssh的连接字符串,默认为false",
|
||||||
|
"type": "boolean",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "get-cnb-vscode-uri",
|
||||||
|
"title": "获取当前cnb工作空间的编辑器访问地址",
|
||||||
|
"summary": "获取当前cnb工作空间的vscode代理uri,用于在浏览器中访问vscode,包含多种访问方式,如web、vscode、codebuddy、cursor、ssh",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 设置当前cnb工作空间的cookie环境变量,用于界面操作定制模块功能,例子:CNBSESSION=xxxx;csrfkey=2222xxxx;
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.cookie - {string} cnb的cookie值
|
||||||
|
*/
|
||||||
|
"set-cnb-cookie": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "set-cnb-cookie",
|
||||||
|
"description": "设置当前cnb工作空间的cookie环境变量",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"cookie": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "cnb的cookie值"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "set-cnb-cookie",
|
||||||
|
"title": "设置当前cnb工作空间的cookie环境变量",
|
||||||
|
"summary": "设置当前cnb工作空间的cookie环境变量,用于界面操作定制模块功能,例子:CNBSESSION=xxxx;csrfkey=2222xxxx;",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取当前cnb工作空间的cookie环境变量,用于界面操作定制模块功能
|
||||||
|
*/
|
||||||
|
"get-cnb-cookie": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "get-cnb-cookie",
|
||||||
|
"description": "获取当前cnb工作空间的cookie环境变量",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {},
|
||||||
|
"skill": "get-cnb-cookie",
|
||||||
|
"title": "获取当前cnb工作空间的cookie环境变量",
|
||||||
|
"summary": "获取当前cnb工作空间的cookie环境变量,用于界面操作定制模块功能",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 调用cnb的知识库ai对话功能进行聊天,基于cnb提供的ai能力
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.question - {string} 用户输入的消息内容
|
||||||
|
* @param data.repo - {string} 知识库仓库ID,默认为空表示使用默认知识库
|
||||||
|
*/
|
||||||
|
"cnb-ai-chat": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "cnb-ai-chat",
|
||||||
|
"description": "调用cnb的知识库ai对话功能进行聊天",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"question": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "用户输入的消息内容"
|
||||||
|
},
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "知识库仓库ID,默认为空表示使用默认知识库",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "cnb-ai-chat",
|
||||||
|
"title": "调用cnb的知识库ai对话功能进行聊天",
|
||||||
|
"summary": "调用cnb的知识库ai对话功能进行聊天,基于cnb提供的ai能力",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 调用cnb的知识库RAG查询功能进行问答,基于cnb提供的知识库能力
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.question - {string} 用户输入的消息内容
|
||||||
|
* @param data.repo - {string} 知识库仓库ID,默认为空表示使用默认知识库
|
||||||
|
*/
|
||||||
|
"cnb-rag-query": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "cnb-rag-query",
|
||||||
|
"description": "调用cnb的知识库RAG查询功能进行问答",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"question": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "用户输入的消息内容"
|
||||||
|
},
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "知识库仓库ID,默认为空表示使用默认知识库",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "cnb-rag-query",
|
||||||
|
"title": "调用cnb的知识库RAG查询功能进行问答",
|
||||||
|
"summary": "调用cnb的知识库RAG查询功能进行问答,基于cnb提供的知识库能力",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 查询 Issue 列表
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库名称, 如 my-user/my-repo
|
||||||
|
* @param data.state - {string} Issue 状态:open 或 closed
|
||||||
|
* @param data.keyword - {string} 问题搜索关键词
|
||||||
|
* @param data.labels - {string} 问题标签,多个用逗号分隔
|
||||||
|
* @param data.page - {number} 分页页码,默认: 1
|
||||||
|
* @param data.page_size - {number} 分页每页大小,默认: 30
|
||||||
|
* @param data.order_by - {string} 排序方式,如 created_at, -updated_at
|
||||||
|
*/
|
||||||
|
"list-issues": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "list-issues",
|
||||||
|
"description": "查询 Issue 列表, 参数 repo, state, keyword, labels, page, page_size 等",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称, 如 my-user/my-repo"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "Issue 状态:open 或 closed",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"keyword": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "问题搜索关键词",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "问题标签,多个用逗号分隔",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"page": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分页页码,默认: 1",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"page_size": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "分页每页大小,默认: 30",
|
||||||
|
"type": "number",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"order_by": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "排序方式,如 created_at, -updated_at",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "list-issues",
|
||||||
|
"title": "查询 Issue 列表",
|
||||||
|
"summary": "查询 Issue 列表",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 创建一个新的 Issue
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库名称, 如 my-user/my-repo
|
||||||
|
* @param data.title - {string} Issue 标题
|
||||||
|
* @param data.body - {string} Issue 描述内容
|
||||||
|
* @param data.assignees - {array} 指派人列表
|
||||||
|
* @param data.labels - {array} 标签列表
|
||||||
|
* @param data.priority - {string} 优先级
|
||||||
|
*/
|
||||||
|
"create-issue": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "create-issue",
|
||||||
|
"description": "创建 Issue, 参数 repo, title, body, assignees, labels, priority",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称, 如 my-user/my-repo"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "Issue 标题"
|
||||||
|
},
|
||||||
|
"body": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "Issue 描述内容",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"assignees": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "指派人列表",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "标签列表",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"priority": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "优先级",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "create-issue",
|
||||||
|
"title": "创建 Issue",
|
||||||
|
"summary": "创建一个新的 Issue",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 完成一个 Issue(将 state 改为 closed)
|
||||||
|
*
|
||||||
|
* @param data - Request parameters
|
||||||
|
* @param data.repo - {string} 代码仓库名称, 如 my-user/my-repo
|
||||||
|
* @param data.issueNumber - {unknown} Issue 编号
|
||||||
|
* @param data.state - {string} Issue 状态,默认为 closed
|
||||||
|
*/
|
||||||
|
"complete-issue": {
|
||||||
|
"path": "cnb",
|
||||||
|
"key": "complete-issue",
|
||||||
|
"description": "完成 Issue, 参数 repo, issueNumber",
|
||||||
|
"metadata": {
|
||||||
|
"tags": [
|
||||||
|
"opencode"
|
||||||
|
],
|
||||||
|
"args": {
|
||||||
|
"repo": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"type": "string",
|
||||||
|
"description": "代码仓库名称, 如 my-user/my-repo"
|
||||||
|
},
|
||||||
|
"issueNumber": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Issue 编号"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "Issue 状态,默认为 closed",
|
||||||
|
"type": "string",
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": "complete-issue",
|
||||||
|
"title": "完成 CNB的任务Issue",
|
||||||
|
"summary": "完成一个 Issue(将 state 改为 closed)",
|
||||||
|
"url": "/root/v1/cnb-dev",
|
||||||
|
"source": "query-proxy-api"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} as const;
|
||||||
|
const queryApi = createQueryApi({ api, query });
|
||||||
|
|
||||||
|
export { queryApi };
|
||||||
Reference in New Issue
Block a user