@claude-flow/hooks 3.0.0-alpha.1
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 +440 -0
- package/bin/hooks-daemon.js +199 -0
- package/bin/statusline.js +77 -0
- package/dist/bridge/official-hooks-bridge.d.ts +99 -0
- package/dist/bridge/official-hooks-bridge.d.ts.map +1 -0
- package/dist/bridge/official-hooks-bridge.js +280 -0
- package/dist/bridge/official-hooks-bridge.js.map +1 -0
- package/dist/cli/guidance-cli.d.ts +17 -0
- package/dist/cli/guidance-cli.d.ts.map +1 -0
- package/dist/cli/guidance-cli.js +486 -0
- package/dist/cli/guidance-cli.js.map +1 -0
- package/dist/daemons/index.d.ts +204 -0
- package/dist/daemons/index.d.ts.map +1 -0
- package/dist/daemons/index.js +443 -0
- package/dist/daemons/index.js.map +1 -0
- package/dist/executor/index.d.ts +80 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +273 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/index.d.ts +11 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +11 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/llm-hooks.d.ts +93 -0
- package/dist/llm/llm-hooks.d.ts.map +1 -0
- package/dist/llm/llm-hooks.js +382 -0
- package/dist/llm/llm-hooks.js.map +1 -0
- package/dist/mcp/index.d.ts +61 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +501 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/reasoningbank/guidance-provider.d.ts +78 -0
- package/dist/reasoningbank/guidance-provider.d.ts.map +1 -0
- package/dist/reasoningbank/guidance-provider.js +350 -0
- package/dist/reasoningbank/guidance-provider.js.map +1 -0
- package/dist/reasoningbank/index.d.ts +212 -0
- package/dist/reasoningbank/index.d.ts.map +1 -0
- package/dist/reasoningbank/index.js +785 -0
- package/dist/reasoningbank/index.js.map +1 -0
- package/dist/registry/index.d.ts +85 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +212 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/statusline/index.d.ts +128 -0
- package/dist/statusline/index.d.ts.map +1 -0
- package/dist/statusline/index.js +493 -0
- package/dist/statusline/index.js.map +1 -0
- package/dist/swarm/index.d.ts +271 -0
- package/dist/swarm/index.d.ts.map +1 -0
- package/dist/swarm/index.js +638 -0
- package/dist/swarm/index.js.map +1 -0
- package/dist/types.d.ts +525 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +56 -0
- package/dist/types.js.map +1 -0
- package/dist/workers/index.d.ts +232 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +1521 -0
- package/dist/workers/index.js.map +1 -0
- package/dist/workers/mcp-tools.d.ts +37 -0
- package/dist/workers/mcp-tools.d.ts.map +1 -0
- package/dist/workers/mcp-tools.js +414 -0
- package/dist/workers/mcp-tools.js.map +1 -0
- package/dist/workers/session-hook.d.ts +42 -0
- package/dist/workers/session-hook.d.ts.map +1 -0
- package/dist/workers/session-hook.js +172 -0
- package/dist/workers/session-hook.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Swarm Communication Hooks
|
|
3
|
+
*
|
|
4
|
+
* Enables agent-to-agent communication, pattern broadcasting,
|
|
5
|
+
* consensus building, and task handoff coordination.
|
|
6
|
+
*
|
|
7
|
+
* @module @claude-flow/hooks/swarm
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from 'node:events';
|
|
10
|
+
import { type GuidancePattern } from '../reasoningbank/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Message between agents
|
|
13
|
+
*/
|
|
14
|
+
export interface SwarmMessage {
|
|
15
|
+
id: string;
|
|
16
|
+
from: string;
|
|
17
|
+
to: string | '*';
|
|
18
|
+
type: 'context' | 'pattern' | 'handoff' | 'consensus' | 'result' | 'query';
|
|
19
|
+
content: string;
|
|
20
|
+
metadata: Record<string, unknown>;
|
|
21
|
+
timestamp: number;
|
|
22
|
+
ttl?: number;
|
|
23
|
+
priority: 'low' | 'normal' | 'high' | 'critical';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Pattern broadcast entry
|
|
27
|
+
*/
|
|
28
|
+
export interface PatternBroadcast {
|
|
29
|
+
id: string;
|
|
30
|
+
sourceAgent: string;
|
|
31
|
+
pattern: GuidancePattern;
|
|
32
|
+
broadcastTime: number;
|
|
33
|
+
recipients: string[];
|
|
34
|
+
acknowledgments: string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Consensus request
|
|
38
|
+
*/
|
|
39
|
+
export interface ConsensusRequest {
|
|
40
|
+
id: string;
|
|
41
|
+
initiator: string;
|
|
42
|
+
question: string;
|
|
43
|
+
options: string[];
|
|
44
|
+
votes: Map<string, string>;
|
|
45
|
+
deadline: number;
|
|
46
|
+
status: 'pending' | 'resolved' | 'expired';
|
|
47
|
+
result?: {
|
|
48
|
+
winner: string;
|
|
49
|
+
confidence: number;
|
|
50
|
+
participation: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Task handoff
|
|
55
|
+
*/
|
|
56
|
+
export interface TaskHandoff {
|
|
57
|
+
id: string;
|
|
58
|
+
taskId: string;
|
|
59
|
+
description: string;
|
|
60
|
+
fromAgent: string;
|
|
61
|
+
toAgent: string;
|
|
62
|
+
context: {
|
|
63
|
+
filesModified: string[];
|
|
64
|
+
patternsUsed: string[];
|
|
65
|
+
decisions: string[];
|
|
66
|
+
blockers: string[];
|
|
67
|
+
nextSteps: string[];
|
|
68
|
+
};
|
|
69
|
+
status: 'pending' | 'accepted' | 'rejected' | 'completed';
|
|
70
|
+
timestamp: number;
|
|
71
|
+
completedAt?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Agent state in swarm
|
|
75
|
+
*/
|
|
76
|
+
export interface SwarmAgentState {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
status: 'idle' | 'busy' | 'waiting' | 'offline';
|
|
80
|
+
currentTask?: string;
|
|
81
|
+
lastSeen: number;
|
|
82
|
+
capabilities: string[];
|
|
83
|
+
patternsShared: number;
|
|
84
|
+
handoffsReceived: number;
|
|
85
|
+
handoffsCompleted: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Swarm communication configuration
|
|
89
|
+
*/
|
|
90
|
+
export interface SwarmConfig {
|
|
91
|
+
/** Agent ID for this instance */
|
|
92
|
+
agentId: string;
|
|
93
|
+
/** Agent name/role */
|
|
94
|
+
agentName: string;
|
|
95
|
+
/** Message retention time (ms) */
|
|
96
|
+
messageRetention: number;
|
|
97
|
+
/** Consensus timeout (ms) */
|
|
98
|
+
consensusTimeout: number;
|
|
99
|
+
/** Auto-acknowledge messages */
|
|
100
|
+
autoAcknowledge: boolean;
|
|
101
|
+
/** Broadcast patterns automatically */
|
|
102
|
+
autoBroadcastPatterns: boolean;
|
|
103
|
+
/** Pattern broadcast threshold (quality) */
|
|
104
|
+
patternBroadcastThreshold: number;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Swarm Communication Hub
|
|
108
|
+
*
|
|
109
|
+
* Manages agent-to-agent communication within the swarm.
|
|
110
|
+
*/
|
|
111
|
+
export declare class SwarmCommunication extends EventEmitter {
|
|
112
|
+
private config;
|
|
113
|
+
private messages;
|
|
114
|
+
private broadcasts;
|
|
115
|
+
private consensusRequests;
|
|
116
|
+
private handoffs;
|
|
117
|
+
private agents;
|
|
118
|
+
private initialized;
|
|
119
|
+
private cleanupTimer?;
|
|
120
|
+
private metrics;
|
|
121
|
+
constructor(config?: Partial<SwarmConfig>);
|
|
122
|
+
/**
|
|
123
|
+
* Initialize swarm communication
|
|
124
|
+
*/
|
|
125
|
+
initialize(): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Shutdown swarm communication and cleanup resources
|
|
128
|
+
*/
|
|
129
|
+
shutdown(): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Send a message to another agent
|
|
132
|
+
*/
|
|
133
|
+
sendMessage(to: string, content: string, options?: {
|
|
134
|
+
type?: SwarmMessage['type'];
|
|
135
|
+
priority?: SwarmMessage['priority'];
|
|
136
|
+
metadata?: Record<string, unknown>;
|
|
137
|
+
ttl?: number;
|
|
138
|
+
}): Promise<SwarmMessage>;
|
|
139
|
+
/**
|
|
140
|
+
* Get messages for this agent
|
|
141
|
+
*/
|
|
142
|
+
getMessages(options?: {
|
|
143
|
+
from?: string;
|
|
144
|
+
type?: SwarmMessage['type'];
|
|
145
|
+
since?: number;
|
|
146
|
+
limit?: number;
|
|
147
|
+
}): SwarmMessage[];
|
|
148
|
+
/**
|
|
149
|
+
* Broadcast context to all agents
|
|
150
|
+
*/
|
|
151
|
+
broadcastContext(content: string, metadata?: Record<string, unknown>): Promise<SwarmMessage>;
|
|
152
|
+
/**
|
|
153
|
+
* Query other agents
|
|
154
|
+
*/
|
|
155
|
+
queryAgents(query: string): Promise<SwarmMessage>;
|
|
156
|
+
/**
|
|
157
|
+
* Broadcast a learned pattern to the swarm
|
|
158
|
+
*/
|
|
159
|
+
broadcastPattern(pattern: GuidancePattern, targetAgents?: string[]): Promise<PatternBroadcast>;
|
|
160
|
+
/**
|
|
161
|
+
* Acknowledge receipt of a pattern broadcast
|
|
162
|
+
*/
|
|
163
|
+
acknowledgeBroadcast(broadcastId: string): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Get recent pattern broadcasts
|
|
166
|
+
*/
|
|
167
|
+
getPatternBroadcasts(options?: {
|
|
168
|
+
since?: number;
|
|
169
|
+
domain?: string;
|
|
170
|
+
minQuality?: number;
|
|
171
|
+
}): PatternBroadcast[];
|
|
172
|
+
/**
|
|
173
|
+
* Import a broadcast pattern into local ReasoningBank
|
|
174
|
+
*/
|
|
175
|
+
importBroadcastPattern(broadcastId: string): Promise<boolean>;
|
|
176
|
+
/**
|
|
177
|
+
* Initiate a consensus request
|
|
178
|
+
*/
|
|
179
|
+
initiateConsensus(question: string, options: string[], timeout?: number): Promise<ConsensusRequest>;
|
|
180
|
+
/**
|
|
181
|
+
* Vote on a consensus request
|
|
182
|
+
*/
|
|
183
|
+
voteConsensus(consensusId: string, vote: string): boolean;
|
|
184
|
+
/**
|
|
185
|
+
* Resolve a consensus request
|
|
186
|
+
*/
|
|
187
|
+
private resolveConsensus;
|
|
188
|
+
/**
|
|
189
|
+
* Get consensus request by ID
|
|
190
|
+
*/
|
|
191
|
+
getConsensus(consensusId: string): ConsensusRequest | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* Get pending consensus requests
|
|
194
|
+
*/
|
|
195
|
+
getPendingConsensus(): ConsensusRequest[];
|
|
196
|
+
/**
|
|
197
|
+
* Generate consensus guidance text
|
|
198
|
+
*/
|
|
199
|
+
generateConsensusGuidance(consensusId: string): string;
|
|
200
|
+
/**
|
|
201
|
+
* Initiate a task handoff to another agent
|
|
202
|
+
*/
|
|
203
|
+
initiateHandoff(toAgent: string, taskDescription: string, context: TaskHandoff['context']): Promise<TaskHandoff>;
|
|
204
|
+
/**
|
|
205
|
+
* Accept a task handoff
|
|
206
|
+
*/
|
|
207
|
+
acceptHandoff(handoffId: string): boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Reject a task handoff
|
|
210
|
+
*/
|
|
211
|
+
rejectHandoff(handoffId: string, reason?: string): boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Complete a task handoff
|
|
214
|
+
*/
|
|
215
|
+
completeHandoff(handoffId: string, result?: Record<string, unknown>): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* Get handoff by ID
|
|
218
|
+
*/
|
|
219
|
+
getHandoff(handoffId: string): TaskHandoff | undefined;
|
|
220
|
+
/**
|
|
221
|
+
* Get pending handoffs for this agent
|
|
222
|
+
*/
|
|
223
|
+
getPendingHandoffs(): TaskHandoff[];
|
|
224
|
+
/**
|
|
225
|
+
* Generate handoff context text for Claude
|
|
226
|
+
*/
|
|
227
|
+
generateHandoffContext(handoffId: string): string;
|
|
228
|
+
/**
|
|
229
|
+
* Register an agent in the swarm
|
|
230
|
+
*/
|
|
231
|
+
registerAgent(agent: SwarmAgentState): void;
|
|
232
|
+
/**
|
|
233
|
+
* Update agent status
|
|
234
|
+
*/
|
|
235
|
+
updateAgentStatus(agentId: string, status: SwarmAgentState['status']): void;
|
|
236
|
+
/**
|
|
237
|
+
* Get all registered agents
|
|
238
|
+
*/
|
|
239
|
+
getAgents(): SwarmAgentState[];
|
|
240
|
+
/**
|
|
241
|
+
* Get agent by ID
|
|
242
|
+
*/
|
|
243
|
+
getAgent(agentId: string): SwarmAgentState | undefined;
|
|
244
|
+
/**
|
|
245
|
+
* Get communication statistics
|
|
246
|
+
*/
|
|
247
|
+
getStats(): {
|
|
248
|
+
agentId: string;
|
|
249
|
+
agentCount: number;
|
|
250
|
+
metrics: {
|
|
251
|
+
messagesSent: number;
|
|
252
|
+
messagesReceived: number;
|
|
253
|
+
patternsBroadcast: number;
|
|
254
|
+
consensusInitiated: number;
|
|
255
|
+
consensusResolved: number;
|
|
256
|
+
handoffsInitiated: number;
|
|
257
|
+
handoffsCompleted: number;
|
|
258
|
+
};
|
|
259
|
+
pendingMessages: number;
|
|
260
|
+
pendingHandoffs: number;
|
|
261
|
+
pendingConsensus: number;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Cleanup old messages and data
|
|
265
|
+
*/
|
|
266
|
+
private cleanup;
|
|
267
|
+
private ensureInitialized;
|
|
268
|
+
}
|
|
269
|
+
export declare const swarmComm: SwarmCommunication;
|
|
270
|
+
export { SwarmCommunication as default, };
|
|
271
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"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"}
|