@zhin.js/core 1.3.0 → 1.3.2
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/README.md +60 -5
- package/lib/adapter.d.ts +19 -1
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +39 -5
- package/lib/adapter.js.map +1 -1
- package/lib/agent-prompt.d.ts +6 -2
- package/lib/agent-prompt.d.ts.map +1 -1
- package/lib/built/adapter-process.d.ts +11 -1
- package/lib/built/adapter-process.d.ts.map +1 -1
- package/lib/built/adapter-process.js +43 -1
- package/lib/built/adapter-process.js.map +1 -1
- package/lib/built/ai-trigger.d.ts +0 -2
- package/lib/built/ai-trigger.d.ts.map +1 -1
- package/lib/built/ai-trigger.js +0 -14
- package/lib/built/ai-trigger.js.map +1 -1
- package/lib/built/command.d.ts +2 -0
- package/lib/built/command.d.ts.map +1 -1
- package/lib/built/command.js +13 -1
- package/lib/built/command.js.map +1 -1
- package/lib/built/endpoint-commands.d.ts +4 -0
- package/lib/built/endpoint-commands.d.ts.map +1 -0
- package/lib/built/endpoint-commands.js +102 -0
- package/lib/built/endpoint-commands.js.map +1 -0
- package/lib/built/endpoint-lifecycle-service.d.ts +27 -0
- package/lib/built/endpoint-lifecycle-service.d.ts.map +1 -0
- package/lib/built/endpoint-lifecycle-service.js +219 -0
- package/lib/built/endpoint-lifecycle-service.js.map +1 -0
- package/lib/built/endpoint-manager.d.ts +35 -0
- package/lib/built/endpoint-manager.d.ts.map +1 -0
- package/lib/built/endpoint-manager.js +2 -0
- package/lib/built/endpoint-manager.js.map +1 -0
- package/lib/built/generated-qrcode.d.ts +25 -0
- package/lib/built/generated-qrcode.d.ts.map +1 -0
- package/lib/built/generated-qrcode.js +46 -0
- package/lib/built/generated-qrcode.js.map +1 -0
- package/lib/built/html-renderer-loader.d.ts +12 -0
- package/lib/built/html-renderer-loader.d.ts.map +1 -0
- package/lib/built/html-renderer-loader.js +29 -0
- package/lib/built/html-renderer-loader.js.map +1 -0
- package/lib/built/html-segment-fallback.d.ts +2 -1
- package/lib/built/html-segment-fallback.d.ts.map +1 -1
- package/lib/built/html-segment-fallback.js.map +1 -1
- package/lib/built/introspection-format.d.ts +11 -0
- package/lib/built/introspection-format.d.ts.map +1 -0
- package/lib/built/introspection-format.js +28 -0
- package/lib/built/introspection-format.js.map +1 -0
- package/lib/built/login-assist.d.ts +1 -1
- package/lib/built/login-assist.d.ts.map +1 -1
- package/lib/built/management-command-guard.d.ts +11 -0
- package/lib/built/management-command-guard.d.ts.map +1 -0
- package/lib/built/management-command-guard.js +21 -0
- package/lib/built/management-command-guard.js.map +1 -0
- package/lib/built/message-enrich.d.ts.map +1 -1
- package/lib/built/message-enrich.js +5 -7
- package/lib/built/message-enrich.js.map +1 -1
- package/lib/built/outbound-media-contract.d.ts +23 -0
- package/lib/built/outbound-media-contract.d.ts.map +1 -0
- package/lib/built/outbound-media-contract.js +11 -0
- package/lib/built/outbound-media-contract.js.map +1 -0
- package/lib/built/outbound-media-utils.d.ts +10 -0
- package/lib/built/outbound-media-utils.d.ts.map +1 -0
- package/lib/built/outbound-media-utils.js +63 -0
- package/lib/built/outbound-media-utils.js.map +1 -0
- package/lib/built/qrcode-segment.d.ts +19 -0
- package/lib/built/qrcode-segment.d.ts.map +1 -0
- package/lib/built/qrcode-segment.js +79 -0
- package/lib/built/qrcode-segment.js.map +1 -0
- package/lib/built/rich-segments/adapter-policies.d.ts +10 -0
- package/lib/built/rich-segments/adapter-policies.d.ts.map +1 -0
- package/lib/built/rich-segments/adapter-policies.js +28 -0
- package/lib/built/rich-segments/adapter-policies.js.map +1 -0
- package/lib/built/rich-segments/base.d.ts +12 -0
- package/lib/built/rich-segments/base.d.ts.map +1 -0
- package/lib/built/rich-segments/base.js +25 -0
- package/lib/built/rich-segments/base.js.map +1 -0
- package/lib/built/rich-segments/builtins.d.ts +5 -0
- package/lib/built/rich-segments/builtins.d.ts.map +1 -0
- package/lib/built/rich-segments/builtins.js +41 -0
- package/lib/built/rich-segments/builtins.js.map +1 -0
- package/lib/built/rich-segments/capabilities.d.ts +7 -0
- package/lib/built/rich-segments/capabilities.d.ts.map +1 -0
- package/lib/built/rich-segments/capabilities.js +40 -0
- package/lib/built/rich-segments/capabilities.js.map +1 -0
- package/lib/built/rich-segments/html-segment.d.ts +16 -0
- package/lib/built/rich-segments/html-segment.d.ts.map +1 -0
- package/lib/built/rich-segments/html-segment.js +66 -0
- package/lib/built/rich-segments/html-segment.js.map +1 -0
- package/lib/built/rich-segments/index.d.ts +14 -0
- package/lib/built/rich-segments/index.d.ts.map +1 -0
- package/lib/built/rich-segments/index.js +14 -0
- package/lib/built/rich-segments/index.js.map +1 -0
- package/lib/built/rich-segments/markdown-segment.d.ts +15 -0
- package/lib/built/rich-segments/markdown-segment.d.ts.map +1 -0
- package/lib/built/rich-segments/markdown-segment.js +62 -0
- package/lib/built/rich-segments/markdown-segment.js.map +1 -0
- package/lib/built/rich-segments/markdown-to-text.d.ts +4 -0
- package/lib/built/rich-segments/markdown-to-text.d.ts.map +1 -0
- package/lib/built/rich-segments/markdown-to-text.js +28 -0
- package/lib/built/rich-segments/markdown-to-text.js.map +1 -0
- package/lib/built/rich-segments/qrcode-segment.d.ts +19 -0
- package/lib/built/rich-segments/qrcode-segment.d.ts.map +1 -0
- package/lib/built/rich-segments/qrcode-segment.js +74 -0
- package/lib/built/rich-segments/qrcode-segment.js.map +1 -0
- package/lib/built/rich-segments/registry.d.ts +17 -0
- package/lib/built/rich-segments/registry.d.ts.map +1 -0
- package/lib/built/rich-segments/registry.js +53 -0
- package/lib/built/rich-segments/registry.js.map +1 -0
- package/lib/built/rich-segments/resolve.d.ts +6 -0
- package/lib/built/rich-segments/resolve.d.ts.map +1 -0
- package/lib/built/rich-segments/resolve.js +88 -0
- package/lib/built/rich-segments/resolve.js.map +1 -0
- package/lib/built/rich-segments/tts-segment.d.ts +14 -0
- package/lib/built/rich-segments/tts-segment.d.ts.map +1 -0
- package/lib/built/rich-segments/tts-segment.js +52 -0
- package/lib/built/rich-segments/tts-segment.js.map +1 -0
- package/lib/built/rich-segments/types.d.ts +85 -0
- package/lib/built/rich-segments/types.d.ts.map +1 -0
- package/lib/built/rich-segments/types.js +18 -0
- package/lib/built/rich-segments/types.js.map +1 -0
- package/lib/built/schema-endpoint-manager.d.ts +18 -0
- package/lib/built/schema-endpoint-manager.d.ts.map +1 -0
- package/lib/built/schema-endpoint-manager.js +74 -0
- package/lib/built/schema-endpoint-manager.js.map +1 -0
- package/lib/built/speech-loader.d.ts +13 -0
- package/lib/built/speech-loader.d.ts.map +1 -0
- package/lib/built/speech-loader.js +28 -0
- package/lib/built/speech-loader.js.map +1 -0
- package/lib/host-plugin-registry.d.ts +8 -0
- package/lib/host-plugin-registry.d.ts.map +1 -0
- package/lib/host-plugin-registry.js +8 -0
- package/lib/host-plugin-registry.js.map +1 -0
- package/lib/im-session-id.d.ts +26 -0
- package/lib/im-session-id.d.ts.map +1 -0
- package/lib/im-session-id.js +29 -0
- package/lib/im-session-id.js.map +1 -0
- package/lib/index.d.ts +36 -21
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +37 -28
- package/lib/index.js.map +1 -1
- package/lib/message.d.ts +8 -0
- package/lib/message.d.ts.map +1 -1
- package/lib/message.js.map +1 -1
- package/lib/plugin-context.d.ts +12 -1
- package/lib/plugin-context.d.ts.map +1 -1
- package/lib/plugin-context.js +12 -1
- package/lib/plugin-context.js.map +1 -1
- package/lib/plugin.d.ts +1 -0
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +8 -16
- package/lib/plugin.js.map +1 -1
- package/lib/prompt.js +1 -1
- package/lib/prompt.js.map +1 -1
- package/lib/types.d.ts +0 -10
- package/lib/types.d.ts.map +1 -1
- package/lib/utils.d.ts +21 -11
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +29 -2
- package/lib/utils.js.map +1 -1
- package/package.json +18 -7
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ onMounted(() => console.log('插件已挂载'))
|
|
|
19
19
|
onDispose(() => console.log('插件已卸载'))
|
|
20
20
|
|
|
21
21
|
addCommand(
|
|
22
|
-
new MessageCommand('hello <name:
|
|
22
|
+
new MessageCommand('hello <name:word>')
|
|
23
23
|
.desc('打招呼')
|
|
24
24
|
.action((_, result) => `Hello, ${result.params.name}!`)
|
|
25
25
|
)
|
|
@@ -90,11 +90,56 @@ return segment.html({
|
|
|
90
90
|
backgroundColor: '#d8dce3',
|
|
91
91
|
fileName: 'card.png',
|
|
92
92
|
})
|
|
93
|
+
|
|
94
|
+
// Markdown 段(QQ 等平台 policy 为 origin 时透传)
|
|
95
|
+
return segment.markdown('# Title\n\nBody')
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
出站富媒体段(`qrcode` / `html` / `markdown`)在 **`Adapter.renderSendMessage` 首步** 按各 Adapter 的 **`outboundRichSegmentPolicy`** 统一渲染为 `image` / `text` / `origin`:
|
|
99
|
+
|
|
100
|
+
| 渲染模式 | 含义 |
|
|
101
|
+
|---------|------|
|
|
102
|
+
| `image` | 转为 `image` 段(qrcode 生成 PNG;html/markdown 经 `@zhin.js/html-renderer` 动态转图,未安装则降级 text) |
|
|
103
|
+
| `text` | 剥离为纯文本段 |
|
|
104
|
+
| `origin` | 原样透传,由 Endpoint 解释(如 QQ markdown、process 终端二维码) |
|
|
105
|
+
|
|
106
|
+
默认策略:`qrcode: image`,`html: text`,`markdown: text`。QQ / KOOK 等适配器 override static policy。
|
|
107
|
+
|
|
108
|
+
- 安装 **`@zhin.js/html-renderer`** 且 policy 为 `html: 'image'` 时,core 在首步动态 import 并转 PNG。
|
|
109
|
+
- policy 为 `html: 'text'` 时等价于 **`coerceHtmlSegmentsToText`** / **`htmlToFallbackText`**。
|
|
110
|
+
- 日志预览:`[html-card]`、`[qrcode]`、`[markdown]` + 摘要(前 80 字)。
|
|
111
|
+
|
|
112
|
+
#### 扩展新 Rich Segment(长期方案)
|
|
113
|
+
|
|
114
|
+
内置 kind 通过 **`richSegmentRegistry`** 注册;optional 能力通过 **`registerRichSegmentCapabilityLoader`** 注入(与 `@zhin.js/html-renderer` 同模式)。
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
import {
|
|
118
|
+
RichSegment,
|
|
119
|
+
registerRichSegmentKind,
|
|
120
|
+
registerRichSegmentCapabilityLoader,
|
|
121
|
+
RICH_SEGMENT_MODE,
|
|
122
|
+
segment,
|
|
123
|
+
} from '@zhin.js/core';
|
|
124
|
+
|
|
125
|
+
// 1. 内置 capability:speech(@zhin.js/speech)已注册,tts kind 已内置
|
|
126
|
+
// 可选:注册 ffmpeg 等
|
|
127
|
+
registerRichSegmentCapabilityLoader('media-pipeline', async (opts) => {
|
|
128
|
+
const { createMediaPipeline } = await import('@zhin.js/media-pipeline');
|
|
129
|
+
return createMediaPipeline(opts.getConfig?.());
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// 2. 使用内置 segment.tts(Adapter policy 决定 audio/text/origin)
|
|
133
|
+
// segment.tts({ text: '你好' })
|
|
134
|
+
class MyAdapter extends Adapter {
|
|
135
|
+
static override outboundRichSegmentPolicy = {
|
|
136
|
+
tts: 'audio',
|
|
137
|
+
qrcode: 'image', // 其余 kind 用 registry 默认值
|
|
138
|
+
};
|
|
139
|
+
}
|
|
93
140
|
```
|
|
94
141
|
|
|
95
|
-
|
|
96
|
-
- 未安装或转图失败时,`Adapter.renderSendMessage` 链尾调用 **`coerceHtmlSegmentsToText`**,用 **`htmlToFallbackText`** 剥离纯文本。
|
|
97
|
-
- 日志预览为 `[html-card]` + 自动剥离摘要(前 80 字),不 dump 完整 HTML。
|
|
142
|
+
**分工**:Rich Segment 负责「语义段 → 标准 IM 段」;Endpoint `materializeOutboundMedia` 负责「已有 audio/video/file → 平台上传」。
|
|
98
143
|
|
|
99
144
|
### Adapter(适配器)
|
|
100
145
|
|
|
@@ -175,7 +220,17 @@ export { createMessageDispatcher } from './built/dispatcher.js'
|
|
|
175
220
|
// 适配器与消息
|
|
176
221
|
export { Adapter, Message, MessageCommand, Endpoint, segment, ... } from './'
|
|
177
222
|
|
|
178
|
-
//
|
|
223
|
+
// 富媒体出站段
|
|
224
|
+
export {
|
|
225
|
+
resolveRichSegments,
|
|
226
|
+
DEFAULT_OUTBOUND_RICH_SEGMENT_POLICY,
|
|
227
|
+
QrcodeSegment,
|
|
228
|
+
HtmlSegment,
|
|
229
|
+
MarkdownSegment,
|
|
230
|
+
} from './built/rich-segments/index.js'
|
|
231
|
+
export type { RichSegmentKind, RichRenderMode, OutboundRichSegmentPolicy } from './built/rich-segments/types.js'
|
|
232
|
+
|
|
233
|
+
// HTML 出站回退(legacy;policy html:'text' 时等价)
|
|
179
234
|
export { htmlToFallbackText, coerceHtmlSegmentsToText, registerHtmlSegmentFallback } from './built/*.js'
|
|
180
235
|
|
|
181
236
|
// AI 原语(来自 @zhin.js/ai,非 ZhinAgent)
|
package/lib/adapter.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { Endpoint } from "./endpoint.js";
|
|
2
2
|
import { DEFAULT_ENDPOINT_CAPABILITIES, type EndpointCapability } from "./endpoint-capabilities.js";
|
|
3
|
+
import type { EndpointManager } from "./built/endpoint-manager.js";
|
|
3
4
|
import { Plugin } from "./plugin.js";
|
|
4
5
|
import { EventEmitter } from "node:events";
|
|
5
6
|
import { Message } from "./message.js";
|
|
6
7
|
import { Notice } from "./notice.js";
|
|
7
8
|
import { Request } from "./request.js";
|
|
8
9
|
import { SendOptions } from "./types.js";
|
|
10
|
+
import { type OutboundRichSegmentPolicy } from "./built/rich-segments/index.js";
|
|
11
|
+
import type { Schema } from '@zhin.js/schema';
|
|
9
12
|
/**
|
|
10
13
|
* Adapter类:适配器抽象,管理多平台Bot实例。
|
|
11
14
|
* 负责根据配置启动/关闭各平台机器人,统一异常处理。
|
|
@@ -21,6 +24,8 @@ export declare abstract class Adapter<R extends Endpoint = Endpoint, const Caps
|
|
|
21
24
|
private recallMessageHandler;
|
|
22
25
|
/** Adapter 支持的能力上限(子类覆盖) */
|
|
23
26
|
static readonly capabilities: readonly EndpointCapability[];
|
|
27
|
+
/** 出站富媒体段渲染策略(子类 override static) */
|
|
28
|
+
static outboundRichSegmentPolicy: OutboundRichSegmentPolicy;
|
|
24
29
|
/** 并发上限,0 表示不限制(默认) */
|
|
25
30
|
static DEFAULT_MAX_CONCURRENT_MESSAGES: number;
|
|
26
31
|
get maxConcurrentMessages(): number;
|
|
@@ -42,6 +47,12 @@ export declare abstract class Adapter<R extends Endpoint = Endpoint, const Caps
|
|
|
42
47
|
abstract createEndpoint(config: Adapter.EndpointConfig<R>): R;
|
|
43
48
|
get logger(): import("@zhin.js/logger").Logger;
|
|
44
49
|
binding(plugin: Plugin): void;
|
|
50
|
+
/** 运行时 Endpoint 管理(add/remove/edit/start/stop);未实现则 core 尝试 endpointConfigSchema 通用向导 */
|
|
51
|
+
getEndpointManager?(): EndpointManager | null;
|
|
52
|
+
/** 通用 schema 驱动 add/edit 时的字段定义 */
|
|
53
|
+
getEndpointConfigSchema?(): Schema | undefined;
|
|
54
|
+
/** 热连接失败时是否建议重启进程 */
|
|
55
|
+
getEndpointNeedsRestart?(): boolean;
|
|
45
56
|
/**
|
|
46
57
|
* 出站富媒体能力(Publisher 按此过滤/降级;各 adapter 可覆盖)。
|
|
47
58
|
*/
|
|
@@ -52,7 +63,14 @@ export declare abstract class Adapter<R extends Endpoint = Endpoint, const Caps
|
|
|
52
63
|
file?: boolean;
|
|
53
64
|
maxAttachmentBytes?: number;
|
|
54
65
|
};
|
|
55
|
-
|
|
66
|
+
protected getOutboundRichSegmentPolicy(): OutboundRichSegmentPolicy;
|
|
67
|
+
/**
|
|
68
|
+
* 出站两阶段:
|
|
69
|
+
* 1. resolveRichSegments — 语义段 → 标准 IM 段(image/audio/text)
|
|
70
|
+
* 2. Endpoint materializeOutboundMedia — base64/本地路径 → 平台 URL(各 adapter 可选)
|
|
71
|
+
* @see docs/essentials/rich-segment-adapters.md
|
|
72
|
+
*/
|
|
73
|
+
protected renderSendMessage(options: SendOptions): Promise<SendOptions>;
|
|
56
74
|
sendMessage(options: SendOptions): Promise<string>;
|
|
57
75
|
start(): Promise<void>;
|
|
58
76
|
/**
|
package/lib/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAEL,6BAA6B,EAE7B,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/adapter.js
CHANGED
|
@@ -2,10 +2,12 @@ import { assertOutbound, DEFAULT_ENDPOINT_CAPABILITIES, hasInbound, } from "./en
|
|
|
2
2
|
import { connectEndpointInstance, disconnectEndpointInstance } from "./built/connect-endpoint-instance.js";
|
|
3
3
|
import { EventEmitter } from "node:events";
|
|
4
4
|
import { getOutboundReplyStore } from "./built/dispatcher.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DEFAULT_OUTBOUND_RICH_SEGMENT_POLICY, resolveRichSegments, } from "./built/rich-segments/index.js";
|
|
6
|
+
import { createRichSegmentRenderContext } from "./built/rich-segments/capabilities.js";
|
|
7
|
+
import { collectOutboundMediaKinds } from "./built/outbound-media-utils.js";
|
|
6
8
|
import { segment } from "./utils.js";
|
|
7
9
|
import { InboundMessagePipeline } from "./built/inbound-pipeline.js";
|
|
8
|
-
import { formatCompact, truncatePreview } from '@zhin.js/logger';
|
|
10
|
+
import { formatCompact, truncatePreview, formatContentChainLog, CONTENT_CHAIN_STAGE } from '@zhin.js/logger';
|
|
9
11
|
/**
|
|
10
12
|
* Adapter类:适配器抽象,管理多平台Bot实例。
|
|
11
13
|
* 负责根据配置启动/关闭各平台机器人,统一异常处理。
|
|
@@ -20,6 +22,8 @@ export class Adapter extends EventEmitter {
|
|
|
20
22
|
recallMessageHandler;
|
|
21
23
|
/** Adapter 支持的能力上限(子类覆盖) */
|
|
22
24
|
static capabilities = DEFAULT_ENDPOINT_CAPABILITIES;
|
|
25
|
+
/** 出站富媒体段渲染策略(子类 override static) */
|
|
26
|
+
static outboundRichSegmentPolicy = DEFAULT_OUTBOUND_RICH_SEGMENT_POLICY;
|
|
23
27
|
/** 入站消息并发计数 */
|
|
24
28
|
#pendingMessages = 0;
|
|
25
29
|
/** 并发上限,0 表示不限制(默认) */
|
|
@@ -112,16 +116,46 @@ export class Adapter extends EventEmitter {
|
|
|
112
116
|
maxAttachmentBytes: 26_214_400,
|
|
113
117
|
};
|
|
114
118
|
}
|
|
119
|
+
getOutboundRichSegmentPolicy() {
|
|
120
|
+
return this.constructor.outboundRichSegmentPolicy;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* 出站两阶段:
|
|
124
|
+
* 1. resolveRichSegments — 语义段 → 标准 IM 段(image/audio/text)
|
|
125
|
+
* 2. Endpoint materializeOutboundMedia — base64/本地路径 → 平台 URL(各 adapter 可选)
|
|
126
|
+
* @see docs/essentials/rich-segment-adapters.md
|
|
127
|
+
*/
|
|
115
128
|
async renderSendMessage(options) {
|
|
129
|
+
if (options.content != null) {
|
|
130
|
+
options = {
|
|
131
|
+
...options,
|
|
132
|
+
content: await resolveRichSegments(options.content, this.getOutboundRichSegmentPolicy(), createRichSegmentRenderContext({
|
|
133
|
+
getConfig: () => {
|
|
134
|
+
const cfg = this.plugin.root.inject('config')?.getPrimary();
|
|
135
|
+
return cfg;
|
|
136
|
+
},
|
|
137
|
+
warn: (msg) => this.logger.warn(msg),
|
|
138
|
+
logContentChain: (fields) => {
|
|
139
|
+
this.logger.debug(formatContentChainLog({ ...fields, adapter: this.name }));
|
|
140
|
+
},
|
|
141
|
+
})),
|
|
142
|
+
};
|
|
143
|
+
const mediaKinds = collectOutboundMediaKinds(options.content);
|
|
144
|
+
if (mediaKinds.length > 0) {
|
|
145
|
+
this.logger.debug(formatContentChainLog({
|
|
146
|
+
stage: CONTENT_CHAIN_STAGE.OUTBOUND,
|
|
147
|
+
adapter: this.name,
|
|
148
|
+
endpoint: options.endpoint,
|
|
149
|
+
media: mediaKinds.join(','),
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
116
153
|
const fns = this.plugin.root.listeners('before.sendMessage');
|
|
117
154
|
for (const fn of fns) {
|
|
118
155
|
const result = await fn(options);
|
|
119
156
|
if (result)
|
|
120
157
|
options = result;
|
|
121
158
|
}
|
|
122
|
-
if (options.content != null) {
|
|
123
|
-
options = { ...options, content: coerceHtmlSegmentsToText(options.content) };
|
|
124
|
-
}
|
|
125
159
|
return options;
|
|
126
160
|
}
|
|
127
161
|
async sendMessage(options) {
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,6BAA6B,EAC7B,UAAU,GAEX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/agent-prompt.d.ts
CHANGED
|
@@ -3,9 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implementations live in adapter plugins; resolution runs in @zhin.js/agent.
|
|
5
5
|
*/
|
|
6
|
-
import type { AgentTool } from '@zhin.js/ai';
|
|
7
6
|
import type { Message } from './message.js';
|
|
8
7
|
export type AgentPromptSlot = 'orchestrator' | 'deferred_worker';
|
|
8
|
+
/** Minimal tool shape for deferred catalog selection (no @zhin.js/ai import). */
|
|
9
|
+
export interface DeferredToolCatalogItem {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
}
|
|
9
13
|
export interface AgentPromptBuildContext {
|
|
10
14
|
slot: AgentPromptSlot;
|
|
11
15
|
/** 当前 turn 的 Message 通讯上下文 */
|
|
@@ -32,6 +36,6 @@ export interface AgentPromptContributor {
|
|
|
32
36
|
/** When true, platform may supply selectDeferredTools for this task. */
|
|
33
37
|
matchesDeferredTask?(ctx: AgentPromptBuildContext): boolean;
|
|
34
38
|
/** Non-null replaces default TF-IDF deferred tool selection. */
|
|
35
|
-
selectDeferredTools?(query: string, goal: string, catalog:
|
|
39
|
+
selectDeferredTools?(query: string, goal: string, catalog: DeferredToolCatalogItem[], maxTools: number): DeferredToolCatalogItem[] | null;
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=agent-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,iBAAiB,CAAC;AAEtB,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,8BAA8B;IAC9B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC;IAElF,wEAAwE;IACxE,mBAAmB,CAAC,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAE5D,gEAAgE;IAChE,mBAAmB,CAAC,CAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,EAAE,EAClC,QAAQ,EAAE,MAAM,GACf,uBAAuB,EAAE,GAAG,IAAI,CAAC;CACrC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { Adapter
|
|
1
|
+
import { Adapter } from "../adapter.js";
|
|
2
|
+
import { Plugin } from "../plugin.js";
|
|
3
|
+
import { Endpoint } from "../endpoint.js";
|
|
4
|
+
import { Message } from "../message.js";
|
|
5
|
+
import type { SendOptions } from "../types.js";
|
|
6
|
+
import type { OutboundRichSegmentPolicy } from "./rich-segments/types.js";
|
|
2
7
|
export declare class ProcessEndpoint implements Endpoint<{
|
|
3
8
|
owner?: string;
|
|
4
9
|
}, {
|
|
@@ -33,7 +38,12 @@ export declare class ProcessEndpoint implements Endpoint<{
|
|
|
33
38
|
}
|
|
34
39
|
export declare class ProcessAdapter extends Adapter<ProcessEndpoint> {
|
|
35
40
|
static readonly capabilities: readonly ["inbound", "outbound"];
|
|
41
|
+
static outboundRichSegmentPolicy: OutboundRichSegmentPolicy;
|
|
36
42
|
constructor(plugin: Plugin);
|
|
43
|
+
/**
|
|
44
|
+
* process 出站由 $sendMessage 写入 stdout;父类 INFO preview 会与终端输出重复,故仅 debug 元数据。
|
|
45
|
+
*/
|
|
46
|
+
sendMessage(options: SendOptions): Promise<string>;
|
|
37
47
|
createEndpoint(config: Adapter.EndpointConfig<ProcessEndpoint>): ProcessEndpoint;
|
|
38
48
|
}
|
|
39
49
|
declare module '../adapter.js' {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-process.d.ts","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter-process.d.ts","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAoB,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,aAAa,CAAC;AAM5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,qBAAa,eAAgB,YAAW,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAA,EAAE,EAAC,MAAM,CAAA;CAAC,CAAC;;IAOxE,OAAO,EAAE,cAAc;IAAS,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAN9E,GAAG,SAAgB;IACnB,IAAI,MAAM,qCAET;IACD,UAAU,UAAO;gBAEE,OAAO,EAAE,cAAc,EAAS,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAA0B;IAGtG,YAAY,CAAC,KAAK,EAAE,MAAM;IAMpB,OAAO;IAEP,UAAU;IAEhB,cAAc,CAAC,KAAK,EAAE;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,EAAE,EAAC,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,EAAE,EAAC,MAAM,CAAA;KAAC,CAAC;IAgChF,cAAc,CAAC,EAAE,EAAE,MAAM;IAEzB,YAAY,CAAC,OAAO,EAAE,WAAW;IAUjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW;CAIpB;AACD,qBAAa,cAAe,SAAQ,OAAO,CAAC,eAAe,CAAC;IACxD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,EAAE,yBAAyB,CAIlE;gBAEU,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACY,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBjE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,eAAe;CAGnF;AACD,OAAO,QAAQ,eAAe,CAAA;IAC1B,UAAU,QAAQ;QACd,OAAO,EAAC,cAAc,CAAA;KACzB;CACJ"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { formatCompact } from "@zhin.js/logger";
|
|
2
|
+
import { Adapter } from "../adapter.js";
|
|
3
|
+
import { Message } from "../message.js";
|
|
4
|
+
import { segment } from "../utils.js";
|
|
5
|
+
import { assertOutbound } from "../endpoint-capabilities.js";
|
|
6
|
+
import { getOutboundReplyStore } from "./dispatcher.js";
|
|
2
7
|
import { bindStdin, runtimePid, runtimeUser } from "./runtime-io.js";
|
|
8
|
+
import { interpretOriginQrcodeForProcess } from "./rich-segments/qrcode-segment.js";
|
|
3
9
|
export class ProcessEndpoint {
|
|
4
10
|
adapter;
|
|
5
11
|
$config;
|
|
@@ -59,6 +65,13 @@ export class ProcessEndpoint {
|
|
|
59
65
|
async $recallMessage(id) {
|
|
60
66
|
}
|
|
61
67
|
async $sendMessage(options) {
|
|
68
|
+
const content = await interpretOriginQrcodeForProcess(options.content ?? '');
|
|
69
|
+
if (content != null) {
|
|
70
|
+
const preview = segment.raw(content);
|
|
71
|
+
if (preview) {
|
|
72
|
+
process.stdout.write(`${preview}\n`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
62
75
|
return `${Date.now()}`;
|
|
63
76
|
}
|
|
64
77
|
async $connect() {
|
|
@@ -72,9 +85,38 @@ export class ProcessEndpoint {
|
|
|
72
85
|
}
|
|
73
86
|
export class ProcessAdapter extends Adapter {
|
|
74
87
|
static capabilities = ['inbound', 'outbound'];
|
|
88
|
+
static outboundRichSegmentPolicy = {
|
|
89
|
+
qrcode: 'origin',
|
|
90
|
+
html: 'text',
|
|
91
|
+
markdown: 'text',
|
|
92
|
+
};
|
|
75
93
|
constructor(plugin) {
|
|
76
94
|
super(plugin, 'process', [{ owner: runtimePid() }]);
|
|
77
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* process 出站由 $sendMessage 写入 stdout;父类 INFO preview 会与终端输出重复,故仅 debug 元数据。
|
|
98
|
+
*/
|
|
99
|
+
async sendMessage(options) {
|
|
100
|
+
options = await this.renderSendMessage(options);
|
|
101
|
+
const endpoint = this.endpoints.get(options.endpoint);
|
|
102
|
+
if (!endpoint)
|
|
103
|
+
throw new Error(`Endpoint ${options.endpoint} not found`);
|
|
104
|
+
assertOutbound(endpoint);
|
|
105
|
+
this.logger.debug(formatCompact({
|
|
106
|
+
send: `${options.type}(${options.id})`,
|
|
107
|
+
endpoint: options.endpoint,
|
|
108
|
+
}));
|
|
109
|
+
const messageId = await endpoint.$sendMessage(options);
|
|
110
|
+
const replyStore = getOutboundReplyStore();
|
|
111
|
+
this.plugin.root.dispatch('message.send', {
|
|
112
|
+
adapter: this.name,
|
|
113
|
+
options,
|
|
114
|
+
messageId,
|
|
115
|
+
replySource: replyStore?.source,
|
|
116
|
+
replyMessage: replyStore?.message,
|
|
117
|
+
});
|
|
118
|
+
return messageId;
|
|
119
|
+
}
|
|
78
120
|
createEndpoint(config) {
|
|
79
121
|
return new ProcessEndpoint(this, config);
|
|
80
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-process.js","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter-process.js","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,8 +89,6 @@ export interface EndpointConfigRoles {
|
|
|
89
89
|
* 解析发送者角色集合(IM 群角色 + trigger + endpoints[].$config)
|
|
90
90
|
*/
|
|
91
91
|
export declare function resolveSenderRoles<T extends object>(message: Message<T>, config: AITriggerConfig, endpointConfig?: EndpointConfigRoles | Record<string, unknown> | null): SenderRolesResult;
|
|
92
|
-
/** 从 IM 消息生成 sessionId(platform:endpointId:type:sceneId) */
|
|
93
|
-
export declare function resolveIMSessionIdFromMessage<T extends object>(message: Message<T>): string;
|
|
94
92
|
/**
|
|
95
93
|
* 检查消息是否应该触发 AI
|
|
96
94
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-trigger.d.ts","sourceRoot":"","sources":["../../src/built/ai-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAEV,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAMD,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,eAAe,CAa/D,CAAC;AA0CF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,EAAE,CAMV;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAaT;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAEhF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAavE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,cAAc,EAAE,CAalB;AAUD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACpE,iBAAiB,CA8BnB;AAED
|
|
1
|
+
{"version":3,"file":"ai-trigger.d.ts","sourceRoot":"","sources":["../../src/built/ai-trigger.ts"],"names":[],"mappings":"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"}
|
package/lib/built/ai-trigger.js
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
* 4. 关键词触发 - 非群/频道场景下匹配关键词时触发
|
|
10
10
|
*/
|
|
11
11
|
import { segment } from "../utils.js";
|
|
12
|
-
import { resolveIMSessionId, } from '@zhin.js/ai';
|
|
13
12
|
import { normalizeSenderRoles, } from './roles.js';
|
|
14
13
|
// ============================================================================
|
|
15
14
|
// 默认配置
|
|
@@ -177,19 +176,6 @@ export function resolveSenderRoles(message, config, endpointConfig) {
|
|
|
177
176
|
roles: normalizeSenderRoles(roles),
|
|
178
177
|
};
|
|
179
178
|
}
|
|
180
|
-
/** 从 IM 消息生成 sessionId(platform:endpointId:type:sceneId) */
|
|
181
|
-
export function resolveIMSessionIdFromMessage(message) {
|
|
182
|
-
const scope = (message.$channel?.type || 'private');
|
|
183
|
-
const sceneId = scope === 'private'
|
|
184
|
-
? String(message.$sender.id)
|
|
185
|
-
: String(message.$channel?.id || message.$sender.id);
|
|
186
|
-
return resolveIMSessionId({
|
|
187
|
-
platform: message.$adapter,
|
|
188
|
-
endpointId: message.$endpoint,
|
|
189
|
-
scope,
|
|
190
|
-
sceneId,
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
179
|
/**
|
|
194
180
|
* 检查消息是否应该触发 AI
|
|
195
181
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-trigger.js","sourceRoot":"","sources":["../../src/built/ai-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-trigger.js","sourceRoot":"","sources":["../../src/built/ai-trigger.ts"],"names":[],"mappings":"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"}
|
package/lib/built/command.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
import { Feature, FeatureJSON } from "@zhin.js/kernel";
|
|
6
6
|
/** 命令 pattern 的首个词(用于前缀排序) */
|
|
7
7
|
export declare function commandLeadingToken(pattern: string): string;
|
|
8
|
+
/** 命令匹配优先级:首词越长越优先;同首词则完整 pattern 越长越优先 */
|
|
9
|
+
export declare function compareCommandPatterns(a: string, b: string): number;
|
|
8
10
|
import { MessageCommand } from "../command.js";
|
|
9
11
|
import { Message } from "../message.js";
|
|
10
12
|
import { Plugin } from "../plugin.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/built/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvD,8BAA8B;AAC9B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AACD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW;IACX,UAAU,CAAC,CAAC,SAAS,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;CACjF;AAGD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,MAAM,CAAC;QACf,UAAU,UAAW,SAAQ,wBAAwB;SAAG;QACxD,UAAU,QAAQ;YAChB,OAAO,EAAE,cAAc,CAAC;SACzB;KACF;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,kBAAQ;IAErB,mBAAmB;IACnB,QAAQ,CAAC,MAAM,yCAAwD;IAEvE;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAK/E;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,OAAO;IAK3D;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAInE;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/F;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW;IAgBxC;;OAEG;IACH,IAAI,UAAU;mBAGC,CAAC,SAAS,iBAAiB,WAAW,cAAc,CAAC,CAAC,CAAC,SAlEK,IAAI;MA0E9E;CACF"}
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/built/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvD,8BAA8B;AAC9B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CASnE;AACD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW;IACX,UAAU,CAAC,CAAC,SAAS,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;CACjF;AAGD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,MAAM,CAAC;QACf,UAAU,UAAW,SAAQ,wBAAwB;SAAG;QACxD,UAAU,QAAQ;YAChB,OAAO,EAAE,cAAc,CAAC;SACzB;KACF;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,kBAAQ;IAErB,mBAAmB;IACnB,QAAQ,CAAC,MAAM,yCAAwD;IAEvE;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAK/E;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,OAAO;IAK3D;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAInE;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/F;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW;IAgBxC;;OAEG;IACH,IAAI,UAAU;mBAGC,CAAC,SAAS,iBAAiB,WAAW,cAAc,CAAC,CAAC,CAAC,SAlEK,IAAI;MA0E9E;CACF"}
|
package/lib/built/command.js
CHANGED
|
@@ -7,6 +7,18 @@ import { Feature } from "@zhin.js/kernel";
|
|
|
7
7
|
export function commandLeadingToken(pattern) {
|
|
8
8
|
return pattern.split(/\s/)[0] ?? "";
|
|
9
9
|
}
|
|
10
|
+
/** 命令匹配优先级:首词越长越优先;同首词则完整 pattern 越长越优先 */
|
|
11
|
+
export function compareCommandPatterns(a, b) {
|
|
12
|
+
const leadDiff = commandLeadingToken(b).length - commandLeadingToken(a).length;
|
|
13
|
+
if (leadDiff !== 0)
|
|
14
|
+
return leadDiff;
|
|
15
|
+
const lenDiff = b.length - a.length;
|
|
16
|
+
if (lenDiff !== 0)
|
|
17
|
+
return lenDiff;
|
|
18
|
+
const tokA = a.trim().split(/\s+/).length;
|
|
19
|
+
const tokB = b.trim().split(/\s+/).length;
|
|
20
|
+
return tokB - tokA;
|
|
21
|
+
}
|
|
10
22
|
import { getPlugin } from "../plugin.js";
|
|
11
23
|
/**
|
|
12
24
|
* 命令服务 Feature
|
|
@@ -41,7 +53,7 @@ export class CommandFeature extends Feature {
|
|
|
41
53
|
* 处理消息,依次尝试匹配命令(较长前缀优先,避免 `teach` 抢 `teach-list`)
|
|
42
54
|
*/
|
|
43
55
|
async handle(message, plugin) {
|
|
44
|
-
const commands = [...this.items].sort((a, b) =>
|
|
56
|
+
const commands = [...this.items].sort((a, b) => compareCommandPatterns(a.pattern, b.pattern));
|
|
45
57
|
for (const command of commands) {
|
|
46
58
|
const result = await command.handle(message, plugin);
|
|
47
59
|
if (result)
|
package/lib/built/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/built/command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEvD,8BAA8B;AAC9B,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAGD,OAAO,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AAqBjD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,OAA0C;IACnE,IAAI,GAAG,SAAkB,CAAC;IAC1B,IAAI,GAAG,UAAU,CAAC;IAClB,IAAI,GAAG,IAAI,CAAC;IAErB,mBAAmB;IACV,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEvE;;OAEG;IACH,GAAG,CAAC,OAA0C,EAAE,UAAkB;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAA0C;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAmD,EAAE,MAAc;QAC9E,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/built/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-commands.d.ts","sourceRoot":"","sources":["../../src/built/endpoint-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAqB3C,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,GAC7B,MAAM,IAAI,CA0FZ"}
|