@aalis/plugin-commands 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/help.js CHANGED
@@ -1,145 +1,75 @@
1
1
  // ============================================================
2
- // help.ts — 指令帮助的渲染(纯函数,无副作用,便于单测)
2
+ // help.ts — 指令帮助的渲染(纯函数,便于单测)
3
3
  //
4
- // 两段式:概览只回答"有哪些能力",详情回答"这条怎么用"。
4
+ // 两段式:概览回答「有哪些能用」,详情回答「这条怎么用」。哪些指令看得见由注册表按调用者的等级定。
5
5
  //
6
- // 载体约束(已核实 packages/plugin-webui-client/src/components/markdownConfig.tsx):
7
- // - 概览用 markdown 列表(`- ` 前缀),换行由列表语义保证。
8
- // - 详情的结构化正文整体包进代码块。**这不是权宜之计,代码块就是这段内容该在的载体**:
9
- // `twoColumn` 用空格按 CJK 显示宽度补齐来对列,只有等宽字体下才对得齐——正文本来就是
10
- // 定宽的列对齐文本。顺带免疫 **autolink**(`<name:string>` 这类占位符会被 CommonMark
11
- // 解析成链接,渲染出 `<a href="">name:string</a>`)。
12
- // 曾有个待办说「要在产出侧转义尖括号、把围栏拆掉」——那能修 autolink 但会把列排歪,
13
- // 两个需求里只满足一个。别照做。
14
- //
15
- // 两条曾写在这里的理由**已被实测推翻**,不要据此施工:
16
- // - 「无 remark-breaks」:已于 e2e75155 补上,裸换行不再被合并成一段。
17
- // - 「无 rehype-raw 导致 `<type>` 被整段丢弃」:反了。不加 rehype-raw 时 `<type>` 渲染为
18
- // `&lt;type&gt;`(**正确显示**);加上反而变成空的自定义元素 `<type></type>`,肉眼不可见。
19
- // 而且该渲染器喂的是 LLM 输出与用户消息,开放 raw HTML 是 XSS 面(详见 markdownConfig.tsx)。
20
- //
21
- // 纯文本载体(QQ / CLI)看到的是 markdown 源码,可读性不受损。
6
+ // 输出是各平台通用的纯文本:QQ 与终端原样显示,WebUI 按 Markdown 渲染。所以只用两边读起来都对的写法——
7
+ // 一行一条的 `- ` 列表(取值缩进两格成子列表),段落之间空一行;不用加粗、反引号与代码围栏,也不用空格对列
8
+ // (比例字体下对不齐)。占位写成 `<名字>`,不带冒号:`<名字:类型>` 在 Markdown 里会被当成自动链接。
22
9
  // ============================================================
23
- /** 描述里的句读——概览截断到首个句读之前 */
24
- const CLAUSE_BREAK = /[。;;,,、((::\n]/;
25
- /** 概览描述的硬上限(code point 计),防止无句读的长描述撑爆一行 */
10
+ /** 第一句的结束:句号、分号、问号、叹号或换行 */
11
+ const SENTENCE_END = /[。;!?\n]/;
12
+ /** 摘要的上限(按字计):第一句过长时截断,免得一行撑满 */
26
13
  const BRIEF_MAX = 24;
27
- /**
28
- * 概览用的描述摘要:先切到首个句读之前,再硬截。
29
- *
30
- * 不引入 summary/shortDesc 新字段——那要 60+ 个包配合填写。实测全仓真实描述
31
- * ("舞萌 DX 查分。子指令:…" / "自动确认模式:临时免…")首句读切分即可切净。
32
- */
33
- export function brief(desc) {
34
- const raw = desc.trim();
35
- if (!raw)
36
- return '';
37
- const idx = raw.search(CLAUSE_BREAK);
38
- let out = idx > 0 ? raw.slice(0, idx) : raw;
39
- const chars = [...out];
40
- if (chars.length > BRIEF_MAX)
41
- out = `${chars.slice(0, BRIEF_MAX).join('')}…`;
42
- return out.replace(/[\s/·、\-—]+$/, '');
43
- }
44
- /** 自动分组节点(无人显式注册,描述是 ensureGroups 塞的"xxx 命令组"占位)不值得展示描述 */
45
- function isPlaceholderGroup(cmd) {
46
- return cmd.isGroup && !cmd.handler;
14
+ /** 摘要:约定描述的第一句就是摘要;第一句过长时截断,省略号紧跟文字 */
15
+ export function brief(description) {
16
+ const text = description.trim();
17
+ const end = text.search(SENTENCE_END);
18
+ const first = [...(end < 0 ? text : text.slice(0, end)).trimEnd()];
19
+ if (first.length <= BRIEF_MAX)
20
+ return first.join('');
21
+ return `${first
22
+ .slice(0, BRIEF_MAX)
23
+ .join('')
24
+ .replace(/[\s,,、::·/\-—((]+$/, '')}…`;
47
25
  }
48
- /**
49
- * 显示宽度:CJK / 全角标点按 2 格算。详情正文在代码块里是等宽字体,
50
- * 按 code point 数补空格会让中英混排的列歪掉。
51
- */
52
- function displayWidth(s) {
53
- let w = 0;
54
- for (const ch of s) {
55
- const c = ch.codePointAt(0) ?? 0;
56
- w +=
57
- (c >= 0x1100 && c <= 0x115f) ||
58
- (c >= 0x2e80 && c <= 0xa4cf) ||
59
- (c >= 0xac00 && c <= 0xd7a3) ||
60
- (c >= 0xf900 && c <= 0xfaff) ||
61
- (c >= 0xfe30 && c <= 0xfe6f) ||
62
- (c >= 0xff00 && c <= 0xff60) ||
63
- (c >= 0xffe0 && c <= 0xffe6) ||
64
- (c >= 0x20000 && c <= 0x3fffd)
65
- ? 2
66
- : 1;
67
- }
68
- return w;
26
+ const spelled = (name, prefix) => `${prefix}${name.replace(/\./g, ' ')}`;
27
+ /** `- /指令 — 摘要 · n 个子指令`;自动分组没有描述,只报子指令数 */
28
+ function entryLine({ cmd, children }, prefix) {
29
+ const notes = [cmd.isGroup ? '' : brief(cmd.description), children > 0 ? `${children} 个子指令` : ''].filter(Boolean);
30
+ return `- ${spelled(cmd.name, prefix)}${notes.length > 0 ? ` — ${notes.join(' · ')}` : ''}`;
69
31
  }
70
- /** 两列布局:左列按最宽项补齐(代码块内等宽字体下才对得上) */
71
- function twoColumn(rows, indent = ' ') {
72
- const width = Math.max(...rows.map(([l]) => displayWidth(l)));
73
- return rows.map(([l, r]) => `${indent}${l}${' '.repeat(width - displayWidth(l) + 2)}${r}`.trimEnd());
32
+ const argText = (arg) => (arg.required ? `<${arg.name}>` : `[${arg.name}]`);
33
+ /** 一个选项一行,取值各占一行缩在下面 */
34
+ function optionLines(option) {
35
+ const flags = new Set([`--${option.name}`, ...option.aliases.map(a => (a.length === 1 ? `-${a}` : `--${a}`))]);
36
+ const placeholder = option.valueName ?? option.name;
37
+ const value = option.type === 'boolean' ? '' : option.valueOptional ? ` [${placeholder}]` : ` <${placeholder}>`;
38
+ return [
39
+ `- ${[...flags].join(', ')}${value}${option.description ? `:${option.description}` : ''}`,
40
+ ...(option.choices ?? []).map(c => ` - ${c.value}${c.description ? `:${c.description}` : ''}`),
41
+ ];
74
42
  }
75
- /**
76
- * 概览:只列顶层节点(深度 0),子指令折成计数。
77
- *
78
- * 深度 ≥1 的节点(`session.set` / `clear.all` 等)一律不进概览——它们占了原先
79
- * 六成篇幅而信息价值近零(看到 `/session` 就该知道进去看)。
80
- */
81
- export function renderOverview(all, prefix, childCount) {
82
- const tops = all.filter(c => !c.name.includes('.') && c.name !== 'help');
83
- const lines = [`**Aalis 指令**(${tops.length} 条)`, ''];
84
- for (const cmd of tops) {
85
- const head = `\`${prefix}${cmd.name}\``;
86
- const n = childCount(cmd.name);
87
- if (isPlaceholderGroup(cmd)) {
88
- // 占位描述是噪音,改报子指令数——它才是这个节点的全部信息
89
- lines.push(`- ${head} — ${n} 个子指令`);
90
- continue;
91
- }
92
- const sub = n > 0 ? ` · ${n} 个子指令` : '';
93
- lines.push(`- ${head} — ${brief(cmd.description)}${sub}`);
94
- }
95
- lines.push('', `详情:\`${prefix}help 指令名\``);
96
- return lines.join('\n');
43
+ /** 一段:标题加一行一条;没有条目时整段不出 */
44
+ const section = (title, lines) => (lines.length > 0 ? [title, ...lines].join('\n') : '');
45
+ export function renderOverview(entries, prefix) {
46
+ return [
47
+ `可用指令(${entries.length} 条):`,
48
+ ...entries.map(e => entryLine(e, prefix)),
49
+ '',
50
+ `详情:${prefix}help 指令名,或在指令后加 -h`,
51
+ ].join('\n');
97
52
  }
98
- /**
99
- * 详情:标题行(markdown)+ 结构化正文(代码块)。
100
- *
101
- * 正文进代码块的理由见文件头:规避 `<name:string>` 被解析成 autolink,
102
- * 同时让选项/子指令在等宽字体下对齐。描述、选项说明、示例**不截断**——
103
- * 用户正是为细节才敲的第二段(如 plugin-maimai 把用法编码在描述里)。
104
- */
53
+ /** 详情:标题(带完整描述)、用法、示例、参数、选项、子指令、别名,各段之间空一行 */
105
54
  export function renderDetail(cmd, children, prefix) {
106
- const head = `${prefix}${cmd.name.replace(/\./g, ' ')}`;
107
- const body = [];
108
- const argText = cmd.positionalArgs
109
- .map(a => (a.required ? `<${a.name}:${a.type}>` : `[${a.name}:${a.type}]`))
110
- .join(' ');
111
- const subText = children.length > 0 && !cmd.handler ? ' <子指令>' : '';
112
- const optText = cmd.options.length > 0 ? ' [选项]' : '';
113
- body.push(`用法: ${head}${subText}${argText ? ` ${argText}` : ''}${optText}`);
114
- if (cmd.positionalArgs.length > 0) {
115
- body.push('', '参数:');
116
- for (const a of cmd.positionalArgs) {
117
- const label = a.required ? `<${a.name}:${a.type}>` : `[${a.name}:${a.type}]`;
118
- body.push(` ${label}`);
119
- }
120
- }
121
- if (cmd.options.length > 0) {
122
- body.push('', '选项:');
123
- body.push(...twoColumn(cmd.options.map(o => {
124
- const flags = [`--${o.name}`, ...o.aliases.map(a => `-${a}`)].join(', ');
125
- const val = o.type === 'boolean' ? '' : o.valueOptional ? ` [${o.valueName ?? o.name}]` : ` <${o.valueName ?? o.name}>`;
126
- const choices = o.choices && o.choices.length > 0 ? `(${o.choices.join(' | ')})` : '';
127
- return [`${flags}${val}`, `${o.description ?? o.type}${choices}`];
128
- })));
129
- }
130
- if (children.length > 0) {
131
- body.push('', '子指令:');
132
- body.push(...twoColumn(children.map(c => [`${prefix}${c.name.replace(/\./g, ' ')}`, brief(c.description)])));
133
- }
134
- if (cmd.aliases.length > 0) {
135
- body.push('', `别名:${cmd.aliases.map(a => `${prefix}${a.replace(/\./g, ' ')}`).join(', ')}`);
136
- }
137
- if (cmd.examples && cmd.examples.length > 0) {
138
- body.push('', '示例:');
139
- for (const e of cmd.examples)
140
- body.push(` ${e}`);
141
- }
142
- const title = isPlaceholderGroup(cmd) ? `**${head}**` : `**${head}** — ${cmd.description}`;
143
- return `${title}\n\n\`\`\`\n${body.join('\n')}\n\`\`\``;
55
+ const head = spelled(cmd.name, prefix);
56
+ const usage = [
57
+ head,
58
+ children.length > 0 && !cmd.handler ? '<子指令>' : '',
59
+ ...cmd.positionalArgs.map(argText),
60
+ cmd.options.length > 0 ? '[选项]' : '',
61
+ ];
62
+ const described = cmd.positionalArgs.filter(a => a.description);
63
+ return [
64
+ cmd.isGroup || !cmd.description ? head : `${head} — ${cmd.description}`,
65
+ `用法:${usage.filter(Boolean).join(' ')}`,
66
+ section('示例:', (cmd.examples ?? []).map(e => `- ${e}`)),
67
+ section('参数:', described.map(a => `- ${argText(a)}:${a.description}`)),
68
+ section('选项:', cmd.options.flatMap(optionLines)),
69
+ section('子指令:', children.map(e => entryLine(e, prefix))),
70
+ cmd.aliases.length > 0 ? `别名:${cmd.aliases.map(a => spelled(a, prefix)).join('、')}` : '',
71
+ ]
72
+ .filter(Boolean)
73
+ .join('\n\n');
144
74
  }
145
75
  //# sourceMappingURL=help.js.map
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,13 +35,17 @@ declare const _default: import("@aalis/core").PluginDefinition<{
35
35
  * 指向容器里的当前胜者(别的插件提供了更高优先级的注册表时就是那一个)。
36
36
  */
37
37
  commands: import("@aalis/core").OptionalUse<import("@aalis/api-commands").CommandService, import("@aalis/api-commands").BoundCommands>;
38
- gateway: import("@aalis/core").ServiceDescriptor<import("@aalis/api-gateway").GatewayService, import("@aalis/core").ServiceRef<import("@aalis/api-gateway").GatewayService>>;
39
- storage: import("@aalis/core").OptionalUse<StorageService, import("@aalis/core").ServiceRef<StorageService>>;
40
- memory: import("@aalis/core").OptionalUse<import("@aalis/api-memory").MemoryService, import("@aalis/core").ServiceRef<import("@aalis/api-memory").MemoryService>>;
41
- authority: import("@aalis/core").OptionalUse<import("@aalis/api-authority").AuthorityService, import("@aalis/core").ServiceRef<import("@aalis/api-authority").AuthorityService>>;
42
- app: import("@aalis/core").OptionalUse<import("@aalis/core").AppService, import("@aalis/core").ServiceRef<import("@aalis/core").AppService>>;
38
+ gateway: import("@aalis/core").ServiceDescriptor<import("@aalis/api-gateway").GatewayService, import("@aalis/api-gateway").GatewayService>;
39
+ storage: import("@aalis/core").OptionalUse<StorageService, import("@aalis/api-storage").BoundStorage>;
40
+ memory: import("@aalis/core").OptionalUse<import("@aalis/api-memory").MemoryService, import("@aalis/api-memory").MemoryService>;
41
+ authority: import("@aalis/core").OptionalUse<import("@aalis/api-authority").AuthorityService, import("@aalis/api-authority").AuthorityService>;
42
+ /** /status 列已登记的工具数 */
43
+ tools: import("@aalis/core").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
44
+ app: import("@aalis/core").ServiceDescriptor<import("@aalis/core").AppService, import("@aalis/core").AppService>;
43
45
  events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
44
46
  hooks: import("@aalis/core").ServiceDescriptor<import("@aalis/api-hooks").HookRegistry, import("@aalis/api-hooks").Hooks>;
47
+ /** 停用时结算等待中的意图确认 */
48
+ lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
45
49
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
46
50
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
47
51
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2C,KAAK,cAAc,EAAW,MAAM,oBAAoB,CAAC;AA4C3G,+CAA+C;AAC/C,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAY1F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAKnB,CAAC;;IA8BT;;;;OAIG;;;;;;;;;;;;;;AAgBL,wBAQG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,cAAc,EAAW,MAAM,oBAAoB,CAAC;AA8CrF,+CAA+C;AAC/C,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAY1F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAKnB,CAAC;;IA8BT;;;;OAIG;;;;;;IAMH,uBAAuB;;;;;IAKvB,oBAAoB;;;;;;;AAStB,wBAQG"}