openclaw-workflowskill 0.1.0 → 0.2.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/lib/adapters.ts +19 -1
- package/package.json +4 -5
package/lib/adapters.ts
CHANGED
|
@@ -8,7 +8,20 @@ import { readFileSync } from 'node:fs';
|
|
|
8
8
|
import { homedir } from 'node:os';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import type { LLMAdapter, ToolAdapter, ToolDescriptor, ToolResult } from 'workflowskill';
|
|
11
|
-
import { AnthropicLLMAdapter } from 'workflowskill';
|
|
11
|
+
import { AnthropicLLMAdapter, BuiltinToolAdapter } from 'workflowskill';
|
|
12
|
+
|
|
13
|
+
// Tools served locally by BuiltinToolAdapter (web.scrape, etc.)
|
|
14
|
+
// These bypass the gateway and run in-process.
|
|
15
|
+
const BUILTIN_TOOL_NAMES = new Set(['web.scrape']);
|
|
16
|
+
|
|
17
|
+
// Lazy singleton — BuiltinToolAdapter.create() is async so we initialize on first use.
|
|
18
|
+
let _builtinToolsPromise: Promise<BuiltinToolAdapter> | null = null;
|
|
19
|
+
function getBuiltinTools(): Promise<BuiltinToolAdapter> {
|
|
20
|
+
if (!_builtinToolsPromise) {
|
|
21
|
+
_builtinToolsPromise = BuiltinToolAdapter.create();
|
|
22
|
+
}
|
|
23
|
+
return _builtinToolsPromise as Promise<BuiltinToolAdapter>;
|
|
24
|
+
}
|
|
12
25
|
|
|
13
26
|
export interface GatewayConfig {
|
|
14
27
|
baseUrl: string;
|
|
@@ -153,6 +166,7 @@ export function createAdapters(gatewayConfig: GatewayConfig): AdapterSet {
|
|
|
153
166
|
const toolAdapter: ToolAdapter = {
|
|
154
167
|
has(toolName: string): boolean {
|
|
155
168
|
if (toolName === LLM_COMPLETE) return true;
|
|
169
|
+
if (BUILTIN_TOOL_NAMES.has(toolName)) return true;
|
|
156
170
|
return hostTools.has(toolName);
|
|
157
171
|
},
|
|
158
172
|
async invoke(toolName: string, args: Record<string, unknown>): Promise<ToolResult> {
|
|
@@ -163,6 +177,10 @@ export function createAdapters(gatewayConfig: GatewayConfig): AdapterSet {
|
|
|
163
177
|
);
|
|
164
178
|
return { output: { text: result.text } };
|
|
165
179
|
}
|
|
180
|
+
if (BUILTIN_TOOL_NAMES.has(toolName)) {
|
|
181
|
+
const builtinTools = await getBuiltinTools();
|
|
182
|
+
return builtinTools.invoke(toolName, args);
|
|
183
|
+
}
|
|
166
184
|
return hostTools.invoke(toolName, args);
|
|
167
185
|
},
|
|
168
186
|
list(): ToolDescriptor[] {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openclaw-workflowskill",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "WorkflowSkill plugin for OpenClaw — author, validate, run, and review YAML workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -34,14 +34,13 @@
|
|
|
34
34
|
"./index.ts"
|
|
35
35
|
]
|
|
36
36
|
},
|
|
37
|
-
"
|
|
38
|
-
"workflowskill": "
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"workflowskill": "^0.2.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^25.3.0",
|
|
42
42
|
"tsx": "^4.21.0",
|
|
43
|
-
"typescript": "^5.9.3"
|
|
44
|
-
"workflowskill": "^0.1.0"
|
|
43
|
+
"typescript": "^5.9.3"
|
|
45
44
|
},
|
|
46
45
|
"scripts": {
|
|
47
46
|
"typecheck": "tsc --noEmit --project tsconfig.json",
|