@masons/agent-network 0.5.322 → 0.5.324

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 (122) hide show
  1. package/dist/channel.d.ts.map +1 -1
  2. package/dist/channel.js +14 -1
  3. package/dist/conversation-manager.d.ts +2 -2
  4. package/dist/conversation-manager.d.ts.map +1 -1
  5. package/dist/conversation-manager.js +6 -6
  6. package/dist/plugin.d.ts.map +1 -1
  7. package/dist/plugin.js +5 -3
  8. package/dist/runtime-endpoint-client.d.ts.map +1 -1
  9. package/dist/tools.d.ts.map +1 -1
  10. package/dist/tools.js +7 -3
  11. package/dist/version.d.ts +1 -1
  12. package/dist/version.js +1 -1
  13. package/package.json +2 -11
  14. package/skills/agent-network/SKILL.md +9 -4
  15. package/dist/broker/broker-daemon.d.ts +0 -71
  16. package/dist/broker/broker-daemon.d.ts.map +0 -1
  17. package/dist/broker/broker-daemon.js +0 -837
  18. package/dist/broker/claude-code-spawn-driver.d.ts +0 -14
  19. package/dist/broker/claude-code-spawn-driver.d.ts.map +0 -1
  20. package/dist/broker/claude-code-spawn-driver.js +0 -39
  21. package/dist/broker/closed-endpoint-lookup.d.ts +0 -25
  22. package/dist/broker/closed-endpoint-lookup.d.ts.map +0 -1
  23. package/dist/broker/closed-endpoint-lookup.js +0 -59
  24. package/dist/broker/codex-spawn-driver-stub.d.ts +0 -7
  25. package/dist/broker/codex-spawn-driver-stub.d.ts.map +0 -1
  26. package/dist/broker/codex-spawn-driver-stub.js +0 -13
  27. package/dist/broker/connector-ws.d.ts +0 -47
  28. package/dist/broker/connector-ws.d.ts.map +0 -1
  29. package/dist/broker/connector-ws.js +0 -60
  30. package/dist/broker/control-event-dispatcher.d.ts +0 -21
  31. package/dist/broker/control-event-dispatcher.d.ts.map +0 -1
  32. package/dist/broker/control-event-dispatcher.js +0 -45
  33. package/dist/broker/control-event-types.d.ts +0 -28
  34. package/dist/broker/control-event-types.d.ts.map +0 -1
  35. package/dist/broker/control-event-types.js +0 -1
  36. package/dist/broker/correlation-ring.d.ts +0 -10
  37. package/dist/broker/correlation-ring.d.ts.map +0 -1
  38. package/dist/broker/correlation-ring.js +0 -32
  39. package/dist/broker/discovery-file.d.ts +0 -12
  40. package/dist/broker/discovery-file.d.ts.map +0 -1
  41. package/dist/broker/discovery-file.js +0 -77
  42. package/dist/broker/endpoint-registry.d.ts +0 -53
  43. package/dist/broker/endpoint-registry.d.ts.map +0 -1
  44. package/dist/broker/endpoint-registry.js +0 -83
  45. package/dist/broker/endpoint-state-machine.d.ts +0 -40
  46. package/dist/broker/endpoint-state-machine.d.ts.map +0 -1
  47. package/dist/broker/endpoint-state-machine.js +0 -92
  48. package/dist/broker/entry.d.ts +0 -13
  49. package/dist/broker/entry.d.ts.map +0 -1
  50. package/dist/broker/entry.js +0 -235
  51. package/dist/broker/grace-timer.d.ts +0 -9
  52. package/dist/broker/grace-timer.d.ts.map +0 -1
  53. package/dist/broker/grace-timer.js +0 -34
  54. package/dist/broker/ipc-server.d.ts +0 -79
  55. package/dist/broker/ipc-server.d.ts.map +0 -1
  56. package/dist/broker/ipc-server.js +0 -263
  57. package/dist/broker/logger.d.ts +0 -10
  58. package/dist/broker/logger.d.ts.map +0 -1
  59. package/dist/broker/logger.js +0 -34
  60. package/dist/broker/network-presence-changed-event-types.d.ts +0 -8
  61. package/dist/broker/network-presence-changed-event-types.d.ts.map +0 -1
  62. package/dist/broker/network-presence-changed-event-types.js +0 -1
  63. package/dist/broker/network-presence-emitter.d.ts +0 -22
  64. package/dist/broker/network-presence-emitter.d.ts.map +0 -1
  65. package/dist/broker/network-presence-emitter.js +0 -150
  66. package/dist/broker/network-presence.d.ts +0 -31
  67. package/dist/broker/network-presence.d.ts.map +0 -1
  68. package/dist/broker/network-presence.js +0 -109
  69. package/dist/broker/paths.d.ts +0 -11
  70. package/dist/broker/paths.d.ts.map +0 -1
  71. package/dist/broker/paths.js +0 -30
  72. package/dist/broker/plugin-liveness.d.ts +0 -2
  73. package/dist/broker/plugin-liveness.d.ts.map +0 -1
  74. package/dist/broker/plugin-liveness.js +0 -15
  75. package/dist/broker/received-message-correlation-cache.d.ts +0 -23
  76. package/dist/broker/received-message-correlation-cache.d.ts.map +0 -1
  77. package/dist/broker/received-message-correlation-cache.js +0 -114
  78. package/dist/broker/reconnecting-buffer.d.ts +0 -23
  79. package/dist/broker/reconnecting-buffer.d.ts.map +0 -1
  80. package/dist/broker/reconnecting-buffer.js +0 -107
  81. package/dist/broker/routing-table.d.ts +0 -22
  82. package/dist/broker/routing-table.d.ts.map +0 -1
  83. package/dist/broker/routing-table.js +0 -35
  84. package/dist/broker/runtime-endpoint-port.d.ts +0 -20
  85. package/dist/broker/runtime-endpoint-port.d.ts.map +0 -1
  86. package/dist/broker/runtime-endpoint-port.js +0 -1
  87. package/dist/broker/services-event-client.d.ts +0 -21
  88. package/dist/broker/services-event-client.d.ts.map +0 -1
  89. package/dist/broker/services-event-client.js +0 -221
  90. package/dist/broker/spawn-correlation.d.ts +0 -28
  91. package/dist/broker/spawn-correlation.d.ts.map +0 -1
  92. package/dist/broker/spawn-correlation.js +0 -77
  93. package/dist/broker/spawn-driver.d.ts +0 -27
  94. package/dist/broker/spawn-driver.d.ts.map +0 -1
  95. package/dist/broker/spawn-driver.js +0 -15
  96. package/dist/broker/task-hint-handler.d.ts +0 -21
  97. package/dist/broker/task-hint-handler.d.ts.map +0 -1
  98. package/dist/broker/task-hint-handler.js +0 -33
  99. package/dist/broker/transition-state-retry-queue.d.ts +0 -20
  100. package/dist/broker/transition-state-retry-queue.d.ts.map +0 -1
  101. package/dist/broker/transition-state-retry-queue.js +0 -48
  102. package/dist/broker/undispatched-changed-event-types.d.ts +0 -29
  103. package/dist/broker/undispatched-changed-event-types.d.ts.map +0 -1
  104. package/dist/broker/undispatched-changed-event-types.js +0 -14
  105. package/dist/broker/undispatched-emitter.d.ts +0 -22
  106. package/dist/broker/undispatched-emitter.d.ts.map +0 -1
  107. package/dist/broker/undispatched-emitter.js +0 -149
  108. package/dist/broker/undispatched-inbox.d.ts +0 -26
  109. package/dist/broker/undispatched-inbox.d.ts.map +0 -1
  110. package/dist/broker/undispatched-inbox.js +0 -53
  111. package/dist/broker/version-handshake.d.ts +0 -30
  112. package/dist/broker/version-handshake.d.ts.map +0 -1
  113. package/dist/broker/version-handshake.js +0 -47
  114. package/dist/broker-client/broker-client.d.ts +0 -65
  115. package/dist/broker-client/broker-client.d.ts.map +0 -1
  116. package/dist/broker-client/broker-client.js +0 -165
  117. package/dist/broker-client/lazy-spawn.d.ts +0 -18
  118. package/dist/broker-client/lazy-spawn.d.ts.map +0 -1
  119. package/dist/broker-client/lazy-spawn.js +0 -61
  120. package/dist/session-lifecycle.d.ts +0 -89
  121. package/dist/session-lifecycle.d.ts.map +0 -1
  122. package/dist/session-lifecycle.js +0 -348
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoC9D,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAOD,wBAAgB,2BAA2B,IAAI,OAAO,CAIrD;AAGD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/D;AAUD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB,CAAC,CAAC;IAC9B,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACpE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9C,QAAQ,CAAC,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzE;AAED,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2DD,iBAAS,iCAAiC,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAED,eAAO,MAAM,4CAA4C,0CACtB,CAAC;AAEpC,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,YAAY,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,WAAW,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,UAAU,yBAAyB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAClD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;CACrD;AAyYD,eAAO,MAAM,mBAAmB,EAAE,yBAyNjC,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoC9D,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAOD,wBAAgB,2BAA2B,IAAI,OAAO,CAIrD;AAGD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/D;AAUD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB,CAAC,CAAC;IAC9B,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACpE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9C,QAAQ,CAAC,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzE;AAED,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2DD,iBAAS,iCAAiC,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAED,eAAO,MAAM,4CAA4C,0CACtB,CAAC;AAEpC,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,YAAY,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,WAAW,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,UAAU,yBAAyB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAClD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;CACrD;AAmaD,eAAO,MAAM,mBAAmB,EAAE,yBAyNjC,CAAC"}
package/dist/channel.js CHANGED
@@ -125,6 +125,12 @@ async function handleAddressedMessage(event, conversationManager, client, ctx) {
125
125
  dbg("duplicate message suppressed from=%s sentAt=%s", fromAddress, event.sentAt);
126
126
  return;
127
127
  }
128
+ const inboundCorrelationId = typeof event.metadata?.correlation_id === "string"
129
+ ? event.metadata.correlation_id
130
+ : undefined;
131
+ const inboundMessageId = typeof event.metadata?.message_id === "string"
132
+ ? event.metadata.message_id
133
+ : undefined;
128
134
  const nodeRef = tryProjectNodeRef(event.metadata);
129
135
  if (nodeRef) {
130
136
  setCurrentTurnIsOwner(false);
@@ -232,7 +238,14 @@ async function handleAddressedMessage(event, conversationManager, client, ctx) {
232
238
  dbg("deliver suppressed: conversation ended senderId=%s len=%d", senderId, text.length);
233
239
  return;
234
240
  }
235
- const deliverResult = await conversationManager.send(senderId, text);
241
+ const replyMetadata = {};
242
+ if (inboundCorrelationId !== undefined) {
243
+ replyMetadata.correlation_id = inboundCorrelationId;
244
+ }
245
+ if (inboundMessageId !== undefined) {
246
+ replyMetadata.in_reply_to = inboundMessageId;
247
+ }
248
+ const deliverResult = await conversationManager.send(senderId, text, Object.keys(replyMetadata).length > 0 ? replyMetadata : undefined);
236
249
  dbg("deliver reply senderId=%s status=%s contentLength=%d", senderId, deliverResult.status, text.length);
237
250
  },
238
251
  onError: (err) => {
@@ -23,12 +23,12 @@ export declare class ConversationManager {
23
23
  private readonly connectorHost;
24
24
  private readonly conversations;
25
25
  constructor(client: ConnectorClient, connectorHost: string);
26
- send(contact: string, content: string): Promise<SendResult>;
26
+ send(contact: string, content: string, metadata?: Record<string, unknown>): Promise<SendResult>;
27
27
  registerInbound(contact: string, address: string): void;
28
28
  getContactByAddress(address: string): string | undefined;
29
29
  listConversations(): ConversationSummary[];
30
30
  hasConversation(contact: string): boolean;
31
- endConversation(contact: string): void;
31
+ endConversation(contact: string): boolean;
32
32
  commitEndedConversations(): void;
33
33
  resolveAddress(contact: string): string;
34
34
  extractHandle(address: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAS7E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,CAAC;IAchC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,CAAC;CACjC;AA4BD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;gBAE1D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM;IAoBpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoCjE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASvD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkBxD,iBAAiB,IAAI,mBAAmB,EAAE;IAwB1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiBzC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAwBtC,wBAAwB,IAAI,IAAI;IAgChC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAyBvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQtC,OAAO,CAAC,uBAAuB;IA0B/B,gBAAgB,IAAI,IAAI;CAGzB"}
1
+ {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAS7E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,CAAC;IAchC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,CAAC;CACjC;AA4BD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;gBAE1D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM;IAuBpD,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC;IAoCtB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASvD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkBxD,iBAAiB,IAAI,mBAAmB,EAAE;IAwB1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiBzC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAyBzC,wBAAwB,IAAI,IAAI;IAgChC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAyBvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQtC,OAAO,CAAC,uBAAuB;IA0B/B,gBAAgB,IAAI,IAAI;CAGzB"}
@@ -24,10 +24,10 @@ export class ConversationManager {
24
24
  this.client = client;
25
25
  this.connectorHost = connectorHost;
26
26
  }
27
- async send(contact, content) {
27
+ async send(contact, content, metadata) {
28
28
  const address = this.resolveAddress(contact);
29
29
  try {
30
- const ack = await this.client.send(address, content, "text");
30
+ const ack = await this.client.send(address, content, "text", metadata);
31
31
  this.ensureConversationEntry(this.extractHandle(address), address, "local");
32
32
  dbg("send contact=%s address=%s status=%s", contact, address, ack.status);
33
33
  return { status: "sent" };
@@ -77,13 +77,13 @@ export class ConversationManager {
77
77
  endConversation(contact) {
78
78
  const address = this.resolveAddress(contact);
79
79
  const entry = this.conversations.get(address);
80
- if (entry) {
80
+ if (entry && !entry.ended) {
81
81
  entry.ended = true;
82
82
  dbg("endConversation (deferred) contact=%s address=%s", contact, address);
83
+ return true;
83
84
  }
84
- else {
85
- dbg("endConversation (no-op) contact=%s address=%s", contact, address);
86
- }
85
+ dbg("endConversation (no-op) contact=%s address=%s", contact, address);
86
+ return false;
87
87
  }
88
88
  commitEndedConversations() {
89
89
  let count = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAqJA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,YAAY,CACV,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,IAAI,CAAC;IACR,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACnE;AAED,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaI,iBAAiB;CA+XhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAqJA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,YAAY,CACV,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,IAAI,CAAC;IACR,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACnE;AAED,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaI,iBAAiB;CAiYhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/plugin.js CHANGED
@@ -116,7 +116,7 @@ const plugin = {
116
116
  "masons_note_for_owner(content, from?) — save a note for your owner's next turn. " +
117
117
  "Other network tools: masons_list_requests, masons_send_connection_request, " +
118
118
  "masons_accept_request, masons_decline_request, masons_list_connections, " +
119
- "masons_end_conversation. " +
119
+ "masons_end_conversation (rare one-shot close signal only). " +
120
120
  "Always try these tools first for network operations. " +
121
121
  "If a tool call fails, report the error to your user — do not silently work around it. " +
122
122
  "You interact with multiple entities simultaneously — your owner and agents on the network. " +
@@ -126,8 +126,10 @@ const plugin = {
126
126
  "After responding on the network, check: " +
127
127
  "should you report to your owner via masons_note_for_owner? " +
128
128
  "Should you follow up with another agent via masons_send_message? " +
129
- "When the interaction is complete, call masons_end_conversation as your FINAL action — " +
130
- "do not generate any text reply after ending. " +
129
+ "Do not call masons_end_conversation as routine cleanup. " +
130
+ "If your owner explicitly says to stop contacting a remote agent, treat that remote interaction as terminal: " +
131
+ "do not send further messages to that agent in this interaction. " +
132
+ "Tail acknowledgements from a remote agent such as Done, Goodbye, OK, or received do not require a reply or a close tool call. " +
131
133
  "";
132
134
  api.on("before_prompt_build", async (_event, ctx) => {
133
135
  const hookCtx = ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-endpoint-client.d.ts","sourceRoot":"","sources":["../src/runtime-endpoint-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAqEA,UAAU,WAAW;IACnB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3B;AAED,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3E,UAAU,OAAO;IACf,YAAY,CACV,IAAI,EAAE,cAAc,GAAG,WAAW,EAClC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,IAAI,CAAC;CACT;AAoDD,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAqRD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAuzBhD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAqEA,UAAU,WAAW;IACnB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3B;AAED,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3E,UAAU,OAAO;IACf,YAAY,CACV,IAAI,EAAE,cAAc,GAAG,WAAW,EAClC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,IAAI,CAAC;CACT;AAoDD,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAqRD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA6zBhD"}
package/dist/tools.js CHANGED
@@ -558,7 +558,9 @@ export function registerTools(api) {
558
558
  });
559
559
  api.registerTool({
560
560
  name: "masons_end_conversation",
561
- description: "End the conversation with a connected agent. This immediately closes the session — do not send any text reply after calling this tool.",
561
+ description: "Rare compatibility tool: mark an active contact closed for this turn. " +
562
+ "Do not use this as routine lifecycle cleanup. Use only once for an " +
563
+ "explicit stop/close instruction, never for tail acknowledgements such as Done or Goodbye.",
562
564
  parameters: Type.Object({
563
565
  contact: Type.String({
564
566
  description: "Handle (e.g. alice) or address of the agent to end the conversation with",
@@ -567,8 +569,10 @@ export function registerTools(api) {
567
569
  execute: withUpdateNotice(async (_id, params) => {
568
570
  const cm = requireConversationManager();
569
571
  const contact = params.contact;
570
- cm.endConversation(contact);
571
- return textResult("Conversation ended.");
572
+ const ended = cm.endConversation(contact);
573
+ return textResult(ended
574
+ ? "Conversation marked closed for this turn."
575
+ : "No active conversation to close.");
572
576
  }),
573
577
  });
574
578
  api.registerTool({
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const PLUGIN_VERSION = "0.5.322";
1
+ export declare const PLUGIN_VERSION = "0.5.324";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const PLUGIN_VERSION = "0.5.322";
1
+ export const PLUGIN_VERSION = "0.5.324";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@masons/agent-network",
3
- "version": "0.5.322",
4
- "description": "MASONS Agent Network — connects agent runtimes to the Agent Network over MSTP. Ships an OpenClaw channel plugin (root export) and subpath exports consumed by the Claude Code plugin today (planned: Codex and future hosts).",
3
+ "version": "0.5.324",
4
+ "description": "MASONS Agent Network — OpenClaw channel plugin for connecting agent runtimes to the Agent Network over MSTP.",
5
5
  "license": "MIT",
6
6
  "author": "MASONS.ai <hello@masons.ai> (https://masons.ai)",
7
7
  "homepage": "https://masons.ai",
@@ -65,21 +65,12 @@
65
65
  "./handoff": {
66
66
  "types": "./dist/handoff.d.ts",
67
67
  "default": "./dist/handoff.js"
68
- },
69
- "./broker": {
70
- "types": "./dist/broker/entry.d.ts",
71
- "default": "./dist/broker/entry.js"
72
- },
73
- "./broker/client": {
74
- "types": "./dist/broker-client/broker-client.d.ts",
75
- "default": "./dist/broker-client/broker-client.js"
76
68
  }
77
69
  },
78
70
  "dependencies": {
79
71
  "@clack/prompts": "^1.2.0",
80
72
  "@sinclair/typebox": "^0.34",
81
73
  "debug": "^4.4.3",
82
- "env-paths": "^3.0.0",
83
74
  "ws": "8.18.3"
84
75
  },
85
76
  "devDependencies": {
@@ -286,7 +286,9 @@ Your context will show your **active interactions** — who you're interacting w
286
286
 
287
287
  - To send to an agent: `masons_send_message(to, content)`
288
288
  - To report to your owner: `masons_note_for_owner(content, from?)`
289
- - To end an interaction: `masons_end_conversation(contact)`
289
+ - To mark an explicitly stopped interaction closed for this turn: `masons_end_conversation(contact)` (rare compatibility tool)
290
+
291
+ `masons_end_conversation` is not routine cleanup. The Connector owns endpoint lifecycle. Use the tool at most once for a direct stop/close instruction, and never call it in response to tail acknowledgements such as "Done", "Goodbye", "OK", or "收到".
290
292
 
291
293
  ### When you contact another agent (you initiate)
292
294
 
@@ -298,7 +300,8 @@ Your owner asked you to do something involving another agent. Your goal is to dr
298
300
  - **They gave a verbal response only** ("I'll check", "let me get back to you") → They haven't acted yet. Request specific action, or report the status to your owner via `masons_note_for_owner` so your owner knows it's pending.
299
301
  - **They declined or can't do it** → Report to your owner via `masons_note_for_owner`.
300
302
  - **Their response is unclear** → Report what they said to your owner via `masons_note_for_owner` and let your owner decide next steps.
301
- 3. When the goal is achieved, end the interaction via `masons_end_conversation`.
303
+ 3. When the goal is achieved, report the result to your owner if useful. Do not perform extra lifecycle cleanup.
304
+ 4. If your owner explicitly says to stop, do not send further messages to that remote agent in this interaction. If an active network turn must be marked closed, call `masons_end_conversation` once as the final action.
302
305
 
303
306
  ### When another agent contacts you (they initiate)
304
307
 
@@ -308,14 +311,16 @@ Another agent sent you a message. Understand what they want — what state chang
308
311
  - **You need your owner's input** → Tell the other agent you need to check. Report the request to your owner via `masons_note_for_owner`.
309
312
  - **It's outside your capability** → Clearly communicate what you can and cannot do.
310
313
 
311
- ### After every network interaction
314
+ ### After network interactions
312
315
 
313
316
  After responding to a network message, always check:
314
317
 
315
318
  1. **Report to owner?** Should you inform your owner about what just happened? If yes, call `masons_note_for_owner`. When in doubt, report — your owner would rather know too much than too little.
316
- 2. **Interaction complete?** Has the goal been achieved? If yes, end via `masons_end_conversation`. If follow-up may be needed, keep it open.
319
+ 2. **Interaction complete?** Has the goal been achieved? If yes, stop. Do not call a close tool just because the exchange is complete.
317
320
  3. **Other interactions?** Do any of your other active interactions need attention?
318
321
 
322
+ Tail messages from a remote agent that only acknowledge closure or completion ("Done", "Goodbye", "OK", "收到") are terminal. Do not reply, do not send another message, and do not call `masons_end_conversation` again.
323
+
319
324
  ### Routing
320
325
 
321
326
  Your text reply always goes to whoever triggered the current turn — you cannot redirect it.
@@ -1,71 +0,0 @@
1
- import { spawn as spawnChild } from "node:child_process";
2
- import type { IncomingMessage } from "node:http";
3
- import type { ClosedEndpointLookup } from "./closed-endpoint-lookup.js";
4
- import type { ConnectorWS } from "./connector-ws.js";
5
- import { type ControlEventDispatcher } from "./control-event-dispatcher.js";
6
- import type { ControlAck } from "./control-event-types.js";
7
- import { type EndpointState } from "./endpoint-state-machine.js";
8
- import type { BrokerLogger } from "./logger.js";
9
- import { type NetworkPresence } from "./network-presence.js";
10
- import type { NetworkPresenceChangedEvent } from "./network-presence-changed-event-types.js";
11
- import type { BrokerPaths } from "./paths.js";
12
- import { type BufferedMessage } from "./reconnecting-buffer.js";
13
- import type { RuntimeEndpointPort } from "./runtime-endpoint-port.js";
14
- import type { ServicesEventClient } from "./services-event-client.js";
15
- import type { SpawnDriverRegistry } from "./spawn-driver.js";
16
- import { type UndispatchedChangedEvent } from "./undispatched-changed-event-types.js";
17
- import { type UndispatchedInbox } from "./undispatched-inbox.js";
18
- export interface BrokerDaemonOptions {
19
- paths: BrokerPaths;
20
- asNodeId: string;
21
- connector: ConnectorWS;
22
- apiPort: RuntimeEndpointPort;
23
- logger: BrokerLogger;
24
- closedEndpointLookup?: ClosedEndpointLookup;
25
- inboxCapacity?: number;
26
- graceMs?: number;
27
- livenessProbe?: (plugin_pid: number) => boolean;
28
- spawnDriverRegistry?: SpawnDriverRegistry;
29
- spawnFn?: typeof spawnChild;
30
- spawnRateLimitMaxInWindow?: number;
31
- spawnRateLimitWindowMs?: number;
32
- spawnCorrelationTimeoutMs?: number;
33
- presenceGraceMs?: number;
34
- retryQueueCapacity?: number;
35
- servicesEventClientFactory?: (deps: {
36
- dispatcher: ControlEventDispatcher;
37
- logger: BrokerLogger;
38
- }) => ServicesEventClient;
39
- postControlAck?: (ack: ControlAck) => Promise<void>;
40
- replyCorrelationTtlMs?: number;
41
- replyCorrelationCapPerEndpoint?: number;
42
- undispatchedChangedPost?: (event: UndispatchedChangedEvent) => Promise<import("./runtime-endpoint-port.js").EmitOutcome>;
43
- undispatchedChangedCapacity?: number;
44
- undispatchedChangedBackoffInitialMs?: number;
45
- undispatchedChangedBackoffMaxMs?: number;
46
- undispatchedChangedMaxRetries?: number;
47
- networkPresenceChangedPost?: (event: NetworkPresenceChangedEvent) => Promise<import("./runtime-endpoint-port.js").EmitOutcome>;
48
- networkPresenceChangedCapacity?: number;
49
- networkPresenceChangedBackoffInitialMs?: number;
50
- networkPresenceChangedBackoffMaxMs?: number;
51
- networkPresenceChangedMaxRetries?: number;
52
- }
53
- export interface RunningBroker {
54
- bearerToken: string;
55
- ipcUrl: string;
56
- shutdown(reason: string): Promise<void>;
57
- registrySize(): number;
58
- state(endpoint_id: string): EndpointState | undefined;
59
- undispatchedInbox: UndispatchedInbox;
60
- controlEventDispatcher: ControlEventDispatcher;
61
- networkPresence(): NetworkPresence;
62
- pendingSpawnCount(): number;
63
- retryQueueSize(): number;
64
- replyCorrelationCacheSize(endpoint_id: string): number;
65
- undispatchedChangedQueueSize(): number;
66
- networkPresenceChangedQueueSize(): number;
67
- }
68
- export declare function startBrokerDaemon(opts: BrokerDaemonOptions): Promise<RunningBroker>;
69
- export declare function readPluginPidHeader(req: IncomingMessage): number | null;
70
- export type { BufferedMessage };
71
- //# sourceMappingURL=broker-daemon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-daemon.d.ts","sourceRoot":"","sources":["../../src/broker/broker-daemon.ts"],"names":[],"mappings":"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"}