@moltzap/client 2026.811.0 → 2026.812.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 (190) hide show
  1. package/dist/channel-base/index.d.ts +4 -4
  2. package/dist/channel-base/index.d.ts.map +1 -1
  3. package/dist/channel-base/index.js +6 -3
  4. package/dist/channel-base/index.js.map +1 -1
  5. package/dist/channel-core-enrichment.d.ts +24 -0
  6. package/dist/channel-core-enrichment.d.ts.map +1 -1
  7. package/dist/channel-core-enrichment.js +94 -20
  8. package/dist/channel-core-enrichment.js.map +1 -1
  9. package/dist/channel-core.d.ts +3 -1
  10. package/dist/channel-core.d.ts.map +1 -1
  11. package/dist/channel-core.js +2 -0
  12. package/dist/channel-core.js.map +1 -1
  13. package/dist/config.d.ts +2 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +7 -1
  16. package/dist/config.js.map +1 -1
  17. package/dist/config.test-utils.d.ts +6 -0
  18. package/dist/config.test-utils.d.ts.map +1 -1
  19. package/dist/config.test-utils.js +5 -1
  20. package/dist/config.test-utils.js.map +1 -1
  21. package/dist/harness/client-runtime.d.ts +12 -5
  22. package/dist/harness/client-runtime.d.ts.map +1 -1
  23. package/dist/harness/client-runtime.js +16 -2
  24. package/dist/harness/client-runtime.js.map +1 -1
  25. package/dist/harness/index.d.ts +2 -2
  26. package/dist/harness/index.d.ts.map +1 -1
  27. package/dist/harness/index.js +2 -2
  28. package/dist/harness/index.js.map +1 -1
  29. package/dist/harness/runtime.d.ts +152 -0
  30. package/dist/harness/runtime.d.ts.map +1 -1
  31. package/dist/harness/runtime.js +99 -2
  32. package/dist/harness/runtime.js.map +1 -1
  33. package/dist/harness-client.d.ts +17 -13
  34. package/dist/harness-client.d.ts.map +1 -1
  35. package/dist/harness-client.js +59 -4
  36. package/dist/harness-client.js.map +1 -1
  37. package/dist/harness-context-projection.d.ts +35 -0
  38. package/dist/harness-context-projection.d.ts.map +1 -0
  39. package/dist/harness-context-projection.js +123 -0
  40. package/dist/harness-context-projection.js.map +1 -0
  41. package/dist/harness-mcp-server.d.ts +1 -2
  42. package/dist/harness-mcp-server.d.ts.map +1 -1
  43. package/dist/harness-mcp-server.js +11 -17
  44. package/dist/harness-mcp-server.js.map +1 -1
  45. package/dist/harness-mcp-wire.d.ts +47 -15
  46. package/dist/harness-mcp-wire.d.ts.map +1 -1
  47. package/dist/harness-mcp-wire.js +93 -37
  48. package/dist/harness-mcp-wire.js.map +1 -1
  49. package/dist/index.d.ts +3 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/local-paths.d.ts +0 -11
  54. package/dist/local-paths.d.ts.map +1 -1
  55. package/dist/local-paths.js +0 -12
  56. package/dist/local-paths.js.map +1 -1
  57. package/dist/moltzapd-catalog.d.ts +35 -0
  58. package/dist/moltzapd-catalog.d.ts.map +1 -0
  59. package/dist/moltzapd-catalog.js +117 -0
  60. package/dist/moltzapd-catalog.js.map +1 -0
  61. package/dist/moltzapd-child-ipc.d.ts +26 -0
  62. package/dist/moltzapd-child-ipc.d.ts.map +1 -0
  63. package/dist/moltzapd-child-ipc.js +31 -0
  64. package/dist/moltzapd-child-ipc.js.map +1 -0
  65. package/dist/moltzapd-child.d.ts +55 -0
  66. package/dist/moltzapd-child.d.ts.map +1 -0
  67. package/dist/moltzapd-child.js +225 -0
  68. package/dist/moltzapd-child.js.map +1 -0
  69. package/dist/moltzapd-main.d.ts +3 -0
  70. package/dist/moltzapd-main.d.ts.map +1 -0
  71. package/dist/moltzapd-main.js +18 -0
  72. package/dist/moltzapd-main.js.map +1 -0
  73. package/dist/moltzapd-registration.d.ts +40 -0
  74. package/dist/moltzapd-registration.d.ts.map +1 -0
  75. package/dist/moltzapd-registration.js +59 -0
  76. package/dist/moltzapd-registration.js.map +1 -0
  77. package/dist/moltzapd.d.ts +56 -9
  78. package/dist/moltzapd.d.ts.map +1 -1
  79. package/dist/moltzapd.js +108 -36
  80. package/dist/moltzapd.js.map +1 -1
  81. package/dist/notification/trace.d.ts +10 -0
  82. package/dist/notification/trace.d.ts.map +1 -0
  83. package/dist/notification/trace.js +34 -0
  84. package/dist/notification/trace.js.map +1 -0
  85. package/dist/presentation/index.d.ts +3 -0
  86. package/dist/presentation/index.d.ts.map +1 -0
  87. package/dist/presentation/index.js +3 -0
  88. package/dist/presentation/index.js.map +1 -0
  89. package/dist/presentation/state.d.ts +77 -0
  90. package/dist/presentation/state.d.ts.map +1 -0
  91. package/dist/presentation/state.js +211 -0
  92. package/dist/presentation/state.js.map +1 -0
  93. package/dist/profile.d.ts +30 -28
  94. package/dist/profile.d.ts.map +1 -1
  95. package/dist/profile.js +28 -20
  96. package/dist/profile.js.map +1 -1
  97. package/dist/service.d.ts +8 -79
  98. package/dist/service.d.ts.map +1 -1
  99. package/dist/service.js +29 -333
  100. package/dist/service.js.map +1 -1
  101. package/dist/test-utils/fake-service.d.ts +3 -5
  102. package/dist/test-utils/fake-service.d.ts.map +1 -1
  103. package/dist/test-utils/fake-service.js +12 -12
  104. package/dist/test-utils/fake-service.js.map +1 -1
  105. package/dist/test-utils/index.d.ts +2 -0
  106. package/dist/test-utils/index.d.ts.map +1 -1
  107. package/dist/test-utils/index.js +2 -0
  108. package/dist/test-utils/index.js.map +1 -1
  109. package/dist/test-utils/process/reserve-port.d.ts +20 -0
  110. package/dist/test-utils/process/reserve-port.d.ts.map +1 -0
  111. package/dist/test-utils/process/reserve-port.js +41 -0
  112. package/dist/test-utils/process/reserve-port.js.map +1 -0
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +32 -6
  115. package/dist/cli/adapters.d.ts +0 -21
  116. package/dist/cli/adapters.d.ts.map +0 -1
  117. package/dist/cli/adapters.js +0 -111
  118. package/dist/cli/adapters.js.map +0 -1
  119. package/dist/cli/commands/agents.d.ts +0 -11
  120. package/dist/cli/commands/agents.d.ts.map +0 -1
  121. package/dist/cli/commands/agents.js +0 -27
  122. package/dist/cli/commands/agents.js.map +0 -1
  123. package/dist/cli/commands/conversations.d.ts +0 -18
  124. package/dist/cli/commands/conversations.d.ts.map +0 -1
  125. package/dist/cli/commands/conversations.js +0 -33
  126. package/dist/cli/commands/conversations.js.map +0 -1
  127. package/dist/cli/commands/messages.d.ts +0 -41
  128. package/dist/cli/commands/messages.d.ts.map +0 -1
  129. package/dist/cli/commands/messages.js +0 -39
  130. package/dist/cli/commands/messages.js.map +0 -1
  131. package/dist/cli/commands/register.d.ts +0 -46
  132. package/dist/cli/commands/register.d.ts.map +0 -1
  133. package/dist/cli/commands/register.js +0 -103
  134. package/dist/cli/commands/register.js.map +0 -1
  135. package/dist/cli/commands/send.d.ts +0 -53
  136. package/dist/cli/commands/send.d.ts.map +0 -1
  137. package/dist/cli/commands/send.js +0 -57
  138. package/dist/cli/commands/send.js.map +0 -1
  139. package/dist/cli/commands/start.d.ts +0 -34
  140. package/dist/cli/commands/start.d.ts.map +0 -1
  141. package/dist/cli/commands/start.js +0 -59
  142. package/dist/cli/commands/start.js.map +0 -1
  143. package/dist/cli/commands/status.d.ts +0 -7
  144. package/dist/cli/commands/status.d.ts.map +0 -1
  145. package/dist/cli/commands/status.js +0 -16
  146. package/dist/cli/commands/status.js.map +0 -1
  147. package/dist/cli/commands/test-transport.d.ts +0 -28
  148. package/dist/cli/commands/test-transport.d.ts.map +0 -1
  149. package/dist/cli/commands/test-transport.js +0 -40
  150. package/dist/cli/commands/test-transport.js.map +0 -1
  151. package/dist/cli/index.d.ts +0 -3
  152. package/dist/cli/index.d.ts.map +0 -1
  153. package/dist/cli/index.js +0 -105
  154. package/dist/cli/index.js.map +0 -1
  155. package/dist/cli/output.d.ts +0 -14
  156. package/dist/cli/output.d.ts.map +0 -1
  157. package/dist/cli/output.js +0 -19
  158. package/dist/cli/output.js.map +0 -1
  159. package/dist/cli/socket-client.d.ts +0 -28
  160. package/dist/cli/socket-client.d.ts.map +0 -1
  161. package/dist/cli/socket-client.js +0 -63
  162. package/dist/cli/socket-client.js.map +0 -1
  163. package/dist/cli/transport.d.ts +0 -132
  164. package/dist/cli/transport.d.ts.map +0 -1
  165. package/dist/cli/transport.js +0 -127
  166. package/dist/cli/transport.js.map +0 -1
  167. package/dist/local-daemon-rpc.d.ts +0 -1170
  168. package/dist/local-daemon-rpc.d.ts.map +0 -1
  169. package/dist/local-daemon-rpc.js +0 -178
  170. package/dist/local-daemon-rpc.js.map +0 -1
  171. package/dist/local-history.d.ts +0 -75
  172. package/dist/local-history.d.ts.map +0 -1
  173. package/dist/local-history.js +0 -82
  174. package/dist/local-history.js.map +0 -1
  175. package/dist/local-socket-server.d.ts +0 -33
  176. package/dist/local-socket-server.d.ts.map +0 -1
  177. package/dist/local-socket-server.js +0 -100
  178. package/dist/local-socket-server.js.map +0 -1
  179. package/dist/refs.d.ts +0 -18
  180. package/dist/refs.d.ts.map +0 -1
  181. package/dist/refs.js +0 -18
  182. package/dist/refs.js.map +0 -1
  183. package/dist/service-helpers.d.ts +0 -55
  184. package/dist/service-helpers.d.ts.map +0 -1
  185. package/dist/service-helpers.js +0 -108
  186. package/dist/service-helpers.js.map +0 -1
  187. package/dist/service-local-daemon.d.ts +0 -32
  188. package/dist/service-local-daemon.d.ts.map +0 -1
  189. package/dist/service-local-daemon.js +0 -153
  190. package/dist/service-local-daemon.js.map +0 -1
package/dist/service.js CHANGED
@@ -1,30 +1,19 @@
1
- import { agentId as AgentIdSchema, AgentNotFoundError, agentsList, } from "@moltzap/protocol/identity";
2
- import { agentConversationCreate, conversationCreatedNotificationDefinition, conversationList, } from "@moltzap/protocol/conversation";
3
- import { messageReceivedNotificationDefinition, messagesList, messagesSend, } from "@moltzap/protocol/message";
1
+ import { agentId as AgentIdSchema, agentsList, } from "@moltzap/protocol/identity";
2
+ import { conversationCreatedNotificationDefinition, } from "@moltzap/protocol/conversation";
3
+ import { messageReceivedNotificationDefinition, messagesSend, } from "@moltzap/protocol/message";
4
4
  import { NotConnectedError, isNotificationDeliveryFor, } from "@moltzap/protocol/rpc";
5
5
  import { BoundedMap } from "./bounded-map.js";
6
- import { Deferred, Effect, Exit, HashMap, Option, Ref, Schema, Scope, Stream, } from "effect";
6
+ import { Deferred, Effect, Exit, Option, Schema, Scope, Stream } from "effect";
7
7
  import { MoltZapAgentClient } from "./agent-client.js";
8
8
  import { loadServiceConfig, } from "./config.js";
9
- import { getOr, snapshot } from "./refs.js";
10
- import { getMoltZapAgentServiceSocketPath, getMoltZapServiceSocketPath, } from "./local-paths.js";
11
- import { makeLocalDaemonHandlers } from "./service-local-daemon.js";
12
- import { startLocalSocketServer, stopLocalSocketServer, } from "./local-socket-server.js";
13
- import { buildContextEntries, makeContextCandidate, newMessagesForConversation, notificationTraceRecord, } from "./service-helpers.js";
9
+ import { notificationTraceRecord } from "./notification/trace.js";
14
10
  import { renderPart } from "./message-rendering.js";
15
- import { formatHistoryMessage, lastReadIdsForSession, } from "./local-history.js";
16
11
  import { appendClientEventTrace } from "./service-event-trace.js";
12
+ import { PresentationState, } from "./presentation/index.js";
17
13
  const CROSS_CONTEXT_TEXT_LIMIT = 120;
18
- const DEFAULT_MAX_CONTEXT_CONVERSATIONS = 5;
19
- const DEFAULT_MAX_MESSAGES_PER_CONVERSATION = 3;
20
- const HISTORY_LOOKUP_CONCURRENCY = 2;
21
14
  const AGENT_LOOKUP_PAGE_SIZE = 100;
22
15
  const AGENT_LOOKUP_MAX_PAGES = 20;
23
16
  const decodeAgentId = Schema.decodeUnknownOption(AgentIdSchema);
24
- const agentNotFound = (agentName) => new AgentNotFoundError({
25
- message: `Agent not found: ${agentName}`,
26
- data: { agentName },
27
- });
28
17
  /**
29
18
  * Escape `<`, `>`, `&` so sender content can't escape a `<system-reminder>` block.
30
19
  * @param s Value supplied to the operation.
@@ -58,12 +47,9 @@ function formatCrossConversationBlock(entries, opts) {
58
47
  "</system-reminder>",
59
48
  ].join("\n");
60
49
  }
61
- /**
62
- * Per-conversation message cap. Older messages are evicted FIFO; the
63
- * on-disk history remains the source of truth. Sized for typical CLI
64
- * display windows — `conversations get` shows at most a few hundred.
65
- */
66
- const MAX_MESSAGES_PER_CONV = 1000;
50
+ function renderMessageText(message) {
51
+ return message.parts.map(renderPart).join(" ");
52
+ }
67
53
  /**
68
54
  * Per-conversation dedup window. `BoundedMap` evicts the oldest message id
69
55
  * when a new id arrives at capacity. 1000 × 36 bytes per UUID ≈ 36 KB per
@@ -109,12 +95,7 @@ export class MoltZapService {
109
95
  * thread a `Scope` requirement.
110
96
  */
111
97
  serviceScope = null;
112
- conversationsRef = Effect.runSync(Ref.make(HashMap.empty()));
113
- messagesRef = Effect.runSync(Ref.make(HashMap.empty()));
114
- agentNamesRef = Effect.runSync(Ref.make(HashMap.empty()));
115
- agentConversationCacheRef = Effect.runSync(Ref.make(HashMap.empty()));
116
- lastNotifiedRef = Effect.runSync(Ref.make(HashMap.empty()));
117
- lastReadRef = Effect.runSync(Ref.make(HashMap.empty()));
98
+ presentationState = new PresentationState();
118
99
  /**
119
100
  * The branded outer and inner keys keep conversation and message ids from
120
101
  * crossing accidentally while each conversation owns its eviction window.
@@ -139,14 +120,6 @@ export class MoltZapService {
139
120
  static make(profileName) {
140
121
  return loadServiceConfig(profileName).pipe(Effect.map((config) => MoltZapService.fromConfig(config)));
141
122
  }
142
- static startDaemon(profileName) {
143
- return Effect.gen(function* () {
144
- const service = yield* MoltZapService.make(profileName);
145
- yield* service.connect();
146
- yield* service.startSocketServer();
147
- return service;
148
- }).pipe(Effect.withSpan("MoltZapService.startDaemon"));
149
- }
150
123
  get connected() {
151
124
  return this.connectedValue;
152
125
  }
@@ -218,7 +191,6 @@ export class MoltZapService {
218
191
  const shutdownCompletion = Effect.runSync(Deferred.make());
219
192
  this.shutdownCompletion = shutdownCompletion;
220
193
  this.connectedValue = false;
221
- const stopSocketServer = this.stopSocketServer();
222
194
  const scopeToClose = this.serviceScope;
223
195
  const clientToClose = this.client;
224
196
  this.serviceScope = null;
@@ -227,19 +199,14 @@ export class MoltZapService {
227
199
  ? Effect.void
228
200
  : Scope.close(scopeToClose, Exit.void);
229
201
  const closeClient = clientToClose === null ? Effect.void : clientToClose.close();
230
- Effect.runSync(Effect.all([
231
- Ref.set(this.conversationsRef, HashMap.empty()),
232
- Ref.set(this.messagesRef, HashMap.empty()),
233
- Ref.set(this.agentNamesRef, HashMap.empty()),
234
- Ref.set(this.agentConversationCacheRef, HashMap.empty()),
235
- Ref.set(this.lastNotifiedRef, HashMap.empty()),
236
- Ref.set(this.lastReadRef, HashMap.empty()),
237
- ]));
202
+ Effect.runSync(this.presentationState.reset());
238
203
  this.seenMessageIds.clear();
239
204
  // Handlers are preserved across explicit close()/connect() cycles.
240
205
  // MoltZapChannelCore subscribes once in its constructor; clearing handlers
241
206
  // here would silently drop inbound dispatch after the next connect.
242
- return Effect.uninterruptible(Effect.all([stopSocketServer, closeScope.pipe(Effect.zipRight(closeClient))], { concurrency: 2, discard: true }).pipe(Effect.ensuring(Deferred.succeed(shutdownCompletion, undefined).pipe(Effect.asVoid))));
207
+ return Effect.uninterruptible(Effect.all([closeScope.pipe(Effect.zipRight(closeClient))], {
208
+ discard: true,
209
+ }).pipe(Effect.ensuring(Deferred.succeed(shutdownCompletion, undefined).pipe(Effect.asVoid))));
243
210
  }
244
211
  /**
245
212
  * Starts service teardown for callers that use the legacy synchronous
@@ -248,163 +215,21 @@ export class MoltZapService {
248
215
  close() {
249
216
  Effect.runFork(this.beginShutdown());
250
217
  }
251
- // --- Socket Server ---
252
- socketServerScope = null;
253
- activeSocketPath = null;
254
- /** Default socket path for CLI discovery. Per-instance path uses agentId. */
255
- static SOCKET_PATH = getMoltZapServiceSocketPath();
256
- /**
257
- * `agentId` is a server-assigned string. Treat it as untrusted: if a
258
- * compromised or malicious server returns an id containing `..` or a
259
- * path separator, a naive `path.join(... , agentId)` escapes `~/.moltzap`.
260
- * Reject anything that isn't a safe identifier.
261
- * @param id Value supplied to the operation.
262
- * @returns The id result.
263
- */
264
- static safeAgentIdSegment(id) {
265
- return /^[A-Za-z0-9_-]+$/.test(id) ? id : "default";
266
- }
267
- /**
268
- * Per-instance socket path based on connected agentId.
269
- * @returns The id result.
270
- */
271
- get socketPath() {
272
- const id = MoltZapService.safeAgentIdSegment(this.ownAgentId ?? "default");
273
- return getMoltZapAgentServiceSocketPath(id);
274
- }
275
- startSocketServer() {
276
- return Effect.gen(function* () {
277
- const previous = this.resetSocketServerState();
278
- yield* stopLocalSocketServer({
279
- socketScope: previous.socketScope,
280
- socketPath: previous.sockPath,
281
- defaultSocketPath: MoltZapService.SOCKET_PATH,
282
- });
283
- const running = yield* startLocalSocketServer({
284
- socketPath: this.socketPath,
285
- defaultSocketPath: MoltZapService.SOCKET_PATH,
286
- handlers: this.localDaemonHandlers(),
287
- });
288
- this.socketServerScope = running.socketScope;
289
- this.activeSocketPath = running.socketPath;
290
- }.bind(this)).pipe(Effect.withSpan("MoltZapService.startSocketServer"));
291
- }
292
- resetSocketServerState() {
293
- const socketScope = this.socketServerScope;
294
- this.socketServerScope = null;
295
- const sockPath = this.activeSocketPath ?? this.socketPath;
296
- this.activeSocketPath = null;
297
- return { socketScope, sockPath };
298
- }
299
- stopSocketServer() {
300
- const { socketScope, sockPath } = this.resetSocketServerState();
301
- return stopLocalSocketServer({
302
- socketScope,
303
- socketPath: sockPath,
304
- defaultSocketPath: MoltZapService.SOCKET_PATH,
305
- }).pipe(Effect.withSpan("MoltZapService.stopSocketServer"));
306
- }
307
- localDaemonHandlers() {
308
- return makeLocalDaemonHandlers({
309
- ownAgentId: this.ownAgentIdValue,
310
- // A live thunk, not a snapshot: the handler table outlives connection
311
- // cycles, and daemon/status must report the same liveness the MCP
312
- // status tool reads.
313
- connected: () => this.connectedValue,
314
- conversationCount: () => this.getConversations().length,
315
- call: this.call.bind(this),
316
- handleHistoryRequest: (request) => this.handleHistoryRequest(request),
317
- });
318
- }
319
- handleHistoryRequest(request) {
320
- return Effect.gen(function* () {
321
- const result = yield* this.call(messagesList.name, {
322
- conversationId: request.conversationId,
323
- limit: request.limit,
324
- });
325
- const convMeta = yield* this.loadHistorySupportData(request.conversationId, result.messages);
326
- const agentNames = yield* Ref.get(this.agentNamesRef);
327
- const lastReadMap = yield* Ref.get(this.lastReadRef);
328
- const lastReadIds = lastReadIdsForSession(lastReadMap, request);
329
- const messages = result.messages.map((message) => formatHistoryMessage(message, {
330
- agentNames,
331
- ownAgentId: this.ownAgentId,
332
- lastReadIds,
333
- hasSessionKey: request.sessionKey !== undefined,
334
- }));
335
- yield* this.advanceHistoryLastRead(request, result.messages);
336
- return {
337
- messages,
338
- conversationMeta: convMeta,
339
- newCount: messages.filter((message) => message.isNew).length,
340
- };
341
- }.bind(this));
342
- }
343
- loadHistorySupportData(convId, messages) {
344
- return Effect.gen(function* () {
345
- const [, convMeta] = yield* Effect.all([
346
- this.refreshHistoryAgentNames(messages),
347
- this.fetchHistoryConversationMeta(convId),
348
- ], {
349
- concurrency: HISTORY_LOOKUP_CONCURRENCY,
350
- });
351
- return convMeta;
352
- }.bind(this));
353
- }
354
- refreshHistoryAgentNames(messages) {
355
- return Effect.gen(function* () {
356
- const knownNames = yield* Ref.get(this.agentNamesRef);
357
- const unknownAgentIds = [
358
- ...new Set(messages.map((message) => message.senderId)),
359
- ].filter((id) => !HashMap.has(knownNames, id));
360
- if (unknownAgentIds.length === 0) {
361
- return;
362
- }
363
- yield* this.cacheVisibleAgentNamesForIds(new Set(unknownAgentIds)).pipe(Effect.asVoid, Effect.catchAll(() => Effect.void));
364
- }.bind(this));
365
- }
366
- fetchHistoryConversationMeta(convId) {
367
- // The client filters `ConversationList` output for the matching
368
- // conversation id (there is no per-conversation get RPC).
369
- return this.call(conversationList.name, {}).pipe(Effect.map((result) => {
370
- const hit = result.items.find((item) => item.conversation.id === convId);
371
- return hit?.conversation;
372
- }), Effect.orElseSucceed(() => undefined));
373
- }
374
- advanceHistoryLastRead(request, messages) {
375
- if (request.sessionKey === undefined || messages.length === 0) {
376
- return Effect.void;
377
- }
378
- const { conversationId, sessionKey } = request;
379
- return Ref.update(this.lastReadRef, (outer) => {
380
- const perSession = getOr(outer, sessionKey, () => HashMap.empty());
381
- const existing = getOr(perSession, conversationId, () =>
382
- /* Safe because the surrounding invariant establishes this asserted shape. */ new Set());
383
- if (messages.every((message) => existing.has(message.id))) {
384
- return outer;
385
- }
386
- const nextSet = new Set(existing);
387
- for (const message of messages) {
388
- nextSet.add(message.id);
389
- }
390
- return HashMap.set(outer, sessionKey, HashMap.set(perSession, conversationId, nextSet));
391
- });
392
- }
393
218
  // --- Conversations ---
394
219
  getConversation(convId) {
395
- return Option.getOrUndefined(HashMap.get(snapshot(this.conversationsRef), convId));
220
+ return this.presentationState.getConversation(convId);
396
221
  }
397
222
  getConversations() {
398
- return [...HashMap.values(snapshot(this.conversationsRef))];
223
+ return this.presentationState.getConversations();
399
224
  }
400
225
  // --- Messages ---
401
226
  getHistory(convId, limit) {
402
- const msgs = getOr(snapshot(this.messagesRef), convId, () => []);
403
- return limit ? msgs.slice(-limit) : [...msgs];
227
+ const historyLimit = limit ?? 0;
228
+ return this.presentationState.getHistory(convId, historyLimit);
404
229
  }
405
230
  // --- Agent Names ---
406
231
  getAgentName(agentId) {
407
- return Option.getOrUndefined(HashMap.get(snapshot(this.agentNamesRef), agentId));
232
+ return this.presentationState.getAgentName(agentId);
408
233
  }
409
234
  /**
410
235
  * Cache-first agent-name lookup. Never fails: falls back to `agentId`
@@ -420,12 +245,12 @@ export class MoltZapService {
420
245
  if (decodedAgentId === undefined) {
421
246
  return agentId;
422
247
  }
423
- const cached = Option.getOrUndefined(HashMap.get(snapshot(this.agentNamesRef), agentId));
248
+ const cached = this.presentationState.getAgentName(agentId);
424
249
  if (cached !== undefined) {
425
250
  return cached;
426
251
  }
427
252
  return yield* this.cacheVisibleAgentNamesForIds(new Set([decodedAgentId])).pipe(Effect.map(() => {
428
- const resolved = Option.getOrUndefined(HashMap.get(snapshot(this.agentNamesRef), agentId));
253
+ const resolved = this.presentationState.getAgentName(agentId);
429
254
  return resolved ?? agentId;
430
255
  }), Effect.catchAll((err) => Effect.logWarning("agent/identity/agents/list failed; falling back to agentId").pipe(Effect.annotateLogs({ agentId, err: String(err) }), Effect.as(agentId))));
431
256
  }.bind(this));
@@ -462,44 +287,8 @@ export class MoltZapService {
462
287
  parts: [{ type: "text", text }],
463
288
  }));
464
289
  }
465
- /**
466
- * Send to a named agent, minting the DM conversation on first use and
467
- * reusing it afterwards. The per-name cache is what makes the DM stable:
468
- * `agent/conversation/create` mints a fresh conversation on every call.
469
- * @param agentName Name of the agent to reach.
470
- * @param text Text to process.
471
- * @returns The send result.
472
- */
473
- sendToAgent(agentName, text) {
474
- return Effect.gen(function* () {
475
- const cache = yield* Ref.get(this.agentConversationCacheRef);
476
- let conversationId = Option.getOrUndefined(HashMap.get(cache, agentName));
477
- if (conversationId === undefined) {
478
- const agent = yield* this.findVisibleAgentByName(agentName);
479
- if (!agent) {
480
- return yield* agentNotFound(agentName);
481
- }
482
- const created = yield* this.call(agentConversationCreate.name, {
483
- participants: [agent.id],
484
- });
485
- conversationId = created.conversation.id;
486
- const cached = conversationId;
487
- yield* Ref.update(this.agentConversationCacheRef, (m) => HashMap.set(m, agentName, cached));
488
- }
489
- yield* this.send(conversationId, text);
490
- }.bind(this));
491
- }
492
290
  cacheAgentNames(agents) {
493
- if (agents.length === 0) {
494
- return Effect.void;
495
- }
496
- return Ref.update(this.agentNamesRef, (names) => {
497
- let next = names;
498
- for (const agent of agents) {
499
- next = HashMap.set(next, agent.id, agent.name);
500
- }
501
- return next;
502
- });
291
+ return this.presentationState.cacheAgentNames(agents);
503
292
  }
504
293
  agentListParams(cursor) {
505
294
  return cursor === undefined
@@ -572,17 +361,8 @@ export class MoltZapService {
572
361
  * @returns The max convs result.
573
362
  */
574
363
  peekContextEntries(currentConvId, opts) {
575
- const maxConvs = opts?.maxConversations ?? DEFAULT_MAX_CONTEXT_CONVERSATIONS;
576
- const maxMsgsPerConv = opts?.maxMessagesPerConv ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
577
- const state = this.readCrossConvState(currentConvId);
578
- const candidates = this.collectContextCandidates(state, currentConvId);
579
- const { entries, pendingAdvances } = buildContextEntries(candidates.slice(0, maxConvs), state, maxMsgsPerConv);
580
- return {
581
- entries,
582
- commit: () => {
583
- this.advanceLastNotified(currentConvId, pendingAdvances);
584
- },
585
- };
364
+ const contextOptions = opts ?? {};
365
+ return this.presentationState.peekContextEntries(currentConvId, renderMessageText, contextOptions);
586
366
  }
587
367
  /**
588
368
  * Return all new messages from all other conversations as full transcripts,
@@ -592,70 +372,7 @@ export class MoltZapService {
592
372
  * @returns The all messages result.
593
373
  */
594
374
  peekFullMessages(currentConvId) {
595
- const { messagesMap, conversationsMap, agentNamesMap, viewMarkers } = this.readCrossConvState(currentConvId);
596
- const allMessages = [];
597
- const pendingAdvances = [];
598
- for (const [convId, newMsgs] of this.iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId)) {
599
- const convName = Option.getOrUndefined(HashMap.get(conversationsMap, convId))?.name;
600
- for (const m of newMsgs) {
601
- allMessages.push({
602
- conversationId: convId,
603
- conversationName: convName,
604
- senderName: getOr(agentNamesMap, m.senderId, () => m.senderId),
605
- senderId: m.senderId,
606
- text: m.parts.map(renderPart).join(" "),
607
- timestamp: m.createdAt,
608
- });
609
- }
610
- pendingAdvances.push([
611
- convId,
612
- /* Safe because the surrounding invariant establishes this asserted shape. */ newMsgs[newMsgs.length - 1].id,
613
- ]);
614
- }
615
- allMessages.sort((a, b) => a.timestamp.localeCompare(b.timestamp));
616
- return {
617
- messages: allMessages,
618
- commit: () => {
619
- this.advanceLastNotified(currentConvId, pendingAdvances);
620
- },
621
- };
622
- }
623
- readCrossConvState(currentConvId) {
624
- const lastNotifiedMap = snapshot(this.lastNotifiedRef);
625
- return {
626
- messagesMap: snapshot(this.messagesRef),
627
- conversationsMap: snapshot(this.conversationsRef),
628
- agentNamesMap: snapshot(this.agentNamesRef),
629
- viewMarkers: getOr(lastNotifiedMap, currentConvId, () => HashMap.empty()),
630
- };
631
- }
632
- collectContextCandidates(state, currentConvId) {
633
- const candidates = [];
634
- for (const [convId, newMsgs] of this.iterNewMessagesByConv(state.messagesMap, state.viewMarkers, currentConvId)) {
635
- candidates.push(makeContextCandidate(convId, newMsgs));
636
- }
637
- candidates.sort((a, b) => b.lastTs - a.lastTs);
638
- return candidates;
639
- }
640
- *iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId) {
641
- for (const [convId, msgs] of messagesMap) {
642
- const newMsgs = newMessagesForConversation(convId, msgs, viewMarkers, currentConvId);
643
- if (newMsgs.length > 0) {
644
- yield [convId, newMsgs];
645
- }
646
- }
647
- }
648
- advanceLastNotified(currentConvId, pendingAdvances) {
649
- if (pendingAdvances.length === 0) {
650
- return;
651
- }
652
- Effect.runSync(Ref.update(this.lastNotifiedRef, (outer) => {
653
- let markers = getOr(outer, currentConvId, () => HashMap.empty());
654
- for (const [convId, msgId] of pendingAdvances) {
655
- markers = HashMap.set(markers, convId, msgId);
656
- }
657
- return HashMap.set(outer, currentConvId, markers);
658
- }));
375
+ return this.presentationState.peekFullMessages(currentConvId, renderMessageText);
659
376
  }
660
377
  // --- Notifications ---
661
378
  on(notification, handler) {
@@ -753,37 +470,16 @@ export class MoltZapService {
753
470
  if (!this.recordMessageIdIfNew(convId, msg.id)) {
754
471
  return;
755
472
  }
756
- this.storeMessage(msg);
473
+ this.presentationState.storeMessage(msg.conversationId, msg);
757
474
  // Name resolution is driven lazily by channel-core's serialized consumer
758
- // via resolveAgentName(), which populates agentNamesRef on first miss and
759
- // hits the cache on every subsequent message.
475
+ // via resolveAgentName(), which populates the presentation name cache on
476
+ // first miss and hits it on every subsequent message.
760
477
  if (msg.senderId !== this.ownAgentIdValue) {
761
478
  fanout(this.handlers.message, { message: msg });
762
479
  }
763
480
  }
764
481
  handleConversationCreatedNotification(notification) {
765
- const { conversationId, name, participants } = notification;
766
- Effect.runSync(Ref.update(this.conversationsRef, (m) => {
767
- // The notification carries the full membership, this agent included,
768
- // so anything past two members is a group.
769
- const inferredType = participants.length <= 2 ? "dm" : "group";
770
- return HashMap.set(m, conversationId, {
771
- id: conversationId,
772
- type: inferredType,
773
- participants: participants.map((p) => `agent:${p}`),
774
- ...(name !== undefined ? { name } : {}),
775
- });
776
- }));
777
- }
778
- storeMessage(msg) {
779
- Effect.runSync(Ref.update(this.messagesRef, (m) => {
780
- const existing = getOr(m, msg.conversationId, () => []);
781
- const appended = [...existing, msg];
782
- const capped = appended.length > MAX_MESSAGES_PER_CONV
783
- ? appended.slice(-MAX_MESSAGES_PER_CONV)
784
- : appended;
785
- return HashMap.set(m, msg.conversationId, capped);
786
- }));
482
+ this.presentationState.storeConversation(notification);
787
483
  }
788
484
  }
789
485
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -72,13 +72,11 @@ export declare class FakeMoltZapService extends MoltZapService {
72
72
  */
73
73
  setAgentNameDirect(id: string, name: string): void;
74
74
  /**
75
- * Typed views of the parent class's private Refs, exposed only to this
76
- * fake so its test-only harness methods can stage state without going
77
- * through the WebSocket pipeline.
78
- * @returns The parent messages ref result.
75
+ * Typed view used to stage presentation state without WebSocket ingress.
76
+ * @returns Mutable state owner used only by the fixture's seeding helpers.
79
77
  */
78
+ private get parentPresentationState();
80
79
  private get parentMessagesRef();
81
- private get parentAgentNamesRef();
82
80
  }
83
81
  export {};
84
82
  //# sourceMappingURL=fake-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fake-service.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAwB,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACtE,KAAK,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAQ1D,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,wCAAwC;AACxC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,KAAK,EAAE,YAAY,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,YACE,IAAI,GAAE;QACJ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,EAOP;IAED;;;;OAIG;IACH,WAAW,CAAC,GAAG,SAAS,oBAAoB,EAC1C,UAAU,EAAE,OAAO,CAAC,6BAA6B,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,EAC1E,MAAM,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAChD,IAAI,CAEN;IAED;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,6BAA6B,GAAG,IAAI,CAE9D;IAEQ,IAAI,CAAC,GAAG,SAAS,oBAAoB,EAC5C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAClD,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAe3E;IAID;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAU7C;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,yBAAyB,EAC3C,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAMN;IAED,gBAAgB,CACd,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,GAC5D,IAAI,CAEN;IAED;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;IAED;;;;;OAKG;IACH,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,mBAAmB,GAE9B;CACF"}
1
+ {"version":3,"file":"fake-service.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAwB,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACtE,KAAK,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAQ1D,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,wCAAwC;AACxC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,KAAK,EAAE,YAAY,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,YACE,IAAI,GAAE;QACJ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,EAOP;IAED;;;;OAIG;IACH,WAAW,CAAC,GAAG,SAAS,oBAAoB,EAC1C,UAAU,EAAE,OAAO,CAAC,6BAA6B,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,EAC1E,MAAM,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAChD,IAAI,CAEN;IAED;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,6BAA6B,GAAG,IAAI,CAE9D;IAEQ,IAAI,CAAC,GAAG,SAAS,oBAAoB,EAC5C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAClD,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAe3E;IAID;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAU7C;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,yBAAyB,EAC3C,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAMN;IAED,gBAAgB,CACd,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,GAC5D,IAAI,CAEN;IAED;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;IAED;;;OAGG;IACH,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,iBAAiB,GAK5B;CACF"}
@@ -64,9 +64,9 @@ export class FakeMoltZapService extends MoltZapService {
64
64
  * @param msg Value supplied to the operation.
65
65
  */
66
66
  addMessage(convId, msg) {
67
- Effect.runSync(Ref.update(this.parentMessagesRef, (m) => {
68
- const existing = Option.getOrElse(HashMap.get(m, convId), () => []);
69
- return HashMap.set(m, convId, [...existing, msg]);
67
+ Effect.runSync(Ref.update(this.parentMessagesRef, (messages) => {
68
+ const existing = Option.getOrElse(HashMap.get(messages, convId), () => []);
69
+ return HashMap.set(messages, convId, [...existing, msg]);
70
70
  }));
71
71
  }
72
72
  /**
@@ -90,19 +90,19 @@ export class FakeMoltZapService extends MoltZapService {
90
90
  * @param name Name of the operation.
91
91
  */
92
92
  setAgentNameDirect(id, name) {
93
- Effect.runSync(Ref.update(this.parentAgentNamesRef, (m) => HashMap.set(m, testAgentId(id), name)));
93
+ Effect.runSync(this.parentPresentationState.cacheAgentNames([
94
+ { id: testAgentId(id), name },
95
+ ]));
94
96
  }
95
97
  /**
96
- * Typed views of the parent class's private Refs, exposed only to this
97
- * fake so its test-only harness methods can stage state without going
98
- * through the WebSocket pipeline.
99
- * @returns The parent messages ref result.
98
+ * Typed view used to stage presentation state without WebSocket ingress.
99
+ * @returns Mutable state owner used only by the fixture's seeding helpers.
100
100
  */
101
- get parentMessagesRef() {
102
- return Reflect.get(this, "messagesRef");
101
+ get parentPresentationState() {
102
+ return Reflect.get(this, "presentationState");
103
103
  }
104
- get parentAgentNamesRef() {
105
- return Reflect.get(this, "agentNamesRef");
104
+ get parentMessagesRef() {
105
+ return /* Safe because PresentationState owns this initialized Ref and the fixture accesses it only to preserve its uncapped seeding behavior. */ Reflect.get(this.parentPresentationState, "messagesRef");
106
106
  }
107
107
  }
108
108
  //# sourceMappingURL=fake-service.js.map