@eevee-ta/cli 0.1.0-beta.1

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 (70) hide show
  1. package/README.md +492 -0
  2. package/assets/skills/eevee-mcp/SKILL.md +127 -0
  3. package/assets/skills/eevee-mcp/reference.md +105 -0
  4. package/assets/skills/eevee-migration/SKILL.md +181 -0
  5. package/assets/skills/eevee-project-setup/SKILL.md +266 -0
  6. package/dist/src/bin/cli.js +237 -0
  7. package/dist/src/bin/cli.js.map +1 -0
  8. package/dist/src/commands/business-command.js +340 -0
  9. package/dist/src/commands/business-command.js.map +1 -0
  10. package/dist/src/commands/config-command.js +71 -0
  11. package/dist/src/commands/config-command.js.map +1 -0
  12. package/dist/src/commands/intl-command.js +131 -0
  13. package/dist/src/commands/intl-command.js.map +1 -0
  14. package/dist/src/commands/lint-command.js +105 -0
  15. package/dist/src/commands/lint-command.js.map +1 -0
  16. package/dist/src/commands/mcp-command.js +167 -0
  17. package/dist/src/commands/mcp-command.js.map +1 -0
  18. package/dist/src/commands/skill-command.js +116 -0
  19. package/dist/src/commands/skill-command.js.map +1 -0
  20. package/dist/src/lib/args.js +77 -0
  21. package/dist/src/lib/args.js.map +1 -0
  22. package/dist/src/lib/business-catalog.js +445 -0
  23. package/dist/src/lib/business-catalog.js.map +1 -0
  24. package/dist/src/lib/config.js +69 -0
  25. package/dist/src/lib/config.js.map +1 -0
  26. package/dist/src/lib/intl-catalog.js +58 -0
  27. package/dist/src/lib/intl-catalog.js.map +1 -0
  28. package/dist/src/lib/intl-config.js +125 -0
  29. package/dist/src/lib/intl-config.js.map +1 -0
  30. package/dist/src/lib/intl-downloader.js +217 -0
  31. package/dist/src/lib/intl-downloader.js.map +1 -0
  32. package/dist/src/lib/intl-serializers/csv.js +25 -0
  33. package/dist/src/lib/intl-serializers/csv.js.map +1 -0
  34. package/dist/src/lib/intl-serializers/custom.js +23 -0
  35. package/dist/src/lib/intl-serializers/custom.js.map +1 -0
  36. package/dist/src/lib/intl-serializers/index.js +22 -0
  37. package/dist/src/lib/intl-serializers/index.js.map +1 -0
  38. package/dist/src/lib/intl-serializers/js.js +10 -0
  39. package/dist/src/lib/intl-serializers/js.js.map +1 -0
  40. package/dist/src/lib/intl-serializers/json.js +7 -0
  41. package/dist/src/lib/intl-serializers/json.js.map +1 -0
  42. package/dist/src/lib/intl-serializers/properties.js +43 -0
  43. package/dist/src/lib/intl-serializers/properties.js.map +1 -0
  44. package/dist/src/lib/intl-serializers/ts.js +16 -0
  45. package/dist/src/lib/intl-serializers/ts.js.map +1 -0
  46. package/dist/src/lib/intl-serializers/xml.js +21 -0
  47. package/dist/src/lib/intl-serializers/xml.js.map +1 -0
  48. package/dist/src/lib/json.js +40 -0
  49. package/dist/src/lib/json.js.map +1 -0
  50. package/dist/src/lib/lint-config.js +180 -0
  51. package/dist/src/lib/lint-config.js.map +1 -0
  52. package/dist/src/lib/lint-java.js +226 -0
  53. package/dist/src/lib/lint-java.js.map +1 -0
  54. package/dist/src/lib/lint-types.js +2 -0
  55. package/dist/src/lib/lint-types.js.map +1 -0
  56. package/dist/src/lib/lint-web.js +183 -0
  57. package/dist/src/lib/lint-web.js.map +1 -0
  58. package/dist/src/lib/lint.js +192 -0
  59. package/dist/src/lib/lint.js.map +1 -0
  60. package/dist/src/lib/mcp-client.js +185 -0
  61. package/dist/src/lib/mcp-client.js.map +1 -0
  62. package/dist/src/lib/output.js +34 -0
  63. package/dist/src/lib/output.js.map +1 -0
  64. package/dist/src/lib/skill-installer.js +123 -0
  65. package/dist/src/lib/skill-installer.js.map +1 -0
  66. package/dist/src/lib/tool-docs.js +66 -0
  67. package/dist/src/lib/tool-docs.js.map +1 -0
  68. package/dist/src/lib/types.js +2 -0
  69. package/dist/src/lib/types.js.map +1 -0
  70. package/package.json +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-command.js","sourceRoot":"","sources":["../../../src/commands/skill-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ export class CliError extends Error {
2
+ exitCode;
3
+ usage;
4
+ constructor(message, exitCode = 1, usage) {
5
+ super(message);
6
+ this.name = 'CliError';
7
+ this.exitCode = exitCode;
8
+ this.usage = usage;
9
+ }
10
+ }
11
+ function wantsValue(spec) {
12
+ return spec?.value === true;
13
+ }
14
+ export function parseArgs(argv, specs) {
15
+ const byName = new Map();
16
+ for (const spec of specs) {
17
+ byName.set(spec.long, spec);
18
+ if (spec.short)
19
+ byName.set(spec.short.replace(/^[-]+/, ''), spec);
20
+ }
21
+ const positionals = [];
22
+ const options = new Map();
23
+ for (let index = 0; index < argv.length; index++) {
24
+ const arg = argv[index];
25
+ if (arg === '--') {
26
+ positionals.push(...argv.slice(index + 1));
27
+ break;
28
+ }
29
+ if (!arg.startsWith('-') || arg === '-' || /^-\d+(?:\.\d+)?$/.test(arg)) {
30
+ positionals.push(arg);
31
+ continue;
32
+ }
33
+ let rawKey = arg;
34
+ let inlineValue;
35
+ const eq = rawKey.indexOf('=');
36
+ if (eq >= 0) {
37
+ rawKey = arg.slice(0, eq);
38
+ inlineValue = arg.slice(eq + 1);
39
+ }
40
+ const key = rawKey.replace(/^[-]+/, '');
41
+ const spec = byName.get(key);
42
+ if (!spec)
43
+ throw new CliError(`未知选项: ${key}`, 64);
44
+ options.set(spec.long, true);
45
+ if (wantsValue(spec)) {
46
+ const value = inlineValue ?? argv[++index];
47
+ if (value === undefined)
48
+ throw new CliError(`选项缺少值: ${key}`, 64);
49
+ options.set(spec.long, value);
50
+ }
51
+ else if (inlineValue !== undefined) {
52
+ options.set(spec.long, inlineValue);
53
+ }
54
+ }
55
+ for (const spec of specs) {
56
+ if (!options.has(spec.long) && spec.default !== undefined)
57
+ options.set(spec.long, spec.default);
58
+ }
59
+ return { positionals, options };
60
+ }
61
+ export function requireOption(options, long) {
62
+ const value = options.get(long);
63
+ if (typeof value !== 'string' || !value.trim())
64
+ throw new CliError(`缺少必填选项 --${long}`, 64);
65
+ return value.trim();
66
+ }
67
+ export function optionalOption(options, long) {
68
+ const value = options.get(long);
69
+ return typeof value === 'string' && value.trim() ? value.trim() : undefined;
70
+ }
71
+ export function hasFlag(options, long) {
72
+ return options.get(long) === true || options.get(long) === 'true';
73
+ }
74
+ export function optionCount(options, names) {
75
+ return names.filter((name) => options.has(name)).length;
76
+ }
77
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,445 @@
1
+ function argument(name, location, description = '', kind = 'string', required = false) {
2
+ return { name, location, kind, description, required };
3
+ }
4
+ export const BUSINESS_COMMANDS = [
5
+ {
6
+ group: 'project', action: 'list', title: '查询项目列表', aliases: ['项目列表', '查询项目列表', '获取项目列表'],
7
+ method: 'GET', path: '/api/v1/projects', arguments: [],
8
+ },
9
+ {
10
+ group: 'project', action: 'create', title: '新增项目', aliases: ['新增项目', '新建项目', '创建项目'],
11
+ method: 'POST', path: '/api/v1/projects',
12
+ arguments: [
13
+ argument('name', 'body', '项目名称', 'string', true),
14
+ argument('description', 'body', '项目描述'),
15
+ argument('locales', 'body', '支持语言数组;也可用逗号分隔', 'string-array', true),
16
+ argument('ref_locale', 'body', '参考语言'),
17
+ argument('avatar_id', 'body', '已上传头像对象名(MCP 不上传文件)'),
18
+ ],
19
+ },
20
+ {
21
+ group: 'project', action: 'detail', title: '查询项目详情', aliases: ['项目详情', '查询项目详情'],
22
+ method: 'GET', path: '/api/v1/projects/{id}',
23
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
24
+ },
25
+ {
26
+ group: 'project', action: 'stats', title: '查询项目统计', aliases: ['项目统计', '查询项目统计'],
27
+ method: 'GET', path: '/api/v1/projects/{id}/stats',
28
+ arguments: [
29
+ argument('id', 'path', '项目 ID', 'integer', true),
30
+ argument('version_id', 'query', '版本 ID,可选过滤', 'integer'),
31
+ ],
32
+ },
33
+ {
34
+ group: 'project', action: 'assets', title: '查询项目资产统计', aliases: ['项目资产', '查询项目资产'],
35
+ method: 'GET', path: '/api/v1/projects/{id}/assets',
36
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
37
+ },
38
+ {
39
+ group: 'project', action: 'update', title: '修改项目', aliases: ['更新项目', '编辑项目'],
40
+ method: 'PATCH', path: '/api/v1/projects/{id}',
41
+ arguments: [
42
+ argument('id', 'path', '项目 ID', 'integer', true),
43
+ argument('name', 'body'), argument('description', 'body'),
44
+ argument('locales', 'body', '', 'string-array'), argument('ref_locale', 'body'),
45
+ argument('avatar_id', 'body'),
46
+ ],
47
+ },
48
+ {
49
+ group: 'project', action: 'delete', title: '删除项目', aliases: [], destructive: true,
50
+ method: 'DELETE', path: '/api/v1/projects/{id}',
51
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
52
+ },
53
+ {
54
+ group: 'version', action: 'list', title: '查询版本列表', aliases: ['版本列表', '查询版本列表'],
55
+ method: 'GET', path: '/api/v1/projects/{id}/versions',
56
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
57
+ },
58
+ {
59
+ group: 'version', action: 'create', title: '新增版本', aliases: ['新增版本', '创建版本'],
60
+ method: 'POST', path: '/api/v1/projects/{id}/versions',
61
+ arguments: [
62
+ argument('id', 'path', '项目 ID', 'integer', true),
63
+ argument('name', 'body', '版本名称', 'string', true),
64
+ argument('description', 'body'),
65
+ argument('status', 'body', '1=待开始 2=开发中 3=待上线 4=已上线', 'integer'),
66
+ ],
67
+ },
68
+ {
69
+ group: 'version', action: 'update', title: '修改版本信息', aliases: ['更新版本', '编辑版本'],
70
+ method: 'PATCH', path: '/api/v1/projects/{id}/versions/{versionId}',
71
+ arguments: [
72
+ argument('id', 'path', '项目 ID', 'integer', true),
73
+ argument('versionId', 'path', '版本 ID', 'integer', true),
74
+ argument('name', 'body'), argument('description', 'body'),
75
+ ],
76
+ },
77
+ {
78
+ group: 'version', action: 'set-status', title: '设置版本状态', aliases: ['设置版本状态', '修改版本状态'],
79
+ method: 'PATCH', path: '/api/v1/projects/{id}/versions/{versionId}/status',
80
+ arguments: [
81
+ argument('id', 'path', '项目 ID', 'integer', true),
82
+ argument('versionId', 'path', '版本 ID', 'integer', true),
83
+ argument('status', 'body', '1=待开始 2=开发中 3=待上线 4=已上线', 'integer', true),
84
+ ],
85
+ },
86
+ {
87
+ group: 'version', action: 'delete', title: '删除版本', aliases: [],
88
+ method: 'DELETE', path: '/api/v1/projects/{id}/versions/{versionId}', destructive: true,
89
+ arguments: [
90
+ argument('id', 'path', '项目 ID', 'integer', true),
91
+ argument('versionId', 'path', '版本 ID', 'integer', true),
92
+ ],
93
+ },
94
+ {
95
+ group: 'version', action: 'clear', title: '清空项目版本', aliases: ['清空版本'], destructive: true,
96
+ method: 'DELETE', path: '/api/v1/projects/{id}/versions',
97
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
98
+ },
99
+ {
100
+ group: 'term', action: 'list', title: '查询词条列表', aliases: ['词条列表', '查询词条列表'],
101
+ method: 'GET', path: '/api/v1/projects/{id}/terms',
102
+ arguments: [
103
+ argument('id', 'path', '项目 ID', 'integer', true),
104
+ argument('version_id', 'query', '版本 ID 过滤', 'integer'),
105
+ ],
106
+ },
107
+ {
108
+ group: 'term', action: 'create', title: '新增词条', aliases: ['新增词条', '创建词条'],
109
+ method: 'POST', path: '/api/v1/projects/{id}/versions/{versionId}/terms',
110
+ arguments: [
111
+ argument('id', 'path', '项目 ID', 'integer', true),
112
+ argument('versionId', 'path', '版本 ID', 'integer', true),
113
+ argument('name', 'body', '词条名称', 'string', true),
114
+ argument('description', 'body'),
115
+ argument('params', 'body', '参数数组或 JSON', 'array'),
116
+ argument('source_info', 'body', '来源信息对象', 'object'),
117
+ argument('translations', 'body', '{"zh-CN":"你好","en-US":"Hello"}', 'object'),
118
+ ],
119
+ },
120
+ {
121
+ group: 'term', action: 'detail', title: '查询词条详情', aliases: ['词条详情', '查询词条详情'],
122
+ method: 'GET', path: '/api/v1/projects/{id}/terms/{termId}',
123
+ arguments: [
124
+ argument('id', 'path', '项目 ID', 'integer', true),
125
+ argument('termId', 'path', '词条 ID', 'integer', true),
126
+ ],
127
+ },
128
+ {
129
+ group: 'term', action: 'update', title: '修改词条基本信息', aliases: ['更新词条', '编辑词条'],
130
+ method: 'PATCH', path: '/api/v1/projects/{id}/terms/{termId}',
131
+ arguments: [
132
+ argument('id', 'path', '项目 ID', 'integer', true),
133
+ argument('termId', 'path', '词条 ID', 'integer', true),
134
+ argument('name', 'body'), argument('description', 'body'),
135
+ argument('params', 'body', '', 'array'), argument('source_info', 'body', '', 'object'),
136
+ argument('translations', 'body', '', 'object'),
137
+ ],
138
+ },
139
+ {
140
+ group: 'term', action: 'delete', title: '删除词条', aliases: [], destructive: true,
141
+ method: 'DELETE', path: '/api/v1/projects/{id}/terms/{termId}',
142
+ arguments: [
143
+ argument('id', 'path', '项目 ID', 'integer', true),
144
+ argument('termId', 'path', '词条 ID', 'integer', true),
145
+ ],
146
+ },
147
+ {
148
+ group: 'term', action: 'set-tags', title: '设置词条标签', aliases: ['设置词条标签', '词条打标签'],
149
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/tags',
150
+ arguments: [
151
+ argument('id', 'path', '项目 ID', 'integer', true),
152
+ argument('termId', 'path', '词条 ID', 'integer', true),
153
+ argument('tag_ids', 'body', '标签 ID,全量逗号分隔', 'integer-array', true),
154
+ ],
155
+ },
156
+ {
157
+ group: 'term', action: 'move-version', title: '批量移动词条版本', aliases: ['批量移动词条版本'],
158
+ method: 'POST', path: '/api/v1/projects/{id}/terms/version',
159
+ arguments: [
160
+ argument('id', 'path', '项目 ID', 'integer', true),
161
+ argument('term_ids', 'body', '词条 ID,逗号分隔', 'integer-array', true),
162
+ argument('version_id', 'body', '目标版本 ID', 'integer', true),
163
+ ],
164
+ },
165
+ {
166
+ group: 'term', action: 'freeze', title: '锁定词条', aliases: ['锁定词条'],
167
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/frozen',
168
+ arguments: [
169
+ argument('id', 'path', '项目 ID', 'integer', true),
170
+ argument('termId', 'path', '词条 ID', 'integer', true),
171
+ ],
172
+ },
173
+ {
174
+ group: 'term', action: 'unfreeze', title: '解锁词条', aliases: ['解除锁定词条'],
175
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/unfrozen',
176
+ arguments: [
177
+ argument('id', 'path', '项目 ID', 'integer', true),
178
+ argument('termId', 'path', '词条 ID', 'integer', true),
179
+ ],
180
+ },
181
+ {
182
+ group: 'term', action: 'clear', title: '清空项目词条', aliases: ['清空词条'], destructive: true,
183
+ method: 'DELETE', path: '/api/v1/projects/{id}/terms',
184
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
185
+ },
186
+ {
187
+ group: 'term', action: 'add-doc-link', title: '添加词条文档链接附件', aliases: ['添加文档链接附件'],
188
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/attachs',
189
+ arguments: [
190
+ argument('id', 'path', '项目 ID', 'integer', true),
191
+ argument('termId', 'path', '词条 ID', 'integer', true),
192
+ argument('link', 'body', '文档 URL', 'string', true),
193
+ ],
194
+ },
195
+ {
196
+ group: 'term', action: 'delete-attachment', title: '删除词条附件', aliases: ['删除附件'],
197
+ method: 'DELETE', path: '/api/v1/projects/{id}/attachs/{attachId}', destructive: true,
198
+ arguments: [
199
+ argument('id', 'path', '项目 ID', 'integer', true),
200
+ argument('attachId', 'path', '附件 ID', 'integer', true),
201
+ ],
202
+ },
203
+ {
204
+ group: 'translation', action: 'set-content', title: '设置翻译内容', aliases: ['保存翻译内容', '写入翻译内容'],
205
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/translations/content',
206
+ arguments: [
207
+ argument('id', 'path', '项目 ID', 'integer', true),
208
+ argument('termId', 'path', '词条 ID', 'integer', true),
209
+ argument('locale', 'body', '语言代码', 'string', true),
210
+ argument('content', 'body', '译文内容', 'string', true),
211
+ ],
212
+ },
213
+ {
214
+ group: 'translation', action: 'set-status', title: '设置单条翻译状态', aliases: ['设置翻译状态'],
215
+ method: 'POST', path: '/api/v1/projects/{id}/terms/{termId}/translations/status',
216
+ arguments: [
217
+ argument('id', 'path', '项目 ID', 'integer', true),
218
+ argument('termId', 'path', '词条 ID', 'integer', true),
219
+ argument('locale', 'body', '语言代码', 'string', true),
220
+ argument('status', 'body', '1=待处理 2=已机翻 3=已翻译 4=已审核', 'integer', true),
221
+ ],
222
+ },
223
+ {
224
+ group: 'translation', action: 'batch-set-status', title: '批量设置翻译状态', aliases: ['批量设置翻译状态'],
225
+ method: 'POST', path: '/api/v1/projects/{id}/translations/statuses',
226
+ arguments: [
227
+ argument('id', 'path', '项目 ID', 'integer', true),
228
+ argument('locales', 'body', '语言数组', 'string-array', true),
229
+ argument('status', 'body', '', 'integer', true),
230
+ argument('term_ids', 'body', '可选,逗号分隔词条 ID', 'integer-array'),
231
+ ],
232
+ },
233
+ {
234
+ group: 'translation', action: 'assign-translators', title: '批量指派翻译负责人', aliases: ['指派翻译负责人'],
235
+ method: 'POST', path: '/api/v1/projects/{id}/translations/translators',
236
+ arguments: [
237
+ argument('id', 'path', '项目 ID', 'integer', true),
238
+ argument('locales', 'body', '', 'string-array', true),
239
+ argument('translator_ids', 'body', '用户 ID 数组,可用重复 flag', 'integer-array', true),
240
+ argument('term_ids', 'body', '', 'integer-array'),
241
+ ],
242
+ },
243
+ {
244
+ group: 'translation', action: 'assign-reviewers', title: '批量指派审核负责人', aliases: ['指派审核负责人'],
245
+ method: 'POST', path: '/api/v1/projects/{id}/translations/reviewers',
246
+ arguments: [
247
+ argument('id', 'path', '项目 ID', 'integer', true),
248
+ argument('locales', 'body', '', 'string-array', true),
249
+ argument('reviewer_ids', 'body', '用户 ID 数组', 'integer-array', true),
250
+ argument('term_ids', 'body', '', 'integer-array'),
251
+ ],
252
+ },
253
+ {
254
+ group: 'translation', action: 'clear', title: '清空项目翻译', aliases: ['清空翻译'], destructive: true,
255
+ method: 'DELETE', path: '/api/v1/projects/{id}/translations',
256
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
257
+ },
258
+ {
259
+ group: 'tag-group', action: 'list', title: '查询标签组树', aliases: ['标签组列表', '查询标签组'],
260
+ method: 'GET', path: '/api/v1/projects/{id}/tag-groups',
261
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
262
+ },
263
+ {
264
+ group: 'tag-group', action: 'create', title: '新增标签组', aliases: ['新增标签组', '创建标签组'],
265
+ method: 'POST', path: '/api/v1/projects/{id}/tag-groups',
266
+ arguments: [
267
+ argument('id', 'path', '项目 ID', 'integer', true),
268
+ argument('name', 'body', '', 'string', true),
269
+ argument('color', 'body', '#RRGGBB'), argument('single_choice', 'body', '', 'boolean'),
270
+ argument('required', 'body', '', 'boolean'), argument('customizable', 'body', '', 'boolean'),
271
+ argument('description', 'body'),
272
+ ],
273
+ },
274
+ {
275
+ group: 'tag-group', action: 'update', title: '修改标签组', aliases: ['更新标签组'],
276
+ method: 'PATCH', path: '/api/v1/projects/{id}/tag-groups/{groupId}',
277
+ arguments: [
278
+ argument('id', 'path', '项目 ID', 'integer', true),
279
+ argument('groupId', 'path', '标签组 ID', 'integer', true),
280
+ argument('name', 'body'), argument('color', 'body'), argument('single_choice', 'body', '', 'boolean'),
281
+ argument('required', 'body', '', 'boolean'), argument('customizable', 'body', '', 'boolean'),
282
+ argument('description', 'body'),
283
+ ],
284
+ },
285
+ {
286
+ group: 'tag-group', action: 'delete', title: '删除标签组', aliases: [], destructive: true,
287
+ method: 'DELETE', path: '/api/v1/projects/{id}/tag-groups/{groupId}',
288
+ arguments: [
289
+ argument('id', 'path', '项目 ID', 'integer', true),
290
+ argument('groupId', 'path', '标签组 ID', 'integer', true),
291
+ ],
292
+ },
293
+ {
294
+ group: 'tag-group', action: 'clear', title: '清空项目标签组', aliases: ['清空标签组'], destructive: true,
295
+ method: 'DELETE', path: '/api/v1/projects/{id}/tag-groups',
296
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
297
+ },
298
+ {
299
+ group: 'tag', action: 'create', title: '新增标签', aliases: ['新增标签', '创建标签'],
300
+ method: 'POST', path: '/api/v1/projects/{id}/tag-groups/{groupId}/tags',
301
+ arguments: [
302
+ argument('id', 'path', '项目 ID', 'integer', true),
303
+ argument('groupId', 'path', '标签组 ID', 'integer', true),
304
+ argument('name', 'body', '标签名称', 'string', true),
305
+ ],
306
+ },
307
+ {
308
+ group: 'tag', action: 'update', title: '修改标签', aliases: ['更新标签'],
309
+ method: 'PATCH', path: '/api/v1/projects/{id}/tags/{tagId}',
310
+ arguments: [
311
+ argument('id', 'path', '项目 ID', 'integer', true),
312
+ argument('tagId', 'path', '标签 ID', 'integer', true),
313
+ argument('name', 'body', '', 'string', true),
314
+ ],
315
+ },
316
+ {
317
+ group: 'tag', action: 'delete', title: '删除标签', aliases: [], destructive: true,
318
+ method: 'DELETE', path: '/api/v1/projects/{id}/tags/{tagId}',
319
+ arguments: [
320
+ argument('id', 'path', '项目 ID', 'integer', true),
321
+ argument('tagId', 'path', '标签 ID', 'integer', true),
322
+ ],
323
+ },
324
+ {
325
+ group: 'tag', action: 'clear', title: '清空项目标签', aliases: ['清空标签'], destructive: true,
326
+ method: 'DELETE', path: '/api/v1/projects/{id}/tags',
327
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
328
+ },
329
+ {
330
+ group: 'permission', action: 'list', title: '查询项目权限列表', aliases: ['权限列表', '查询权限列表'],
331
+ method: 'GET', path: '/api/v1/projects/{id}/permissions',
332
+ arguments: [
333
+ argument('id', 'path', '项目 ID', 'integer', true),
334
+ argument('user_id', 'query', '', 'integer'), argument('perm_type', 'query', ''),
335
+ argument('locale', 'query'),
336
+ ],
337
+ },
338
+ {
339
+ group: 'permission', action: 'create', title: '新增项目权限', aliases: ['新增权限', '授权项目成员'],
340
+ method: 'POST', path: '/api/v1/projects/{id}/permissions',
341
+ arguments: [
342
+ argument('id', 'path', '项目 ID', 'integer', true),
343
+ argument('user_id', 'body', '目标用户 ID', 'integer', true),
344
+ argument('perm_type', 'body', '1=管理员 2=成员 3=翻译师 4=审核师', 'integer', true),
345
+ argument('locale', 'body', '翻译师/审核师必填'),
346
+ ],
347
+ },
348
+ {
349
+ group: 'permission', action: 'delete', title: '删除一条项目权限', aliases: ['删除权限'], destructive: true,
350
+ method: 'DELETE', path: '/api/v1/projects/{id}/permissions/{permId}',
351
+ arguments: [
352
+ argument('id', 'path', '项目 ID', 'integer', true),
353
+ argument('permId', 'path', '权限记录 ID', 'integer', true),
354
+ ],
355
+ },
356
+ {
357
+ group: 'permission', action: 'clear', title: '清空项目权限', aliases: ['清空权限'], destructive: true,
358
+ method: 'DELETE', path: '/api/v1/projects/{id}/permissions',
359
+ arguments: [argument('id', 'path', '项目 ID', 'integer', true)],
360
+ },
361
+ {
362
+ group: 'log', action: 'list', title: '查询操作日志', aliases: ['操作日志列表', '查询日志'],
363
+ method: 'GET', path: '/api/v1/projects/{id}/logs',
364
+ arguments: [
365
+ argument('id', 'path', '项目 ID', 'integer', true),
366
+ argument('page', 'query', '', 'integer'), argument('page_size', 'query', '', 'integer'),
367
+ argument('op_type', 'query', ''), argument('op_target', 'query', ''),
368
+ argument('operator_id', 'query', '', 'integer'),
369
+ ],
370
+ },
371
+ {
372
+ group: 'profile', action: 'show', title: '查看我的资料', aliases: ['查看我的资料', '我的资料'],
373
+ method: 'GET', path: '/api/v1/auth/profile', arguments: [],
374
+ },
375
+ {
376
+ group: 'config', action: 'locales', title: '查询支持的语言', aliases: ['语言列表', '查询支持语言'],
377
+ method: 'GET', path: '/api/v1/config/locales', arguments: [],
378
+ },
379
+ {
380
+ group: 'config', action: 'users', title: '查询可选用户列表', aliases: ['可选用户列表'],
381
+ method: 'GET', path: '/api/v1/config/users', arguments: [],
382
+ },
383
+ {
384
+ group: 'user', action: 'list', title: '查询系统用户列表', aliases: ['用户列表', '查询用户列表'],
385
+ method: 'GET', path: '/api/v1/users',
386
+ arguments: [
387
+ argument('page', 'query', '', 'integer'), argument('page_size', 'query', '', 'integer'),
388
+ argument('keyword', 'query'), argument('frozen', 'query'),
389
+ argument('user_type', 'query', '1=普通 2=超管 3=应用', 'integer'),
390
+ ],
391
+ },
392
+ {
393
+ group: 'user', action: 'update', title: '修改系统用户', aliases: ['更新系统用户'],
394
+ method: 'PATCH', path: '/api/v1/users/{id}',
395
+ arguments: [
396
+ argument('id', 'path', '用户 ID', 'integer', true),
397
+ argument('name', 'body'), argument('name_en', 'body'), argument('email', 'body'),
398
+ argument('avatar', 'body'), argument('open_id', 'body'),
399
+ ],
400
+ },
401
+ {
402
+ group: 'user', action: 'set-type', title: '设置系统用户类型', aliases: ['设置用户类型'],
403
+ method: 'PATCH', path: '/api/v1/users/{id}/type',
404
+ arguments: [
405
+ argument('id', 'path', '用户 ID', 'integer', true),
406
+ argument('user_type', 'body', '1=普通 2=超管 3=应用', 'integer', true),
407
+ ],
408
+ },
409
+ {
410
+ group: 'user', action: 'reset-token', title: '重置指定用户的 token', aliases: ['重置用户token'],
411
+ method: 'POST', path: '/api/v1/users/{id}/reset-token',
412
+ arguments: [argument('id', 'path', '用户 ID', 'integer', true)],
413
+ },
414
+ {
415
+ group: 'user', action: 'set-frozen', title: '冻结或解冻系统用户', aliases: ['冻结解冻用户'],
416
+ method: 'POST', path: '/api/v1/users/{id}/frozen',
417
+ arguments: [
418
+ argument('id', 'path', '用户 ID', 'integer', true),
419
+ argument('frozen', 'body', 'true=冻结 false=解冻', 'boolean', true),
420
+ ],
421
+ },
422
+ ];
423
+ export function findBusinessCommand(group, action) {
424
+ return BUSINESS_COMMANDS.find((command) => command.group === group && command.action === action);
425
+ }
426
+ /** 中文短语可能被 shell 按空格拆成多个 argv;返回前缀一定匹配时保留原文并整体消费 */
427
+ export async function findOperation(client, command) {
428
+ let offset = 0;
429
+ do {
430
+ const result = await client.callTool('list_api_operations', { limit: 200, offset });
431
+ const wrapped = result.structuredContent;
432
+ const operations = wrapped?.operations ?? [];
433
+ const match = operations.find((item) => item.method === command.method && normalize(item.path) === normalize(command.path));
434
+ if (match)
435
+ return match.id;
436
+ if (!operations.length || typeof wrapped.total !== 'number')
437
+ break;
438
+ offset += Math.max(operations.length, wrapped.returned ?? operations.length);
439
+ } while (offset < 10_000);
440
+ throw new Error(`服务器目录中未找到业务接口:${command.method} ${command.path}`);
441
+ }
442
+ function normalize(path) {
443
+ return `/${path.replace(/^\/+|\/+$/g, '')}`;
444
+ }
445
+ //# sourceMappingURL=business-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-catalog.js","sourceRoot":"","sources":["../../../src/lib/business-catalog.ts"],"names":[],"mappings":"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"}