openclaw-cascade-plugin 1.0.12 → 1.0.14

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 (80) hide show
  1. package/dist/grpc-client.d.ts +17 -0
  2. package/dist/grpc-client.d.ts.map +1 -0
  3. package/dist/grpc-client.js +154 -0
  4. package/dist/grpc-client.js.map +1 -0
  5. package/dist/index.d.ts +2 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +14 -54
  8. package/dist/index.js.map +1 -1
  9. package/dist/test-utils/mocks.d.ts +6 -4
  10. package/dist/test-utils/mocks.d.ts.map +1 -1
  11. package/dist/test-utils/mocks.js +24 -14
  12. package/dist/test-utils/mocks.js.map +1 -1
  13. package/dist/tools/desktop-automation.d.ts +2 -7
  14. package/dist/tools/desktop-automation.d.ts.map +1 -1
  15. package/dist/tools/desktop-automation.js +64 -123
  16. package/dist/tools/desktop-automation.js.map +1 -1
  17. package/dist/tools/index.d.ts +3 -10
  18. package/dist/tools/index.d.ts.map +1 -1
  19. package/dist/tools/index.js +3 -17
  20. package/dist/tools/index.js.map +1 -1
  21. package/openclaw.plugin.json +1 -1
  22. package/package.json +13 -2
  23. package/proto/cascade.proto +297 -0
  24. package/PHASE1_SUMMARY.md +0 -191
  25. package/PHASE3_SUMMARY.md +0 -195
  26. package/dist/cascade-client.d.ts +0 -53
  27. package/dist/cascade-client.d.ts.map +0 -1
  28. package/dist/cascade-client.js +0 -179
  29. package/dist/cascade-client.js.map +0 -1
  30. package/dist/python-manager.d.ts +0 -59
  31. package/dist/python-manager.d.ts.map +0 -1
  32. package/dist/python-manager.js +0 -190
  33. package/dist/python-manager.js.map +0 -1
  34. package/dist/tools/api-tools.d.ts +0 -9
  35. package/dist/tools/api-tools.d.ts.map +0 -1
  36. package/dist/tools/api-tools.js +0 -102
  37. package/dist/tools/api-tools.js.map +0 -1
  38. package/dist/tools/sandbox-tools.d.ts +0 -9
  39. package/dist/tools/sandbox-tools.d.ts.map +0 -1
  40. package/dist/tools/sandbox-tools.js +0 -79
  41. package/dist/tools/sandbox-tools.js.map +0 -1
  42. package/dist/tools/web-automation.d.ts +0 -9
  43. package/dist/tools/web-automation.d.ts.map +0 -1
  44. package/dist/tools/web-automation.js +0 -471
  45. package/dist/tools/web-automation.js.map +0 -1
  46. package/jest.setup.js +0 -19
  47. package/openclaw-cascade-plugin-1.0.0.tgz +0 -0
  48. package/openclaw-cascade-plugin-1.0.10.tgz +0 -0
  49. package/openclaw-cascade-plugin-1.0.11.tgz +0 -0
  50. package/openclaw-cascade-plugin-1.0.12.tgz +0 -0
  51. package/openclaw-cascade-plugin-1.0.4.tgz +0 -0
  52. package/openclaw-cascade-plugin-1.0.6.tgz +0 -0
  53. package/openclaw-cascade-plugin-1.0.7.tgz +0 -0
  54. package/openclaw-cascade-plugin-1.0.8.tgz +0 -0
  55. package/openclaw-cascade-plugin-1.0.9.tgz +0 -0
  56. package/scripts/postinstall.js +0 -84
  57. package/src/a2a-client.ts +0 -66
  58. package/src/cascade-client.test.ts +0 -400
  59. package/src/cascade-client.ts +0 -198
  60. package/src/config.test.ts +0 -189
  61. package/src/config.ts +0 -137
  62. package/src/index.ts +0 -202
  63. package/src/python-manager.test.ts +0 -187
  64. package/src/python-manager.ts +0 -230
  65. package/src/test-utils/helpers.ts +0 -107
  66. package/src/test-utils/index.ts +0 -2
  67. package/src/test-utils/mocks.ts +0 -101
  68. package/src/tools/a2a-tools.ts +0 -162
  69. package/src/tools/api-tools.ts +0 -110
  70. package/src/tools/desktop-automation.test.ts +0 -308
  71. package/src/tools/desktop-automation.ts +0 -366
  72. package/src/tools/index.ts +0 -13
  73. package/src/tools/response-helpers.ts +0 -78
  74. package/src/tools/sandbox-tools.ts +0 -83
  75. package/src/tools/tool-registry.ts +0 -51
  76. package/src/tools/web-automation.test.ts +0 -177
  77. package/src/tools/web-automation.ts +0 -518
  78. package/src/types/index.ts +0 -133
  79. package/src/wsl.ts +0 -53
  80. package/tsconfig.json +0 -27
@@ -1,105 +1,84 @@
1
1
  "use strict";
2
- /**
3
- * Desktop Automation Tools
4
- *
5
- * 9 tools for controlling Windows desktop applications
6
- */
7
2
  Object.defineProperty(exports, "__esModule", { value: true });
8
3
  exports.registerDesktopTools = registerDesktopTools;
9
4
  const response_helpers_1 = require("./response-helpers");
10
5
  const promises_1 = require("fs/promises");
11
6
  const path_1 = require("path");
12
7
  const os_1 = require("os");
13
- // Max size for embedded images (4MB)
14
8
  const MAX_EMBED_SIZE = 4 * 1024 * 1024;
15
9
  function registerDesktopTools(registry, getClient, config) {
16
10
  const screenshotMode = config?.screenshotMode || 'auto';
17
11
  const screenshotDir = config?.screenshotDir || (0, path_1.join)((0, os_1.homedir)(), '.openclaw', 'screenshots');
18
- // 1. cascade_click_element
12
+ // Helper to extract selector
13
+ const extractSelector = (args) => {
14
+ return {
15
+ platform_source: args.platform_source,
16
+ id: args.id,
17
+ name: args.name,
18
+ control_type: args.control_type,
19
+ path: args.path,
20
+ index: args.index,
21
+ text_hint: args.text_hint
22
+ };
23
+ };
19
24
  registry.register({
20
25
  name: 'cascade_click_element',
21
26
  description: 'Click on a UI element on the desktop or in an application',
22
27
  inputSchema: {
23
28
  type: 'object',
24
29
  properties: {
25
- platform_source: {
26
- type: 'string',
27
- enum: ['WINDOWS', 'JAVA', 'WEB'],
28
- description: 'Platform type (Windows desktop, Java app, or web)'
29
- },
30
- id: { type: 'string', description: 'Element ID if known' },
31
- name: { type: 'string', description: 'Element name/label' },
32
- control_type: {
33
- type: 'string',
34
- enum: ['BUTTON', 'INPUT', 'COMBO', 'MENU', 'TREE', 'TABLE', 'CUSTOM'],
35
- description: 'Control type'
36
- },
37
- path: {
38
- type: 'array',
39
- items: { type: 'string' },
40
- description: 'Path components for navigation'
41
- },
42
- index: { type: 'integer', description: 'Index if multiple matches' },
43
- text_hint: { type: 'string', description: 'Text hint for element' }
30
+ platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'], description: 'Platform type' },
31
+ id: { type: 'string' },
32
+ name: { type: 'string' },
33
+ control_type: { type: 'string' },
34
+ path: { type: 'array', items: { type: 'string' } },
35
+ index: { type: 'integer' },
36
+ text_hint: { type: 'string' }
44
37
  },
45
38
  required: ['platform_source']
46
39
  },
47
40
  handler: async (args) => {
48
41
  try {
49
- if (!args.platform_source) {
42
+ if (!args.platform_source)
50
43
  return (0, response_helpers_1.errorResponse)('platform_source is required');
51
- }
52
- const result = await (await getClient()).callTool('click_element', args);
44
+ const result = await (await getClient()).performAction('CLICK', extractSelector(args));
53
45
  return (0, response_helpers_1.formatSuccess)(result);
54
46
  }
55
47
  catch (error) {
56
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to click element', 'Try using cascade_get_semantic_tree first to identify the correct element');
48
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to click element');
57
49
  }
58
50
  }
59
51
  });
60
- // 2. cascade_type_text
61
52
  registry.register({
62
53
  name: 'cascade_type_text',
63
- description: 'Type text into a UI element (input field, text area, etc.)',
54
+ description: 'Type text into a UI element',
64
55
  inputSchema: {
65
56
  type: 'object',
66
57
  properties: {
67
58
  selector: {
68
59
  type: 'object',
69
- description: 'Element selector',
70
60
  properties: {
71
- platform_source: {
72
- type: 'string',
73
- enum: ['WINDOWS', 'JAVA', 'WEB']
74
- },
61
+ platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] },
75
62
  id: { type: 'string' },
76
63
  name: { type: 'string' },
77
- control_type: {
78
- type: 'string',
79
- enum: ['BUTTON', 'INPUT', 'COMBO', 'MENU', 'TREE', 'TABLE', 'CUSTOM']
80
- },
64
+ control_type: { type: 'string' },
81
65
  path: { type: 'array', items: { type: 'string' } },
82
66
  index: { type: 'integer' },
83
67
  text_hint: { type: 'string' }
84
68
  },
85
69
  required: ['platform_source']
86
70
  },
87
- text: {
88
- type: 'string',
89
- description: 'Text to type'
90
- }
71
+ text: { type: 'string', description: 'Text to type' }
91
72
  },
92
73
  required: ['selector', 'text']
93
74
  },
94
75
  handler: async (args) => {
95
76
  try {
96
- if (!args.selector) {
77
+ if (!args.selector)
97
78
  return (0, response_helpers_1.errorResponse)('selector is required');
98
- }
99
- if (!args.text) {
79
+ if (!args.text)
100
80
  return (0, response_helpers_1.errorResponse)('text is required');
101
- }
102
- const result = await (await getClient()).callTool('type_text', args);
81
+ const result = await (await getClient()).performAction('TYPE_TEXT', args.selector, args.text);
103
82
  return (0, response_helpers_1.formatSuccess)(result);
104
83
  }
105
84
  catch (error) {
@@ -107,90 +86,77 @@ function registerDesktopTools(registry, getClient, config) {
107
86
  }
108
87
  }
109
88
  });
110
- // 3. cascade_get_semantic_tree
111
89
  registry.register({
112
90
  name: 'cascade_get_semantic_tree',
113
- description: 'Get the UI element structure of the current window or application',
91
+ description: 'Get the UI element structure',
114
92
  inputSchema: {
115
93
  type: 'object',
116
- properties: { _placeholder: { type: "boolean", description: "Ignore this field" } }
94
+ properties: { _placeholder: { type: "boolean" } }
117
95
  },
118
96
  handler: async () => {
119
97
  try {
120
- const result = await (await getClient()).callTool('get_semantic_tree', {});
98
+ const result = await (await getClient()).getSemanticTree();
121
99
  return (0, response_helpers_1.formatSuccess)(result);
122
100
  }
123
101
  catch (error) {
124
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to get semantic tree');
102
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to get tree');
125
103
  }
126
104
  }
127
105
  });
128
- // 4. cascade_get_screenshot
129
106
  registry.register({
130
107
  name: 'cascade_get_screenshot',
131
- description: 'Capture a screenshot of the current screen with element annotations',
108
+ description: 'Capture a screenshot with element annotations',
132
109
  inputSchema: {
133
110
  type: 'object',
134
- properties: { _placeholder: { type: "boolean", description: "Ignore this field" } }
111
+ properties: { _placeholder: { type: "boolean" } }
135
112
  },
136
113
  handler: async () => {
137
114
  try {
138
- const result = await (await getClient()).callTool('get_screenshot', {});
139
- if (!result.image) {
115
+ const result = await (await getClient()).getScreenshot();
116
+ if (!result.image)
140
117
  return (0, response_helpers_1.errorResponse)('No image data received');
141
- }
142
118
  const imageSize = Buffer.from(result.image, 'base64').length;
143
- const shouldEmbed = screenshotMode === 'embed' ||
144
- (screenshotMode === 'auto' && imageSize < MAX_EMBED_SIZE);
119
+ const shouldEmbed = screenshotMode === 'embed' || (screenshotMode === 'auto' && imageSize < MAX_EMBED_SIZE);
145
120
  if (shouldEmbed) {
146
- return (0, response_helpers_1.imageResponse)(result.image, result.format?.toLowerCase() === 'jpeg' ? 'jpeg' : 'png', `Screenshot captured (${(imageSize / 1024).toFixed(1)} KB)`);
147
- }
148
- else {
149
- // Save to disk
150
- await (0, promises_1.mkdir)(screenshotDir, { recursive: true });
151
- const filename = `cascade-${Date.now()}.${result.format?.toLowerCase() || 'png'}`;
152
- const filepath = (0, path_1.join)(screenshotDir, filename);
153
- await (0, promises_1.writeFile)(filepath, Buffer.from(result.image, 'base64'));
154
- return (0, response_helpers_1.formatSuccess)({
155
- saved_to: filepath,
156
- size_kb: (imageSize / 1024).toFixed(1),
157
- marks: result.marks
158
- });
121
+ return (0, response_helpers_1.imageResponse)(result.image, 'jpeg', `Captured screenshot. Marks available:\n${JSON.stringify(result.marks, null, 2)}`);
159
122
  }
123
+ await (0, promises_1.mkdir)(screenshotDir, { recursive: true });
124
+ const filename = `screenshot_${Date.now()}.jpg`;
125
+ const filepath = (0, path_1.join)(screenshotDir, filename);
126
+ await (0, promises_1.writeFile)(filepath, Buffer.from(result.image, 'base64'));
127
+ return (0, response_helpers_1.formatSuccess)({
128
+ message: `Screenshot saved to ${filepath}`,
129
+ marks: result.marks,
130
+ file_path: filepath
131
+ });
160
132
  }
161
133
  catch (error) {
162
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to capture screenshot');
134
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to get screenshot');
163
135
  }
164
136
  }
165
137
  });
166
- // 5. cascade_start_app
167
138
  registry.register({
168
139
  name: 'cascade_start_app',
169
140
  description: 'Start an application by name',
170
141
  inputSchema: {
171
142
  type: 'object',
172
143
  properties: {
173
- app_name: {
174
- type: 'string',
175
- description: 'Application name or executable (e.g., notepad, calc, excel)'
176
- }
144
+ app_name: { type: 'string' }
177
145
  },
178
146
  required: ['app_name']
179
147
  },
180
148
  handler: async (args) => {
181
149
  try {
182
- if (!args.app_name) {
150
+ if (!args.app_name)
183
151
  return (0, response_helpers_1.errorResponse)('app_name is required');
184
- }
185
- const result = await (await getClient()).callTool('start_app', args);
152
+ const result = await (await getClient()).startApp(args.app_name);
186
153
  return (0, response_helpers_1.formatSuccess)(result);
187
154
  }
188
155
  catch (error) {
189
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to start application', 'Verify the app name is correct and the application is installed');
156
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to start app');
190
157
  }
191
158
  }
192
159
  });
193
- // 6. cascade_hover_element
194
160
  registry.register({
195
161
  name: 'cascade_hover_element',
196
162
  description: 'Hover over a UI element',
@@ -199,7 +165,6 @@ function registerDesktopTools(registry, getClient, config) {
199
165
  properties: {
200
166
  selector: {
201
167
  type: 'object',
202
- description: 'Element selector',
203
168
  properties: {
204
169
  platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] },
205
170
  id: { type: 'string' },
@@ -216,15 +181,14 @@ function registerDesktopTools(registry, getClient, config) {
216
181
  },
217
182
  handler: async (args) => {
218
183
  try {
219
- const result = await (await getClient()).callTool('hover_element', args);
184
+ const result = await (await getClient()).performAction('HOVER', args.selector);
220
185
  return (0, response_helpers_1.formatSuccess)(result);
221
186
  }
222
187
  catch (error) {
223
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to hover element');
188
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to hover');
224
189
  }
225
190
  }
226
191
  });
227
- // 7. cascade_focus_element
228
192
  registry.register({
229
193
  name: 'cascade_focus_element',
230
194
  description: 'Focus on a UI element',
@@ -233,15 +197,8 @@ function registerDesktopTools(registry, getClient, config) {
233
197
  properties: {
234
198
  selector: {
235
199
  type: 'object',
236
- description: 'Element selector',
237
200
  properties: {
238
- platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] },
239
- id: { type: 'string' },
240
- name: { type: 'string' },
241
- control_type: { type: 'string' },
242
- path: { type: 'array', items: { type: 'string' } },
243
- index: { type: 'integer' },
244
- text_hint: { type: 'string' }
201
+ platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] }
245
202
  },
246
203
  required: ['platform_source']
247
204
  }
@@ -250,15 +207,14 @@ function registerDesktopTools(registry, getClient, config) {
250
207
  },
251
208
  handler: async (args) => {
252
209
  try {
253
- const result = await (await getClient()).callTool('focus_element', args);
210
+ const result = await (await getClient()).performAction('FOCUS', args.selector);
254
211
  return (0, response_helpers_1.formatSuccess)(result);
255
212
  }
256
213
  catch (error) {
257
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to focus element');
214
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to focus');
258
215
  }
259
216
  }
260
217
  });
261
- // 8. cascade_scroll_element
262
218
  registry.register({
263
219
  name: 'cascade_scroll_element',
264
220
  description: 'Scroll a UI element',
@@ -267,15 +223,8 @@ function registerDesktopTools(registry, getClient, config) {
267
223
  properties: {
268
224
  selector: {
269
225
  type: 'object',
270
- description: 'Element selector',
271
226
  properties: {
272
- platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] },
273
- id: { type: 'string' },
274
- name: { type: 'string' },
275
- control_type: { type: 'string' },
276
- path: { type: 'array', items: { type: 'string' } },
277
- index: { type: 'integer' },
278
- text_hint: { type: 'string' }
227
+ platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] }
279
228
  },
280
229
  required: ['platform_source']
281
230
  }
@@ -284,15 +233,14 @@ function registerDesktopTools(registry, getClient, config) {
284
233
  },
285
234
  handler: async (args) => {
286
235
  try {
287
- const result = await (await getClient()).callTool('scroll_element', args);
236
+ const result = await (await getClient()).performAction('SCROLL', args.selector);
288
237
  return (0, response_helpers_1.formatSuccess)(result);
289
238
  }
290
239
  catch (error) {
291
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to scroll element');
240
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to scroll');
292
241
  }
293
242
  }
294
243
  });
295
- // 9. cascade_wait_visible
296
244
  registry.register({
297
245
  name: 'cascade_wait_visible',
298
246
  description: 'Wait for a UI element to become visible',
@@ -301,15 +249,8 @@ function registerDesktopTools(registry, getClient, config) {
301
249
  properties: {
302
250
  selector: {
303
251
  type: 'object',
304
- description: 'Element selector',
305
252
  properties: {
306
- platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] },
307
- id: { type: 'string' },
308
- name: { type: 'string' },
309
- control_type: { type: 'string' },
310
- path: { type: 'array', items: { type: 'string' } },
311
- index: { type: 'integer' },
312
- text_hint: { type: 'string' }
253
+ platform_source: { type: 'string', enum: ['WINDOWS', 'JAVA', 'WEB'] }
313
254
  },
314
255
  required: ['platform_source']
315
256
  }
@@ -318,11 +259,11 @@ function registerDesktopTools(registry, getClient, config) {
318
259
  },
319
260
  handler: async (args) => {
320
261
  try {
321
- const result = await (await getClient()).callTool('wait_visible', args);
262
+ const result = await (await getClient()).performAction('WAIT_VISIBLE', args.selector);
322
263
  return (0, response_helpers_1.formatSuccess)(result);
323
264
  }
324
265
  catch (error) {
325
- return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to wait for element');
266
+ return (0, response_helpers_1.errorResponse)(error instanceof Error ? error.message : 'Failed to wait');
326
267
  }
327
268
  }
328
269
  });
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-automation.js","sourceRoot":"","sources":["../../src/tools/desktop-automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop-automation.js","sourceRoot":"","sources":["../../src/tools/desktop-automation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
- /**
2
- * Tools Index
3
- *
4
- * Export all tool registration functions
5
- */
6
- export { registerDesktopTools } from './desktop-automation';
7
- export { registerWebTools } from './web-automation';
8
- export { registerApiTools } from './api-tools';
9
- export { registerSandboxTools } from './sandbox-tools';
10
- export { registerA2ATools } from './a2a-tools';
1
+ export * from './tool-registry';
11
2
  export * from './response-helpers';
3
+ export * from './desktop-automation';
4
+ export * from './a2a-tools';
12
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Tools Index
4
- *
5
- * Export all tool registration functions
6
- */
7
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
3
  if (k2 === undefined) k2 = k;
9
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -19,17 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
15
  };
21
16
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.registerA2ATools = exports.registerSandboxTools = exports.registerApiTools = exports.registerWebTools = exports.registerDesktopTools = void 0;
23
- var desktop_automation_1 = require("./desktop-automation");
24
- Object.defineProperty(exports, "registerDesktopTools", { enumerable: true, get: function () { return desktop_automation_1.registerDesktopTools; } });
25
- var web_automation_1 = require("./web-automation");
26
- Object.defineProperty(exports, "registerWebTools", { enumerable: true, get: function () { return web_automation_1.registerWebTools; } });
27
- var api_tools_1 = require("./api-tools");
28
- Object.defineProperty(exports, "registerApiTools", { enumerable: true, get: function () { return api_tools_1.registerApiTools; } });
29
- var sandbox_tools_1 = require("./sandbox-tools");
30
- Object.defineProperty(exports, "registerSandboxTools", { enumerable: true, get: function () { return sandbox_tools_1.registerSandboxTools; } });
31
- var a2a_tools_1 = require("./a2a-tools");
32
- Object.defineProperty(exports, "registerA2ATools", { enumerable: true, get: function () { return a2a_tools_1.registerA2ATools; } });
33
- // Note: ToolRegistry class is not exported from main index to avoid conflict with ToolRegistry interface
17
+ __exportStar(require("./tool-registry"), exports);
34
18
  __exportStar(require("./response-helpers"), exports);
19
+ __exportStar(require("./desktop-automation"), exports);
20
+ __exportStar(require("./a2a-tools"), exports);
35
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,mDAAoD;AAA3C,kHAAA,gBAAgB,OAAA;AACzB,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AACzB,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AACzB,yGAAyG;AACzG,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC;AACnC,uDAAqC;AACrC,8CAA4B"}
@@ -2,7 +2,7 @@
2
2
  "id": "openclaw-cascade-plugin",
3
3
  "name": "Cascade Desktop Automation",
4
4
  "description": "Control Windows desktop apps and web browsers through OpenClaw. Provides desktop automation, web automation with Playwright, and skill learning capabilities.",
5
- "version": "1.0.4",
5
+ "version": "1.0.14",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-cascade-plugin",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Desktop automation plugin for OpenClaw powered by Cascade",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,9 +12,15 @@
12
12
  "test:coverage": "jest --coverage",
13
13
  "lint": "eslint src/**/*.ts",
14
14
  "lint:fix": "eslint src/**/*.ts --fix",
15
- "clean": "rm -rf dist coverage",
15
+ "clean": "rimraf dist coverage",
16
+ "prepack": "npm run clean && npm run build",
16
17
  "postinstall": "node scripts/postinstall.js"
17
18
  },
19
+ "files": [
20
+ "dist",
21
+ "proto",
22
+ "openclaw.plugin.json"
23
+ ],
18
24
  "openclaw": {
19
25
  "extensions": [
20
26
  "./dist/index.js"
@@ -40,6 +46,7 @@
40
46
  "@typescript-eslint/parser": "^6.0.0",
41
47
  "eslint": "^8.0.0",
42
48
  "jest": "^29.5.0",
49
+ "rimraf": "^6.1.3",
43
50
  "ts-jest": "^29.1.0",
44
51
  "typescript": "^5.0.0"
45
52
  },
@@ -71,5 +78,9 @@
71
78
  "moduleNameMapper": {
72
79
  "^@/(.*)$": "<rootDir>/src/$1"
73
80
  }
81
+ },
82
+ "dependencies": {
83
+ "@grpc/grpc-js": "^1.14.3",
84
+ "@grpc/proto-loader": "^0.8.0"
74
85
  }
75
86
  }