@sparkleideas/hooks 3.0.0-alpha.7-patch.17 → 3.0.0-alpha.7-patch.18

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 (69) hide show
  1. package/package.json +6 -8
  2. package/dist/bridge/official-hooks-bridge.d.ts +0 -99
  3. package/dist/bridge/official-hooks-bridge.d.ts.map +0 -1
  4. package/dist/bridge/official-hooks-bridge.js +0 -280
  5. package/dist/bridge/official-hooks-bridge.js.map +0 -1
  6. package/dist/cli/guidance-cli.d.ts +0 -17
  7. package/dist/cli/guidance-cli.d.ts.map +0 -1
  8. package/dist/cli/guidance-cli.js +0 -486
  9. package/dist/cli/guidance-cli.js.map +0 -1
  10. package/dist/daemons/index.d.ts +0 -204
  11. package/dist/daemons/index.d.ts.map +0 -1
  12. package/dist/daemons/index.js +0 -443
  13. package/dist/daemons/index.js.map +0 -1
  14. package/dist/executor/index.d.ts +0 -80
  15. package/dist/executor/index.d.ts.map +0 -1
  16. package/dist/executor/index.js +0 -273
  17. package/dist/executor/index.js.map +0 -1
  18. package/dist/index.d.ts +0 -51
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js +0 -85
  21. package/dist/index.js.map +0 -1
  22. package/dist/llm/index.d.ts +0 -11
  23. package/dist/llm/index.d.ts.map +0 -1
  24. package/dist/llm/index.js +0 -11
  25. package/dist/llm/index.js.map +0 -1
  26. package/dist/llm/llm-hooks.d.ts +0 -93
  27. package/dist/llm/llm-hooks.d.ts.map +0 -1
  28. package/dist/llm/llm-hooks.js +0 -382
  29. package/dist/llm/llm-hooks.js.map +0 -1
  30. package/dist/mcp/index.d.ts +0 -61
  31. package/dist/mcp/index.d.ts.map +0 -1
  32. package/dist/mcp/index.js +0 -501
  33. package/dist/mcp/index.js.map +0 -1
  34. package/dist/reasoningbank/guidance-provider.d.ts +0 -78
  35. package/dist/reasoningbank/guidance-provider.d.ts.map +0 -1
  36. package/dist/reasoningbank/guidance-provider.js +0 -350
  37. package/dist/reasoningbank/guidance-provider.js.map +0 -1
  38. package/dist/reasoningbank/index.d.ts +0 -255
  39. package/dist/reasoningbank/index.d.ts.map +0 -1
  40. package/dist/reasoningbank/index.js +0 -825
  41. package/dist/reasoningbank/index.js.map +0 -1
  42. package/dist/registry/index.d.ts +0 -85
  43. package/dist/registry/index.d.ts.map +0 -1
  44. package/dist/registry/index.js +0 -212
  45. package/dist/registry/index.js.map +0 -1
  46. package/dist/statusline/index.d.ts +0 -144
  47. package/dist/statusline/index.d.ts.map +0 -1
  48. package/dist/statusline/index.js +0 -588
  49. package/dist/statusline/index.js.map +0 -1
  50. package/dist/swarm/index.d.ts +0 -271
  51. package/dist/swarm/index.d.ts.map +0 -1
  52. package/dist/swarm/index.js +0 -638
  53. package/dist/swarm/index.js.map +0 -1
  54. package/dist/types.d.ts +0 -525
  55. package/dist/types.d.ts.map +0 -1
  56. package/dist/types.js +0 -56
  57. package/dist/types.js.map +0 -1
  58. package/dist/workers/index.d.ts +0 -238
  59. package/dist/workers/index.d.ts.map +0 -1
  60. package/dist/workers/index.js +0 -1732
  61. package/dist/workers/index.js.map +0 -1
  62. package/dist/workers/mcp-tools.d.ts +0 -37
  63. package/dist/workers/mcp-tools.d.ts.map +0 -1
  64. package/dist/workers/mcp-tools.js +0 -414
  65. package/dist/workers/mcp-tools.js.map +0 -1
  66. package/dist/workers/session-hook.d.ts +0 -42
  67. package/dist/workers/session-hook.d.ts.map +0 -1
  68. package/dist/workers/session-hook.js +0 -172
  69. package/dist/workers/session-hook.js.map +0 -1
@@ -1,271 +0,0 @@
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 @sparkleideas/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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"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"}