openclaw-cascade-plugin 1.0.3 → 1.0.5

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 (41) hide show
  1. package/README.md +21 -24
  2. package/dist/config.d.ts +1 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +3 -10
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +53 -46
  8. package/dist/index.js.map +1 -1
  9. package/dist/tools/a2a-tools.d.ts +1 -1
  10. package/dist/tools/a2a-tools.d.ts.map +1 -1
  11. package/dist/tools/a2a-tools.js +4 -4
  12. package/dist/tools/a2a-tools.js.map +1 -1
  13. package/dist/tools/api-tools.d.ts +1 -1
  14. package/dist/tools/api-tools.d.ts.map +1 -1
  15. package/dist/tools/api-tools.js +3 -3
  16. package/dist/tools/api-tools.js.map +1 -1
  17. package/dist/tools/desktop-automation.d.ts +1 -1
  18. package/dist/tools/desktop-automation.d.ts.map +1 -1
  19. package/dist/tools/desktop-automation.js +10 -10
  20. package/dist/tools/desktop-automation.js.map +1 -1
  21. package/dist/tools/sandbox-tools.d.ts +1 -1
  22. package/dist/tools/sandbox-tools.d.ts.map +1 -1
  23. package/dist/tools/sandbox-tools.js +2 -2
  24. package/dist/tools/sandbox-tools.js.map +1 -1
  25. package/dist/tools/web-automation.d.ts +1 -1
  26. package/dist/tools/web-automation.d.ts.map +1 -1
  27. package/dist/tools/web-automation.js +16 -16
  28. package/dist/tools/web-automation.js.map +1 -1
  29. package/openclaw-cascade-plugin-1.0.4.tgz +0 -0
  30. package/openclaw.plugin.json +1 -2
  31. package/package.json +1 -1
  32. package/src/config.test.ts +3 -8
  33. package/src/config.ts +4 -14
  34. package/src/index.ts +55 -53
  35. package/src/tools/a2a-tools.ts +4 -4
  36. package/src/tools/api-tools.ts +3 -3
  37. package/src/tools/desktop-automation.test.ts +2 -2
  38. package/src/tools/desktop-automation.ts +10 -10
  39. package/src/tools/sandbox-tools.ts +2 -2
  40. package/src/tools/web-automation.test.ts +1 -1
  41. package/src/tools/web-automation.ts +16 -16
@@ -9,7 +9,7 @@ import { CascadeMcpClient } from '../cascade-client';
9
9
  import { ToolResponse } from '../types';
10
10
  import { errorResponse, formatSuccess } from './response-helpers';
11
11
 
12
- export function registerSandboxTools(registry: ToolRegistry, client: CascadeMcpClient): void {
12
+ export function registerSandboxTools(registry: ToolRegistry, getClient: () => Promise<CascadeMcpClient>): void {
13
13
  registry.register({
14
14
  name: 'cascade_execute_sandbox_skill',
15
15
  description: 'Execute a Python sandbox skill for programmatic file automation',
@@ -63,7 +63,7 @@ export function registerSandboxTools(registry: ToolRegistry, client: CascadeMcpC
63
63
  return errorResponse('task is required');
64
64
  }
65
65
 
66
- const result = await client.callTool('execute_sandbox_skill', {
66
+ const result = await await (await getClient()).callTool('execute_sandbox_skill', {
67
67
  skill_id: args.skill_id,
68
68
  task: args.task,
69
69
  inputs: args.inputs || {},
@@ -13,7 +13,7 @@ describe('Web Automation Tools', () => {
13
13
  beforeEach(() => {
14
14
  registry = new ToolRegistry();
15
15
  mockClient = new MockCascadeMcpClient();
16
- registerWebTools(registry, mockClient as any);
16
+ registerWebTools(registry, async () => mockClient as any);
17
17
  });
18
18
 
19
19
  describe('Navigation Tools', () => {
@@ -9,7 +9,7 @@ import { CascadeMcpClient } from '../cascade-client';
9
9
  import { ToolResponse } from '../types';
10
10
  import { errorResponse, formatSuccess } from './response-helpers';
11
11
 
12
- export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClient): void {
12
+ export function registerWebTools(registry: ToolRegistry, getClient: () => Promise<CascadeMcpClient>): void {
13
13
  // Navigation Tools (5)
14
14
 
15
15
  // 1. cascade_pw_goto
@@ -38,7 +38,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
38
38
  return errorResponse('url is required');
39
39
  }
40
40
 
41
- const result = await client.callTool('pw_goto', {
41
+ const result = await await (await getClient()).callTool('pw_goto', {
42
42
  url: args.url,
43
43
  wait_until: args.wait_until || 'networkidle'
44
44
  });
@@ -62,7 +62,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
62
62
  },
63
63
  handler: async (): Promise<ToolResponse> => {
64
64
  try {
65
- const result = await client.callTool('pw_back', {});
65
+ const result = await await (await getClient()).callTool('pw_back', {});
66
66
  return formatSuccess(result);
67
67
  } catch (error) {
68
68
  return errorResponse(
@@ -82,7 +82,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
82
82
  },
83
83
  handler: async (): Promise<ToolResponse> => {
84
84
  try {
85
- const result = await client.callTool('pw_forward', {});
85
+ const result = await await (await getClient()).callTool('pw_forward', {});
86
86
  return formatSuccess(result);
87
87
  } catch (error) {
88
88
  return errorResponse(
@@ -108,7 +108,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
108
108
  },
109
109
  handler: async (args): Promise<ToolResponse> => {
110
110
  try {
111
- const result = await client.callTool('pw_reload', {
111
+ const result = await await (await getClient()).callTool('pw_reload', {
112
112
  wait_until: args.wait_until || 'networkidle'
113
113
  });
114
114
  return formatSuccess(result);
@@ -145,7 +145,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
145
145
  return errorResponse('url is required');
146
146
  }
147
147
 
148
- const result = await client.callTool('pw_wait_for_url', {
148
+ const result = await await (await getClient()).callTool('pw_wait_for_url', {
149
149
  url: args.url,
150
150
  timeout_ms: args.timeout_ms || 10000
151
151
  });
@@ -181,7 +181,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
181
181
  return errorResponse('selector is required');
182
182
  }
183
183
 
184
- const result = await client.callTool('pw_locator_count', {
184
+ const result = await await (await getClient()).callTool('pw_locator_count', {
185
185
  selector: args.selector
186
186
  });
187
187
  return formatSuccess({ count: result.count });
@@ -218,7 +218,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
218
218
  return errorResponse('selector is required');
219
219
  }
220
220
 
221
- const result = await client.callTool('pw_locator_text', {
221
+ const result = await await (await getClient()).callTool('pw_locator_text', {
222
222
  selector: args.selector,
223
223
  timeout_ms: args.timeout_ms || 8000
224
224
  });
@@ -257,7 +257,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
257
257
  return errorResponse('selector is required');
258
258
  }
259
259
 
260
- const result = await client.callTool('pw_click', {
260
+ const result = await await (await getClient()).callTool('pw_click', {
261
261
  selector: args.selector,
262
262
  timeout_ms: args.timeout_ms || 8000
263
263
  });
@@ -302,7 +302,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
302
302
  return errorResponse('text is required');
303
303
  }
304
304
 
305
- const result = await client.callTool('pw_fill', {
305
+ const result = await await (await getClient()).callTool('pw_fill', {
306
306
  selector: args.selector,
307
307
  text: args.text,
308
308
  timeout_ms: args.timeout_ms || 8000
@@ -347,7 +347,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
347
347
  return errorResponse('key is required');
348
348
  }
349
349
 
350
- const result = await client.callTool('pw_press', {
350
+ const result = await await (await getClient()).callTool('pw_press', {
351
351
  selector: args.selector,
352
352
  key: args.key,
353
353
  timeout_ms: args.timeout_ms || 8000
@@ -389,7 +389,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
389
389
  return errorResponse('values is required and must be an array');
390
390
  }
391
391
 
392
- const result = await client.callTool('pw_select_option', {
392
+ const result = await await (await getClient()).callTool('pw_select_option', {
393
393
  selector: args.selector,
394
394
  values: args.values
395
395
  });
@@ -424,7 +424,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
424
424
  return errorResponse('expression is required');
425
425
  }
426
426
 
427
- const result = await client.callTool('pw_eval', {
427
+ const result = await await (await getClient()).callTool('pw_eval', {
428
428
  expression: args.expression
429
429
  });
430
430
  return formatSuccess({ result: result.result });
@@ -463,7 +463,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
463
463
  return errorResponse('expression is required');
464
464
  }
465
465
 
466
- const result = await client.callTool('pw_eval_on_selector', {
466
+ const result = await await (await getClient()).callTool('pw_eval_on_selector', {
467
467
  selector: args.selector,
468
468
  expression: args.expression
469
469
  });
@@ -486,7 +486,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
486
486
  },
487
487
  handler: async (): Promise<ToolResponse> => {
488
488
  try {
489
- const result = await client.callTool('pw_list_frames', {});
489
+ const result = await await (await getClient()).callTool('pw_list_frames', {});
490
490
  return formatSuccess({ frames: result.frames });
491
491
  } catch (error) {
492
492
  return errorResponse(
@@ -506,7 +506,7 @@ export function registerWebTools(registry: ToolRegistry, client: CascadeMcpClien
506
506
  },
507
507
  handler: async (): Promise<ToolResponse> => {
508
508
  try {
509
- const result = await client.callTool('pw_get_cookies', {});
509
+ const result = await await (await getClient()).callTool('pw_get_cookies', {});
510
510
  return formatSuccess({ cookies: result.cookies });
511
511
  } catch (error) {
512
512
  return errorResponse(