cbs-4px-merchant-cli 0.0.2 → 0.0.4

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.
@@ -0,0 +1,374 @@
1
+ /**
2
+ * `mc skill install | status | uninstall` — the explicit, re-runnable entry
3
+ * point for laying the bundled skill down into local AI coding tools.
4
+ *
5
+ * Why this exists as a real command instead of only an npm lifecycle hook:
6
+ * npm 11 blocks dependency install scripts by default (and still exits 0 when
7
+ * it skips them), so anything that *must* happen cannot hang off postinstall.
8
+ * The hook is kept as a best-effort convenience; this command is the contract.
9
+ *
10
+ * stdout = JSON envelope (only with --output json or when piped);
11
+ * stderr = human messages. Credentials are never read into the output — only
12
+ * a configured/not-configured boolean, plus the console URL to obtain a key.
13
+ */
14
+ import { Command } from 'commander';
15
+ import chalk from 'chalk';
16
+ import { AK_URL, BIN_NAME, PACKAGE_NAME } from '../generated/site.js';
17
+ import { ConfigManager } from '../services/config-manager.js';
18
+ import { SkillInstallerError, applyPlan, applyUninstall, buildPlan, buildUninstallPlan, knownAgentIds, readSkillSource, validateAgentIds, } from '../services/skill-installer.js';
19
+ import * as logger from '../utils/logger.js';
20
+ import { detectOutputFormat, printJson } from '../utils/output.js';
21
+ // ────────────────────────── Command builder ──────────────────────────
22
+ export function buildSkillCommand() {
23
+ const skill = new Command('skill').description('管理本机 AI 工具的 skill 安装');
24
+ withCommonOptions(skill
25
+ .command('install')
26
+ .description('把当前 CLI 版本的 skill 安装/同步到本机 AI 工具')).action(async (opts, cmd) => {
27
+ await runInstall(opts, globalsOf(cmd));
28
+ });
29
+ withCommonOptions(skill.command('status').description('查看各 AI 工具的 skill 安装状态')).action(async (opts, cmd) => {
30
+ await runStatus(opts, globalsOf(cmd));
31
+ });
32
+ withCommonOptions(skill.command('uninstall').description('从本机 AI 工具移除本 CLI 安装的 skill')).action(async (opts, cmd) => {
33
+ await runUninstall(opts, globalsOf(cmd));
34
+ });
35
+ return skill;
36
+ }
37
+ /**
38
+ * Declared per sub-command rather than relying on the root program: commander
39
+ * only accepts global flags *before* the sub-command, and `mc skill install
40
+ * --dry-run` is the spelling users actually type.
41
+ */
42
+ function withCommonOptions(cmd) {
43
+ return cmd
44
+ .option('--agent <ids>', `只处理指定 AI 工具(逗号分隔,可重复;合法值:${knownAgentIds().join(', ')})`, collectAgents, [])
45
+ .option('--force', '覆盖 / 删除非本 CLI 安装的目录(默认拒绝)')
46
+ .option('--dry-run', '只打印将要执行的操作,不写入任何文件')
47
+ .option('--output <format>', '输出格式: text | json');
48
+ }
49
+ function collectAgents(value, previous) {
50
+ const parsed = value
51
+ .split(',')
52
+ .map((s) => s.trim())
53
+ .filter(Boolean);
54
+ return [...previous, ...parsed];
55
+ }
56
+ function globalsOf(cmd) {
57
+ let root = cmd;
58
+ while (root.parent)
59
+ root = root.parent;
60
+ const o = root.opts();
61
+ return { output: o.output, verbose: o.verbose, dryRun: o.dryRun };
62
+ }
63
+ // ────────────────────────── install ──────────────────────────
64
+ async function runInstall(opts, globals) {
65
+ const format = detectOutputFormat(opts.output ?? globals.output);
66
+ const dryRun = Boolean(opts.dryRun || globals.dryRun);
67
+ const prepared = prepare(opts, format);
68
+ if (!prepared)
69
+ return;
70
+ const { source, resolve } = prepared;
71
+ const plan = buildPlan(source, resolve);
72
+ if (plan.targets.length === 0) {
73
+ return emit(format, noTargetsEnvelope(source, dryRun));
74
+ }
75
+ if (dryRun) {
76
+ return emit(format, {
77
+ ok: true,
78
+ action: 'planned',
79
+ package: PACKAGE_NAME,
80
+ skill: { name: source.name, version: source.version },
81
+ dry_run: true,
82
+ targets: plan.targets,
83
+ summary: summarizePlan(plan, Boolean(opts.force)),
84
+ message: `将向 ${plan.targets.length} 个 AI 工具安装 skill v${source.version}(dry-run,未写入)`,
85
+ });
86
+ }
87
+ const results = applyPlan(plan, { force: opts.force });
88
+ const summary = summarizeResults(results);
89
+ const apiKeyConfigured = await hasApiKey();
90
+ const blocked = results.filter((r) => r.outcome === 'skipped');
91
+ const envelope = {
92
+ ok: summary.failed === 0,
93
+ action: 'installed',
94
+ package: PACKAGE_NAME,
95
+ skill: { name: source.name, version: source.version },
96
+ api_key_configured: apiKeyConfigured,
97
+ targets: results,
98
+ summary,
99
+ message: summary.failed === 0
100
+ ? `skill v${source.version} 已同步到 ${summary.installed + summary.updated} 个 AI 工具`
101
+ : `skill v${source.version} 部分同步失败(${summary.failed}/${summary.total})`,
102
+ };
103
+ if (!apiKeyConfigured) {
104
+ envelope.hint = `尚未配置 API Key。申请地址: ${AK_URL},然后执行 ${BIN_NAME} auth login --api-key <key>`;
105
+ }
106
+ else if (blocked.length > 0) {
107
+ envelope.hint = `${blocked.length} 个目录因归属不明被跳过,确认后可加 --force 覆盖`;
108
+ }
109
+ if (format === 'json') {
110
+ printJson(envelope);
111
+ if (!envelope.ok)
112
+ process.exitCode = 1;
113
+ return;
114
+ }
115
+ renderInstallText(results, source, apiKeyConfigured);
116
+ if (!envelope.ok)
117
+ process.exitCode = 1;
118
+ }
119
+ // ────────────────────────── status ──────────────────────────
120
+ async function runStatus(opts, globals) {
121
+ const format = detectOutputFormat(opts.output ?? globals.output);
122
+ const prepared = prepare(opts, format);
123
+ if (!prepared)
124
+ return;
125
+ const { source, resolve } = prepared;
126
+ const plan = buildPlan(source, resolve);
127
+ const drifted = plan.targets.filter((t) => t.installed_version !== null && t.installed_version !== source.version);
128
+ const missing = plan.targets.filter((t) => t.installed_version === null);
129
+ const envelope = {
130
+ ok: true,
131
+ action: 'status',
132
+ package: PACKAGE_NAME,
133
+ skill: { name: source.name, version: source.version },
134
+ api_key_configured: await hasApiKey(),
135
+ targets: plan.targets,
136
+ message: plan.targets.length === 0
137
+ ? '未检测到任何 AI 工具的 skills 目录'
138
+ : `${plan.targets.length} 个目标:${plan.targets.length - drifted.length - missing.length} 个已同步、${drifted.length} 个版本不一致、${missing.length} 个未安装`,
139
+ };
140
+ if (drifted.length > 0 || missing.length > 0) {
141
+ envelope.hint = `执行 ${BIN_NAME} skill install 同步到 v${source.version}`;
142
+ }
143
+ if (format === 'json') {
144
+ printJson(envelope);
145
+ return;
146
+ }
147
+ renderStatusText(plan, source);
148
+ if (envelope.hint)
149
+ logger.info(envelope.hint);
150
+ }
151
+ // ────────────────────────── uninstall ──────────────────────────
152
+ async function runUninstall(opts, globals) {
153
+ const format = detectOutputFormat(opts.output ?? globals.output);
154
+ const dryRun = Boolean(opts.dryRun || globals.dryRun);
155
+ const prepared = prepare(opts, format);
156
+ if (!prepared)
157
+ return;
158
+ const { source, resolve } = prepared;
159
+ const plans = buildUninstallPlan(source, resolve);
160
+ if (plans.length === 0) {
161
+ return emit(format, {
162
+ ok: true,
163
+ action: 'uninstalled',
164
+ package: PACKAGE_NAME,
165
+ skill: { name: source.name, version: source.version },
166
+ targets: [],
167
+ summary: { total: 0, installed: 0, updated: 0, skipped: 0, failed: 0 },
168
+ message: `未在本机找到 ${source.name} 的 skill 安装`,
169
+ });
170
+ }
171
+ if (dryRun) {
172
+ return emit(format, {
173
+ ok: true,
174
+ action: 'planned',
175
+ package: PACKAGE_NAME,
176
+ skill: { name: source.name, version: source.version },
177
+ dry_run: true,
178
+ targets: plans,
179
+ message: `将从 ${plans.length} 个 AI 工具移除 skill(dry-run,未删除)`,
180
+ });
181
+ }
182
+ const results = applyUninstall(plans, { force: opts.force });
183
+ const summary = summarizeResults(results);
184
+ const envelope = {
185
+ ok: summary.failed === 0,
186
+ action: 'uninstalled',
187
+ package: PACKAGE_NAME,
188
+ skill: { name: source.name, version: source.version },
189
+ targets: results,
190
+ summary,
191
+ message: summary.failed === 0
192
+ ? `已从 ${summary.updated} 个 AI 工具移除 skill`
193
+ : `移除部分失败(${summary.failed}/${summary.total})`,
194
+ };
195
+ if (format === 'json') {
196
+ printJson(envelope);
197
+ if (!envelope.ok)
198
+ process.exitCode = 1;
199
+ return;
200
+ }
201
+ for (const r of results)
202
+ renderResultLine(r);
203
+ if (summary.failed === 0)
204
+ logger.success(envelope.message ?? '已移除');
205
+ else {
206
+ logger.error(envelope.message ?? '移除失败');
207
+ process.exitCode = 1;
208
+ }
209
+ }
210
+ // ────────────────────────── shared setup ──────────────────────────
211
+ /** Resolve the skill source and `--agent` filter, reporting errors uniformly. */
212
+ function prepare(opts, format) {
213
+ try {
214
+ const agents = opts.agent ?? [];
215
+ if (agents.length > 0)
216
+ validateAgentIds(agents);
217
+ const source = readSkillSource();
218
+ return { source, resolve: agents.length > 0 ? { agents } : {} };
219
+ }
220
+ catch (e) {
221
+ if (e instanceof SkillInstallerError) {
222
+ emit(format, {
223
+ ok: false,
224
+ action: 'error',
225
+ package: PACKAGE_NAME,
226
+ error: {
227
+ code: e.code,
228
+ message: e.message,
229
+ ...(e.hint ? { hint: e.hint } : {}),
230
+ },
231
+ });
232
+ return null;
233
+ }
234
+ throw e;
235
+ }
236
+ }
237
+ function noTargetsEnvelope(source, dryRun) {
238
+ return {
239
+ ok: true,
240
+ action: dryRun ? 'planned' : 'installed',
241
+ package: PACKAGE_NAME,
242
+ skill: { name: source.name, version: source.version },
243
+ ...(dryRun ? { dry_run: true } : {}),
244
+ targets: [],
245
+ summary: { total: 0, installed: 0, updated: 0, skipped: 0, failed: 0 },
246
+ message: '未检测到任何 AI 工具目录,跳过安装',
247
+ hint: '安装 Qoder / Claude Code / Cursor 等工具后重新执行本命令',
248
+ };
249
+ }
250
+ function summarizePlan(plan, force) {
251
+ const summary = {
252
+ total: plan.targets.length,
253
+ installed: 0,
254
+ updated: 0,
255
+ skipped: 0,
256
+ failed: 0,
257
+ };
258
+ for (const t of plan.targets) {
259
+ if (t.blocked && !force)
260
+ summary.skipped += 1;
261
+ else if (t.state === 'fresh')
262
+ summary.installed += 1;
263
+ else
264
+ summary.updated += 1;
265
+ }
266
+ return summary;
267
+ }
268
+ function summarizeResults(results) {
269
+ const summary = {
270
+ total: results.length,
271
+ installed: 0,
272
+ updated: 0,
273
+ skipped: 0,
274
+ failed: 0,
275
+ };
276
+ for (const r of results)
277
+ summary[r.outcome] += 1;
278
+ return summary;
279
+ }
280
+ function emit(format, envelope) {
281
+ if (format === 'json') {
282
+ printJson(envelope);
283
+ if (!envelope.ok)
284
+ process.exitCode = 1;
285
+ return;
286
+ }
287
+ if (envelope.error) {
288
+ logger.error(`[${envelope.error.code}] ${envelope.error.message}`);
289
+ if (envelope.error.hint)
290
+ logger.info(envelope.error.hint);
291
+ process.exitCode = 1;
292
+ return;
293
+ }
294
+ if (Array.isArray(envelope.targets)) {
295
+ for (const t of envelope.targets) {
296
+ renderPlanLine(t);
297
+ }
298
+ }
299
+ if (envelope.message)
300
+ logger.success(envelope.message);
301
+ if (envelope.hint)
302
+ logger.info(envelope.hint);
303
+ }
304
+ // ────────────────────────── text rendering ──────────────────────────
305
+ function renderPlanLine(t) {
306
+ const state = t.blocked ? chalk.yellow(t.state) : chalk.dim(t.state);
307
+ const extra = t.remove.length > 0 ? chalk.dim(` (-${t.remove.length})`) : '';
308
+ process.stderr.write(` ${chalk.cyan(t.agent.padEnd(16))} ${state}${extra} ${chalk.dim(t.dir)}\n`);
309
+ }
310
+ function renderResultLine(r) {
311
+ const mark = r.outcome === 'failed'
312
+ ? chalk.red('✖')
313
+ : r.outcome === 'skipped'
314
+ ? chalk.yellow('-')
315
+ : chalk.green('✓');
316
+ const removed = r.removed.length > 0 ? chalk.dim(` 清理 ${r.removed.length} 个孤儿文件`) : '';
317
+ const reason = r.reason ? chalk.dim(` ${r.reason}`) : '';
318
+ process.stderr.write(` ${mark} ${r.label}${removed}${reason}\n`);
319
+ }
320
+ /**
321
+ * Install output. This is where the welcome banner and API Key guidance moved
322
+ * to after postinstall was slimmed down — both are host-state dependent and so
323
+ * belong in the terminal, never inside SKILL.md.
324
+ */
325
+ function renderInstallText(results, source, apiKeyConfigured) {
326
+ process.stderr.write(`\n🚀 同步 ${source.name} skill v${source.version} 到 ${results.length} 个 AI 工具:\n`);
327
+ for (const r of results)
328
+ renderResultLine(r);
329
+ if (apiKeyConfigured) {
330
+ process.stderr.write('\n🎯 试试这些命令:\n\n');
331
+ process.stderr.write(` ${BIN_NAME} track get <orderNo> 查询物流轨迹\n`);
332
+ process.stderr.write(` ${BIN_NAME} label get <orderNo> 获取面单 PDF\n`);
333
+ process.stderr.write(` ${BIN_NAME} order get <orderNo> 查看订单详情\n\n`);
334
+ }
335
+ else {
336
+ process.stderr.write('\n💡 配置 API Key 后即可开始使用:\n\n');
337
+ process.stderr.write(' 1️⃣ 申请 API Key:\n');
338
+ process.stderr.write(` ${AK_URL}\n\n`);
339
+ process.stderr.write(' 2️⃣ 登录:\n');
340
+ process.stderr.write(` ${BIN_NAME} auth login --api-key sk-xxxxx\n\n`);
341
+ }
342
+ }
343
+ function renderStatusText(plan, source) {
344
+ process.stderr.write(`\n📦 ${source.name} skill v${source.version}(当前 CLI 携带的版本)\n\n`);
345
+ if (plan.targets.length === 0) {
346
+ logger.warn('未检测到任何 AI 工具的 skills 目录');
347
+ return;
348
+ }
349
+ for (const t of plan.targets) {
350
+ const version = t.installed_version === null
351
+ ? chalk.dim('未安装')
352
+ : t.installed_version === source.version
353
+ ? chalk.green(`v${t.installed_version}`)
354
+ : chalk.yellow(`v${t.installed_version} (漂移)`);
355
+ const owner = t.installed_source ? chalk.yellow(` [${t.installed_source}]`) : '';
356
+ process.stderr.write(` ${chalk.cyan(t.agent.padEnd(16))} ${version}${owner} ${chalk.dim(t.dir)}\n`);
357
+ }
358
+ process.stderr.write('\n');
359
+ }
360
+ // ────────────────────────── API Key probe ──────────────────────────
361
+ /**
362
+ * Presence check only. The key itself is never returned, printed or exported —
363
+ * skills that teach an Agent to read credential files out of the user's home
364
+ * are exactly what marketplace security scanners flag as privilege escalation.
365
+ */
366
+ async function hasApiKey() {
367
+ try {
368
+ return Boolean(await new ConfigManager().resolveApiKey());
369
+ }
370
+ catch {
371
+ return false;
372
+ }
373
+ }
374
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `mc update` — self-update the CLI (and its bundled skill via postinstall).
2
+ * `mc update` — self-update the CLI, then re-run `skill install` to sync docs.
3
3
  *
4
4
  * Inspired by:
5
5
  * - bailian-cli (npm-only, simple execSync flow)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `mc update` — self-update the CLI (and its bundled skill via postinstall).
2
+ * `mc update` — self-update the CLI, then re-run `skill install` to sync docs.
3
3
  *
4
4
  * Inspired by:
5
5
  * - bailian-cli (npm-only, simple execSync flow)
@@ -16,7 +16,9 @@
16
16
  *
17
17
  * stdout = JSON envelope (only when --output json or piped); stderr = human messages.
18
18
  */
19
- import { spawn } from 'node:child_process';
19
+ import { execFile, spawn } from 'node:child_process';
20
+ import { existsSync } from 'node:fs';
21
+ import { join } from 'node:path';
20
22
  import { createInterface } from 'node:readline';
21
23
  import { createRequire } from 'node:module';
22
24
  import chalk from 'chalk';
@@ -193,9 +195,20 @@ async function runUpdate(opts, globals) {
193
195
  },
194
196
  });
195
197
  }
196
- // 8. Record success and emit envelope.
198
+ // 8. Sync the skill with the version we just installed.
199
+ //
200
+ // npm 11 blocks dependency install scripts by default (and still exits 0),
201
+ // so the upgraded package's postinstall may never have run. Re-running
202
+ // `skill install` explicitly is the only reliable path — and it must be a
203
+ // *subprocess*: this process still holds the pre-upgrade code and paths, so
204
+ // an in-process call would lay the OLD skill back down.
205
+ const skillSync = await runSkillInstall(format);
206
+ // 9. Record success and emit envelope.
197
207
  recordUpgrade(CURRENT_VERSION, targetVersion, tag);
198
- return emit(format, {
208
+ const verb = hasNewer ? `已升级到 v${targetVersion}` : `已重装 v${targetVersion}`;
209
+ const envelope = {
210
+ // The binary really did upgrade; a failed doc sync must not make scripted
211
+ // callers treat the upgrade itself as failed.
199
212
  ok: true,
200
213
  action: 'updated',
201
214
  package: PACKAGE_NAME,
@@ -205,10 +218,15 @@ async function runUpdate(opts, globals) {
205
218
  current_version: targetVersion,
206
219
  latest_version: latest,
207
220
  install_method: install.method,
208
- message: hasNewer
209
- ? `已升级到 v${targetVersion}(skill 已通过 postinstall 自动同步)。重新打开终端使生效。`
210
- : `已重装 v${targetVersion}skill 已通过 postinstall 重新同步)。`,
211
- });
221
+ skill_sync: skillSync.ok ? 'ok' : 'failed',
222
+ message: skillSync.ok
223
+ ? `${verb}skill 已同步。重新打开终端使生效。`
224
+ : `${verb},但 skill 同步失败。`,
225
+ };
226
+ if (!skillSync.ok) {
227
+ envelope.hint = `请手动执行: ${BIN_NAME} skill install`;
228
+ }
229
+ return emit(format, envelope);
212
230
  }
213
231
  // ────────────────────────── Output rendering ──────────────────────────
214
232
  function emit(format, env) {
@@ -226,6 +244,8 @@ function renderText(env) {
226
244
  switch (env.action) {
227
245
  case 'updated':
228
246
  logger.success(env.message ?? `已升级到 v${env.current_version}`);
247
+ if (env.skill_sync === 'failed' && env.hint)
248
+ logger.warn(env.hint);
229
249
  logger.info(`运行 ${BIN_NAME} --version 验证当前版本`);
230
250
  break;
231
251
  case 'already_up_to_date':
@@ -268,7 +288,7 @@ async function runNpmInstall(version, registry) {
268
288
  registry,
269
289
  ];
270
290
  const proc = spawn(cmd, args, {
271
- // Inherit stdout/stderr so the user sees postinstall output (skill sync banner).
291
+ // Inherit stdout/stderr so the user sees npm's own progress output.
272
292
  stdio: ['ignore', 'inherit', 'pipe'],
273
293
  });
274
294
  let stderr = '';
@@ -291,6 +311,49 @@ function tail(s, n) {
291
311
  return '';
292
312
  return s.length <= n ? s : s.slice(s.length - n);
293
313
  }
314
+ // ─────────────────────── Post-upgrade skill sync ───────────────────────
315
+ /**
316
+ * Run `skill install` from the *newly installed* package.
317
+ *
318
+ * The freshly installed entry point is resolved through `npm root -g` rather
319
+ * than by invoking the bin name off PATH: a machine can easily carry several
320
+ * copies of the command (nvm, Homebrew, /usr/local), and PATH order decides
321
+ * which one wins — possibly a stale one that would write an older skill.
322
+ */
323
+ async function runSkillInstall(format) {
324
+ const entry = await resolveInstalledEntry();
325
+ const [cmd, args] = entry
326
+ ? [process.execPath, [entry, 'skill', 'install']]
327
+ : [process.platform === 'win32' ? `${BIN_NAME}.cmd` : BIN_NAME, ['skill', 'install']];
328
+ if (format === 'text') {
329
+ logger.info(`同步 skill: ${BIN_NAME} skill install`);
330
+ }
331
+ return new Promise((resolve) => {
332
+ // In text mode the child's human output belongs on our stderr directly; in
333
+ // json mode it must be captured so it cannot corrupt the stdout envelope.
334
+ const proc = spawn(cmd, args, {
335
+ stdio: ['ignore', 'ignore', format === 'text' ? 'inherit' : 'pipe'],
336
+ });
337
+ let stderr = '';
338
+ proc.stderr?.on('data', (chunk) => {
339
+ stderr += chunk.toString();
340
+ });
341
+ proc.on('error', (err) => resolve({ ok: false, stderr: stderr || err.message }));
342
+ proc.on('close', (code) => resolve({ ok: code === 0, stderr }));
343
+ });
344
+ }
345
+ /** `<npm root -g>/<package>/dist/index.js`, or undefined when unresolvable. */
346
+ function resolveInstalledEntry() {
347
+ return new Promise((resolve) => {
348
+ const cmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
349
+ execFile(cmd, ['root', '-g'], { timeout: 5000 }, (err, stdout) => {
350
+ if (err)
351
+ return resolve(undefined);
352
+ const entry = join(stdout.trim(), PACKAGE_NAME, 'dist', 'index.js');
353
+ resolve(existsSync(entry) ? entry : undefined);
354
+ });
355
+ });
356
+ }
294
357
  // ────────────────────────── Confirmation ──────────────────────────
295
358
  function confirm(question) {
296
359
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -16,7 +16,7 @@ export class ConfigError extends BportalError {
16
16
  }
17
17
  export class AuthRequiredError extends BportalError {
18
18
  constructor() {
19
- super('API Key 未配置', 'AUTH_REQUIRED', '执行: mc auth login --api-key SK_xxx 或设置环境变量 BPORTAL_API_KEY');
19
+ super('API Key 未配置', 'AUTH_REQUIRED', '执行: mc auth login --api-key <key> 或设置环境变量 BPORTAL_API_KEY');
20
20
  this.name = 'AuthRequiredError';
21
21
  }
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,OAAe,eAAe,EAC9B,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA0B;QAC9B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;QACE,KAAK,CACH,aAAa,EACb,eAAe,EACf,4DAA4D,CAC7D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,YAAY;IAEtB;IADlB,YACkB,OAAe,EAC/B,OAAe,EACf,IAAa;QAEb,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAJd,YAAO,GAAP,OAAO,CAAQ;QAK/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAWD;;;GAGG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,OAAe,eAAe,EAC9B,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA0B;QAC9B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;QACE,KAAK,CACH,aAAa,EACb,eAAe,EACf,2DAA2D,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,YAAY;IAEtB;IADlB,YACkB,OAAe,EAC/B,OAAe,EACf,IAAa;QAEb,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAJd,YAAO,GAAP,OAAO,CAAQ;QAK/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAWD;;;GAGG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC"}