@claude-flow/cli 3.0.0-alpha.28 → 3.0.0-alpha.30

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 (32) hide show
  1. package/dist/src/commands/daemon.d.ts.map +1 -1
  2. package/dist/src/commands/daemon.js +33 -9
  3. package/dist/src/commands/daemon.js.map +1 -1
  4. package/dist/src/init/settings-generator.d.ts.map +1 -1
  5. package/dist/src/init/settings-generator.js +28 -6
  6. package/dist/src/init/settings-generator.js.map +1 -1
  7. package/dist/src/init/statusline-generator.d.ts +6 -0
  8. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  9. package/dist/src/init/statusline-generator.js +142 -73
  10. package/dist/src/init/statusline-generator.js.map +1 -1
  11. package/dist/src/services/container-worker-pool.d.ts +197 -0
  12. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  13. package/dist/src/services/container-worker-pool.js +581 -0
  14. package/dist/src/services/container-worker-pool.js.map +1 -0
  15. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  16. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  17. package/dist/src/services/headless-worker-executor.js +997 -0
  18. package/dist/src/services/headless-worker-executor.js.map +1 -0
  19. package/dist/src/services/index.d.ts +6 -0
  20. package/dist/src/services/index.d.ts.map +1 -1
  21. package/dist/src/services/index.js +5 -0
  22. package/dist/src/services/index.js.map +1 -1
  23. package/dist/src/services/worker-daemon.d.ts +55 -5
  24. package/dist/src/services/worker-daemon.d.ts.map +1 -1
  25. package/dist/src/services/worker-daemon.js +191 -13
  26. package/dist/src/services/worker-daemon.js.map +1 -1
  27. package/dist/src/services/worker-queue.d.ts +194 -0
  28. package/dist/src/services/worker-queue.d.ts.map +1 -0
  29. package/dist/src/services/worker-queue.js +511 -0
  30. package/dist/src/services/worker-queue.js.map +1 -0
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"statusline-generator.js","sourceRoot":"","sources":["../../../src/init/statusline-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAoB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAElC,OAAO;;;;;;;;;;;;;aAaI,MAAM,CAAC,OAAO;kBACT,MAAM,CAAC,YAAY;kBACnB,MAAM,CAAC,YAAY;eACtB,MAAM,CAAC,SAAS;eAChB,MAAM,CAAC,SAAS;qBACV,MAAM,CAAC,eAAe;qBACtB,MAAM,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoE1B,OAAO,CAAC,OAAO,CAAC,SAAS;iBACzB,OAAO,CAAC,OAAO,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ExC,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"statusline-generator.js","sourceRoot":"","sources":["../../../src/init/statusline-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAoB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAElC,OAAO;;;;;;;;;;;;;;aAcI,MAAM,CAAC,OAAO;kBACT,MAAM,CAAC,YAAY;kBACnB,MAAM,CAAC,YAAY;eACtB,MAAM,CAAC,SAAS;eAChB,MAAM,CAAC,SAAS;qBACV,MAAM,CAAC,eAAe;qBACtB,MAAM,CAAC,eAAe;eAC5B,OAAO,CAAC,OAAO,CAAC,SAAS;eACzB,OAAO,CAAC,OAAO,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6MtC,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AACF,CAAC"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Container Worker Pool
3
+ * Docker-based worker pool for high-throughput headless execution.
4
+ *
5
+ * ADR-020: Headless Worker Integration Architecture - Phase 3
6
+ * - Manages pool of Docker containers for isolated worker execution
7
+ * - Supports dynamic scaling based on workload
8
+ * - Provides container lifecycle management
9
+ * - Integrates with WorkerQueue for task distribution
10
+ *
11
+ * Key Features:
12
+ * - Container pooling with configurable size
13
+ * - Health checking and auto-recovery
14
+ * - Resource limits (CPU, memory)
15
+ * - Volume mounting for workspace access
16
+ * - Network isolation per worker type
17
+ */
18
+ import { EventEmitter } from 'events';
19
+ import type { HeadlessWorkerType, HeadlessExecutionResult, SandboxMode } from './headless-worker-executor.js';
20
+ /**
21
+ * Container state
22
+ */
23
+ export type ContainerState = 'creating' | 'ready' | 'busy' | 'unhealthy' | 'terminated';
24
+ /**
25
+ * Container info
26
+ */
27
+ export interface ContainerInfo {
28
+ id: string;
29
+ name: string;
30
+ state: ContainerState;
31
+ createdAt: Date;
32
+ lastUsedAt?: Date;
33
+ workerType?: HeadlessWorkerType;
34
+ executionCount: number;
35
+ healthCheckFailures: number;
36
+ pid?: number;
37
+ }
38
+ /**
39
+ * Container pool configuration
40
+ */
41
+ export interface ContainerPoolConfig {
42
+ /** Maximum number of containers in the pool */
43
+ maxContainers: number;
44
+ /** Minimum number of containers to keep warm */
45
+ minContainers: number;
46
+ /** Docker image to use */
47
+ image: string;
48
+ /** Container resource limits */
49
+ resources: {
50
+ cpus: string;
51
+ memory: string;
52
+ };
53
+ /** Health check interval in ms */
54
+ healthCheckIntervalMs: number;
55
+ /** Container idle timeout in ms */
56
+ idleTimeoutMs: number;
57
+ /** Workspace volume mount path */
58
+ workspacePath: string;
59
+ /** State persistence path */
60
+ statePath: string;
61
+ /** Network name for container isolation */
62
+ network?: string;
63
+ /** Environment variables for containers */
64
+ env?: Record<string, string>;
65
+ /** Default sandbox mode */
66
+ defaultSandbox: SandboxMode;
67
+ }
68
+ /**
69
+ * Container execution options
70
+ */
71
+ export interface ContainerExecutionOptions {
72
+ workerType: HeadlessWorkerType;
73
+ prompt: string;
74
+ contextPatterns?: string[];
75
+ sandbox?: SandboxMode;
76
+ model?: string;
77
+ timeoutMs?: number;
78
+ }
79
+ /**
80
+ * Pool status
81
+ */
82
+ export interface ContainerPoolStatus {
83
+ totalContainers: number;
84
+ readyContainers: number;
85
+ busyContainers: number;
86
+ unhealthyContainers: number;
87
+ queuedTasks: number;
88
+ containers: ContainerInfo[];
89
+ dockerAvailable: boolean;
90
+ lastHealthCheck?: Date;
91
+ }
92
+ /**
93
+ * ContainerWorkerPool - Manages Docker containers for headless worker execution
94
+ */
95
+ export declare class ContainerWorkerPool extends EventEmitter {
96
+ private config;
97
+ private projectRoot;
98
+ private containers;
99
+ private taskQueue;
100
+ private healthCheckTimer?;
101
+ private idleCheckTimer?;
102
+ private dockerAvailable;
103
+ private initialized;
104
+ private isShuttingDown;
105
+ private exitHandlersRegistered;
106
+ constructor(projectRoot: string, config?: Partial<ContainerPoolConfig>);
107
+ /**
108
+ * Initialize the container pool
109
+ */
110
+ initialize(): Promise<boolean>;
111
+ /**
112
+ * Register process exit handlers to clean up containers
113
+ */
114
+ private registerExitHandlers;
115
+ /**
116
+ * Execute a worker in a container
117
+ */
118
+ execute(options: ContainerExecutionOptions): Promise<HeadlessExecutionResult>;
119
+ /**
120
+ * Scale pool for batch execution
121
+ */
122
+ scaleForBatch(workerCount: number): Promise<void>;
123
+ /**
124
+ * Get pool status
125
+ */
126
+ getStatus(): ContainerPoolStatus;
127
+ /**
128
+ * Shutdown the pool
129
+ */
130
+ shutdown(): Promise<void>;
131
+ /**
132
+ * Check if Docker is available (async)
133
+ */
134
+ private checkDockerAvailable;
135
+ /**
136
+ * Ensure the container image exists (async)
137
+ */
138
+ private ensureImage;
139
+ /**
140
+ * Create a new container
141
+ */
142
+ private createContainer;
143
+ /**
144
+ * Terminate a container (async)
145
+ */
146
+ private terminateContainer;
147
+ /**
148
+ * Get a ready container
149
+ */
150
+ private getReadyContainer;
151
+ /**
152
+ * Scale to minimum containers
153
+ */
154
+ private scaleToMinimum;
155
+ /**
156
+ * Execute worker in a specific container
157
+ */
158
+ private executeInContainer;
159
+ /**
160
+ * Execute command in container
161
+ */
162
+ private execInContainer;
163
+ /**
164
+ * Build worker command for container execution
165
+ */
166
+ private buildWorkerCommand;
167
+ /**
168
+ * Process queued tasks
169
+ */
170
+ private processQueue;
171
+ /**
172
+ * Start health check timer
173
+ */
174
+ private startHealthChecks;
175
+ /**
176
+ * Run health checks on all containers
177
+ */
178
+ private runHealthChecks;
179
+ /**
180
+ * Start idle check timer
181
+ */
182
+ private startIdleChecks;
183
+ /**
184
+ * Terminate idle containers above minimum
185
+ */
186
+ private runIdleChecks;
187
+ /**
188
+ * Try to parse JSON from output
189
+ */
190
+ private tryParseJson;
191
+ /**
192
+ * Create an error result
193
+ */
194
+ private createErrorResult;
195
+ }
196
+ export default ContainerWorkerPool;
197
+ //# sourceMappingURL=container-worker-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-worker-pool.d.ts","sourceRoot":"","sources":["../../../src/services/container-worker-pool.ts"],"names":[],"mappings":"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"}