sino-bc-cli 1.3.2 → 1.4.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 (85) hide show
  1. package/README.md +60 -14
  2. package/dist/SKILL.md +32 -14
  3. package/dist/api-doc/README.md +23 -5
  4. package/dist/api-doc/biz-line-query.md +2 -0
  5. package/dist/api-doc/biz-line-strategy.md +2 -0
  6. package/dist/api-doc/icenter-mcp-strategy-dimension-facebook-ad-list.md +13 -5
  7. package/dist/api-doc/icenter-mcp-strategy-dimension-google-ad-list.md +170 -0
  8. package/dist/api-doc/icenter-mcp-strategy-dimension-tiktok-ad-list.md +172 -0
  9. package/dist/api-doc/icenter-mcp-strategy-metrics-facebook-ad-list.md +11 -6
  10. package/dist/api-doc/icenter-mcp-strategy-metrics-google-ad-list.md +201 -0
  11. package/dist/api-doc/icenter-mcp-strategy-metrics-tiktok-ad-list.md +204 -0
  12. package/dist/api-doc/icenter-mcp-version-query.md +5 -3
  13. package/dist/index.js +1 -33
  14. package/package.json +6 -3
  15. package/dist/commands/api-endpoint.command.d.ts +0 -58
  16. package/dist/commands/api-endpoint.command.js +0 -212
  17. package/dist/commands/api-endpoint.command.js.map +0 -1
  18. package/dist/commands/api-list.command.d.ts +0 -39
  19. package/dist/commands/api-list.command.js +0 -179
  20. package/dist/commands/api-list.command.js.map +0 -1
  21. package/dist/commands/bc-api.command.d.ts +0 -20
  22. package/dist/commands/bc-api.command.js +0 -30
  23. package/dist/commands/bc-api.command.js.map +0 -1
  24. package/dist/commands/ic-api.command.d.ts +0 -20
  25. package/dist/commands/ic-api.command.js +0 -30
  26. package/dist/commands/ic-api.command.js.map +0 -1
  27. package/dist/commands/index.d.ts +0 -12
  28. package/dist/commands/index.js +0 -29
  29. package/dist/commands/index.js.map +0 -1
  30. package/dist/commands/init.command.d.ts +0 -30
  31. package/dist/commands/init.command.js +0 -130
  32. package/dist/commands/init.command.js.map +0 -1
  33. package/dist/constants/api-catalog.d.ts +0 -34
  34. package/dist/constants/api-catalog.js +0 -118
  35. package/dist/constants/api-catalog.js.map +0 -1
  36. package/dist/constants/api-doc.d.ts +0 -13
  37. package/dist/constants/api-doc.js +0 -97
  38. package/dist/constants/api-doc.js.map +0 -1
  39. package/dist/constants/biz-line-api-doc.d.ts +0 -19
  40. package/dist/constants/biz-line-api-doc.js +0 -353
  41. package/dist/constants/biz-line-api-doc.js.map +0 -1
  42. package/dist/constants/gateway.d.ts +0 -35
  43. package/dist/constants/gateway.js +0 -113
  44. package/dist/constants/gateway.js.map +0 -1
  45. package/dist/constants/index.d.ts +0 -32
  46. package/dist/constants/index.js +0 -84
  47. package/dist/constants/index.js.map +0 -1
  48. package/dist/core/cli-app.d.ts +0 -51
  49. package/dist/core/cli-app.js +0 -283
  50. package/dist/core/cli-app.js.map +0 -1
  51. package/dist/core/command-registry.d.ts +0 -71
  52. package/dist/core/command-registry.js +0 -195
  53. package/dist/core/command-registry.js.map +0 -1
  54. package/dist/core/index.d.ts +0 -2
  55. package/dist/core/index.js +0 -9
  56. package/dist/core/index.js.map +0 -1
  57. package/dist/index.d.ts +0 -12
  58. package/dist/index.js.map +0 -1
  59. package/dist/types/index.d.ts +0 -122
  60. package/dist/types/index.js +0 -46
  61. package/dist/types/index.js.map +0 -1
  62. package/dist/utils/browser.d.ts +0 -52
  63. package/dist/utils/browser.js +0 -222
  64. package/dist/utils/browser.js.map +0 -1
  65. package/dist/utils/common.d.ts +0 -97
  66. package/dist/utils/common.js +0 -198
  67. package/dist/utils/common.js.map +0 -1
  68. package/dist/utils/crypto.d.ts +0 -53
  69. package/dist/utils/crypto.js +0 -153
  70. package/dist/utils/crypto.js.map +0 -1
  71. package/dist/utils/http.d.ts +0 -58
  72. package/dist/utils/http.js +0 -188
  73. package/dist/utils/http.js.map +0 -1
  74. package/dist/utils/index.d.ts +0 -7
  75. package/dist/utils/index.js +0 -22
  76. package/dist/utils/index.js.map +0 -1
  77. package/dist/utils/logger.d.ts +0 -56
  78. package/dist/utils/logger.js +0 -161
  79. package/dist/utils/logger.js.map +0 -1
  80. package/dist/utils/prompt.d.ts +0 -18
  81. package/dist/utils/prompt.js +0 -77
  82. package/dist/utils/prompt.js.map +0 -1
  83. package/dist/utils/skill-install.d.ts +0 -74
  84. package/dist/utils/skill-install.js +0 -131
  85. package/dist/utils/skill-install.js.map +0 -1
@@ -1,179 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ApiListCommand = void 0;
40
- const _ = __importStar(require("lodash"));
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const fs_1 = require("fs");
43
- const path_1 = require("path");
44
- const utils_1 = require("../utils");
45
- const constants_1 = require("../constants");
46
- /**
47
- * 列出全部可调用接口,并支持点击 / 输入序号打开本地接口文档
48
- * 命令名称: /api-list
49
- */
50
- class ApiListCommand {
51
- /** 命令名称 */
52
- name = constants_1.COMMAND_NAMES.API_LIST;
53
- /** 命令描述 */
54
- description = '列出全部可调用接口;Ctrl+单击或输入序号打开对应接口文档';
55
- /** 命令使用示例 */
56
- usage = `
57
- /${constants_1.COMMAND_NAMES.API_LIST}
58
- /${constants_1.COMMAND_NAMES.API_LIST} 3
59
- /${constants_1.COMMAND_NAMES.API_LIST} biz-line-open-list
60
- sino-bc-cli /${constants_1.COMMAND_NAMES.API_LIST}
61
- `;
62
- /**
63
- * 命令执行函数
64
- * @param args 可选:序号(1-based)或接口 name,传入则直接打开对应文档
65
- */
66
- async execute(args) {
67
- utils_1.logger.debug(`[${this.name}] 命令执行开始,参数: ${JSON.stringify(args)}`);
68
- const catalog = (0, constants_1.getApiCatalog)();
69
- const apiDocDir = (0, constants_1.resolveApiDocDir)();
70
- if (_.isNil(apiDocDir)) {
71
- throw new Error('未找到 api-doc 目录,请先执行 npm run build,或确认安装包含 dist/api-doc');
72
- }
73
- this.printCatalog(catalog, apiDocDir);
74
- const selector = _.trim(_.head(args) ?? '');
75
- if (!_.isEmpty(selector)) {
76
- const item = this.findItem(catalog, selector);
77
- if (_.isNil(item)) {
78
- throw new Error(`未找到接口: ${selector},请输入 1-${catalog.length} 的序号或接口 name`);
79
- }
80
- await this.openDoc(item, apiDocDir);
81
- return;
82
- }
83
- await this.maybeSelectAndOpen(catalog, apiDocDir);
84
- utils_1.logger.debug(`[${this.name}] 命令执行完成`);
85
- }
86
- /**
87
- * 按分组打印可点击的接口清单
88
- * 接口名使用 OSC 8 超链接指向本地 markdown,文档路径可被 Cursor / VS Code Ctrl+单击
89
- */
90
- printCatalog(catalog, apiDocDir) {
91
- process.stdout.write('\n');
92
- process.stdout.write(chalk_1.default.bold('📦 可调用接口') +
93
- chalk_1.default.gray(` 共 ${catalog.length} 个`) +
94
- '\n\n');
95
- const grouped = _.groupBy(catalog, (item) => item.endpoint.group ?? '');
96
- let serialNo = 0;
97
- _.forEach(grouped, (items, group) => {
98
- if (!_.isEmpty(group)) {
99
- const command = (0, constants_1.getGroupCommand)(group);
100
- process.stdout.write(chalk_1.default.bold.blueBright(` ── ${group} (/${command} · ${items.length}) ──`) + '\n\n');
101
- }
102
- _.forEach(items, (item) => {
103
- serialNo += 1;
104
- const docPath = (0, path_1.join)(apiDocDir, item.docFile);
105
- const line = (0, constants_1.findDocHeadingLine)(docPath, item.endpoint.displayName);
106
- const fileUrl = (0, constants_1.toFileUrl)(docPath);
107
- const titleText = process.stdout.isTTY
108
- ? this.terminalLink(item.endpoint.displayName, fileUrl)
109
- : `[${item.endpoint.displayName}](${fileUrl})`;
110
- const pathHint = (0, fs_1.existsSync)(docPath)
111
- ? !_.isNil(line)
112
- ? `${docPath}:${line}`
113
- : docPath
114
- : chalk_1.default.red(`${item.docFile}(文档缺失)`);
115
- process.stdout.write(`${chalk_1.default.greenBright(` ${serialNo}.`)} ${chalk_1.default.whiteBright(titleText)}\n` +
116
- chalk_1.default.gray(` ${item.endpoint.method} ${item.endpoint.path}`) +
117
- '\n' +
118
- chalk_1.default.white(` ${item.endpoint.description}`) +
119
- '\n' +
120
- chalk_1.default.gray(` 📄 ${pathHint}`) +
121
- '\n\n');
122
- });
123
- });
124
- utils_1.logger.tip('Cursor / VS Code 终端中 Ctrl+单击接口名或文档路径即可打开;也可输入序号,或执行 sino-bc-cli /api-list <序号|name>');
125
- }
126
- /**
127
- * 交互终端下允许输入序号打开文档;非 TTY(如 Agent 调用)只打印清单
128
- */
129
- async maybeSelectAndOpen(catalog, apiDocDir) {
130
- if (!process.stdin.isTTY || !process.stdout.isTTY) {
131
- return;
132
- }
133
- process.stdout.write('\n');
134
- const raw = _.trim(await utils_1.PromptUtils.question(`请输入序号打开文档 (1-${catalog.length}),直接回车退出: `));
135
- if (_.isEmpty(raw)) {
136
- return;
137
- }
138
- const item = this.findItem(catalog, raw);
139
- if (_.isNil(item)) {
140
- utils_1.logger.warn(`无效序号或 name,请输入 1-${catalog.length} 之间的数字`);
141
- return;
142
- }
143
- await this.openDoc(item, apiDocDir);
144
- }
145
- /**
146
- * 按序号或接口 name / 展示名查找
147
- */
148
- findItem(catalog, selector) {
149
- const index = _.toInteger(selector);
150
- if (/^\d+$/.test(selector) && _.inRange(index, 1, catalog.length + 1)) {
151
- return catalog[index - 1];
152
- }
153
- const byName = _.find(catalog, (item) => item.endpoint.name === selector);
154
- if (!_.isNil(byName)) {
155
- return byName;
156
- }
157
- return _.find(catalog, (item) => item.endpoint.displayName === selector);
158
- }
159
- /**
160
- * 打开接口对应的本地 markdown 文档,优先跳到标题行
161
- */
162
- async openDoc(item, apiDocDir) {
163
- const docPath = (0, path_1.join)(apiDocDir, item.docFile);
164
- const line = (0, constants_1.findDocHeadingLine)(docPath, item.endpoint.displayName);
165
- utils_1.logger.info(`打开文档: ${item.endpoint.displayName} (${item.endpoint.name})`);
166
- const opened = await utils_1.BrowserUtils.openFile(docPath, line);
167
- if (!opened) {
168
- throw new Error(`打开接口文档失败: ${docPath}`);
169
- }
170
- }
171
- /**
172
- * OSC 8 终端超链接:支持 Cursor / VS Code / Windows Terminal 等 Ctrl+单击
173
- */
174
- terminalLink(text, url) {
175
- return `\u001b]8;;${url}\u0007${text}\u001b]8;;\u0007`;
176
- }
177
- }
178
- exports.ApiListCommand = ApiListCommand;
179
- //# sourceMappingURL=api-list.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-list.command.js","sourceRoot":"","sources":["../../src/commands/api-list.command.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
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
- }
@@ -1,30 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,20 +0,0 @@
1
- import { IApiDocEndpoint } from '../types';
2
- import { BaseApiEndpointCommand } from './api-endpoint.command';
3
- /**
4
- * 调用 iCenter 接口地址命令
5
- * 命令名称: /ic-api
6
- * 功能: 交互选择 api-doc 中的 iCenter 接口,向对应接口地址发起调用
7
- * 所有路径统一带 /sino-icenter 网关路由前缀
8
- */
9
- export declare class IcApiCommand 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
- }
@@ -1,30 +0,0 @@
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
- * 所有路径统一带 /sino-icenter 网关路由前缀
11
- */
12
- class IcApiCommand extends api_endpoint_command_1.BaseApiEndpointCommand {
13
- /** 命令名称 */
14
- name = constants_1.COMMAND_NAMES.IC_API;
15
- /** 命令描述 */
16
- description = '交互选择并调用 iCenter 接口地址(请求体默认使用文档示例)';
17
- /** 命令使用示例 */
18
- usage = `
19
- /${constants_1.COMMAND_NAMES.IC_API}
20
- /${constants_1.COMMAND_NAMES.IC_API} test
21
- /${constants_1.COMMAND_NAMES.IC_API} prod sk-your-api-key
22
- sino-bc-cli /${constants_1.COMMAND_NAMES.IC_API} --env=pre --api-key=sk-xxx
23
- `;
24
- /** 可调用接口清单 */
25
- endpoints = constants_1.ICENTER_MCP_APIS;
26
- /** 接口清单来源说明 */
27
- docSource = 'src/api-doc';
28
- }
29
- exports.IcApiCommand = IcApiCommand;
30
- //# sourceMappingURL=ic-api.command.js.map
@@ -1 +0,0 @@
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;;;;;GAKG;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"}
@@ -1,12 +0,0 @@
1
- import type { ICommand } from '../types';
2
- /**
3
- * 命令导出统一入口
4
- * 集中导出所有命令实例,便于批量注册
5
- * 新增命令时只需在此数组中添加即可,无需修改注册逻辑
6
- */
7
- export declare const commands: ICommand[];
8
- export { ApiListCommand } from './api-list.command';
9
- export { BaseApiEndpointCommand } from './api-endpoint.command';
10
- export { BcApiCommand } from './bc-api.command';
11
- export { IcApiCommand } from './ic-api.command';
12
- export { InitCommand } from './init.command';
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InitCommand = exports.IcApiCommand = exports.BcApiCommand = exports.BaseApiEndpointCommand = exports.ApiListCommand = exports.commands = void 0;
4
- const api_list_command_1 = require("./api-list.command");
5
- const bc_api_command_1 = require("./bc-api.command");
6
- const ic_api_command_1 = require("./ic-api.command");
7
- const init_command_1 = require("./init.command");
8
- /**
9
- * 命令导出统一入口
10
- * 集中导出所有命令实例,便于批量注册
11
- * 新增命令时只需在此数组中添加即可,无需修改注册逻辑
12
- */
13
- exports.commands = [
14
- new api_list_command_1.ApiListCommand(),
15
- new bc_api_command_1.BcApiCommand(),
16
- new ic_api_command_1.IcApiCommand(),
17
- new init_command_1.InitCommand(),
18
- ];
19
- var api_list_command_2 = require("./api-list.command");
20
- Object.defineProperty(exports, "ApiListCommand", { enumerable: true, get: function () { return api_list_command_2.ApiListCommand; } });
21
- var api_endpoint_command_1 = require("./api-endpoint.command");
22
- Object.defineProperty(exports, "BaseApiEndpointCommand", { enumerable: true, get: function () { return api_endpoint_command_1.BaseApiEndpointCommand; } });
23
- var bc_api_command_2 = require("./bc-api.command");
24
- Object.defineProperty(exports, "BcApiCommand", { enumerable: true, get: function () { return bc_api_command_2.BcApiCommand; } });
25
- var ic_api_command_2 = require("./ic-api.command");
26
- Object.defineProperty(exports, "IcApiCommand", { enumerable: true, get: function () { return ic_api_command_2.IcApiCommand; } });
27
- var init_command_2 = require("./init.command");
28
- Object.defineProperty(exports, "InitCommand", { enumerable: true, get: function () { return init_command_2.InitCommand; } });
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qDAAgD;AAChD,qDAAgD;AAChD,iDAA6C;AAG7C;;;;GAIG;AACU,QAAA,QAAQ,GAAe;IAClC,IAAI,iCAAc,EAAE;IACpB,IAAI,6BAAY,EAAE;IAClB,IAAI,6BAAY,EAAE;IAClB,IAAI,0BAAW,EAAE;CAClB,CAAC;AAEF,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,+DAAgE;AAAvD,8HAAA,sBAAsB,OAAA;AAC/B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
@@ -1,30 +0,0 @@
1
- import { ICommand, ICommandOption } from '../types';
2
- /**
3
- * 将 SKILL.md 注册到本机 Agent 技能目录
4
- * 命令名称: /init
5
- * 功能: 复制技能文件,供飞书豆包工作、Cursor、Claude Code、Codex 自动发现
6
- */
7
- export declare class InitCommand implements ICommand {
8
- /** 命令名称 */
9
- readonly name: string;
10
- /** 命令描述 */
11
- readonly description: string;
12
- /** 命令使用示例 */
13
- readonly usage: string;
14
- /** 命令选项 */
15
- readonly options: ICommandOption[];
16
- /**
17
- * 命令执行函数
18
- * @param args 命令行参数
19
- * @param options 解析后的选项,支持 --quiet / -q
20
- */
21
- execute(args: string[], options?: Record<string, unknown>): Promise<void>;
22
- /**
23
- * 是否安静模式:--quiet 或 -q
24
- */
25
- private isQuiet;
26
- /**
27
- * 将写入动作转为中文说明
28
- */
29
- private formatAction;
30
- }
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.InitCommand = void 0;
40
- const _ = __importStar(require("lodash"));
41
- const dayjs_1 = __importDefault(require("dayjs"));
42
- const utils_1 = require("../utils");
43
- const constants_1 = require("../constants");
44
- /**
45
- * 将 SKILL.md 注册到本机 Agent 技能目录
46
- * 命令名称: /init
47
- * 功能: 复制技能文件,供飞书豆包工作、Cursor、Claude Code、Codex 自动发现
48
- */
49
- class InitCommand {
50
- /** 命令名称 */
51
- name = constants_1.COMMAND_NAMES.INIT;
52
- /** 命令描述 */
53
- description = '将 SKILL.md 注册到本机 Agent 目录,供飞书豆包 / Cursor / Claude / Codex 自动识别';
54
- /** 命令使用示例 */
55
- usage = `
56
- /${constants_1.COMMAND_NAMES.INIT}
57
- sino-bc-cli /${constants_1.COMMAND_NAMES.INIT}
58
- sino-bc-cli /${constants_1.COMMAND_NAMES.INIT} --quiet
59
- `;
60
- /** 命令选项 */
61
- options = [
62
- {
63
- short: 'q',
64
- long: 'quiet',
65
- description: '安静模式,仅输出摘要(npm postinstall 使用)',
66
- },
67
- ];
68
- /**
69
- * 命令执行函数
70
- * @param args 命令行参数
71
- * @param options 解析后的选项,支持 --quiet / -q
72
- */
73
- async execute(args, options) {
74
- utils_1.logger.debug(`[InitCommand] 命令执行开始,参数: ${JSON.stringify(args)}`);
75
- const startTime = (0, dayjs_1.default)();
76
- const quiet = this.isQuiet(options);
77
- if (!quiet) {
78
- utils_1.logger.info(`[${utils_1.CommonUtils.formatDate(startTime)}] 正在向本机 Agent 目录注册 sino-bc-cli 技能...`);
79
- }
80
- const result = (0, utils_1.installSkillToAgents)();
81
- _.forEach(result.written, (item) => {
82
- const actionLabel = this.formatAction(item.action);
83
- if (quiet) {
84
- utils_1.logger.debug(`[InitCommand] ${actionLabel} ${item.label}: ${item.path}`);
85
- return;
86
- }
87
- if (item.action === 'unchanged') {
88
- utils_1.logger.tip(`${item.label} 已是最新: ${item.path}`);
89
- return;
90
- }
91
- utils_1.logger.success(`${item.label} ${actionLabel}: ${item.path}`);
92
- });
93
- _.forEach(result.failed, (item) => {
94
- utils_1.logger.warn(`${item.label} 写入失败: ${item.path}(${item.error})`);
95
- });
96
- if (_.isEmpty(result.written) && !_.isEmpty(result.failed)) {
97
- throw new Error('技能注册全部失败,请检查对用户主目录的写权限后重试 sino-bc-cli /init');
98
- }
99
- const successCount = result.written.length;
100
- const failCount = result.failed.length;
101
- utils_1.logger.success(`技能已注册到 ${successCount} 个目录` + (failCount > 0 ? `,${failCount} 个失败` : ''));
102
- if (!quiet) {
103
- utils_1.logger.tip('飞书:豆包工作 → 技能·连接器 → 管理 →「本地」→ 刷新;若仍没有,请完全退出飞书后再打开');
104
- }
105
- const durationSec = _.round((0, dayjs_1.default)().diff(startTime) / 1000, 2);
106
- utils_1.logger.debug(`[InitCommand] 命令执行完成,耗时: ${durationSec} 秒,源文件: ${result.source}`);
107
- }
108
- /**
109
- * 是否安静模式:--quiet 或 -q
110
- */
111
- isQuiet(options) {
112
- if (_.isNil(options)) {
113
- return false;
114
- }
115
- return options.quiet === true || options.q === true;
116
- }
117
- /**
118
- * 将写入动作转为中文说明
119
- */
120
- formatAction(action) {
121
- const labels = {
122
- created: '已写入',
123
- updated: '已更新',
124
- unchanged: '无需更新',
125
- };
126
- return labels[action];
127
- }
128
- }
129
- exports.InitCommand = InitCommand;
130
- //# sourceMappingURL=init.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../src/commands/init.command.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { IApiDocEndpoint } from '../types';
2
- /**
3
- * /api-list 中单条可调用接口的展示信息
4
- * 在 IApiDocEndpoint 上补充调用命令与本地文档文件名
5
- */
6
- export interface IApiCatalogItem {
7
- /** 接口定义 */
8
- endpoint: IApiDocEndpoint;
9
- /** 对应的调用命令(不含斜杠),如 ic-api / bc-api */
10
- command: string;
11
- /** 相对 api-doc 目录的文档文件名 */
12
- docFile: string;
13
- }
14
- /**
15
- * 汇总全部可调用接口,顺序与 /ic-api、/bc-api 清单一致
16
- */
17
- export declare function getApiCatalog(): IApiCatalogItem[];
18
- /**
19
- * 分组标题旁展示的调用命令
20
- */
21
- export declare function getGroupCommand(group: string): string;
22
- /**
23
- * 解析 api-doc 目录:开发态为 src/api-doc,编译后为 dist/api-doc
24
- * @param fromDir 起点目录,默认当前模块所在目录
25
- */
26
- export declare function resolveApiDocDir(fromDir?: string): string | undefined;
27
- /**
28
- * 将本地路径转为 file:// URL,供终端 OSC 8 超链接使用
29
- */
30
- export declare function toFileUrl(filePath: string): string;
31
- /**
32
- * 在 markdown 中定位展示名对应的标题行号(1-based),找不到则返回 undefined
33
- */
34
- export declare function findDocHeadingLine(filePath: string, displayName: string): number | undefined;