agent-relay 3.1.0 → 3.1.2

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 (159) hide show
  1. package/bin/agent-relay-broker-linux-x64 +0 -0
  2. package/package.json +9 -9
  3. package/packages/acp-bridge/package.json +2 -2
  4. package/packages/config/package.json +1 -1
  5. package/packages/hooks/package.json +4 -4
  6. package/packages/memory/package.json +2 -2
  7. package/packages/openclaw/README.md +78 -0
  8. package/packages/openclaw/bin/relay-openclaw.mjs +2 -0
  9. package/packages/openclaw/bridge/bridge.mjs +305 -0
  10. package/packages/openclaw/dist/__tests__/gateway-control.test.d.ts +2 -0
  11. package/packages/openclaw/dist/__tests__/gateway-control.test.d.ts.map +1 -0
  12. package/packages/openclaw/dist/__tests__/gateway-control.test.js +250 -0
  13. package/packages/openclaw/dist/__tests__/gateway-control.test.js.map +1 -0
  14. package/packages/openclaw/dist/__tests__/gateway-threads.test.d.ts +2 -0
  15. package/packages/openclaw/dist/__tests__/gateway-threads.test.d.ts.map +1 -0
  16. package/packages/openclaw/dist/__tests__/gateway-threads.test.js +937 -0
  17. package/packages/openclaw/dist/__tests__/gateway-threads.test.js.map +1 -0
  18. package/packages/openclaw/dist/__tests__/naming.test.d.ts +2 -0
  19. package/packages/openclaw/dist/__tests__/naming.test.d.ts.map +1 -0
  20. package/packages/openclaw/dist/__tests__/naming.test.js +21 -0
  21. package/packages/openclaw/dist/__tests__/naming.test.js.map +1 -0
  22. package/packages/openclaw/dist/__tests__/spawn-manager.test.d.ts +2 -0
  23. package/packages/openclaw/dist/__tests__/spawn-manager.test.d.ts.map +1 -0
  24. package/packages/openclaw/dist/__tests__/spawn-manager.test.js +155 -0
  25. package/packages/openclaw/dist/__tests__/spawn-manager.test.js.map +1 -0
  26. package/packages/openclaw/dist/__tests__/ws-client.test.d.ts +2 -0
  27. package/packages/openclaw/dist/__tests__/ws-client.test.d.ts.map +1 -0
  28. package/packages/openclaw/dist/__tests__/ws-client.test.js +324 -0
  29. package/packages/openclaw/dist/__tests__/ws-client.test.js.map +1 -0
  30. package/packages/openclaw/dist/auth/converter.d.ts +28 -0
  31. package/packages/openclaw/dist/auth/converter.d.ts.map +1 -0
  32. package/packages/openclaw/dist/auth/converter.js +64 -0
  33. package/packages/openclaw/dist/auth/converter.js.map +1 -0
  34. package/packages/openclaw/dist/cli.d.ts +2 -0
  35. package/packages/openclaw/dist/cli.d.ts.map +1 -0
  36. package/packages/openclaw/dist/cli.js +230 -0
  37. package/packages/openclaw/dist/cli.js.map +1 -0
  38. package/packages/openclaw/dist/config.d.ts +27 -0
  39. package/packages/openclaw/dist/config.d.ts.map +1 -0
  40. package/packages/openclaw/dist/config.js +97 -0
  41. package/packages/openclaw/dist/config.js.map +1 -0
  42. package/packages/openclaw/dist/control.d.ts +22 -0
  43. package/packages/openclaw/dist/control.d.ts.map +1 -0
  44. package/packages/openclaw/dist/control.js +58 -0
  45. package/packages/openclaw/dist/control.js.map +1 -0
  46. package/packages/openclaw/dist/gateway.d.ts +97 -0
  47. package/packages/openclaw/dist/gateway.d.ts.map +1 -0
  48. package/packages/openclaw/dist/gateway.js +836 -0
  49. package/packages/openclaw/dist/gateway.js.map +1 -0
  50. package/packages/openclaw/dist/identity/contract.d.ts +11 -0
  51. package/packages/openclaw/dist/identity/contract.d.ts.map +1 -0
  52. package/packages/openclaw/dist/identity/contract.js +40 -0
  53. package/packages/openclaw/dist/identity/contract.js.map +1 -0
  54. package/packages/openclaw/dist/identity/files.d.ts +33 -0
  55. package/packages/openclaw/dist/identity/files.d.ts.map +1 -0
  56. package/packages/openclaw/dist/identity/files.js +145 -0
  57. package/packages/openclaw/dist/identity/files.js.map +1 -0
  58. package/packages/openclaw/dist/identity/model.d.ts +11 -0
  59. package/packages/openclaw/dist/identity/model.d.ts.map +1 -0
  60. package/packages/openclaw/dist/identity/model.js +28 -0
  61. package/packages/openclaw/dist/identity/model.js.map +1 -0
  62. package/packages/openclaw/dist/identity/naming.d.ts +5 -0
  63. package/packages/openclaw/dist/identity/naming.d.ts.map +1 -0
  64. package/packages/openclaw/dist/identity/naming.js +7 -0
  65. package/packages/openclaw/dist/identity/naming.js.map +1 -0
  66. package/packages/openclaw/dist/index.d.ts +20 -0
  67. package/packages/openclaw/dist/index.d.ts.map +1 -0
  68. package/packages/openclaw/dist/index.js +27 -0
  69. package/packages/openclaw/dist/index.js.map +1 -0
  70. package/packages/openclaw/dist/inject.d.ts +14 -0
  71. package/packages/openclaw/dist/inject.d.ts.map +1 -0
  72. package/packages/openclaw/dist/inject.js +66 -0
  73. package/packages/openclaw/dist/inject.js.map +1 -0
  74. package/packages/openclaw/dist/mcp/server.d.ts +8 -0
  75. package/packages/openclaw/dist/mcp/server.d.ts.map +1 -0
  76. package/packages/openclaw/dist/mcp/server.js +105 -0
  77. package/packages/openclaw/dist/mcp/server.js.map +1 -0
  78. package/packages/openclaw/dist/mcp/tools.d.ts +17 -0
  79. package/packages/openclaw/dist/mcp/tools.d.ts.map +1 -0
  80. package/packages/openclaw/dist/mcp/tools.js +145 -0
  81. package/packages/openclaw/dist/mcp/tools.js.map +1 -0
  82. package/packages/openclaw/dist/runtime/openclaw-config.d.ts +20 -0
  83. package/packages/openclaw/dist/runtime/openclaw-config.d.ts.map +1 -0
  84. package/packages/openclaw/dist/runtime/openclaw-config.js +50 -0
  85. package/packages/openclaw/dist/runtime/openclaw-config.js.map +1 -0
  86. package/packages/openclaw/dist/runtime/patch.d.ts +24 -0
  87. package/packages/openclaw/dist/runtime/patch.d.ts.map +1 -0
  88. package/packages/openclaw/dist/runtime/patch.js +92 -0
  89. package/packages/openclaw/dist/runtime/patch.js.map +1 -0
  90. package/packages/openclaw/dist/runtime/setup.d.ts +26 -0
  91. package/packages/openclaw/dist/runtime/setup.d.ts.map +1 -0
  92. package/packages/openclaw/dist/runtime/setup.js +58 -0
  93. package/packages/openclaw/dist/runtime/setup.js.map +1 -0
  94. package/packages/openclaw/dist/setup.d.ts +29 -0
  95. package/packages/openclaw/dist/setup.d.ts.map +1 -0
  96. package/packages/openclaw/dist/setup.js +300 -0
  97. package/packages/openclaw/dist/setup.js.map +1 -0
  98. package/packages/openclaw/dist/spawn/docker.d.ts +58 -0
  99. package/packages/openclaw/dist/spawn/docker.d.ts.map +1 -0
  100. package/packages/openclaw/dist/spawn/docker.js +222 -0
  101. package/packages/openclaw/dist/spawn/docker.js.map +1 -0
  102. package/packages/openclaw/dist/spawn/manager.d.ts +45 -0
  103. package/packages/openclaw/dist/spawn/manager.d.ts.map +1 -0
  104. package/packages/openclaw/dist/spawn/manager.js +140 -0
  105. package/packages/openclaw/dist/spawn/manager.js.map +1 -0
  106. package/packages/openclaw/dist/spawn/process.d.ts +16 -0
  107. package/packages/openclaw/dist/spawn/process.d.ts.map +1 -0
  108. package/packages/openclaw/dist/spawn/process.js +241 -0
  109. package/packages/openclaw/dist/spawn/process.js.map +1 -0
  110. package/packages/openclaw/dist/spawn/types.d.ts +42 -0
  111. package/packages/openclaw/dist/spawn/types.d.ts.map +1 -0
  112. package/packages/openclaw/dist/spawn/types.js +2 -0
  113. package/packages/openclaw/dist/spawn/types.js.map +1 -0
  114. package/packages/openclaw/dist/types.d.ts +41 -0
  115. package/packages/openclaw/dist/types.d.ts.map +1 -0
  116. package/packages/openclaw/dist/types.js +2 -0
  117. package/packages/openclaw/dist/types.js.map +1 -0
  118. package/packages/openclaw/package.json +63 -0
  119. package/packages/openclaw/skill/SKILL.md +216 -0
  120. package/packages/openclaw/src/__tests__/SPEC-ws-client-testing.md +192 -0
  121. package/packages/openclaw/src/__tests__/gateway-control.test.ts +288 -0
  122. package/packages/openclaw/src/__tests__/gateway-threads.test.ts +1130 -0
  123. package/packages/openclaw/src/__tests__/naming.test.ts +24 -0
  124. package/packages/openclaw/src/__tests__/spawn-manager.test.ts +189 -0
  125. package/packages/openclaw/src/__tests__/ws-client.test.ts +395 -0
  126. package/packages/openclaw/src/auth/converter.ts +90 -0
  127. package/packages/openclaw/src/cli.ts +269 -0
  128. package/packages/openclaw/src/config.ts +124 -0
  129. package/packages/openclaw/src/control.ts +100 -0
  130. package/packages/openclaw/src/gateway.ts +1014 -0
  131. package/packages/openclaw/src/identity/contract.ts +44 -0
  132. package/packages/openclaw/src/identity/files.ts +198 -0
  133. package/packages/openclaw/src/identity/model.ts +27 -0
  134. package/packages/openclaw/src/identity/naming.ts +6 -0
  135. package/packages/openclaw/src/index.ts +59 -0
  136. package/packages/openclaw/src/inject.ts +77 -0
  137. package/packages/openclaw/src/mcp/server.ts +121 -0
  138. package/packages/openclaw/src/mcp/tools.ts +174 -0
  139. package/packages/openclaw/src/runtime/openclaw-config.ts +64 -0
  140. package/packages/openclaw/src/runtime/patch.ts +103 -0
  141. package/packages/openclaw/src/runtime/setup.ts +89 -0
  142. package/packages/openclaw/src/setup.ts +336 -0
  143. package/packages/openclaw/src/spawn/docker.ts +261 -0
  144. package/packages/openclaw/src/spawn/manager.ts +181 -0
  145. package/packages/openclaw/src/spawn/process.ts +272 -0
  146. package/packages/openclaw/src/spawn/types.ts +43 -0
  147. package/packages/openclaw/src/types.ts +42 -0
  148. package/packages/openclaw/templates/SOUL.md.template +34 -0
  149. package/packages/openclaw/tsconfig.json +12 -0
  150. package/packages/policy/package.json +2 -2
  151. package/packages/sdk/package.json +2 -2
  152. package/packages/sdk-py/pyproject.toml +1 -1
  153. package/packages/telemetry/package.json +1 -1
  154. package/packages/trajectory/package.json +2 -2
  155. package/packages/user-directory/package.json +2 -2
  156. package/packages/utils/package.json +2 -2
  157. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  158. package/bin/agent-relay-broker-darwin-x64 +0 -0
  159. package/bin/agent-relay-broker-linux-arm64 +0 -0
@@ -0,0 +1,97 @@
1
+ import type { SendMessageInput } from '@agent-relay/sdk';
2
+ import type { GatewayConfig } from './types.js';
3
+ /**
4
+ * A minimal interface for sending messages via Agent Relay.
5
+ * Accepts either AgentRelayClient or AgentRelay — any object with a
6
+ * compatible sendMessage() method.
7
+ */
8
+ export interface RelaySender {
9
+ sendMessage(input: SendMessageInput): Promise<{
10
+ event_id: string;
11
+ targets?: string[];
12
+ }>;
13
+ }
14
+ export interface GatewayOptions {
15
+ /** Gateway configuration. */
16
+ config: GatewayConfig;
17
+ /**
18
+ * Pre-existing relay sender for message delivery.
19
+ * Pass the API server's AgentRelay instance so all gateways share a single
20
+ * broker process instead of each spawning their own.
21
+ */
22
+ relaySender?: RelaySender;
23
+ }
24
+ /** @internal */
25
+ export declare class OpenClawGatewayClient {
26
+ private ws;
27
+ private authenticated;
28
+ private device;
29
+ private token;
30
+ private port;
31
+ private pendingRpcs;
32
+ private rpcIdCounter;
33
+ private reconnectTimer;
34
+ private stopped;
35
+ private connectPromise;
36
+ private connectResolve;
37
+ private connectReject;
38
+ private connectTimeout;
39
+ /** Default timeout for initial connection (30 seconds). */
40
+ private static readonly CONNECT_TIMEOUT_MS;
41
+ constructor(token: string, port: number);
42
+ /** Connect and authenticate. Resolves when chat.send is ready, rejects on timeout or error. */
43
+ connect(): Promise<void>;
44
+ private clearConnectTimeout;
45
+ private doConnect;
46
+ private handleMessage;
47
+ /** Send a chat.send RPC. Returns true if accepted. */
48
+ sendChatMessage(text: string, idempotencyKey?: string): Promise<boolean>;
49
+ private scheduleReconnect;
50
+ disconnect(): Promise<void>;
51
+ }
52
+ export declare class InboundGateway {
53
+ private readonly relaySender;
54
+ private relayAgentClient;
55
+ private readonly relaycast;
56
+ private readonly config;
57
+ private readonly dedupeTtlMs;
58
+ private running;
59
+ private unsubscribeHandlers;
60
+ private seenMessageIds;
61
+ private processingMessageIds;
62
+ /** Persistent WebSocket client for the local OpenClaw gateway. */
63
+ private openclawClient;
64
+ /** Spawn manager — lives in the gateway so spawned processes survive MCP server restarts. */
65
+ private spawnManager;
66
+ /** HTTP control server for spawn/list/release commands. */
67
+ private controlServer;
68
+ /** Port the control server listens on. */
69
+ controlPort: number;
70
+ /** Default control port for the gateway's spawn API. */
71
+ static readonly DEFAULT_CONTROL_PORT = 18790;
72
+ constructor(options: GatewayOptions);
73
+ /** Start the gateway — register agent and subscribe for realtime events. */
74
+ start(): Promise<void>;
75
+ /** Stop the gateway — clean up websocket and relay clients. */
76
+ stop(): Promise<void>;
77
+ private cleanupSeenMap;
78
+ private isSeen;
79
+ private markSeen;
80
+ private ensureChannelMembership;
81
+ private handleRealtimeMessage;
82
+ private handleRealtimeThreadReply;
83
+ private handleRealtimeDm;
84
+ private handleRealtimeGroupDm;
85
+ private handleRealtimeCommand;
86
+ private handleRealtimeReaction;
87
+ private handleInbound;
88
+ /** Format delivery text with channel, sender, and optional thread prefix. */
89
+ private formatDeliveryText;
90
+ /** Handle an inbound Relaycast message. */
91
+ private onMessage;
92
+ /** Deliver via the caller-provided relay sender (shared broker). */
93
+ private deliverViaRelaySender;
94
+ private startControlServer;
95
+ private handleControlRequest;
96
+ }
97
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}