@cloudglab/yapi-cli 0.0.4 → 0.0.7

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 (45) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +22 -4
  3. package/dist/cli.js +121 -23
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/cli-output.d.ts +1 -1
  6. package/dist/core/cli-output.js +114 -25
  7. package/dist/core/cli-output.js.map +1 -1
  8. package/dist/core/errors.js +36 -3
  9. package/dist/core/errors.js.map +1 -1
  10. package/dist/core/http-metrics.d.ts +31 -0
  11. package/dist/core/http-metrics.js +35 -0
  12. package/dist/core/http-metrics.js.map +1 -0
  13. package/dist/core/output.d.ts +18 -4
  14. package/dist/core/output.js +105 -22
  15. package/dist/core/output.js.map +1 -1
  16. package/dist/core/update-probe.d.ts +4 -1
  17. package/dist/core/update-probe.js +43 -2
  18. package/dist/core/update-probe.js.map +1 -1
  19. package/dist/core/url-parser.d.ts +20 -0
  20. package/dist/core/url-parser.js +237 -0
  21. package/dist/core/url-parser.js.map +1 -0
  22. package/dist/install.js +334 -108
  23. package/dist/install.js.map +1 -1
  24. package/dist/manifest.json +22 -2
  25. package/dist/services/yapi/api.d.ts +12 -1
  26. package/dist/services/yapi/api.js +96 -10
  27. package/dist/services/yapi/api.js.map +1 -1
  28. package/dist/tools/shared.d.ts +2 -2
  29. package/dist/tools/shared.js.map +1 -1
  30. package/dist/tools/yapi/register-auth.js +12 -12
  31. package/dist/tools/yapi/register-auth.js.map +1 -1
  32. package/dist/tools/yapi/register-group.js +16 -16
  33. package/dist/tools/yapi/register-group.js.map +1 -1
  34. package/dist/tools/yapi/register-interface.js +123 -55
  35. package/dist/tools/yapi/register-interface.js.map +1 -1
  36. package/dist/tools/yapi/register-project.js +92 -31
  37. package/dist/tools/yapi/register-project.js.map +1 -1
  38. package/dist/tools/yapi/register-test.js +11 -11
  39. package/dist/tools/yapi/register-test.js.map +1 -1
  40. package/dist/tools/yapi/register-util.js +124 -34
  41. package/dist/tools/yapi/register-util.js.map +1 -1
  42. package/dist/version.d.ts +1 -1
  43. package/dist/version.js +1 -1
  44. package/docs/ai-cli-optimization-plan.md +412 -0
  45. package/package.json +1 -1
package/dist/install.js CHANGED
@@ -1,60 +1,111 @@
1
- import { existsSync, mkdirSync, copyFileSync, unlinkSync } from 'node:fs';
2
- import { join, dirname } from 'node:path';
3
- import { fileURLToPath } from 'node:url';
1
+ import { spawn } from 'node:child_process';
2
+ import { access, mkdtemp, readdir, rm } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
4
5
  import readline from 'node:readline';
5
6
  import { YAPI_HOME, saveConfig, loadConfig, maskConfig } from './services/yapi/config.js';
6
7
  import { YApiAuthService, YApiService, encryptPassword } from './services/yapi/index.js';
7
- /** 获取当前模块目录(兼容 Node 18-20) */
8
- function getModuleDir(importMetaUrl) {
9
- return dirname(fileURLToPath(importMetaUrl));
10
- }
11
- function parseBooleanFlag(value) {
8
+ const PACKAGE_NAME = '@cloudglab/yapi-cli';
9
+ const GLOBAL_SKILL_AGENT = 'universal';
10
+ function parseBooleanFlag(value, optionName) {
12
11
  if (value === undefined)
13
12
  return true;
14
- return ['1', 'true', 'yes', 'on'].includes(value.toLowerCase());
13
+ const normalized = value.trim().toLowerCase();
14
+ if (['true', '1', 'yes', 'y', 'on'].includes(normalized))
15
+ return true;
16
+ if (['false', '0', 'no', 'n', 'off'].includes(normalized))
17
+ return false;
18
+ throw new Error(`${optionName} 只支持 true 或 false`);
19
+ }
20
+ function readRequiredOptionValue(args, index, optionName) {
21
+ const current = args[index];
22
+ if (current.includes('=')) {
23
+ const value = current.split('=').slice(1).join('=').trim();
24
+ if (!value)
25
+ throw new Error(`${optionName} 缺少参数值`);
26
+ return value;
27
+ }
28
+ const next = args[index + 1]?.trim();
29
+ if (!next || next.startsWith('--')) {
30
+ throw new Error(`${optionName} 缺少参数值`);
31
+ }
32
+ return next;
33
+ }
34
+ function readBooleanOption(args, index, optionName) {
35
+ const current = args[index];
36
+ if (current.includes('=')) {
37
+ return { value: parseBooleanFlag(current.split('=').slice(1).join('='), optionName), consumedArgs: 0 };
38
+ }
39
+ const next = args[index + 1];
40
+ if (!next || next.startsWith('--')) {
41
+ return { value: true, consumedArgs: 0 };
42
+ }
43
+ return { value: parseBooleanFlag(next, optionName), consumedArgs: 1 };
15
44
  }
16
45
  export function parseInstallOptions(args) {
17
- const options = {
18
- cliOnly: false,
19
- skillOnly: false,
20
- yes: false,
21
- keepConfig: false,
22
- };
46
+ let cliOnly = false;
47
+ let skillOnly = false;
48
+ let skillPath;
49
+ let yes = false;
50
+ let keepConfig = false;
23
51
  for (let index = 0; index < args.length; index += 1) {
24
- const token = args[index];
25
- if (token === '--cli-only')
26
- options.cliOnly = true;
27
- else if (token === '--skill-only')
28
- options.skillOnly = true;
29
- else if (token === '--yes' || token === '-y')
30
- options.yes = true;
31
- else if (token === '--confirm')
32
- options.yes = true;
33
- else if (token === '--keep-config')
34
- options.keepConfig = true;
35
- else if (token.startsWith('--skill-path='))
36
- options.skillPath = token.slice('--skill-path='.length);
37
- else if (token === '--skill-path') {
38
- options.skillPath = args[index + 1];
39
- index += 1;
52
+ const arg = args[index];
53
+ if (arg === '--skill-path' || arg.startsWith('--skill-path=')) {
54
+ skillPath = readRequiredOptionValue(args, index, '--skill-path');
55
+ if (arg === '--skill-path')
56
+ index += 1;
57
+ continue;
58
+ }
59
+ if (arg === '--cli-only' || arg.startsWith('--cli-only=')) {
60
+ const parsed = readBooleanOption(args, index, '--cli-only');
61
+ cliOnly = parsed.value;
62
+ index += parsed.consumedArgs;
63
+ continue;
64
+ }
65
+ if (arg === '--skill-only' || arg.startsWith('--skill-only=')) {
66
+ const parsed = readBooleanOption(args, index, '--skill-only');
67
+ skillOnly = parsed.value;
68
+ index += parsed.consumedArgs;
69
+ continue;
70
+ }
71
+ if (arg === '--yes' || arg === '-y' || arg.startsWith('--yes=')) {
72
+ const parsed = arg === '--yes' || arg === '-y'
73
+ ? { value: true, consumedArgs: 0 }
74
+ : readBooleanOption(args, index, '--yes');
75
+ yes = parsed.value;
76
+ index += parsed.consumedArgs;
77
+ continue;
40
78
  }
41
- else if (token.startsWith('--yes='))
42
- options.yes = parseBooleanFlag(token.slice('--yes='.length));
43
- else if (token.startsWith('--confirm='))
44
- options.yes = parseBooleanFlag(token.slice('--confirm='.length));
45
- else if (token.startsWith('--cli-only='))
46
- options.cliOnly = parseBooleanFlag(token.slice('--cli-only='.length));
47
- else if (token.startsWith('--skill-only='))
48
- options.skillOnly = parseBooleanFlag(token.slice('--skill-only='.length));
49
- else if (token.startsWith('--keep-config='))
50
- options.keepConfig = parseBooleanFlag(token.slice('--keep-config='.length));
51
- else
52
- throw new Error(`未知安装参数: ${token}`);
53
- }
54
- return options;
79
+ if (arg === '--confirm' || arg.startsWith('--confirm=')) {
80
+ const parsed = readBooleanOption(args, index, '--confirm');
81
+ yes = parsed.value;
82
+ index += parsed.consumedArgs;
83
+ continue;
84
+ }
85
+ if (arg === '--keep-config' || arg.startsWith('--keep-config=')) {
86
+ const parsed = readBooleanOption(args, index, '--keep-config');
87
+ keepConfig = parsed.value;
88
+ index += parsed.consumedArgs;
89
+ continue;
90
+ }
91
+ throw new Error(`未知安装参数: ${arg}`);
92
+ }
93
+ if (cliOnly && skillOnly) {
94
+ throw new Error('--cli-only 和 --skill-only 不能同时使用');
95
+ }
96
+ return { cliOnly, skillOnly, skillPath, yes, keepConfig };
97
+ }
98
+ function parseUninstallOptions(args) {
99
+ const options = parseInstallOptions(args);
100
+ return {
101
+ confirm: options.yes,
102
+ keepConfig: options.keepConfig,
103
+ cliOnly: options.cliOnly,
104
+ skillOnly: options.skillOnly,
105
+ };
55
106
  }
56
107
  function printSuccessGuide(action, status) {
57
- process.stdout.write(`\n${action}完成,${status}\n\n`);
108
+ process.stdout.write(`\n${action}完成,${status}\n\n${renderBanner()}\n\n`);
58
109
  process.stdout.write([
59
110
  '快速开始:',
60
111
  ' yapi help 查看帮助',
@@ -68,6 +119,229 @@ function printSuccessGuide(action, status) {
68
119
  ' yapi install --skill-only 仅安装 Skill',
69
120
  ].join('\n') + '\n');
70
121
  }
122
+ function renderBanner() {
123
+ return String.raw `___ ___ ___ ___ ___ ___ ___
124
+ /\__\ /\ \ /\ \ /\ \ /\ \ /\__\ /\ \
125
+ |::L__L /::\ \ /::\ \ _\:\ \ /::\ \ /:/ / _\:\ \
126
+ |:::\__\ /::\:\__\ /::\:\__\ /\/::\__\ /:/\:\__\ /:/__/ /\/::\__\
127
+ /:;;/__/ \/\::/ / \/\::/ / \::/\/__/ \:\ \/__/ \:\ \ \::/\/__/
128
+ \/__/ /:/ / \/__/ \:\__\ \:\__\ \:\__\ \:\__\
129
+ \/__/ \/__/ \/__/ \/__/ \/__/ `;
130
+ }
131
+ function printUninstallPreview(options) {
132
+ const steps = [
133
+ ...(!options.cliOnly ? ['卸载 yapi skill(项目级和全局级)'] : []),
134
+ ...(!options.skillOnly ? ['卸载全局 CLI 包并清理 npm 残留目录'] : []),
135
+ ...(options.keepConfig ? [] : ['删除 ~/.yapi/config.json']),
136
+ ];
137
+ process.stdout.write(`\n即将执行:\n- ${steps.join('\n- ')}\n\n`);
138
+ process.stdout.write('请使用 `yapi uninstall --confirm true` 或 `yapi remove --confirm true` 继续。\n');
139
+ }
140
+ function createSkillAddArgs(source) {
141
+ return ['-y', 'skills', 'add', source, '--global', '--agent', GLOBAL_SKILL_AGENT, '--yes'];
142
+ }
143
+ function createSkillRemoveArgs(global = false) {
144
+ return ['-y', 'skills', 'remove', 'yapi-cli', '--yes', ...(global ? ['--global'] : [])];
145
+ }
146
+ async function installPackageAndSkill(action, options) {
147
+ if (!options.skillOnly) {
148
+ await cleanupGlobalPackageResidues();
149
+ await installGlobalCli(action);
150
+ }
151
+ if (!options.cliOnly) {
152
+ await installSkill(action, options);
153
+ }
154
+ }
155
+ async function installGlobalCli(action) {
156
+ const args = ['install', '-g', `${PACKAGE_NAME}@latest`];
157
+ try {
158
+ await runStep(`${action} yapi CLI`, 'npm', args);
159
+ }
160
+ catch (error) {
161
+ if (!isNpmDirectoryNotEmptyError(error)) {
162
+ throw error;
163
+ }
164
+ process.stdout.write('\n检测到 npm 全局安装目录残留,正在清理后重试...\n');
165
+ await cleanupGlobalPackageResidues();
166
+ await runStep(`${action} yapi CLI`, 'npm', args);
167
+ }
168
+ }
169
+ async function installSkill(action, options) {
170
+ if (options.skillPath) {
171
+ await runNpxStepWithRetry(`${action} yapi skill`, createSkillAddArgs(path.resolve(options.skillPath)), action);
172
+ return;
173
+ }
174
+ try {
175
+ await installSkillFromInstalledPackage(action);
176
+ }
177
+ catch {
178
+ await installSkillFromNpmPackage(action);
179
+ }
180
+ }
181
+ async function installSkillFromInstalledPackage(action) {
182
+ const skillPath = await getInstalledPackageSkillPath();
183
+ try {
184
+ await access(skillPath);
185
+ }
186
+ catch {
187
+ throw new Error(`未找到已安装包内的 yapi skill:${skillPath}`);
188
+ }
189
+ await runNpxStepWithRetry(`${action} yapi skill`, createSkillAddArgs(skillPath), action);
190
+ }
191
+ async function getInstalledPackageSkillPath() {
192
+ const globalNodeModules = (await runCommandOutput('npm', ['root', '-g'])).trim();
193
+ if (!globalNodeModules) {
194
+ throw new Error('npm root -g 没有返回全局 node_modules 路径');
195
+ }
196
+ return path.join(globalNodeModules, PACKAGE_NAME, 'skills', 'yapi-cli');
197
+ }
198
+ async function installSkillFromNpmPackage(action) {
199
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), 'yapi-cli-skill-'));
200
+ try {
201
+ const stdout = await runCommandOutput('npm', ['pack', `${PACKAGE_NAME}@latest`, '--pack-destination', tempDir, '--silent']);
202
+ const tarballName = stdout.trim().split('\n').filter(Boolean).at(-1);
203
+ if (!tarballName) {
204
+ throw new Error('npm pack 没有返回包文件名');
205
+ }
206
+ const tarballPath = path.join(tempDir, tarballName);
207
+ await runStep('解压 yapi npm 包', 'tar', ['-xzf', tarballPath, '-C', tempDir]);
208
+ await runNpxStepWithRetry(`${action} yapi skill`, createSkillAddArgs(path.join(tempDir, 'package')), action);
209
+ }
210
+ finally {
211
+ await rm(tempDir, { recursive: true, force: true });
212
+ }
213
+ }
214
+ async function uninstallSkill() {
215
+ await runNpxStepWithRetry('卸载项目级 yapi skill', createSkillRemoveArgs(false), '卸载');
216
+ await runNpxStepWithRetry('卸载全局级 yapi skill', createSkillRemoveArgs(true), '卸载');
217
+ }
218
+ async function uninstallPackage() {
219
+ await runStep('卸载 yapi CLI', 'npm', ['uninstall', '-g', PACKAGE_NAME]);
220
+ await cleanupGlobalPackageResidues();
221
+ }
222
+ function isNpmDirectoryNotEmptyError(error) {
223
+ const message = error instanceof Error ? error.message : String(error);
224
+ return message.includes('ENOTEMPTY') || message.toLowerCase().includes('directory not empty');
225
+ }
226
+ async function runNpxStepWithRetry(title, args, _action) {
227
+ try {
228
+ await runStep(title, 'npx', args);
229
+ }
230
+ catch (error) {
231
+ if (!isNpmDirectoryNotEmptyError(error)) {
232
+ throw error;
233
+ }
234
+ process.stdout.write(`\n检测到 npx 缓存目录残留,正在清理后重试 ${title}...\n`);
235
+ await cleanupNpxResidues();
236
+ await runStep(title, 'npx', args);
237
+ }
238
+ }
239
+ async function cleanupGlobalPackageResidues() {
240
+ const globalNodeModules = (await runCommandOutput('npm', ['root', '-g'])).trim();
241
+ const globalPrefix = (await runCommandOutput('npm', ['prefix', '-g'])).trim();
242
+ if (globalPrefix) {
243
+ const binDir = path.join(globalPrefix, 'bin');
244
+ await Promise.all([
245
+ rm(path.join(binDir, 'yapi'), { force: true }),
246
+ rm(path.join(binDir, 'yapi-cli'), { force: true }),
247
+ ]);
248
+ }
249
+ if (globalNodeModules) {
250
+ await rm(path.join(globalNodeModules, PACKAGE_NAME), { recursive: true, force: true });
251
+ const scopeDir = path.join(globalNodeModules, '@cloudglab');
252
+ let entries = [];
253
+ try {
254
+ entries = await readdir(scopeDir);
255
+ }
256
+ catch {
257
+ // scope 目录不存在时忽略
258
+ }
259
+ await Promise.all(entries
260
+ .filter((entry) => entry === 'yapi-cli' || entry.startsWith('.yapi-cli-'))
261
+ .map((entry) => rm(path.join(scopeDir, entry), { recursive: true, force: true })));
262
+ }
263
+ await cleanupNpxResidues();
264
+ }
265
+ async function cleanupNpxResidues() {
266
+ const npxCacheDir = path.join(os.homedir(), '.npm', '_npx');
267
+ let entries = [];
268
+ try {
269
+ entries = await readdir(npxCacheDir);
270
+ }
271
+ catch {
272
+ return;
273
+ }
274
+ await Promise.all(entries.map(async (entry) => {
275
+ const hashDir = path.join(npxCacheDir, entry);
276
+ const cloudglabDir = path.join(hashDir, 'node_modules', '@cloudglab');
277
+ let cloudglabEntries = [];
278
+ try {
279
+ cloudglabEntries = await readdir(cloudglabDir);
280
+ }
281
+ catch {
282
+ return;
283
+ }
284
+ const hasYapiCli = cloudglabEntries.some((value) => value === 'yapi-cli' || value.startsWith('.yapi-cli-'));
285
+ if (hasYapiCli) {
286
+ await rm(hashDir, { recursive: true, force: true });
287
+ }
288
+ }));
289
+ }
290
+ async function removeConfigFile() {
291
+ await rm(path.join(YAPI_HOME, 'config.json'), { force: true });
292
+ }
293
+ async function runStep(title, command, args) {
294
+ process.stdout.write(`\n${title}...\n`);
295
+ await runCommand(command, args);
296
+ }
297
+ function runCommand(command, args) {
298
+ return new Promise((resolve, reject) => {
299
+ const child = spawn(command, args, { shell: process.platform === 'win32' });
300
+ let stderr = '';
301
+ child.stdout?.on('data', (chunk) => {
302
+ process.stdout.write(chunk);
303
+ });
304
+ child.stderr?.on('data', (chunk) => {
305
+ const text = chunk.toString('utf8');
306
+ stderr += text;
307
+ process.stderr.write(text);
308
+ });
309
+ child.on('error', reject);
310
+ child.on('close', (code) => {
311
+ if (code === 0) {
312
+ resolve();
313
+ return;
314
+ }
315
+ reject(createCommandFailedError(command, args, code, stderr));
316
+ });
317
+ });
318
+ }
319
+ function createCommandFailedError(command, args, code, stderr) {
320
+ const baseMessage = `${command} ${args.join(' ')} 执行失败,退出码 ${String(code)}`;
321
+ const tail = stderr ? `:${stderr.trim()}` : '';
322
+ return new Error(baseMessage + tail);
323
+ }
324
+ function runCommandOutput(command, args) {
325
+ return new Promise((resolve, reject) => {
326
+ const child = spawn(command, args, { shell: process.platform === 'win32' });
327
+ let stdout = '';
328
+ let stderr = '';
329
+ child.stdout?.on('data', (chunk) => {
330
+ stdout += chunk.toString('utf8');
331
+ });
332
+ child.stderr?.on('data', (chunk) => {
333
+ stderr += chunk.toString('utf8');
334
+ });
335
+ child.on('error', reject);
336
+ child.on('close', (code) => {
337
+ if (code === 0) {
338
+ resolve(stdout);
339
+ return;
340
+ }
341
+ reject(new Error(`${command} ${args.join(' ')} 执行失败,退出码 ${String(code)}${stderr ? `:${stderr.trim()}` : ''}`));
342
+ });
343
+ });
344
+ }
71
345
  async function ensureValidYApiConfig() {
72
346
  const { config: existing, error: loadError } = tryLoadConfig();
73
347
  if (existing && await validateConfig(existing)) {
@@ -219,49 +493,9 @@ function askPassword(rl, label) {
219
493
  };
220
494
  });
221
495
  }
222
- /** 安装 Skill */
223
- function installSkill(options) {
224
- const moduleDir = getModuleDir(import.meta.url);
225
- const opencodeAgentDir = join(process.env.HOME || '', '.opencode', 'agent');
226
- // 如果没有指定 skill-path,从 CLI 包内复制默认 skill
227
- if (options.skillPath) {
228
- const target = join(opencodeAgentDir, 'yapi-cli.md');
229
- if (!existsSync(dirname(target))) {
230
- mkdirSync(dirname(target), { recursive: true });
231
- }
232
- copyFileSync(options.skillPath, target);
233
- process.stdout.write(`Skill 已安装到: ${target}\n`);
234
- return;
235
- }
236
- // 查找 CLI 自带的 skill 文件
237
- const possiblePaths = [
238
- join(moduleDir, '..', 'skills', 'yapi-cli', 'SKILL.md'),
239
- join(moduleDir, '..', '..', 'skills', 'yapi-cli', 'SKILL.md'),
240
- join(process.cwd(), 'skills', 'yapi-cli', 'SKILL.md'),
241
- ];
242
- for (const skillPath of possiblePaths) {
243
- try {
244
- if (existsSync(skillPath)) {
245
- const target = join(opencodeAgentDir, 'yapi-cli.md');
246
- if (!existsSync(dirname(target))) {
247
- mkdirSync(dirname(target), { recursive: true });
248
- }
249
- copyFileSync(skillPath, target);
250
- process.stdout.write(`Skill 已安装到: ${target}\n`);
251
- return;
252
- }
253
- }
254
- catch {
255
- continue;
256
- }
257
- }
258
- process.stdout.write('未找到内置 skill 文件。可通过 --skill-path 指定路径\n');
259
- }
260
496
  export async function runInstallCommand(args, _appName = 'yapi-cli') {
261
497
  const options = parseInstallOptions(args);
262
- if (!options.cliOnly) {
263
- installSkill(options);
264
- }
498
+ await installPackageAndSkill('安装', options);
265
499
  if (!options.skillOnly) {
266
500
  await ensureValidYApiConfig();
267
501
  }
@@ -269,35 +503,27 @@ export async function runInstallCommand(args, _appName = 'yapi-cli') {
269
503
  }
270
504
  export async function runUpdateCommand(args, _appName = 'yapi-cli') {
271
505
  const options = parseInstallOptions(args);
272
- // Update 只更新 skill(如果有),不覆盖配置
273
- if (!options.cliOnly) {
274
- installSkill(options);
275
- }
506
+ await installPackageAndSkill('更新', options);
276
507
  if (!options.skillOnly) {
277
508
  await ensureValidYApiConfig();
278
509
  }
279
510
  printSuccessGuide('更新', 'YApi 配置校验通过。');
280
511
  }
281
512
  export async function runUninstallCommand(args, _appName = 'yapi-cli') {
282
- const options = parseInstallOptions(args);
283
- const opencodeAgentDir = join(process.env.HOME || '', '.opencode', 'agent');
513
+ const options = parseUninstallOptions(args);
514
+ if (!options.confirm) {
515
+ printUninstallPreview(options);
516
+ return;
517
+ }
284
518
  if (!options.cliOnly) {
285
- const skillFile = join(opencodeAgentDir, 'yapi-cli.md');
286
- if (existsSync(skillFile)) {
287
- unlinkSync(skillFile);
288
- process.stdout.write('Skill 已移除\n');
289
- }
290
- else {
291
- process.stdout.write('未找到已安装的 skill\n');
292
- }
519
+ await uninstallSkill();
293
520
  }
294
- if (!options.skillOnly && options.yes && !options.keepConfig) {
295
- // 只有在 --yes 时才删除配置
296
- const configFile = join(YAPI_HOME, 'config.json');
297
- if (existsSync(configFile)) {
298
- unlinkSync(configFile);
299
- process.stdout.write('配置文件已删除\n');
300
- }
521
+ if (!options.skillOnly) {
522
+ await uninstallPackage();
523
+ }
524
+ if (!options.skillOnly && !options.keepConfig) {
525
+ await removeConfigFile();
301
526
  }
527
+ process.stdout.write('\n卸载完成。\n');
302
528
  }
303
529
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.4",
2
+ "version": "0.0.7",
3
3
  "groups": [
4
4
  "util",
5
5
  "interface",
@@ -209,6 +209,10 @@
209
209
  "name": "interface-save",
210
210
  "group": "interface"
211
211
  },
212
+ {
213
+ "name": "interface-snapshot",
214
+ "group": "interface"
215
+ },
212
216
  {
213
217
  "name": "interface-up-cat-index",
214
218
  "group": "interface"
@@ -313,6 +317,10 @@
313
317
  "name": "project-search",
314
318
  "group": "project"
315
319
  },
320
+ {
321
+ "name": "project-snapshot",
322
+ "group": "project"
323
+ },
316
324
  {
317
325
  "name": "project-swagger-url",
318
326
  "group": "project"
@@ -401,6 +409,10 @@
401
409
  "name": "test-single-upload",
402
410
  "group": "test"
403
411
  },
412
+ {
413
+ "name": "url-parse",
414
+ "group": "util"
415
+ },
404
416
  {
405
417
  "name": "user-avatar",
406
418
  "group": "util"
@@ -444,6 +456,10 @@
444
456
  {
445
457
  "name": "whoami",
446
458
  "group": "auth"
459
+ },
460
+ {
461
+ "name": "workspace-snapshot",
462
+ "group": "util"
447
463
  }
448
464
  ],
449
465
  "commandToGroup": {
@@ -497,6 +513,7 @@
497
513
  "interface-mock-script": "interface",
498
514
  "interface-mock-toggle": "interface",
499
515
  "interface-save": "interface",
516
+ "interface-snapshot": "interface",
500
517
  "interface-up-cat-index": "interface",
501
518
  "interface-up-index": "interface",
502
519
  "interface-upload": "interface",
@@ -523,6 +540,7 @@
523
540
  "project-mock-script": "project",
524
541
  "project-mock-toggle": "project",
525
542
  "project-search": "project",
543
+ "project-snapshot": "project",
526
544
  "project-swagger-url": "project",
527
545
  "project-tag-update": "project",
528
546
  "project-token": "project",
@@ -545,6 +563,7 @@
545
563
  "test-raw": "test",
546
564
  "test-response": "test",
547
565
  "test-single-upload": "test",
566
+ "url-parse": "util",
548
567
  "user-avatar": "util",
549
568
  "user-change-password": "util",
550
569
  "user-delete": "util",
@@ -555,6 +574,7 @@
555
574
  "user-search": "util",
556
575
  "user-update": "util",
557
576
  "user-upload-avatar": "util",
558
- "whoami": "auth"
577
+ "whoami": "auth",
578
+ "workspace-snapshot": "util"
559
579
  }
560
580
  }
@@ -29,8 +29,19 @@ export declare class YApiService {
29
29
  private readonly timeoutMs;
30
30
  private readonly maxRetries;
31
31
  private requestId;
32
+ private readonly getCache;
32
33
  constructor(serverUrl: string, getHeaders: () => Record<string, string>, getToken: () => string | undefined, timeoutMs?: number, maxRetries?: number);
33
- /** 发送 API 请求(带重试和超时) */
34
+ /**
35
+ * 清空 GET 缓存。
36
+ * 登录/登出/账号切换时调用,避免跨账号复用响应。
37
+ */
38
+ clearGetCache(): void;
39
+ /** 当前 GET 缓存条目数(仅供测试与诊断使用)。 */
40
+ getCacheSize(): number;
41
+ private buildCacheKey;
42
+ private getCachedGet;
43
+ private setCachedGet;
44
+ /** 发送 API 请求(带重试、超时、GET 缓存、请求指标) */
34
45
  private request;
35
46
  /** GET 请求 */
36
47
  private get;