@zhin.js/core 1.2.0 → 1.3.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.
Files changed (143) hide show
  1. package/README.md +9 -9
  2. package/lib/adapter.d.ts +20 -18
  3. package/lib/adapter.d.ts.map +1 -1
  4. package/lib/adapter.js +64 -60
  5. package/lib/adapter.js.map +1 -1
  6. package/lib/agent-prompt.d.ts +3 -3
  7. package/lib/agent-prompt.d.ts.map +1 -1
  8. package/lib/built/adapter-process.d.ts +5 -4
  9. package/lib/built/adapter-process.d.ts.map +1 -1
  10. package/lib/built/adapter-process.js +6 -5
  11. package/lib/built/adapter-process.js.map +1 -1
  12. package/lib/built/agent-preset.d.ts +1 -1
  13. package/lib/built/agent-preset.d.ts.map +1 -1
  14. package/lib/built/agent-preset.js +1 -1
  15. package/lib/built/agent-preset.js.map +1 -1
  16. package/lib/built/ai-trigger.d.ts +13 -13
  17. package/lib/built/ai-trigger.d.ts.map +1 -1
  18. package/lib/built/ai-trigger.js +37 -49
  19. package/lib/built/ai-trigger.js.map +1 -1
  20. package/lib/built/authorization.d.ts +11 -0
  21. package/lib/built/authorization.d.ts.map +1 -0
  22. package/lib/built/authorization.js +53 -0
  23. package/lib/built/authorization.js.map +1 -0
  24. package/lib/built/common-adapter-tools.d.ts +21 -14
  25. package/lib/built/common-adapter-tools.d.ts.map +1 -1
  26. package/lib/built/common-adapter-tools.js +58 -41
  27. package/lib/built/common-adapter-tools.js.map +1 -1
  28. package/lib/built/connect-endpoint-instance.d.ts +18 -0
  29. package/lib/built/connect-endpoint-instance.d.ts.map +1 -0
  30. package/lib/built/connect-endpoint-instance.js +41 -0
  31. package/lib/built/connect-endpoint-instance.js.map +1 -0
  32. package/lib/built/database.d.ts +4 -0
  33. package/lib/built/database.d.ts.map +1 -1
  34. package/lib/built/database.js +8 -0
  35. package/lib/built/database.js.map +1 -1
  36. package/lib/built/dispatcher.d.ts.map +1 -1
  37. package/lib/built/dispatcher.js +3 -0
  38. package/lib/built/dispatcher.js.map +1 -1
  39. package/lib/built/endpoint-lifecycle.d.ts +28 -0
  40. package/lib/built/endpoint-lifecycle.d.ts.map +1 -0
  41. package/lib/built/endpoint-lifecycle.js +36 -0
  42. package/lib/built/endpoint-lifecycle.js.map +1 -0
  43. package/lib/built/inbound-pipeline.d.ts +38 -0
  44. package/lib/built/inbound-pipeline.d.ts.map +1 -0
  45. package/lib/built/inbound-pipeline.js +65 -0
  46. package/lib/built/inbound-pipeline.js.map +1 -0
  47. package/lib/built/login-assist.d.ts +4 -4
  48. package/lib/built/login-assist.d.ts.map +1 -1
  49. package/lib/built/login-assist.js +5 -5
  50. package/lib/built/login-assist.js.map +1 -1
  51. package/lib/built/message-enrich.d.ts +40 -0
  52. package/lib/built/message-enrich.d.ts.map +1 -0
  53. package/lib/built/message-enrich.js +84 -0
  54. package/lib/built/message-enrich.js.map +1 -0
  55. package/lib/built/message-filter.d.ts +4 -4
  56. package/lib/built/message-filter.d.ts.map +1 -1
  57. package/lib/built/message-filter.js +4 -4
  58. package/lib/built/message-filter.js.map +1 -1
  59. package/lib/built/permission.d.ts +3 -2
  60. package/lib/built/permission.d.ts.map +1 -1
  61. package/lib/built/permission.js +38 -45
  62. package/lib/built/permission.js.map +1 -1
  63. package/lib/built/permit-check.d.ts +8 -0
  64. package/lib/built/permit-check.d.ts.map +1 -0
  65. package/lib/built/permit-check.js +36 -0
  66. package/lib/built/permit-check.js.map +1 -0
  67. package/lib/built/permit-parse.d.ts +17 -0
  68. package/lib/built/permit-parse.d.ts.map +1 -0
  69. package/lib/built/permit-parse.js +33 -0
  70. package/lib/built/permit-parse.js.map +1 -0
  71. package/lib/built/platform-permit.d.ts +21 -0
  72. package/lib/built/platform-permit.d.ts.map +1 -0
  73. package/lib/built/platform-permit.js +67 -0
  74. package/lib/built/platform-permit.js.map +1 -0
  75. package/lib/built/prepend-quote-context.d.ts +2 -2
  76. package/lib/built/prepend-quote-context.d.ts.map +1 -1
  77. package/lib/built/prepend-quote-context.js +11 -11
  78. package/lib/built/prepend-quote-context.js.map +1 -1
  79. package/lib/built/queue-im-field-contract.d.ts +1 -1
  80. package/lib/built/queue-im-field-contract.d.ts.map +1 -1
  81. package/lib/built/queue-im-field-contract.js +3 -3
  82. package/lib/built/queue-im-field-contract.js.map +1 -1
  83. package/lib/built/roles.d.ts +4 -4
  84. package/lib/built/roles.d.ts.map +1 -1
  85. package/lib/built/roles.js +4 -4
  86. package/lib/built/roles.js.map +1 -1
  87. package/lib/built/tool.d.ts +12 -12
  88. package/lib/built/tool.d.ts.map +1 -1
  89. package/lib/built/tool.js +38 -22
  90. package/lib/built/tool.js.map +1 -1
  91. package/lib/command.d.ts.map +1 -1
  92. package/lib/command.js +11 -2
  93. package/lib/command.js.map +1 -1
  94. package/lib/component.js +1 -1
  95. package/lib/component.js.map +1 -1
  96. package/lib/endpoint-capabilities.d.ts +45 -0
  97. package/lib/endpoint-capabilities.d.ts.map +1 -0
  98. package/lib/endpoint-capabilities.js +56 -0
  99. package/lib/endpoint-capabilities.js.map +1 -0
  100. package/lib/endpoint.d.ts +15 -0
  101. package/lib/endpoint.d.ts.map +1 -0
  102. package/lib/endpoint.js +2 -0
  103. package/lib/endpoint.js.map +1 -0
  104. package/lib/errors.d.ts +2 -2
  105. package/lib/errors.d.ts.map +1 -1
  106. package/lib/errors.js +4 -4
  107. package/lib/errors.js.map +1 -1
  108. package/lib/index.d.ts +12 -3
  109. package/lib/index.d.ts.map +1 -1
  110. package/lib/index.js +9 -3
  111. package/lib/index.js.map +1 -1
  112. package/lib/message.d.ts +3 -3
  113. package/lib/message.d.ts.map +1 -1
  114. package/lib/notice.d.ts +4 -3
  115. package/lib/notice.d.ts.map +1 -1
  116. package/lib/notice.js.map +1 -1
  117. package/lib/plugin-context.d.ts +19 -0
  118. package/lib/plugin-context.d.ts.map +1 -0
  119. package/lib/plugin-context.js +51 -0
  120. package/lib/plugin-context.js.map +1 -0
  121. package/lib/plugin.d.ts +7 -10
  122. package/lib/plugin.d.ts.map +1 -1
  123. package/lib/plugin.js +27 -50
  124. package/lib/plugin.js.map +1 -1
  125. package/lib/prompt.d.ts.map +1 -1
  126. package/lib/prompt.js +8 -4
  127. package/lib/prompt.js.map +1 -1
  128. package/lib/request.d.ts +3 -3
  129. package/lib/request.d.ts.map +1 -1
  130. package/lib/tool-zod.d.ts +3 -2
  131. package/lib/tool-zod.d.ts.map +1 -1
  132. package/lib/tool-zod.js +3 -3
  133. package/lib/tool-zod.js.map +1 -1
  134. package/lib/types.d.ts +19 -59
  135. package/lib/types.d.ts.map +1 -1
  136. package/lib/utils.d.ts.map +1 -1
  137. package/lib/utils.js +2 -1
  138. package/lib/utils.js.map +1 -1
  139. package/package.json +6 -6
  140. package/lib/bot.d.ts +0 -38
  141. package/lib/bot.d.ts.map +0 -1
  142. package/lib/bot.js +0 -2
  143. package/lib/bot.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @zhin.js/core
2
2
 
3
- Zhin.js IM 核心框架包,提供插件系统、Feature 架构、适配器、消息路由与出站发送链。**AI 编排(ZhinAgent、工具安全、MCP)在 [`@zhin.js/agent`](../agent/README.md)**;本包仅 selective re-export `@zhin.js/ai` 的 Provider / Agent 原语供插件直接使用。
3
+ Zhin.js **IM/多通道运行时**包:Plugin、Adapter、**Endpoint**、MessageDispatcher 与统一出站链。**AI 编排(ZhinAgent、工具安全、MCP)在 [`@zhin.js/agent`](../agent/README.md)**;本包仅 selective re-export `@zhin.js/ai` 的 Provider / Agent 原语供插件直接使用。
4
4
 
5
5
  领域词汇见 [CONTEXT.md](./CONTEXT.md);入站/出站流程见 [消息如何流转](../../docs/essentials/message-flow.md)。
6
6
 
@@ -110,15 +110,15 @@ Adapter.register('my-platform', MyAdapter)
110
110
  **群管理能力自动检测:** 适配器基类声明了 `IGroupManagement` 接口中的可选方法(`kickMember`、`muteMember`、`banMember` 等),子类只需覆写自己平台支持的方法,`start()` 会自动检测哪些方法已实现,生成对应的 Tool 并注册为"群聊管理"Skill。目前所有 9 个 IM 适配器(ICQQ、OneBot11、QQ 官方、Telegram、Discord、KOOK、Slack、钉钉、飞书)均已采用此模式:
111
111
 
112
112
  ```typescript
113
- class IcqqAdapter extends Adapter<IcqqBot> {
113
+ class IcqqAdapter extends Adapter<IcqqEndpoint> {
114
114
  // 覆写标准群管方法
115
- async kickMember(botId: string, sceneId: string, userId: string) {
116
- const bot = this.bots.get(botId)
117
- if (!bot) throw new Error(`Bot ${botId} 不存在`)
118
- return bot.kickMember(Number(sceneId), Number(userId), false)
115
+ async kickMember(endpointId: string, sceneId: string, userId: string) {
116
+ const endpoint = this.endpoints.get(endpointId)
117
+ if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`)
118
+ return endpoint.kickMember(Number(sceneId), Number(userId), false)
119
119
  }
120
- async muteMember(botId: string, sceneId: string, userId: string, duration = 600) { /* ... */ }
121
- async setAdmin(botId: string, sceneId: string, userId: string, enable = true) { /* ... */ }
120
+ async muteMember(endpointId: string, sceneId: string, userId: string, duration = 600) { /* ... */ }
121
+ async setAdmin(endpointId: string, sceneId: string, userId: string, enable = true) { /* ... */ }
122
122
  // ...共覆写 7 个标准方法
123
123
 
124
124
  async start() {
@@ -173,7 +173,7 @@ export { CommandFeature, ToolFeature, SkillFeature, CronFeature, DatabaseFeature
173
173
  export { createMessageDispatcher } from './built/dispatcher.js'
174
174
 
175
175
  // 适配器与消息
176
- export { Adapter, Message, MessageCommand, Bot, segment, ... } from './'
176
+ export { Adapter, Message, MessageCommand, Endpoint, segment, ... } from './'
177
177
 
178
178
  // HTML 出站回退
179
179
  export { htmlToFallbackText, coerceHtmlSegmentsToText, registerHtmlSegmentFallback } from './built/*.js'
package/lib/adapter.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Bot } from "./bot.js";
1
+ import { Endpoint } from "./endpoint.js";
2
+ import { DEFAULT_ENDPOINT_CAPABILITIES, type EndpointCapability } from "./endpoint-capabilities.js";
2
3
  import { Plugin } from "./plugin.js";
3
4
  import { EventEmitter } from "node:events";
4
5
  import { Message } from "./message.js";
@@ -11,13 +12,15 @@ import { SendOptions } from "./types.js";
11
12
  *
12
13
  * 适配器可以提供 AI 工具,供 AI 服务调用。
13
14
  */
14
- export declare abstract class Adapter<R extends Bot = Bot> extends EventEmitter<Adapter.Lifecycle> {
15
+ export declare abstract class Adapter<R extends Endpoint = Endpoint, const Caps extends readonly EndpointCapability[] = typeof DEFAULT_ENDPOINT_CAPABILITIES> extends EventEmitter<Adapter.Lifecycle> {
15
16
  #private;
16
17
  plugin: Plugin;
17
18
  name: keyof Plugin.Contexts;
18
- config: Adapter.BotConfig<R>[];
19
- bots: Map<string, R>;
19
+ config: Adapter.EndpointConfig<R>[];
20
+ endpoints: Map<string, R>;
20
21
  private recallMessageHandler;
22
+ /** Adapter 支持的能力上限(子类覆盖) */
23
+ static readonly capabilities: readonly EndpointCapability[];
21
24
  /** 并发上限,0 表示不限制(默认) */
22
25
  static DEFAULT_MAX_CONCURRENT_MESSAGES: number;
23
26
  get maxConcurrentMessages(): number;
@@ -26,17 +29,17 @@ export declare abstract class Adapter<R extends Bot = Bot> extends EventEmitter<
26
29
  /**
27
30
  * 构造函数
28
31
  * @param name 适配器名称(如 'process'、'qq' 等)
29
- * @param botFactory Bot工厂函数或构造器
32
+ * @param endpointFactory Bot工厂函数或构造器
30
33
  */
31
- constructor(plugin: Plugin, name: keyof Plugin.Contexts, config: Adapter.BotConfig<R>[]);
34
+ constructor(plugin: Plugin, name: keyof Plugin.Contexts, config: Adapter.EndpointConfig<R>[]);
35
+ /** 入站消息管线(替代 emit override 的隐式管线) */
36
+ private inboundPipeline;
32
37
  /**
33
- * 重写 emit:拦截 message.receive 事件,按架构规定的入站流程处理
34
- * 入站消息链:adapter.emit → dispatcher.dispatch → plugin.dispatch('message.receive') → adapter observers
35
- *
36
- * 以属性 + `EventEmitter.prototype.emit` 调用满足 Node @types 25 对泛型 `emit` 的可赋值检查。
38
+ * 重写 emit:拦截 message.receive/notice.receive/request.receive 事件,
39
+ * 将入站处理委托给 InboundMessagePipeline。
37
40
  */
38
41
  emit: EventEmitter<Adapter.Lifecycle>['emit'];
39
- abstract createBot(config: Adapter.BotConfig<R>): R;
42
+ abstract createEndpoint(config: Adapter.EndpointConfig<R>): R;
40
43
  get logger(): import("@zhin.js/logger").Logger;
41
44
  binding(plugin: Plugin): void;
42
45
  /**
@@ -53,8 +56,7 @@ export declare abstract class Adapter<R extends Bot = Bot> extends EventEmitter<
53
56
  sendMessage(options: SendOptions): Promise<string>;
54
57
  start(): Promise<void>;
55
58
  /**
56
- * 停止适配器,断开并移除所有Bot实例
57
- * @param plugin 所属插件实例
59
+ * 停止适配器,断开并移除所有 Endpoint 实例
58
60
  */
59
61
  stop(): Promise<void>;
60
62
  }
@@ -62,7 +64,7 @@ export interface Adapters {
62
64
  }
63
65
  export declare namespace Adapter {
64
66
  type Factory<R extends Adapter = Adapter> = {
65
- new (plugin: Plugin, name: string, config: Adapter.BotConfig<Adapter.InferBot<R>>[]): R;
67
+ new (plugin: Plugin, name: string, config: Adapter.EndpointConfig<Adapter.InferEndpoint<R>>[]): R;
66
68
  };
67
69
  interface Lifecycle {
68
70
  'message.receive': [Message];
@@ -77,10 +79,10 @@ export declare namespace Adapter {
77
79
  * 适配器工厂注册表
78
80
  * 灵感来源于 zhinjs/next 的 Adapter.Registry
79
81
  */
80
- const Registry: Map<string, Factory<Adapter<Bot<{}, {}>>>>;
81
- type InferBot<R extends Adapter = Adapter> = R extends Adapter<infer T> ? T : never;
82
- type BotConfig<T extends Bot> = T extends Bot<infer R> ? R : never;
83
- type BotMessage<T extends Bot> = T extends Bot<infer _L, infer R> ? R : never;
82
+ const Registry: Map<string, Factory<Adapter<Endpoint, readonly EndpointCapability[]>>>;
83
+ type InferEndpoint<R extends Adapter = Adapter> = R extends Adapter<infer T> ? T : never;
84
+ type EndpointConfig<T extends Endpoint> = T extends Endpoint<infer R> ? R : never;
85
+ type EndpointMessage<T extends Endpoint> = T extends Endpoint<infer _L, infer R> ? R : never;
84
86
  /**
85
87
  * 注册适配器工厂
86
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
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;AAO5D;;;;;GAKG;AACH,8BAAsB,OAAO,CAC3B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,KAAK,CAAC,IAAI,SAAS,SAAS,kBAAkB,EAAE,GAAG,OAAO,6BAA6B,CACvF,SAAQ,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;;IAiC9B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM,MAAM,CAAC,QAAQ;IAC3B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;IAlCrC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAwB;IACxD,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,4BAA4B;IAC5B,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,kBAAkB,EAAE,CAAiC;IAI5F,uBAAuB;IACvB,MAAM,CAAC,+BAA+B,SAAK;IAE3C,IAAI,qBAAqB,IAAI,MAAM,CAQlC;IAED,iBAAiB;IACjB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;gBAEM,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,MAAM,CAAC,QAAQ,EAC3B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;IAoB5C,qCAAqC;IACrC,OAAO,CAAC,eAAe,CAA0B;IAEjD;;;OAGG;IACM,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CA+BR;IAC9C,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,IAAI,MAAM,qCAGT;IACD,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB;;OAEG;IACH,4BAA4B,IAAI;QAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;YAUa,iBAAiB;IAWzB,WAAW,CAAC,OAAO,EAAC,WAAW,GAAE,OAAO,CAAC,MAAM,CAAC;IAqBhD,KAAK;IAqBX;;OAEG;IACG,IAAI;CAuCX;AACD,MAAM,WAAW,QAAQ;CAAG;AAC5B,yBAAiB,OAAO,CAAC;IACvB,KAAY,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI;QACjD,KACA,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAC1D,CAAC,CAAA;KACF,CAAC;IACF,UAAiB,SAAS;QACxB,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7B,yBAAyB,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,yBAAyB,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3B,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC;IACD;;;OAGG;IACI,MAAM,QAAQ,wEAA6B,CAAC;IACnD,KAAY,aAAa,CAAC,CAAC,SAAS,OAAO,GAAC,OAAO,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC7E,CAAC,GACD,KAAK,CAAC;IACV,KAAY,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzF,KAAY,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GACnF,CAAC,GACD,KAAK,CAAC;IACV;;;;;;;;;OASG;IACH,SAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,QAEtD;CACF"}
package/lib/adapter.js CHANGED
@@ -1,8 +1,10 @@
1
+ import { assertOutbound, DEFAULT_ENDPOINT_CAPABILITIES, hasInbound, } from "./endpoint-capabilities.js";
2
+ import { connectEndpointInstance, disconnectEndpointInstance } from "./built/connect-endpoint-instance.js";
1
3
  import { EventEmitter } from "node:events";
2
4
  import { getOutboundReplyStore } from "./built/dispatcher.js";
3
5
  import { coerceHtmlSegmentsToText } from "./built/html-segment-fallback.js";
4
6
  import { segment } from "./utils.js";
5
- import { runInboundMessage } from "./built/inbound-runner.js";
7
+ import { InboundMessagePipeline } from "./built/inbound-pipeline.js";
6
8
  import { formatCompact, truncatePreview } from '@zhin.js/logger';
7
9
  /**
8
10
  * Adapter类:适配器抽象,管理多平台Bot实例。
@@ -14,8 +16,10 @@ export class Adapter extends EventEmitter {
14
16
  plugin;
15
17
  name;
16
18
  config;
17
- bots = new Map();
19
+ endpoints = new Map();
18
20
  recallMessageHandler;
21
+ /** Adapter 支持的能力上限(子类覆盖) */
22
+ static capabilities = DEFAULT_ENDPOINT_CAPABILITIES;
19
23
  /** 入站消息并发计数 */
20
24
  #pendingMessages = 0;
21
25
  /** 并发上限,0 表示不限制(默认) */
@@ -37,60 +41,54 @@ export class Adapter extends EventEmitter {
37
41
  /**
38
42
  * 构造函数
39
43
  * @param name 适配器名称(如 'process'、'qq' 等)
40
- * @param botFactory Bot工厂函数或构造器
44
+ * @param endpointFactory Bot工厂函数或构造器
41
45
  */
42
46
  constructor(plugin, name, config) {
43
47
  super();
44
48
  this.plugin = plugin;
45
49
  this.name = name;
46
50
  this.config = config;
47
- this.recallMessageHandler = async (bot_id, id) => {
48
- const bot = this.bots.get(bot_id);
49
- if (!bot)
50
- throw new Error(`Bot ${bot_id} not found`);
51
- this.logger.debug(formatCompact({ recall: id, bot: bot_id }));
52
- await bot.$recallMessage(id);
51
+ this.recallMessageHandler = async (endpoint_id, id) => {
52
+ const endpoint = this.endpoints.get(endpoint_id);
53
+ if (!endpoint)
54
+ throw new Error(`Endpoint ${endpoint_id} not found`);
55
+ assertOutbound(endpoint);
56
+ this.logger.debug(formatCompact({ recall: id, endpoint: endpoint_id }));
57
+ await endpoint.$recallMessage(id);
53
58
  };
54
59
  this.on('call.recallMessage', this.recallMessageHandler);
60
+ this.inboundPipeline = new InboundMessagePipeline({
61
+ getPlugin: () => this.plugin,
62
+ logger: this.logger,
63
+ getMaxConcurrentMessages: () => this.maxConcurrentMessages,
64
+ getPendingMessages: () => this.#pendingMessages,
65
+ decrementPending: () => { this.#pendingMessages--; },
66
+ });
55
67
  }
68
+ /** 入站消息管线(替代 emit override 的隐式管线) */
69
+ inboundPipeline;
56
70
  /**
57
- * 重写 emit:拦截 message.receive 事件,按架构规定的入站流程处理
58
- * 入站消息链:adapter.emit → dispatcher.dispatch → plugin.dispatch('message.receive') → adapter observers
59
- *
60
- * 以属性 + `EventEmitter.prototype.emit` 调用满足 Node @types 25 对泛型 `emit` 的可赋值检查。
71
+ * 重写 emit:拦截 message.receive/notice.receive/request.receive 事件,
72
+ * 将入站处理委托给 InboundMessagePipeline。
61
73
  */
62
74
  emit = ((event, ...args) => {
75
+ if (event === 'notice.receive' || event === 'request.receive') {
76
+ return this.inboundPipeline.bridgeNoticeOrRequest(event, args, () => EventEmitter.prototype.emit.call(this, event, ...args));
77
+ }
63
78
  if (event !== 'message.receive') {
64
79
  return EventEmitter.prototype.emit.call(this, event, ...args);
65
80
  }
66
81
  const message = args[0];
67
- this.logger.info(formatCompact({
68
- recv: `${message.$channel.type}(${message.$channel.id})`,
69
- bot: message.$bot,
70
- preview: truncatePreview(segment.raw(message.$content)),
71
- ...(message.$quote_id ? { quote_id: message.$quote_id } : {}),
72
- }));
73
- // 背压控制:limit > 0 时启用,超出并发上限丢弃消息并告警
74
- const limit = this.maxConcurrentMessages;
75
- if (limit > 0 && this.#pendingMessages >= limit) {
76
- this.logger.warn(formatCompact({ drop: 'concurrency', limit }));
82
+ // 背压控制:同步返回 false 表示丢弃
83
+ if (this.inboundPipeline.shouldDropDueToBackpressure()) {
84
+ this.logger.warn(formatCompact({ drop: 'concurrency', limit: this.maxConcurrentMessages }));
77
85
  return false;
78
86
  }
87
+ // 同步计数,保证背压判断的准确性
79
88
  this.#pendingMessages++;
80
- // 异步执行入站消息处理链
81
- const processing = async () => {
82
- await runInboundMessage({
83
- plugin: this.plugin,
84
- message,
85
- emitAdapterObservers: () => {
86
- EventEmitter.prototype.emit.call(this, event, ...args);
87
- },
88
- });
89
- };
90
- processing().catch((e) => {
91
- this.logger.warn(`message.receive handling error: ${e instanceof Error ? e.message : String(e)}`);
92
- }).finally(() => {
93
- this.#pendingMessages--;
89
+ // 异步入站管线(middleware → dispatcher → 生命周期 → 观察者)
90
+ this.inboundPipeline.receive(message, () => {
91
+ EventEmitter.prototype.emit.call(this, event, ...args);
94
92
  });
95
93
  return true;
96
94
  });
@@ -128,15 +126,16 @@ export class Adapter extends EventEmitter {
128
126
  }
129
127
  async sendMessage(options) {
130
128
  options = await this.renderSendMessage(options);
131
- const bot = this.bots.get(options.bot);
132
- if (!bot)
133
- throw new Error(`Bot ${options.bot} not found`);
129
+ const endpoint = this.endpoints.get(options.endpoint);
130
+ if (!endpoint)
131
+ throw new Error(`Endpoint ${options.endpoint} not found`);
132
+ assertOutbound(endpoint);
134
133
  this.logger.info(formatCompact({
135
134
  send: `${options.type}(${options.id})`,
136
- bot: options.bot,
135
+ endpoint: options.endpoint,
137
136
  preview: truncatePreview(segment.raw(options.content)),
138
137
  }));
139
- const messageId = await bot.$sendMessage(options);
138
+ const messageId = await endpoint.$sendMessage(options);
140
139
  const replyStore = getOutboundReplyStore();
141
140
  this.plugin.root.dispatch('message.send', {
142
141
  adapter: this.name,
@@ -148,7 +147,7 @@ export class Adapter extends EventEmitter {
148
147
  return messageId;
149
148
  }
150
149
  async start() {
151
- if (this.bots.size > 0) {
150
+ if (this.endpoints.size > 0) {
152
151
  await this.stop();
153
152
  }
154
153
  const rootAdapters = this.plugin.root.adapters;
@@ -158,31 +157,35 @@ export class Adapter extends EventEmitter {
158
157
  if (!this.config?.length)
159
158
  return;
160
159
  for (const config of this.config) {
161
- const bot = this.createBot(config);
162
- await bot.$connect();
163
- this.logger.debug(formatCompact({ connect: bot.$id, adapter: this.name }));
164
- this.bots.set(bot.$id, bot);
160
+ const endpoint = await connectEndpointInstance({
161
+ plugin: this.plugin,
162
+ adapter: this,
163
+ config: config,
164
+ });
165
+ this.logger.debug(formatCompact({ connect: endpoint.$id, adapter: this.name }));
166
+ this.endpoints.set(endpoint.$id, endpoint);
165
167
  }
166
168
  this.logger.debug(formatCompact({ adapter: this.name }));
167
169
  }
168
170
  /**
169
- * 停止适配器,断开并移除所有Bot实例
170
- * @param plugin 所属插件实例
171
+ * 停止适配器,断开并移除所有 Endpoint 实例
171
172
  */
172
173
  async stop() {
173
174
  const errors = [];
174
- for (const [id, bot] of this.bots) {
175
+ for (const [id, endpoint] of this.endpoints) {
175
176
  try {
176
- await bot.$disconnect();
177
+ if (hasInbound(endpoint)) {
178
+ await disconnectEndpointInstance(this.plugin, this, endpoint);
179
+ }
177
180
  this.logger.debug(formatCompact({ disconnect: id, adapter: this.name }));
178
181
  }
179
182
  catch (error) {
180
183
  errors.push(error instanceof Error ? error : new Error(String(error)));
181
- this.logger.error(`bot ${id} of adapter ${this.name} disconnect failed:`, error);
184
+ this.logger.error(`endpoint ${id} of adapter ${this.name} disconnect failed:`, error);
182
185
  }
183
186
  }
184
187
  // 无论是否有错误,始终完成清理
185
- this.bots.clear();
188
+ this.endpoints.clear();
186
189
  // 从 adapters 数组中移除(可能因重复 start 出现多条同名,需全部删掉)
187
190
  const rootAdapters = this.plugin.root.adapters;
188
191
  for (let i = rootAdapters.length - 1; i >= 0; i--) {
@@ -191,17 +194,18 @@ export class Adapter extends EventEmitter {
191
194
  }
192
195
  // 移除所有事件监听器
193
196
  this.removeAllListeners();
194
- this.recallMessageHandler = async (bot_id, id) => {
195
- const bot = this.bots.get(bot_id);
196
- if (!bot)
197
- throw new Error(`Bot ${bot_id} not found`);
198
- this.logger.debug(formatCompact({ recall: id, bot: bot_id }));
199
- await bot.$recallMessage(id);
197
+ this.recallMessageHandler = async (endpoint_id, id) => {
198
+ const endpoint = this.endpoints.get(endpoint_id);
199
+ if (!endpoint)
200
+ throw new Error(`Endpoint ${endpoint_id} not found`);
201
+ assertOutbound(endpoint);
202
+ this.logger.debug(formatCompact({ recall: id, endpoint: endpoint_id }));
203
+ await endpoint.$recallMessage(id);
200
204
  };
201
205
  this.on('call.recallMessage', this.recallMessageHandler);
202
206
  this.logger.debug(formatCompact({ stop: this.name }));
203
207
  if (errors.length) {
204
- throw new AggregateError(errors, `adapter ${this.name}: ${errors.length} bot(s) failed to disconnect`);
208
+ throw new AggregateError(errors, `adapter ${this.name}: ${errors.length} endpoint(s) failed to disconnect`);
205
209
  }
206
210
  }
207
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@
4
4
  * Implementations live in adapter plugins; resolution runs in @zhin.js/agent.
5
5
  */
6
6
  import type { AgentTool } from '@zhin.js/ai';
7
- import type { ToolContext } from './types.js';
7
+ import type { Message } from './message.js';
8
8
  export type AgentPromptSlot = 'orchestrator' | 'deferred_worker';
9
9
  export interface AgentPromptBuildContext {
10
10
  slot: AgentPromptSlot;
11
- /** platform / botId / scope(场景类型)/ sceneId(群号或私聊对端 ID)/ senderId / roles */
12
- toolContext: ToolContext;
11
+ /** 当前 turn Message 通讯上下文 */
12
+ commMessage: Message<any>;
13
13
  /** Truncated user message for intent hints (~500 chars). */
14
14
  userMessagePreview?: string;
15
15
  deferred?: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,8EAA8E;IAC9E,WAAW,EAAE,WAAW,CAAC;IACzB,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,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,GAAG,IAAI,CAAC;CACvB"}
1
+ {"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,iBAAiB,CAAC;AAEtB,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,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,GAAG,IAAI,CAAC;CACvB"}
@@ -1,5 +1,5 @@
1
- import { Adapter, Plugin, Bot, SendOptions, Message } from "@zhin.js/core";
2
- export declare class ProcessBot implements Bot<{
1
+ import { Adapter, Plugin, Endpoint, SendOptions, Message } from "@zhin.js/core";
2
+ export declare class ProcessEndpoint implements Endpoint<{
3
3
  owner?: string;
4
4
  }, {
5
5
  content: string;
@@ -31,9 +31,10 @@ export declare class ProcessBot implements Bot<{
31
31
  $connect(): Promise<void>;
32
32
  $disconnect(): Promise<void>;
33
33
  }
34
- export declare class ProcessAdapter extends Adapter<ProcessBot> {
34
+ export declare class ProcessAdapter extends Adapter<ProcessEndpoint> {
35
+ static readonly capabilities: readonly ["inbound", "outbound"];
35
36
  constructor(plugin: Plugin);
36
- createBot(config: Adapter.BotConfig<ProcessBot>): ProcessBot;
37
+ createEndpoint(config: Adapter.EndpointConfig<ProcessEndpoint>): ProcessEndpoint;
37
38
  }
38
39
  declare module '../adapter.js' {
39
40
  interface Adapters {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-process.d.ts","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAe,WAAW,EAAe,OAAO,EAAW,MAAM,eAAe,CAAC;AAG9G,qBAAa,UAAW,YAAW,GAAG,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAA,EAAE,EAAC,MAAM,CAAA;CAAC,CAAC;;IAO9D,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;IAGjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW;CAIpB;AACD,qBAAa,cAAe,SAAQ,OAAO,CAAC,UAAU,CAAC;gBACvC,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU;CAG/D;AACD,OAAO,QAAQ,eAAe,CAAA;IAC1B,UAAU,QAAQ;QACd,OAAO,EAAC,cAAc,CAAA;KACzB;CACJ"}
1
+ {"version":3,"file":"adapter-process.d.ts","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAe,WAAW,EAAe,OAAO,EAAW,MAAM,eAAe,CAAC;AAGnH,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;IAGjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW;CAIpB;AACD,qBAAa,cAAe,SAAQ,OAAO,CAAC,eAAe,CAAC;IACxD,gBAAyB,YAAY,mCAAoC;gBAE7D,MAAM,EAAE,MAAM;IAI1B,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,6 +1,6 @@
1
1
  import { Adapter, Message } from "@zhin.js/core";
2
2
  import { bindStdin, runtimePid, runtimeUser } from "./runtime-io.js";
3
- export class ProcessBot {
3
+ export class ProcessEndpoint {
4
4
  adapter;
5
5
  $config;
6
6
  $id = runtimePid();
@@ -28,7 +28,7 @@ export class ProcessBot {
28
28
  const base = {
29
29
  $id: `${event.ts}`,
30
30
  $adapter: 'process',
31
- $bot: runtimePid(),
31
+ $endpoint: runtimePid(),
32
32
  $sender: {
33
33
  id: runtimeUser(),
34
34
  name: runtimeUser(),
@@ -47,7 +47,7 @@ export class ProcessBot {
47
47
  $reply: async (content) => {
48
48
  return await this.adapter.sendMessage({
49
49
  context: 'process',
50
- bot: base.$bot,
50
+ endpoint: base.$endpoint,
51
51
  content,
52
52
  id: base.$sender.id,
53
53
  type: base.$channel.type,
@@ -71,11 +71,12 @@ export class ProcessBot {
71
71
  }
72
72
  }
73
73
  export class ProcessAdapter extends Adapter {
74
+ static capabilities = ['inbound', 'outbound'];
74
75
  constructor(plugin) {
75
76
  super(plugin, 'process', [{ owner: runtimePid() }]);
76
77
  }
77
- createBot(config) {
78
- return new ProcessBot(this, config);
78
+ createEndpoint(config) {
79
+ return new ProcessEndpoint(this, config);
79
80
  }
80
81
  }
81
82
  //# sourceMappingURL=adapter-process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-process.js","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-process.js","sourceRoot":"","sources":["../../src/built/adapter-process.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ declare module '../plugin.js' {
48
48
  export declare class AgentPresetFeature extends Feature<AgentPreset> {
49
49
  #private;
50
50
  readonly name: "agentPreset";
51
- readonly icon = "Bot";
51
+ readonly icon = "Endpoint";
52
52
  readonly desc = "Agent \u9884\u8BBE";
53
53
  readonly byName: Map<string, AgentPreset>;
54
54
  add(preset: AgentPreset, pluginName: string): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../src/built/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMxC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc;IACd,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,WAAW,EAAE,kBAAkB,CAAC;SACjC;KACF;CACF;AAED,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,WAAW,CAAC;;IAC1D,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,IAAI,wBAAc;IAE3B,QAAQ,CAAC,MAAM,2BAAkC;IAEjD,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAKxD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAKzD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,uCAAuC;IACvC,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,WAAW,EAAE;IAIvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,EAAE;IAwBvE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW;CAiBzC"}
1
+ {"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../src/built/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMxC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc;IACd,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,WAAW,EAAE,kBAAkB,CAAC;SACjC;KACF;CACF;AAED,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,WAAW,CAAC;;IAC1D,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,wBAAc;IAE3B,QAAQ,CAAC,MAAM,2BAAkC;IAEjD,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAKxD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAKzD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,uCAAuC;IACvC,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,WAAW,EAAE;IAIvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,EAAE;IAwBvE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW;CAiBzC"}
@@ -12,7 +12,7 @@
12
12
  import { Feature } from '@zhin.js/kernel';
13
13
  export class AgentPresetFeature extends Feature {
14
14
  name = 'agentPreset';
15
- icon = 'Bot';
15
+ icon = 'Endpoint';
16
16
  desc = 'Agent 预设';
17
17
  byName = new Map();
18
18
  add(preset, pluginName) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-preset.js","sourceRoot":"","sources":["../../src/built/agent-preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-preset.js","sourceRoot":"","sources":["../../src/built/agent-preset.ts"],"names":[],"mappings":"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"}
@@ -49,8 +49,8 @@ export interface AITriggerResult {
49
49
  }
50
50
  /** shouldTriggerAI 可选参数(如适配器提供的平台 @ ID) */
51
51
  export interface AITriggerOptions {
52
- /** 用于 @ 匹配的 bot 标识符(默认仅 message.$bot) */
53
- botAtIds?: string[];
52
+ /** 用于 @ 匹配的 Endpoint 标识符(默认仅 message.$endpoint) */
53
+ endpointAtIds?: string[];
54
54
  }
55
55
  /** 发送者角色解析结果 */
56
56
  export interface SenderRolesResult {
@@ -59,13 +59,13 @@ export interface SenderRolesResult {
59
59
  }
60
60
  export declare const DEFAULT_AI_TRIGGER_CONFIG: Required<AITriggerConfig>;
61
61
  /**
62
- * 收集用于 @ 匹配的 bot 标识符
62
+ * 收集用于 @ 匹配的 Endpoint 标识符
63
63
  */
64
- export declare function collectBotAtIds<T extends object>(message: Message<T>, extraIds?: string[]): string[];
64
+ export declare function collectEndpointAtIds<T extends object>(message: Message<T>, extraIds?: string[]): string[];
65
65
  /**
66
- * 检查消息是否 @ 了机器人
66
+ * 检查消息是否 @ 了 Endpoint
67
67
  */
68
- export declare function isAtBot<T extends object>(message: Message<T>, botAtIds?: string[]): boolean;
68
+ export declare function isAtEndpoint<T extends object>(message: Message<T>, endpointAtIds?: string[]): boolean;
69
69
  /**
70
70
  * 提取消息文本内容(保留富媒体信息)
71
71
  * 使用 segment.toString 将 MessageElement 转为 XML 格式
@@ -77,19 +77,19 @@ export declare function extractTextContent<T extends object>(message: Message<T>
77
77
  */
78
78
  export declare function parseRichMediaContent(content: string): MessageElement[];
79
79
  /**
80
- * 移除 @ 机器人的部分
80
+ * 移除 @ Endpoint 的部分
81
81
  */
82
- export declare function removeAtBot<T extends object>(message: Message<T>, botAtIds?: string[]): MessageElement[];
83
- /** Bot 配置(adapter bots[].$config) */
84
- export interface BotConfigRoles {
82
+ export declare function removeAtEndpoint<T extends object>(message: Message<T>, endpointAtIds?: string[]): MessageElement[];
83
+ /** Endpoint 配置(adapter endpoints[].$config) */
84
+ export interface EndpointConfigRoles {
85
85
  master?: unknown;
86
86
  trusted?: unknown;
87
87
  }
88
88
  /**
89
- * 解析发送者角色集合(IM 群角色 + trigger + bots[].$config)
89
+ * 解析发送者角色集合(IM 群角色 + trigger + endpoints[].$config)
90
90
  */
91
- export declare function resolveSenderRoles<T extends object>(message: Message<T>, config: AITriggerConfig, botConfig?: BotConfigRoles | Record<string, unknown> | null): SenderRolesResult;
92
- /** 从 IM 消息生成 sessionId(platform:botId:type:sceneId) */
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
93
  export declare function resolveIMSessionIdFromMessage<T extends object>(message: Message<T>): string;
94
94
  /**
95
95
  * 检查消息是否应该触发 AI