@aalis/schema-message 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { TextRef } from '@aalis/schema-i18n';
1
2
  /**
2
3
  * OpenAI/DeepSeek chat completions 中 assistant 消息携带的工具调用载荷。
3
4
  * 与 Message 同源同生命周期,故所属本包。
@@ -66,7 +67,8 @@ export interface Message {
66
67
  * - `'cross-session-delegation'` :notice 子类——系统代发的任务指令(triggerType 为 proactive,如 workflow 的 agent 节点)。
67
68
  * - `'host-notice'` :notice 子类——宿主撰写的事件通知(入站消息带 hostNotice)。
68
69
  * - `'outbound-image'` :assistant 子类——agent 已发出的图片。
69
- * - notice 的平台事件类型 :`'poke' | 'group_recall' | 'group_increase' | ...`(取自 OneBot 等适配器)。
70
+ * - 平台事件类型 :`'poke' | 'group_recall' | 'group_increase' | ...`(取自 OneBot 等适配器)。平台通知
71
+ * 落成 notice;转成入站的(如戳一戳、群文件上传)仍是 user,kind 取 {@link IncomingMessage}.noticeType。
70
72
  *
71
73
  * 第三方插件可定义自己的 kind 字符串,但请避开 `WellKnownKinds` 中已有的语义。
72
74
  */
@@ -110,20 +112,31 @@ export interface MessageAttachment {
110
112
  /** 时长秒(仅音视频,如已知) */
111
113
  durationSec?: number;
112
114
  /**
113
- * 出站附件:文本描述(vision/asr 结果)。由生产者(如 send_attachment)填充,
114
- * 供全局出站归档写入 `[类型: desc | ref:xxx]` 标记,让 memory_recall 能命中。
115
+ * 出站附件:文本描述(识图、转写的结果),生产者已有时填上。出站记进会话历史时写进占位符的描述位
116
+ * (`[类型: desc | ref:xxx]`,见 api-message-archive 的 recordOutbound),memory_recall 据此命中
115
117
  */
116
118
  description?: string;
117
119
  /**
118
- * 出站附件:稳定引用标识(http(s) url / storage uri)。用于出站归档与历史回放;
119
- * 缺省时全局归档回退用 data。与平台落盘后改写的 data 解耦,避免归档到临时/不可访问路径。
120
+ * 稳定的地址(网址或存储地址)。出站:记进会话历史时用它,没有时取 data 里的地址(见 api-message-archive 的
121
+ * outboundAddress),与平台落盘后改写的 data 无关。入站:预处理器把附件落了盘或换掉 data 时写的地址(媒体识别落盘上传的
122
+ * 图片、文件读取换成文件引用前的地址),存档的附件清单在 data 不是地址时按它记;适配器不填
120
123
  */
121
124
  ref?: string;
122
- /**
123
- * 出站附件:跳过全局归档。用于 history_ref 重发等场景(同一媒体已在档,
124
- * 避免向量库膨胀与重复入档)。缺省 false。
125
- */
126
- skipArchive?: boolean;
125
+ }
126
+ /** 一轮的事实(见 {@link IncomingMessage.fromTurn}) */
127
+ export interface FromTurn {
128
+ platform: string;
129
+ /** 物理发言者(同 {@link IncomingMessage.userId},没有时不设,如定时任务那一轮) */
130
+ userId?: string;
131
+ /** 参与者:那次调用的参与者(按 api-authority 的 originTurnOf 算,批过的是批的人) */
132
+ participants: readonly {
133
+ platform: string;
134
+ userId: string;
135
+ }[];
136
+ /** 那一轮的来源(同 {@link IncomingMessage.source},人亲手发来的没有) */
137
+ source?: string;
138
+ /** 那一轮自己的起它的那一轮 */
139
+ fromTurn?: FromTurn;
127
140
  }
128
141
  export interface IncomingMessage {
129
142
  content: string;
@@ -149,8 +162,10 @@ export interface IncomingMessage {
149
162
  */
150
163
  _attachmentDescriptions?: Array<string | undefined>;
151
164
  /**
152
- * 平台类型名:适配器在 PlatformAdapter.sessionTypes 里声明的类型之一(如 OneBot 的 group、private、channel)。
153
- * 不带时,平台声明了多方类型的按多方,没声明或只有一对一类型的按 private、一对一(api-platform 的 resolveSessionType)
165
+ * 平台类型名:适配器在 PlatformAdapter.sessionTypes 里声明的类型之一(如 OneBot 的 group、private、channel)。会话管理在
166
+ * IM 房间建档时按它记下聊天窗口;判是不是多方读会话记录的 originChat.multiParty(子会话取根会话的),不看消息上的它。
167
+ * 不带时,平台声明了多方类型的按其中第一个、多方,只声明了一对一类型的按第一个,没声明的按 private、一对一
168
+ * (api-platform 的 resolveSessionType)
154
169
  */
155
170
  sessionType?: string;
156
171
  /** 收到这条消息的机器人账号(平台给出时由适配器填,如 OneBot 的 self_id) */
@@ -158,9 +173,21 @@ export interface IncomingMessage {
158
173
  /**
159
174
  * 系统侧注入者的来源标识(如 'idle-trigger'、'scheduler'、'workflow:<id>')。
160
175
  * 平台适配器投递真人消息**不设置**此字段:带 source 的消息被视为内部注入——不经触发策略、
161
- * 不过回复后冷却(禁言与限速照常生效)。同时用于并发隔离:同一 session 不同来源互不打断。
176
+ * 不过回复后冷却(禁言与限速照常生效),也不过指令解析(声明了 {@link IncomingMessage.ownerApproved} 的除外),
177
+ * 不进长期记忆(向量记忆,档案的旁观计数与事实提取)。
178
+ * 带来源的输入各自成一轮,不与别的输入叠加;注入方的来源应当标识发送方。
162
179
  */
163
180
  source?: string;
181
+ /**
182
+ * 到达序号:网关在入站相位之前给每条入站消息打的,这次运行内递增(网关重载后从头计)。只用于日志关联(见
183
+ * {@link arrivalTag}),不落库、不进模型;没经网关进来的没有
184
+ */
185
+ arrival?: number;
186
+ /**
187
+ * 注入方的声明:这段文字在建立时经 owner 过目过原文(owner 自己写下,或每次由 owner 审批),算作 owner 亲手写的。
188
+ * 注入方必须同时设 source;只给经 owner 过目原文的文字设,第一方的设置方在仓内守卫里登记
189
+ */
190
+ ownerApproved?: boolean;
164
191
  /** 群名称(仅群聊时可用) */
165
192
  groupName?: string;
166
193
  /** 多方聊天窗口的 id,由适配器填(如 OneBot 的群号,频道为 `<guild>:<channel>`) */
@@ -186,19 +213,34 @@ export interface IncomingMessage {
186
213
  userId?: string;
187
214
  nickname?: string;
188
215
  };
189
- /** 通知子类型(如 poke、group_upload 等非消息事件) */
216
+ /**
217
+ * 随这条消息转发来的聊天记录(如 OneBot 的合并转发),按在正文里出现的先后,不是发言人自己写的话。适配器在 content 里它所在的
218
+ * 位置写 {@link forwardPlaceholder}(id)(转发 id 不含双引号;用户手打的同样写法先转义,同 {@link AT_SELF_PATTERN}),给模型的
219
+ * 展开写在 content、给界面的事实写在 facts;适配器必须在 content 里写占位,漏写的展开不进归档文本。归档文本
220
+ * ({@link buildIncomingContent})把占位换回展开,模型看到的与展开写在正文里一样;发言人的话(content、存档的 SpokenContent)、
221
+ * 点名、禁言关键词与 @ 的账号只看 content;存档另记成 {@link WellKnownMetadataKeys}.Forwards。别的平台有转发照这条接:渲染成
222
+ * 占位、展开放这里、转义手打的写法;存档、会话服务、WebUI、点名与画像都不认平台
223
+ */
224
+ forwards?: ForwardedChat[];
225
+ /** 通知子类型(如 poke、group_upload 等非消息事件);存档记成消息的 kind */
190
226
  noticeType?: string;
191
227
  /** 通知动作是否指向机器人;poke 为 false 时按未点名互动判断,省略沿用戳机器人的语义。 */
192
228
  noticeTargetIsSelf?: boolean;
229
+ /**
230
+ * 平台事件合成或转成的入站(如好友申请、入群邀请、戳一戳、群文件上传)给人看的那句(文字对象):content 是写给模型的
231
+ * (有的带处理办法与工具用法),界面显示这一句,按读者的语言渲染。适配器写,真人发言不设;不进模型的上下文,也不参与触发与
232
+ * 回复的判定,存档按 {@link WellKnownMetadataKeys}.Text 记下
233
+ */
234
+ text?: TextRef;
193
235
  /**
194
236
  * 触发类型(下游插件可据此区分主发言者语义)。真人消息由 inbound:trigger 相位生效的触发插件写入
195
237
  * (immediate / interval),平台适配器不设置;内部注入由注入方自带(idle、proactive)。flow 相位对
196
- * immediate 不查回复后冷却与限速,所以不经触发插件改写时(作用域外、没装触发插件),入站消息上预设的
238
+ * immediate 不查回复后冷却与限速,所以不经触发插件改写时(生效范围外、没装触发插件),入站消息上预设的
197
239
  * immediate 会原样生效。
198
240
  * - 'direct' 私聊或单一用户直连(默认语义:userId 是主发言者)
199
241
  * - 'immediate' 群聊中被 @/名字主动触发(userId 是主发言者)
200
- * - 'interval' 群聊中因消息频率/活跃度被动触发(无明确主发言者,userId 仅为最后一条消息发送者)
201
- * - 'idle' 空闲自动触发(无 userId / 无主发言者)
242
+ * - 'interval' 群聊中没点名、因消息频率/活跃度被挑中(提示词按无明确主发言者写;授权身份照旧是发言者)
243
+ * - 'idle' 空闲自动触发(无 userId / 无主发言者);存档不落档,agent 以 system 指令块交给模型
202
244
  * - 'proactive' 系统代发给 agent 的任务指令,如 workflow 的 agent 节点(content 是任务描述而非用户消息)
203
245
  * 未设置时下游插件按 'direct' 兼容处理。
204
246
  */
@@ -209,31 +251,37 @@ export interface IncomingMessage {
209
251
  *
210
252
  * 与 platform/userId 的区别:
211
253
  * - platform/userId 表示消息的物理来源(路由+发言者标识),写归档、做用户档案/关系;
212
- * - actor 表示授权身份,agent 构造 ToolCallContext 时优先使用 actor,
254
+ * - actor 表示授权身份,agent 算这一轮的参与者时优先使用 actor(api-authority 的 originTurnOf),
213
255
  * 从而让 authority 守卫按 actor 的 (platform, userId) 查权限等级。
214
256
  *
215
257
  * 触发器(如 scheduler)应在创建任务时 snapshot 调用者身份,触发时回填此字段;
216
258
  * 不能由 LLM/AI 在工具入参中自由指定,避免提权。
217
259
  *
218
- * AI 自发回合(无主发言者,如群聊 'interval' 触发)没有可代之人:触发器应回填
219
- * {@link selfInitiatedActor}(userId 为空串 = 无主体),authority 按默认等级裁决、
220
- * 永不视为 owner。'idle' 合成消息本就不带 userId,天然无主体,无需回填。
260
+ * 没有人的注入(不延续调用的宿主通知等)没有可代之人:注入方回填 {@link selfInitiatedActor}(userId 为空串 = 无主体),
261
+ * authority 按默认等级裁决、永不视为 owner。'idle' 合成消息本就不带 userId,天然无主体,无需回填。
262
+ * 带 {@link IncomingMessage.fromTurn} 的消息不设此字段,授权身份取它的参与者。
221
263
  */
222
264
  actor?: {
223
265
  platform: string;
224
266
  userId: string;
225
267
  };
268
+ /**
269
+ * 起它的那一轮:续做(如后台任务的结束通知)与子任务(任务消息与追问)的消息带着起它的那次调用所在那一轮的事实,权限服务
270
+ * 按那一轮判续做与子任务这一轮的类别与主体,这一轮的参与者取它的参与者(agent 经 api-authority 的 originTurnOf
271
+ * 拼工具调用上下文)。只由登记的注入方填(`test/architecture/host-notice-identity.test.ts`),只在那次调用在入站回合里时填,
272
+ * 不由模型给;不进归档与提示词钩子
273
+ */
274
+ fromTurn?: FromTurn;
226
275
  /**
227
276
  * 宿主撰写的事件通知(不是任何人的发言)。带这个字段的消息:
228
277
  * - 注入方必须同时设 `source`;不设 userId、nickname、sessionType、triggerType;
229
- * - actor:不延续某次调用的通知用 {@link selfInitiatedActor}、不设 `callerUserId`;延续某次工具调用的(如后台任务
230
- * 结束通知),platform 同那次调用,actor 取那次调用的有效授权身份 `actor ?? { platform, userId }`(都没有时仍为
231
- * selfInitiatedActor),并设 `callerUserId`。延续身份的注入方要在 `test/architecture/host-notice-identity.test.ts` 登记;
278
+ * - 身份:不延续某次调用的通知的 actor 用 {@link selfInitiatedActor};延续某次工具调用的(如后台任务结束通知)不设
279
+ * actor,改带 {@link IncomingMessage.fromTurn}(那次调用所在那一轮),platform 同那一轮;
232
280
  * - agent 渲染为 system 通知,归档为 role 'notice'、kind {@link WellKnownKinds}.HostNotice;
233
281
  * - 不进向量记忆、抽取与记忆扩窗。
234
282
  *
235
- * `kind` 是通知的子类(如 'paper-task'),`id` 是注入方生成的通知标识(日志与账本对位用,存档记下;含义随 kind,
236
- * 如后台任务结束通知的是任务 id)。
283
+ * `kind` 是通知的子类(如后台任务的结束通知 'background-task'),`id` 是注入方生成的通知标识(日志与账本对位用,存档
284
+ * 记下;含义随 kind,如后台任务结束通知的是任务 id)。
237
285
  * `untrusted` 是注入方已用 wrapUntrustedContent 包好的不可信段:只在当轮渲染时接在正文之后,
238
286
  * 不归档、不进任何存储。宿主撰写的行一律放在 content 里。
239
287
  */
@@ -250,12 +298,6 @@ export interface IncomingMessage {
250
298
  * 需要 Agent 后续行动的通知不设置此项。
251
299
  */
252
300
  reportOnly?: boolean;
253
- /**
254
- * 通知延续某次工具调用时,那次调用的 ToolCallContext.userId。plugin-agent 只用它填本轮工具调用上下文的 userId
255
- * (工具眼里是谁在调)与 inbound.callerUserId(执行守卫据此判这一轮是不是 owner 链的延续),并让这位发言者在同一会话的
256
- * 消息打断这一轮;不当作发言者:归档、用户档案、关系与提示词钩子都不看它。须与 actor 取自同一次调用;不延续某次调用的通知不设。
257
- */
258
- callerUserId?: string;
259
301
  /**
260
302
  * 回复这条通知时引用哪条消息:平台消息 id,取自起那次调用的入站消息(ToolCallContext.inbound.messageId)。
261
303
  * plugin-agent 回复时把它带进出站消息的 {@link OutgoingMessage.replyTo};入站消息没有平台消息 id 的不设
@@ -266,15 +308,16 @@ export interface IncomingMessage {
266
308
  * 写给模型的 content 不给人看;不进模型的上下文,存档按 {@link WellKnownMetadataKeys}.HostNoticeFacts 记下
267
309
  */
268
310
  facts?: Record<string, string | number>;
311
+ /**
312
+ * 给人看的那句话(文字对象):content 是写给模型的,界面显示这一句,按读者的语言渲染。不进模型的上下文,
313
+ * 存档按 {@link WellKnownMetadataKeys}.Text 记下
314
+ */
315
+ text?: TextRef;
269
316
  };
270
317
  }
271
318
  /**
272
- * AI 自发回合的授权身份:无主体。
273
- *
274
- * 'interval' 触发复用的是恰好撞上频率阈值的那条真人消息,若不回填 actor,授权轴会经
275
- * `actor ?? {platform, userId}` 回退到「最后发言者」——绝大多数回合按陌生人 0 级判权
276
- * (自发回合工具全挂),而 owner 恰好最后发言时整轮(含群内任何提示注入)以 owner 等级
277
- * 执行。契约(triggerType 注释)与 prompt 侧特判都把 interval 当无主发言者,授权轴应一致。
319
+ * 没有人的注入的授权身份:无主体。只给没有人的注入(不延续调用的宿主通知等)用;人发来的话(含群里没点名、被频率触发挑中的)
320
+ * 按说话的人算,不用它。
278
321
  *
279
322
  * userId 取空串而非缺省:`actor?.userId ?? userId` 回退链遇空串不回退(?? 只认 null/undefined),
280
323
  * 由此派生的定时任务/子任务保持匿名,不会漂回物理发言者;authority 的等级查表以空
@@ -284,26 +327,59 @@ export declare function selfInitiatedActor(platform: string): {
284
327
  platform: string;
285
328
  userId: string;
286
329
  };
330
+ /**
331
+ * 一轮的各条输入是不是同一位物理发言者说的(平台与账号都相同):会话语义的发言者(工具调用上下文的 userId、人设的说话人
332
+ * 事实)只在这时有
333
+ */
334
+ export declare function oneSpeaker(inputs: readonly Pick<IncomingMessage, 'platform' | 'userId'>[]): boolean;
335
+ /**
336
+ * 这条输入点名了她:真人输入(不带 source)的触发类型为 direct 或 immediate,没有触发类型的(没经触发判定)按 direct 算。带来源的
337
+ * 注入(定时任务、编排、各种通知)不是谁在跟她说话,不算点名。焦点指引、排着开的一轮的说明、档案与关系子图都按它判
338
+ */
339
+ export declare function wasAddressed({ source, triggerType, }: Pick<IncomingMessage, 'source' | 'triggerType'>): boolean;
340
+ /**
341
+ * 对她的 @:适配器按机器人账号写下的 `<at self …>…</at>` 标记,读的一方只认这个结构化标记,不按文字猜。文法与读它的几处见
342
+ * docs/concepts/message-llm-pipeline.md
343
+ */
344
+ export declare const AT_SELF_PATTERN: RegExp;
345
+ /**
346
+ * 一段文字 @ 了哪些账号:适配器写下的 `<at id="…">` 与 `<at self id="…">` 标记里的账号,按出现先后去重;@全体不是账号,
347
+ * 不算:入站写作 `<at>all</at>`(不带 id),她的回复里写作 `<at id="all">`(出站按这个发成 @全体)。文法见
348
+ * {@link AT_SELF_PATTERN}。存档按它从发言人自己写的话里抽,记成元数据的 {@link WellKnownMetadataKeys}.Mentions
349
+ */
350
+ export declare function extractMentions(text: string): string[];
287
351
  /**
288
352
  * 传输端确认已接受消息,不代表收件人已阅读;失败也 resolve,避免无人等待时产生拒绝。
289
- * 失败分支的 unconfirmed 表示请求已经发出、只是没等到平台确认(如 OneBot 文件上传超时),消息可能已经送达:
290
- * 发起方不得自动重发,也不得劝模型重发。没有这个标记的失败才是确定没送达。
353
+ * 成功分支的 messageIds 是正文送达时平台给出的消息 id(分条发出的各一个,按发送顺序;与入站 replyTo.messageId 同一写法,
354
+ * 引用回复据此认出被引用的是哪一条),平台不给时没有。
355
+ * 失败分支的 error 是给人看的原因,可以是文字对象(@aalis/schema-i18n 的 TextRef,按读者语言显示);交给模型与写日志的
356
+ * 一方取 toSource。unconfirmed 表示有请求已经发出、只是没等到平台确认(如 OneBot 发消息或上传文件超时、等回执时断线),那部分
357
+ * 可能已经送达:发起方不得自动重发,也不得劝模型重发。没有这个标记的失败才是确定没送达。
358
+ * sentPieces 是逐条发出(分条的正文与各自成一条的附件)停在中途时已经发出的条数:前 sentPieces 条平台已经收下,之后的没收下
359
+ * 或结果未知,补发只补后面的;一条都没发出时没有。
291
360
  */
292
361
  export type OutboundDeliveryResult = {
293
362
  ok: true;
363
+ messageIds?: string[];
294
364
  } | {
295
365
  ok: false;
296
- error: string;
366
+ error: string | TextRef;
297
367
  unconfirmed?: true;
368
+ sentPieces?: number;
298
369
  };
299
370
  /**
300
- * 发起方等待传输确认的上限。适配器自身的重试窗口可能更长(如 OneBot 单个附件最坏约 150 秒),
371
+ * 发起方等待传输确认的上限。适配器自身的发送可能更久(如 OneBot 先下载附件落盘、再逐条发出,下载与每条的回执各等 30 秒),
301
372
  * 超过上限时发起方应报「未确认、请勿重发」而不是失败;上限只为不带回合中止信号的调用方
302
373
  * (mcp-server、workflow)不至于一等两三分钟。
303
374
  */
304
375
  export declare const DELIVERY_WAIT_MS = 90000;
305
376
  /**
306
- * 等 {@link OutgoingMessage.delivery} 结算;signal 中止(回合 latest-wins、手动 abort、插件停机)或到 timeoutMs
377
+ * 日志行里一条输入的到达序号,接在动作之后:` #<序号>`(带前导空格),没经网关进来的为空串。日志行据此串起同一条输入,
378
+ * 不记正文与昵称
379
+ */
380
+ export declare function arrivalTag({ arrival }: Pick<IncomingMessage, 'arrival'>): string;
381
+ /**
382
+ * 等 {@link OutgoingMessage.delivery} 结算;signal 中止(回合被停下、插件停机)或到 timeoutMs
307
383
  * (缺省 {@link DELIVERY_WAIT_MS})时不再等,返回 undefined。适配器的发送不随之取消,所以 undefined 只能当
308
384
  * 「未确认」,不能当「未发送」。
309
385
  */
@@ -311,6 +387,12 @@ export declare function awaitDelivery<T>(delivery: Promise<T>, signal?: AbortSig
311
387
  /** 发往平台的回复:只带要发出去的正文与附件。思考与工具时间线在存档的 Message 上,客户端经会话协议拿 */
312
388
  export interface OutgoingMessage {
313
389
  content: string;
390
+ /**
391
+ * 正文是要翻译的文字时,它的文字对象:发起方同时写 content(`toSource(text)`,按原文渲染的整句)。经网关派发时,网关按
392
+ * 这条消息所在会话的语言把它渲染进 content(i18n 缺席或渲染抛错时按原文);按连接显示的出口(会话协议的时间线、WebUI
393
+ * 会话的历史)另按各自的读者渲染它,其余照旧读 content
394
+ */
395
+ text?: TextRef;
314
396
  sessionId: string;
315
397
  platform?: string;
316
398
  /**
@@ -332,14 +414,24 @@ export interface OutgoingMessage {
332
414
  /**
333
415
  * 助手要附带发送的多模态附件(图片/音频/视频/文件)。
334
416
  * 适配器(OneBot / WebUI 等)应优先发结构化 attachments,把远程 URL 主动下载为本地文件后用 file:// 形式发送。
335
- * 若 attachments 为空但 content 内含 `<image url="...">` 标记,则由适配器解析嵌入式发图(旧路径,仍兼容)。
336
417
  */
337
418
  attachments?: MessageAttachment[];
338
- /** 消息来源:agent = AI 回复(可分条延迟发送),其他来源默认立即整条发送 */
419
+ /**
420
+ * 正文含平台标记、要解析:有标记语法的适配器(如 OneBot 的 `<at>`、`<image|record|video url>`、`<reply>`)把它们解析成
421
+ * @、媒体与引用,并可分条延迟发送;不设的正文按纯文字原样整条发出,不解析、不分条。要发平台标记的出站自己设它;
422
+ * attachments 不受它影响。媒体标记的地址不是网址的(本机路径、存储地址、data URI 等),适配器不得自己读取,也不交给实现端,
423
+ * 一律去掉并报投递失败:存储里的媒体由 plugin-image-sender 在派发前过媒体判据转成附件,留在正文里的存储地址是没转成的(过
424
+ * 不了判据、读不出、不是对应媒体,或没装它)。正文里的媒体标记怎么发,见 docs/services/media.md
425
+ */
426
+ markup?: boolean;
427
+ /** 消息来源:agent = AI 发出的(回复与经工具发的附件),system = 宿主提示,command = 指令回复 */
339
428
  source?: 'agent' | 'system' | 'command';
340
429
  /** 由工具调用发出的消息:那次调用的 id(ToolCallContext.callId),会话的客户端据此把消息挂到对应的工具卡上 */
341
430
  callId?: string;
342
- /** agent 一轮的回复:这一轮的 id。适配器记投递失败时带上它,回看历史时据此标出这一轮的回复没发出 */
431
+ /**
432
+ * 这一轮发出的消息(她的回复、[错误] 等提示与经工具发出的):这一轮的 id。适配器记回复的投递失败时带上它,回看历史时据此标出
433
+ * 这一轮的回复没发出;出站记进会话历史的各条同样记下(api-message-archive 的 recordOutbound)
434
+ */
343
435
  turnId?: string;
344
436
  /**
345
437
  * 本条回复的 LLM 元数据(agent 存档时同一份写进这条 assistant 消息元数据的 {@link WellKnownMetadataKeys}.ModelInfo),
@@ -401,7 +493,11 @@ declare module '@aalis/core' {
401
493
  archivedMessage: Message;
402
494
  }];
403
495
  'outbound:message': [message: OutgoingMessage];
404
- /** 传输端确认后的消息快照;attachments 只包含成功的附件,供归档等旁观者使用。 */
496
+ /**
497
+ * 送达之后的消息快照,给存档与旁观者用:content 只在文字送达时有,attachments 只包含成功的附件。认领回执的适配器在送达后对
498
+ * 每条消息都发,只有文字的也发,存档据此记进会话历史;送达本身就是写进会话历史的适配器(如 WebUI)不发,改为调 api-message-archive
499
+ * 的 recordOutbound 并等它兑现。
500
+ */
405
501
  'outbound:delivered': [message: OutgoingMessage];
406
502
  'outbound:stream': [chunk: StreamChunkMessage];
407
503
  }
@@ -409,16 +505,21 @@ declare module '@aalis/core' {
409
505
  /**
410
506
  * 已知的 Message.kind 语义常量。第三方插件可使用新值;本表仅作为框架内的契约。
411
507
  *
412
- * - `EventMarker`:纯 UI/控制标记(如对话压缩分隔条)。LLM 出口与抽取均应排除。
508
+ * - `EventMarker`:纯 UI/控制标记(如对话压缩分隔条、不是她回复的出站文字)。LLM 出口与抽取均应排除。
413
509
  * - `CrossSessionDelegation`:代发任务——triggerType 为 proactive 的入站消息(如 workflow 的 agent 节点)归档时标的 kind。
414
- * - `OutboundImage`:assistant 已发出的图片占位(content 为 attachment ref 标签)。
415
- * - `OutboundAudio`:assistant 已发出的音频占位。
416
- * - `OutboundVideo`:assistant 已发出的视频占位。
417
- * - `OutboundFile`:assistant 已发出的文件占位(描述位是文件名)。
510
+ * - `OutboundImage`:发出的图片占位(content 为 attachment ref 标签,记法见 {@link outboundMediaMessage})。
511
+ * - `OutboundAudio`:发出的音频占位。
512
+ * - `OutboundVideo`:发出的视频占位。
513
+ * - `OutboundFile`:发出的文件占位(描述位是文件名)。
418
514
  * - `HostNotice`:宿主撰写的事件通知——带 `hostNotice` 的入站消息归档时标的 kind(role 为 notice)。
515
+ * - `IdlePrompt`:空闲开话题的提示——triggerType 为 idle 的入站交给模型时那条指令块的 injector。它不落档,没有这个 kind 的
516
+ * 归档消息。
419
517
  * - `OutboundDeliveryFailed`:平台适配器记下的投递失败(role 为 system):她发出的消息平台没收下或结果未知,进下一轮的上下文,
420
518
  * 让她知道刚才那条没送达。metadata 带 {@link WellKnownMetadataKeys} 的 `DeliveryError`(与投递结果同一句原因),以及那条
421
- * 消息的 `TurnId`(一轮的回复)或 `CallId`(经工具发出的)。
519
+ * 消息的 `TurnId`(一轮的回复)或 `CallId`(经工具发出的);逐条发出停在中途时另带 `SentPieces`。
520
+ * - `TurnStopped`:agent 记下的停下标记(role 为 system):一轮在回复之前被停下、会话历史里已有这一轮的输入或工具调用时写,
521
+ * 进下一轮的上下文,让她知道那一轮停下了、没说完的话没有留下;有停下的人时写是谁。metadata 带这一轮的 `TurnId`;回合记录
522
+ * 照旧另落事件标记,这一条不带 `TurnRecord`。
422
523
  */
423
524
  export declare const WellKnownKinds: {
424
525
  readonly EventMarker: "event-marker";
@@ -428,63 +529,128 @@ export declare const WellKnownKinds: {
428
529
  readonly OutboundVideo: "outbound-video";
429
530
  readonly OutboundFile: "outbound-file";
430
531
  readonly HostNotice: "host-notice";
532
+ readonly IdlePrompt: "idle-prompt";
431
533
  readonly OutboundDeliveryFailed: "outbound-delivery-failed";
534
+ readonly TurnStopped: "turn-stopped";
432
535
  };
433
536
  export type WellKnownKind = (typeof WellKnownKinds)[keyof typeof WellKnownKinds];
434
537
  /**
435
- * 发出的图片、音频、视频与文件在会话历史里的记法:一条 assistant 消息,kind 为 OutboundImage / OutboundAudio /
436
- * OutboundVideo / OutboundFile,正文是附件引用占位符({@link formatAttachmentRef})。归档方一律用它,memory_recall 与
437
- * 会话服务回看历史才能按同一格式命中、还原。文件的 desc 记文件名。时间戳与 metadata 由调用方补上。
538
+ * 发出的图片、音频、视频与文件在会话历史里的记法:kind 为 OutboundImage / OutboundAudio / OutboundVideo / OutboundFile,
539
+ * 正文是附件引用占位符({@link formatAttachmentRef})。出站的 source 是 agent 的是她发的,role 为 assistant;其余是插件发的,
540
+ * role 为 notice(进模型时是一条系统通知,不算她的发言)。归档方一律用它,memory_recall 与会话服务回看历史才能按同一格式命中、
541
+ * 还原。文件的 desc 记文件名。时间戳与 metadata 由调用方补上。
542
+ */
543
+ export declare function outboundMediaMessage(kind: MessageAttachment['kind'], ref: string, { desc, source }?: {
544
+ desc?: string;
545
+ source?: OutgoingMessage['source'];
546
+ }): Message & {
547
+ content: string;
548
+ };
549
+ /**
550
+ * 不是她回复的出站文字(`source` 不是 agent,如指令的回复、宿主提示)在会话历史里的记法:一条事件标记,不进模型的上下文,
551
+ * 正文是 `content`,元数据记文字对象({@link WellKnownMetadataKeys} 的 `Text`,有才记),会话服务据此还原成通知。她的回复
552
+ * (agent 存档)与空文字不记,回 undefined。归档方一律用它;时间戳与出站的 `Source`、`TurnId`、`CallId` 由调用方补上(与
553
+ * {@link outboundMediaMessage} 记的附件同一条规则,见 api-message-archive 的 recordOutbound)
438
554
  */
439
- export declare function outboundMediaMessage(kind: MessageAttachment['kind'], ref: string, desc?: string): Message;
555
+ export declare function outboundMarkerMessage(msg: OutgoingMessage): Message | undefined;
440
556
  /** 存档里提问带的一个附件({@link WellKnownMetadataKeys}.Attachments 的一项) */
441
557
  export interface ArchivedAttachment {
442
558
  kind: MessageAttachment['kind'];
443
559
  /** 入站附件带的文件名 */
444
560
  name?: string;
445
- /** 地址:存储地址(`<根>:/路径`)或网址;入站附件的 data 不是地址(内联数据、本机路径、预处理器的私有引用)、预处理器也没给出引用的没有 */
561
+ /** 地址:存储地址(`<根>:/路径`)或网址;入站附件的 data 不是地址(内联数据、本机路径、预处理器的私有引用)、预处理器也没在它的 ref 上写地址的没有 */
446
562
  ref?: string;
447
563
  }
564
+ /** 一段转发给界面的事实({@link ForwardedChat.facts}):适配器展开成功时有 */
565
+ export interface ForwardFacts {
566
+ /** 顶层的条数 */
567
+ count: number;
568
+ /** 参与的人,最多前 8 个(写法由适配器定,如 OneBot 的「昵称(账号)」) */
569
+ participants: string[];
570
+ /** 没列出的人数;都列出了时没有 */
571
+ unlisted?: number;
572
+ /** 转发的文字:有摘要时是摘要,没有时是原文(可能截断) */
573
+ text: string;
574
+ /** 原文被截断时为 true */
575
+ cutOff?: true;
576
+ }
577
+ /** 随入站消息转发来的一段聊天记录({@link IncomingMessage.forwards} 的一项) */
578
+ export interface ForwardedChat {
579
+ /** 平台给的转发 id:正文里它的占位({@link forwardPlaceholder})按它对位 */
580
+ id: string;
581
+ /** 给模型看的展开,归档文本把它换进占位的位置(OneBot 的信封;拉不到时写原因;适配器关掉展开时就是占位本身) */
582
+ content: string;
583
+ /** 给界面的事实;拉不到内容、展开出错与关掉展开时没有 */
584
+ facts?: ForwardFacts;
585
+ }
586
+ /** 存档记下的一段转发({@link WellKnownMetadataKeys}.Forwards 的一项):展开已按原位置拼进归档正文,不另存 */
587
+ export type ArchivedForward = Omit<ForwardedChat, 'content'>;
448
588
  /**
449
589
  * 跨插件约定的 `Message.metadata` 键。metadata 是开放字典,本表登记由一方写入、另一方读取的键:写方与读方都引用这里的
450
590
  * 常量,第三方的 agent、存档与适配器照着写,读历史与记忆的一方(会话服务回看历史、向量记忆、用户档案与关系等)才还原得出
451
591
  * 说话人、群、文件、回复的模型与 token、工具卡的归组。
452
592
  *
453
593
  * - `VisibleContent`:assistant 消息的可见正文(字符串)。回复经结构化输出(persona 的 outputFormat)
454
- * 时,`content` 存整串 JSON 信封(保持历史 few-shot 的格式),用户实际看到的是其中的回复字段。
594
+ * 时,`content` 存整串 JSON 信封(存档原文),用户实际看到的是其中的回复字段;agent 交给模型的历史取这个键。
455
595
  * agent 落库时把解码后的正文写进这个键,只在它与 `content` 不同时写入;缺省即 `content` 本身就是
456
596
  * 可见正文。检索、摘要等按语义消费历史的一方应优先读它,读不到再退回 `content`。
457
597
  * - `SpokenContent`:提问里发言人自己写的话(字符串,可以是空串),即入站消息的 `content`。存档的 `content` 是给模型看的
458
- * 归档文本({@link buildIncomingContent}:发送者前缀、引用与附件描述),存档只在两者不同时写这个键;缺省即 `content`。
459
- * 会话服务据此给出提问条目的正文。
598
+ * 归档文本({@link buildIncomingContent}:发送者前缀、转发的展开、引用与附件描述),存档只在两者不同时写这个键;缺省即
599
+ * `content`。合并转发的展开不在里面,只有它的占位。会话服务据此给出提问条目的正文,用户档案据此核对原话。
460
600
  * - `Attachments`:提问带的附件清单({@link ArchivedAttachment} 的数组,按入站顺序),存档写;会话服务据此把文件还原成卡片、
461
601
  * 图片等按地址显示。没有附件时不写。
602
+ * - `Forwards`:提问随附的转发({@link ArchivedForward} 的数组:入站消息 forwards 的 id 与事实,不存展开),存档在有时写;
603
+ * 会话服务据此把转发画成单独的块。
604
+ * - `SenderLabel`:归档文本发送者前缀里的标签(字符串,{@link getSenderLabel} 的写法),存档只在加了前缀时写。把归档文本重排给
605
+ * 模型或界面看的一方(向量记忆的召回片段、撤回通知的摘录、引用反查)按它用 {@link stripSenderPrefix} 去掉这一层,没有这个键
606
+ * 的不去。
607
+ * - `Mentions`:提问里发言人自己写的话 @ 了哪些账号(字符串数组,{@link extractMentions} 从入站消息的 `content` 抽,引用、
608
+ * 附件描述与转发里的不算),存档在有时写;向量记忆据此给被 @ 的人加权,关系图的提取据此认被 @ 的人。
462
609
  * - `Platform`、`UserId`、`Nickname`:说话人的平台、用户 id 与昵称(字符串)。存档写入站消息的;agent 给她自己的回复写
463
610
  * 这一轮的平台与她在那里的账号、昵称。会话服务据此标出说话人与是不是 owner,向量记忆、用户档案与关系等也读。
464
611
  * - `GroupId`、`GroupName`、`SessionType`:说话所在的群号、群名与会话类型(字符串,即入站消息的 `groupId`、`groupName`、
465
- * `sessionType`)。存档写入站消息的,agent 给她自己的回复写这一轮的;向量记忆与最近消息据此写出说话的位置,关系插件据此
466
- * 判断是不是群聊。
612
+ * `sessionType`)。存档写入站消息的,agent 给她自己的回复写这一轮的;向量记忆与最近消息据此写出说话的位置,只用于显示:
613
+ * 判是不是多方读会话记录的 originChat.multiParty(子会话取根会话的)。
467
614
  * - `MessageId`:平台侧的消息 id(字符串,即入站消息的 `messageId`),存档写;存档按它反查被引用的原文,关系插件据此把
468
615
  * 引用与回复对回消息。
469
- * - `Source`:这条记录的来源(字符串):入站消息是它的 `source`(内部注入的来源,真人发言没有);插件自己写的记录(发出的
470
- * 附件、投递失败)写插件的名字。会话服务据此标出提问是不是内部注入的。
616
+ * - `Source`:这条记录的来源(字符串):入站消息是它的 `source`(内部注入的来源,真人发言没有);出站消息记进历史的各条
617
+ * (文字的事件标记与发出的附件)是出站的 `source`(如指令回复的 command);插件自己写的其余记录(投递失败)写插件的名字。
618
+ * 会话服务据此标出提问是不是内部注入的、认出指令的回复。
471
619
  * - `HostNoticeKind`、`HostNoticeId`、`HostNoticeFacts`:宿主通知的子类(`hostNotice.kind`)、id(`hostNotice.id`)与给界面的
472
620
  * 事实(`hostNotice.facts`),存档写;会话服务据此给出通知条目的种类、id 与事实。
473
- * - `TurnId`:所在回合的 id(字符串)。agent 写在这一轮落库的回复与工具结果上,平台适配器写在一轮回复的投递失败记录上;
474
- * 会话服务据此把存档归回回合、标出哪一轮的回复没发出。
621
+ * - `TurnId`:所在回合的 id(字符串)。进了一轮的输入由存档按 agent 归档时交来的回合记下,agent 写在这一轮落库的回复、工具
622
+ * 结果与停下标记上,平台适配器写在一轮回复的投递失败记录上,出站记进历史的各条由写方按出站消息的 turnId 记下(有才记);
623
+ * 会话服务据此把存档归回回合、标出哪一轮的回复没发出,连对话回滚据此只删这一轮的消息。
624
+ * - `TurnEntry`:输入怎么进的这一轮(字符串):`opened` 是开轮的,`joined` 是插进在跑的一轮的。与 `TurnId` 一起由存档记下。
625
+ * - `TriggerType`:入站消息的触发类型(字符串,即 {@link IncomingMessage}.triggerType),存档写;会话服务据此标出被点名与插话。
626
+ * - `TurnRecord`:一轮的结局与来源({@link TurnRecord})。agent 记在这一轮最后落库的那条回复上,没有落库回复的一轮另落一条只带
627
+ * `TurnId` 与它的事件标记(role system、kind EventMarker、正文为空,属于 {@link CONTROL_KINDS});会话服务据此在历史里还原
628
+ * 这一轮的结局。
475
629
  * - `CallId`:工具调用的 id(字符串,即 `ToolCallContext.callId`)。agent 写在工具结果上,平台适配器写在经工具发出的
476
- * 消息的投递失败记录上;会话服务据此把历史里的工具卡对回实时推送。
630
+ * 消息的投递失败记录上,出站记进历史的各条由写方按出站消息的 callId 记下(有才记);会话服务据此把历史里的工具卡对回实时推送。
477
631
  * - `ModelInfo`:一轮回复的模型与这一轮的 token,与 {@link OutgoingMessage}.modelInfo 同形;agent 写在这一轮最后的回复上,
478
632
  * 会话服务标在回复条目上。
479
633
  * - `SentRef`、`SentName`:发出的附件(`outboundMediaMessage` 记的那条)原样的地址与文件名(字符串):占位符里的地址遇到
480
- * 「]」会截断、描述位的「]」「|」换成了全角。归档发出附件的一方写,会话服务优先取它们还原附件。
481
- * - `DeliveryError`:投递失败记录({@link WellKnownKinds}.OutboundDeliveryFailed)里与投递结果同一句的原因(字符串),平台
482
- * 适配器写;会话服务据此写出回复为什么没发出。
634
+ * 「]」会截断、描述位的「]」「|」换成了全角。记出站的一方写(api-message-archive 的 recordOutbound),会话服务优先取它们
635
+ * 还原附件。
636
+ * - `DeliveryError`:投递失败记录({@link WellKnownKinds}.OutboundDeliveryFailed)里与投递结果同一句的原因(字符串或文字对象),
637
+ * 平台适配器写;会话服务据此按读者语言写出回复为什么没发出。
638
+ * - `SentPieces`:投递失败记录里与投递结果同一个已发出条数(数字,{@link OutboundDeliveryResult} 的 sentPieces),平台适配器在
639
+ * 逐条发出停在中途时写;会话服务据此写出回复只发出了前几条。
640
+ * - `Unconfirmed`:投递失败记录里已经发出、没等到平台确认的各项(字符串数组,如「消息(第 2 条)」「文件 a.html」),平台适配器写;
641
+ * 会话服务据此写出回复可能已经发出。
642
+ * - `Text`:通知与事件标记给人看的文字(@aalis/schema-i18n 的文字对象),`content` 是写给模型的话或它按原文渲染的整句。
643
+ * 宿主通知的 `hostNotice.text`、平台通知的文字、平台事件合成的入站的 {@link IncomingMessage}.text、不是她回复的出站按
644
+ * {@link outboundMarkerMessage} 记成事件标记时的 {@link OutgoingMessage}.text 由写方记下,没有地址的出站附件记成的事件标记、
645
+ * 压缩分隔线同样;会话服务据此按读者语言显示(合成的入站画成通知),没有时显示 `content`。
483
646
  */
484
647
  export declare const WellKnownMetadataKeys: {
485
648
  readonly VisibleContent: "visibleContent";
486
649
  readonly SpokenContent: "spokenContent";
487
650
  readonly Attachments: "attachments";
651
+ readonly Forwards: "forwards";
652
+ readonly SenderLabel: "senderLabel";
653
+ readonly Mentions: "mentions";
488
654
  readonly Platform: "platform";
489
655
  readonly UserId: "userId";
490
656
  readonly Nickname: "nickname";
@@ -497,12 +663,23 @@ export declare const WellKnownMetadataKeys: {
497
663
  readonly HostNoticeId: "hostNoticeId";
498
664
  readonly HostNoticeFacts: "hostNoticeFacts";
499
665
  readonly TurnId: "turnId";
666
+ readonly TurnEntry: "turnEntry";
667
+ readonly TriggerType: "triggerType";
668
+ readonly TurnRecord: "turnRecord";
500
669
  readonly CallId: "callId";
501
670
  readonly ModelInfo: "modelInfo";
502
671
  readonly SentRef: "ref";
503
672
  readonly SentName: "name";
504
673
  readonly DeliveryError: "error";
674
+ readonly SentPieces: "sentPieces";
675
+ readonly Unconfirmed: "unconfirmed";
676
+ readonly Text: "text";
505
677
  };
678
+ /** 一轮的回合记录({@link WellKnownMetadataKeys} 的 `TurnRecord`):结局,与这一轮的来源(输入的 source,真人消息开的没有) */
679
+ export interface TurnRecord {
680
+ outcome: 'replied' | 'silent' | 'aborted' | 'error';
681
+ source?: string;
682
+ }
506
683
  /**
507
684
  * 平台无关的 well-known `noticeType` 值。
508
685
  *
@@ -526,7 +703,8 @@ export declare const CONTROL_KINDS: ReadonlyArray<string>;
526
703
  /**
527
704
  * 宿主或系统撰写、不是任何人发言的指令类 kind。
528
705
  * - 归档消息的 kind 属于它:抽取(用户事实、指令、关系)与记忆扩窗一律跳过;
529
- * - 请求期消息的 metadata.injector 属于它:是本轮的指令块(turn-context、turn-hint 落在它之前;DeepSeek 不把它改成 user)。
706
+ * - 请求期消息的 metadata.injector 属于它:是本轮的指令块(turn-context、turn-hint 落在它之前;agent 裁剪时不缩不删;DeepSeek
707
+ * 不把它改成 user)。
530
708
  */
531
709
  export declare const DIRECTIVE_KINDS: ReadonlyArray<string>;
532
710
  /**
@@ -548,7 +726,8 @@ export declare function toLLMRole(role: MessageRole): WellKnownRole;
548
726
  * 不修改原对象;返回新数组与必要时的消息浅拷贝。
549
727
  */
550
728
  export declare function prepareLLMMessages<T extends Pick<Message, 'role' | 'content' | 'kind'> & Pick<Message, 'images' | 'toolCallId'>>(messages: T[]): T[];
551
- export { type AttachmentRef, AttachmentRefKind, buildAttachmentRefMatcher, formatAttachmentRef, parseAttachmentRefs, } from './attachment-ref.js';
552
- export { getMessageName, getSenderLabel, prefixSender } from './identity.js';
553
- export { buildIncomingContent } from './incoming-content.js';
729
+ export { ATTACHMENT_REF_KINDS, type AttachmentRef, AttachmentRefKind, buildAttachmentRefMatcher, formatAttachmentRef, parseAttachmentRefs, } from './attachment-ref.js';
730
+ export { getMessageName, getSenderLabel, prefixSender, stripSenderPrefix } from './identity.js';
731
+ export { buildIncomingContent, forwardPlaceholder, withForwards } from './incoming-content.js';
732
+ export { groupToolCalls, type MessageUnit } from './tool-call-groups.js';
554
733
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}