openclaw-cascade-plugin 1.0.1 → 1.0.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.
- package/README.md +8 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/src/config.ts +3 -2
- package/src/index.ts +9 -4
- package/src/tools/desktop-automation.test.ts +4 -1
package/README.md
CHANGED
|
@@ -12,7 +12,14 @@ openclaw plugins install openclaw-cascade-plugin
|
|
|
12
12
|
|
|
13
13
|
## Configuration
|
|
14
14
|
|
|
15
|
-
Add to your OpenClaw config
|
|
15
|
+
Add to your OpenClaw config. The entry key must match the manifest id (`openclaw-cascade-plugin`).
|
|
16
|
+
|
|
17
|
+
If you previously installed `cascade` (v1.0.0), uninstall it and reinstall v1.0.2:
|
|
18
|
+
```bash
|
|
19
|
+
openclaw plugins uninstall cascade
|
|
20
|
+
openclaw plugins install openclaw-cascade-plugin@1.0.2
|
|
21
|
+
```
|
|
22
|
+
|
|
16
23
|
|
|
17
24
|
```json5
|
|
18
25
|
{
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAS1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAoChE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CA2BnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAS1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAoChE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CA2BnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,CAYpE"}
|
package/dist/config.js
CHANGED
|
@@ -106,10 +106,11 @@ function loadConfig(input) {
|
|
|
106
106
|
* Load configuration from OpenClaw API
|
|
107
107
|
*/
|
|
108
108
|
function loadConfigFromOpenClaw(api) {
|
|
109
|
-
const
|
|
109
|
+
const entries = api.config?.plugins?.entries || {};
|
|
110
|
+
const pluginConfig = entries['openclaw-cascade-plugin']?.config || entries.cascade?.config;
|
|
110
111
|
if (!pluginConfig) {
|
|
111
112
|
throw new Error('Cascade plugin configuration not found. ' +
|
|
112
|
-
'Please add cascade configuration to your OpenClaw config.');
|
|
113
|
+
'Please add openclaw-cascade-plugin configuration to your OpenClaw config.');
|
|
113
114
|
}
|
|
114
115
|
return loadConfig(pluginConfig);
|
|
115
116
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAUH,kCASC;AAKD,wCAoCC;AAMD,sCAkBC;AAKD,gCA2BC;AAKD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAYtC,UAAU,WAAW;IACnB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAYtC,UAAU,WAAW;IACnB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,OAAO,CAAC,EAAE;oBAAE,MAAM,CAAC,EAAE,GAAG,CAAA;iBAAE,CAAC;gBAC3B,yBAAyB,CAAC,EAAE;oBAAE,MAAM,CAAC,EAAE,GAAG,CAAA;iBAAE,CAAC;gBAC7C,CAAC,GAAG,EAAE,MAAM,GAAG;oBAAE,MAAM,CAAC,EAAE,GAAG,CAAA;iBAAE,GAAG,SAAS,CAAC;aAC7C,CAAC;SACH,CAAC;KACH,CAAC;IACF,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjE,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAA8B,QAAQ,CAAC,GAAG,EAAE,WAAW,iBA6HtD;AAGD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -38,7 +38,10 @@ async function register(api) {
|
|
|
38
38
|
let a2aClient = null;
|
|
39
39
|
try {
|
|
40
40
|
// Load and validate configuration
|
|
41
|
-
const
|
|
41
|
+
const entries = api.config.plugins.entries || {};
|
|
42
|
+
const config = (0, config_1.loadConfig)(entries['openclaw-cascade-plugin']?.config ||
|
|
43
|
+
entries.cascade?.config ||
|
|
44
|
+
{});
|
|
42
45
|
console.log('Initializing Cascade plugin...');
|
|
43
46
|
console.log(`gRPC Endpoint: ${config.cascadeGrpcEndpoint}`);
|
|
44
47
|
// Initialize Python Manager
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAiCH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAiCH,2BA6HC;AA5JD,qDAAiD;AAgKxC,8FAhKA,8BAAa,OAgKA;AA/JtB,qDAAoD;AA+J5B,iGA/Jf,iCAAgB,OA+Je;AA9JxC,6CAAgD;AA8JN,iGA9JjC,6BAAgB,OA8JiC;AA7J1D,qCAAsC;AA6JsB,2FA7JnD,mBAAU,OA6JmD;AA5JtE,mCAAuC;AACvC,mCAMiB;AACjB,yDAAqD;AAmBtC,KAAK,UAAU,QAAQ,CAAC,GAAgB;IACrD,IAAI,SAAS,GAA4B,IAAI,CAAC;IAC9C,IAAI,SAAS,GAA4B,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAA,mBAAU,EACvB,OAAO,CAAC,yBAAyB,CAAC,EAAE,MAAM;YAC1C,OAAO,CAAC,OAAO,EAAE,MAAM;YACvB,EAAE,CACH,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE5D,4BAA4B;QAC5B,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;QAErC,wBAAwB;QACxB,SAAS,GAAG,IAAI,iCAAgB,CAAC,UAAU,EAAE;YAC3C,qBAAqB,EAAE,MAAM,CAAC,mBAAmB;YACjD,cAAc,EAAE,MAAM,CAAC,kBAAkB,IAAI,UAAU;YACvD,eAAe,EAAE,eAAe;YAChC,GAAG,CAAC,MAAM,CAAC,wBAAwB,IAAI;gBACrC,8BAA8B,EAAE,MAAM,CAAC,wBAAwB;aAChE,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,mCAAmC;QACnC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,6BAAgB,CAC9B,MAAM,CAAC,mBAAmB,EAC1B,eAAe,EACf,MAAM,CAAC,kBAAkB,IAAI,UAAU,EACvC,EAAE,CAAC,oCAAoC;aACxC,CAAC;YACF,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,uBAAuB;QACvB,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;QAExC,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,IAAA,4BAAoB,EAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,IAAA,wBAAgB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAA,wBAAgB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAA,4BAAoB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE9C,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,wBAAgB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,sBAAsB,CAAC,CAAC;QAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,GAAG,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,KAAK;YAC5C,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,UAAU;YACV,YAAY,EAAE,MAAM,CAAC,mBAAmB;YACxC,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC,CAAC;QAEJ,uBAAuB;QACvB,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAoB,EAAE,EAAE;YAChD,OAAO;iBACJ,OAAO,CAAC,gBAAgB,CAAC;iBACzB,WAAW,CAAC,6BAA6B,CAAC;iBAC1C,MAAM,CAAC,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEL,OAAO;iBACJ,OAAO,CAAC,eAAe,CAAC;iBACxB,WAAW,CAAC,2BAA2B,CAAC;iBACxC,MAAM,CAAC,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gDAAgD,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAE7D,mBAAmB;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,YAAY,oBAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,0CAAwB;AAExB,4EAA4E"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -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.
|
|
5
|
+
"version": "1.0.2",
|
|
6
6
|
"configSchema": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
package/package.json
CHANGED
package/src/config.ts
CHANGED
|
@@ -122,12 +122,13 @@ export function loadConfig(input: Partial<CascadePluginConfig>): CascadePluginCo
|
|
|
122
122
|
* Load configuration from OpenClaw API
|
|
123
123
|
*/
|
|
124
124
|
export function loadConfigFromOpenClaw(api: any): CascadePluginConfig {
|
|
125
|
-
const
|
|
125
|
+
const entries = api.config?.plugins?.entries || {};
|
|
126
|
+
const pluginConfig = entries['openclaw-cascade-plugin']?.config || entries.cascade?.config;
|
|
126
127
|
|
|
127
128
|
if (!pluginConfig) {
|
|
128
129
|
throw new Error(
|
|
129
130
|
'Cascade plugin configuration not found. ' +
|
|
130
|
-
'Please add cascade configuration to your OpenClaw config.'
|
|
131
|
+
'Please add openclaw-cascade-plugin configuration to your OpenClaw config.'
|
|
131
132
|
);
|
|
132
133
|
}
|
|
133
134
|
|
package/src/index.ts
CHANGED
|
@@ -24,9 +24,9 @@ interface OpenClawApi {
|
|
|
24
24
|
config: {
|
|
25
25
|
plugins: {
|
|
26
26
|
entries: {
|
|
27
|
-
cascade?: {
|
|
28
|
-
|
|
29
|
-
};
|
|
27
|
+
cascade?: { config?: any };
|
|
28
|
+
'openclaw-cascade-plugin'?: { config?: any };
|
|
29
|
+
[key: string]: { config?: any } | undefined;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
};
|
|
@@ -42,7 +42,12 @@ export default async function register(api: OpenClawApi) {
|
|
|
42
42
|
|
|
43
43
|
try {
|
|
44
44
|
// Load and validate configuration
|
|
45
|
-
const
|
|
45
|
+
const entries = api.config.plugins.entries || {};
|
|
46
|
+
const config = loadConfig(
|
|
47
|
+
entries['openclaw-cascade-plugin']?.config ||
|
|
48
|
+
entries.cascade?.config ||
|
|
49
|
+
{}
|
|
50
|
+
);
|
|
46
51
|
|
|
47
52
|
console.log('Initializing Cascade plugin...');
|
|
48
53
|
console.log(`gRPC Endpoint: ${config.cascadeGrpcEndpoint}`);
|
|
@@ -173,6 +173,9 @@ describe('Desktop Automation Tools', () => {
|
|
|
173
173
|
test('should save large screenshot to disk', async () => {
|
|
174
174
|
// Arrange
|
|
175
175
|
const largeImage = 'A'.repeat(5000000); // 5MB base64 = ~3.75MB actual
|
|
176
|
+
const diskRegistry = new ToolRegistry();
|
|
177
|
+
registerDesktopTools(diskRegistry, mockClient as any, { screenshotMode: 'disk' } as any);
|
|
178
|
+
|
|
176
179
|
mockClient.registerMockTool('get_screenshot', () => ({
|
|
177
180
|
image: largeImage,
|
|
178
181
|
format: 'PNG',
|
|
@@ -180,7 +183,7 @@ describe('Desktop Automation Tools', () => {
|
|
|
180
183
|
}));
|
|
181
184
|
|
|
182
185
|
// Act
|
|
183
|
-
const result = await
|
|
186
|
+
const result = await diskRegistry.call('cascade_get_screenshot', {});
|
|
184
187
|
|
|
185
188
|
// Assert
|
|
186
189
|
expect(result.content[0].type).toBe('text');
|