@lumenflow/memory 5.3.2 → 5.5.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.
@@ -0,0 +1,15 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
3
+ export function createInboxSignalView(options) {
4
+ const { signal, receipt, unread = receipt === undefined } = options;
5
+ const pending_ack = signal.requires_ack === true &&
6
+ receipt?.delivery_state !== 'acked' &&
7
+ receipt?.delivery_state !== 'rejected';
8
+ return {
9
+ signal,
10
+ ...(receipt ? { receipt } : {}),
11
+ unread,
12
+ pending_ack,
13
+ };
14
+ }
15
+ //# sourceMappingURL=inbox-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox-view.js","sourceRoot":"","sources":["../src/inbox-view.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAiB5D,MAAM,UAAU,qBAAqB,CAAC,OAAqC;IACzE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,KAAK,SAAS,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,WAAW,GACf,MAAM,CAAC,YAAY,KAAK,IAAI;QAC5B,OAAO,EAAE,cAAc,KAAK,OAAO;QACnC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC;IAEzC,OAAO;QACL,MAAM;QACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export * from './mem-id.js';
14
14
  export * from './mem-init-core.js';
15
15
  export * from './mem-ready-core.js';
16
16
  export * from './mem-signal-core.js';
17
+ export * from './inbox-view.js';
17
18
  export * from './signal-cleanup-core.js';
18
19
  export * from './mem-start-core.js';
19
20
  export { filterSummarizableNodes, summarizeWu, getCompactionRatio as getSummarizeCompactionRatio, } from './mem-summarize-core.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAE5D;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,kBAAkB,IAAI,2BAA2B,GAClD,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AAEtC,6CAA6C;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAE5D;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,kBAAkB,IAAI,2BAA2B,GAClD,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AAEtC,6CAA6C;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
@@ -18,10 +18,13 @@
18
18
  import { randomBytes } from 'node:crypto';
19
19
  import fs from 'node:fs/promises';
20
20
  import path from 'node:path';
21
+ import { FILE_EXTENSIONS } from '@lumenflow/core/wu-constants';
21
22
  import { createError, ErrorCodes } from '@lumenflow/core/error-handler';
23
+ import { A2A_SCHEMA_VERSION_V1, A2A_SIGNAL_ENTRY_KIND_V1, A2ASignalV1Schema, } from '@lumenflow/control-plane-sdk/a2a';
22
24
  import { MEMORY_COORDINATION_SIGNAL_FIELD_NAMES, isNonEmptyCoordinationFieldValue, normalizeCoordinationField, } from '@lumenflow/packs-agent-runtime';
23
25
  import { LUMENFLOW_MEMORY_PATHS } from './paths.js';
24
26
  import { MEMORY_EVENT_KINDS, buildKernelEventV2, safelyEmitMemoryEvent, } from './memory-emissions.js';
27
+ import { createInboxSignalView } from './inbox-view.js';
25
28
  /**
26
29
  * Signal file name constant
27
30
  */
@@ -42,10 +45,14 @@ const WU_ID_PATTERN = /^WU-\d+$/;
42
45
  * Signal ID prefix
43
46
  */
44
47
  const SIGNAL_ID_PREFIX = 'sig-';
48
+ const RECEIPT_ID_PREFIX = 'rcpt-';
49
+ const THREAD_ID_PREFIX = 'thread-';
45
50
  /**
46
51
  * Number of hex characters in signal ID suffix
47
52
  */
48
53
  const SIGNAL_ID_LENGTH = 8;
54
+ const RECEIPT_ID_LENGTH = 8;
55
+ const THREAD_ID_LENGTH = 8;
49
56
  /**
50
57
  * Error messages for validation
51
58
  */
@@ -59,6 +66,13 @@ const ERROR_MESSAGES = {
59
66
  const DEFAULT_SIGNAL_TYPE = 'coordination';
60
67
  const DEFAULT_SIGNAL_SENDER = 'system';
61
68
  const DEFAULT_SIGNAL_ORIGIN = 'local';
69
+ const DEFAULT_READER_ID = 'local-session';
70
+ const DEFAULT_BROADCAST_INTERRUPT_CLASS = 'advisory';
71
+ const DEFAULT_DIRECTED_INTERRUPT_CLASS = 'priority';
72
+ const LEGACY_GLOBAL_READER_ID = '__legacy_global__';
73
+ const SESSION_DIR_RELATIVE_PATH = '.lumenflow/sessions';
74
+ const SESSION_COMPAT_POINTER_FILE = 'current.json';
75
+ const SESSION_RECORD_EXTENSION = FILE_EXTENSIONS.JSON;
62
76
  function normalizeOptionalString(value, fieldName) {
63
77
  if (value === undefined) {
64
78
  return undefined;
@@ -83,6 +97,12 @@ function parseStrictSignalRecord(line, lineNumber) {
83
97
  if (typeof parsed !== 'object' || parsed === null) {
84
98
  throw createError(ErrorCodes.VALIDATION_ERROR, `${ERROR_MESSAGES.INVALID_SIGNAL_RECORD} at line ${lineNumber}`);
85
99
  }
100
+ if (isRecord(parsed) && parsed.kind === A2A_SIGNAL_ENTRY_KIND_V1) {
101
+ if (!isRecord(parsed.payload)) {
102
+ throw createError(ErrorCodes.VALIDATION_ERROR, `${ERROR_MESSAGES.INVALID_SIGNAL_RECORD} at line ${lineNumber}`);
103
+ }
104
+ return fromA2ASignalPayload(parsed.payload);
105
+ }
86
106
  const candidate = parsed;
87
107
  if (!isNonEmptyString(candidate.id) ||
88
108
  !isNonEmptyString(candidate.message) ||
@@ -105,14 +125,27 @@ function parseStrictSignalRecord(line, lineNumber) {
105
125
  throw createError(ErrorCodes.VALIDATION_ERROR, `${ERROR_MESSAGES.INVALID_SIGNAL_RECORD} at line ${lineNumber} (${axisName})`);
106
126
  }
107
127
  }
128
+ const parsedRecipients = candidate.recipients === undefined
129
+ ? undefined
130
+ : Array.isArray(candidate.recipients) &&
131
+ candidate.recipients.every((recipient) => isNonEmptyString(recipient))
132
+ ? candidate.recipients
133
+ : null;
134
+ if (parsedRecipients === null) {
135
+ throw createError(ErrorCodes.VALIDATION_ERROR, `${ERROR_MESSAGES.INVALID_SIGNAL_RECORD} at line ${lineNumber} (recipients)`);
136
+ }
108
137
  return {
109
138
  ...candidate,
110
139
  id: candidate.id,
140
+ signal_id: candidate.signal_id ?? candidate.id,
141
+ schema_version: candidate.schema_version ?? A2A_SCHEMA_VERSION_V1,
111
142
  message: candidate.message,
112
143
  created_at: candidate.created_at,
113
144
  read: candidate.read,
114
145
  type: candidate.type,
115
146
  sender: candidate.sender,
147
+ sender_identity: candidate.sender_identity ?? candidate.sender,
148
+ recipients: normalizeRecipientList(parsedRecipients, candidate.target_agent),
116
149
  origin: candidate.origin,
117
150
  remote_id: candidate.remote_id,
118
151
  };
@@ -130,6 +163,239 @@ function generateSignalId() {
130
163
  const hex = bytes.toString('hex').slice(0, SIGNAL_ID_LENGTH);
131
164
  return `${SIGNAL_ID_PREFIX}${hex}`;
132
165
  }
166
+ function generateReceiptId() {
167
+ const bytes = randomBytes(4);
168
+ const hex = bytes.toString('hex').slice(0, RECEIPT_ID_LENGTH);
169
+ return `${RECEIPT_ID_PREFIX}${hex}`;
170
+ }
171
+ function generateThreadId() {
172
+ const bytes = randomBytes(4);
173
+ const hex = bytes.toString('hex').slice(0, THREAD_ID_LENGTH);
174
+ return `${THREAD_ID_PREFIX}${hex}`;
175
+ }
176
+ function isRecord(value) {
177
+ return typeof value === 'object' && value !== null;
178
+ }
179
+ function normalizeA2AOrigin(value) {
180
+ return value === 'remote' ? 'remote' : 'local';
181
+ }
182
+ function normalizeReaderId(readerId) {
183
+ const normalized = readerId?.trim();
184
+ return normalized && normalized.length > 0 ? normalized : DEFAULT_READER_ID;
185
+ }
186
+ function getSessionsPath(baseDir) {
187
+ return path.join(baseDir, SESSION_DIR_RELATIVE_PATH);
188
+ }
189
+ function toReaderSessionRecord(parsed) {
190
+ if (!isRecord(parsed)) {
191
+ return null;
192
+ }
193
+ if (typeof parsed.completed === 'string') {
194
+ return null;
195
+ }
196
+ const sessionId = isNonEmptyString(parsed.session_id) ? parsed.session_id.trim() : undefined;
197
+ if (!sessionId) {
198
+ return null;
199
+ }
200
+ const agentIdentity = isNonEmptyString(parsed.agent_identity)
201
+ ? parsed.agent_identity.trim()
202
+ : undefined;
203
+ return {
204
+ sessionId,
205
+ ...(agentIdentity ? { agentIdentity } : {}),
206
+ };
207
+ }
208
+ async function readReaderSessionRecord(filePath) {
209
+ try {
210
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool reads known session files
211
+ const raw = await fs.readFile(filePath, { encoding: 'utf-8' });
212
+ return toReaderSessionRecord(JSON.parse(raw));
213
+ }
214
+ catch {
215
+ return null;
216
+ }
217
+ }
218
+ async function loadReaderSessionRecords(baseDir) {
219
+ const sessionsPath = getSessionsPath(baseDir);
220
+ let entries;
221
+ try {
222
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool reads known session directory
223
+ entries = await fs.readdir(sessionsPath);
224
+ }
225
+ catch {
226
+ return [];
227
+ }
228
+ const records = await Promise.all(entries
229
+ .filter((entry) => entry.endsWith(SESSION_RECORD_EXTENSION))
230
+ .map((entry) => readReaderSessionRecord(path.join(sessionsPath, entry))));
231
+ return records.filter((record) => record !== null);
232
+ }
233
+ /**
234
+ * Resolve the reader key used for per-recipient signal receipts.
235
+ *
236
+ * Explicit `agent_identity` wins when a session record provides it. This lets
237
+ * restarted or concurrent sessions intentionally share read state. Without an
238
+ * explicit identity, the session_id remains the receipt key.
239
+ */
240
+ export async function resolveReaderIdentity(baseDir, readerId) {
241
+ const identities = await resolveReaderIdentities(baseDir, readerId);
242
+ return identities[0] ?? normalizeReaderId(readerId);
243
+ }
244
+ export async function resolveReaderIdentities(baseDir, readerId) {
245
+ const normalizedReaderId = normalizeReaderId(readerId);
246
+ if (readerId && readerId.trim().length > 0) {
247
+ const sessions = await loadReaderSessionRecords(baseDir);
248
+ const normalizedTarget = readerId.trim();
249
+ const matchedSessions = sessions.filter((session) => session.sessionId === normalizedTarget || session.agentIdentity === normalizedTarget);
250
+ const identities = matchedSessions.flatMap((session) => [
251
+ ...(session.agentIdentity ? [session.agentIdentity] : []),
252
+ session.sessionId,
253
+ ]);
254
+ return identities.length > 0 ? Array.from(new Set(identities)) : [normalizedReaderId];
255
+ }
256
+ const currentSession = await readReaderSessionRecord(path.join(getSessionsPath(baseDir), SESSION_COMPAT_POINTER_FILE));
257
+ if (!currentSession) {
258
+ return [normalizedReaderId];
259
+ }
260
+ return Array.from(new Set([
261
+ ...(currentSession.agentIdentity ? [currentSession.agentIdentity] : []),
262
+ currentSession.sessionId,
263
+ ]));
264
+ }
265
+ function normalizeRecipientList(recipients, targetAgent) {
266
+ const normalizedRecipients = Array.from(new Set((recipients ?? [])
267
+ .map((recipient) => recipient.trim())
268
+ .filter((recipient) => recipient.length > 0)));
269
+ if (normalizedRecipients.length > 0) {
270
+ return normalizedRecipients;
271
+ }
272
+ return targetAgent ? [targetAgent] : [];
273
+ }
274
+ export function getSignalRecipients(signal) {
275
+ return normalizeRecipientList(signal.recipients, signal.target_agent);
276
+ }
277
+ export function isSignalBroadcast(signal) {
278
+ return getSignalRecipients(signal).length === 0;
279
+ }
280
+ export function isSignalAddressedToAny(signal, identities) {
281
+ const identitySet = new Set(identities);
282
+ return getSignalRecipients(signal).some((recipient) => identitySet.has(recipient));
283
+ }
284
+ export function toA2ASignalPayload(signal) {
285
+ const signalOrigin = signal.origin ?? DEFAULT_SIGNAL_ORIGIN;
286
+ const canonicalOrigin = normalizeA2AOrigin(signalOrigin);
287
+ const payload = {
288
+ schema_version: A2A_SCHEMA_VERSION_V1,
289
+ signal_id: signal.signal_id ?? signal.id,
290
+ sender_identity: signal.sender_identity ?? signal.sender ?? DEFAULT_SIGNAL_SENDER,
291
+ recipients: signal.recipients ?? normalizeRecipientList(undefined, signal.target_agent),
292
+ message: signal.message,
293
+ created_at: signal.created_at,
294
+ origin: canonicalOrigin,
295
+ type: signal.type ?? DEFAULT_SIGNAL_TYPE,
296
+ sender: signal.sender ?? signal.sender_identity ?? DEFAULT_SIGNAL_SENDER,
297
+ read: signal.read,
298
+ remote_id: signal.remote_id ?? signal.id,
299
+ };
300
+ if (signalOrigin !== canonicalOrigin)
301
+ payload.origin_context = signalOrigin;
302
+ if (signal.workspace_id)
303
+ payload.workspace_id = signal.workspace_id;
304
+ if (signal.thread_id)
305
+ payload.thread_id = signal.thread_id;
306
+ if (signal.reply_to)
307
+ payload.reply_to = signal.reply_to;
308
+ if (signal.intent)
309
+ payload.intent = signal.intent;
310
+ if (signal.interrupt_class)
311
+ payload.interrupt_class = signal.interrupt_class;
312
+ if (signal.requires_ack !== undefined)
313
+ payload.requires_ack = signal.requires_ack;
314
+ if (signal.idempotency_key)
315
+ payload.idempotency_key = signal.idempotency_key;
316
+ if (signal.wu_id)
317
+ payload.wu_id = signal.wu_id;
318
+ if (signal.initiative)
319
+ payload.initiative = signal.initiative;
320
+ if (signal.lane)
321
+ payload.lane = signal.lane;
322
+ if (signal.role)
323
+ payload.role = signal.role;
324
+ if (signal.target_role)
325
+ payload.target_role = signal.target_role;
326
+ if (signal.delegation_id)
327
+ payload.delegation_id = signal.delegation_id;
328
+ if (signal.target_agent)
329
+ payload.target_agent = signal.target_agent;
330
+ A2ASignalV1Schema.parse(payload);
331
+ return payload;
332
+ }
333
+ function toA2ASignalEntry(signal) {
334
+ const payload = toA2ASignalPayload(signal);
335
+ return {
336
+ id: payload.signal_id,
337
+ kind: A2A_SIGNAL_ENTRY_KIND_V1,
338
+ timestamp: payload.created_at,
339
+ payload,
340
+ origin: payload.origin,
341
+ source_agent_id: payload.sender_identity,
342
+ message: signal.message,
343
+ created_at: signal.created_at,
344
+ read: signal.read,
345
+ signal_id: payload.signal_id,
346
+ schema_version: payload.schema_version,
347
+ type: signal.type,
348
+ sender: signal.sender,
349
+ sender_identity: payload.sender_identity,
350
+ recipients: payload.recipients,
351
+ remote_id: signal.remote_id,
352
+ wu_id: signal.wu_id,
353
+ lane: signal.lane,
354
+ target_agent: signal.target_agent,
355
+ role: signal.role,
356
+ target_role: signal.target_role,
357
+ initiative: signal.initiative,
358
+ delegation_id: signal.delegation_id,
359
+ thread_id: signal.thread_id,
360
+ reply_to: signal.reply_to,
361
+ intent: signal.intent,
362
+ interrupt_class: signal.interrupt_class,
363
+ requires_ack: signal.requires_ack,
364
+ };
365
+ }
366
+ function fromA2ASignalPayload(payload) {
367
+ const parsed = A2ASignalV1Schema.parse(payload);
368
+ const targetAgent = isNonEmptyString(payload.target_agent) && payload.target_agent.trim().length > 0
369
+ ? payload.target_agent.trim()
370
+ : parsed.recipients[0];
371
+ const sender = isNonEmptyString(payload.sender) && payload.sender.trim().length > 0
372
+ ? payload.sender.trim()
373
+ : parsed.sender_identity;
374
+ const remoteId = isNonEmptyString(payload.remote_id) && payload.remote_id.trim().length > 0
375
+ ? payload.remote_id.trim()
376
+ : parsed.signal_id;
377
+ const originContext = isNonEmptyString(payload.origin_context) && payload.origin_context.trim().length > 0
378
+ ? payload.origin_context.trim()
379
+ : undefined;
380
+ const type = isNonEmptyString(payload.type) && payload.type.trim().length > 0
381
+ ? payload.type.trim()
382
+ : DEFAULT_SIGNAL_TYPE;
383
+ return {
384
+ ...parsed,
385
+ id: parsed.signal_id,
386
+ signal_id: parsed.signal_id,
387
+ message: parsed.message,
388
+ created_at: parsed.created_at,
389
+ read: typeof payload.read === 'boolean' ? payload.read : false,
390
+ type,
391
+ sender,
392
+ sender_identity: parsed.sender_identity,
393
+ recipients: parsed.recipients,
394
+ origin: originContext ?? parsed.origin ?? DEFAULT_SIGNAL_ORIGIN,
395
+ remote_id: remoteId,
396
+ ...(targetAgent ? { target_agent: targetAgent } : {}),
397
+ };
398
+ }
133
399
  // WU-1548: NodeFsError imported from @lumenflow/core/wu-constants (consolidated)
134
400
  /**
135
401
  * Gets the memory directory path for a project.
@@ -158,16 +424,38 @@ function getSignalsPath(baseDir) {
158
424
  function getReceiptsPath(baseDir) {
159
425
  return path.join(getMemoryDir(baseDir), SIGNAL_RECEIPTS_FILE_NAME);
160
426
  }
161
- /**
162
- * Loads read receipts from the receipts file (WU-1472).
163
- *
164
- * Returns a Set of signal IDs that have been marked as read via receipts.
165
- * If the file does not exist, returns an empty Set.
166
- *
167
- * @param baseDir - Project base directory
168
- * @returns Set of signal IDs with read receipts
169
- */
170
- async function loadReceiptIds(baseDir) {
427
+ async function readSignalRecords(baseDir, compatibilityMode = 'strict') {
428
+ const signalsPath = getSignalsPath(baseDir);
429
+ let content;
430
+ try {
431
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool reads signals file
432
+ content = await fs.readFile(signalsPath, { encoding: 'utf-8' });
433
+ }
434
+ catch (err) {
435
+ const error = err;
436
+ if (error.code === 'ENOENT') {
437
+ return [];
438
+ }
439
+ throw error;
440
+ }
441
+ const lines = content.split('\n').filter((line) => line.trim());
442
+ const signals = [];
443
+ for (const [index, line] of lines.entries()) {
444
+ try {
445
+ signals.push(parseStrictSignalRecord(line, index + 1));
446
+ }
447
+ catch (err) {
448
+ const message = err instanceof Error ? err.message : String(err);
449
+ const isLegacySignalError = message.includes(ERROR_MESSAGES.LEGACY_SIGNAL_RECORD);
450
+ if (compatibilityMode === 'skip-legacy' && isLegacySignalError) {
451
+ continue;
452
+ }
453
+ throw err;
454
+ }
455
+ }
456
+ return signals;
457
+ }
458
+ async function loadSignalReceipts(baseDir) {
171
459
  const receiptsPath = getReceiptsPath(baseDir);
172
460
  let content;
173
461
  try {
@@ -177,18 +465,116 @@ async function loadReceiptIds(baseDir) {
177
465
  catch (err) {
178
466
  const error = err;
179
467
  if (error.code === 'ENOENT') {
180
- return new Set();
468
+ return [];
181
469
  }
182
470
  throw error;
183
471
  }
184
472
  const lines = content.split('\n').filter((line) => line.trim());
185
- const ids = new Set();
186
- for (const line of lines) {
187
- const receipt = JSON.parse(line);
188
- ids.add(receipt.signal_id);
473
+ return lines.map((line) => JSON.parse(line));
474
+ }
475
+ function receiptReaderId(receipt) {
476
+ return receipt.reader_id ?? receipt.reader_identity ?? LEGACY_GLOBAL_READER_ID;
477
+ }
478
+ function toA2AReceipt(receipt) {
479
+ const readerIdentity = receipt.reader_identity ?? receipt.reader_id;
480
+ if (!readerIdentity || !receipt.receipt_id || !receipt.delivery_state) {
481
+ return undefined;
482
+ }
483
+ return {
484
+ schema_version: A2A_SCHEMA_VERSION_V1,
485
+ receipt_id: receipt.receipt_id,
486
+ signal_id: receipt.signal_id,
487
+ reader_identity: readerIdentity,
488
+ read_at: receipt.read_at,
489
+ delivery_state: receipt.delivery_state,
490
+ ...(receipt.idempotency_key ? { idempotency_key: receipt.idempotency_key } : {}),
491
+ };
492
+ }
493
+ /**
494
+ * Loads read receipts from the receipts file (WU-1472/WU-2912).
495
+ *
496
+ * Returns a map of signal IDs to reader IDs. Legacy receipts without a reader
497
+ * are represented by a sentinel that preserves their historical global-read
498
+ * behavior.
499
+ *
500
+ * @param baseDir - Project base directory
501
+ * @returns Map of signal IDs to reader IDs with read receipts
502
+ */
503
+ async function loadReceiptIds(baseDir) {
504
+ const receipts = await loadSignalReceipts(baseDir);
505
+ const ids = new Map();
506
+ for (const receipt of receipts) {
507
+ const readers = ids.get(receipt.signal_id) ?? new Set();
508
+ readers.add(receiptReaderId(receipt));
509
+ ids.set(receipt.signal_id, readers);
189
510
  }
190
511
  return ids;
191
512
  }
513
+ function isReadForReader(receiptIds, signalId, readerId) {
514
+ const readers = receiptIds.get(signalId);
515
+ return readers?.has(readerId) === true || readers?.has(LEGACY_GLOBAL_READER_ID) === true;
516
+ }
517
+ function findLatestReceipt(receipts, predicate) {
518
+ for (let index = receipts.length - 1; index >= 0; index -= 1) {
519
+ const receipt = receipts[index];
520
+ if (receipt && predicate(receipt)) {
521
+ return receipt;
522
+ }
523
+ }
524
+ return undefined;
525
+ }
526
+ function findReceiptForReader(receipts, signalId, readerId) {
527
+ const receipt = findLatestReceipt(receipts, (candidate) => {
528
+ return candidate.signal_id === signalId && receiptReaderId(candidate) === readerId;
529
+ }) ??
530
+ findLatestReceipt(receipts, (candidate) => {
531
+ return (candidate.signal_id === signalId && receiptReaderId(candidate) === LEGACY_GLOBAL_READER_ID);
532
+ });
533
+ return receipt ? toA2AReceipt(receipt) : undefined;
534
+ }
535
+ function findReplyThreadContext(signals, replyTo) {
536
+ if (!replyTo) {
537
+ return {};
538
+ }
539
+ const parent = signals.find((signal) => signal.id === replyTo || signal.signal_id === replyTo);
540
+ if (!parent) {
541
+ return {};
542
+ }
543
+ const threadId = parent.thread_id ?? parent.id;
544
+ const root = signals.find((signal) => signal.thread_id === threadId && !signal.reply_to) ?? parent;
545
+ return {
546
+ threadId,
547
+ rootSignalId: root.id,
548
+ };
549
+ }
550
+ function responseDeliveryState(intent) {
551
+ if (intent === 'AGREE') {
552
+ return 'acked';
553
+ }
554
+ if (intent === 'REJECT') {
555
+ return 'rejected';
556
+ }
557
+ return undefined;
558
+ }
559
+ async function appendResponseReceipt(baseDir, input) {
560
+ const receiptId = generateReceiptId();
561
+ const receipt = {
562
+ schema_version: A2A_SCHEMA_VERSION_V1,
563
+ receipt_id: receiptId,
564
+ signal_id: input.signalId,
565
+ reader_id: input.readerIdentity,
566
+ reader_identity: input.readerIdentity,
567
+ read_at: new Date().toISOString(),
568
+ delivery_state: input.deliveryState,
569
+ idempotency_key: `${receiptId}:${input.readerIdentity}:${input.signalId}:${input.deliveryState}`,
570
+ };
571
+ const memoryDir = getMemoryDir(baseDir);
572
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool creates known directory
573
+ await fs.mkdir(memoryDir, { recursive: true });
574
+ const receiptsPath = getReceiptsPath(baseDir);
575
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool writes receipts file
576
+ await fs.appendFile(receiptsPath, `${JSON.stringify(receipt)}\n`, 'utf-8');
577
+ }
192
578
  /**
193
579
  * Validates a WU ID format.
194
580
  *
@@ -218,7 +604,7 @@ function isValidWuId(wuId) {
218
604
  * });
219
605
  */
220
606
  export async function createSignal(baseDir, options) {
221
- const { message, wuId, lane, type, sender, target_agent, origin, remote_id, role, target_role, initiative, delegation_id, orgId, eventSink, eventTimestamp, } = options;
607
+ const { message, workspace_id, wuId, lane, type, sender, target_agent, recipients, origin, remote_id, thread_id, reply_to, intent, interrupt_class, requires_ack, idempotency_key, role, target_role, initiative, delegation_id, orgId, eventSink, eventTimestamp, } = options;
222
608
  // Validate message is provided and non-empty
223
609
  if (!message || typeof message !== 'string' || message.trim().length === 0) {
224
610
  throw createError(ErrorCodes.VALIDATION_ERROR, ERROR_MESSAGES.MESSAGE_REQUIRED);
@@ -232,23 +618,42 @@ export async function createSignal(baseDir, options) {
232
618
  const normalizedTargetAgent = normalizeOptionalString(target_agent, 'target_agent');
233
619
  const normalizedOrigin = normalizeOptionalString(origin, 'origin') ?? DEFAULT_SIGNAL_ORIGIN;
234
620
  const normalizedRemoteId = normalizeOptionalString(remote_id, 'remote_id');
621
+ const normalizedWorkspaceId = normalizeOptionalString(workspace_id, 'workspace_id');
622
+ const normalizedThreadId = normalizeOptionalString(thread_id, 'thread_id');
623
+ const normalizedReplyTo = normalizeOptionalString(reply_to, 'reply_to');
624
+ const normalizedIdempotencyKey = normalizeOptionalString(idempotency_key, 'idempotency_key');
235
625
  // WU-2755 (ADR-014 extension 3): structured coordination axes. Memory core
236
626
  // treats them as opaque non-empty strings; the pack owns vocabulary.
237
627
  const normalizedRole = normalizeCoordinationField(role, 'role');
238
628
  const normalizedTargetRole = normalizeCoordinationField(target_role, 'target_role');
239
629
  const normalizedInitiative = normalizeCoordinationField(initiative, 'initiative');
240
630
  const normalizedDelegationId = normalizeCoordinationField(delegation_id, 'delegation_id');
631
+ const normalizedRecipients = normalizeRecipientList(recipients, normalizedTargetAgent);
632
+ const existingSignals = normalizedReplyTo ? await readSignalRecords(baseDir, 'skip-legacy') : [];
633
+ const replyThreadContext = findReplyThreadContext(existingSignals, normalizedReplyTo);
634
+ const finalThreadId = normalizedThreadId ??
635
+ replyThreadContext.threadId ??
636
+ (normalizedRecipients.length > 0 && !normalizedReplyTo ? generateThreadId() : undefined);
637
+ const finalInterruptClass = interrupt_class ??
638
+ (normalizedRecipients.length > 0
639
+ ? DEFAULT_DIRECTED_INTERRUPT_CLASS
640
+ : DEFAULT_BROADCAST_INTERRUPT_CLASS);
241
641
  // Build signal object
242
642
  const signal = {
243
643
  id: generateSignalId(),
644
+ schema_version: A2A_SCHEMA_VERSION_V1,
244
645
  message: message.trim(),
245
646
  created_at: new Date().toISOString(),
246
647
  read: false,
247
648
  type: normalizedType,
248
649
  sender: normalizedSender,
650
+ sender_identity: normalizedSender,
651
+ recipients: normalizedRecipients,
249
652
  origin: normalizedOrigin,
250
653
  remote_id: '',
654
+ interrupt_class: finalInterruptClass,
251
655
  };
656
+ signal.signal_id = signal.id;
252
657
  signal.remote_id = normalizedRemoteId ?? signal.id;
253
658
  // Add optional fields
254
659
  if (wuId) {
@@ -260,6 +665,24 @@ export async function createSignal(baseDir, options) {
260
665
  if (normalizedTargetAgent) {
261
666
  signal.target_agent = normalizedTargetAgent;
262
667
  }
668
+ if (normalizedWorkspaceId) {
669
+ signal.workspace_id = normalizedWorkspaceId;
670
+ }
671
+ if (finalThreadId) {
672
+ signal.thread_id = finalThreadId;
673
+ }
674
+ if (normalizedReplyTo) {
675
+ signal.reply_to = normalizedReplyTo;
676
+ }
677
+ if (intent) {
678
+ signal.intent = intent;
679
+ }
680
+ if (requires_ack !== undefined) {
681
+ signal.requires_ack = requires_ack;
682
+ }
683
+ if (normalizedIdempotencyKey) {
684
+ signal.idempotency_key = normalizedIdempotencyKey;
685
+ }
263
686
  // WU-2755 structured ADR-014 axes (additive, optional).
264
687
  if (normalizedRole) {
265
688
  signal.role = normalizedRole;
@@ -279,9 +702,18 @@ export async function createSignal(baseDir, options) {
279
702
  await fs.mkdir(memoryDir, { recursive: true });
280
703
  // Append signal to file (append-only for speed)
281
704
  const signalsPath = getSignalsPath(baseDir);
282
- const line = `${JSON.stringify(signal)}\n`;
705
+ const line = `${JSON.stringify(toA2ASignalEntry(signal))}\n`;
283
706
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool writes signals file
284
707
  await fs.appendFile(signalsPath, line, 'utf-8');
708
+ const deliveryState = responseDeliveryState(intent);
709
+ const responseTargetSignalId = replyThreadContext.rootSignalId ?? normalizedReplyTo;
710
+ if (deliveryState && responseTargetSignalId) {
711
+ await appendResponseReceipt(baseDir, {
712
+ signalId: responseTargetSignalId,
713
+ readerIdentity: normalizedSender,
714
+ deliveryState,
715
+ });
716
+ }
285
717
  if (orgId && eventSink) {
286
718
  const eventKind = normalizedOrigin === 'remote'
287
719
  ? MEMORY_EVENT_KINDS.SIGNAL_RECEIVED
@@ -325,42 +757,16 @@ export async function createSignal(baseDir, options) {
325
757
  * });
326
758
  */
327
759
  export async function loadSignals(baseDir, options = {}) {
328
- const { wuId, lane, unreadOnly, since, compatibilityMode = 'strict', targetRole, initiative, delegationId, targetAgent, } = options;
329
- const signalsPath = getSignalsPath(baseDir);
330
- // Read file content
331
- let content;
332
- try {
333
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool reads signals file
334
- content = await fs.readFile(signalsPath, { encoding: 'utf-8' });
335
- }
336
- catch (err) {
337
- const error = err;
338
- if (error.code === 'ENOENT') {
339
- // File doesn't exist - return empty array
340
- return [];
341
- }
342
- throw error;
343
- }
344
- // Parse JSONL content
345
- const lines = content.split('\n').filter((line) => line.trim());
346
- const signals = [];
347
- for (const [index, line] of lines.entries()) {
348
- try {
349
- signals.push(parseStrictSignalRecord(line, index + 1));
350
- }
351
- catch (err) {
352
- const message = err instanceof Error ? err.message : String(err);
353
- const isLegacySignalError = message.includes(ERROR_MESSAGES.LEGACY_SIGNAL_RECORD);
354
- if (compatibilityMode === 'skip-legacy' && isLegacySignalError) {
355
- continue;
356
- }
357
- throw err;
358
- }
359
- }
760
+ const { wuId, lane, unreadOnly, since, compatibilityMode = 'strict', targetRole, initiative, delegationId, targetAgent, readerId: providedReaderId, threadId, intents, } = options;
761
+ const readerId = await resolveReaderIdentity(baseDir, providedReaderId);
762
+ const targetAgentIdentities = targetAgent
763
+ ? await resolveReaderIdentities(baseDir, targetAgent)
764
+ : [];
765
+ const signals = await readSignalRecords(baseDir, compatibilityMode);
360
766
  // Merge receipt-based read state (WU-1472)
361
767
  const receiptIds = await loadReceiptIds(baseDir);
362
768
  for (const signal of signals) {
363
- if (!signal.read && receiptIds.has(signal.id)) {
769
+ if (!signal.read && isReadForReader(receiptIds, signal.id, readerId)) {
364
770
  signal.read = true;
365
771
  }
366
772
  }
@@ -390,11 +796,33 @@ export async function loadSignals(baseDir, options = {}) {
390
796
  filtered = filtered.filter((sig) => sig.delegation_id === delegationId);
391
797
  }
392
798
  if (targetAgent) {
393
- filtered = filtered.filter((sig) => sig.target_agent === undefined || sig.target_agent === targetAgent);
799
+ filtered = filtered.filter((sig) => isSignalBroadcast(sig) || isSignalAddressedToAny(sig, targetAgentIdentities));
800
+ }
801
+ if (threadId) {
802
+ filtered = filtered.filter((sig) => sig.thread_id === threadId);
803
+ }
804
+ if (intents && intents.length > 0) {
805
+ const intentSet = new Set(intents);
806
+ filtered = filtered.filter((sig) => sig.intent !== undefined && intentSet.has(sig.intent));
394
807
  }
395
808
  // Return in chronological order (file order is already chronological due to append-only)
396
809
  return filtered;
397
810
  }
811
+ export async function loadInboxSignalViews(baseDir, options = {}) {
812
+ const readerId = await resolveReaderIdentity(baseDir, options.readerId);
813
+ const [signals, receipts] = await Promise.all([
814
+ loadSignals(baseDir, { ...options, readerId }),
815
+ loadSignalReceipts(baseDir),
816
+ ]);
817
+ return signals.map((signal) => {
818
+ const receipt = findReceiptForReader(receipts, signal.id, readerId);
819
+ return createInboxSignalView({
820
+ signal: toA2ASignalPayload(signal),
821
+ receipt,
822
+ unread: signal.read === false,
823
+ });
824
+ });
825
+ }
398
826
  /**
399
827
  * Marks signals as read by appending receipts to signal-receipts.jsonl (WU-1472).
400
828
  *
@@ -413,9 +841,10 @@ export async function loadSignals(baseDir, options = {}) {
413
841
  * const result = await markSignalsAsRead('/project', ['sig-abc12345', 'sig-def67890']);
414
842
  * console.log(result.markedCount); // 2
415
843
  */
416
- export async function markSignalsAsRead(baseDir, signalIds) {
844
+ export async function markSignalsAsRead(baseDir, signalIds, readerId) {
417
845
  const signalsPath = getSignalsPath(baseDir);
418
846
  const idSet = new Set(signalIds);
847
+ const normalizedReaderId = await resolveReaderIdentity(baseDir, readerId);
419
848
  // Read signals file to determine which IDs exist and their inline read state
420
849
  let signalContent;
421
850
  try {
@@ -434,8 +863,8 @@ export async function markSignalsAsRead(baseDir, signalIds) {
434
863
  const lines = signalContent.split('\n').filter((line) => line.trim());
435
864
  const inlineReadIds = new Set();
436
865
  const existingIds = new Set();
437
- for (const line of lines) {
438
- const signal = JSON.parse(line);
866
+ for (const [index, line] of lines.entries()) {
867
+ const signal = parseStrictSignalRecord(line, index + 1);
439
868
  existingIds.add(signal.id);
440
869
  if (signal.read) {
441
870
  inlineReadIds.add(signal.id);
@@ -448,8 +877,20 @@ export async function markSignalsAsRead(baseDir, signalIds) {
448
877
  const newReceipts = [];
449
878
  for (const id of idSet) {
450
879
  // Only create receipt if: signal exists, not already inline read, no existing receipt
451
- if (existingIds.has(id) && !inlineReadIds.has(id) && !existingReceiptIds.has(id)) {
452
- newReceipts.push({ signal_id: id, read_at: now });
880
+ if (existingIds.has(id) &&
881
+ !inlineReadIds.has(id) &&
882
+ !isReadForReader(existingReceiptIds, id, normalizedReaderId)) {
883
+ const receiptId = generateReceiptId();
884
+ newReceipts.push({
885
+ schema_version: A2A_SCHEMA_VERSION_V1,
886
+ receipt_id: receiptId,
887
+ signal_id: id,
888
+ reader_id: normalizedReaderId,
889
+ reader_identity: normalizedReaderId,
890
+ read_at: now,
891
+ delivery_state: 'delivered',
892
+ idempotency_key: `${receiptId}:${normalizedReaderId}:${id}`,
893
+ });
453
894
  }
454
895
  }
455
896
  // Append receipts (append-only for concurrent safety)
@@ -1 +1 @@
1
- {"version":3,"file":"mem-signal-core.js","sourceRoot":"","sources":["../src/mem-signal-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mem-signal-core.js","sourceRoot":"","sources":["../src/mem-signal-core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/memory",
3
- "version": "5.3.2",
3
+ "version": "5.5.0",
4
4
  "description": "Memory layer for LumenFlow workflow framework - session tracking, context recovery, and agent coordination",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -30,6 +30,7 @@
30
30
  "./start": "./dist/mem-start-core.js",
31
31
  "./ready": "./dist/mem-ready-core.js",
32
32
  "./signal": "./dist/mem-signal-core.js",
33
+ "./inbox-view": "./dist/inbox-view.js",
33
34
  "./cleanup": "./dist/mem-cleanup-core.js",
34
35
  "./create": "./dist/mem-create-core.js",
35
36
  "./summarize": "./dist/mem-summarize-core.js",
@@ -56,8 +57,9 @@
56
57
  "ms": "^2.1.3",
57
58
  "yaml": "^2.8.2",
58
59
  "zod": "^4.3.6",
59
- "@lumenflow/core": "5.3.2",
60
- "@lumenflow/packs-agent-runtime": "^5.3.2"
60
+ "@lumenflow/control-plane-sdk": "5.5.0",
61
+ "@lumenflow/packs-agent-runtime": "^5.5.0",
62
+ "@lumenflow/core": "5.5.0"
61
63
  },
62
64
  "devDependencies": {
63
65
  "@vitest/coverage-v8": "^4.0.18",