@moltzap/client 2026.520.2 → 2026.524.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 (125) hide show
  1. package/dist/agent-client.d.ts +66 -0
  2. package/dist/agent-client.d.ts.map +1 -0
  3. package/dist/agent-client.js +287 -0
  4. package/dist/agent-client.js.map +1 -0
  5. package/dist/auth.d.ts +1 -1
  6. package/dist/auth.js +1 -1
  7. package/dist/channel-core-context.test.js +16 -8
  8. package/dist/channel-core-context.test.js.map +1 -1
  9. package/dist/channel-core-dispatch.test.js +17 -10
  10. package/dist/channel-core-dispatch.test.js.map +1 -1
  11. package/dist/channel-core-enrichment.d.ts +2 -1
  12. package/dist/channel-core-enrichment.d.ts.map +1 -1
  13. package/dist/channel-core-enrichment.js +4 -2
  14. package/dist/channel-core-enrichment.js.map +1 -1
  15. package/dist/channel-core-test-support.d.ts +5 -3
  16. package/dist/channel-core-test-support.d.ts.map +1 -1
  17. package/dist/channel-core-test-support.js +6 -4
  18. package/dist/channel-core-test-support.js.map +1 -1
  19. package/dist/channel-core.d.ts +18 -13
  20. package/dist/channel-core.d.ts.map +1 -1
  21. package/dist/channel-core.js +11 -10
  22. package/dist/channel-core.js.map +1 -1
  23. package/dist/cli/commands/conversations.d.ts +15 -63
  24. package/dist/cli/commands/conversations.d.ts.map +1 -1
  25. package/dist/cli/commands/conversations.js +26 -167
  26. package/dist/cli/commands/conversations.js.map +1 -1
  27. package/dist/cli/commands/messages.d.ts +5 -2
  28. package/dist/cli/commands/messages.d.ts.map +1 -1
  29. package/dist/cli/commands/messages.js +10 -5
  30. package/dist/cli/commands/messages.js.map +1 -1
  31. package/dist/cli/commands/messages.test.js +6 -1
  32. package/dist/cli/commands/messages.test.js.map +1 -1
  33. package/dist/cli/commands/send.d.ts +6 -37
  34. package/dist/cli/commands/send.d.ts.map +1 -1
  35. package/dist/cli/commands/send.js +35 -57
  36. package/dist/cli/commands/send.js.map +1 -1
  37. package/dist/cli/commands/send.test.js +14 -19
  38. package/dist/cli/commands/send.test.js.map +1 -1
  39. package/dist/cli/commands/start.d.ts +3 -3
  40. package/dist/cli/commands/start.d.ts.map +1 -1
  41. package/dist/cli/commands/start.js +21 -20
  42. package/dist/cli/commands/start.js.map +1 -1
  43. package/dist/cli/commands/start.test.js +9 -11
  44. package/dist/cli/commands/start.test.js.map +1 -1
  45. package/dist/cli/socket-client.d.ts +0 -17
  46. package/dist/cli/socket-client.d.ts.map +1 -1
  47. package/dist/cli/socket-client.js +1 -39
  48. package/dist/cli/socket-client.js.map +1 -1
  49. package/dist/cli/transport.d.ts.map +1 -1
  50. package/dist/cli/transport.js +33 -6
  51. package/dist/cli/transport.js.map +1 -1
  52. package/dist/cli/transport.test.js +31 -12
  53. package/dist/cli/transport.test.js.map +1 -1
  54. package/dist/index.d.ts +2 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/notification/__tests__/snapshot-semantics.types-check.js +1 -1
  59. package/dist/notification/stream.d.ts +3 -3
  60. package/dist/notification/stream.js +3 -3
  61. package/dist/runtime/close-info.d.ts +2 -2
  62. package/dist/runtime/close-info.js +1 -1
  63. package/dist/runtime/frame.test.js +4 -2
  64. package/dist/runtime/frame.test.js.map +1 -1
  65. package/dist/runtime/index.d.ts +1 -1
  66. package/dist/runtime/index.js +1 -1
  67. package/dist/runtime/local-history.d.ts +1 -1
  68. package/dist/runtime/local-history.d.ts.map +1 -1
  69. package/dist/runtime/local-history.js +1 -1
  70. package/dist/runtime/local-history.js.map +1 -1
  71. package/dist/runtime/subscribers.d.ts +3 -3
  72. package/dist/runtime/subscribers.js +2 -2
  73. package/dist/service-archive-purge.d.ts +17 -0
  74. package/dist/service-archive-purge.d.ts.map +1 -0
  75. package/dist/service-archive-purge.js +32 -0
  76. package/dist/service-archive-purge.js.map +1 -0
  77. package/dist/service.d.ts +15 -19
  78. package/dist/service.d.ts.map +1 -1
  79. package/dist/service.js +79 -100
  80. package/dist/service.js.map +1 -1
  81. package/dist/service.test.js +50 -26
  82. package/dist/service.test.js.map +1 -1
  83. package/dist/test/index.d.ts +4 -4
  84. package/dist/test/index.d.ts.map +1 -1
  85. package/dist/test/index.js +4 -4
  86. package/dist/test/index.js.map +1 -1
  87. package/dist/test-utils/channel-service-fixture.d.ts +2 -1
  88. package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
  89. package/dist/test-utils/channel-service-fixture.js +11 -6
  90. package/dist/test-utils/channel-service-fixture.js.map +1 -1
  91. package/dist/test-utils/conformance-adapter.d.ts +3 -3
  92. package/dist/test-utils/conformance-adapter.js +7 -7
  93. package/dist/test-utils/conformance-adapter.js.map +1 -1
  94. package/dist/test-utils/ids.d.ts +3 -1
  95. package/dist/test-utils/ids.d.ts.map +1 -1
  96. package/dist/test-utils/ids.js +3 -1
  97. package/dist/test-utils/ids.js.map +1 -1
  98. package/dist/test-utils/index.d.ts +1 -1
  99. package/dist/test-utils/index.d.ts.map +1 -1
  100. package/dist/test-utils/index.js +1 -1
  101. package/dist/test-utils/index.js.map +1 -1
  102. package/dist/{ws-client-test-support.d.ts → tm-client-test-support.d.ts} +14 -13
  103. package/dist/tm-client-test-support.d.ts.map +1 -0
  104. package/dist/{ws-client-test-support.js → tm-client-test-support.js} +51 -18
  105. package/dist/tm-client-test-support.js.map +1 -0
  106. package/dist/{ws-client.d.ts → tm-client.d.ts} +14 -19
  107. package/dist/tm-client.d.ts.map +1 -0
  108. package/dist/{ws-client.js → tm-client.js} +10 -24
  109. package/dist/tm-client.js.map +1 -0
  110. package/dist/tm-client.test.d.ts +2 -0
  111. package/dist/tm-client.test.d.ts.map +1 -0
  112. package/dist/{ws-client.test.js → tm-client.test.js} +41 -29
  113. package/dist/tm-client.test.js.map +1 -0
  114. package/package.json +5 -4
  115. package/dist/cli/commands/conversations-v2.test.d.ts +0 -2
  116. package/dist/cli/commands/conversations-v2.test.d.ts.map +0 -1
  117. package/dist/cli/commands/conversations-v2.test.js +0 -107
  118. package/dist/cli/commands/conversations-v2.test.js.map +0 -1
  119. package/dist/ws-client-test-support.d.ts.map +0 -1
  120. package/dist/ws-client-test-support.js.map +0 -1
  121. package/dist/ws-client.d.ts.map +0 -1
  122. package/dist/ws-client.js.map +0 -1
  123. package/dist/ws-client.test.d.ts +0 -2
  124. package/dist/ws-client.test.d.ts.map +0 -1
  125. package/dist/ws-client.test.js.map +0 -1
package/dist/service.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { FileSystem, Path } from "@effect/platform";
2
2
  import { NodeContext } from "@effect/platform-node";
3
- import { AgentsLookup, AgentsLookupByName, ConversationsCreate, ConversationsGet, DispatchRequest, DispatchRelease, DispatchesConsumed, DispatchesExpired, DispatchesGet, MessageReceivedNotificationDefinition, ConversationCreatedNotificationDefinition, ConversationUpdatedNotificationDefinition, ConversationArchivedNotificationDefinition, ConversationUnarchivedNotificationDefinition, ConversationArchivedError, MessagesList, MessagesSend, NotConnectedError, rpcMethods, RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
3
+ import { AgentsLookup, AgentsLookupByName, DispatchRequest, DispatchRelease, DispatchesConsumed, DispatchesExpired, DispatchesGet, MessageReceivedNotificationDefinition, TaskConversationCreatedNotificationDefinition, TaskConversationArchivedNotificationDefinition, TaskConversationUnarchivedNotificationDefinition, ConversationArchivedError, DEFAULT_APP_ID, MessagesList, MessagesSend, TaskRequest, TaskConversationList, NotConnectedError, serverRpcMethods, RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
4
4
  import { Config, ConfigProvider, Effect, HashMap, Option, Ref, Scope, Stream, } from "effect";
5
- import { MoltZapWsClient } from "./ws-client.js";
5
+ import { MoltZapAgentClient } from "./agent-client.js";
6
6
  import { AgentNotFoundError } from "./runtime/errors.js";
7
7
  import { getOr, snapshot } from "./runtime/refs.js";
8
8
  import { LocalServiceCommands } from "./runtime/local-service-commands.js";
@@ -11,10 +11,13 @@ import { startLocalSocketServer, stopLocalSocketServer, } from "./runtime/local-
11
11
  import { buildContextEntries, makeContextCandidate, newMessagesForConversation, notificationTraceRecord, renderPart, ServiceInputError, } from "./runtime/service-helpers.js";
12
12
  import { decodeHistoryRequest, formatHistoryMessage, lastReadIdsForSession, } from "./runtime/local-history.js";
13
13
  import { composeServiceTeardown } from "./runtime/service-teardown.js";
14
+ import { purgeAgentCacheEntries, purgeLastNotified, purgeLastRead, } from "./service-archive-purge.js";
14
15
  const CROSS_CONTEXT_TEXT_LIMIT = 120;
15
16
  const DEFAULT_MAX_CONTEXT_CONVERSATIONS = 5;
16
17
  const DEFAULT_MAX_MESSAGES_PER_CONVERSATION = 3;
17
18
  const HISTORY_LOOKUP_CONCURRENCY = 2;
19
+ const SEND_TO_AGENT_LOOKUP_PAGE_SIZE = 50;
20
+ const SEND_TO_AGENT_LOOKUP_MAX_PAGES = 20;
18
21
  const ClientEventLogDir = Config.option(Config.string("MOLTZAP_CLIENT_EVENT_LOG_DIR"));
19
22
  const getClientEventLogDir = () => Option.getOrUndefined(Effect.runSync(ClientEventLogDir.pipe(Effect.withConfigProvider(ConfigProvider.fromEnv()))));
20
23
  function appendClientEventTrace(record) {
@@ -139,19 +142,15 @@ export class MoltZapService {
139
142
  (notification) => this.handleMessageReceivedNotification(notification.params),
140
143
  ],
141
144
  [
142
- ConversationCreatedNotificationDefinition,
145
+ TaskConversationCreatedNotificationDefinition,
143
146
  (notification) => this.handleConversationCreatedNotification(notification.params),
144
147
  ],
145
148
  [
146
- ConversationUpdatedNotificationDefinition,
147
- (notification) => this.handleConversationUpdatedNotification(notification.params),
148
- ],
149
- [
150
- ConversationArchivedNotificationDefinition,
149
+ TaskConversationArchivedNotificationDefinition,
151
150
  (notification) => this.handleConversationArchivedNotification(notification.params),
152
151
  ],
153
152
  [
154
- ConversationUnarchivedNotificationDefinition,
153
+ TaskConversationUnarchivedNotificationDefinition,
155
154
  (notification) => this.handleConversationUnarchivedNotification(notification.params),
156
155
  ],
157
156
  [
@@ -180,7 +179,7 @@ export class MoltZapService {
180
179
  /** Effect-native: compose via `yield*` or bridge at the edge via `Effect.runPromise`. */
181
180
  connect() {
182
181
  return Effect.gen(this, function* () {
183
- const client = new MoltZapWsClient({
182
+ const client = new MoltZapAgentClient({
184
183
  serverUrl: this.opts.serverUrl,
185
184
  agentKey: this.opts.agentKey,
186
185
  // Spec #222 OQ-6: arg required. The body doesn't branch on
@@ -322,7 +321,7 @@ export class MoltZapService {
322
321
  case LocalServiceCommands.History:
323
322
  return this.handleHistoryRequest(params);
324
323
  default: {
325
- const definition = rpcMethods.find((d) => d.name === method);
324
+ const definition = serverRpcMethods.find((d) => d.name === method);
326
325
  if (definition === undefined ||
327
326
  !definition.validateParams(params)) {
328
327
  return Effect.fail(new ServiceInputError({
@@ -338,6 +337,7 @@ export class MoltZapService {
338
337
  return Effect.gen(this, function* () {
339
338
  const request = yield* decodeHistoryRequest(params);
340
339
  const result = yield* this.sendRpc(MessagesList, {
340
+ taskId: request.taskId,
341
341
  conversationId: request.conversationId,
342
342
  limit: request.limit,
343
343
  });
@@ -389,9 +389,12 @@ export class MoltZapService {
389
389
  });
390
390
  }
391
391
  fetchHistoryConversationMeta(convId) {
392
- return this.sendRpc(ConversationsGet, {
393
- conversationId: convId,
394
- }).pipe(Effect.map((result) => result.conversation), Effect.catchAll(() => Effect.succeed(undefined)));
392
+ // Spec D3 D10: ConversationsGet retires; client filters
393
+ // TaskConversationList output for the matching conversation id.
394
+ return this.sendRpc(TaskConversationList, {}).pipe(Effect.map((result) => {
395
+ const hit = result.items.find((item) => item.conversation.id === convId);
396
+ return hit?.conversation;
397
+ }), Effect.catchAll(() => Effect.succeed(undefined)));
395
398
  }
396
399
  advanceHistoryLastRead(request, messages) {
397
400
  if (request.sessionKey === undefined || messages.length === 0) {
@@ -451,18 +454,19 @@ export class MoltZapService {
451
454
  });
452
455
  }
453
456
  // --- Messaging ---
454
- send(convId, text, opts) {
455
- if (this.isConversationArchived(convId)) {
457
+ send(taskId, conversationId, text, opts) {
458
+ if (this.isConversationArchived(conversationId)) {
456
459
  return Effect.fail(new RpcServerError({
457
460
  code: ConversationArchivedError.code,
458
461
  message: "Conversation is archived",
459
462
  }));
460
463
  }
461
464
  return Effect.asVoid(this.sendRpc(MessagesSend, {
462
- conversationId: convId,
465
+ taskId,
466
+ conversationId,
463
467
  parts: [{ type: "text", text }],
464
- ...(opts?.replyTo ? { replyToId: opts.replyTo } : {}),
465
- ...(opts?.dispatchLeaseId
468
+ ...(opts?.replyTo !== undefined ? { replyToId: opts.replyTo } : {}),
469
+ ...(opts?.dispatchLeaseId !== undefined
466
470
  ? { dispatchLeaseId: opts.dispatchLeaseId }
467
471
  : {}),
468
472
  }));
@@ -486,8 +490,8 @@ export class MoltZapService {
486
490
  sendToAgent(agentName, text, opts) {
487
491
  return Effect.gen(this, function* () {
488
492
  const cache = yield* Ref.get(this.agentConversationCacheRef);
489
- let conversationId = Option.getOrUndefined(HashMap.get(cache, agentName));
490
- if (!conversationId) {
493
+ let entry = Option.getOrUndefined(HashMap.get(cache, agentName));
494
+ if (entry === undefined) {
491
495
  const lookupResult = yield* this.sendRpc(AgentsLookupByName, {
492
496
  names: [agentName],
493
497
  });
@@ -495,15 +499,44 @@ export class MoltZapService {
495
499
  if (!agent) {
496
500
  return yield* Effect.fail(new AgentNotFoundError({ agentName }));
497
501
  }
498
- const createResult = yield* this.sendRpc(ConversationsCreate, {
499
- type: "dm",
500
- participants: [{ type: "agent", id: agent.id }],
502
+ const createResult = yield* this.sendRpc(TaskRequest, {
503
+ appId: DEFAULT_APP_ID,
504
+ invitedAgentIds: [agent.id],
505
+ initialConversation: { participants: [agent.id] },
501
506
  });
502
- conversationId = createResult.conversation.id;
503
- const newId = conversationId;
504
- yield* Ref.update(this.agentConversationCacheRef, (m) => HashMap.set(m, agentName, newId));
507
+ // `conversation: null` is the documented dedup-hit shape under
508
+ // `DEFAULT_APP_ID`. Resolve the reusable conversation under the
509
+ // returned task; if none exists (task closed / all archived),
510
+ // fail rather than die.
511
+ const conversationId = createResult.conversation !== null
512
+ ? createResult.conversation.id
513
+ : yield* this.resolveReusableConversationId(createResult.task.id, agentName);
514
+ entry = { taskId: createResult.task.id, conversationId };
515
+ const cached = entry;
516
+ yield* Ref.update(this.agentConversationCacheRef, (m) => HashMap.set(m, agentName, cached));
505
517
  }
506
- yield* this.send(conversationId, text, opts);
518
+ yield* this.send(entry.taskId, entry.conversationId, text, opts);
519
+ });
520
+ }
521
+ resolveReusableConversationId(taskId, agentName) {
522
+ return Effect.gen(this, function* () {
523
+ let cursor = undefined;
524
+ for (let page = 0; page < SEND_TO_AGENT_LOOKUP_MAX_PAGES; page++) {
525
+ const params = {
526
+ limit: SEND_TO_AGENT_LOOKUP_PAGE_SIZE,
527
+ };
528
+ if (cursor !== undefined)
529
+ params.cursor = cursor;
530
+ const result = yield* this.sendRpc(TaskConversationList, params);
531
+ const hit = result.items.find((item) => item.taskId === taskId &&
532
+ item.conversation.archivedAt === undefined);
533
+ if (hit !== undefined)
534
+ return hit.conversation.id;
535
+ if (result.nextCursor === undefined)
536
+ break;
537
+ cursor = result.nextCursor;
538
+ }
539
+ return yield* Effect.fail(new AgentNotFoundError({ agentName }));
507
540
  });
508
541
  }
509
542
  // --- Cross-Conversation Context ---
@@ -617,32 +650,6 @@ export class MoltZapService {
617
650
  });
618
651
  }
619
652
  // --- Internals ---
620
- /**
621
- * Fetch full conversation details (including participants) via RPC and merge
622
- * into the local cache. Called on ConversationCreated notifications because
623
- * the notification schema omits the participants list — see
624
- * protocol/notifications.ts.
625
- */
626
- refreshConversationParticipants(conversationId) {
627
- return this.sendRpc(ConversationsGet, {
628
- conversationId: conversationId,
629
- }).pipe(Effect.tap((res) => {
630
- const meta = {
631
- id: res.conversation.id,
632
- type: res.conversation.type,
633
- participants: res.participants.map((p) => `${p.participant.type}:${p.participant.id}`),
634
- ...(res.conversation.name !== undefined
635
- ? { name: res.conversation.name }
636
- : {}),
637
- };
638
- if (this.archivedConversationIds.has(conversationId)) {
639
- return Effect.void;
640
- }
641
- return Ref.update(this.conversationsRef, (m) => HashMap.set(m, conversationId, meta));
642
- }), Effect.asVoid,
643
- // Best-effort refresh. Leave the existing entry in place on failure.
644
- Effect.catchAll(() => Effect.void));
645
- }
646
653
  handleNotification(notification) {
647
654
  this.recordNotificationTrace(notification);
648
655
  fanout(this.handlers.rawNotification, notification);
@@ -697,15 +704,24 @@ export class MoltZapService {
697
704
  // via resolveAgentName(), which populates agentNamesRef on first miss and
698
705
  // hits the cache on every subsequent message.
699
706
  if (msg.senderId !== this._ownAgentId) {
700
- fanout(this.handlers.message, msg);
707
+ fanout(this.handlers.message, {
708
+ taskId: notification.taskId,
709
+ message: msg,
710
+ });
701
711
  }
702
712
  }
703
713
  handleConversationCreatedNotification(notification) {
704
- this.upsertConversationNotification(notification);
705
- Effect.runFork(this.refreshConversationParticipants(notification.conversation.id));
706
- }
707
- handleConversationUpdatedNotification(notification) {
708
- this.upsertConversationNotification(notification);
714
+ const { conversationId, name, participants } = notification;
715
+ this.archivedConversationIds.delete(conversationId);
716
+ Effect.runSync(Ref.update(this.conversationsRef, (m) => {
717
+ const inferredType = participants.length === 1 ? "dm" : "group";
718
+ return HashMap.set(m, conversationId, {
719
+ id: conversationId,
720
+ type: inferredType,
721
+ participants: participants.map((p) => `agent:${p}`),
722
+ ...(name !== undefined ? { name } : {}),
723
+ });
724
+ }));
709
725
  }
710
726
  handleConversationArchivedNotification(notification) {
711
727
  this.markConversationArchived(notification.conversationId);
@@ -715,52 +731,15 @@ export class MoltZapService {
715
731
  this.archivedConversationIds.delete(notification.conversationId);
716
732
  fanout(this.handlers.conversationUnarchived, notification);
717
733
  }
718
- upsertConversationNotification(notification) {
719
- const { conversation } = notification;
720
- this.archivedConversationIds.delete(conversation.id);
721
- Effect.runSync(Ref.update(this.conversationsRef, (m) => {
722
- const existing = Option.getOrUndefined(HashMap.get(m, conversation.id));
723
- return HashMap.set(m, conversation.id, {
724
- id: conversation.id,
725
- type: conversation.type,
726
- participants: existing?.participants ?? [],
727
- ...(conversation.name !== undefined
728
- ? { name: conversation.name }
729
- : {}),
730
- });
731
- }));
732
- }
733
734
  markConversationArchived(conversationId) {
734
735
  this.seenMessageIds.delete(conversationId);
735
736
  this.archivedConversationIds.add(conversationId);
736
737
  Effect.runSync(Effect.all([
737
738
  Ref.update(this.conversationsRef, (m) => HashMap.remove(m, conversationId)),
738
739
  Ref.update(this.messagesRef, (m) => HashMap.remove(m, conversationId)),
739
- Ref.update(this.agentConversationCacheRef, (m) => {
740
- let next = HashMap.empty();
741
- for (const [agentName, convId] of HashMap.entries(m)) {
742
- if (convId !== conversationId) {
743
- next = HashMap.set(next, agentName, convId);
744
- }
745
- }
746
- return next;
747
- }),
748
- Ref.update(this.lastNotifiedRef, (outer) => {
749
- let next = HashMap.empty();
750
- for (const [viewConvId, markers] of HashMap.entries(outer)) {
751
- if (viewConvId !== conversationId) {
752
- next = HashMap.set(next, viewConvId, HashMap.remove(markers, conversationId));
753
- }
754
- }
755
- return next;
756
- }),
757
- Ref.update(this.lastReadRef, (outer) => {
758
- let next = HashMap.empty();
759
- for (const [sessionKey, perConv] of HashMap.entries(outer)) {
760
- next = HashMap.set(next, sessionKey, HashMap.remove(perConv, conversationId));
761
- }
762
- return next;
763
- }),
740
+ Ref.update(this.agentConversationCacheRef, (m) => purgeAgentCacheEntries(m, conversationId)),
741
+ Ref.update(this.lastNotifiedRef, (outer) => purgeLastNotified(outer, conversationId)),
742
+ Ref.update(this.lastReadRef, (outer) => purgeLastRead(outer, conversationId)),
764
743
  ]));
765
744
  }
766
745
  storeMessage(msg) {
@@ -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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"}
@@ -1,11 +1,12 @@
1
1
  import { it as effectIt } from "@effect/vitest";
2
2
  import { describe, expect, it } from "vitest";
3
3
  import { Effect, Either, Exit } from "effect";
4
- import { ConversationsGet, ConversationArchivedError, ConversationArchivedNotificationDefinition, ConversationCreatedNotificationDefinition, ConversationUnarchivedNotificationDefinition, DispatchRequest, MessageReceivedNotificationDefinition, MessagesSend, } from "@moltzap/protocol";
4
+ import { TaskConversationList, ConversationArchivedError, TaskConversationArchivedNotificationDefinition, TaskConversationCreatedNotificationDefinition, TaskConversationUnarchivedNotificationDefinition, DispatchRequest, MessageReceivedNotificationDefinition, MessagesSend, } from "@moltzap/protocol";
5
5
  import { sanitizeForSystemReminder } from "./service.js";
6
6
  import { FakeMoltZapService } from "./test-utils/fake-service.js";
7
- import { buildMessage, testAgentId, testConversationId, testMessageId, } from "./test-utils/index.js";
8
- import { AgentsLookupByName, ConversationsCreate } from "@moltzap/protocol";
7
+ import { buildMessage, testAgentId, testConversationId, testMessageId, testTaskId, } from "./test-utils/index.js";
8
+ import { AgentsLookupByName } from "@moltzap/protocol";
9
+ import { DEFAULT_APP_ID, TaskRequest } from "@moltzap/protocol/task";
9
10
  const effectTest = effectIt.effect;
10
11
  const AGENT_ALICE_ID = testAgentId("agent-alice-id");
11
12
  const AGENT_SELF_ID = testAgentId("agent-self");
@@ -19,6 +20,7 @@ const AGENT_OTHER = testAgentId("agent-other");
19
20
  const CONVERSATION_ALICE_ID = testConversationId("conv-alice");
20
21
  const CONVERSATION_BOB_ID = testConversationId("conv-bob");
21
22
  const CONVERSATION_ARCHIVED_ID = testConversationId("conv-archived");
23
+ const TASK_ARCHIVED_ID = testTaskId("task-archived");
22
24
  const CONVERSATION_OTHER_ID = testConversationId("conv-other");
23
25
  const CONVERSATION_SELF_ID = testConversationId("conv-self");
24
26
  const CONVERSATION_SELF_A_ID = testConversationId("conv-self-a");
@@ -51,7 +53,7 @@ const PLACEHOLDER_TEXT = "placeholder";
51
53
  const AGENT_NOT_FOUND_TAG = "AgentNotFoundError";
52
54
  const NOBODY_AGENT_NAME = "nobody";
53
55
  const LOOKUP_MISSING_RESPONSE_MESSAGE = /no canned response for agents\/lookupByName/;
54
- const CREATE_MISSING_RESPONSE_MESSAGE = /no canned response for conversations\/create/;
56
+ const CREATE_MISSING_RESPONSE_MESSAGE = /no canned response for task\/request/;
55
57
  const SEND_MISSING_RESPONSE_MESSAGE = /no canned response for messages\/send/;
56
58
  const PLAIN_NAME = "Alice";
57
59
  const PLAIN_TEXT = "hello world";
@@ -89,10 +91,20 @@ const FULL_HISTORY_CONVERSATION_SPACING_MS = 10_000;
89
91
  const FULL_HISTORY_MESSAGE_SPACING_MS = 1_000;
90
92
  const FULL_HISTORY_EXPECTED_MESSAGES = 50;
91
93
  const STORED_MESSAGE_COUNT = 30;
92
- const conversationResponse = (id = CONVERSATION_ALICE_ID) => ({
94
+ const TASK_ALICE_ID = testTaskId("task-alice");
95
+ const TASK_BOB_ID = testTaskId("task-bob");
96
+ const taskCreateResponse = (taskId = TASK_ALICE_ID, conversationId = CONVERSATION_ALICE_ID) => ({
97
+ task: {
98
+ id: taskId,
99
+ appId: DEFAULT_APP_ID,
100
+ initiatorAgentId: AGENT_SELF_ID,
101
+ status: "active",
102
+ startedAt: null,
103
+ endedAt: null,
104
+ createdAt: DEFAULT_TEST_DATE,
105
+ },
93
106
  conversation: {
94
- id,
95
- type: "dm",
107
+ id: conversationId,
96
108
  createdBy: AGENT_SELF_ID,
97
109
  createdAt: DEFAULT_TEST_DATE,
98
110
  updatedAt: DEFAULT_TEST_DATE,
@@ -118,7 +130,7 @@ function seedAgentLookup(service, id = AGENT_ALICE_ID, name = SEND_TO_AGENT_NAME
118
130
  function makeSendToAgentService() {
119
131
  const service = new FakeMoltZapService();
120
132
  seedAgentLookup(service);
121
- service.setResponse(ConversationsCreate, conversationResponse());
133
+ service.setResponse(TaskRequest, taskCreateResponse());
122
134
  seedMessageSendResponse(service);
123
135
  return service;
124
136
  }
@@ -135,15 +147,17 @@ function sendToAgentCreatesConversation() {
135
147
  params: { names: [SEND_TO_AGENT_NAME] },
136
148
  },
137
149
  {
138
- method: ConversationsCreate.name,
150
+ method: TaskRequest.name,
139
151
  params: {
140
- type: "dm",
141
- participants: [{ type: "agent", id: AGENT_ALICE_ID }],
152
+ appId: DEFAULT_APP_ID,
153
+ invitedAgentIds: [AGENT_ALICE_ID],
154
+ initialConversation: { participants: [AGENT_ALICE_ID] },
142
155
  },
143
156
  },
144
157
  {
145
158
  method: MessagesSend.name,
146
159
  params: {
160
+ taskId: TASK_ALICE_ID,
147
161
  conversationId: CONVERSATION_ALICE_ID,
148
162
  parts: [{ type: "text", text: HELLO_TEXT }],
149
163
  },
@@ -161,6 +175,7 @@ function sendToAgentCachesConversation() {
161
175
  {
162
176
  method: MessagesSend.name,
163
177
  params: {
178
+ taskId: TASK_ALICE_ID,
164
179
  conversationId: CONVERSATION_ALICE_ID,
165
180
  parts: [{ type: "text", text: SECOND_TEXT }],
166
181
  },
@@ -176,6 +191,7 @@ function sendToAgentForwardsReplyTo() {
176
191
  replyTo: replyToId,
177
192
  });
178
193
  expect(findSendCall(service)?.params).toEqual({
194
+ taskId: TASK_ALICE_ID,
179
195
  conversationId: CONVERSATION_ALICE_ID,
180
196
  parts: [{ type: "text", text: REPLY_TEXT }],
181
197
  replyToId,
@@ -187,7 +203,7 @@ function sendToAgentCachesPerAgentName() {
187
203
  const service = makeSendToAgentService();
188
204
  yield* service.sendToAgent(SEND_TO_AGENT_NAME, HELLO_ALICE_TEXT);
189
205
  seedAgentLookup(service, AGENT_BOB_ID, BOB_AGENT_NAME);
190
- service.setResponse(ConversationsCreate, conversationResponse(CONVERSATION_BOB_ID));
206
+ service.setResponse(TaskRequest, taskCreateResponse(TASK_BOB_ID, CONVERSATION_BOB_ID));
191
207
  yield* service.sendToAgent(BOB_AGENT_NAME, HELLO_BOB_TEXT);
192
208
  service.calls = [];
193
209
  yield* service.sendToAgent(SEND_TO_AGENT_NAME, ALICE_AGAIN_TEXT);
@@ -221,7 +237,7 @@ function sendToAgentLookupFailurePropagates() {
221
237
  function sendToAgentCreateFailurePropagates() {
222
238
  return Effect.gen(function* () {
223
239
  const service = makeSendToAgentService();
224
- service.deleteResponse(ConversationsCreate);
240
+ service.deleteResponse(TaskRequest);
225
241
  const exit = yield* Effect.exit(service.sendToAgent(SEND_TO_AGENT_NAME, HI_TEXT));
226
242
  expect(Exit.isFailure(exit)).toBe(true);
227
243
  expect(String(exit)).toMatch(CREATE_MISSING_RESPONSE_MESSAGE);
@@ -249,7 +265,7 @@ describe("MoltZapService.sendToAgent lookup failures", () => {
249
265
  effectTest("propagates errors from agents/lookupByName", sendToAgentLookupFailurePropagates);
250
266
  });
251
267
  describe("MoltZapService.sendToAgent send failures", () => {
252
- effectTest("propagates errors from conversations/create", sendToAgentCreateFailurePropagates);
268
+ effectTest("propagates errors from task/create", sendToAgentCreateFailurePropagates);
253
269
  effectTest("propagates errors from messages/send", sendToAgentSendFailurePropagates);
254
270
  });
255
271
  function plainTextPassesThrough() {
@@ -671,16 +687,20 @@ describe("MoltZapService.peekFullMessages history size", () => {
671
687
  });
672
688
  const archivedConversation = () => ({
673
689
  id: CONVERSATION_ARCHIVED_ID,
674
- type: "group",
675
690
  name: ARCHIVED_DISPLAY_NAME,
676
691
  createdBy: AGENT_SELF_ID,
677
692
  createdAt: ARCHIVED_TIMESTAMP,
678
693
  updatedAt: ARCHIVED_TIMESTAMP,
679
694
  });
680
695
  function seedArchivedConversation(service) {
681
- service.setResponse(ConversationsGet, {
682
- conversation: archivedConversation(),
683
- participants: [],
696
+ service.setResponse(TaskConversationList, {
697
+ items: [
698
+ {
699
+ taskId: TASK_ARCHIVED_ID,
700
+ participants: [],
701
+ conversation: archivedConversation(),
702
+ },
703
+ ],
684
704
  });
685
705
  service.setResponse(MessagesSend, {
686
706
  message: buildMessage({
@@ -691,8 +711,11 @@ function seedArchivedConversation(service) {
691
711
  createdAt: ARCHIVED_TIMESTAMP,
692
712
  }),
693
713
  });
694
- service.emitEvent(ConversationCreatedNotificationDefinition.encode({
695
- conversation: archivedConversation(),
714
+ service.emitEvent(TaskConversationCreatedNotificationDefinition.encode({
715
+ taskId: TASK_ARCHIVED_ID,
716
+ conversationId: CONVERSATION_ARCHIVED_ID,
717
+ name: ARCHIVED_DISPLAY_NAME,
718
+ participants: [],
696
719
  }));
697
720
  service.addMessage(CONVERSATION_ARCHIVED_ID, buildMessage({
698
721
  id: MESSAGE_ONE_ID,
@@ -719,22 +742,22 @@ function archiveLifecyclePurgesAndRejectsSends() {
719
742
  const unarchivedEvents = [];
720
743
  service.on("conversationArchived", (data) => archivedEvents.push(data));
721
744
  service.on("conversationUnarchived", (data) => unarchivedEvents.push(data));
722
- const archivedEvent = ConversationArchivedNotificationDefinition.encode({
745
+ const archivedEvent = TaskConversationArchivedNotificationDefinition.encode({
746
+ taskId: TASK_ARCHIVED_ID,
723
747
  conversationId: CONVERSATION_ARCHIVED_ID,
724
748
  archivedAt: ARCHIVED_AT,
725
- by: AGENT_GM_ID,
726
749
  });
727
750
  service.emitEvent(archivedEvent);
728
751
  expect(service.isConversationArchived(CONVERSATION_ARCHIVED_ID)).toBe(true);
729
752
  expect(service.getConversation(CONVERSATION_ARCHIVED_ID)).toBeUndefined();
730
753
  expect(service.getHistory(CONVERSATION_ARCHIVED_ID)).toEqual([]);
731
754
  expect(archivedEvents).toEqual([archivedEvent.params]);
732
- const lateSend = yield* Effect.either(service.send(CONVERSATION_ARCHIVED_ID, "should not hit rpc"));
755
+ const lateSend = yield* Effect.either(service.send(TASK_ARCHIVED_ID, CONVERSATION_ARCHIVED_ID, "should not hit rpc"));
733
756
  expectArchivedSendFailure(lateSend);
734
757
  expect(service.calls.filter((call) => call.method === MessagesSend.name)).toEqual([]);
735
- const unarchivedEvent = ConversationUnarchivedNotificationDefinition.encode({
758
+ const unarchivedEvent = TaskConversationUnarchivedNotificationDefinition.encode({
759
+ taskId: TASK_ARCHIVED_ID,
736
760
  conversationId: CONVERSATION_ARCHIVED_ID,
737
- by: AGENT_GM_ID,
738
761
  });
739
762
  service.emitEvent(unarchivedEvent);
740
763
  expect(service.isConversationArchived(CONVERSATION_ARCHIVED_ID)).toBe(false);
@@ -751,7 +774,7 @@ describe("MoltZapService.fanout — message handlers", () => {
751
774
  service.on("message", () => {
752
775
  throw new Error("first handler boom");
753
776
  });
754
- service.on("message", (m) => {
777
+ service.on("message", ({ message: m }) => {
755
778
  seen.push(m);
756
779
  });
757
780
  const msg = buildMessage({
@@ -762,6 +785,7 @@ describe("MoltZapService.fanout — message handlers", () => {
762
785
  createdAt: "2026-04-16T00:00:00.000Z",
763
786
  });
764
787
  const event = MessageReceivedNotificationDefinition.encode({
788
+ taskId: TASK_ALICE_ID,
765
789
  message: msg,
766
790
  });
767
791
  service.emitEvent(event);