@masons/agent-network 0.4.16 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -1,89 +1,78 @@
1
- export declare const CURRENT_PROTOCOL_VERSION = 1;
1
+ export declare const CURRENT_PROTOCOL_VERSION = 2;
2
2
  export declare const REGISTER_ACK_TIMEOUT_MS = 15000;
3
+ export declare const SEND_ACK_TIMEOUT_MS = 15000;
3
4
  export interface RegisterEvent {
4
5
  event: "REGISTER";
5
6
  token: string;
6
7
  protocolVersion: number;
7
8
  clientVersion?: string;
8
9
  }
9
- export interface CreateSessionEvent {
10
- event: "CREATE_SESSION";
11
- requestId: string;
12
- target: string;
13
- secret?: string;
14
- metadata?: Record<string, unknown>;
15
- }
16
- export interface SendMessageEvent {
10
+ /** Send a message directly to a routable address. */
11
+ export interface AddressedSendEvent {
17
12
  event: "SEND_MESSAGE";
18
- sessionId: string;
13
+ messageId: string;
14
+ to: string;
19
15
  content: string;
20
- contentType?: string;
16
+ contentType: string;
21
17
  metadata?: Record<string, unknown>;
22
18
  }
23
- export interface EndSessionEvent {
24
- event: "END_SESSION";
25
- sessionId: string;
26
- reason?: string;
19
+ /** Send a typing indicator to a routable address. */
20
+ export interface AddressedTypingEvent {
21
+ event: "TYPING";
22
+ to: string;
23
+ isTyping: boolean;
27
24
  }
28
- export interface DeliveryAckEvent {
25
+ /** Acknowledge delivery of stored messages up to a timestamp. */
26
+ export interface AddressedDeliveryAckEvent {
29
27
  event: "DELIVERY_ACK";
30
- mailboxSessionId: string;
31
- }
32
- export interface TypingStartEvent {
33
- event: "TYPING_START";
34
- sessionId: string;
28
+ upTo: string;
35
29
  }
36
- export interface TypingStopEvent {
37
- event: "TYPING_STOP";
38
- sessionId: string;
39
- }
40
- export type PluginToConnectorEvent = RegisterEvent | CreateSessionEvent | SendMessageEvent | EndSessionEvent | DeliveryAckEvent | TypingStartEvent | TypingStopEvent;
41
30
  export interface RegisterAckEvent {
42
31
  event: "REGISTER_ACK";
43
32
  status: "ok" | "error";
44
33
  reason?: string;
45
34
  protocolVersion: number;
46
35
  }
47
- export interface SessionCreatedEvent {
48
- event: "SESSION_CREATED";
49
- direction: "inbound" | "outbound";
50
- sessionId: string;
51
- requestId?: string;
52
- requestedTarget?: string;
53
- metadata?: Record<string, unknown>;
36
+ /**
37
+ * Delivery confirmation for a sent message.
38
+ *
39
+ * Plugins MUST treat unknown `status` values as successful delivery
40
+ * (forward compatibility).
41
+ */
42
+ export interface SendAckEvent {
43
+ event: "SEND_ACK";
44
+ messageId: string;
45
+ status: "delivered" | "stored" | "queued";
54
46
  }
55
- export interface MessageReceivedEvent {
47
+ /** Message received from a routable address. */
48
+ export interface AddressedMessageEvent {
56
49
  event: "MESSAGE_RECEIVED";
57
- sessionId: string;
50
+ from: string;
58
51
  content: string;
59
52
  contentType: string;
60
- metadata?: Record<string, unknown>;
53
+ metadata: Record<string, unknown>;
54
+ /** ISO 8601. Present when message was stored and delivered later. */
55
+ sentAt?: string;
61
56
  }
62
- export interface SessionEndedEvent {
63
- event: "SESSION_ENDED";
64
- sessionId: string;
65
- reason?: string;
57
+ /** Notification that stored messages have been delivered. */
58
+ export interface DeliveryPendingEvent {
59
+ event: "DELIVERY_PENDING";
60
+ count: number;
61
+ upTo: string;
66
62
  }
67
- export interface ErrorEvent {
63
+ /** Structured error with machine-readable code. */
64
+ export interface StructuredErrorEvent {
68
65
  event: "ERROR";
69
- sessionId?: string;
70
- requestId?: string;
66
+ messageId?: string;
67
+ to?: string;
68
+ code: string;
71
69
  message: string;
72
70
  }
73
- export interface FlushCompleteEvent {
74
- event: "FLUSH_COMPLETE";
75
- mailboxSessionId: string;
76
- recipientSessionId: string;
77
- messageCount: number;
78
- }
79
- export type ConnectorToPluginEvent = RegisterAckEvent | SessionCreatedEvent | MessageReceivedEvent | SessionEndedEvent | ErrorEvent | FlushCompleteEvent;
71
+ export type PluginToConnectorEvent = RegisterEvent | AddressedSendEvent | AddressedTypingEvent | AddressedDeliveryAckEvent;
72
+ export type ConnectorToPluginEvent = RegisterAckEvent | SendAckEvent | AddressedMessageEvent | DeliveryPendingEvent | StructuredErrorEvent;
80
73
  export declare function isRegisterAck(data: unknown): data is RegisterAckEvent;
81
- export declare function isSessionCreated(data: unknown): data is SessionCreatedEvent;
82
- export declare function isMessageReceived(data: unknown): data is MessageReceivedEvent;
83
- export declare function isSessionEnded(data: unknown): data is SessionEndedEvent;
84
- export declare function isErrorEvent(data: unknown): data is ErrorEvent;
85
- export declare function isFlushComplete(data: unknown): data is FlushCompleteEvent;
86
- export declare function isDeliveryAck(data: unknown): data is DeliveryAckEvent;
87
- export declare function isTypingStartEvent(data: unknown): data is TypingStartEvent;
88
- export declare function isTypingStopEvent(data: unknown): data is TypingStopEvent;
74
+ export declare function isSendAck(data: unknown): data is SendAckEvent;
75
+ export declare function isAddressedMessage(data: unknown): data is AddressedMessageEvent;
76
+ export declare function isDeliveryPending(data: unknown): data is DeliveryPendingEvent;
77
+ export declare function isStructuredError(data: unknown): data is StructuredErrorEvent;
89
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAQ1C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,QAAQ,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAID,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC3C;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,MAAM,sBAAsB,GAC9B,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,CAAC;AAUzB,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAErE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAM7D;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,qBAAqB,CAO/B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,oBAAoB,CAO7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,oBAAoB,CAO7E"}
package/dist/types.js CHANGED
@@ -2,53 +2,38 @@
2
2
  // Must stay wire-compatible with the Connector service.
3
3
  // Independently defined — this package does not depend on Connector code.
4
4
  // --- Constants ---
5
- export const CURRENT_PROTOCOL_VERSION = 1;
5
+ export const CURRENT_PROTOCOL_VERSION = 2;
6
6
  export const REGISTER_ACK_TIMEOUT_MS = 15_000;
7
- // --- Type guards (Connector -> Plugin direction) ---
7
+ export const SEND_ACK_TIMEOUT_MS = 15_000;
8
+ // ==========================================================================
9
+ // Type guards
10
+ // ==========================================================================
8
11
  function isObject(data) {
9
12
  return typeof data === "object" && data !== null;
10
13
  }
11
14
  export function isRegisterAck(data) {
12
15
  return isObject(data) && data.event === "REGISTER_ACK";
13
16
  }
14
- export function isSessionCreated(data) {
17
+ export function isSendAck(data) {
15
18
  return (isObject(data) &&
16
- data.event === "SESSION_CREATED" &&
17
- typeof data.sessionId === "string");
19
+ data.event === "SEND_ACK" &&
20
+ typeof data.messageId === "string");
18
21
  }
19
- export function isMessageReceived(data) {
22
+ export function isAddressedMessage(data) {
20
23
  return (isObject(data) &&
21
24
  data.event === "MESSAGE_RECEIVED" &&
22
- typeof data.sessionId === "string" &&
25
+ typeof data.from === "string" &&
23
26
  typeof data.content === "string");
24
27
  }
25
- export function isSessionEnded(data) {
28
+ export function isDeliveryPending(data) {
26
29
  return (isObject(data) &&
27
- data.event === "SESSION_ENDED" &&
28
- typeof data.sessionId === "string");
30
+ data.event === "DELIVERY_PENDING" &&
31
+ typeof data.count === "number" &&
32
+ typeof data.upTo === "string");
29
33
  }
30
- export function isErrorEvent(data) {
31
- return (isObject(data) && data.event === "ERROR" && typeof data.message === "string");
32
- }
33
- export function isFlushComplete(data) {
34
- return (isObject(data) &&
35
- data.event === "FLUSH_COMPLETE" &&
36
- typeof data.mailboxSessionId === "string" &&
37
- typeof data.recipientSessionId === "string" &&
38
- typeof data.messageCount === "number");
39
- }
40
- export function isDeliveryAck(data) {
41
- return (isObject(data) &&
42
- data.event === "DELIVERY_ACK" &&
43
- typeof data.mailboxSessionId === "string");
44
- }
45
- export function isTypingStartEvent(data) {
46
- return (isObject(data) &&
47
- data.event === "TYPING_START" &&
48
- typeof data.sessionId === "string");
49
- }
50
- export function isTypingStopEvent(data) {
34
+ export function isStructuredError(data) {
51
35
  return (isObject(data) &&
52
- data.event === "TYPING_STOP" &&
53
- typeof data.sessionId === "string");
36
+ data.event === "ERROR" &&
37
+ typeof data.code === "string" &&
38
+ typeof data.message === "string");
54
39
  }
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Plugin version — must match package.json. Validated by prepublishOnly. */
2
- export declare const PLUGIN_VERSION = "0.4.16";
2
+ export declare const PLUGIN_VERSION = "0.4.17";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /** Plugin version — must match package.json. Validated by prepublishOnly. */
2
- export const PLUGIN_VERSION = "0.4.16";
2
+ export const PLUGIN_VERSION = "0.4.17";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masons/agent-network",
3
- "version": "0.4.16",
3
+ "version": "0.4.17",
4
4
  "description": "MASONS plugin for OpenClaw — connect your agent to the agent network",
5
5
  "license": "MIT",
6
6
  "author": "MASONS.ai <hello@masons.ai> (https://masons.ai)",