openclaw-client 1.1.1 → 2.0.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.
package/README.md CHANGED
@@ -51,6 +51,9 @@ interface OpenClawClientConfig {
51
51
  clientVersion?: string; // Client version (default: '1.0.0')
52
52
  platform?: string; // Platform name (default: 'web')
53
53
  mode?: string; // Client mode (default: 'ui')
54
+ connectTimeoutMs?: number; // Timeout for connect handshake (default: 120000)
55
+ requestTimeoutMs?: number; // Timeout for RPC requests (default: 30000)
56
+ connectParams?: Partial<ConnectParams>; // Extra fields merged into handshake
54
57
  }
55
58
  ```
56
59
 
@@ -78,9 +81,13 @@ interface OpenClawClientConfig {
78
81
  - `patchSession(params): Promise<any>` - Patch session
79
82
  - `resetSession(params): Promise<any>` - Reset session
80
83
  - `compactSession(params): Promise<any>` - Compact session
84
+ - `getSessionsUsage(params?): Promise<any>` - Get session usage
81
85
 
82
86
  **Agents**
83
87
  - `listAgents(params?): Promise<AgentsListResult>` - List available agents
88
+ - `createAgent(params): Promise<AgentsCreateResult>` - Create agent
89
+ - `updateAgent(params): Promise<AgentsUpdateResult>` - Update agent
90
+ - `deleteAgent(params): Promise<AgentsDeleteResult>` - Delete agent
84
91
  - `getAgentIdentity(params?): Promise<AgentIdentityResult>` - Get agent identity
85
92
  - `sendToAgent(params): Promise<any>` - Send a message to agent
86
93
  - `waitForAgent(params): Promise<any>` - Wait for agent run to complete
@@ -110,10 +117,11 @@ interface OpenClawClientConfig {
110
117
  - `cancelWizard(params): Promise<any>` - Cancel wizard
111
118
  - `getWizardStatus(params): Promise<WizardStatusResult>` - Get wizard status
112
119
 
113
- **Channels**
120
+ **Channels & Talk**
114
121
  - `getChannelsStatus(params?): Promise<ChannelsStatusResult>` - Get channels status
115
122
  - `logoutChannel(params): Promise<any>` - Logout from channel
116
123
  - `setTalkMode(params): Promise<any>` - Set talk mode
124
+ - `getTalkConfig(params?): Promise<TalkConfigResult>` - Get talk config
117
125
 
118
126
  **Authentication**
119
127
  - `startWebLogin(params?): Promise<any>` - Start web login
@@ -146,6 +154,7 @@ interface OpenClawClientConfig {
146
154
  - `listDevicePairings(params?): Promise<any>` - List device pairing requests
147
155
  - `approveDevicePairing(params): Promise<any>` - Approve device pairing
148
156
  - `rejectDevicePairing(params): Promise<any>` - Reject device pairing
157
+ - `removeDevicePairing(params): Promise<any>` - Remove paired device
149
158
  - `rotateDeviceToken(params): Promise<any>` - Rotate device token
150
159
  - `revokeDeviceToken(params): Promise<any>` - Revoke device token
151
160
 
@@ -159,6 +168,7 @@ interface OpenClawClientConfig {
159
168
  - `listNodes(params?): Promise<any>` - List nodes
160
169
  - `describeNode(params): Promise<any>` - Describe node
161
170
  - `invokeNode(params): Promise<any>` - Invoke node command
171
+ - `testPush(params): Promise<PushTestResult>` - Test push notification to node
162
172
 
163
173
  **Logs**
164
174
  - `getLogTail(params?): Promise<LogsTailResult>` - Get log tail
@@ -191,17 +201,60 @@ Environment variables:
191
201
  - `OPENCLAW_GATEWAY_URL` - Gateway URL (default: `http://localhost:18789`)
192
202
  - `OPENCLAW_TOKEN` - Authentication token
193
203
 
194
- ## Type Generation
204
+ ## Type Generation & Client Wrapper Maintenance
195
205
 
196
- This package includes auto-generated types from the OpenClaw protocol schema.
206
+ This package uses a deterministic process to keep types and client method wrappers in sync with the OpenClaw protocol schema.
197
207
 
198
- To regenerate types (for development):
208
+ ### Step 1: Update the schema
209
+
210
+ Place the latest `protocol.schema.json` from the OpenClaw Gateway into `src/protocol.schema.json`.
211
+
212
+ ### Step 2: Regenerate types
199
213
 
200
214
  ```bash
201
215
  npm run generate:types
202
216
  ```
203
217
 
204
- The schema file is located at `src/protocol.schema.json` and is manually updated when the OpenClaw protocol changes.
218
+ This runs `src/generate-openclaw-types.ts` which uses `json-schema-to-typescript` to compile every definition in the schema into TypeScript interfaces. The output is written to `src/types.ts` (auto-generated, do not edit manually).
219
+
220
+ ### Step 3: Update client method wrappers
221
+
222
+ The method wrappers in `src/client.ts` follow a deterministic pattern derived from the type names in `src/types.ts`:
223
+
224
+ 1. **Find all `*Params` types** - Each `*Params` interface represents an RPC method.
225
+ 2. **Derive the method name** - Convert the type name to a dot-separated RPC method name:
226
+ - `ConfigGetParams` → `config.get`
227
+ - `SessionsListParams` → `sessions.list`
228
+ - `AgentsFilesGetParams` → `agents.files.get`
229
+ - `ExecApprovalsNodeSetParams` → `exec.approvals.node.set`
230
+ - Top-level methods like `SendParams`, `PollParams`, `WakeParams` → `send`, `poll`, `wake`
231
+ 3. **Match result types** - If a corresponding `*Result` type exists (e.g. `AgentsListResult` for `AgentsListParams`), use it as the return type. Otherwise use `Promise<any>`.
232
+ 4. **Choose a wrapper method name** - Use a readable camelCase name (e.g. `listSessions`, `getConfig`, `deleteAgent`).
233
+ 5. **Default empty params** - If the `*Params` interface has no required fields (e.g. `interface ConfigGetParams {}`), default the parameter to `= {}`.
234
+ 6. **Import and add** - Import the new Params/Result types at the top of `client.ts` and add the wrapper method.
235
+
236
+ **Skipped types:** Some `*Params` types are not RPC request methods but are used for node-side responses or event payloads (e.g. `NodeInvokeResultParams`, `NodeEventParams`). These are skipped.
237
+
238
+ ### Full update workflow
239
+
240
+ ```bash
241
+ # 1. Drop in updated schema
242
+ cp /path/to/new/protocol.schema.json src/protocol.schema.json
243
+
244
+ # 2. Regenerate types
245
+ npm run generate:types
246
+
247
+ # 3. Update client wrappers (compare types.ts *Params exports against client.ts imports)
248
+ # - Add imports for any new *Params/*Result types
249
+ # - Add wrapper methods following the pattern above
250
+ # - Verify no existing types were removed/renamed
251
+
252
+ # 4. Build and verify
253
+ npm run build
254
+
255
+ # 5. Publish
256
+ npm publish
257
+ ```
205
258
 
206
259
  ## Development
207
260
 
@@ -219,6 +272,33 @@ npm run build
219
272
  npm publish
220
273
  ```
221
274
 
275
+ ## Changelog
276
+
277
+ ### 2.0.0
278
+
279
+ **Breaking Changes**
280
+
281
+ - **Connect handshake protocol** - The client now implements a challenge-response handshake. On connect, the gateway sends a `connect.challenge` event with a nonce before the client sends its `connect` request. This requires a compatible gateway version.
282
+
283
+ **New Features**
284
+
285
+ - **Configurable timeouts** - New `connectTimeoutMs` (default 120s) and `requestTimeoutMs` (default 30s) config options.
286
+ - **Connect params override** - New `connectParams` config option to merge additional fields into the handshake request (e.g. `device`, `caps`, `commands`).
287
+ - **New API methods:**
288
+ - `createAgent` / `updateAgent` / `deleteAgent` - Full agent CRUD
289
+ - `getSessionsUsage` - Session usage stats
290
+ - `getTalkConfig` - Talk configuration
291
+ - `removeDevicePairing` - Remove a paired device
292
+ - `testPush` - Test push notifications to a node
293
+
294
+ ### 1.1.1
295
+
296
+ - Documentation updates.
297
+
298
+ ### 1.1.0
299
+
300
+ - Initial public release with full Gateway RPC coverage.
301
+
222
302
  ## License
223
303
 
224
304
  MIT
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AgentIdentityParams, AgentIdentityResult, AgentParams, AgentsFilesGetParams, AgentsFilesGetResult, AgentsFilesListParams, AgentsFilesListResult, AgentsFilesSetParams, AgentsFilesSetResult, AgentsListParams, AgentsListResult, AgentWaitParams, ChannelsLogoutParams, ChannelsStatusParams, ChannelsStatusResult, ChatAbortParams, ChatHistoryParams, ChatInjectParams, ChatSendParams, ConfigApplyParams, ConfigGetParams, ConfigPatchParams, ConfigSchemaParams, ConfigSchemaResponse, ConfigSetParams, ConnectParams, CronAddParams, CronJob, CronListParams, CronRemoveParams, CronRunLogEntry, CronRunParams, CronRunsParams, CronStatusParams, CronUpdateParams, DevicePairApproveParams, DevicePairListParams, DevicePairRejectParams, DeviceTokenRevokeParams, DeviceTokenRotateParams, EventFrame, ExecApprovalRequestParams, ExecApprovalResolveParams, ExecApprovalsGetParams, ExecApprovalsNodeGetParams, ExecApprovalsNodeSetParams, ExecApprovalsSetParams, ExecApprovalsSnapshot, HelloOk, LogsTailParams, LogsTailResult, ModelsListParams, ModelsListResult, NodeDescribeParams, NodeInvokeParams, NodeListParams, NodePairApproveParams, NodePairListParams, NodePairRejectParams, NodePairRequestParams, NodePairVerifyParams, NodeRenameParams, PollParams, SendParams, SessionsCompactParams, SessionsDeleteParams, SessionsListParams, SessionsPatchParams, SessionsPreviewParams, SessionsResetParams, SessionsResolveParams, SkillsBinsParams, SkillsBinsResult, SkillsInstallParams, SkillsStatusParams, SkillsUpdateParams, TalkModeParams, UpdateRunParams, WakeParams, WebLoginStartParams, WebLoginWaitParams, WizardCancelParams, WizardNextParams, WizardNextResult, WizardStartParams, WizardStartResult, WizardStatusParams, WizardStatusResult } from './types';
1
+ import type { AgentIdentityParams, AgentIdentityResult, AgentParams, AgentsCreateParams, AgentsCreateResult, AgentsDeleteParams, AgentsDeleteResult, AgentsFilesGetParams, AgentsFilesGetResult, AgentsFilesListParams, AgentsFilesListResult, AgentsFilesSetParams, AgentsFilesSetResult, AgentsListParams, AgentsListResult, AgentsUpdateParams, AgentsUpdateResult, AgentWaitParams, ChannelsLogoutParams, ChannelsStatusParams, ChannelsStatusResult, ChatAbortParams, ChatHistoryParams, ChatInjectParams, ChatSendParams, ConfigApplyParams, ConfigGetParams, ConfigPatchParams, ConfigSchemaParams, ConfigSchemaResponse, ConfigSetParams, ConnectParams, CronAddParams, CronJob, CronListParams, CronRemoveParams, CronRunLogEntry, CronRunParams, CronRunsParams, CronStatusParams, CronUpdateParams, DevicePairApproveParams, DevicePairListParams, DevicePairRejectParams, DevicePairRemoveParams, DeviceTokenRevokeParams, DeviceTokenRotateParams, EventFrame, ExecApprovalRequestParams, ExecApprovalResolveParams, ExecApprovalsGetParams, ExecApprovalsNodeGetParams, ExecApprovalsNodeSetParams, ExecApprovalsSetParams, ExecApprovalsSnapshot, HelloOk, LogsTailParams, LogsTailResult, ModelsListParams, ModelsListResult, NodeDescribeParams, NodeInvokeParams, NodeListParams, NodePairApproveParams, NodePairListParams, NodePairRejectParams, NodePairRequestParams, NodePairVerifyParams, NodeRenameParams, PollParams, PushTestParams, PushTestResult, SendParams, SessionsCompactParams, SessionsDeleteParams, SessionsListParams, SessionsPatchParams, SessionsPreviewParams, SessionsResetParams, SessionsResolveParams, SessionsUsageParams, SkillsBinsParams, SkillsBinsResult, SkillsInstallParams, SkillsStatusParams, SkillsUpdateParams, TalkConfigParams, TalkConfigResult, TalkModeParams, UpdateRunParams, WakeParams, WebLoginStartParams, WebLoginWaitParams, WizardCancelParams, WizardNextParams, WizardNextResult, WizardStartParams, WizardStartResult, WizardStatusParams, WizardStatusResult } from './types';
2
2
  export interface OpenClawClientConfig {
3
3
  gatewayUrl: string;
4
4
  token: string;
@@ -6,6 +6,14 @@ export interface OpenClawClientConfig {
6
6
  clientVersion?: string;
7
7
  platform?: string;
8
8
  mode?: ConnectParams['client']['mode'];
9
+ /** Timeout in ms for the connect handshake (default: 120000).
10
+ * Set this higher if device approval may take a while. */
11
+ connectTimeoutMs?: number;
12
+ /** Timeout in ms for regular RPC requests (default: 30000). */
13
+ requestTimeoutMs?: number;
14
+ /** Additional ConnectParams fields to merge into the handshake request
15
+ * (e.g. `device` for device identity, `caps`, `commands`). */
16
+ connectParams?: Partial<ConnectParams>;
9
17
  }
10
18
  export type EventListener = (event: EventFrame) => void;
11
19
  export declare class OpenClawClient {
@@ -18,7 +26,13 @@ export declare class OpenClawClient {
18
26
  private connectionId;
19
27
  constructor(config: OpenClawClientConfig);
20
28
  /**
21
- * Connect to the OpenClaw Gateway and perform handshake
29
+ * Connect to the OpenClaw Gateway and perform handshake.
30
+ *
31
+ * The protocol flow is:
32
+ * 1. Open WebSocket connection
33
+ * 2. Gateway sends a `connect.challenge` event with a nonce
34
+ * 3. Client responds with a `connect` request (including auth token)
35
+ * 4. Gateway replies with `hello-ok` containing server info and snapshot
22
36
  */
23
37
  connect(): Promise<HelloOk>;
24
38
  /**
@@ -38,7 +52,8 @@ export declare class OpenClawClient {
38
52
  */
39
53
  addEventListener(listener: EventListener): () => void;
40
54
  /**
41
- * Perform the connection handshake
55
+ * Perform the connection handshake after receiving the challenge.
56
+ * Uses connectTimeoutMs (default 120s) since device approval may take a while.
42
57
  */
43
58
  private handshake;
44
59
  /**
@@ -101,6 +116,18 @@ export declare class OpenClawClient {
101
116
  * List available agents
102
117
  */
103
118
  listAgents(params?: AgentsListParams): Promise<AgentsListResult>;
119
+ /**
120
+ * Create agent
121
+ */
122
+ createAgent(params: AgentsCreateParams): Promise<AgentsCreateResult>;
123
+ /**
124
+ * Update agent
125
+ */
126
+ updateAgent(params: AgentsUpdateParams): Promise<AgentsUpdateResult>;
127
+ /**
128
+ * Delete agent
129
+ */
130
+ deleteAgent(params: AgentsDeleteParams): Promise<AgentsDeleteResult>;
104
131
  /**
105
132
  * Get agent identity
106
133
  */
@@ -141,6 +168,10 @@ export declare class OpenClawClient {
141
168
  * Compact session
142
169
  */
143
170
  compactSession(params: SessionsCompactParams): Promise<any>;
171
+ /**
172
+ * Get session usage
173
+ */
174
+ getSessionsUsage(params?: SessionsUsageParams): Promise<any>;
144
175
  /**
145
176
  * Send a message to agent
146
177
  */
@@ -181,6 +212,10 @@ export declare class OpenClawClient {
181
212
  * Set talk mode
182
213
  */
183
214
  setTalkMode(params: TalkModeParams): Promise<any>;
215
+ /**
216
+ * Get talk config
217
+ */
218
+ getTalkConfig(params?: TalkConfigParams): Promise<TalkConfigResult>;
184
219
  /**
185
220
  * Get channels status
186
221
  */
@@ -285,6 +320,10 @@ export declare class OpenClawClient {
285
320
  * Reject device pairing
286
321
  */
287
322
  rejectDevicePairing(params: DevicePairRejectParams): Promise<any>;
323
+ /**
324
+ * Remove paired device
325
+ */
326
+ removeDevicePairing(params: DevicePairRemoveParams): Promise<any>;
288
327
  /**
289
328
  * Rotate device token
290
329
  */
@@ -345,6 +384,10 @@ export declare class OpenClawClient {
345
384
  * Invoke node command
346
385
  */
347
386
  invokeNode(params: NodeInvokeParams): Promise<any>;
387
+ /**
388
+ * Test push notification to node
389
+ */
390
+ testPush(params: PushTestParams): Promise<PushTestResult>;
348
391
  /**
349
392
  * Update and run
350
393
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -17,7 +17,13 @@ export class OpenClawClient {
17
17
  this.config = config;
18
18
  }
19
19
  /**
20
- * Connect to the OpenClaw Gateway and perform handshake
20
+ * Connect to the OpenClaw Gateway and perform handshake.
21
+ *
22
+ * The protocol flow is:
23
+ * 1. Open WebSocket connection
24
+ * 2. Gateway sends a `connect.challenge` event with a nonce
25
+ * 3. Client responds with a `connect` request (including auth token)
26
+ * 4. Gateway replies with `hello-ok` containing server info and snapshot
21
27
  */
22
28
  async connect() {
23
29
  if (this.connected && this.ws?.readyState === WebSocket.OPEN) {
@@ -26,23 +32,44 @@ export class OpenClawClient {
26
32
  // Create WebSocket connection
27
33
  const WS = getWebSocketConstructor();
28
34
  this.ws = new WS(this.config.gatewayUrl);
29
- // Wait for connection to open
30
- await new Promise((resolve, reject) => {
35
+ // Wait for connection to open and receive the challenge event
36
+ const challenge = await new Promise((resolve, reject) => {
31
37
  if (!this.ws) {
32
38
  reject(new Error('WebSocket not initialized'));
33
39
  return;
34
40
  }
35
- this.ws.onopen = () => resolve();
36
- this.ws.onerror = (error) => reject(error);
41
+ const timeout = setTimeout(() => {
42
+ reject(new Error('Connection timeout: no challenge received'));
43
+ }, 15000);
44
+ this.ws.onerror = (error) => {
45
+ clearTimeout(timeout);
46
+ reject(error);
47
+ };
48
+ this.ws.onmessage = (event) => {
49
+ try {
50
+ const frame = JSON.parse(event.data);
51
+ if (frame.type === 'event' && frame.event === 'connect.challenge') {
52
+ clearTimeout(timeout);
53
+ resolve(frame.payload);
54
+ }
55
+ }
56
+ catch (error) {
57
+ clearTimeout(timeout);
58
+ reject(new Error('Failed to parse challenge frame'));
59
+ }
60
+ };
61
+ this.ws.onopen = () => {
62
+ // Wait for the challenge event after connection opens
63
+ };
37
64
  });
38
- // Set up message handler
65
+ // Set up message handler for subsequent messages
39
66
  if (this.ws) {
40
67
  this.ws.onmessage = (event) => this.handleMessage(event);
41
68
  this.ws.onclose = () => this.handleClose();
42
69
  this.ws.onerror = (error) => this.handleError(error);
43
70
  }
44
- // Perform handshake
45
- const result = await this.handshake();
71
+ // Perform handshake (send connect request after receiving challenge)
72
+ const result = await this.handshake(challenge);
46
73
  this.connected = true;
47
74
  this.connectionId = result.server.connId;
48
75
  return result;
@@ -88,9 +115,10 @@ export class OpenClawClient {
88
115
  };
89
116
  }
90
117
  /**
91
- * Perform the connection handshake
118
+ * Perform the connection handshake after receiving the challenge.
119
+ * Uses connectTimeoutMs (default 120s) since device approval may take a while.
92
120
  */
93
- async handshake() {
121
+ async handshake(_challenge) {
94
122
  const params = {
95
123
  minProtocol: 3,
96
124
  maxProtocol: 3,
@@ -105,13 +133,15 @@ export class OpenClawClient {
105
133
  auth: {
106
134
  token: this.config.token,
107
135
  },
136
+ ...this.config.connectParams,
108
137
  };
109
- return this.request('connect', params);
138
+ const connectTimeout = this.config.connectTimeoutMs ?? 120000;
139
+ return this.request('connect', params, connectTimeout);
110
140
  }
111
141
  /**
112
142
  * Send a request and wait for response
113
143
  */
114
- async request(method, params) {
144
+ async request(method, params, timeoutMs) {
115
145
  if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
116
146
  throw new Error('Not connected');
117
147
  }
@@ -124,11 +154,11 @@ export class OpenClawClient {
124
154
  };
125
155
  return new Promise((resolve, reject) => {
126
156
  this.pending.set(id, { resolve, reject });
127
- // Set timeout for request (30 seconds)
157
+ const effectiveTimeout = timeoutMs ?? this.config.requestTimeoutMs ?? 30000;
128
158
  const timeout = setTimeout(() => {
129
159
  this.pending.delete(id);
130
160
  reject(new Error(`Request timeout: ${method}`));
131
- }, 30000);
161
+ }, effectiveTimeout);
132
162
  // Clear timeout when promise settles
133
163
  const originalResolve = resolve;
134
164
  const originalReject = reject;
@@ -266,6 +296,24 @@ export class OpenClawClient {
266
296
  async listAgents(params = {}) {
267
297
  return this.request('agents.list', params);
268
298
  }
299
+ /**
300
+ * Create agent
301
+ */
302
+ async createAgent(params) {
303
+ return this.request('agents.create', params);
304
+ }
305
+ /**
306
+ * Update agent
307
+ */
308
+ async updateAgent(params) {
309
+ return this.request('agents.update', params);
310
+ }
311
+ /**
312
+ * Delete agent
313
+ */
314
+ async deleteAgent(params) {
315
+ return this.request('agents.delete', params);
316
+ }
269
317
  /**
270
318
  * Get agent identity
271
319
  */
@@ -326,6 +374,12 @@ export class OpenClawClient {
326
374
  async compactSession(params) {
327
375
  return this.request('sessions.compact', params);
328
376
  }
377
+ /**
378
+ * Get session usage
379
+ */
380
+ async getSessionsUsage(params = {}) {
381
+ return this.request('sessions.usage', params);
382
+ }
329
383
  /**
330
384
  * Send a message to agent
331
385
  */
@@ -386,6 +440,12 @@ export class OpenClawClient {
386
440
  async setTalkMode(params) {
387
441
  return this.request('talk.mode', params);
388
442
  }
443
+ /**
444
+ * Get talk config
445
+ */
446
+ async getTalkConfig(params = {}) {
447
+ return this.request('talk.config', params);
448
+ }
389
449
  /**
390
450
  * Get channels status
391
451
  */
@@ -530,6 +590,12 @@ export class OpenClawClient {
530
590
  async rejectDevicePairing(params) {
531
591
  return this.request('device.pair.reject', params);
532
592
  }
593
+ /**
594
+ * Remove paired device
595
+ */
596
+ async removeDevicePairing(params) {
597
+ return this.request('device.pair.remove', params);
598
+ }
533
599
  /**
534
600
  * Rotate device token
535
601
  */
@@ -620,6 +686,12 @@ export class OpenClawClient {
620
686
  async invokeNode(params) {
621
687
  return this.request('node.invoke', params);
622
688
  }
689
+ /**
690
+ * Test push notification to node
691
+ */
692
+ async testPush(params) {
693
+ return this.request('push.test', params);
694
+ }
623
695
  /**
624
696
  * Update and run
625
697
  */