@aalis/plugin-message-archive 0.13.0 → 0.14.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
@@ -2,8 +2,16 @@ declare const _default: import("@aalis/core").PluginDefinition<{
2
2
  memory: import("@aalis/core").ServiceDescriptor<import("@aalis/api-memory").MemoryService, import("@aalis/api-memory").MemoryService>;
3
3
  media: import("@aalis/core").OptionalUse<import("@aalis/api-media").MediaService, import("@aalis/api-media").MediaService>;
4
4
  storage: import("@aalis/core").OptionalUse<import("@aalis/api-storage").StorageService, import("@aalis/api-storage").BoundStorage>;
5
+ /**
6
+ * 认出子会话:它的出站没人认领时由这里认领;入站的发送者前缀按根会话的房间类别给(speakerOf)。不在时判不出,不认领,
7
+ * 入站一律写这条消息自己的说话人
8
+ */
9
+ sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/api-session-manager").SessionManagerService>;
10
+ /** 发送者前缀判谁是 owner、取 owner 在房间所在平台登记的账号;不在时没有人是 owner */
11
+ authority: import("@aalis/core").OptionalUse<import("@aalis/api-authority").AuthorityService, import("@aalis/api-authority").AuthorityService>;
5
12
  events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
6
13
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
14
+ lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
7
15
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
8
16
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
9
17
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AA4EA,wBAWG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;IAkIE;;;OAGG;;IAEH,wDAAwD;;;;;;;;AAU1D,wBAuCG"}
package/dist/index.js CHANGED
@@ -1,94 +1,235 @@
1
+ import { authority } from '@aalis/api-authority';
1
2
  import { media } from '@aalis/api-media';
2
3
  import { memory } from '@aalis/api-memory';
3
- import { messageArchive } from '@aalis/api-message-archive';
4
- import { isStorageUri, parseUriRoot, storage, toStorageUri } from '@aalis/api-storage';
5
- import { config, definePlugin, events, logger, optional, provide } from '@aalis/core';
4
+ import { messageArchive, outboundAddress, speakerOf, unaddressedText } from '@aalis/api-message-archive';
5
+ import { sessionManager } from '@aalis/api-session-manager';
6
+ import { isStorageUri, isWebUrl, parseUriRoot, storage } from '@aalis/api-storage';
7
+ import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
6
8
  import { defineConfig, parseConfig } from '@aalis/schema-config';
7
- import { AttachmentRefKind, buildIncomingContent, getMessageName, parseAttachmentRefs, WellKnownKinds, WellKnownMetadataKeys, } from '@aalis/schema-message';
9
+ import { isTextRef, textOf, toSource, truncateParams } from '@aalis/schema-i18n';
10
+ import { buildIncomingContent, extractMentions, getMessageName, getSenderLabel, outboundMarkerMessage, outboundMediaMessage, WellKnownKinds, WellKnownMetadataKeys, } from '@aalis/schema-message';
11
+ import { t } from './texts.js';
8
12
  const configSchema = defineConfig({
9
13
  debugLogs: {
10
14
  type: 'boolean',
11
- label: '归档调试日志',
15
+ label: t('debugLogsLabel'),
12
16
  default: true,
13
- description: '记录图片解释完成和消息写入记忆等调试日志。',
17
+ description: t('debugLogsDescription'),
14
18
  },
15
19
  });
16
- /** 从消息文本中抽取 @提及的用户 ID 列表(平台无关:依赖各 adapter 输出统一的 <at id="X"> 标签) */
17
- function extractMentions(text) {
18
- if (!text)
19
- return [];
20
- const ids = new Set();
21
- const re = /<at(?:\s+self)?\s+id="([^"]+)">/g;
22
- let m = re.exec(text);
23
- while (m !== null) {
24
- const id = m[1];
25
- if (id && id !== 'all')
26
- ids.add(id);
27
- m = re.exec(text);
28
- }
29
- return [...ids];
30
- }
31
- /** 附件引用里的种类名 */
32
- const REF_KINDS = {
33
- image: AttachmentRefKind.Image,
34
- audio: AttachmentRefKind.Audio,
35
- video: AttachmentRefKind.Video,
36
- file: AttachmentRefKind.File,
37
- };
38
20
  /**
39
- * 能当地址的写法:网址,以及根在存储服务根表里的存储地址;相对的存储路径(`<根>/路径`,平台适配器与媒体识别落盘后的写法)
40
- * 先归一成存储地址。预处理器换上的私有引用(形似存储地址、根不存在)不算
21
+ * 能当地址的写法:网址,以及根在存储服务根表里的存储地址。预处理器换上的私有引用(形似存储地址、根不存在)与相对路径
22
+ * 不算
41
23
  */
42
24
  function addressOf(value, roots) {
43
25
  if (!value)
44
26
  return undefined;
45
- if (/^https?:\/\//i.test(value))
27
+ if (isWebUrl(value))
46
28
  return value;
47
- const uri = /^[A-Za-z][\w-]*\/[^:]*$/.test(value) ? toStorageUri(value) : value;
48
- return isStorageUri(uri) && roots.has(parseUriRoot(uri)) ? uri : undefined;
29
+ return isStorageUri(value) && roots.has(parseUriRoot(value)) ? value : undefined;
49
30
  }
50
31
  /**
51
- * 入站附件的清单:地址取附件的 data;data 不是地址(内联数据、本机路径、预处理器的私有引用)时,取预处理器给它写的描述里
52
- * 同种附件的引用(formatAttachmentRef 的写法,如媒体识别把上传的图片落盘后写的)
32
+ * 入站附件的清单:地址取附件的 data;data 不是地址(内联数据、本机路径、预处理器的私有引用)时,取预处理器写在附件 ref 上的
33
+ * 落盘地址(如媒体识别把上传的图片落盘后、文件读取把 data 换成文件引用前写的)。不从附件描述里取:描述里有群友起的文件名,
34
+ * 媒体判据把这份清单当作系统记下的引用
53
35
  */
54
36
  function attachmentList(incoming, roots) {
55
- return (incoming.attachments ?? []).map(({ kind, name, data }, i) => {
56
- const described = parseAttachmentRefs(incoming._attachmentDescriptions?.[i] ?? '').find(found => found.kind === REF_KINDS[kind]);
57
- const ref = addressOf(data, roots) ?? addressOf(described?.ref, roots);
37
+ return (incoming.attachments ?? []).map(({ kind, name, data, ref: landed }) => {
38
+ const ref = addressOf(data, roots) ?? addressOf(landed, roots);
58
39
  return { kind, ...(name ? { name } : {}), ...(ref ? { ref } : {}) };
59
40
  });
60
41
  }
61
- const uses = { memory, media: optional(media), storage: optional(storage), events, logger, config, provide };
42
+ /** 给人看的那句记进 metadata:参数截到 200 字(同其余落盘方);截完退成字符串的不记,读历史的一方照旧显示正文 */
43
+ function recordText(meta, text) {
44
+ const cut = text && truncateParams(text, 200);
45
+ if (isTextRef(cut))
46
+ meta[WellKnownMetadataKeys.Text] = cut;
47
+ }
48
+ /** 她发的网址图片与视频补描述时等识图的上限:视频要抽帧加转写,放得更宽 */
49
+ const DESCRIBE_TIMEOUT_MS = { image: 25_000, video: 30_000 };
50
+ /** 出站消息在会话历史里的各条,记法见 api-message-archive 的 recordOutbound */
51
+ function outboundRecords(msg) {
52
+ const marker = outboundMarkerMessage(msg);
53
+ const records = marker ? [{ message: marker }] : [];
54
+ for (const att of msg.attachments ?? []) {
55
+ const address = outboundAddress(att);
56
+ if (address === undefined) {
57
+ const text = unaddressedText(att);
58
+ const metadata = {};
59
+ recordText(metadata, text);
60
+ records.push({
61
+ message: { role: 'system', kind: WellKnownKinds.EventMarker, content: toSource(text), metadata },
62
+ });
63
+ continue;
64
+ }
65
+ const file = att.kind === 'file';
66
+ const message = {
67
+ ...outboundMediaMessage(att.kind, address, { desc: file ? att.name : att.description, source: msg.source }),
68
+ metadata: {
69
+ [WellKnownMetadataKeys.SentRef]: address,
70
+ ...(file && att.name ? { [WellKnownMetadataKeys.SentName]: att.name } : {}),
71
+ },
72
+ };
73
+ const { kind } = att;
74
+ const later = msg.source === 'agent' && (kind === 'image' || kind === 'video') && !att.description;
75
+ records.push(later && isWebUrl(address) ? { message, pending: { kind, url: address } } : { message });
76
+ }
77
+ // 每条记录的元数据带出站的来源、回合 id 与调用 id,都是有才记
78
+ const facts = {
79
+ ...(msg.source ? { [WellKnownMetadataKeys.Source]: msg.source } : {}),
80
+ ...(msg.turnId ? { [WellKnownMetadataKeys.TurnId]: msg.turnId } : {}),
81
+ ...(msg.callId ? { [WellKnownMetadataKeys.CallId]: msg.callId } : {}),
82
+ };
83
+ return records.map(({ message, pending }) => {
84
+ const metadata = { ...facts, ...message.metadata };
85
+ return { message: Object.keys(metadata).length > 0 ? { ...message, metadata } : message, pending };
86
+ });
87
+ }
88
+ /**
89
+ * 限时识别:时限作中止信号,与 signal 合并后交给 describe,到时识别随之停下,以「超时」拒绝(describeVideo 中止时不抛、回空串,
90
+ * 到时回的空串同样按超时)
91
+ */
92
+ async function describeWithin(ms, signal, describe) {
93
+ const deadline = AbortSignal.timeout(ms);
94
+ const timedOut = () => new Error(`识图超时(${ms / 1000} 秒)`);
95
+ const desc = await describe(AbortSignal.any([signal, deadline])).catch((err) => {
96
+ throw deadline.aborted ? timedOut() : err;
97
+ });
98
+ if (!desc && deadline.aborted)
99
+ throw timedOut();
100
+ return desc;
101
+ }
102
+ const uses = {
103
+ memory,
104
+ media: optional(media),
105
+ storage: optional(storage),
106
+ /**
107
+ * 认出子会话:它的出站没人认领时由这里认领;入站的发送者前缀按根会话的房间类别给(speakerOf)。不在时判不出,不认领,
108
+ * 入站一律写这条消息自己的说话人
109
+ */
110
+ sessionManager: optional(sessionManager),
111
+ /** 发送者前缀判谁是 owner、取 owner 在房间所在平台登记的账号;不在时没有人是 owner */
112
+ authority: optional(authority),
113
+ events,
114
+ logger,
115
+ lifecycle,
116
+ config,
117
+ provide,
118
+ };
62
119
  export default definePlugin({
63
120
  name: '@aalis/plugin-message-archive',
64
- displayName: '消息归档',
121
+ displayName: t('displayName'),
65
122
  subsystem: 'message',
66
123
  configSchema,
67
124
  provides: [messageArchive],
68
125
  uses,
69
126
  apply(caps) {
70
127
  const cfg = parseConfig(configSchema, caps.config.use, caps.logger.use);
71
- caps.provide.use(messageArchive, createArchiveService(caps, cfg.debugLogs));
128
+ // 本插件自己发起的后台写(送达之后记出站、补描述)记在这里:收尾时等它们落定再撤回。信号在收尾开始时已断,识图停在
129
+ // 当前这一步,已经开始的写入写完
130
+ const running = new Set();
131
+ const track = (work) => {
132
+ running.add(work);
133
+ void work.then(() => running.delete(work));
134
+ };
135
+ caps.lifecycle.use.onDrain(async () => {
136
+ while (running.size > 0)
137
+ await Promise.all(running);
138
+ }, '等在途的出站记录与补描述');
139
+ const archive = createArchiveService(caps, cfg.debugLogs, track);
140
+ caps.provide.use(messageArchive, archive);
141
+ // 适配器送达之后发的快照记进会话历史;不等它写完,免得阻塞同一事件的其它监听
142
+ caps.events.use.on('outbound:delivered', msg => {
143
+ track(archive
144
+ .recordOutbound(msg)
145
+ .catch(err => caps.logger.use.warn('[message-archive] 出站消息没能记进会话历史:', err)));
146
+ });
147
+ // 子会话没有窗口,任何适配器都不认领它的出站:还没人认领的由这里认领,记进子会话自己的历史即算送达
148
+ caps.events.use.on('outbound:message', msg => {
149
+ if (msg.delivery || !caps.sessionManager.present)
150
+ return;
151
+ if (!caps.sessionManager.use.getSession(msg.sessionId)?.parentId)
152
+ return;
153
+ msg.delivery = archive.recordOutbound(msg).then(() => ({ ok: true }), error => ({ ok: false, error: textOf(error) }));
154
+ });
72
155
  },
73
156
  });
74
- function createArchiveService({ memory, media, storage, events, logger }, debugLogs) {
157
+ function createArchiveService({ memory, media, storage, sessionManager, authority, events, logger, lifecycle }, debugLogs,
158
+ /** 记下本插件自己发起的后台写,收尾时等它们落定 */
159
+ track) {
75
160
  // 经 memory 的业务句柄调用:一次激活内胜者也可能换人(偏好变更、更高优先级的提供者登场),
76
161
  // 句柄每次调用都打到当时选中的那一家。
162
+ async function saveMessage(sessionId, message, options) {
163
+ await memory.use.saveMessage(sessionId, message);
164
+ void announce(sessionId, message);
165
+ if (debugLogs && options?.debugLabel) {
166
+ logger.use.debug(options.debugLabel);
167
+ }
168
+ }
169
+ /**
170
+ * 落库之后通知监听者,回这次派发(落库的一方不等它)。只发 assistant「对外可见的回复」(memory-vector 据此索引 AI 自身发言):
171
+ * 带 toolCalls 的行是工具调用回合的内部前言(「我来查一下」),从未发给任何人,不该进语义记忆;tool/摘要等其他 saveMessage
172
+ * 用途同理不发。core 的 emit 恒 resolve(per-handler try/catch),无需 catch。
173
+ */
174
+ function announce(sessionId, message) {
175
+ if (message.role !== 'assistant' || !message.content?.trim() || message.toolCalls?.length)
176
+ return Promise.resolve();
177
+ return events.use.emit('assistant:message:archived', { sessionId, message });
178
+ }
179
+ /**
180
+ * 她发的网址图片与视频记完之后补描述:识图拿到描述就把这一条正文里的附件引用换成带描述的(只改这个会话里最近一条含它的),
181
+ * 改到了发 memory:messages-rewritten。记忆后端不支持改写或媒体服务不在时不补;识图超时或失败记一条 warn,这一条保持不带描述
182
+ */
183
+ async function describeLater(sessionId, record, { kind, url }) {
184
+ const mem = memory.use;
185
+ if (!mem.updateMessageContent || !media.present)
186
+ return;
187
+ const service = media.use;
188
+ // 补描述是本插件自己发起的:识别接本插件这次激活的信号,停用、停机时随之停下;时限同样交给识别
189
+ const desc = (await describeWithin(DESCRIBE_TIMEOUT_MS[kind], lifecycle.use.signal, signal => kind === 'image' ? service.describeImage(url, { signal }) : service.describeVideo(url, { signal }))).trim();
190
+ if (!desc)
191
+ return;
192
+ const before = outboundMediaMessage(kind, url, { source: 'agent' }).content;
193
+ const { content } = outboundMediaMessage(kind, url, { desc, source: 'agent' });
194
+ if ((await mem.updateMessageContent(sessionId, before, content, 1)) === 0)
195
+ return;
196
+ await events.use.emit('memory:messages-rewritten', { sessionId, messages: [{ ...record, content }] });
197
+ }
198
+ /** 上次出站记录用掉的时间戳:同一毫秒里的几次出站往后错开,同一会话里的出站记录时间戳各不相同 */
199
+ let lastOutboundAt = 0;
77
200
  return {
78
- async saveMessage(sessionId, message, options) {
79
- await memory.use.saveMessage(sessionId, message);
80
- // assistant 回复落库后通知监听者(memory-vector 据此索引 AI 自身发言)。
81
- // 只发「对外可见的回复」:带 toolCalls 的行是工具调用回合的内部前言
82
- //(「我来查一下」),从未发给任何人,不该进语义记忆;tool/摘要等其他
83
- // saveMessage 用途同理不发。core 的 emit 恒 resolve(per-handler try/catch),无需 catch。
84
- if (message.role === 'assistant' && message.content?.trim() && !message.toolCalls?.length) {
85
- void events.use.emit('assistant:message:archived', { sessionId, message });
86
- }
87
- if (debugLogs && options?.debugLabel) {
88
- logger.use.debug(options.debugLabel);
201
+ saveMessage,
202
+ async recordOutbound(msg) {
203
+ // 要记的内容在第一次等待之前取走(契约:调用之后对消息的改写不算)
204
+ const { sessionId } = msg;
205
+ const at = Math.max(Date.now(), lastOutboundAt + 1);
206
+ const records = outboundRecords(msg).map(({ message, pending }, i) => ({
207
+ message: { ...message, timestamp: at + i },
208
+ pending,
209
+ }));
210
+ lastOutboundAt = Math.max(lastOutboundAt, at + records.length - 1);
211
+ const announced = [];
212
+ for (const { message } of records) {
213
+ await memory.use.saveMessage(sessionId, message);
214
+ announced.push(announce(sessionId, message));
89
215
  }
216
+ // 补描述等这一条的落库通知派发完再开始:改写通知赶在它前面到的话,收录它的一方(memory-vector)删不到还没收录的旧条目
217
+ records.forEach(({ message, pending }, i) => {
218
+ if (!pending)
219
+ return;
220
+ track(announced[i]
221
+ .then(() => describeLater(sessionId, message, pending))
222
+ .catch(err => {
223
+ // 停用、停机时中止不是补不上:不告警
224
+ if (!lifecycle.use.signal.aborted)
225
+ logger.use.warn('[message-archive] 发出的附件没能补上描述,这一条不带描述:', err);
226
+ }));
227
+ });
90
228
  },
91
- async archiveIncoming(incoming) {
229
+ async archiveIncoming(incoming, turn) {
230
+ // 空闲开话题的提示是写给模型的话,不是谁的发言,也不是要留档的事件:不落档、不发 inbound:message:archived
231
+ if (incoming.triggerType === 'idle')
232
+ return undefined;
92
233
  // 调用 plugin-media 一站式处理(识别 attachments 并写回 _attachmentDescriptions)
93
234
  // 仅在 preprocessor 尚未运行(_attachmentDescriptions 未预设)时才调用,避免重复识别。
94
235
  // 对传入的消息对象调用(识别结果随之写回入参):processMessage 按消息对象只处理一次,
@@ -109,7 +250,11 @@ function createArchiveService({ memory, media, storage, events, logger }, debugL
109
250
  ? [...incoming._attachmentDescriptions]
110
251
  : incoming._attachmentDescriptions,
111
252
  };
112
- const content = buildIncomingContent(working);
253
+ const speaker = speakerOf(working, {
254
+ sessionManager: sessionManager.present ? sessionManager.use : undefined,
255
+ authority: authority.present ? authority.use : undefined,
256
+ });
257
+ const content = buildIncomingContent(working, speaker);
113
258
  // 把会话身份信息存入 metadata,供向量检索/上下文渲染等场景使用
114
259
  const meta = {};
115
260
  if (working.userId)
@@ -127,47 +272,65 @@ function createArchiveService({ memory, media, storage, events, logger }, debugL
127
272
  // 平台侧消息 ID(如 OneBot message_id),用于"引用回复"反查归档原文
128
273
  if (working.messageId)
129
274
  meta[WellKnownMetadataKeys.MessageId] = working.messageId;
130
- // 发言人写的话与附件清单:归档正文拼进了发送者前缀、引用与附件描述(给模型看),读历史给人看的一方取这两样
275
+ // 发言人写的话、附件清单与转发:归档正文拼进了发送者前缀、转发的展开、引用与附件描述(给模型看),读历史给人看的一方取
276
+ // 这三样;转发只记 id 与事实,展开已在归档正文里
131
277
  if (working.content !== content)
132
278
  meta[WellKnownMetadataKeys.SpokenContent] = working.content;
279
+ if (working.forwards?.length) {
280
+ meta[WellKnownMetadataKeys.Forwards] = working.forwards.map(({ id, facts }) => facts ? { id, facts } : { id });
281
+ }
282
+ // 加了发送者前缀时记下用的标签:把归档正文重排给模型或界面看的一方按它去掉这一层
283
+ const label = speaker && getSenderLabel(speaker.nickname, speaker.userId);
284
+ if (label)
285
+ meta[WellKnownMetadataKeys.SenderLabel] = label;
133
286
  const roots = new Set(storage.present ? storage.use.listRoots().map(root => root.name) : []);
134
287
  const attachments = attachmentList(working, roots);
135
288
  if (attachments.length > 0)
136
289
  meta[WellKnownMetadataKeys.Attachments] = attachments;
137
- // 触发与来源溯源:用于区分真实用户消息 vs proactive 代发任务/调度等系统注入,
290
+ // 触发与来源溯源:用于区分真实用户消息 vs proactive 代发任务/调度等系统注入,会话服务据此标出被点名与插话,
138
291
  // 也方便事后审计"agent 在 X 群做过什么"
139
292
  if (working.triggerType)
140
- meta.triggerType = working.triggerType;
293
+ meta[WellKnownMetadataKeys.TriggerType] = working.triggerType;
141
294
  if (working.source)
142
295
  meta[WellKnownMetadataKeys.Source] = working.source;
143
- const mentions = extractMentions(content);
296
+ // 进了哪一轮、怎么进的:会话服务据此把它归回回合,连对话回滚据此只删这一轮的
297
+ if (turn) {
298
+ meta[WellKnownMetadataKeys.TurnId] = turn.turnId;
299
+ meta[WellKnownMetadataKeys.TurnEntry] = turn.entry;
300
+ }
301
+ // 平台事件合成的入站给人看的那句:读历史的一方据此把它画成通知
302
+ recordText(meta, working.text);
303
+ // 被 @ 的人只从发言人自己写的话里取:引用、附件描述与转发里别人 @ 的不算
304
+ const mentions = extractMentions(working.content);
144
305
  if (mentions.length > 0)
145
- meta.mentions = mentions;
306
+ meta[WellKnownMetadataKeys.Mentions] = mentions;
146
307
  // proactive 代发任务(如 workflow agent 节点):作为 notice 角色 + kind='cross-session-delegation' 落盘,
147
308
  // 与 plugin-agent 的 buildMessages 保持一致,避免目标会话下次回看历史时
148
309
  // 把派发任务误读为「曾经有用户说过这个」。
149
310
  //
150
311
  // 宿主通知同样落成 notice,kind='host-notice'。只归档宿主正文:注入方包好的不可信段
151
312
  // (hostNotice.untrusted)不写进消息也不写进 metadata——归档的 notice 出口转成 system,
152
- // 之后这个房间每一轮都看得到它,不可信段只能在当轮出现。子类、id 与给界面的事实另记,读历史的一方据此画通知
313
+ // 之后这个房间每一轮都看得到它,不可信段只能在当轮出现。子类、id、给界面的事实与给人看的文字另记,读历史的一方据此画通知
153
314
  if (working.hostNotice) {
154
- const { kind, id, facts } = working.hostNotice;
315
+ const { kind, id, facts, text } = working.hostNotice;
155
316
  meta[WellKnownMetadataKeys.HostNoticeKind] = kind;
156
317
  if (id)
157
318
  meta[WellKnownMetadataKeys.HostNoticeId] = id;
158
319
  if (facts)
159
320
  meta[WellKnownMetadataKeys.HostNoticeFacts] = facts;
321
+ recordText(meta, text);
160
322
  }
161
- const kind = working.hostNotice
323
+ const directive = working.hostNotice
162
324
  ? WellKnownKinds.HostNotice
163
325
  : working.triggerType === 'proactive'
164
326
  ? WellKnownKinds.CrossSessionDelegation
165
327
  : undefined;
328
+ // 平台事件转成的入站(如戳一戳)仍是 user 消息,子类(noticeType)记成 kind,读历史的一方据此给出通知的种类
166
329
  const message = {
167
- role: kind ? 'notice' : 'user',
168
- kind,
330
+ role: directive ? 'notice' : 'user',
331
+ kind: directive ?? working.noticeType,
169
332
  content,
170
- name: kind ? undefined : getMessageName(working.userId),
333
+ name: directive ? undefined : getMessageName(working.userId),
171
334
  timestamp: Date.now(),
172
335
  metadata: Object.keys(meta).length > 0 ? meta : undefined,
173
336
  };
@@ -176,7 +339,7 @@ function createArchiveService({ memory, media, storage, events, logger }, debugL
176
339
  logger.use.debug(`附件消息已写入记忆: session=${working.sessionId}, attachments=${working.attachments.length} | ${content}`);
177
340
  }
178
341
  // 通知监听者:入站消息已落库(用于触发用户档案事实提取等后台任务)
179
- // 与 agent 是否回复无关,所有走 archiveIncoming 的消息都会发出
342
+ // 与 agent 是否回复无关,落了档的入站都会发出
180
343
  events.use
181
344
  .emit('inbound:message:archived', {
182
345
  sessionId: working.sessionId,
@@ -208,6 +371,7 @@ function createArchiveService({ memory, media, storage, events, logger }, debugL
208
371
  metadata.operatorId = opts.operatorId;
209
372
  if (opts.data)
210
373
  Object.assign(metadata, opts.data);
374
+ recordText(metadata, opts.text);
211
375
  const message = {
212
376
  role: 'notice',
213
377
  kind: opts.noticeType,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ readonly displayName: "Message archive";
3
+ readonly debugLogsLabel: "Archive debug logs";
4
+ readonly debugLogsDescription: "Log debug lines such as image descriptions completing and messages being written to memory.";
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;AAGA,wBAIG"}
@@ -0,0 +1,7 @@
1
+ import { defineLocale } from '@aalis/schema-i18n';
2
+ export default defineLocale()({
3
+ displayName: 'Message archive',
4
+ debugLogsLabel: 'Archive debug logs',
5
+ debugLogsDescription: 'Log debug lines such as image descriptions completing and messages being written to memory.',
6
+ });
7
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,oBAAoB;IACpC,oBAAoB,EAAE,6FAA6F;CACpH,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ declare const SOURCE: {
2
+ readonly displayName: "消息归档";
3
+ readonly debugLogsLabel: "归档调试日志";
4
+ readonly debugLogsDescription: "记录图片解释完成和消息写入记忆等调试日志。";
5
+ };
6
+ export type Source = typeof SOURCE;
7
+ export declare const t: import("@aalis/schema-i18n").TextFactory<{
8
+ readonly displayName: "消息归档";
9
+ readonly debugLogsLabel: "归档调试日志";
10
+ readonly debugLogsDescription: "记录图片解释完成和消息写入记忆等调试日志。";
11
+ }>;
12
+ export {};
13
+ //# sourceMappingURL=texts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM;;;;CAIF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;EAKZ,CAAC"}
package/dist/texts.js ADDED
@@ -0,0 +1,15 @@
1
+ // 本插件自己的原文字典:显示名与配置项
2
+ import { defineTexts } from '@aalis/schema-i18n';
3
+ import en from './locales/en.js';
4
+ const SOURCE = {
5
+ displayName: '消息归档',
6
+ debugLogsLabel: '归档调试日志',
7
+ debugLogsDescription: '记录图片解释完成和消息写入记忆等调试日志。',
8
+ };
9
+ export const t = defineTexts({
10
+ ns: '@aalis/plugin-message-archive',
11
+ language: 'zh-CN',
12
+ source: SOURCE,
13
+ locales: { en },
14
+ });
15
+ //# sourceMappingURL=texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,QAAQ;IACxB,oBAAoB,EAAE,uBAAuB;CACrC,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;IAC3B,EAAE,EAAE,+BAA+B;IACnC,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE,EAAE;CAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-message-archive",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,32 +24,38 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/schema-config": ">=0.15.0 <1.0.0",
28
- "@aalis/schema-message": ">=0.10.0 <1.0.0",
29
- "@aalis/api-media": ">=0.12.0 <1.0.0",
30
- "@aalis/api-memory": ">=0.8.0 <1.0.0",
31
- "@aalis/api-message-archive": ">=0.8.0 <1.0.0",
32
- "@aalis/api-storage": ">=0.8.0 <1.0.0"
27
+ "@aalis/schema-config": ">=0.16.0 <1.0.0",
28
+ "@aalis/schema-i18n": ">=0.1.0 <1.0.0",
29
+ "@aalis/schema-message": ">=0.11.0 <1.0.0",
30
+ "@aalis/api-authority": ">=0.12.0 <1.0.0",
31
+ "@aalis/api-media": ">=0.13.1 <1.0.0",
32
+ "@aalis/api-memory": ">=0.9.0 <1.0.0",
33
+ "@aalis/api-message-archive": ">=0.9.0 <1.0.0",
34
+ "@aalis/api-session-manager": ">=0.12.0 <1.0.0",
35
+ "@aalis/api-storage": ">=0.9.0 <1.0.0"
33
36
  },
34
37
  "devDependencies": {
35
38
  "@types/node": "^22.0.0",
36
39
  "typescript": "^5.7.0",
37
- "@aalis/core": "0.20.0"
40
+ "@aalis/core": "0.21.1"
38
41
  },
39
42
  "peerDependencies": {
40
- "@aalis/core": ">=0.20.0 <1.0.0"
43
+ "@aalis/core": ">=0.21.0 <1.0.0"
41
44
  },
42
45
  "aalis": {
43
46
  "service": {
44
47
  "required": [
45
48
  "config",
46
49
  "events",
50
+ "lifecycle",
47
51
  "logger",
48
52
  "memory",
49
53
  "provide"
50
54
  ],
51
55
  "optional": [
56
+ "authority",
52
57
  "media",
58
+ "session-manager",
53
59
  "storage"
54
60
  ],
55
61
  "provides": [