@aalis/plugin-commands 0.14.0 → 0.15.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.
@@ -1,8 +1,11 @@
1
1
  import type { AuthorityService, ExecutionGuard } from '@aalis/api-authority';
2
2
  import type { Command, CommandBuilder, CommandService, ExecutionInput, InternalCommandMeta } from '@aalis/api-commands';
3
+ import { type I18nService } from '@aalis/api-i18n';
3
4
  import type { Logger, ServiceSelection } from '@aalis/core';
4
- /** 帮助按谁的等级过滤:执行时守卫裁决的同一个身份 */
5
+ import { type TextRef } from '@aalis/schema-i18n';
6
+ /** 帮助按谁的等级过滤、按谁的语言渲染:执行时守卫裁决的同一个身份,与这条指令所在的会话 */
5
7
  interface Caller {
8
+ sessionId: string;
6
9
  platform: string;
7
10
  userId?: string;
8
11
  }
@@ -19,11 +22,15 @@ export declare class CommandRegistry implements CommandService {
19
22
  private readonly logger;
20
23
  /** 权限服务:帮助按它的 authorize 判调用者能用哪些指令,与执行守卫的等级裁决同一份 */
21
24
  private readonly authority;
25
+ /** 回复与帮助按读者的语言渲染;缺席时按原文 */
26
+ private readonly i18n;
27
+ /** i18n 渲染抛错时告警过了:之后再出错不再告警 */
28
+ private renderWarned;
22
29
  private _guard?;
23
30
  prefix: string;
24
- constructor(logger: Logger, authority: Pick<ServiceSelection<AuthorityService>, 'present' | 'use'>);
31
+ constructor(logger: Logger, authority: Pick<ServiceSelection<AuthorityService>, 'present' | 'use'>, i18n: Pick<ServiceSelection<I18nService>, 'present' | 'use'>);
25
32
  setExecutionGuard(guard: ExecutionGuard | undefined): void;
26
- command(rawName: string, description?: string, meta?: InternalCommandMeta): CommandBuilder;
33
+ command(rawName: string, description?: string | TextRef, meta?: InternalCommandMeta): CommandBuilder;
27
34
  /** builder 写入**自己那一层声明**(闭包持有,无需每次查表)。 */
28
35
  private makeBuilder;
29
36
  /** 自动创建祖先分组节点(不替换已存在节点) */
@@ -79,6 +86,11 @@ export declare class CommandRegistry implements CommandService {
79
86
  */
80
87
  hasMatch(head: string, tokens?: string[]): boolean;
81
88
  execute(name: string, input: ExecutionInput): Promise<string | undefined>;
89
+ /**
90
+ * 同 {@link execute},回复不渲染:文字对象原样交出。聊天回复用它,把文字对象交给网关按会话的语言渲染;
91
+ * 帮助(裸敲分组、-h)照旧是按调用者所在会话的语言渲染好的字符串
92
+ */
93
+ run(name: string, input: ExecutionInput): Promise<string | TextRef | undefined>;
82
94
  private materialize;
83
95
  /** `/help` 的概览:调用者看得见的顶层指令(help 自己不列) */
84
96
  overview(caller: Caller): string;
@@ -87,9 +99,15 @@ export declare class CommandRegistry implements CommandService {
87
99
  * 指令登记了 usage 时整段用它。
88
100
  */
89
101
  detail(path: string[], caller: Caller): string;
102
+ /** 用法(同帮助,按调用者所在会话的语言渲染好);给了 error 时报错在前,同一次渲染 */
90
103
  private usageOf;
91
104
  /** 报错后附上用法;调用者看不见这条指令时只回报错 */
92
105
  private withUsage;
106
+ /**
107
+ * 按调用者所在会话的语言渲染(i18n 缺席时按原文)。帮助一次要渲染几十段,整份交给这里一次,语言链只算一次;
108
+ * i18n 渲染抛错时按原文,告警一次
109
+ */
110
+ private localize;
93
111
  private entries;
94
112
  /** 帮助里看得见:调用者能用的指令,或底下有看得见的指令的分组 */
95
113
  private visible;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAEd,cAAc,EACd,cAAc,EACd,mBAAmB,EAMpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiB5D,8BAA8B;AAC9B,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsFD,qBAAa,eAAgB,YAAW,cAAc;IACpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8D;IACxF,OAAO,CAAC,MAAM,CAAC,CAAiB;IAEhC,MAAM,SAAO;gBAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAOlG,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAM1D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,cAAc;IA4D1F,0CAA0C;IAC1C,OAAO,CAAC,WAAW;IAuCnB,2BAA2B;IAC3B,OAAO,CAAC,YAAY;IAUpB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAkBlD;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAUnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAexB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAgBjF,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,aAAa;IAIrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAMtC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS;IAKrD,MAAM,IAAI,OAAO,EAAE;IAMnB;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAkBf;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO;IAIhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqD/E,OAAO,CAAC,WAAW;IAyDnB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKhC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAO9C,OAAO,CAAC,OAAO;IAIf,8BAA8B;IAC9B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IASf,oCAAoC;IACpC,OAAO,CAAC,OAAO;IAKf;;;OAGG;IACH,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,SAAS;IAqGjB,OAAO,CAAC,cAAc;CAKvB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { capabilityMinLevel, DEFAULT_AUTHORITY, riskDefaults } from '@aalis/api-authority';
2
+ import { localizeFor } from '@aalis/api-i18n';
3
+ import { isTextRef, TextError, textOf, toSource } from '@aalis/schema-i18n';
2
4
  import { renderDetail, renderOverview } from './help.js';
5
+ import { t } from './texts.js';
3
6
  // ============================================================================
4
7
  // 命令注册表(v2 — 链式 builder)
5
8
  //
@@ -17,7 +20,7 @@ const NAME_SEGMENT_RE = /^[a-z][a-z0-9-]*$/;
17
20
  *
18
21
  * 栈顶决定「跑谁的实现」,但不该决定「谁能跑」——否则后注册者只要压一层就能放宽权限。
19
22
  *
20
- * ⚠️ **必须整份取,不能逐轴取严**。visibility / confirm / risk 三轴各自独立取最严实测不单调:
23
+ * 注意:**必须整份取,不能逐轴取严**。visibility / confirm / risk 三轴各自独立取最严实测不单调:
21
24
  * 真正的裁决函数里 **risk 一旦存在就完全遮蔽 visibility**
22
25
  * (见 `capabilityMinLevel`),于是「未声明 risk」在合并时被当成最弱、在裁决时却代表更强的
23
26
  * visibility 兜底。给 `{visibility:'restricted'}` 的 /shutdown 压一层 `{risk:'safe'}`,
@@ -79,11 +82,16 @@ export class CommandRegistry {
79
82
  logger;
80
83
  /** 权限服务:帮助按它的 authorize 判调用者能用哪些指令,与执行守卫的等级裁决同一份 */
81
84
  authority;
85
+ /** 回复与帮助按读者的语言渲染;缺席时按原文 */
86
+ i18n;
87
+ /** i18n 渲染抛错时告警过了:之后再出错不再告警 */
88
+ renderWarned = false;
82
89
  _guard;
83
90
  prefix = '/';
84
- constructor(logger, authority) {
91
+ constructor(logger, authority, i18n) {
85
92
  this.logger = logger.child('commands');
86
93
  this.authority = authority;
94
+ this.i18n = i18n;
87
95
  }
88
96
  // ---- Guard ----
89
97
  setExecutionGuard(guard) {
@@ -334,20 +342,26 @@ export class CommandRegistry {
334
342
  return this.resolve(head, tokens) !== null;
335
343
  }
336
344
  async execute(name, input) {
345
+ return this.localize(await this.run(name, input), input);
346
+ }
347
+ /**
348
+ * 同 {@link execute},回复不渲染:文字对象原样交出。聊天回复用它,把文字对象交给网关按会话的语言渲染;
349
+ * 帮助(裸敲分组、-h)照旧是按调用者所在会话的语言渲染好的字符串
350
+ */
351
+ async run(name, input) {
337
352
  const resolved = this.resolve(name, input.args);
338
353
  if (!resolved)
339
- return `未知指令: ${this.prefix}${name}。输入 ${this.prefix}help 查看帮助。`;
340
- const caller = { platform: input.platform, userId: input.userId };
354
+ return t('unknownCommand', { command: `${this.prefix}${name}`, prefix: this.prefix });
341
355
  const cmd = this.materialize(resolved.name);
342
356
  // 裸敲分组与 -h、--help 回的都是 `/help <指令>` 那一段:调用者用不了的指令在帮助里当作不存在。
343
357
  // 直接执行用不了的指令由守卫拒绝,拒绝文案照旧点名指令
344
358
  if (!cmd.handler || asksHelp(resolved.remaining))
345
- return this.detail(resolved.name.split('.'), caller);
346
- const parsed = this.parseArgs(cmd, resolved.remaining, caller);
347
- if (typeof parsed === 'string')
359
+ return this.detail(resolved.name.split('.'), input);
360
+ const parsed = this.parseArgs(cmd, resolved.remaining, input);
361
+ if (typeof parsed === 'string' || isTextRef(parsed))
348
362
  return parsed;
349
363
  if (this._guard) {
350
- const rejection = await this._guard({
364
+ const verdict = await this._guard({
351
365
  name: cmd.name,
352
366
  type: 'command',
353
367
  visibility: cmd.visibility,
@@ -356,14 +370,16 @@ export class CommandRegistry {
356
370
  sessionId: input.sessionId,
357
371
  platform: input.platform,
358
372
  userId: input.userId,
373
+ // 参与者只有发出者:聊天入站已把授权身份并进 platform 与 userId,没有账号的是无主体
374
+ participants: [{ platform: input.platform, userId: input.userId ?? '' }],
359
375
  skipConfirm: input.skipConfirm,
360
376
  confirmIntent: input.confirmIntent,
361
377
  });
362
- if (rejection)
363
- return rejection;
378
+ if (!verdict.ok)
379
+ return verdict.reason;
364
380
  }
365
381
  else if (needsAuthority(cmd)) {
366
- return `指令 ${this.prefix}${cmd.name} 需要权限校验或确认,但未安装权限插件 @aalis/plugin-authority,已拒绝执行`;
382
+ return t('needsAuthority', { command: `${this.prefix}${cmd.name}` });
367
383
  }
368
384
  try {
369
385
  const argv = {
@@ -380,9 +396,14 @@ export class CommandRegistry {
380
396
  return result ?? undefined;
381
397
  }
382
398
  catch (err) {
383
- const message = err instanceof Error ? err.message : String(err);
384
- this.logger.error(`指令 ${this.prefix}${cmd.name} 执行失败: ${message}`);
385
- return `指令执行失败: ${message}`;
399
+ // 处理函数抛的是中止原因(如所属插件停用、停机时随它这次激活的信号停下):不是执行失败,回已中止,不记 error
400
+ if (err instanceof Error && err.name === 'AbortError') {
401
+ this.logger.debug(`指令 ${this.prefix}${cmd.name} 已中止`);
402
+ return t('aborted', { command: `${this.prefix}${cmd.name}` });
403
+ }
404
+ const error = textOf(err);
405
+ this.logger.error(`指令 ${this.prefix}${cmd.name} 执行失败: ${toSource(error)}`);
406
+ return t('failed', { error });
386
407
  }
387
408
  }
388
409
  // ---- 内部:把 patches 合成有效 Command(含父级可见性 + 权限继承) ----
@@ -421,7 +442,7 @@ export class CommandRegistry {
421
442
  name,
422
443
  pluginName: top?.pluginName ?? 'unknown',
423
444
  // 空栈 = 自动创建的分组节点,描述在此派生而非落字段(少存一份、不会陈旧)。
424
- description: top?.description ?? `${name} 命令组`,
445
+ description: top?.description ?? t('group', { name }),
425
446
  visibility,
426
447
  confirm,
427
448
  risk,
@@ -444,7 +465,7 @@ export class CommandRegistry {
444
465
  /** `/help` 的概览:调用者看得见的顶层指令(help 自己不列) */
445
466
  overview(caller) {
446
467
  const tops = [...this.nodes.keys()].filter(n => !n.includes('.') && n !== 'help').sort();
447
- return renderOverview(this.entries(tops, caller), this.prefix);
468
+ return renderOverview(this.entries(tops, caller), this.prefix, value => this.localize(value, caller));
448
469
  }
449
470
  /**
450
471
  * `/help <指令>`、`<指令> -h` 与裸敲分组共用的回答。`/help` 问调用者看不见的指令,与问不存在的指令回同一句。
@@ -452,16 +473,35 @@ export class CommandRegistry {
452
473
  */
453
474
  detail(path, caller) {
454
475
  const cmd = this.getNode(path);
455
- if (!cmd || !this.visible(cmd.name, caller))
456
- return `没有指令 ${path.join(' ')}。敲 ${this.prefix}help 看可用指令。`;
476
+ if (!cmd || !this.visible(cmd.name, caller)) {
477
+ return this.localize(t('noCommand', { path: path.join(' '), prefix: this.prefix }), caller);
478
+ }
457
479
  return this.usageOf(cmd, caller);
458
480
  }
459
- usageOf(cmd, caller) {
460
- return cmd.usage ?? renderDetail(cmd, this.entries(this.directChildren(cmd.name), caller), this.prefix);
481
+ /** 用法(同帮助,按调用者所在会话的语言渲染好);给了 error 时报错在前,同一次渲染 */
482
+ usageOf(cmd, caller, error) {
483
+ const localize = value => this.localize(value, caller);
484
+ if (cmd.usage !== undefined)
485
+ return error ? `${localize(error)}\n\n${cmd.usage}` : cmd.usage;
486
+ return renderDetail(cmd, this.entries(this.directChildren(cmd.name), caller), this.prefix, localize, error);
461
487
  }
462
488
  /** 报错后附上用法;调用者看不见这条指令时只回报错 */
463
489
  withUsage(error, cmd, caller) {
464
- return this.visible(cmd.name, caller) ? `${error}\n\n${this.usageOf(cmd, caller)}` : error;
490
+ return this.visible(cmd.name, caller) ? this.usageOf(cmd, caller, error) : error;
491
+ }
492
+ /**
493
+ * 按调用者所在会话的语言渲染(i18n 缺席时按原文)。帮助一次要渲染几十段,整份交给这里一次,语言链只算一次;
494
+ * i18n 渲染抛错时按原文,告警一次
495
+ */
496
+ localize(value, caller) {
497
+ return localizeFor(this.i18n, value, { sessionId: caller.sessionId, platform: caller.platform }, {
498
+ onError: err => {
499
+ if (this.renderWarned)
500
+ return;
501
+ this.renderWarned = true;
502
+ this.logger.warn('按会话的语言渲染指令的回复与帮助出错,按原文交出(之后再出错不再告警):', err);
503
+ },
504
+ });
465
505
  }
466
506
  entries(names, caller) {
467
507
  return names
@@ -518,7 +558,7 @@ export class CommandRegistry {
518
558
  const optName = negated ? rawName.slice(3) : rawName;
519
559
  const def = exact ?? (negated ? findOption(cmd.options, optName) : undefined);
520
560
  if (!def)
521
- return this.withUsage(`未知选项: --${rawName}`, cmd, caller);
561
+ return this.withUsage(t('unknownOption', { option: `--${rawName}` }), cmd, caller);
522
562
  let rawValue = eq >= 0 ? token.slice(eq + 1) : undefined;
523
563
  if (def.type === 'boolean') {
524
564
  options[def.name] = negated ? false : rawValue === undefined ? true : parseBoolean(rawValue);
@@ -533,7 +573,7 @@ export class CommandRegistry {
533
573
  rawValue = rawArgs[i];
534
574
  }
535
575
  if (rawValue === undefined)
536
- return `选项 --${optName} 缺少取值`;
576
+ return t('missingValue', { option: `--${optName}` });
537
577
  options[def.name] = parseOptionValue(def, rawValue, options[def.name]);
538
578
  }
539
579
  continue;
@@ -547,7 +587,7 @@ export class CommandRegistry {
547
587
  continue;
548
588
  }
549
589
  if (!def)
550
- return this.withUsage(`未知选项: -${alias}`, cmd, caller);
590
+ return this.withUsage(t('unknownOption', { option: `-${alias}` }), cmd, caller);
551
591
  if (def.type === 'boolean') {
552
592
  options[def.name] = true;
553
593
  }
@@ -559,7 +599,7 @@ export class CommandRegistry {
559
599
  options[def.name] = true;
560
600
  continue;
561
601
  }
562
- return `选项 -${alias} 缺少取值`;
602
+ return t('missingValue', { option: `-${alias}` });
563
603
  }
564
604
  options[def.name] = parseOptionValue(def, rawValue, options[def.name]);
565
605
  }
@@ -569,13 +609,17 @@ export class CommandRegistry {
569
609
  }
570
610
  for (const o of cmd.options) {
571
611
  if (o.required && options[o.name] === undefined)
572
- return `缺少必填选项: --${o.name}`;
612
+ return t('missingOption', { option: `--${o.name}` });
573
613
  }
574
614
  // 有子指令、自身不收位置参数的指令,多出来的词是写错或不存在的子指令名,或是写多了的选项值
575
615
  // (`/clear -t context vector`):报错并指向 /help,不忽略后执行本指令(否则 `/clear alll`
576
616
  // 会在确认后清掉当前会话)
577
617
  if (cmd.positionalArgs.length === 0 && positionalTokens.length > 0 && this.directChildren(cmd.name).length > 0) {
578
- return `未知子指令或多余参数: ${positionalTokens[0]}。输入 ${this.prefix}help ${cmd.name.replace(/\./g, ' ')} 查看用法。`;
618
+ return t('extraArgument', {
619
+ token: positionalTokens[0],
620
+ prefix: this.prefix,
621
+ command: cmd.name.replace(/\./g, ' '),
622
+ });
579
623
  }
580
624
  const positionals = [];
581
625
  let cursor = 0;
@@ -583,7 +627,7 @@ export class CommandRegistry {
583
627
  const values = def.type === 'text' ? positionalTokens.slice(cursor) : positionalTokens.slice(cursor, cursor + 1);
584
628
  if (values.length === 0) {
585
629
  if (def.required)
586
- return `缺少必填参数: ${def.name}`;
630
+ return t('missingArgument', { name: def.name });
587
631
  positionals.push(undefined);
588
632
  continue;
589
633
  }
@@ -593,8 +637,8 @@ export class CommandRegistry {
593
637
  return { positionals, options };
594
638
  }
595
639
  catch (err) {
596
- // 取值解析错误(数字非法 / choices 越界)→ 返回可读错误串,而非抛出冒泡到命令管道。
597
- return err instanceof Error ? err.message : String(err);
640
+ // 取值解析错误(数字非法 / choices 越界)→ 返回给人看的报错,而非抛出冒泡到命令管道。
641
+ return textOf(err);
598
642
  }
599
643
  }
600
644
  defaultOptions(opts) {
@@ -620,9 +664,12 @@ function asksHelp(tokens) {
620
664
  function needsAuthority(cmd) {
621
665
  return (cmd.confirm !== undefined || capabilityMinLevel({ risk: cmd.risk, visibility: cmd.visibility }) > DEFAULT_AUTHORITY);
622
666
  }
667
+ /** 按空白拆参数:引号里的整段是一个参数(空的引号是一个空参数),反斜杠转义下一个字符 */
623
668
  function tokenize(input) {
624
669
  const tokens = [];
625
670
  let current = '';
671
+ /** 这个参数写过引号:空的也算一个 */
672
+ let quoted = false;
626
673
  let quote;
627
674
  let escaped = false;
628
675
  for (const ch of input) {
@@ -644,18 +691,20 @@ function tokenize(input) {
644
691
  }
645
692
  if (ch === '"' || ch === "'") {
646
693
  quote = ch;
694
+ quoted = true;
647
695
  continue;
648
696
  }
649
697
  if (/\s/.test(ch)) {
650
- if (current) {
698
+ if (current || quoted) {
651
699
  tokens.push(current);
652
700
  current = '';
701
+ quoted = false;
653
702
  }
654
703
  continue;
655
704
  }
656
705
  current += ch;
657
706
  }
658
- if (current)
707
+ if (current || quoted)
659
708
  tokens.push(current);
660
709
  return tokens;
661
710
  }
@@ -754,9 +803,16 @@ function parseOptionSyntax(name, syntax, opts) {
754
803
  description: opts?.description,
755
804
  default: opts?.default,
756
805
  required: opts?.required === true,
757
- choices: opts?.choices?.map(c => (typeof c === 'string' ? { value: c } : c)),
806
+ choices: choicesOf(opts?.choices),
758
807
  };
759
808
  }
809
+ /** 登记写的取值收成每次现取的函数,只写值的一项补成 { value } */
810
+ function choicesOf(choices) {
811
+ if (!choices)
812
+ return undefined;
813
+ const list = typeof choices === 'function' ? choices : () => choices;
814
+ return () => list().map(c => (typeof c === 'string' ? { value: c } : c));
815
+ }
760
816
  function findOption(defs, nameOrAlias) {
761
817
  return defs.find(o => o.name === nameOrAlias || o.aliases.includes(nameOrAlias));
762
818
  }
@@ -768,7 +824,7 @@ function parseOptionValue(def, rawValue, previous) {
768
824
  if (def.type === 'number') {
769
825
  const n = Number(rawValue);
770
826
  if (Number.isNaN(n))
771
- throw new Error(`选项 --${def.name} 需要数字,收到「${rawValue}」`);
827
+ throw new TextError(t('optionNumber', { option: `--${def.name}`, value: rawValue }));
772
828
  return n;
773
829
  }
774
830
  if (def.type === 'boolean')
@@ -784,8 +840,9 @@ function parseOptionValue(def, rawValue, previous) {
784
840
  ];
785
841
  }
786
842
  // string
787
- if (def.choices && !def.choices.some(c => c.value === rawValue)) {
788
- throw new Error(`选项 --${def.name} 只能是: ${def.choices.map(c => c.value).join(', ')}`);
843
+ const choices = def.choices?.();
844
+ if (choices && !choices.some(c => c.value === rawValue)) {
845
+ throw new TextError(t('optionChoices', { option: `--${def.name}`, choices: choices.map(c => c.value).join(', ') }));
789
846
  }
790
847
  return rawValue;
791
848
  }
@@ -794,7 +851,7 @@ function parsePositionalValue(def, values) {
794
851
  if (def.type === 'number') {
795
852
  const n = Number(raw);
796
853
  if (Number.isNaN(n))
797
- throw new Error(`参数 ${def.name} 需要数字,收到「${raw}」`);
854
+ throw new TextError(t('argumentNumber', { name: def.name, value: raw }));
798
855
  return n;
799
856
  }
800
857
  if (def.type === 'boolean')
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/help.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import type { Command } from '@aalis/api-commands';
2
- /** 摘要:约定描述的第一句就是摘要;第一句过长时截断,省略号紧跟文字 */
2
+ import type { Localized, TextRef } from '@aalis/schema-i18n';
3
+ /** 把值里的文字对象按调用者所在会话的语言渲染成字符串:一条回复只调一次 */
4
+ export type Localize = <T>(value: T) => Localized<T>;
5
+ /**
6
+ * 摘要:约定描述的第一句就是摘要,句末标点不留;第一句超过 48 列时截断,去掉截断处尾部的标点(闭括号与后引号除外)与空白,
7
+ * 省略号紧跟文字
8
+ */
3
9
  export declare function brief(description: string): string;
4
10
  /** 列表里的一条指令:概览与详情的子指令共用 */
5
11
  export interface Entry {
@@ -7,7 +13,10 @@ export interface Entry {
7
13
  /** 调用者看得见的直接子指令数 */
8
14
  children: number;
9
15
  }
10
- export declare function renderOverview(entries: Entry[], prefix: string): string;
11
- /** 详情:标题(带完整描述)、用法、示例、参数、选项、子指令、别名,各段之间空一行 */
12
- export declare function renderDetail(cmd: Command, children: Entry[], prefix: string): string;
16
+ export declare function renderOverview(entries: Entry[], prefix: string, localize: Localize): string;
17
+ /**
18
+ * 详情:标题(带完整描述)、用法、示例、参数、选项、子指令、别名,各段之间空一行。给了 error 时(选项写错附上用法)报错在
19
+ * 最前面
20
+ */
21
+ export declare function renderDetail(cmd: Command, children: Entry[], prefix: string, localize: Localize, error?: TextRef): string;
13
22
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,qBAAqB,CAAC;AAOlF,uCAAuC;AACvC,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASjD;AAED,2BAA2B;AAC3B,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0BD,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA6BpF"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7D,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;AAkBrD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAWjD;AAED,2BAA2B;AAC3B,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAQ3F;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,KAAK,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,OAAO,GACd,MAAM,CAuCR"}