sino-bc-cli 1.0.7 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +30 -22
  2. package/dist/SKILL.md +44 -23
  3. package/dist/commands/api-endpoint.command.d.ts +58 -0
  4. package/dist/commands/{bc-mcp.command.js → api-endpoint.command.js} +31 -30
  5. package/dist/commands/api-endpoint.command.js.map +1 -0
  6. package/dist/commands/bc-api.command.d.ts +20 -0
  7. package/dist/commands/bc-api.command.js +30 -0
  8. package/dist/commands/bc-api.command.js.map +1 -0
  9. package/dist/commands/ic-api.command.d.ts +19 -0
  10. package/dist/commands/ic-api.command.js +29 -0
  11. package/dist/commands/ic-api.command.js.map +1 -0
  12. package/dist/commands/index.d.ts +3 -3
  13. package/dist/commands/index.js +11 -13
  14. package/dist/commands/index.js.map +1 -1
  15. package/dist/constants/api-doc.js +3 -3
  16. package/dist/constants/api-doc.js.map +1 -1
  17. package/dist/constants/biz-line-api-doc.d.ts +19 -0
  18. package/dist/constants/biz-line-api-doc.js +353 -0
  19. package/dist/constants/biz-line-api-doc.js.map +1 -0
  20. package/dist/constants/gateway.d.ts +1 -1
  21. package/dist/constants/gateway.js +5 -5
  22. package/dist/constants/gateway.js.map +1 -1
  23. package/dist/constants/index.d.ts +3 -13
  24. package/dist/constants/index.js +7 -14
  25. package/dist/constants/index.js.map +1 -1
  26. package/dist/core/cli-app.js +5 -7
  27. package/dist/core/cli-app.js.map +1 -1
  28. package/dist/core/command-registry.d.ts +2 -2
  29. package/dist/core/command-registry.js +2 -2
  30. package/dist/types/index.d.ts +2 -0
  31. package/dist/types/index.js.map +1 -1
  32. package/package.json +2 -3
  33. package/dist/commands/bc-mcp.command.d.ts +0 -53
  34. package/dist/commands/bc-mcp.command.js.map +0 -1
  35. package/dist/commands/homepage.command.d.ts +0 -19
  36. package/dist/commands/homepage.command.js +0 -96
  37. package/dist/commands/homepage.command.js.map +0 -1
  38. package/dist/commands/nexus-swagger.command.d.ts +0 -19
  39. package/dist/commands/nexus-swagger.command.js +0 -95
  40. package/dist/commands/nexus-swagger.command.js.map +0 -1
package/README.md CHANGED
@@ -91,7 +91,7 @@ sino-bc-cli /init
91
91
  ### ⑥ 免安装临时执行
92
92
 
93
93
  ```bash
94
- npx sino-bc-cli /homepage
94
+ npx sino-bc-cli --help
95
95
  ```
96
96
 
97
97
  注意 `npx` 方式不会持久注册 Agent 技能,需要技能能力时仍请走全局安装 + `/init`。
@@ -140,8 +140,10 @@ sino-bc-cli/
140
140
  │ │
141
141
  │ ├── commands/ # 📦 命令实现层(每命令一个文件,可独立扩展)
142
142
  │ │ ├── index.ts # 命令批量注册入口
143
- │ │ ├── homepage.command.ts # /homepage 命令实现(打开业务平台主页)
144
- │ │ └── nexus-swagger.command.ts # /nexus-swagger 命令实现(打开 Nexus Swagger 文档页)
143
+ │ │ ├── init.command.ts # /init 命令实现(注册 Agent 技能)
144
+ │ │ ├── api-endpoint.command.ts # 接口调用类命令基类(选择接口 → 发起调用 → 打印响应)
145
+ │ │ ├── ic-api.command.ts # /ic-api 命令实现(调用 iCenter 接口地址)
146
+ │ │ └── bc-api.command.ts # /bc-api 命令实现(调用业务线查询 / 业务线策略接口)
145
147
  │ │
146
148
  │ ├── utils/ # 🛠 工具类层(高内聚的可复用工具)
147
149
  │ │ ├── index.ts # 工具模块统一导出
@@ -155,7 +157,7 @@ sino-bc-cli/
155
157
  │ │ └── index.ts # 全局接口、枚举定义(ICommand、LogLevel 等)
156
158
  │ │
157
159
  │ └── constants/ # 🔧 常量配置层
158
- │ └── index.ts # CLI 配置、URL 配置、命令名称、默认值
160
+ │ └── index.ts # CLI 配置、命令名称、默认值
159
161
  │
160
162
  ├── dist/ # 📤 编译输出目录(编译后自动生成)
161
163
  │ └── ... # JavaScript 编译产物 + 类型声明 + SourceMap
@@ -234,8 +236,8 @@ npm run dev -- [参数]
234
236
  # 示例:查看帮助
235
237
  npm run dev -- --help
236
238
 
237
- # 示例:执行 /homepage 命令
238
- npm run dev -- /homepage
239
+ # 示例:执行 /ic-api 命令
240
+ npm run dev -- /ic-api
239
241
  ```
240
242
 
241
243
  ### 5. 全局安装(推荐)
@@ -256,7 +258,8 @@ npm i sino-bc-cli -g
256
258
 
257
259
  ```bash
258
260
  sino-bc-cli --help
259
- sino-bc-cli /homepage
261
+ sino-bc-cli /init
262
+ sino-bc-cli /ic-api
260
263
  ```
261
264
 
262
265
  `npm i sino-bc-cli -g` 完成后会自动执行 `/init`,把 `SKILL.md` 写到用户主目录的 Agent 技能目录(`~/.agents/skills/sino-bc-cli` 等)。飞书豆包工作:技能·连接器 → 管理 → **本地** → 刷新。若未出现,手动执行:
@@ -273,10 +276,11 @@ sino-bc-cli /init
273
276
 
274
277
  ### 可用命令一览
275
278
 
276
- | 命令 | 说明 |
277
- | :--------------- | :----------------------------------------------------------------------------------------------------------------- |
278
- | `/homepage` | 使用默认浏览器打开 BeyondClick 业务平台主页 (`https://business.beyondclick.com/`) |
279
- | `/nexus-swagger` | 使用默认浏览器打开 BeyondClick Nexus Swagger 文档页 (`https://o-test-sino-bc-nexus.meetsocial.com/doc.html#/home`) |
279
+ | 命令 | 说明 |
280
+ | :-------- | :-------------------------------------------------------------------------------------------- |
281
+ | `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
282
+ | `/ic-api` | 交互选择并调用 iCenter 接口地址;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
283
+ | `/bc-api` | 交互选择并调用业务线查询 / 业务线策略接口(共 22 个,路径统一带 `/sino-opti-hive` 前缀) |
280
284
 
281
285
  ### 全局选项
282
286
 
@@ -300,31 +304,35 @@ sino-bc-cli --help
300
304
  sino-bc-cli -h
301
305
  ```
302
306
 
303
- #### ② 打开 BeyondClick 业务平台主页
307
+ #### ② 调用 iCenter 接口地址
304
308
 
305
309
  ```bash
306
- sino-bc-cli /homepage
310
+ sino-bc-cli /ic-api
311
+ sino-bc-cli /ic-api test
307
312
  ```
308
313
 
309
- 执行效果:自动调用系统默认浏览器打开 `https://business.beyondclick.com/`。
314
+ 执行效果:交互选择接口后,向对应环境的 iCenter 接口地址发起请求。
310
315
 
311
- #### ③ 打开 BeyondClick Nexus Swagger 文档页
316
+ #### ③ 调用业务线查询 / 业务线策略接口
312
317
 
313
318
  ```bash
314
- sino-bc-cli /nexus-swagger
319
+ sino-bc-cli /bc-api
320
+ sino-bc-cli /bc-api test
315
321
  ```
316
322
 
317
- 执行效果:自动调用系统默认浏览器打开 Nexus Swagger 文档页。
323
+ 执行效果:按「业务线查询(5 个)」「业务线策略(17 个)」两组列出接口,输入序号后向对应环境网关发起请求。所有路径统一带 `/sino-opti-hive` 路由前缀,接口清单见 [`src/api-doc/README.md`](./src/api-doc/README.md)。
324
+
325
+ > ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口,会按文档示例请求体直接发起调用,执行前请确认环境。
318
326
 
319
327
  #### ④ 启用 Debug 模式运行
320
328
 
321
329
  ```bash
322
- sino-bc-cli --debug /homepage
330
+ sino-bc-cli --debug /ic-api
323
331
  # 或使用短选项
324
- sino-bc-cli -d /nexus-swagger
332
+ sino-bc-cli -d /ic-api
325
333
  ```
326
334
 
327
- Debug 模式会输出详细的日志,包括参数解析、命令注册、URL 打开过程等信息,便于排查问题。
335
+ Debug 模式会输出详细的日志,包括参数解析、命令注册、接口调用过程等信息,便于排查问题。
328
336
 
329
337
  ---
330
338
 
@@ -396,8 +404,8 @@ export class ExampleCommand implements ICommand {
396
404
  import { ExampleCommand } from "./example.command"; // 新增导入
397
405
 
398
406
  export const commands: ICommand[] = [
399
- new HomepageCommand(),
400
- new NexusSwaggerCommand(),
407
+ new InitCommand(),
408
+ new IcApiCommand(),
401
409
  new ExampleCommand(), // 新增注册
402
410
  ];
403
411
  ```
package/dist/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sino-bc-cli
3
3
  description: >
4
4
  BeyondClick CLI 项目说明、命令用法、扩展新命令与 npm 发布/回滚步骤。
5
- Use when 开发或使用 sino-bc-cli、执行 /init /homepage /nexus-swagger /bc-mcp、
5
+ Use when 开发或使用 sino-bc-cli、执行 /init /ic-api /bc-api、
6
6
  把技能注册到飞书豆包工作 / Cursor / Claude / Codex、扩展命令、
7
7
  npm publish、release:patch/minor/major、切 registry、排查 ENEEDAUTH/E403/EPUBLISHCONFLICT,
8
8
  或发布到私有 Nexus / 企业私服。
@@ -116,7 +116,7 @@ npm run rebuild # 清理后重新编译
116
116
 
117
117
  ```bash
118
118
  npm run dev -- --help
119
- npm run dev -- /homepage
119
+ npm run dev -- /ic-api
120
120
  ```
121
121
 
122
122
  ### 全局安装(推荐)
@@ -132,8 +132,8 @@ npm i sino-bc-cli -g
132
132
 
133
133
  ```bash
134
134
  sino-bc-cli --help
135
- sino-bc-cli /homepage
136
135
  sino-bc-cli /init
136
+ sino-bc-cli /ic-api
137
137
  ```
138
138
 
139
139
  `npm i -g` / `npm link` 后的 postinstall 会自动执行 `/init`,把 `SKILL.md` 写到 `~/.agents/skills/sino-bc-cli/`(以及 Codex / Cursor / Claude 目录)。飞书豆包工作:技能·连接器 → 管理 → **本地** → 刷新。未出现时再手动跑一遍 `/init`。
@@ -156,12 +156,11 @@ npm run rebuild # clean + tsc
156
156
 
157
157
  ### 可用命令
158
158
 
159
- | 命令 | 说明 |
160
- | :--------------- | :----------------------------------------------------------------------------------------------------------------- |
161
- | `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
162
- | `/homepage` | 使用默认浏览器打开 BeyondClick 业务平台主页 (`https://business.beyondclick.com/`) |
163
- | `/nexus-swagger` | 使用默认浏览器打开 BeyondClick Nexus Swagger 文档页 (`https://o-test-sino-bc-nexus.meetsocial.com/doc.html#/home`) |
164
- | `/bc-mcp` | 交互选择并调用 iCenter MCP 接口;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
159
+ | 命令 | 说明 |
160
+ | :-------- | :----------------------------------------------------------------------------------------------------------------- |
161
+ | `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
162
+ | `/ic-api` | 交互选择并调用 iCenter 接口地址;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
163
+ | `/bc-api` | 交互选择并调用业务线查询(5 个)/ 业务线策略(17 个)接口;路径统一带 `/sino-opti-hive` 前缀,参数同 `/ic-api` |
165
164
 
166
165
  ### 全局选项
167
166
 
@@ -177,19 +176,18 @@ npm run rebuild # clean + tsc
177
176
  sino-bc-cli --version
178
177
  sino-bc-cli --help
179
178
  sino-bc-cli /init
180
- sino-bc-cli /homepage
181
- sino-bc-cli /nexus-swagger
182
- sino-bc-cli /bc-mcp
183
- sino-bc-cli /bc-mcp test
184
- sino-bc-cli --debug /homepage
185
- sino-bc-cli -d /nexus-swagger
179
+ sino-bc-cli /ic-api
180
+ sino-bc-cli /ic-api test
181
+ sino-bc-cli /bc-api
182
+ sino-bc-cli /bc-api test
183
+ sino-bc-cli --debug /ic-api
184
+ sino-bc-cli -d /ic-api
186
185
  ```
187
186
 
188
187
  - `/init`:把 `SKILL.md` 写到 `~/.agents/skills/sino-bc-cli/`(以及 Codex / Cursor / Claude 对应目录)。`npm i sino-bc-cli -g` 的 postinstall 会自动跑一遍;飞书豆包工作请到「技能·连接器 → 管理 → 本地」刷新。Windows 使用 `%USERPROFILE%`,macOS / Linux 使用 `$HOME`。
189
-
190
- - `/homepage`:打开 `https://business.beyondclick.com/`
191
- - `/nexus-swagger`:打开 Nexus Swagger 文档页
192
- - Debug 会输出参数解析、命令注册、URL 打开过程
188
+ - `/ic-api`:交互选择并调用 iCenter 接口地址(默认 `prod` + 内置 API Key)
189
+ - `/bc-api`:交互选择并调用 sino-opti-hive 业务线接口,按「业务线查询 / 业务线策略」分组展示。接口清单在 `src/constants/biz-line-api-doc.ts`,文档在 `src/api-doc/biz-line-query.md`、`src/api-doc/biz-line-strategy.md`。所有路径带 `/sino-opti-hive` 前缀;策略组含写操作接口,执行前先确认环境
190
+ - Debug 会输出参数解析、命令注册、接口调用过程
193
191
 
194
192
  ### 跨平台兼容性
195
193
 
@@ -230,14 +228,37 @@ export class ExampleCommand implements ICommand {
230
228
  import { ExampleCommand } from "./example.command";
231
229
 
232
230
  export const commands: ICommand[] = [
233
- new HomepageCommand(),
234
- new NexusSwaggerCommand(),
231
+ new InitCommand(),
232
+ new IcApiCommand(),
235
233
  new ExampleCommand(),
236
234
  ];
237
235
  ```
238
236
 
239
237
  完成后 `npm run build`,即可使用 `sino-bc-cli /example`。
240
238
 
239
+ ### 扩展「接口调用类」命令
240
+
241
+ 新增一组接口调用命令(如 `/ic-api`、`/bc-api`)时,不要重复实现调用流程,继承 `BaseApiEndpointCommand` 即可复用「解析环境与 API Key → 分组展示接口 → 发起调用 → 打印响应」:
242
+
243
+ 1. 在 `src/constants/` 下新建接口清单文件,导出 `IApiDocEndpoint[]`(`group` 字段用于分组展示)
244
+ 2. 在 `src/commands/` 下继承 `BaseApiEndpointCommand`,只声明 `name`、`description`、`usage`、`endpoints`、`docSource`
245
+ 3. 在 `src/constants/index.ts` 的 `COMMAND_NAMES` 中登记命令名并导出清单,再加入 `commands` 数组
246
+
247
+ ```typescript
248
+ // src/commands/example-api.command.ts
249
+ import { IApiDocEndpoint } from "../types";
250
+ import { COMMAND_NAMES, EXAMPLE_APIS } from "../constants";
251
+ import { BaseApiEndpointCommand } from "./api-endpoint.command";
252
+
253
+ export class ExampleApiCommand extends BaseApiEndpointCommand {
254
+ public readonly name: string = COMMAND_NAMES.EXAMPLE_API;
255
+ public readonly description: string = "交互选择并调用示例接口";
256
+ public readonly usage: string = `/${COMMAND_NAMES.EXAMPLE_API} test`;
257
+ protected readonly endpoints: IApiDocEndpoint[] = EXAMPLE_APIS;
258
+ protected readonly docSource: string = "src/api-doc/example.md";
259
+ }
260
+ ```
261
+
241
262
  ---
242
263
 
243
264
  ## npm 发布
@@ -378,7 +399,7 @@ npm view sino-bc-cli version
378
399
  ```powershell
379
400
  npx sino-bc-cli@latest --version
380
401
  npx sino-bc-cli@latest --help
381
- # npx sino-bc-cli@latest /homepage
402
+ # npx sino-bc-cli@latest /ic-api
382
403
  ```
383
404
 
384
405
  **③ 浏览器打开包页**,确认 README 渲染、Version / License / Keywords、Dependencies(lodash、dayjs、axios、crypto-js、chalk、commander、open)
@@ -468,7 +489,7 @@ npm deprecate sino-bc-cli@* "此包已废弃,请使用 @newscope/sino-bc-cli"
468
489
  | 发版白名单 files / publishConfig | `package.json` 的 `files` + `publishConfig` |
469
490
  | TypeScript 编译配置 | `tsconfig.json` |
470
491
  | CLI 入口(带 shebang) | `src/index.ts` → 编译后 `dist/index.js` |
471
- | 命令 URL 配置 | `src/constants/index.ts` 的 `PLATFORM_URLS` |
492
+ | 网关 / 命令常量 | `src/constants/index.ts`、`src/constants/gateway.ts` |
472
493
 
473
494
  ---
474
495
 
@@ -0,0 +1,58 @@
1
+ import { IApiDocEndpoint, ICommand, EnvName } from '../types';
2
+ /**
3
+ * 接口调用类命令基类
4
+ * 统一封装「解析环境与 API Key → 交互选择接口 → 按网关地址发起调用 → 打印响应」流程
5
+ * 子类只需提供命令名、描述与可调用接口清单
6
+ */
7
+ export declare abstract class BaseApiEndpointCommand implements ICommand {
8
+ /** 命令名称 */
9
+ abstract readonly name: string;
10
+ /** 命令描述 */
11
+ abstract readonly description: string;
12
+ /** 命令使用示例 */
13
+ abstract readonly usage: string;
14
+ /** 可调用接口清单 */
15
+ protected abstract readonly endpoints: IApiDocEndpoint[];
16
+ /** 接口清单来源说明,展示在选择列表标题处 */
17
+ protected abstract readonly docSource: string;
18
+ /**
19
+ * 命令执行函数
20
+ * @param args 位置参数:[ENV] [API_KEY]
21
+ * @param options 解析后的选项,支持 --env / --api-key
22
+ */
23
+ execute(args: string[], options?: Record<string, unknown>): Promise<void>;
24
+ /**
25
+ * 解析环境参数,优先级:--env > 位置参数中的合法 ENV > 默认 prod
26
+ */
27
+ protected resolveEnv(args: string[], options?: Record<string, unknown>): EnvName;
28
+ /**
29
+ * 解析 API Key,优先级:--api-key > 非 ENV 的位置参数 > 默认值
30
+ */
31
+ protected resolveApiKey(args: string[], options?: Record<string, unknown>): string;
32
+ /**
33
+ * 从 options 中按候选 key 取第一个有效值
34
+ */
35
+ protected pickOption(options: Record<string, unknown> | undefined, keys: string[]): unknown;
36
+ /**
37
+ * 打印接口清单并让用户选择
38
+ * 接口带 group 时按分组分节展示,序号仍为全局连续编号
39
+ */
40
+ protected selectApi(): Promise<IApiDocEndpoint>;
41
+ /**
42
+ * 打印即将发起的请求概要
43
+ */
44
+ protected printRequestPreview(api: IApiDocEndpoint, url: string, apiKey: string): void;
45
+ /**
46
+ * 按接口方法发起请求并打印响应
47
+ */
48
+ protected callApi(api: IApiDocEndpoint, url: string, apiKey: string): Promise<void>;
49
+ /**
50
+ * 将响应格式化为可读 JSON 文本
51
+ * 部分接口可能返回 text/plain,需兜底解析
52
+ */
53
+ protected formatResponse(data: unknown): string;
54
+ /**
55
+ * 统一处理 HTTP 失败:优先打印服务端响应体
56
+ */
57
+ protected handleRequestError(error: unknown): never;
58
+ }
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.BcMcpCommand = void 0;
39
+ exports.BaseApiEndpointCommand = void 0;
40
40
  const _ = __importStar(require("lodash"));
41
41
  const dayjs_1 = __importDefault(require("dayjs"));
42
42
  const chalk_1 = __importDefault(require("chalk"));
@@ -45,29 +45,18 @@ const types_1 = require("../types");
45
45
  const utils_1 = require("../utils");
46
46
  const constants_1 = require("../constants");
47
47
  /**
48
- * 调用 iCenter MCP 接口命令
49
- * 命令名称: /bc-mcp
50
- * 功能: 交互选择 api-doc 中的接口,使用文档默认请求体发起调用
48
+ * 接口调用类命令基类
49
+ * 统一封装「解析环境与 API Key → 交互选择接口 → 按网关地址发起调用 → 打印响应」流程
50
+ * 子类只需提供命令名、描述与可调用接口清单
51
51
  */
52
- class BcMcpCommand {
53
- /** 命令名称 */
54
- name = constants_1.COMMAND_NAMES.BC_MCP;
55
- /** 命令描述 */
56
- description = '交互选择并调用 iCenter MCP 接口(请求体默认使用文档示例)';
57
- /** 命令使用示例 */
58
- usage = `
59
- /${constants_1.COMMAND_NAMES.BC_MCP}
60
- /${constants_1.COMMAND_NAMES.BC_MCP} test
61
- /${constants_1.COMMAND_NAMES.BC_MCP} prod sk-your-api-key
62
- sino-bc-cli /${constants_1.COMMAND_NAMES.BC_MCP} --env=pre --api-key=sk-xxx
63
- `;
52
+ class BaseApiEndpointCommand {
64
53
  /**
65
54
  * 命令执行函数
66
55
  * @param args 位置参数:[ENV] [API_KEY]
67
56
  * @param options 解析后的选项,支持 --env / --api-key
68
57
  */
69
58
  async execute(args, options) {
70
- utils_1.logger.debug(`[BcMcpCommand] 命令执行开始,参数: ${JSON.stringify(args)}`);
59
+ utils_1.logger.debug(`[${this.name}] 命令执行开始,参数: ${JSON.stringify(args)}`);
71
60
  const startTime = (0, dayjs_1.default)();
72
61
  const env = this.resolveEnv(args, options);
73
62
  const apiKey = this.resolveApiKey(args, options);
@@ -78,7 +67,7 @@ class BcMcpCommand {
78
67
  this.printRequestPreview(api, url, apiKey);
79
68
  await this.callApi(api, url, apiKey);
80
69
  const durationSec = _.round((0, dayjs_1.default)().diff(startTime) / 1000, 2);
81
- utils_1.logger.debug(`[BcMcpCommand] 命令执行完成,耗时: ${durationSec} 秒`);
70
+ utils_1.logger.debug(`[${this.name}] 命令执行完成,耗时: ${durationSec} 秒`);
82
71
  }
83
72
  /**
84
73
  * 解析环境参数,优先级:--env > 位置参数中的合法 ENV > 默认 prod
@@ -123,19 +112,31 @@ class BcMcpCommand {
123
112
  }
124
113
  /**
125
114
  * 打印接口清单并让用户选择
115
+ * 接口带 group 时按分组分节展示,序号仍为全局连续编号
126
116
  */
127
117
  async selectApi() {
128
118
  process.stdout.write('\n');
129
- process.stdout.write(chalk_1.default.bold('📦 可调用接口') + chalk_1.default.gray('(来源: src/api-doc)') + '\n\n');
130
- _.forEach(constants_1.ICENTER_MCP_APIS, (api, index) => {
131
- const serial = chalk_1.default.greenBright(` ${index + 1}.`);
132
- const title = chalk_1.default.whiteBright(` ${api.displayName}`);
133
- const meta = chalk_1.default.gray(` ${api.method} ${api.name}`);
134
- const desc = chalk_1.default.white(` ${api.description}`);
135
- process.stdout.write(`${serial}${title}\n${meta}\n${desc}\n\n`);
119
+ process.stdout.write(chalk_1.default.bold('📦 可调用接口') + chalk_1.default.gray(`(来源: ${this.docSource})`) + '\n\n');
120
+ // 按 group 分组展示;无 group 的接口归入一个匿名分组
121
+ const grouped = _.groupBy(this.endpoints, (api) => api.group ?? '');
122
+ let serialNo = 0;
123
+ _.forEach(grouped, (apis, group) => {
124
+ if (!_.isEmpty(group)) {
125
+ process.stdout.write(chalk_1.default.bold.blueBright(` ── ${group} (${apis.length}) ──`) + '\n\n');
126
+ }
127
+ _.forEach(apis, (api) => {
128
+ serialNo += 1;
129
+ const serial = chalk_1.default.greenBright(` ${serialNo}.`);
130
+ const title = chalk_1.default.whiteBright(` ${api.displayName}`);
131
+ const meta = chalk_1.default.gray(` ${api.method} ${api.path}`);
132
+ const desc = chalk_1.default.white(` ${api.description}`);
133
+ process.stdout.write(`${serial}${title}\n${meta}\n${desc}\n\n`);
134
+ });
136
135
  });
137
- const selectedIndex = await utils_1.PromptUtils.selectIndex(constants_1.ICENTER_MCP_APIS.length);
138
- return constants_1.ICENTER_MCP_APIS[selectedIndex];
136
+ // 分组仅影响展示顺序,需按同样顺序取回选中项
137
+ const ordered = _.flatMap(grouped, (apis) => apis);
138
+ const selectedIndex = await utils_1.PromptUtils.selectIndex(ordered.length);
139
+ return ordered[selectedIndex];
139
140
  }
140
141
  /**
141
142
  * 打印即将发起的请求概要
@@ -179,7 +180,7 @@ class BcMcpCommand {
179
180
  }
180
181
  /**
181
182
  * 将响应格式化为可读 JSON 文本
182
- * version 接口可能返回 text/plain,需兜底解析
183
+ * 部分接口可能返回 text/plain,需兜底解析
183
184
  */
184
185
  formatResponse(data) {
185
186
  if (_.isString(data)) {
@@ -204,5 +205,5 @@ class BcMcpCommand {
204
205
  throw error instanceof Error ? error : new Error(String(error));
205
206
  }
206
207
  }
207
- exports.BcMcpCommand = BcMcpCommand;
208
- //# sourceMappingURL=bc-mcp.command.js.map
208
+ exports.BaseApiEndpointCommand = BaseApiEndpointCommand;
209
+ //# sourceMappingURL=api-endpoint.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-endpoint.command.js","sourceRoot":"","sources":["../../src/commands/api-endpoint.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IApiDocEndpoint } from '../types';
2
+ import { BaseApiEndpointCommand } from './api-endpoint.command';
3
+ /**
4
+ * 调用 sino-opti-hive 业务线接口命令
5
+ * 命令名称: /bc-api
6
+ * 功能: 交互选择「业务线查询 / 业务线策略」接口,向对应接口地址发起调用
7
+ * 所有路径统一带 /sino-opti-hive 网关路由前缀
8
+ */
9
+ export declare class BcApiCommand extends BaseApiEndpointCommand {
10
+ /** 命令名称 */
11
+ readonly name: string;
12
+ /** 命令描述 */
13
+ readonly description: string;
14
+ /** 命令使用示例 */
15
+ readonly usage: string;
16
+ /** 可调用接口清单 */
17
+ protected readonly endpoints: IApiDocEndpoint[];
18
+ /** 接口清单来源说明 */
19
+ protected readonly docSource: string;
20
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BcApiCommand = void 0;
4
+ const constants_1 = require("../constants");
5
+ const api_endpoint_command_1 = require("./api-endpoint.command");
6
+ /**
7
+ * 调用 sino-opti-hive 业务线接口命令
8
+ * 命令名称: /bc-api
9
+ * 功能: 交互选择「业务线查询 / 业务线策略」接口,向对应接口地址发起调用
10
+ * 所有路径统一带 /sino-opti-hive 网关路由前缀
11
+ */
12
+ class BcApiCommand extends api_endpoint_command_1.BaseApiEndpointCommand {
13
+ /** 命令名称 */
14
+ name = constants_1.COMMAND_NAMES.BC_API;
15
+ /** 命令描述 */
16
+ description = '交互选择并调用业务线查询 / 业务线策略接口(请求体默认使用文档示例)';
17
+ /** 命令使用示例 */
18
+ usage = `
19
+ /${constants_1.COMMAND_NAMES.BC_API}
20
+ /${constants_1.COMMAND_NAMES.BC_API} test
21
+ /${constants_1.COMMAND_NAMES.BC_API} prod sk-your-api-key
22
+ sino-bc-cli /${constants_1.COMMAND_NAMES.BC_API} --env=pre --api-key=sk-xxx
23
+ `;
24
+ /** 可调用接口清单 */
25
+ endpoints = constants_1.BIZ_LINE_APIS;
26
+ /** 接口清单来源说明 */
27
+ docSource = 'src/api-doc/biz-line-*.md';
28
+ }
29
+ exports.BcApiCommand = BcApiCommand;
30
+ //# sourceMappingURL=bc-api.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bc-api.command.js","sourceRoot":"","sources":["../../src/commands/bc-api.command.ts"],"names":[],"mappings":";;;AACA,4CAA4D;AAC5D,iEAAgE;AAEhE;;;;;GAKG;AACH,MAAa,YAAa,SAAQ,6CAAsB;IACtD,WAAW;IACK,IAAI,GAAW,yBAAa,CAAC,MAAM,CAAC;IAEpD,WAAW;IACK,WAAW,GAAW,qCAAqC,CAAC;IAE5E,aAAa;IACG,KAAK,GAAW;OAC3B,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;mBACR,yBAAa,CAAC,MAAM;GACpC,CAAC;IAEF,cAAc;IACK,SAAS,GAAsB,yBAAa,CAAC;IAEhE,eAAe;IACI,SAAS,GAAW,2BAA2B,CAAC;CACpE;AApBD,oCAoBC"}
@@ -0,0 +1,19 @@
1
+ import { IApiDocEndpoint } from '../types';
2
+ import { BaseApiEndpointCommand } from './api-endpoint.command';
3
+ /**
4
+ * 调用 iCenter 接口地址命令
5
+ * 命令名称: /ic-api
6
+ * 功能: 交互选择 api-doc 中的 iCenter 接口,向对应接口地址发起调用
7
+ */
8
+ export declare class IcApiCommand extends BaseApiEndpointCommand {
9
+ /** 命令名称 */
10
+ readonly name: string;
11
+ /** 命令描述 */
12
+ readonly description: string;
13
+ /** 命令使用示例 */
14
+ readonly usage: string;
15
+ /** 可调用接口清单 */
16
+ protected readonly endpoints: IApiDocEndpoint[];
17
+ /** 接口清单来源说明 */
18
+ protected readonly docSource: string;
19
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcApiCommand = void 0;
4
+ const constants_1 = require("../constants");
5
+ const api_endpoint_command_1 = require("./api-endpoint.command");
6
+ /**
7
+ * 调用 iCenter 接口地址命令
8
+ * 命令名称: /ic-api
9
+ * 功能: 交互选择 api-doc 中的 iCenter 接口,向对应接口地址发起调用
10
+ */
11
+ class IcApiCommand extends api_endpoint_command_1.BaseApiEndpointCommand {
12
+ /** 命令名称 */
13
+ name = constants_1.COMMAND_NAMES.IC_API;
14
+ /** 命令描述 */
15
+ description = '交互选择并调用 iCenter 接口地址(请求体默认使用文档示例)';
16
+ /** 命令使用示例 */
17
+ usage = `
18
+ /${constants_1.COMMAND_NAMES.IC_API}
19
+ /${constants_1.COMMAND_NAMES.IC_API} test
20
+ /${constants_1.COMMAND_NAMES.IC_API} prod sk-your-api-key
21
+ sino-bc-cli /${constants_1.COMMAND_NAMES.IC_API} --env=pre --api-key=sk-xxx
22
+ `;
23
+ /** 可调用接口清单 */
24
+ endpoints = constants_1.ICENTER_MCP_APIS;
25
+ /** 接口清单来源说明 */
26
+ docSource = 'src/api-doc';
27
+ }
28
+ exports.IcApiCommand = IcApiCommand;
29
+ //# sourceMappingURL=ic-api.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-api.command.js","sourceRoot":"","sources":["../../src/commands/ic-api.command.ts"],"names":[],"mappings":";;;AACA,4CAA+D;AAC/D,iEAAgE;AAEhE;;;;GAIG;AACH,MAAa,YAAa,SAAQ,6CAAsB;IACtD,WAAW;IACK,IAAI,GAAW,yBAAa,CAAC,MAAM,CAAC;IAEpD,WAAW;IACK,WAAW,GAAW,mCAAmC,CAAC;IAE1E,aAAa;IACG,KAAK,GAAW;OAC3B,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;mBACR,yBAAa,CAAC,MAAM;GACpC,CAAC;IAEF,cAAc;IACK,SAAS,GAAsB,4BAAgB,CAAC;IAEnE,eAAe;IACI,SAAS,GAAW,aAAa,CAAC;CACtD;AApBD,oCAoBC"}
@@ -5,7 +5,7 @@ import type { ICommand } from '../types';
5
5
  * 新增命令时只需在此数组中添加即可,无需修改注册逻辑
6
6
  */
7
7
  export declare const commands: ICommand[];
8
- export { HomepageCommand } from './homepage.command';
9
- export { NexusSwaggerCommand } from './nexus-swagger.command';
10
- export { BcMcpCommand } from './bc-mcp.command';
8
+ export { BaseApiEndpointCommand } from './api-endpoint.command';
9
+ export { BcApiCommand } from './bc-api.command';
10
+ export { IcApiCommand } from './ic-api.command';
11
11
  export { InitCommand } from './init.command';
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InitCommand = exports.BcMcpCommand = exports.NexusSwaggerCommand = exports.HomepageCommand = exports.commands = void 0;
4
- const homepage_command_1 = require("./homepage.command");
5
- const nexus_swagger_command_1 = require("./nexus-swagger.command");
6
- const bc_mcp_command_1 = require("./bc-mcp.command");
3
+ exports.InitCommand = exports.IcApiCommand = exports.BcApiCommand = exports.BaseApiEndpointCommand = exports.commands = void 0;
4
+ const bc_api_command_1 = require("./bc-api.command");
5
+ const ic_api_command_1 = require("./ic-api.command");
7
6
  const init_command_1 = require("./init.command");
8
7
  /**
9
8
  * 命令导出统一入口
@@ -11,17 +10,16 @@ const init_command_1 = require("./init.command");
11
10
  * 新增命令时只需在此数组中添加即可,无需修改注册逻辑
12
11
  */
13
12
  exports.commands = [
14
- new homepage_command_1.HomepageCommand(),
15
- new nexus_swagger_command_1.NexusSwaggerCommand(),
16
- new bc_mcp_command_1.BcMcpCommand(),
13
+ new bc_api_command_1.BcApiCommand(),
14
+ new ic_api_command_1.IcApiCommand(),
17
15
  new init_command_1.InitCommand(),
18
16
  ];
19
- var homepage_command_2 = require("./homepage.command");
20
- Object.defineProperty(exports, "HomepageCommand", { enumerable: true, get: function () { return homepage_command_2.HomepageCommand; } });
21
- var nexus_swagger_command_2 = require("./nexus-swagger.command");
22
- Object.defineProperty(exports, "NexusSwaggerCommand", { enumerable: true, get: function () { return nexus_swagger_command_2.NexusSwaggerCommand; } });
23
- var bc_mcp_command_2 = require("./bc-mcp.command");
24
- Object.defineProperty(exports, "BcMcpCommand", { enumerable: true, get: function () { return bc_mcp_command_2.BcMcpCommand; } });
17
+ var api_endpoint_command_1 = require("./api-endpoint.command");
18
+ Object.defineProperty(exports, "BaseApiEndpointCommand", { enumerable: true, get: function () { return api_endpoint_command_1.BaseApiEndpointCommand; } });
19
+ var bc_api_command_2 = require("./bc-api.command");
20
+ Object.defineProperty(exports, "BcApiCommand", { enumerable: true, get: function () { return bc_api_command_2.BcApiCommand; } });
21
+ var ic_api_command_2 = require("./ic-api.command");
22
+ Object.defineProperty(exports, "IcApiCommand", { enumerable: true, get: function () { return ic_api_command_2.IcApiCommand; } });
25
23
  var init_command_2 = require("./init.command");
26
24
  Object.defineProperty(exports, "InitCommand", { enumerable: true, get: function () { return init_command_2.InitCommand; } });
27
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,mEAA8D;AAC9D,qDAAgD;AAChD,iDAA6C;AAG7C;;;;GAIG;AACU,QAAA,QAAQ,GAAe;IAClC,IAAI,kCAAe,EAAE;IACrB,IAAI,2CAAmB,EAAE;IACzB,IAAI,6BAAY,EAAE;IAClB,IAAI,0BAAW,EAAE;CAClB,CAAC;AAEF,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,qDAAgD;AAChD,iDAA6C;AAG7C;;;;GAIG;AACU,QAAA,QAAQ,GAAe;IAClC,IAAI,6BAAY,EAAE;IAClB,IAAI,6BAAY,EAAE;IAClB,IAAI,0BAAW,EAAE;CAClB,CAAC;AAEF,+DAAgE;AAAvD,8HAAA,sBAAsB,OAAA;AAC/B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
@@ -11,7 +11,7 @@ exports.ICENTER_MCP_APIS = [
11
11
  displayName: 'Facebook广告策略维度数据',
12
12
  description: '查询广告策略配置(不含成效指标)',
13
13
  method: 'POST',
14
- path: '/mcp/strategy/dimension/facebook/ad/list',
14
+ path: '/icenter/mcp/strategy/dimension/facebook/ad/list',
15
15
  timeout: 20000,
16
16
  // 默认请求体取自文档「请求示例」
17
17
  defaultBody: {
@@ -40,7 +40,7 @@ exports.ICENTER_MCP_APIS = [
40
40
  displayName: 'Facebook广告策略成效数据',
41
41
  description: '查询策略维度 + 成效指标(最多近 21 天)',
42
42
  method: 'POST',
43
- path: '/mcp/strategy/metrics/facebook/ad/list',
43
+ path: '/icenter/mcp/strategy/metrics/facebook/ad/list',
44
44
  timeout: 20000,
45
45
  // 默认请求体取自文档「请求示例」
46
46
  defaultBody: {
@@ -73,7 +73,7 @@ exports.ICENTER_MCP_APIS = [
73
73
  displayName: '查询git最新提交版本',
74
74
  description: '查询 iCenter 服务 git 最新提交版本',
75
75
  method: 'GET',
76
- path: '/version',
76
+ path: '/icenter/version',
77
77
  timeout: 20000,
78
78
  },
79
79
  ];