openclaw-plugin-fast-task 1.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.
Files changed (71) hide show
  1. package/README.md +95 -0
  2. package/dist/account/utils.d.ts +21 -0
  3. package/dist/account/utils.d.ts.map +1 -0
  4. package/dist/account/utils.js +92 -0
  5. package/dist/account/utils.js.map +1 -0
  6. package/dist/channel/channel_common.d.ts +12 -0
  7. package/dist/channel/channel_common.d.ts.map +1 -0
  8. package/dist/channel/channel_common.js +16 -0
  9. package/dist/channel/channel_common.js.map +1 -0
  10. package/dist/channel/channel_config.d.ts +4 -0
  11. package/dist/channel/channel_config.d.ts.map +1 -0
  12. package/dist/channel/channel_config.js +86 -0
  13. package/dist/channel/channel_config.js.map +1 -0
  14. package/dist/channel/channel_gateway.d.ts +4 -0
  15. package/dist/channel/channel_gateway.d.ts.map +1 -0
  16. package/dist/channel/channel_gateway.js +18 -0
  17. package/dist/channel/channel_gateway.js.map +1 -0
  18. package/dist/channel/channel_onboarding.d.ts +3 -0
  19. package/dist/channel/channel_onboarding.d.ts.map +1 -0
  20. package/dist/channel/channel_onboarding.js +70 -0
  21. package/dist/channel/channel_onboarding.js.map +1 -0
  22. package/dist/channel/channel_utils.d.ts +12 -0
  23. package/dist/channel/channel_utils.d.ts.map +1 -0
  24. package/dist/channel/channel_utils.js +20 -0
  25. package/dist/channel/channel_utils.js.map +1 -0
  26. package/dist/channel/index.d.ts +3 -0
  27. package/dist/channel/index.d.ts.map +1 -0
  28. package/dist/channel/index.js +5 -0
  29. package/dist/channel/index.js.map +1 -0
  30. package/dist/channel/plugin.d.ts +4 -0
  31. package/dist/channel/plugin.d.ts.map +1 -0
  32. package/dist/channel/plugin.js +72 -0
  33. package/dist/channel/plugin.js.map +1 -0
  34. package/dist/client/index.d.ts +2 -0
  35. package/dist/client/index.d.ts.map +1 -0
  36. package/dist/client/index.js +2 -0
  37. package/dist/client/index.js.map +1 -0
  38. package/dist/client/ws_client.d.ts +97 -0
  39. package/dist/client/ws_client.d.ts.map +1 -0
  40. package/dist/client/ws_client.js +450 -0
  41. package/dist/client/ws_client.js.map +1 -0
  42. package/dist/command/index.d.ts +3 -0
  43. package/dist/command/index.d.ts.map +1 -0
  44. package/dist/command/index.js +3 -0
  45. package/dist/command/index.js.map +1 -0
  46. package/dist/common.d.ts +5 -0
  47. package/dist/common.d.ts.map +1 -0
  48. package/dist/common.js +9 -0
  49. package/dist/common.js.map +1 -0
  50. package/dist/index.d.ts +24 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +33 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/runtime/index.d.ts +4 -0
  55. package/dist/runtime/index.d.ts.map +1 -0
  56. package/dist/runtime/index.js +4 -0
  57. package/dist/runtime/index.js.map +1 -0
  58. package/dist/types.d.ts +1 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +2 -0
  61. package/dist/types.js.map +1 -0
  62. package/dist/workspace/index.d.ts +5 -0
  63. package/dist/workspace/index.d.ts.map +1 -0
  64. package/dist/workspace/index.js +5 -0
  65. package/dist/workspace/index.js.map +1 -0
  66. package/dist/workspace/workspace.d.ts +73 -0
  67. package/dist/workspace/workspace.d.ts.map +1 -0
  68. package/dist/workspace/workspace.js +173 -0
  69. package/dist/workspace/workspace.js.map +1 -0
  70. package/openclaw.plugin.json +13 -0
  71. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,GAAG;IACb,GAAG,YAAY;IACf,QAAQ,CAAC,GAAqB;QAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PluginRuntime } from "openclaw/plugin-sdk";
2
+ declare const setRuntime: (next: PluginRuntime) => void, getRuntime: () => PluginRuntime;
3
+ export { setRuntime, getRuntime };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,QAAA,MAAQ,UAAU,iCAAE,UAAU,qBAAuE,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createPluginRuntimeStore } from "openclaw/plugin-sdk";
2
+ const { setRuntime, getRuntime } = createPluginRuntimeStore(`runtime not initialized`);
3
+ export { setRuntime, getRuntime };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAgB,yBAAyB,CAAC,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Workspace module exports
3
+ */
4
+ export * from './workspace';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Workspace module exports
3
+ */
4
+ export * from './workspace';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { OpenClawConfig } from "openclaw/plugin-sdk";
2
+ /**
3
+ * Workspace bootstrap file names
4
+ */
5
+ export declare const WORKSPACE_FILES: {
6
+ readonly AGENTS: "AGENTS.md";
7
+ readonly SOUL: "SOUL.md";
8
+ readonly TOOLS: "TOOLS.md";
9
+ readonly IDENTITY: "IDENTITY.md";
10
+ readonly USER: "USER.md";
11
+ readonly HEARTBEAT: "HEARTBEAT.md";
12
+ readonly BOOT: "BOOT.md";
13
+ readonly BOOTSTRAP: "BOOTSTRAP.md";
14
+ readonly MEMORY: "MEMORY.md";
15
+ };
16
+ export type WorkspaceFileName = typeof WORKSPACE_FILES[keyof typeof WORKSPACE_FILES];
17
+ /**
18
+ * Get agent info from config (similar to cmdAgentInfo)
19
+ */
20
+ export declare function getAgentInfo(config: OpenClawConfig, agentId: string): any;
21
+ /**
22
+ * Get workspace directory for a specific agent from config
23
+ * Falls back to defaults workspace, then to default path
24
+ */
25
+ export declare function getWorkspaceDir(config: OpenClawConfig, agentId?: string): string;
26
+ /**
27
+ * Resolve a workspace file path
28
+ */
29
+ export declare function resolveWorkspacePath(filename: WorkspaceFileName, config: OpenClawConfig, agentId?: string): string;
30
+ /**
31
+ * Read a workspace file
32
+ */
33
+ export declare function readWorkspaceFile(filename: WorkspaceFileName, config: OpenClawConfig, agentId?: string): Promise<{
34
+ content: string;
35
+ exists: boolean;
36
+ path: string;
37
+ }>;
38
+ /**
39
+ * Write to a workspace file (creates if not exists)
40
+ */
41
+ export declare function writeWorkspaceFile(filename: WorkspaceFileName, content: string, config: OpenClawConfig, agentId?: string): Promise<{
42
+ success: boolean;
43
+ path: string;
44
+ error?: string;
45
+ }>;
46
+ /**
47
+ * List all workspace bootstrap files with their existence status
48
+ * Only checks file existence, does not read content
49
+ */
50
+ export declare function listWorkspaceFiles(config: OpenClawConfig, agentId?: string): Promise<Array<{
51
+ name: WorkspaceFileName;
52
+ exists: boolean;
53
+ path: string;
54
+ }>>;
55
+ /**
56
+ * Read today's memory file (memory/YYYY-MM-DD.md)
57
+ */
58
+ export declare function readTodayMemory(config: OpenClawConfig, agentId?: string): Promise<{
59
+ content: string;
60
+ exists: boolean;
61
+ path: string;
62
+ filename: string;
63
+ }>;
64
+ /**
65
+ * Write to today's memory file
66
+ */
67
+ export declare function writeTodayMemory(content: string, config: OpenClawConfig, agentId?: string): Promise<{
68
+ success: boolean;
69
+ path: string;
70
+ error?: string;
71
+ filename: string;
72
+ }>;
73
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;CAUlB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAE,GAAG,CAuBxE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBhF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAKR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAW7D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB7D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAkB5E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAiBD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB/E"}
@@ -0,0 +1,173 @@
1
+ import { promises as fs } from "fs";
2
+ import { join } from "path";
3
+ /**
4
+ * Workspace bootstrap file names
5
+ */
6
+ export const WORKSPACE_FILES = {
7
+ AGENTS: "AGENTS.md",
8
+ SOUL: "SOUL.md",
9
+ TOOLS: "TOOLS.md",
10
+ IDENTITY: "IDENTITY.md",
11
+ USER: "USER.md",
12
+ HEARTBEAT: "HEARTBEAT.md",
13
+ BOOT: "BOOT.md",
14
+ BOOTSTRAP: "BOOTSTRAP.md",
15
+ MEMORY: "MEMORY.md",
16
+ };
17
+ /**
18
+ * Get agent info from config (similar to cmdAgentInfo)
19
+ */
20
+ export function getAgentInfo(config, agentId) {
21
+ const normalizedId = agentId === "defaults" ? "defaults" : agentId;
22
+ if (!config.agents) {
23
+ return null;
24
+ }
25
+ // Return defaults
26
+ if (normalizedId === "defaults") {
27
+ return config.agents.defaults;
28
+ }
29
+ // Search in agent list
30
+ if (config.agents.list) {
31
+ for (const agent of config.agents.list) {
32
+ if (agent.id === normalizedId) {
33
+ return agent;
34
+ }
35
+ }
36
+ }
37
+ // Fallback to defaults if specific agent not found
38
+ return config.agents.defaults;
39
+ }
40
+ /**
41
+ * Get workspace directory for a specific agent from config
42
+ * Falls back to defaults workspace, then to default path
43
+ */
44
+ export function getWorkspaceDir(config, agentId) {
45
+ // Try to get agent-specific workspace
46
+ if (agentId && agentId !== "defaults") {
47
+ const agentInfo = getAgentInfo(config, agentId);
48
+ if (agentInfo && typeof agentInfo === "object" && "workspace" in agentInfo) {
49
+ return agentInfo.workspace;
50
+ }
51
+ }
52
+ // Try defaults workspace
53
+ if (config.agents?.defaults?.workspace) {
54
+ return config.agents.defaults.workspace;
55
+ }
56
+ // Ultimate fallback
57
+ const env = process.env.OPENCLAW_PROFILE;
58
+ const profile = env && env !== "default" ? `-${env}` : "";
59
+ return process.env.OPENCLAW_WORKSPACE || `~/.openclaw/workspace${profile}`;
60
+ }
61
+ /**
62
+ * Resolve a workspace file path
63
+ */
64
+ export function resolveWorkspacePath(filename, config, agentId) {
65
+ const dir = getWorkspaceDir(config, agentId);
66
+ // Expand ~ to home directory
67
+ const expandedDir = dir.replace(/^~/, process.env.HOME || "");
68
+ return join(expandedDir, filename);
69
+ }
70
+ /**
71
+ * Read a workspace file
72
+ */
73
+ export async function readWorkspaceFile(filename, config, agentId) {
74
+ const path = resolveWorkspacePath(filename, config, agentId);
75
+ try {
76
+ const content = await fs.readFile(path, "utf-8");
77
+ return { content, exists: true, path };
78
+ }
79
+ catch (error) {
80
+ if (error.code === "ENOENT") {
81
+ return { content: "", exists: false, path };
82
+ }
83
+ throw error;
84
+ }
85
+ }
86
+ /**
87
+ * Write to a workspace file (creates if not exists)
88
+ */
89
+ export async function writeWorkspaceFile(filename, content, config, agentId) {
90
+ const path = resolveWorkspacePath(filename, config, agentId);
91
+ try {
92
+ // Ensure directory exists
93
+ const dir = getWorkspaceDir(config, agentId);
94
+ const expandedDir = dir.replace(/^~/, process.env.HOME || "");
95
+ await fs.mkdir(expandedDir, { recursive: true });
96
+ await fs.writeFile(path, content, "utf-8");
97
+ return { success: true, path };
98
+ }
99
+ catch (error) {
100
+ return {
101
+ success: false,
102
+ path,
103
+ error: error instanceof Error ? error.message : String(error),
104
+ };
105
+ }
106
+ }
107
+ /**
108
+ * List all workspace bootstrap files with their existence status
109
+ * Only checks file existence, does not read content
110
+ */
111
+ export async function listWorkspaceFiles(config, agentId) {
112
+ const entries = Object.values(WORKSPACE_FILES);
113
+ const dir = getWorkspaceDir(config, agentId);
114
+ const expandedDir = dir.replace(/^~/, process.env.HOME || "");
115
+ const results = await Promise.all(entries.map(async (name) => {
116
+ const path = join(expandedDir, name);
117
+ try {
118
+ // Only check if file exists, don't read content
119
+ await fs.access(path, fs.constants.F_OK);
120
+ return { name, exists: true, path };
121
+ }
122
+ catch {
123
+ return { name, exists: false, path };
124
+ }
125
+ }));
126
+ return results;
127
+ }
128
+ /**
129
+ * Read today's memory file (memory/YYYY-MM-DD.md)
130
+ */
131
+ export async function readTodayMemory(config, agentId) {
132
+ const date = new Date().toISOString().split("T")[0];
133
+ const filename = `memory/${date}.md`;
134
+ const dir = getWorkspaceDir(config, agentId);
135
+ const expandedDir = dir.replace(/^~/, process.env.HOME || "");
136
+ const path = join(expandedDir, filename);
137
+ try {
138
+ const content = await fs.readFile(path, "utf-8");
139
+ return { content, exists: true, path, filename };
140
+ }
141
+ catch (error) {
142
+ if (error.code === "ENOENT") {
143
+ return { content: "", exists: false, path, filename };
144
+ }
145
+ throw error;
146
+ }
147
+ }
148
+ /**
149
+ * Write to today's memory file
150
+ */
151
+ export async function writeTodayMemory(content, config, agentId) {
152
+ const date = new Date().toISOString().split("T")[0];
153
+ const filename = `memory/${date}.md`;
154
+ const dir = getWorkspaceDir(config, agentId);
155
+ const expandedDir = dir.replace(/^~/, process.env.HOME || "");
156
+ const path = join(expandedDir, filename);
157
+ try {
158
+ // Ensure memory directory exists
159
+ const memoryDir = join(expandedDir, "memory");
160
+ await fs.mkdir(memoryDir, { recursive: true });
161
+ await fs.writeFile(path, content, "utf-8");
162
+ return { success: true, path, filename };
163
+ }
164
+ catch (error) {
165
+ return {
166
+ success: false,
167
+ path,
168
+ filename,
169
+ error: error instanceof Error ? error.message : String(error),
170
+ };
171
+ }
172
+ }
173
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "fast_task",
3
+ "name": "fast_task_plugin",
4
+ "description": "快任务插件",
5
+ "channels":["fast_task"],
6
+ "version": "1.0.0",
7
+ "skills": ["./skills"],
8
+ "configSchema":{
9
+ "type": "object",
10
+ "additionalProperties": false,
11
+ "properties": {}
12
+ }
13
+ }
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "openclaw-plugin-fast-task",
3
+ "version": "1.0.0",
4
+ "description": "OpenClaw plugin for fast task management with WebSocket support and workspace file operations",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "openclaw.plugin.json",
17
+ "README.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "dev": "tsc --watch",
22
+ "clean": "rm -rf dist",
23
+ "prepublishOnly": "npm run clean && npm run build",
24
+ "prepack": "npm run build"
25
+ },
26
+ "keywords": [
27
+ "openclaw",
28
+ "openclaw-plugin",
29
+ "websocket",
30
+ "workspace",
31
+ "agent",
32
+ "ai"
33
+ ],
34
+ "author": "XPDD <1239694214@qq.com>",
35
+ "license": "MIT",
36
+ "repository": {
37
+ },
38
+ "bugs": {
39
+ },
40
+ "dependencies": {
41
+ "@mariozechner/pi-agent-core": "^0.61.0",
42
+ "@sinclair/typebox": "^0.34.0",
43
+ "lodash": "^4.17.23",
44
+ "ws": "^8.18.0",
45
+ "zod": "^4.3.6"
46
+ },
47
+ "devDependencies": {
48
+ "@types/lodash": "^4.17.24",
49
+ "@types/node": "^20.10.0",
50
+ "@types/ws": "^8.18.1",
51
+ "openclaw": "^2026.3.13",
52
+ "typescript": "^5.3.0"
53
+ },
54
+ "peerDependencies": {
55
+ "openclaw": "==2026.3.13"
56
+ },
57
+ "openclaw": {
58
+ "id": "fast_task",
59
+ "extensions": [
60
+ "./dist/index.js"
61
+ ]
62
+ }
63
+ }