workerclaw 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.
Files changed (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/dist/active-behavior/behavior-scheduler.d.ts +119 -0
  4. package/dist/active-behavior/behavior-scheduler.d.ts.map +1 -0
  5. package/dist/active-behavior/behavior-scheduler.js +297 -0
  6. package/dist/active-behavior/behavior-scheduler.js.map +1 -0
  7. package/dist/active-behavior/frequency-control.d.ts +72 -0
  8. package/dist/active-behavior/frequency-control.d.ts.map +1 -0
  9. package/dist/active-behavior/frequency-control.js +206 -0
  10. package/dist/active-behavior/frequency-control.js.map +1 -0
  11. package/dist/active-behavior/index.d.ts +8 -0
  12. package/dist/active-behavior/index.d.ts.map +1 -0
  13. package/dist/active-behavior/index.js +6 -0
  14. package/dist/active-behavior/index.js.map +1 -0
  15. package/dist/agent/agent-engine.d.ts +122 -0
  16. package/dist/agent/agent-engine.d.ts.map +1 -0
  17. package/dist/agent/agent-engine.js +380 -0
  18. package/dist/agent/agent-engine.js.map +1 -0
  19. package/dist/agent/context-window.d.ts +69 -0
  20. package/dist/agent/context-window.d.ts.map +1 -0
  21. package/dist/agent/context-window.js +210 -0
  22. package/dist/agent/context-window.js.map +1 -0
  23. package/dist/agent/llm-client.d.ts +37 -0
  24. package/dist/agent/llm-client.d.ts.map +1 -0
  25. package/dist/agent/llm-client.js +155 -0
  26. package/dist/agent/llm-client.js.map +1 -0
  27. package/dist/agent/personality.d.ts +71 -0
  28. package/dist/agent/personality.d.ts.map +1 -0
  29. package/dist/agent/personality.js +147 -0
  30. package/dist/agent/personality.js.map +1 -0
  31. package/dist/agent/session-manager.d.ts +111 -0
  32. package/dist/agent/session-manager.d.ts.map +1 -0
  33. package/dist/agent/session-manager.js +205 -0
  34. package/dist/agent/session-manager.js.map +1 -0
  35. package/dist/agent/tool-executor.d.ts +34 -0
  36. package/dist/agent/tool-executor.d.ts.map +1 -0
  37. package/dist/agent/tool-executor.js +145 -0
  38. package/dist/agent/tool-executor.js.map +1 -0
  39. package/dist/agent/tool-registry.d.ts +67 -0
  40. package/dist/agent/tool-registry.d.ts.map +1 -0
  41. package/dist/agent/tool-registry.js +272 -0
  42. package/dist/agent/tool-registry.js.map +1 -0
  43. package/dist/cli/configure.d.ts +16 -0
  44. package/dist/cli/configure.d.ts.map +1 -0
  45. package/dist/cli/configure.js +212 -0
  46. package/dist/cli/configure.js.map +1 -0
  47. package/dist/cli/index.d.ts +17 -0
  48. package/dist/cli/index.d.ts.map +1 -0
  49. package/dist/cli/index.js +256 -0
  50. package/dist/cli/index.js.map +1 -0
  51. package/dist/cli/prompter.d.ts +59 -0
  52. package/dist/cli/prompter.d.ts.map +1 -0
  53. package/dist/cli/prompter.js +120 -0
  54. package/dist/cli/prompter.js.map +1 -0
  55. package/dist/cli/sections/index.d.ts +9 -0
  56. package/dist/cli/sections/index.d.ts.map +1 -0
  57. package/dist/cli/sections/index.js +9 -0
  58. package/dist/cli/sections/index.js.map +1 -0
  59. package/dist/cli/sections/llm.d.ts +14 -0
  60. package/dist/cli/sections/llm.d.ts.map +1 -0
  61. package/dist/cli/sections/llm.js +155 -0
  62. package/dist/cli/sections/llm.js.map +1 -0
  63. package/dist/cli/sections/personality.d.ts +14 -0
  64. package/dist/cli/sections/personality.d.ts.map +1 -0
  65. package/dist/cli/sections/personality.js +90 -0
  66. package/dist/cli/sections/personality.js.map +1 -0
  67. package/dist/cli/sections/platform.d.ts +14 -0
  68. package/dist/cli/sections/platform.d.ts.map +1 -0
  69. package/dist/cli/sections/platform.js +179 -0
  70. package/dist/cli/sections/platform.js.map +1 -0
  71. package/dist/cli/sections/security.d.ts +14 -0
  72. package/dist/cli/sections/security.d.ts.map +1 -0
  73. package/dist/cli/sections/security.js +106 -0
  74. package/dist/cli/sections/security.js.map +1 -0
  75. package/dist/cli/sections/skills.d.ts +10 -0
  76. package/dist/cli/sections/skills.d.ts.map +1 -0
  77. package/dist/cli/sections/skills.js +149 -0
  78. package/dist/cli/sections/skills.js.map +1 -0
  79. package/dist/cli.d.ts +8 -0
  80. package/dist/cli.d.ts.map +1 -0
  81. package/dist/cli.js +116 -0
  82. package/dist/cli.js.map +1 -0
  83. package/dist/core/config.d.ts +175 -0
  84. package/dist/core/config.d.ts.map +1 -0
  85. package/dist/core/config.js +109 -0
  86. package/dist/core/config.js.map +1 -0
  87. package/dist/core/events.d.ts +211 -0
  88. package/dist/core/events.d.ts.map +1 -0
  89. package/dist/core/events.js +152 -0
  90. package/dist/core/events.js.map +1 -0
  91. package/dist/core/logger.d.ts +23 -0
  92. package/dist/core/logger.d.ts.map +1 -0
  93. package/dist/core/logger.js +53 -0
  94. package/dist/core/logger.js.map +1 -0
  95. package/dist/core/workerclaw.d.ts +83 -0
  96. package/dist/core/workerclaw.d.ts.map +1 -0
  97. package/dist/core/workerclaw.js +161 -0
  98. package/dist/core/workerclaw.js.map +1 -0
  99. package/dist/index.d.ts +27 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +21 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/ingress/message-parser.d.ts +36 -0
  104. package/dist/ingress/message-parser.d.ts.map +1 -0
  105. package/dist/ingress/message-parser.js +107 -0
  106. package/dist/ingress/message-parser.js.map +1 -0
  107. package/dist/ingress/miniabc-client.d.ts +109 -0
  108. package/dist/ingress/miniabc-client.d.ts.map +1 -0
  109. package/dist/ingress/miniabc-client.js +345 -0
  110. package/dist/ingress/miniabc-client.js.map +1 -0
  111. package/dist/ingress/platform-api.d.ts +82 -0
  112. package/dist/ingress/platform-api.d.ts.map +1 -0
  113. package/dist/ingress/platform-api.js +209 -0
  114. package/dist/ingress/platform-api.js.map +1 -0
  115. package/dist/sandbox/command-sandbox.d.ts +46 -0
  116. package/dist/sandbox/command-sandbox.d.ts.map +1 -0
  117. package/dist/sandbox/command-sandbox.js +144 -0
  118. package/dist/sandbox/command-sandbox.js.map +1 -0
  119. package/dist/sandbox/fs-sandbox.d.ts +56 -0
  120. package/dist/sandbox/fs-sandbox.d.ts.map +1 -0
  121. package/dist/sandbox/fs-sandbox.js +119 -0
  122. package/dist/sandbox/fs-sandbox.js.map +1 -0
  123. package/dist/sandbox/network-sandbox.d.ts +41 -0
  124. package/dist/sandbox/network-sandbox.d.ts.map +1 -0
  125. package/dist/sandbox/network-sandbox.js +114 -0
  126. package/dist/sandbox/network-sandbox.js.map +1 -0
  127. package/dist/security/content-scanner.d.ts +59 -0
  128. package/dist/security/content-scanner.d.ts.map +1 -0
  129. package/dist/security/content-scanner.js +289 -0
  130. package/dist/security/content-scanner.js.map +1 -0
  131. package/dist/security/gate.d.ts +78 -0
  132. package/dist/security/gate.d.ts.map +1 -0
  133. package/dist/security/gate.js +150 -0
  134. package/dist/security/gate.js.map +1 -0
  135. package/dist/security/permission-level.d.ts +68 -0
  136. package/dist/security/permission-level.d.ts.map +1 -0
  137. package/dist/security/permission-level.js +191 -0
  138. package/dist/security/permission-level.js.map +1 -0
  139. package/dist/security/rate-limiter.d.ts +52 -0
  140. package/dist/security/rate-limiter.d.ts.map +1 -0
  141. package/dist/security/rate-limiter.js +133 -0
  142. package/dist/security/rate-limiter.js.map +1 -0
  143. package/dist/security/source-verifier.d.ts +33 -0
  144. package/dist/security/source-verifier.d.ts.map +1 -0
  145. package/dist/security/source-verifier.js +106 -0
  146. package/dist/security/source-verifier.js.map +1 -0
  147. package/dist/skills/builtin/code.d.ts +27 -0
  148. package/dist/skills/builtin/code.d.ts.map +1 -0
  149. package/dist/skills/builtin/code.js +132 -0
  150. package/dist/skills/builtin/code.js.map +1 -0
  151. package/dist/skills/builtin/index.d.ts +12 -0
  152. package/dist/skills/builtin/index.d.ts.map +1 -0
  153. package/dist/skills/builtin/index.js +16 -0
  154. package/dist/skills/builtin/index.js.map +1 -0
  155. package/dist/skills/builtin/search.d.ts +27 -0
  156. package/dist/skills/builtin/search.d.ts.map +1 -0
  157. package/dist/skills/builtin/search.js +105 -0
  158. package/dist/skills/builtin/search.js.map +1 -0
  159. package/dist/skills/builtin/writing.d.ts +22 -0
  160. package/dist/skills/builtin/writing.d.ts.map +1 -0
  161. package/dist/skills/builtin/writing.js +93 -0
  162. package/dist/skills/builtin/writing.js.map +1 -0
  163. package/dist/skills/index.d.ts +11 -0
  164. package/dist/skills/index.d.ts.map +1 -0
  165. package/dist/skills/index.js +10 -0
  166. package/dist/skills/index.js.map +1 -0
  167. package/dist/skills/pack-loader.d.ts +31 -0
  168. package/dist/skills/pack-loader.d.ts.map +1 -0
  169. package/dist/skills/pack-loader.js +167 -0
  170. package/dist/skills/pack-loader.js.map +1 -0
  171. package/dist/skills/pack-registry.d.ts +40 -0
  172. package/dist/skills/pack-registry.d.ts.map +1 -0
  173. package/dist/skills/pack-registry.js +80 -0
  174. package/dist/skills/pack-registry.js.map +1 -0
  175. package/dist/skills/pack-types.d.ts +64 -0
  176. package/dist/skills/pack-types.d.ts.map +1 -0
  177. package/dist/skills/pack-types.js +7 -0
  178. package/dist/skills/pack-types.js.map +1 -0
  179. package/dist/skills/skill-registry.d.ts +83 -0
  180. package/dist/skills/skill-registry.d.ts.map +1 -0
  181. package/dist/skills/skill-registry.js +206 -0
  182. package/dist/skills/skill-registry.js.map +1 -0
  183. package/dist/skills/skill-runner.d.ts +49 -0
  184. package/dist/skills/skill-runner.d.ts.map +1 -0
  185. package/dist/skills/skill-runner.js +128 -0
  186. package/dist/skills/skill-runner.js.map +1 -0
  187. package/dist/skills/types.d.ts +94 -0
  188. package/dist/skills/types.d.ts.map +1 -0
  189. package/dist/skills/types.js +7 -0
  190. package/dist/skills/types.js.map +1 -0
  191. package/dist/task/concurrency.d.ts +87 -0
  192. package/dist/task/concurrency.d.ts.map +1 -0
  193. package/dist/task/concurrency.js +269 -0
  194. package/dist/task/concurrency.js.map +1 -0
  195. package/dist/task/task-evaluator.d.ts +52 -0
  196. package/dist/task/task-evaluator.d.ts.map +1 -0
  197. package/dist/task/task-evaluator.js +141 -0
  198. package/dist/task/task-evaluator.js.map +1 -0
  199. package/dist/task/task-manager.d.ts +112 -0
  200. package/dist/task/task-manager.d.ts.map +1 -0
  201. package/dist/task/task-manager.js +382 -0
  202. package/dist/task/task-manager.js.map +1 -0
  203. package/dist/task/task-state-machine.d.ts +63 -0
  204. package/dist/task/task-state-machine.d.ts.map +1 -0
  205. package/dist/task/task-state-machine.js +149 -0
  206. package/dist/task/task-state-machine.js.map +1 -0
  207. package/dist/types/agent.d.ts +79 -0
  208. package/dist/types/agent.d.ts.map +1 -0
  209. package/dist/types/agent.js +7 -0
  210. package/dist/types/agent.js.map +1 -0
  211. package/dist/types/index.d.ts +7 -0
  212. package/dist/types/index.d.ts.map +1 -0
  213. package/dist/types/index.js +5 -0
  214. package/dist/types/index.js.map +1 -0
  215. package/dist/types/message.d.ts +87 -0
  216. package/dist/types/message.d.ts.map +1 -0
  217. package/dist/types/message.js +30 -0
  218. package/dist/types/message.js.map +1 -0
  219. package/dist/types/task.d.ts +176 -0
  220. package/dist/types/task.d.ts.map +1 -0
  221. package/dist/types/task.js +5 -0
  222. package/dist/types/task.js.map +1 -0
  223. package/package.json +57 -0
  224. package/workerclaw.config.example.json +78 -0
@@ -0,0 +1,152 @@
1
+ /**
2
+ * WorkerClaw 事件总线
3
+ *
4
+ * 模块间松耦合通信的核心机制
5
+ */
6
+ import { createLogger } from './logger.js';
7
+ // ==================== 事件类型 ====================
8
+ export var WorkerClawEvent;
9
+ (function (WorkerClawEvent) {
10
+ // 生命周期
11
+ WorkerClawEvent["STARTING"] = "workerclaw:starting";
12
+ WorkerClawEvent["READY"] = "workerclaw:ready";
13
+ WorkerClawEvent["SHUTTING_DOWN"] = "workerclaw:shutting_down";
14
+ WorkerClawEvent["SHUTDOWN"] = "workerclaw:shutdown";
15
+ // 连接
16
+ WorkerClawEvent["WS_CONNECTING"] = "ws:connecting";
17
+ WorkerClawEvent["WS_CONNECTED"] = "ws:connected";
18
+ WorkerClawEvent["WS_DISCONNECTED"] = "ws:disconnected";
19
+ WorkerClawEvent["WS_RECONNECTING"] = "ws:reconnecting";
20
+ WorkerClawEvent["WS_ERROR"] = "ws:error";
21
+ // 安全
22
+ WorkerClawEvent["SECURITY_BLOCKED"] = "security:blocked";
23
+ WorkerClawEvent["SECURITY_WARNED"] = "security:warned";
24
+ // 任务
25
+ WorkerClawEvent["TASK_RECEIVED"] = "task:received";
26
+ WorkerClawEvent["TASK_EVALUATED"] = "task:evaluated";
27
+ WorkerClawEvent["TASK_ACCEPTED"] = "task:accepted";
28
+ WorkerClawEvent["TASK_REJECTED"] = "task:rejected";
29
+ WorkerClawEvent["TASK_STARTED"] = "task:started";
30
+ WorkerClawEvent["TASK_PROGRESS"] = "task:progress";
31
+ WorkerClawEvent["TASK_COMPLETED"] = "task:completed";
32
+ WorkerClawEvent["TASK_FAILED"] = "task:failed";
33
+ WorkerClawEvent["TASK_TIMEOUT"] = "task:timeout";
34
+ WorkerClawEvent["TASK_CANCELLED"] = "task:cancelled";
35
+ WorkerClawEvent["TASK_DEFERRED"] = "task:deferred";
36
+ WorkerClawEvent["TASK_QUEUED"] = "task:queued";
37
+ WorkerClawEvent["TASK_DEQUEUED"] = "task:dequeued";
38
+ WorkerClawEvent["TASK_STATE_CHANGED"] = "task:state_changed";
39
+ // 工具
40
+ WorkerClawEvent["TOOL_CALLED"] = "tool:called";
41
+ WorkerClawEvent["TOOL_COMPLETED"] = "tool:completed";
42
+ WorkerClawEvent["TOOL_BLOCKED"] = "tool:blocked";
43
+ // 并发
44
+ WorkerClawEvent["CONCURRENCY_LIMIT"] = "concurrency:limit";
45
+ WorkerClawEvent["QUEUE_FULL"] = "queue:full";
46
+ // 平台 API
47
+ WorkerClawEvent["API_REPORT"] = "api:report";
48
+ WorkerClawEvent["API_ERROR"] = "api:error";
49
+ // LLM
50
+ WorkerClawEvent["LLM_REQUEST"] = "llm:request";
51
+ WorkerClawEvent["LLM_RESPONSE"] = "llm:response";
52
+ WorkerClawEvent["LLM_ERROR"] = "llm:error";
53
+ })(WorkerClawEvent || (WorkerClawEvent = {}));
54
+ // ==================== 事件总线 ====================
55
+ export class EventBus {
56
+ logger = createLogger('EventBus');
57
+ handlers = new Map();
58
+ onceHandlers = new Map();
59
+ maxListeners = 50;
60
+ /**
61
+ * 注册事件监听器
62
+ */
63
+ on(event, handler) {
64
+ if (!this.handlers.has(event)) {
65
+ this.handlers.set(event, new Set());
66
+ }
67
+ const set = this.handlers.get(event);
68
+ if (set.size >= this.maxListeners) {
69
+ this.logger.warn(`Event "${String(event)}" 已达到最大监听器数量 ${this.maxListeners}`);
70
+ }
71
+ set.add(handler);
72
+ }
73
+ /**
74
+ * 注册一次性事件监听器
75
+ */
76
+ once(event, handler) {
77
+ if (!this.onceHandlers.has(event)) {
78
+ this.onceHandlers.set(event, new Set());
79
+ }
80
+ this.onceHandlers.get(event).add(handler);
81
+ }
82
+ /**
83
+ * 移除事件监听器
84
+ */
85
+ off(event, handler) {
86
+ this.handlers.get(event)?.delete(handler);
87
+ this.onceHandlers.get(event)?.delete(handler);
88
+ }
89
+ /**
90
+ * 触发事件
91
+ */
92
+ async emit(event, data) {
93
+ this.logger.debug(`Event: ${String(event)}`, data);
94
+ // 常规处理器
95
+ const handlers = this.handlers.get(event);
96
+ if (handlers) {
97
+ for (const handler of handlers) {
98
+ try {
99
+ await handler(data);
100
+ }
101
+ catch (err) {
102
+ this.logger.error(`Event handler error for "${String(event)}"`, err);
103
+ }
104
+ }
105
+ }
106
+ // 一次性处理器
107
+ const onceSet = this.onceHandlers.get(event);
108
+ if (onceSet) {
109
+ for (const handler of onceSet) {
110
+ try {
111
+ await handler(data);
112
+ }
113
+ catch (err) {
114
+ this.logger.error(`Once handler error for "${String(event)}"`, err);
115
+ }
116
+ }
117
+ onceSet.clear();
118
+ }
119
+ }
120
+ /**
121
+ * 等待事件触发(Promise 化)
122
+ */
123
+ waitFor(event, timeoutMs = 30000) {
124
+ return new Promise((resolve, reject) => {
125
+ const timer = setTimeout(() => {
126
+ this.off(event, handler);
127
+ reject(new Error(`Timeout waiting for event "${String(event)}" after ${timeoutMs}ms`));
128
+ }, timeoutMs);
129
+ const handler = (data) => {
130
+ clearTimeout(timer);
131
+ resolve(data);
132
+ };
133
+ this.once(event, handler);
134
+ });
135
+ }
136
+ /**
137
+ * 清除所有监听器
138
+ */
139
+ removeAllListeners(event) {
140
+ if (event) {
141
+ this.handlers.delete(event);
142
+ this.onceHandlers.delete(event);
143
+ }
144
+ else {
145
+ this.handlers.clear();
146
+ this.onceHandlers.clear();
147
+ }
148
+ }
149
+ }
150
+ /** 全局事件总线单例 */
151
+ export const eventBus = new EventBus();
152
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * WorkerClaw 结构化日志
3
+ */
4
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
5
+ export interface LogEntry {
6
+ timestamp: string;
7
+ level: LogLevel;
8
+ module: string;
9
+ message: string;
10
+ data?: any;
11
+ }
12
+ export declare class Logger {
13
+ private module;
14
+ constructor(module: string);
15
+ private log;
16
+ debug(message: string, data?: any): void;
17
+ info(message: string, data?: any): void;
18
+ warn(message: string, data?: any): void;
19
+ error(message: string, data?: any): void;
20
+ }
21
+ /** 创建模块日志 */
22
+ export declare function createLogger(module: string): Logger;
23
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B,OAAO,CAAC,GAAG;IA+BX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIxC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAGzC;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * WorkerClaw 结构化日志
3
+ */
4
+ export class Logger {
5
+ module;
6
+ constructor(module) {
7
+ this.module = module;
8
+ }
9
+ log(level, message, data) {
10
+ const entry = {
11
+ timestamp: new Date().toISOString(),
12
+ level,
13
+ module: this.module,
14
+ message,
15
+ ...(data !== undefined && { data }),
16
+ };
17
+ const prefix = `[${entry.timestamp}] [${level.toUpperCase()}] [${this.module}]`;
18
+ switch (level) {
19
+ case 'debug':
20
+ if (process.env.NODE_ENV !== 'production') {
21
+ console.debug(prefix, message, data !== undefined ? data : '');
22
+ }
23
+ break;
24
+ case 'info':
25
+ console.info(prefix, message, data !== undefined ? data : '');
26
+ break;
27
+ case 'warn':
28
+ console.warn(prefix, message, data !== undefined ? data : '');
29
+ break;
30
+ case 'error':
31
+ console.error(prefix, message, data !== undefined ? data : '');
32
+ break;
33
+ }
34
+ // TODO: 写入日志文件(Phase 2)
35
+ }
36
+ debug(message, data) {
37
+ this.log('debug', message, data);
38
+ }
39
+ info(message, data) {
40
+ this.log('info', message, data);
41
+ }
42
+ warn(message, data) {
43
+ this.log('warn', message, data);
44
+ }
45
+ error(message, data) {
46
+ this.log('error', message, data);
47
+ }
48
+ }
49
+ /** 创建模块日志 */
50
+ export function createLogger(module) {
51
+ return new Logger(module);
52
+ }
53
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,OAAO,MAAM;IACT,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,IAAU;QACtD,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;YACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;SACpC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC;QAEhF,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/D,MAAM;QACV,CAAC;QAED,wBAAwB;IAC1B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;CACF;AAED,aAAa;AACb,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * WorkerClaw - 公域 AI Agent 框架 (Phase 4 完整版)
3
+ *
4
+ * 核心设计哲学: "Trust the Platform, Verify Everything Else"
5
+ */
6
+ import { EventBus } from './events.js';
7
+ import { TaskManager } from '../task/task-manager.js';
8
+ import { type BehaviorCallbacks } from '../active-behavior/index.js';
9
+ import type { WorkerClawConfig } from './config.js';
10
+ export declare class WorkerClaw {
11
+ private logger;
12
+ private config;
13
+ private eventBus;
14
+ private wsClient;
15
+ private securityGate;
16
+ private taskManager;
17
+ private behaviorScheduler;
18
+ private isRunning;
19
+ constructor(config: WorkerClawConfig);
20
+ /**
21
+ * 启动 WorkerClaw
22
+ */
23
+ start(): Promise<void>;
24
+ /**
25
+ * 停止 WorkerClaw
26
+ */
27
+ stop(): Promise<void>;
28
+ /**
29
+ * 设置行为回调
30
+ */
31
+ setBehaviorCallbacks(callbacks: BehaviorCallbacks): void;
32
+ /**
33
+ * 获取运行状态
34
+ */
35
+ getStatus(): {
36
+ isRunning: boolean;
37
+ connected: boolean;
38
+ botId: string | null;
39
+ tasks: {
40
+ runningTasks: number;
41
+ queuedTasks: number;
42
+ taskIds: string[];
43
+ stateStats: Record<string, number>;
44
+ concurrencyStats: ReturnType<import("../task/concurrency.js").ConcurrencyController["getStats"]>;
45
+ };
46
+ security: {
47
+ runningTasks: number;
48
+ maxConcurrent: number;
49
+ };
50
+ sessions: {
51
+ totalSessions: number;
52
+ activeSessions: number;
53
+ completedSessions: number;
54
+ totalTokensUsed: number;
55
+ };
56
+ skills: {
57
+ total: number;
58
+ byState: Record<import("../skills/types.js").SkillState, number>;
59
+ byLevel: Record<import("../types/agent.js").PermissionLevel, number>;
60
+ };
61
+ behavior: {
62
+ isRunning: boolean;
63
+ frequencyStats: {
64
+ today: Record<import("../active-behavior/frequency-control.js").BehaviorType, number>;
65
+ totalToday: number;
66
+ dailyLimit: number;
67
+ };
68
+ };
69
+ };
70
+ /**
71
+ * 获取事件总线
72
+ */
73
+ getEventBus(): EventBus;
74
+ /**
75
+ * 获取任务管理器
76
+ */
77
+ getTaskManager(): TaskManager;
78
+ }
79
+ /**
80
+ * 创建 WorkerClaw 实例
81
+ */
82
+ export declare function createWorkerClaw(config: WorkerClawConfig): WorkerClaw;
83
+ //# sourceMappingURL=workerclaw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerclaw.d.ts","sourceRoot":"","sources":["../../src/core/workerclaw.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,gBAAgB;IAqDpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIxD;;OAEG;IACH,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaT;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,cAAc,IAAI,WAAW;CAG9B;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAErE"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * WorkerClaw - 公域 AI Agent 框架 (Phase 4 完整版)
3
+ *
4
+ * 核心设计哲学: "Trust the Platform, Verify Everything Else"
5
+ */
6
+ import { createLogger } from './logger.js';
7
+ import { EventBus, WorkerClawEvent } from './events.js';
8
+ import { MiniABCClient } from '../ingress/miniabc-client.js';
9
+ import { SecurityGate } from '../security/gate.js';
10
+ import { TaskManager } from '../task/task-manager.js';
11
+ import { BehaviorScheduler } from '../active-behavior/index.js';
12
+ import { getBuiltinSkills } from '../skills/index.js';
13
+ // ==================== WorkerClaw 主类 ====================
14
+ export class WorkerClaw {
15
+ logger;
16
+ config;
17
+ eventBus;
18
+ wsClient;
19
+ securityGate;
20
+ taskManager;
21
+ behaviorScheduler;
22
+ isRunning = false;
23
+ constructor(config) {
24
+ this.config = config;
25
+ this.eventBus = new EventBus();
26
+ this.logger = createLogger('WorkerClaw');
27
+ // 初始化各模块
28
+ this.wsClient = new MiniABCClient({
29
+ config: config.platform,
30
+ eventBus: this.eventBus,
31
+ });
32
+ this.securityGate = new SecurityGate({
33
+ rateLimit: config.security.rateLimit,
34
+ sourceVerify: {
35
+ validateTimestamp: true,
36
+ maxTimestampSkewMs: 5 * 60 * 1000,
37
+ },
38
+ contentScan: config.security.contentScan,
39
+ sandbox: config.security.sandbox,
40
+ }, this.eventBus);
41
+ this.taskManager = new TaskManager({
42
+ platform: config.platform,
43
+ llm: config.llm,
44
+ security: config.security,
45
+ task: config.task,
46
+ personality: config.personality,
47
+ }, this.eventBus, this.securityGate);
48
+ // Phase 4: 行为调度器
49
+ this.behaviorScheduler = new BehaviorScheduler({
50
+ enabled: config.activeBehavior?.enabled ?? true,
51
+ checkIntervalMs: config.activeBehavior?.checkIntervalMs ?? 5 * 60 * 1000,
52
+ minIdleTimeMs: config.activeBehavior?.minIdleTimeMs ?? 10 * 60 * 1000,
53
+ frequency: config.activeBehavior ? {} : {},
54
+ weights: config.activeBehavior?.weights ?? {
55
+ tweet: 15, browse: 35, comment: 20, like: 30,
56
+ },
57
+ }, this.taskManager.getAgentEngine().getPersonality(), config.llm, this.eventBus);
58
+ }
59
+ /**
60
+ * 启动 WorkerClaw
61
+ */
62
+ async start() {
63
+ if (this.isRunning) {
64
+ this.logger.warn('WorkerClaw 已在运行中');
65
+ return;
66
+ }
67
+ this.logger.info('🦐 WorkerClaw 正在启动...');
68
+ this.logger.info(` 名称: ${this.config.name}`);
69
+ this.logger.info(` 人格: ${this.config.personality.name}`);
70
+ this.logger.info(` LLM: ${this.config.llm.provider}/${this.config.llm.model}`);
71
+ this.logger.info(` 活跃行为: ${this.config.activeBehavior?.enabled ? '启用' : '禁用'}`);
72
+ this.eventBus.emit(WorkerClawEvent.STARTING, undefined);
73
+ try {
74
+ // Phase 4: 注册内置技能
75
+ const builtinSkills = getBuiltinSkills();
76
+ for (const skill of builtinSkills) {
77
+ this.taskManager.getAgentEngine().registerSkill(skill);
78
+ }
79
+ this.logger.info(`已注册 ${builtinSkills.length} 个内置技能`);
80
+ // 初始化技能
81
+ const { success, failed } = await this.taskManager.getAgentEngine().initializeSkills();
82
+ if (failed > 0) {
83
+ this.logger.warn(`${failed} 个技能初始化失败`);
84
+ }
85
+ // 注册消息处理器
86
+ this.wsClient.onMessage((msg) => {
87
+ this.taskManager.handleMessage(msg).catch((err) => {
88
+ this.logger.error('消息处理异常', err);
89
+ });
90
+ });
91
+ // 连接平台
92
+ await this.wsClient.connect();
93
+ this.isRunning = true;
94
+ // Phase 4: 启动行为调度器
95
+ this.behaviorScheduler.start();
96
+ this.logger.info('✅ WorkerClaw 已启动,等待任务...');
97
+ this.eventBus.emit(WorkerClawEvent.READY, undefined);
98
+ }
99
+ catch (err) {
100
+ this.logger.error('WorkerClaw 启动失败', err);
101
+ this.eventBus.emit(WorkerClawEvent.SHUTDOWN, undefined);
102
+ throw err;
103
+ }
104
+ }
105
+ /**
106
+ * 停止 WorkerClaw
107
+ */
108
+ async stop() {
109
+ if (!this.isRunning)
110
+ return;
111
+ this.logger.info('WorkerClaw 正在关闭...');
112
+ this.eventBus.emit(WorkerClawEvent.SHUTTING_DOWN, undefined);
113
+ // Phase 4: 停止行为调度器
114
+ this.behaviorScheduler.stop();
115
+ await this.wsClient.disconnect();
116
+ this.isRunning = false;
117
+ this.logger.info('WorkerClaw 已关闭');
118
+ this.eventBus.emit(WorkerClawEvent.SHUTDOWN, undefined);
119
+ }
120
+ /**
121
+ * 设置行为回调
122
+ */
123
+ setBehaviorCallbacks(callbacks) {
124
+ this.behaviorScheduler.setCallbacks(callbacks);
125
+ }
126
+ /**
127
+ * 获取运行状态
128
+ */
129
+ getStatus() {
130
+ return {
131
+ isRunning: this.isRunning,
132
+ connected: this.wsClient.connected,
133
+ botId: this.wsClient.getBotId,
134
+ tasks: this.taskManager.getStatus(),
135
+ security: this.securityGate.getRateLimitStatus(),
136
+ sessions: this.taskManager.getAgentEngine().getSessionStats(),
137
+ skills: this.taskManager.getAgentEngine().getSkillStats(),
138
+ behavior: this.behaviorScheduler.getStats(),
139
+ };
140
+ }
141
+ /**
142
+ * 获取事件总线
143
+ */
144
+ getEventBus() {
145
+ return this.eventBus;
146
+ }
147
+ /**
148
+ * 获取任务管理器
149
+ */
150
+ getTaskManager() {
151
+ return this.taskManager;
152
+ }
153
+ }
154
+ // ==================== 工厂函数 ====================
155
+ /**
156
+ * 创建 WorkerClaw 实例
157
+ */
158
+ export function createWorkerClaw(config) {
159
+ return new WorkerClaw(config);
160
+ }
161
+ //# sourceMappingURL=workerclaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerclaw.js","sourceRoot":"","sources":["../../src/core/workerclaw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * WorkerClaw - 公域 AI Agent 框架 (Phase 5)
3
+ *
4
+ * 核心设计哲学: "Trust the Platform, Verify Everything Else"
5
+ * - 信任平台推送,验证一切其他内容
6
+ */
7
+ export { createWorkerClaw, WorkerClaw } from './core/workerclaw.js';
8
+ export { type WorkerClawConfig, type PlatformConfig, type LLMConfig, type SecurityConfig, type ActiveBehaviorConfig } from './core/config.js';
9
+ export { type Task, type TaskStatus, type TaskExecutionContext, type TaskResult } from './types/index.js';
10
+ export { type PlatformMessage, WSMessageType } from './types/message.js';
11
+ export { type LLMMessage, type LLMResponse, type ToolDefinition, type ToolCall } from './types/agent.js';
12
+ export { EventBus, WorkerClawEvent } from './core/events.js';
13
+ export { Logger, createLogger } from './core/logger.js';
14
+ export { Personality } from './agent/personality.js';
15
+ export type { PersonalityConfig, SystemPromptParams } from './agent/personality.js';
16
+ export { ContextWindow } from './agent/context-window.js';
17
+ export type { ContextWindowConfig, ContextWindowStats } from './agent/context-window.js';
18
+ export { SessionManager } from './agent/session-manager.js';
19
+ export type { Session, SessionManagerConfig } from './agent/session-manager.js';
20
+ export { SkillRegistry, SkillRunner, getBuiltinSkills } from './skills/index.js';
21
+ export type { Skill, SkillMetadata, SkillContext, SkillResult } from './skills/index.js';
22
+ export { BehaviorScheduler, FrequencyController } from './active-behavior/index.js';
23
+ export type { BehaviorSchedulerConfig, BehaviorCallbacks, BehaviorResult, BehaviorType, FrequencyConfig } from './active-behavior/index.js';
24
+ export { SkillPackLoader, SkillPackRegistry } from './skills/index.js';
25
+ export type { SkillPack, SkillPackMeta, InstalledSkillPack } from './skills/index.js';
26
+ export { PlatformApiClient, type RegisterAgentParams, type RegisterAgentResult, type BotInfo } from './ingress/platform-api.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC9I,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjF,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpF,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG5I,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * WorkerClaw - 公域 AI Agent 框架 (Phase 5)
3
+ *
4
+ * 核心设计哲学: "Trust the Platform, Verify Everything Else"
5
+ * - 信任平台推送,验证一切其他内容
6
+ */
7
+ // Re-export all public APIs
8
+ export { createWorkerClaw, WorkerClaw } from './core/workerclaw.js';
9
+ export { WSMessageType } from './types/message.js';
10
+ export { EventBus, WorkerClawEvent } from './core/events.js';
11
+ export { Logger, createLogger } from './core/logger.js';
12
+ // Phase 4 exports
13
+ export { Personality } from './agent/personality.js';
14
+ export { ContextWindow } from './agent/context-window.js';
15
+ export { SessionManager } from './agent/session-manager.js';
16
+ export { SkillRegistry, SkillRunner, getBuiltinSkills } from './skills/index.js';
17
+ export { BehaviorScheduler, FrequencyController } from './active-behavior/index.js';
18
+ // Phase 5 exports
19
+ export { SkillPackLoader, SkillPackRegistry } from './skills/index.js';
20
+ export { PlatformApiClient } from './ingress/platform-api.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExD,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGpF,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAoE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 消息解析器
3
+ *
4
+ * 将平台原始消息转换为 WorkerClaw 内部使用的类型
5
+ */
6
+ import type { PlatformMessage } from '../types/message.js';
7
+ import type { Task } from '../types/task.js';
8
+ export interface ParsedMessage {
9
+ /** 原始消息 */
10
+ raw: PlatformMessage;
11
+ /** 消息类型(简化) */
12
+ category: 'task' | 'interaction' | 'system' | 'heartbeat' | 'unknown';
13
+ /** 解析后的任务(如果是任务消息) */
14
+ task?: Task;
15
+ }
16
+ export declare class MessageParser {
17
+ private logger;
18
+ /**
19
+ * 解析平台消息
20
+ */
21
+ parse(message: PlatformMessage): ParsedMessage;
22
+ /**
23
+ * 消息分类
24
+ */
25
+ private categorize;
26
+ /**
27
+ * 解析任务消息
28
+ */
29
+ private parseTask;
30
+ /**
31
+ * 标准化任务类型
32
+ */
33
+ private normalizeTaskType;
34
+ }
35
+ export declare const messageParser: MessageParser;
36
+ //# sourceMappingURL=message-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-parser.d.ts","sourceRoot":"","sources":["../../src/ingress/message-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,GAAG,EAAE,eAAe,CAAC;IACrB,eAAe;IACf,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IACtE,sBAAsB;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiC;IAE/C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa;IAW9C;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACH,OAAO,CAAC,SAAS;IA6BjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAwB1B;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}