@oalacea/daemon 0.5.1 → 0.6.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 (199) hide show
  1. package/dist/cli/cli.d.ts +42 -0
  2. package/dist/cli/cli.d.ts.map +1 -0
  3. package/dist/cli/cli.js +89 -0
  4. package/dist/cli/cli.js.map +1 -0
  5. package/dist/cli/commands/detect.command.d.ts +39 -0
  6. package/dist/cli/commands/detect.command.d.ts.map +1 -0
  7. package/dist/cli/commands/detect.command.js +111 -0
  8. package/dist/cli/commands/detect.command.js.map +1 -0
  9. package/dist/cli/commands/index.d.ts +14 -0
  10. package/dist/cli/commands/index.d.ts.map +1 -0
  11. package/dist/cli/commands/index.js +11 -0
  12. package/dist/cli/commands/index.js.map +1 -0
  13. package/dist/cli/commands/init.command.d.ts +41 -0
  14. package/dist/cli/commands/init.command.d.ts.map +1 -0
  15. package/dist/cli/commands/init.command.js +111 -0
  16. package/dist/cli/commands/init.command.js.map +1 -0
  17. package/dist/cli/commands/test.command.d.ts +58 -0
  18. package/dist/cli/commands/test.command.d.ts.map +1 -0
  19. package/dist/cli/commands/test.command.js +180 -0
  20. package/dist/cli/commands/test.command.js.map +1 -0
  21. package/dist/cli/index.d.ts +8 -0
  22. package/dist/cli/index.d.ts.map +1 -0
  23. package/dist/cli/index.js +10 -0
  24. package/dist/cli/index.js.map +1 -0
  25. package/dist/core/config/daemon.config.d.ts +32 -0
  26. package/dist/core/config/daemon.config.d.ts.map +1 -0
  27. package/dist/core/config/daemon.config.js +83 -0
  28. package/dist/core/config/daemon.config.js.map +1 -0
  29. package/dist/core/config/index.d.ts +5 -0
  30. package/dist/core/config/index.d.ts.map +1 -0
  31. package/dist/core/config/index.js +5 -0
  32. package/dist/core/config/index.js.map +1 -0
  33. package/dist/core/constants.d.ts +36 -0
  34. package/dist/core/constants.d.ts.map +1 -0
  35. package/dist/core/constants.js +56 -0
  36. package/dist/core/constants.js.map +1 -0
  37. package/dist/core/types/common.types.d.ts +250 -0
  38. package/dist/core/types/common.types.d.ts.map +1 -0
  39. package/dist/core/types/common.types.js +7 -0
  40. package/dist/core/types/common.types.js.map +1 -0
  41. package/dist/core/types/detection.types.d.ts +232 -0
  42. package/dist/core/types/detection.types.d.ts.map +1 -0
  43. package/dist/core/types/detection.types.js +22 -0
  44. package/dist/core/types/detection.types.js.map +1 -0
  45. package/dist/core/types/docker.types.d.ts +322 -0
  46. package/dist/core/types/docker.types.d.ts.map +1 -0
  47. package/dist/core/types/docker.types.js +7 -0
  48. package/dist/core/types/docker.types.js.map +1 -0
  49. package/dist/core/types/index.d.ts +11 -0
  50. package/dist/core/types/index.d.ts.map +1 -0
  51. package/dist/core/types/index.js +7 -0
  52. package/dist/core/types/index.js.map +1 -0
  53. package/dist/core/types/project.types.d.ts +74 -0
  54. package/dist/core/types/project.types.d.ts.map +1 -0
  55. package/dist/core/types/project.types.js +7 -0
  56. package/dist/core/types/project.types.js.map +1 -0
  57. package/dist/core/types/shared.types.d.ts +118 -0
  58. package/dist/core/types/shared.types.d.ts.map +1 -0
  59. package/dist/core/types/shared.types.js +7 -0
  60. package/dist/core/types/shared.types.js.map +1 -0
  61. package/dist/core/types/test.types.d.ts +230 -0
  62. package/dist/core/types/test.types.d.ts.map +1 -0
  63. package/dist/core/types/test.types.js +7 -0
  64. package/dist/core/types/test.types.js.map +1 -0
  65. package/dist/services/detection/__tests__/framework-detector.test.d.ts +5 -0
  66. package/dist/services/detection/__tests__/framework-detector.test.d.ts.map +1 -0
  67. package/dist/services/detection/__tests__/framework-detector.test.js +52 -0
  68. package/dist/services/detection/__tests__/framework-detector.test.js.map +1 -0
  69. package/dist/services/detection/framework-detector.d.ts +179 -0
  70. package/dist/services/detection/framework-detector.d.ts.map +1 -0
  71. package/dist/services/detection/framework-detector.js +636 -0
  72. package/dist/services/detection/framework-detector.js.map +1 -0
  73. package/dist/services/detection/index.d.ts +10 -0
  74. package/dist/services/detection/index.d.ts.map +1 -0
  75. package/dist/services/detection/index.js +7 -0
  76. package/dist/services/detection/index.js.map +1 -0
  77. package/dist/services/docker/__tests__/docker-manager.test.d.ts +5 -0
  78. package/dist/services/docker/__tests__/docker-manager.test.d.ts.map +1 -0
  79. package/dist/services/docker/__tests__/docker-manager.test.js +67 -0
  80. package/dist/services/docker/__tests__/docker-manager.test.js.map +1 -0
  81. package/dist/services/docker/docker-manager.d.ts +157 -0
  82. package/dist/services/docker/docker-manager.d.ts.map +1 -0
  83. package/dist/services/docker/docker-manager.js +516 -0
  84. package/dist/services/docker/docker-manager.js.map +1 -0
  85. package/dist/services/docker/index.d.ts +9 -0
  86. package/dist/services/docker/index.d.ts.map +1 -0
  87. package/dist/services/docker/index.js +9 -0
  88. package/dist/services/docker/index.js.map +1 -0
  89. package/dist/services/index.d.ts +10 -0
  90. package/dist/services/index.d.ts.map +1 -0
  91. package/dist/services/index.js +8 -0
  92. package/dist/services/index.js.map +1 -0
  93. package/dist/shared/errors/__tests__/base.error.test.d.ts +5 -0
  94. package/dist/shared/errors/__tests__/base.error.test.d.ts.map +1 -0
  95. package/dist/shared/errors/__tests__/base.error.test.js +61 -0
  96. package/dist/shared/errors/__tests__/base.error.test.js.map +1 -0
  97. package/dist/shared/errors/__tests__/command.error.test.d.ts +5 -0
  98. package/dist/shared/errors/__tests__/command.error.test.d.ts.map +1 -0
  99. package/dist/shared/errors/__tests__/command.error.test.js +62 -0
  100. package/dist/shared/errors/__tests__/command.error.test.js.map +1 -0
  101. package/dist/shared/errors/__tests__/file.error.test.d.ts +5 -0
  102. package/dist/shared/errors/__tests__/file.error.test.d.ts.map +1 -0
  103. package/dist/shared/errors/__tests__/file.error.test.js +75 -0
  104. package/dist/shared/errors/__tests__/file.error.test.js.map +1 -0
  105. package/dist/shared/errors/__tests__/index.test.d.ts +5 -0
  106. package/dist/shared/errors/__tests__/index.test.d.ts.map +1 -0
  107. package/dist/shared/errors/__tests__/index.test.js +62 -0
  108. package/dist/shared/errors/__tests__/index.test.js.map +1 -0
  109. package/dist/shared/errors/__tests__/validation.error.test.d.ts +5 -0
  110. package/dist/shared/errors/__tests__/validation.error.test.d.ts.map +1 -0
  111. package/dist/shared/errors/__tests__/validation.error.test.js +79 -0
  112. package/dist/shared/errors/__tests__/validation.error.test.js.map +1 -0
  113. package/dist/shared/errors/base.error.d.ts +54 -0
  114. package/dist/shared/errors/base.error.d.ts.map +1 -0
  115. package/dist/shared/errors/base.error.js +85 -0
  116. package/dist/shared/errors/base.error.js.map +1 -0
  117. package/dist/shared/errors/command.error.d.ts +58 -0
  118. package/dist/shared/errors/command.error.d.ts.map +1 -0
  119. package/dist/shared/errors/command.error.js +102 -0
  120. package/dist/shared/errors/command.error.js.map +1 -0
  121. package/dist/shared/errors/detection.error.d.ts +42 -0
  122. package/dist/shared/errors/detection.error.d.ts.map +1 -0
  123. package/dist/shared/errors/detection.error.js +82 -0
  124. package/dist/shared/errors/detection.error.js.map +1 -0
  125. package/dist/shared/errors/docker.error.d.ts +142 -0
  126. package/dist/shared/errors/docker.error.d.ts.map +1 -0
  127. package/dist/shared/errors/docker.error.js +172 -0
  128. package/dist/shared/errors/docker.error.js.map +1 -0
  129. package/dist/shared/errors/file.error.d.ts +66 -0
  130. package/dist/shared/errors/file.error.d.ts.map +1 -0
  131. package/dist/shared/errors/file.error.js +93 -0
  132. package/dist/shared/errors/file.error.js.map +1 -0
  133. package/dist/shared/errors/index.d.ts +56 -0
  134. package/dist/shared/errors/index.d.ts.map +1 -0
  135. package/dist/shared/errors/index.js +86 -0
  136. package/dist/shared/errors/index.js.map +1 -0
  137. package/dist/shared/errors/validation.error.d.ts +67 -0
  138. package/dist/shared/errors/validation.error.d.ts.map +1 -0
  139. package/dist/shared/errors/validation.error.js +97 -0
  140. package/dist/shared/errors/validation.error.js.map +1 -0
  141. package/dist/shared/templates/index.d.ts +2 -0
  142. package/dist/shared/templates/index.d.ts.map +1 -0
  143. package/dist/shared/templates/index.js +2 -0
  144. package/dist/shared/templates/index.js.map +1 -0
  145. package/dist/shared/templates/prompt-builder.d.ts +2 -0
  146. package/dist/shared/templates/prompt-builder.d.ts.map +1 -0
  147. package/dist/shared/templates/prompt-builder.js +2 -0
  148. package/dist/shared/templates/prompt-builder.js.map +1 -0
  149. package/dist/shared/templates/template-engine.d.ts +2 -0
  150. package/dist/shared/templates/template-engine.d.ts.map +1 -0
  151. package/dist/shared/templates/template-engine.js +2 -0
  152. package/dist/shared/templates/template-engine.js.map +1 -0
  153. package/dist/shared/utils/__tests__/command-executor.test.d.ts +5 -0
  154. package/dist/shared/utils/__tests__/command-executor.test.d.ts.map +1 -0
  155. package/dist/shared/utils/__tests__/command-executor.test.js +45 -0
  156. package/dist/shared/utils/__tests__/command-executor.test.js.map +1 -0
  157. package/dist/shared/utils/__tests__/file-helper.test.d.ts +5 -0
  158. package/dist/shared/utils/__tests__/file-helper.test.d.ts.map +1 -0
  159. package/dist/shared/utils/__tests__/file-helper.test.js +71 -0
  160. package/dist/shared/utils/__tests__/file-helper.test.js.map +1 -0
  161. package/dist/shared/utils/__tests__/logger.test.d.ts +5 -0
  162. package/dist/shared/utils/__tests__/logger.test.d.ts.map +1 -0
  163. package/dist/shared/utils/__tests__/logger.test.js +83 -0
  164. package/dist/shared/utils/__tests__/logger.test.js.map +1 -0
  165. package/dist/shared/utils/command-executer.d.ts +2 -0
  166. package/dist/shared/utils/command-executer.d.ts.map +1 -0
  167. package/dist/shared/utils/command-executer.js +2 -0
  168. package/dist/shared/utils/command-executer.js.map +1 -0
  169. package/dist/shared/utils/command-executor.d.ts +255 -0
  170. package/dist/shared/utils/command-executor.d.ts.map +1 -0
  171. package/dist/shared/utils/command-executor.js +287 -0
  172. package/dist/shared/utils/command-executor.js.map +1 -0
  173. package/dist/shared/utils/file-helper.d.ts +86 -0
  174. package/dist/shared/utils/file-helper.d.ts.map +1 -0
  175. package/dist/shared/utils/file-helper.js +323 -0
  176. package/dist/shared/utils/file-helper.js.map +1 -0
  177. package/dist/shared/utils/index.d.ts +9 -0
  178. package/dist/shared/utils/index.d.ts.map +1 -0
  179. package/dist/shared/utils/index.js +9 -0
  180. package/dist/shared/utils/index.js.map +1 -0
  181. package/dist/shared/utils/logger.d.ts +163 -0
  182. package/dist/shared/utils/logger.d.ts.map +1 -0
  183. package/dist/shared/utils/logger.js +389 -0
  184. package/dist/shared/utils/logger.js.map +1 -0
  185. package/package.json +25 -6
  186. package/CHANGELOG.md +0 -46
  187. package/agents/deps-analyzer.js +0 -366
  188. package/agents/detector.js +0 -570
  189. package/agents/fix-engine.js +0 -305
  190. package/agents/lighthouse-scanner.js +0 -405
  191. package/agents/perf-analyzer.js +0 -294
  192. package/agents/perf-front-analyzer.js +0 -229
  193. package/agents/test-generator.js +0 -387
  194. package/agents/test-runner.js +0 -318
  195. package/bin/cli.js +0 -449
  196. package/lib/config.js +0 -250
  197. package/lib/docker.js +0 -207
  198. package/lib/reporter.js +0 -297
  199. package/scripts/dev.js +0 -106
@@ -0,0 +1,516 @@
1
+ /**
2
+ * DockerManager - Gestion des conteneurs Docker
3
+ *
4
+ * Service pour gérer les opérations Docker de manière asynchrone.
5
+ * Utilise CommandExecutor pour l'exécution des commandes.
6
+ *
7
+ * @module services/docker/docker-manager
8
+ */
9
+ import * as path from 'node:path';
10
+ import { ContainerAlreadyExistsError, ImageBuildError, ContainerStartError, DockerDaemonUnavailableError, } from '../../shared/errors/docker.error.js';
11
+ import { CommandExecutor } from '../../shared/utils/command-executor.js';
12
+ import { createLogger } from '../../shared/utils/logger.js';
13
+ /**
14
+ * Configuration par défaut pour le DockerManager
15
+ */
16
+ const DEFAULT_CONFIG = {
17
+ imageName: 'daemon-tools',
18
+ containerName: 'daemon-tools',
19
+ dockerfilePath: path.join(process.cwd(), 'bin', 'Dockerfile'),
20
+ buildContext: path.join(process.cwd(), 'bin'),
21
+ };
22
+ /**
23
+ * Manager pour les opérations Docker
24
+ *
25
+ * Toutes les opérations sont asynchrones et utilisent CommandExecutor.
26
+ */
27
+ export class DockerManager {
28
+ config;
29
+ executor;
30
+ logger;
31
+ constructor(config = {}) {
32
+ this.config = { ...DEFAULT_CONFIG, ...config };
33
+ this.executor = new CommandExecutor();
34
+ this.logger = createLogger('DockerManager');
35
+ }
36
+ /**
37
+ * Vérifie si Docker est en cours d'exécution
38
+ */
39
+ async isRunning() {
40
+ const result = await this.executor.execute('docker info', { timeout: 5000 });
41
+ return result.success;
42
+ }
43
+ /**
44
+ * Vérifie si l'image Docker existe
45
+ */
46
+ async isImageBuilt() {
47
+ const result = await this.executor.execute(`docker images -q ${this.config.imageName}`, { timeout: 5000 });
48
+ return result.success && result.data?.stdout.trim().length > 0;
49
+ }
50
+ /**
51
+ * Construit l'image Docker
52
+ */
53
+ async build(options = {}) {
54
+ const startTime = performance.now();
55
+ const timeout = options.timeout ?? 600000; // 10 minutes par défaut
56
+ this.logger.info(`Building Docker image: ${this.config.imageName}`);
57
+ const buildContext = options.context ?? this.config.buildContext ?? path.dirname(this.config.dockerfilePath ?? '');
58
+ const dockerfile = options.dockerfile ?? this.config.dockerfilePath;
59
+ const tags = options.tags ?? [this.config.imageName];
60
+ const args = ['build'];
61
+ // Tags
62
+ for (const tag of tags) {
63
+ args.push('-t', tag);
64
+ }
65
+ // Dockerfile
66
+ if (dockerfile) {
67
+ args.push('-f', `"${dockerfile}"`);
68
+ }
69
+ // Options
70
+ if (options.noCache) {
71
+ args.push('--no-cache');
72
+ }
73
+ if (options.pull) {
74
+ args.push('--pull');
75
+ }
76
+ if (options.quiet) {
77
+ args.push('--quiet');
78
+ }
79
+ if (options.platform) {
80
+ args.push('--platform', options.platform);
81
+ }
82
+ if (options.target) {
83
+ args.push('--target', options.target);
84
+ }
85
+ // Build args
86
+ if (options.buildArgs) {
87
+ for (const [key, value] of Object.entries(options.buildArgs)) {
88
+ args.push('--build-arg', `${key}=${value}`);
89
+ }
90
+ }
91
+ // Cache from
92
+ if (options.cacheFrom) {
93
+ for (const cache of options.cacheFrom) {
94
+ args.push('--cache-from', cache);
95
+ }
96
+ }
97
+ // Build context
98
+ args.push(`"${buildContext}"`);
99
+ const command = `docker ${args.join(' ')}`;
100
+ try {
101
+ const result = await this.executor.execute(command, {
102
+ timeout,
103
+ silent: options.silent ?? false,
104
+ });
105
+ if (!result.success) {
106
+ throw result.error;
107
+ }
108
+ const duration = Math.round(performance.now() - startTime);
109
+ this.logger.info(`Image built successfully in ${duration}ms`);
110
+ return {
111
+ success: true,
112
+ duration,
113
+ };
114
+ }
115
+ catch (error) {
116
+ const duration = Math.round(performance.now() - startTime);
117
+ const message = error instanceof Error ? error.message : String(error);
118
+ this.logger.error(`Failed to build image after ${duration}ms`, error);
119
+ throw new ImageBuildError(buildContext, message);
120
+ }
121
+ }
122
+ /**
123
+ * Vérifie si le conteneur est en cours d'exécution
124
+ */
125
+ async isContainerRunning() {
126
+ const result = await this.executor.execute(`docker ps --filter "name=^${this.config.containerName}$" --format "{{.Names}}"`, { timeout: 5000 });
127
+ return result.success && result.data?.stdout.trim() === this.config.containerName;
128
+ }
129
+ /**
130
+ * Vérifie si le conteneur existe (arrêté ou en cours)
131
+ */
132
+ async containerExists() {
133
+ const result = await this.executor.execute(`docker ps -a --filter "name=^${this.config.containerName}$" --format "{{.Names}}"`, { timeout: 5000 });
134
+ return result.success && result.data?.stdout.trim() === this.config.containerName;
135
+ }
136
+ /**
137
+ * Retourne le statut du conteneur
138
+ */
139
+ async getContainerStatus() {
140
+ if (!(await this.containerExists())) {
141
+ return 'unknown';
142
+ }
143
+ if (await this.isContainerRunning()) {
144
+ return 'running';
145
+ }
146
+ // Récupérer le statut détaillé via inspect
147
+ const result = await this.executor.execute(`docker inspect -f '{{.State.Status}}' ${this.config.containerName}`, { timeout: 5000 });
148
+ if (!result.success || !result.data) {
149
+ return 'unknown';
150
+ }
151
+ const status = result.data.stdout.trim();
152
+ switch (status) {
153
+ case 'paused':
154
+ return 'paused';
155
+ case 'exited':
156
+ return 'exited';
157
+ case 'dead':
158
+ return 'dead';
159
+ case 'restarting':
160
+ return 'restarting';
161
+ case 'removing':
162
+ return 'removing';
163
+ case 'created':
164
+ return 'created';
165
+ default:
166
+ return 'unknown';
167
+ }
168
+ }
169
+ /**
170
+ * Crée un nouveau conteneur
171
+ */
172
+ async create(options = {}) {
173
+ if (await this.containerExists()) {
174
+ throw new ContainerAlreadyExistsError(this.config.containerName);
175
+ }
176
+ const args = this.buildCreateArgs(options);
177
+ const command = `docker run ${args.join(' ')}`;
178
+ this.logger.info(`Creating container: ${this.config.containerName}`);
179
+ try {
180
+ const result = await this.executor.execute(command, { timeout: 30000 });
181
+ if (!result.success) {
182
+ throw result.error;
183
+ }
184
+ this.logger.info(`Container created: ${this.config.containerName}`);
185
+ }
186
+ catch (error) {
187
+ this.logger.error(`Failed to create container`, error);
188
+ throw new ImageBuildError(this.config.imageName, `Container creation failed: ${error instanceof Error ? error.message : String(error)}`);
189
+ }
190
+ }
191
+ /**
192
+ * Démarre le conteneur
193
+ */
194
+ async start() {
195
+ if (await this.isContainerRunning()) {
196
+ this.logger.debug(`Container already running: ${this.config.containerName}`);
197
+ return;
198
+ }
199
+ if (!(await this.containerExists())) {
200
+ await this.create();
201
+ return;
202
+ }
203
+ this.logger.info(`Starting container: ${this.config.containerName}`);
204
+ try {
205
+ const result = await this.executor.execute(`docker start ${this.config.containerName}`, { timeout: 30000 });
206
+ if (!result.success) {
207
+ throw result.error;
208
+ }
209
+ this.logger.info(`Container started: ${this.config.containerName}`);
210
+ }
211
+ catch (error) {
212
+ this.logger.error(`Failed to start container`, error);
213
+ throw new ContainerStartError(this.config.containerName, error instanceof Error ? error.message : String(error));
214
+ }
215
+ }
216
+ /**
217
+ * Arrête le conteneur
218
+ */
219
+ async stop() {
220
+ if (!(await this.isContainerRunning())) {
221
+ this.logger.debug(`Container not running: ${this.config.containerName}`);
222
+ return;
223
+ }
224
+ this.logger.info(`Stopping container: ${this.config.containerName}`);
225
+ try {
226
+ const result = await this.executor.execute(`docker stop ${this.config.containerName}`, { timeout: 30000 });
227
+ if (!result.success) {
228
+ throw result.error;
229
+ }
230
+ this.logger.info(`Container stopped: ${this.config.containerName}`);
231
+ }
232
+ catch (error) {
233
+ this.logger.warn(`Failed to stop container: ${this.config.containerName}`, error);
234
+ // Non-critical, on continue
235
+ }
236
+ }
237
+ /**
238
+ * Supprime le conteneur
239
+ */
240
+ async remove(force = false) {
241
+ if (!(await this.containerExists())) {
242
+ this.logger.debug(`Container does not exist: ${this.config.containerName}`);
243
+ return;
244
+ }
245
+ this.logger.info(`Removing container: ${this.config.containerName}`);
246
+ try {
247
+ const result = await this.executor.execute(`docker rm${force ? ' -f' : ''} ${this.config.containerName}`, { timeout: 10000 });
248
+ if (!result.success) {
249
+ throw result.error;
250
+ }
251
+ this.logger.info(`Container removed: ${this.config.containerName}`);
252
+ }
253
+ catch (error) {
254
+ this.logger.warn(`Failed to remove container: ${this.config.containerName}`, error);
255
+ // Non-critical
256
+ }
257
+ }
258
+ /**
259
+ * Redémarre le conteneur
260
+ */
261
+ async restart() {
262
+ this.logger.info(`Restarting container: ${this.config.containerName}`);
263
+ try {
264
+ const result = await this.executor.execute(`docker restart ${this.config.containerName}`, { timeout: 30000 });
265
+ if (!result.success) {
266
+ throw result.error;
267
+ }
268
+ this.logger.info(`Container restarted: ${this.config.containerName}`);
269
+ }
270
+ catch (error) {
271
+ this.logger.error(`Failed to restart container`, error);
272
+ throw new ContainerStartError(this.config.containerName, error instanceof Error ? error.message : String(error));
273
+ }
274
+ }
275
+ /**
276
+ * Exécute une commande dans le conteneur
277
+ */
278
+ async exec(command, options = {}) {
279
+ if (!(await this.isContainerRunning())) {
280
+ throw new ContainerStartError(this.config.containerName, 'Container is not running');
281
+ }
282
+ const startTime = performance.now();
283
+ const timeout = options.timeout ?? 60000;
284
+ const args = ['exec'];
285
+ if (options.workingDir) {
286
+ args.push('-w', options.workingDir);
287
+ }
288
+ if (options.user) {
289
+ args.push('-u', options.user);
290
+ }
291
+ if (options.env) {
292
+ for (const [key, value] of Object.entries(options.env)) {
293
+ args.push('-e', `${key}=${value}`);
294
+ }
295
+ }
296
+ args.push(this.config.containerName);
297
+ args.push(command);
298
+ const dockerCommand = `docker ${args.join(' ')}`;
299
+ this.logger.debug(`Executing in container: ${command}`);
300
+ const result = await this.executor.execute(dockerCommand, { timeout });
301
+ const duration = Math.round(performance.now() - startTime);
302
+ this.logger.debug(`Command completed in ${duration}ms`);
303
+ if (result.success && result.data) {
304
+ const data = result.data;
305
+ return {
306
+ success: true,
307
+ stdout: data.stdout,
308
+ stderr: data.stderr,
309
+ exitCode: data.exitCode ?? 0,
310
+ duration,
311
+ };
312
+ }
313
+ // Extract values from failed result
314
+ const failedResult = result;
315
+ return {
316
+ success: false,
317
+ stdout: failedResult.data?.stdout ?? '',
318
+ stderr: failedResult.error?.stderr ?? failedResult.error?.message ?? 'Unknown error',
319
+ exitCode: failedResult.error?.exitCode ?? 1,
320
+ duration,
321
+ };
322
+ }
323
+ /**
324
+ * Récupère les logs du conteneur
325
+ */
326
+ async getLogs(options = {}) {
327
+ const tail = options.tail ?? 100;
328
+ const args = ['logs'];
329
+ if (options.follow) {
330
+ args.push('-f');
331
+ }
332
+ if (options.timestamps) {
333
+ args.push('-t');
334
+ }
335
+ if (options.since) {
336
+ args.push(`--since=${options.since}`);
337
+ }
338
+ if (options.until) {
339
+ args.push(`--until=${options.until}`);
340
+ }
341
+ args.push(`--tail=${tail}`);
342
+ args.push(this.config.containerName);
343
+ const result = await this.executor.execute(`docker ${args.join(' ')}`, {
344
+ timeout: 5000,
345
+ });
346
+ return result.success && result.data ? result.data.stdout : '';
347
+ }
348
+ /**
349
+ * Configure le conteneur (construit, démarre ou crée selon les besoins)
350
+ */
351
+ async setup(options = {}) {
352
+ const startTime = performance.now();
353
+ // Vérifier Docker
354
+ if (!(await this.isRunning())) {
355
+ throw new DockerDaemonUnavailableError();
356
+ }
357
+ // Construire l'image si nécessaire
358
+ if (!(await this.isImageBuilt())) {
359
+ if (options.onBuildStart) {
360
+ options.onBuildStart();
361
+ }
362
+ try {
363
+ await this.build({ silent: options.silent ?? false });
364
+ if (options.onBuildComplete) {
365
+ options.onBuildComplete();
366
+ }
367
+ const duration = Math.round(performance.now() - startTime);
368
+ return {
369
+ status: 'built',
370
+ duration,
371
+ };
372
+ }
373
+ catch (error) {
374
+ if (options.onBuildError) {
375
+ options.onBuildError(error);
376
+ }
377
+ throw error;
378
+ }
379
+ }
380
+ // Démarrer ou créer le conteneur
381
+ if (await this.isContainerRunning()) {
382
+ const duration = Math.round(performance.now() - startTime);
383
+ return {
384
+ status: 'running',
385
+ duration,
386
+ };
387
+ }
388
+ if (await this.containerExists()) {
389
+ await this.start();
390
+ const duration = Math.round(performance.now() - startTime);
391
+ return {
392
+ status: 'started',
393
+ duration,
394
+ };
395
+ }
396
+ await this.create();
397
+ const duration = Math.round(performance.now() - startTime);
398
+ return {
399
+ status: 'created',
400
+ duration,
401
+ };
402
+ }
403
+ /**
404
+ * Retourne la configuration actuelle
405
+ */
406
+ getConfig() {
407
+ return { ...this.config };
408
+ }
409
+ /**
410
+ * Met à jour la configuration
411
+ */
412
+ updateConfig(updates) {
413
+ Object.assign(this.config, updates);
414
+ }
415
+ /**
416
+ * Construit les arguments de création de conteneur
417
+ */
418
+ buildCreateArgs(options) {
419
+ const args = [];
420
+ // Nom
421
+ const name = options.name ?? this.config.containerName;
422
+ args.push('--name', name);
423
+ // Détach
424
+ if (options.detach ?? this.config.detach ?? true) {
425
+ args.push('-d');
426
+ }
427
+ // Auto-remove
428
+ if (options.autoRemove ?? this.config.autoRemove) {
429
+ args.push('--rm');
430
+ }
431
+ // Ports
432
+ const ports = { ...this.config.portMappings, ...options.ports };
433
+ for (const [containerPort, hostPort] of Object.entries(ports)) {
434
+ args.push('-p', `${hostPort}:${containerPort}`);
435
+ }
436
+ // Volumes
437
+ const volumes = this.config.volumeMappings ?? {};
438
+ if (options.volumes) {
439
+ for (const volume of options.volumes) {
440
+ args.push('-v', volume);
441
+ }
442
+ }
443
+ for (const [hostPath, containerPath] of Object.entries(volumes)) {
444
+ args.push('-v', `${hostPath}:${containerPath}`);
445
+ }
446
+ // Environment
447
+ const env = { ...this.config.environment, ...options.env };
448
+ for (const [key, value] of Object.entries(env)) {
449
+ args.push('-e', `${key}=${value}`);
450
+ }
451
+ // Env files
452
+ if (options.envFile) {
453
+ for (const envFile of options.envFile) {
454
+ args.push('--env-file', envFile);
455
+ }
456
+ }
457
+ // Working directory
458
+ if (options.workdir) {
459
+ args.push('-w', options.workdir);
460
+ }
461
+ // User
462
+ if (options.user) {
463
+ args.push('-u', options.user);
464
+ }
465
+ // Hostname
466
+ if (options.hostname) {
467
+ args.push('--hostname', options.hostname);
468
+ }
469
+ // Interactive
470
+ if (options.interactive) {
471
+ args.push('-i');
472
+ }
473
+ // TTY
474
+ if (options.tty) {
475
+ args.push('-t');
476
+ }
477
+ // Network
478
+ const network = options.network ?? this.config.network;
479
+ if (network) {
480
+ args.push('--network', network);
481
+ }
482
+ else if (process.platform === 'linux') {
483
+ // Par défaut sur Linux, utiliser host network
484
+ args.push('--network=host');
485
+ }
486
+ // Healthcheck
487
+ if (options.healthcheck) {
488
+ const hc = options.healthcheck;
489
+ args.push('--health-cmd', hc.command.join(' '));
490
+ if (hc.interval) {
491
+ args.push('--health-interval', String(hc.interval));
492
+ }
493
+ if (hc.timeout) {
494
+ args.push('--health-timeout', String(hc.timeout));
495
+ }
496
+ if (hc.retries) {
497
+ args.push('--health-retries', String(hc.retries));
498
+ }
499
+ if (hc.startPeriod) {
500
+ args.push('--health-start-period', String(hc.startPeriod));
501
+ }
502
+ }
503
+ // Image
504
+ args.push(this.config.imageName);
505
+ // Command
506
+ if (options.command) {
507
+ args.push(...options.command);
508
+ }
509
+ return args;
510
+ }
511
+ }
512
+ /**
513
+ * Instance singleton par défaut
514
+ */
515
+ export const dockerManager = new DockerManager();
516
+ //# sourceMappingURL=docker-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-manager.js","sourceRoot":"","sources":["../../../src/services/docker/docker-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Docker Service Module
3
+ *
4
+ * Service de gestion des conteneurs Docker pour Daemon.
5
+ *
6
+ * @module services/docker
7
+ */
8
+ export { DockerManager, dockerManager, type BuildOptions, type BuildResult, type SetupOptions, type SetupResult, type SetupStatus, } from './docker-manager.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/docker/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Docker Service Module
3
+ *
4
+ * Service de gestion des conteneurs Docker pour Daemon.
5
+ *
6
+ * @module services/docker
7
+ */
8
+ export { DockerManager, dockerManager, } from './docker-manager.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/docker/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,GAMd,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Services Barrel Export
3
+ *
4
+ * Central export point for all services
5
+ */
6
+ export { FrameworkDetector, getFrameworkDetector, detectFramework, } from './detection/index.js';
7
+ export type { FrameworkDetectorOptions, FrameworkScore, } from './detection/index.js';
8
+ export type { PatternType, BasePattern, FileExistsPattern, PackageJsonPattern, ContentMatchPattern, DetectionPattern, FrameworkPattern, DatabasePattern, TestRunnerPattern, DetectionResult, DetectionError, DetectionOptions, TestStrategy, } from './detection/index.js';
9
+ export type { Framework, Language, TestRunner, DatabaseInfo, PackageJson, } from '../core/types/project.types.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,wBAAwB,EACxB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Services Barrel Export
3
+ *
4
+ * Central export point for all services
5
+ */
6
+ // Detection services
7
+ export { FrameworkDetector, getFrameworkDetector, detectFramework, } from './detection/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for DaemonError base class
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=base.error.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.error.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/errors/__tests__/base.error.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}