mycohive-claw 4.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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/dist/circuit-breaker.d.ts +82 -0
  4. package/dist/circuit-breaker.d.ts.map +1 -0
  5. package/dist/circuit-breaker.js +214 -0
  6. package/dist/circuit-breaker.js.map +1 -0
  7. package/dist/context-tree.d.ts +94 -0
  8. package/dist/context-tree.d.ts.map +1 -0
  9. package/dist/context-tree.js +624 -0
  10. package/dist/context-tree.js.map +1 -0
  11. package/dist/event-bus.d.ts +174 -0
  12. package/dist/event-bus.d.ts.map +1 -0
  13. package/dist/event-bus.js +750 -0
  14. package/dist/event-bus.js.map +1 -0
  15. package/dist/i18n.d.ts +91 -0
  16. package/dist/i18n.d.ts.map +1 -0
  17. package/dist/i18n.js +150 -0
  18. package/dist/i18n.js.map +1 -0
  19. package/dist/index.d.ts +38 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +301 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/intent-analyzer.d.ts +119 -0
  24. package/dist/intent-analyzer.d.ts.map +1 -0
  25. package/dist/intent-analyzer.js +563 -0
  26. package/dist/intent-analyzer.js.map +1 -0
  27. package/dist/logger.d.ts +46 -0
  28. package/dist/logger.d.ts.map +1 -0
  29. package/dist/logger.js +126 -0
  30. package/dist/logger.js.map +1 -0
  31. package/dist/metrics.d.ts +98 -0
  32. package/dist/metrics.d.ts.map +1 -0
  33. package/dist/metrics.js +192 -0
  34. package/dist/metrics.js.map +1 -0
  35. package/dist/openclaw-api.d.ts +122 -0
  36. package/dist/openclaw-api.d.ts.map +1 -0
  37. package/dist/openclaw-api.js +8 -0
  38. package/dist/openclaw-api.js.map +1 -0
  39. package/dist/rate-limiter.d.ts +46 -0
  40. package/dist/rate-limiter.d.ts.map +1 -0
  41. package/dist/rate-limiter.js +134 -0
  42. package/dist/rate-limiter.js.map +1 -0
  43. package/dist/result-cache.d.ts +76 -0
  44. package/dist/result-cache.d.ts.map +1 -0
  45. package/dist/result-cache.js +158 -0
  46. package/dist/result-cache.js.map +1 -0
  47. package/dist/router.d.ts +90 -0
  48. package/dist/router.d.ts.map +1 -0
  49. package/dist/router.js +447 -0
  50. package/dist/router.js.map +1 -0
  51. package/dist/setup-entry.d.ts +18 -0
  52. package/dist/setup-entry.d.ts.map +1 -0
  53. package/dist/setup-entry.js +64 -0
  54. package/dist/setup-entry.js.map +1 -0
  55. package/dist/token-counter.d.ts +57 -0
  56. package/dist/token-counter.d.ts.map +1 -0
  57. package/dist/token-counter.js +125 -0
  58. package/dist/token-counter.js.map +1 -0
  59. package/dist/tool-handlers.d.ts +52 -0
  60. package/dist/tool-handlers.d.ts.map +1 -0
  61. package/dist/tool-handlers.js +317 -0
  62. package/dist/tool-handlers.js.map +1 -0
  63. package/dist/tools/mycohive-tools.d.ts +11 -0
  64. package/dist/tools/mycohive-tools.d.ts.map +1 -0
  65. package/dist/tools/mycohive-tools.js +160 -0
  66. package/dist/tools/mycohive-tools.js.map +1 -0
  67. package/dist/types.d.ts +58 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +57 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/workspace-loader.d.ts +67 -0
  72. package/dist/workspace-loader.d.ts.map +1 -0
  73. package/dist/workspace-loader.js +175 -0
  74. package/dist/workspace-loader.js.map +1 -0
  75. package/package.json +52 -0
  76. package/workspaces/api_dev/CONFIG.md +31 -0
  77. package/workspaces/api_dev/RULES.md +8 -0
  78. package/workspaces/api_dev/SKILL.md +69 -0
  79. package/workspaces/api_dev/SOUL.md +19 -0
  80. package/workspaces/architect/CONFIG.md +32 -0
  81. package/workspaces/architect/RULES.md +8 -0
  82. package/workspaces/architect/SKILL.md +63 -0
  83. package/workspaces/architect/SOUL.md +19 -0
  84. package/workspaces/backend_dev/CONFIG.md +42 -0
  85. package/workspaces/backend_dev/RULES.md +8 -0
  86. package/workspaces/backend_dev/SKILL.md +41 -0
  87. package/workspaces/backend_dev/SOUL.md +19 -0
  88. package/workspaces/browser/CONFIG.md +42 -0
  89. package/workspaces/browser/RULES.md +8 -0
  90. package/workspaces/browser/SKILL.md +57 -0
  91. package/workspaces/browser/SOUL.md +19 -0
  92. package/workspaces/builder/CONFIG.md +31 -0
  93. package/workspaces/builder/RULES.md +8 -0
  94. package/workspaces/builder/SKILL.md +39 -0
  95. package/workspaces/builder/SOUL.md +18 -0
  96. package/workspaces/coder/CONFIG.md +44 -0
  97. package/workspaces/coder/RULES.md +9 -0
  98. package/workspaces/coder/SKILL.md +53 -0
  99. package/workspaces/coder/SOUL.md +19 -0
  100. package/workspaces/coordinator/CONFIG.md +62 -0
  101. package/workspaces/coordinator/RULES.md +8 -0
  102. package/workspaces/coordinator/SKILL.md +77 -0
  103. package/workspaces/coordinator/SOUL.md +20 -0
  104. package/workspaces/data_engineer/CONFIG.md +32 -0
  105. package/workspaces/data_engineer/RULES.md +8 -0
  106. package/workspaces/data_engineer/SKILL.md +44 -0
  107. package/workspaces/data_engineer/SOUL.md +19 -0
  108. package/workspaces/deployer/CONFIG.md +45 -0
  109. package/workspaces/deployer/RULES.md +8 -0
  110. package/workspaces/deployer/SKILL.md +74 -0
  111. package/workspaces/deployer/SOUL.md +19 -0
  112. package/workspaces/dreamer/CONFIG.md +34 -0
  113. package/workspaces/dreamer/RULES.md +8 -0
  114. package/workspaces/dreamer/SKILL.md +48 -0
  115. package/workspaces/dreamer/SOUL.md +19 -0
  116. package/workspaces/evaluator/CONFIG.md +40 -0
  117. package/workspaces/evaluator/RULES.md +21 -0
  118. package/workspaces/evaluator/SKILL.md +65 -0
  119. package/workspaces/evaluator/SOUL.md +20 -0
  120. package/workspaces/front_director/CONFIG.md +54 -0
  121. package/workspaces/front_director/RULES.md +8 -0
  122. package/workspaces/front_director/SKILL.md +52 -0
  123. package/workspaces/front_director/SOUL.md +20 -0
  124. package/workspaces/frontend_dev/CONFIG.md +33 -0
  125. package/workspaces/frontend_dev/RULES.md +8 -0
  126. package/workspaces/frontend_dev/SKILL.md +42 -0
  127. package/workspaces/frontend_dev/SOUL.md +19 -0
  128. package/workspaces/observer/CONFIG.md +60 -0
  129. package/workspaces/observer/RULES.md +7 -0
  130. package/workspaces/observer/SKILL.md +77 -0
  131. package/workspaces/observer/SOUL.md +19 -0
  132. package/workspaces/planner/CONFIG.md +43 -0
  133. package/workspaces/planner/RULES.md +8 -0
  134. package/workspaces/planner/SKILL.md +65 -0
  135. package/workspaces/planner/SOUL.md +20 -0
  136. package/workspaces/qa/CONFIG.md +32 -0
  137. package/workspaces/qa/RULES.md +8 -0
  138. package/workspaces/qa/SKILL.md +52 -0
  139. package/workspaces/qa/SOUL.md +19 -0
  140. package/workspaces/researcher/CONFIG.md +32 -0
  141. package/workspaces/researcher/RULES.md +8 -0
  142. package/workspaces/researcher/SKILL.md +58 -0
  143. package/workspaces/researcher/SOUL.md +20 -0
  144. package/workspaces/reviewer/CONFIG.md +41 -0
  145. package/workspaces/reviewer/RULES.md +17 -0
  146. package/workspaces/reviewer/SKILL.md +56 -0
  147. package/workspaces/reviewer/SOUL.md +20 -0
  148. package/workspaces/router/CONFIG.md +58 -0
  149. package/workspaces/router/RULES.md +8 -0
  150. package/workspaces/router/SKILL.md +97 -0
  151. package/workspaces/router/SOUL.md +20 -0
  152. package/workspaces/scraper/CONFIG.md +41 -0
  153. package/workspaces/scraper/RULES.md +8 -0
  154. package/workspaces/scraper/SKILL.md +51 -0
  155. package/workspaces/scraper/SOUL.md +19 -0
  156. package/workspaces/scripter/CONFIG.md +42 -0
  157. package/workspaces/scripter/RULES.md +8 -0
  158. package/workspaces/scripter/SKILL.md +54 -0
  159. package/workspaces/scripter/SOUL.md +18 -0
  160. package/workspaces/security/CONFIG.md +47 -0
  161. package/workspaces/security/RULES.md +8 -0
  162. package/workspaces/security/SKILL.md +50 -0
  163. package/workspaces/security/SOUL.md +19 -0
  164. package/workspaces/translator/CONFIG.md +43 -0
  165. package/workspaces/translator/RULES.md +8 -0
  166. package/workspaces/translator/SKILL.md +35 -0
  167. package/workspaces/translator/SOUL.md +19 -0
  168. package/workspaces/writer/CONFIG.md +31 -0
  169. package/workspaces/writer/RULES.md +8 -0
  170. package/workspaces/writer/SKILL.md +40 -0
  171. package/workspaces/writer/SOUL.md +19 -0
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Event Bus 模块
3
+ * 版本: v4.0.0
4
+ *
5
+ * 发布-订阅事件驱动通信机制。
6
+ * 支持 OpenClaw 原生事件和自定义事件。
7
+ * 优化:使用前缀树(Trie)加速订阅匹配,DLQ 重试+告警机制
8
+ */
9
+ export declare enum EventType {
10
+ TASK_CREATED = "task.created",
11
+ TASK_STARTED = "task.started",
12
+ TASK_COMPLETED = "task.completed",
13
+ TASK_FAILED = "task.failed",
14
+ TASK_CANCELLED = "task.cancelled",
15
+ STEP_COMPLETED = "step.completed",
16
+ STEP_FAILED = "step.failed",
17
+ TOPIC_CREATED = "topic.created",
18
+ TOPIC_CLOSED = "topic.closed",
19
+ AGENT_MESSAGE = "agent.message",
20
+ AGENT_DISPATCH = "agent.dispatch",
21
+ ROUTER_ANALYSIS = "router.analysis",
22
+ ROUTER_DISPATCH = "router.dispatch",
23
+ ITERATE_ROUND_DONE = "iterate.round_done",
24
+ SYSTEM_READY = "system.ready",
25
+ SYSTEM_ERROR = "system.error",
26
+ SESSION_CREATED = "session.created",
27
+ SESSION_ACTIVATED = "session.activated",// Session 变为活跃
28
+ SESSION_IDLE = "session.idle",// Session 变为空闲
29
+ SESSION_ENDED = "session.ended",
30
+ SESSION_ERROR = "session.error",// Session 出错
31
+ FRONT_MESSAGE_RECEIVED = "front.message_received",// 入口层消息接收(载荷: {session_id, content})
32
+ MESSAGE_RECEIVED = "message.received",
33
+ MESSAGE_SENT = "message.sent",
34
+ MESSAGE_FAILED = "message.failed",
35
+ MESSAGE_ROUTED = "message.routed",
36
+ ROUTING_STARTED = "routing.started",
37
+ ROUTING_COMPLETED = "routing.completed",
38
+ ROUTING_FAILED = "routing.failed"
39
+ }
40
+ export interface Event {
41
+ id: string;
42
+ type: string;
43
+ source: string;
44
+ data: Record<string, unknown>;
45
+ timestamp: number;
46
+ parent_id?: string;
47
+ correlation_id?: string;
48
+ session_key?: string;
49
+ }
50
+ export type EventHandler = (event: Event) => void | Promise<void>;
51
+ export type AsyncEventHandler = (event: Event) => void | Promise<void>;
52
+ export declare class EventBus {
53
+ private subscriptions;
54
+ private eventHistory;
55
+ private maxHistory;
56
+ private maxAge;
57
+ private storagePath;
58
+ private dlqPath;
59
+ private cleanupTimer;
60
+ private dlqRetryTimer;
61
+ private dlqAlertThreshold;
62
+ private dlqRetryDelayMs;
63
+ private maxDlqRetries;
64
+ private subscriptionTrie;
65
+ private hasWildcard;
66
+ private hasPatternSubs;
67
+ constructor(options?: {
68
+ storagePath?: string;
69
+ dlqPath?: string;
70
+ maxHistory?: number;
71
+ maxAge?: number;
72
+ dlqAlertThreshold?: number;
73
+ dlqRetryDelayMs?: number;
74
+ maxDlqRetries?: number;
75
+ });
76
+ /**
77
+ * 启动定期清理定时器
78
+ */
79
+ private startCleanupTimer;
80
+ /**
81
+ * 启动 DLQ 重试定时器
82
+ */
83
+ private startDlqRetryTimer;
84
+ /**
85
+ * 计算指数退避延迟
86
+ */
87
+ private calculateDlqBackoff;
88
+ /**
89
+ * 处理 DLQ 重试
90
+ */
91
+ private processDlqRetries;
92
+ /**
93
+ * DLQ 告警(可被外部覆盖)
94
+ */
95
+ private emitDlqAlert;
96
+ /**
97
+ * 清理过期事件,防止内存泄漏
98
+ */
99
+ cleanup(): number;
100
+ /**
101
+ * 停止清理定时器和 DLQ 重试
102
+ */
103
+ dispose(): void;
104
+ private loadHistory;
105
+ private saveHistory;
106
+ private generateId;
107
+ private publishDLQ;
108
+ /**
109
+ * 将事件类型插入前缀树
110
+ */
111
+ private insertIntoTrie;
112
+ /**
113
+ * 从前缀树移除订阅
114
+ */
115
+ private removeFromTrie;
116
+ subscribe(eventType: string, handler: EventHandler): () => void;
117
+ subscribeAsync(eventType: string, handler: AsyncEventHandler): () => void;
118
+ unsubscribe(eventType: string, handler: EventHandler): void;
119
+ publish(event: Event, persist?: boolean): void;
120
+ /**
121
+ * 检查 handler 是否应该接受某个 session 的事件
122
+ * 通过检查订阅时的 eventType 是否包含 session 信息来简单判断
123
+ * 实际生产中建议在订阅时显式注册 session-scoped handlers
124
+ */
125
+ private handlerAcceptsSession;
126
+ publishAsync(event: Event, persist?: boolean): Promise<void>;
127
+ /**
128
+ * 优化的订阅匹配(使用前缀树 + 缓存)
129
+ */
130
+ private getMatchingHandlers;
131
+ /**
132
+ * 从前缀树收集匹配的处理者
133
+ * 支持通配符 "*" 子节点回溯匹配
134
+ */
135
+ private collectMatchingHandlersFromTrie;
136
+ /**
137
+ * 检查事件类型是否匹配模式(如 "task.*" 匹配 "task.created")
138
+ */
139
+ private matchPattern;
140
+ /**
141
+ * 统一提取 session_key 的方法
142
+ */
143
+ private extractSessionKey;
144
+ getHistory(eventType?: string, limit?: number): Event[];
145
+ /**
146
+ * 获取特定 session 的事件历史
147
+ */
148
+ getHistoryBySession(sessionKey: string, limit?: number): Event[];
149
+ /**
150
+ * 获取所有活跃 session(最近有事件的 session)
151
+ */
152
+ getActiveSessions(): string[];
153
+ clearHistory(): void;
154
+ emitTaskCreated(taskId: string, agent: string, extra?: Record<string, unknown>): void;
155
+ emitTaskCompleted(taskId: string, result?: unknown, extra?: Record<string, unknown>): void;
156
+ emitTaskFailed(taskId: string, error: string, extra?: Record<string, unknown>): void;
157
+ emitAgentDispatch(from: string, to: string, taskId: string, extra?: Record<string, unknown>): void;
158
+ emitRouterAnalysis(userMessage: string, intent: Record<string, unknown>, confidence: number, extra?: Record<string, unknown>): void;
159
+ emitIterateRoundDone(taskId: string, verdict: "PASS" | "FAIL" | "RETRY", extra?: Record<string, unknown>): void;
160
+ emitSessionActivated(sessionKey: string, extra?: Record<string, unknown>): void;
161
+ emitSessionIdle(sessionKey: string, extra?: Record<string, unknown>): void;
162
+ emitSessionError(sessionKey: string, error: string, extra?: Record<string, unknown>): void;
163
+ emitFrontMessageReceived(sessionId: string, content: string, extra?: Record<string, unknown>): void;
164
+ emitMessageReceived(sessionKey: string, message: string, extra?: Record<string, unknown>): void;
165
+ emitMessageSent(sessionKey: string, message: string, extra?: Record<string, unknown>): void;
166
+ emitMessageRouted(sessionKey: string, routedTo: string[], extra?: Record<string, unknown>): void;
167
+ emitRoutingStarted(sessionKey: string, message: string, extra?: Record<string, unknown>): void;
168
+ emitRoutingCompleted(sessionKey: string, intent: Record<string, unknown>, extra?: Record<string, unknown>): void;
169
+ emitRoutingFailed(sessionKey: string, error: string, extra?: Record<string, unknown>): void;
170
+ emitRouterDispatched(sessionId: string, plan: Record<string, unknown>, extra?: Record<string, unknown>): void;
171
+ }
172
+ export declare function getEventBus(): EventBus;
173
+ export declare function setEventBus(bus: EventBus): void;
174
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"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"}