@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.
Files changed (72) hide show
  1. package/README.md +440 -0
  2. package/bin/hooks-daemon.js +199 -0
  3. package/bin/statusline.js +77 -0
  4. package/dist/bridge/official-hooks-bridge.d.ts +99 -0
  5. package/dist/bridge/official-hooks-bridge.d.ts.map +1 -0
  6. package/dist/bridge/official-hooks-bridge.js +280 -0
  7. package/dist/bridge/official-hooks-bridge.js.map +1 -0
  8. package/dist/cli/guidance-cli.d.ts +17 -0
  9. package/dist/cli/guidance-cli.d.ts.map +1 -0
  10. package/dist/cli/guidance-cli.js +486 -0
  11. package/dist/cli/guidance-cli.js.map +1 -0
  12. package/dist/daemons/index.d.ts +204 -0
  13. package/dist/daemons/index.d.ts.map +1 -0
  14. package/dist/daemons/index.js +443 -0
  15. package/dist/daemons/index.js.map +1 -0
  16. package/dist/executor/index.d.ts +80 -0
  17. package/dist/executor/index.d.ts.map +1 -0
  18. package/dist/executor/index.js +273 -0
  19. package/dist/executor/index.js.map +1 -0
  20. package/dist/index.d.ts +51 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +85 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/llm/index.d.ts +11 -0
  25. package/dist/llm/index.d.ts.map +1 -0
  26. package/dist/llm/index.js +11 -0
  27. package/dist/llm/index.js.map +1 -0
  28. package/dist/llm/llm-hooks.d.ts +93 -0
  29. package/dist/llm/llm-hooks.d.ts.map +1 -0
  30. package/dist/llm/llm-hooks.js +382 -0
  31. package/dist/llm/llm-hooks.js.map +1 -0
  32. package/dist/mcp/index.d.ts +61 -0
  33. package/dist/mcp/index.d.ts.map +1 -0
  34. package/dist/mcp/index.js +501 -0
  35. package/dist/mcp/index.js.map +1 -0
  36. package/dist/reasoningbank/guidance-provider.d.ts +78 -0
  37. package/dist/reasoningbank/guidance-provider.d.ts.map +1 -0
  38. package/dist/reasoningbank/guidance-provider.js +350 -0
  39. package/dist/reasoningbank/guidance-provider.js.map +1 -0
  40. package/dist/reasoningbank/index.d.ts +212 -0
  41. package/dist/reasoningbank/index.d.ts.map +1 -0
  42. package/dist/reasoningbank/index.js +785 -0
  43. package/dist/reasoningbank/index.js.map +1 -0
  44. package/dist/registry/index.d.ts +85 -0
  45. package/dist/registry/index.d.ts.map +1 -0
  46. package/dist/registry/index.js +212 -0
  47. package/dist/registry/index.js.map +1 -0
  48. package/dist/statusline/index.d.ts +128 -0
  49. package/dist/statusline/index.d.ts.map +1 -0
  50. package/dist/statusline/index.js +493 -0
  51. package/dist/statusline/index.js.map +1 -0
  52. package/dist/swarm/index.d.ts +271 -0
  53. package/dist/swarm/index.d.ts.map +1 -0
  54. package/dist/swarm/index.js +638 -0
  55. package/dist/swarm/index.js.map +1 -0
  56. package/dist/types.d.ts +525 -0
  57. package/dist/types.d.ts.map +1 -0
  58. package/dist/types.js +56 -0
  59. package/dist/types.js.map +1 -0
  60. package/dist/workers/index.d.ts +232 -0
  61. package/dist/workers/index.d.ts.map +1 -0
  62. package/dist/workers/index.js +1521 -0
  63. package/dist/workers/index.js.map +1 -0
  64. package/dist/workers/mcp-tools.d.ts +37 -0
  65. package/dist/workers/mcp-tools.d.ts.map +1 -0
  66. package/dist/workers/mcp-tools.js +414 -0
  67. package/dist/workers/mcp-tools.js.map +1 -0
  68. package/dist/workers/session-hook.d.ts +42 -0
  69. package/dist/workers/session-hook.d.ts.map +1 -0
  70. package/dist/workers/session-hook.js +172 -0
  71. package/dist/workers/session-hook.js.map +1 -0
  72. package/package.json +101 -0
@@ -0,0 +1,232 @@
1
+ /**
2
+ * V3 Workers System - Cross-Platform Background Workers
3
+ *
4
+ * Optimizes Claude Flow with non-blocking, scheduled workers.
5
+ * Works on Linux, macOS, and Windows.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ export interface WorkerConfig {
9
+ name: string;
10
+ description: string;
11
+ interval: number;
12
+ enabled: boolean;
13
+ priority: WorkerPriority;
14
+ timeout: number;
15
+ platforms?: ('linux' | 'darwin' | 'win32')[];
16
+ }
17
+ export declare enum WorkerPriority {
18
+ Critical = 0,
19
+ High = 1,
20
+ Normal = 2,
21
+ Low = 3,
22
+ Background = 4
23
+ }
24
+ export interface WorkerResult {
25
+ worker: string;
26
+ success: boolean;
27
+ duration: number;
28
+ data?: Record<string, unknown>;
29
+ error?: string;
30
+ alerts?: WorkerAlert[];
31
+ timestamp: Date;
32
+ }
33
+ export interface WorkerMetrics {
34
+ name: string;
35
+ status: 'running' | 'idle' | 'error' | 'disabled';
36
+ lastRun?: Date;
37
+ lastDuration?: number;
38
+ runCount: number;
39
+ errorCount: number;
40
+ avgDuration: number;
41
+ lastResult?: Record<string, unknown>;
42
+ }
43
+ export interface WorkerManagerStatus {
44
+ running: boolean;
45
+ platform: string;
46
+ workers: WorkerMetrics[];
47
+ uptime: number;
48
+ totalRuns: number;
49
+ lastUpdate: Date;
50
+ }
51
+ export type WorkerHandler = () => Promise<WorkerResult>;
52
+ export declare enum AlertSeverity {
53
+ Info = "info",
54
+ Warning = "warning",
55
+ Critical = "critical"
56
+ }
57
+ export interface WorkerAlert {
58
+ worker: string;
59
+ severity: AlertSeverity;
60
+ message: string;
61
+ metric?: string;
62
+ value?: number;
63
+ threshold?: number;
64
+ timestamp: Date;
65
+ }
66
+ export interface AlertThreshold {
67
+ metric: string;
68
+ warning: number;
69
+ critical: number;
70
+ comparison: 'gt' | 'lt' | 'eq';
71
+ }
72
+ export declare const DEFAULT_THRESHOLDS: Record<string, AlertThreshold[]>;
73
+ export interface PersistedWorkerState {
74
+ version: string;
75
+ lastSaved: string;
76
+ workers: Record<string, {
77
+ lastRun?: string;
78
+ lastResult?: Record<string, unknown>;
79
+ runCount: number;
80
+ errorCount: number;
81
+ avgDuration: number;
82
+ }>;
83
+ history: HistoricalMetric[];
84
+ }
85
+ export interface HistoricalMetric {
86
+ timestamp: string;
87
+ worker: string;
88
+ metrics: Record<string, number>;
89
+ }
90
+ export interface StatuslineData {
91
+ workers: {
92
+ active: number;
93
+ total: number;
94
+ errors: number;
95
+ };
96
+ health: {
97
+ status: 'healthy' | 'warning' | 'critical';
98
+ memory: number;
99
+ disk: number;
100
+ };
101
+ security: {
102
+ status: 'clean' | 'warning' | 'critical';
103
+ issues: number;
104
+ };
105
+ adr: {
106
+ compliance: number;
107
+ };
108
+ ddd: {
109
+ progress: number;
110
+ };
111
+ performance: {
112
+ speedup: string;
113
+ };
114
+ alerts: WorkerAlert[];
115
+ lastUpdate: string;
116
+ }
117
+ export declare const WORKER_CONFIGS: Record<string, WorkerConfig>;
118
+ export declare class WorkerManager extends EventEmitter {
119
+ private workers;
120
+ private metrics;
121
+ private timers;
122
+ private running;
123
+ private startTime?;
124
+ private projectRoot;
125
+ private metricsDir;
126
+ private persistPath;
127
+ private statuslinePath;
128
+ private alerts;
129
+ private history;
130
+ private thresholds;
131
+ private statuslineTimer?;
132
+ private autoSaveTimer?;
133
+ private initialized;
134
+ constructor(projectRoot?: string);
135
+ private initializeMetrics;
136
+ /**
137
+ * Load persisted state from disk
138
+ */
139
+ loadState(): Promise<boolean>;
140
+ /**
141
+ * Save current state to disk
142
+ */
143
+ saveState(): Promise<void>;
144
+ /**
145
+ * Check result against thresholds and generate alerts
146
+ */
147
+ private checkAlerts;
148
+ private getNestedValue;
149
+ /**
150
+ * Set custom alert thresholds
151
+ */
152
+ setThresholds(worker: string, thresholds: AlertThreshold[]): void;
153
+ /**
154
+ * Get recent alerts
155
+ */
156
+ getAlerts(limit?: number): WorkerAlert[];
157
+ /**
158
+ * Clear alerts
159
+ */
160
+ clearAlerts(): void;
161
+ /**
162
+ * Record metrics to history
163
+ */
164
+ private recordHistory;
165
+ /**
166
+ * Get historical metrics for a worker
167
+ */
168
+ getHistory(worker?: string, limit?: number): HistoricalMetric[];
169
+ /**
170
+ * Generate statusline data
171
+ */
172
+ getStatuslineData(): StatuslineData;
173
+ /**
174
+ * Export statusline data to file (for shell consumption)
175
+ */
176
+ exportStatusline(): Promise<void>;
177
+ /**
178
+ * Generate shell-compatible statusline string
179
+ */
180
+ getStatuslineString(): string;
181
+ /**
182
+ * Register a worker handler
183
+ * Optionally pass config; if not provided, a default config is used for dynamically registered workers
184
+ */
185
+ register(name: string, handler: WorkerHandler, config?: Partial<WorkerConfig>): void;
186
+ /**
187
+ * Initialize and start workers (loads persisted state)
188
+ */
189
+ initialize(): Promise<void>;
190
+ /**
191
+ * Start all workers with scheduling
192
+ */
193
+ start(options?: {
194
+ autoSave?: boolean;
195
+ statuslineUpdate?: boolean;
196
+ }): Promise<void>;
197
+ /**
198
+ * Stop all workers and save state
199
+ */
200
+ stop(): Promise<void>;
201
+ /**
202
+ * Run a specific worker immediately
203
+ */
204
+ runWorker(name: string): Promise<WorkerResult>;
205
+ /**
206
+ * Run all workers (non-blocking with concurrency limit)
207
+ */
208
+ runAll(concurrency?: number): Promise<WorkerResult[]>;
209
+ /**
210
+ * Get worker status
211
+ */
212
+ getStatus(): WorkerManagerStatus;
213
+ /**
214
+ * Get statusline-friendly metrics
215
+ */
216
+ getStatuslineMetrics(): Record<string, unknown>;
217
+ private scheduleWorker;
218
+ private ensureMetricsDir;
219
+ }
220
+ export declare function createPerformanceWorker(projectRoot: string): WorkerHandler;
221
+ export declare function createHealthWorker(projectRoot: string): WorkerHandler;
222
+ export declare function createSwarmWorker(projectRoot: string): WorkerHandler;
223
+ export declare function createGitWorker(projectRoot: string): WorkerHandler;
224
+ export declare function createLearningWorker(projectRoot: string): WorkerHandler;
225
+ export declare function createADRWorker(projectRoot: string): WorkerHandler;
226
+ export declare function createDDDWorker(projectRoot: string): WorkerHandler;
227
+ export declare function createSecurityWorker(projectRoot: string): WorkerHandler;
228
+ export declare function createPatternsWorker(projectRoot: string): WorkerHandler;
229
+ export declare function createCacheWorker(projectRoot: string): WorkerHandler;
230
+ export declare function createWorkerManager(projectRoot?: string): WorkerManager;
231
+ export declare const workerManager: WorkerManager;
232
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"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"}