@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,389 @@
1
+ /**
2
+ * Logger structuré avec support ANSI et contextes
3
+ *
4
+ * @module shared/utils/logger
5
+ */
6
+ /**
7
+ * Niveaux de log supportés
8
+ */
9
+ export var LogLevel;
10
+ (function (LogLevel) {
11
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
12
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
13
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
14
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
15
+ LogLevel[LogLevel["SILENT"] = 4] = "SILENT";
16
+ })(LogLevel || (LogLevel = {}));
17
+ /**
18
+ * Codes de couleurs ANSI pour la console
19
+ */
20
+ const ANSI_COLORS = {
21
+ reset: '\x1b[0m',
22
+ bright: '\x1b[1m',
23
+ dim: '\x1b[2m',
24
+ // Couleurs
25
+ black: '\x1b[30m',
26
+ red: '\x1b[31m',
27
+ green: '\x1b[32m',
28
+ yellow: '\x1b[33m',
29
+ blue: '\x1b[34m',
30
+ magenta: '\x1b[35m',
31
+ cyan: '\x1b[36m',
32
+ white: '\x1b[37m',
33
+ // Fond
34
+ bgRed: '\x1b[41m',
35
+ bgGreen: '\x1b[42m',
36
+ bgYellow: '\x1b[43m',
37
+ };
38
+ /**
39
+ * Configuration des niveaux avec leurs styles visuels
40
+ */
41
+ const LEVEL_CONFIGS = {
42
+ [LogLevel.DEBUG]: {
43
+ name: 'DEBUG',
44
+ color: ANSI_COLORS.dim,
45
+ prefix: '⚙',
46
+ },
47
+ [LogLevel.INFO]: {
48
+ name: 'INFO',
49
+ color: ANSI_COLORS.blue,
50
+ prefix: 'ℹ',
51
+ },
52
+ [LogLevel.WARN]: {
53
+ name: 'WARN',
54
+ color: ANSI_COLORS.yellow,
55
+ prefix: '⚠',
56
+ },
57
+ [LogLevel.ERROR]: {
58
+ name: 'ERROR',
59
+ color: ANSI_COLORS.red,
60
+ prefix: '✖',
61
+ },
62
+ [LogLevel.SILENT]: {
63
+ name: 'SILENT',
64
+ color: ANSI_COLORS.reset,
65
+ prefix: '',
66
+ },
67
+ };
68
+ /**
69
+ * Logger structuré avec support ANSI et contextes
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const logger = new Logger({ context: 'MyModule' });
74
+ * logger.info('Démarrage du module');
75
+ * logger.warn('Attention', { detail: 'valeur manquante' });
76
+ *
77
+ * // Contexte imbriqué
78
+ * const dbLogger = logger.createContext('Database');
79
+ * dbLogger.error('Erreur de connexion', new Error('ECONNREFUSED'));
80
+ * ```
81
+ */
82
+ export class Logger {
83
+ context;
84
+ level;
85
+ format;
86
+ noColor;
87
+ timestampFn;
88
+ // État global partagé
89
+ static globalLevel = null;
90
+ static globalNoColor = null;
91
+ /**
92
+ * Crée une nouvelle instance de Logger
93
+ */
94
+ constructor(options = {}) {
95
+ this.context = options.context;
96
+ this.level = options.level ?? Logger.globalLevel ?? LogLevel.INFO;
97
+ this.format = options.format ?? 'pretty';
98
+ this.noColor = options.noColor ?? Logger.globalNoColor ?? false;
99
+ this.timestampFn =
100
+ typeof options.timestamp === 'function'
101
+ ? options.timestamp
102
+ : options.timestamp === false
103
+ ? () => ''
104
+ : () => new Date().toISOString();
105
+ }
106
+ /**
107
+ * Définit le niveau de log global
108
+ */
109
+ static setGlobalLevel(level) {
110
+ Logger.globalLevel = level;
111
+ }
112
+ /**
113
+ * Définit l'option de couleur globale
114
+ */
115
+ static setGlobalNoColor(noColor) {
116
+ Logger.globalNoColor = noColor;
117
+ }
118
+ /**
119
+ * Définit le niveau de log pour cette instance
120
+ */
121
+ setLevel(level) {
122
+ this.level = level;
123
+ }
124
+ /**
125
+ * Retourne le niveau de log actuel
126
+ */
127
+ getLevel() {
128
+ return this.level;
129
+ }
130
+ /**
131
+ * Log un message de niveau DEBUG
132
+ */
133
+ debug(message, meta) {
134
+ this.log(LogLevel.DEBUG, message, meta);
135
+ }
136
+ /**
137
+ * Log un message de niveau INFO
138
+ */
139
+ info(message, meta) {
140
+ this.log(LogLevel.INFO, message, meta);
141
+ }
142
+ /**
143
+ * Log un message de niveau WARN
144
+ */
145
+ warn(message, meta) {
146
+ this.log(LogLevel.WARN, message, meta);
147
+ }
148
+ /**
149
+ * Log un message de niveau ERROR
150
+ */
151
+ error(message, error) {
152
+ let meta;
153
+ if (error instanceof Error) {
154
+ meta = {
155
+ error: {
156
+ name: error.name,
157
+ message: error.message,
158
+ stack: error.stack,
159
+ },
160
+ };
161
+ }
162
+ else if (error !== undefined) {
163
+ meta = { error };
164
+ }
165
+ this.log(LogLevel.ERROR, message, meta);
166
+ }
167
+ /**
168
+ * Log un message de succès (vert)
169
+ */
170
+ success(message, meta) {
171
+ const level = LogLevel.INFO;
172
+ if (level < this.level) {
173
+ return;
174
+ }
175
+ const timestamp = this.timestampFn();
176
+ const config = LEVEL_CONFIGS[level];
177
+ if (this.format === 'json') {
178
+ this.logJson(level, message, meta, timestamp);
179
+ }
180
+ else {
181
+ this.logSuccess(message, meta, timestamp);
182
+ }
183
+ }
184
+ /**
185
+ * Log au format succès avec couleur verte
186
+ */
187
+ logSuccess(message, meta, timestamp) {
188
+ const parts = [];
189
+ // Timestamp
190
+ if (timestamp) {
191
+ const tsColor = this.noColor ? '' : ANSI_COLORS.dim;
192
+ const tsReset = this.noColor ? '' : ANSI_COLORS.reset;
193
+ parts.push(`${tsColor}${timestamp}${tsReset}`);
194
+ }
195
+ // Contexte
196
+ if (this.context) {
197
+ const ctxColor = this.noColor ? '' : ANSI_COLORS.cyan;
198
+ const ctxReset = this.noColor ? '' : ANSI_COLORS.reset;
199
+ parts.push(`${ctxColor}[${this.context}]${ctxReset}`);
200
+ }
201
+ // Succès avec coche verte
202
+ const successColor = this.noColor ? '' : ANSI_COLORS.green;
203
+ const successReset = this.noColor ? '' : ANSI_COLORS.reset;
204
+ parts.push(`${successColor}✓ SUCCESS${successReset}`);
205
+ // Message
206
+ parts.push(message);
207
+ const prefix = parts.join(' ');
208
+ // Affichage
209
+ if (meta !== undefined) {
210
+ const normalized = this.normalizeMetadata(meta);
211
+ const metaStr = this.noColor
212
+ ? JSON.stringify(normalized, null, 2)
213
+ : this.colorizeJson(normalized);
214
+ console.log(`${prefix} ${metaStr}`);
215
+ }
216
+ else {
217
+ console.log(prefix);
218
+ }
219
+ }
220
+ /**
221
+ * Crée un nouveau logger avec un contexte imbriqué
222
+ */
223
+ createContext(context) {
224
+ const fullContext = this.context ? `${this.context}:${context}` : context;
225
+ return new Logger({
226
+ context: fullContext,
227
+ level: this.level,
228
+ format: this.format,
229
+ noColor: this.noColor,
230
+ timestamp: this.timestampFn !== (() => ''),
231
+ });
232
+ }
233
+ /**
234
+ * Log interne avec gestion du niveau et du format
235
+ */
236
+ log(level, message, meta) {
237
+ if (level < this.level) {
238
+ return;
239
+ }
240
+ const timestamp = this.timestampFn();
241
+ const config = LEVEL_CONFIGS[level];
242
+ if (this.format === 'json') {
243
+ this.logJson(level, message, meta, timestamp);
244
+ }
245
+ else {
246
+ this.logPretty(level, message, meta, timestamp, config);
247
+ }
248
+ }
249
+ /**
250
+ * Log au format JSON structuré
251
+ */
252
+ logJson(level, message, meta, timestamp) {
253
+ const entry = {
254
+ level: LEVEL_CONFIGS[level].name,
255
+ message,
256
+ timestamp,
257
+ };
258
+ if (this.context) {
259
+ entry.context = this.context;
260
+ }
261
+ if (meta !== undefined) {
262
+ entry.metadata = this.normalizeMetadata(meta);
263
+ }
264
+ console.log(JSON.stringify(entry));
265
+ }
266
+ /**
267
+ * Log au format pretty avec couleurs ANSI
268
+ */
269
+ logPretty(level, message, meta, timestamp, config) {
270
+ const parts = [];
271
+ // Timestamp
272
+ if (timestamp) {
273
+ const tsColor = this.noColor ? '' : ANSI_COLORS.dim;
274
+ const tsReset = this.noColor ? '' : ANSI_COLORS.reset;
275
+ parts.push(`${tsColor}${timestamp}${tsReset}`);
276
+ }
277
+ // Contexte
278
+ if (this.context) {
279
+ const ctxColor = this.noColor ? '' : ANSI_COLORS.cyan;
280
+ const ctxReset = this.noColor ? '' : ANSI_COLORS.reset;
281
+ parts.push(`${ctxColor}[${this.context}]${ctxReset}`);
282
+ }
283
+ // Niveau
284
+ const levelColor = this.noColor ? '' : config.color;
285
+ const levelReset = this.noColor ? '' : ANSI_COLORS.reset;
286
+ parts.push(`${levelColor}${config.prefix} ${config.name}${levelReset}`);
287
+ // Message
288
+ parts.push(message);
289
+ const prefix = parts.length > 0 ? `${parts.join(' ')} ` : '';
290
+ // Affichage
291
+ if (meta !== undefined) {
292
+ const normalized = this.normalizeMetadata(meta);
293
+ const metaStr = this.noColor
294
+ ? JSON.stringify(normalized, null, 2)
295
+ : this.colorizeJson(normalized);
296
+ console.log(`${prefix}${metaStr}`);
297
+ }
298
+ else {
299
+ console.log(prefix);
300
+ }
301
+ }
302
+ /**
303
+ * Normalise les métadonnées en objet plat
304
+ */
305
+ normalizeMetadata(meta) {
306
+ if (meta === null) {
307
+ return {};
308
+ }
309
+ if (typeof meta === 'string') {
310
+ return { message: meta };
311
+ }
312
+ if (typeof meta === 'object') {
313
+ return meta;
314
+ }
315
+ return { value: meta };
316
+ }
317
+ /**
318
+ * Colore une sortie JSON pour la console
319
+ */
320
+ colorizeJson(obj, indent = 0) {
321
+ const indentStr = ' '.repeat(indent);
322
+ const nextIndentStr = ' '.repeat(indent + 1);
323
+ if (obj === null) {
324
+ return this.noColor ? 'null' : `${ANSI_COLORS.dim}null${ANSI_COLORS.reset}`;
325
+ }
326
+ if (typeof obj === 'string') {
327
+ const value = JSON.stringify(obj);
328
+ return this.noColor
329
+ ? value
330
+ : `${ANSI_COLORS.green}${value}${ANSI_COLORS.reset}`;
331
+ }
332
+ if (typeof obj === 'number') {
333
+ const value = String(obj);
334
+ return this.noColor
335
+ ? value
336
+ : `${ANSI_COLORS.magenta}${value}${ANSI_COLORS.reset}`;
337
+ }
338
+ if (typeof obj === 'boolean') {
339
+ const value = String(obj);
340
+ return this.noColor
341
+ ? value
342
+ : `${ANSI_COLORS.yellow}${value}${ANSI_COLORS.reset}`;
343
+ }
344
+ if (Array.isArray(obj)) {
345
+ if (obj.length === 0) {
346
+ return '[]';
347
+ }
348
+ const items = obj.map((item) => this.colorizeJson(item, indent + 1));
349
+ return `[\n${items.map((i) => `${nextIndentStr}${i}`).join(',\n')}\n${indentStr}]`;
350
+ }
351
+ if (typeof obj === 'object') {
352
+ const entries = Object.entries(obj);
353
+ if (entries.length === 0) {
354
+ return '{}';
355
+ }
356
+ const pairs = entries.map(([key, value]) => {
357
+ const coloredKey = this.noColor
358
+ ? JSON.stringify(key)
359
+ : `${ANSI_COLORS.blue}${JSON.stringify(key)}${ANSI_COLORS.reset}`;
360
+ return `${coloredKey}: ${this.colorizeJson(value, indent + 1)}`;
361
+ });
362
+ return `{\n${pairs.map((p) => `${nextIndentStr}${p}`).join(',\n')}\n${indentStr}}`;
363
+ }
364
+ return String(obj);
365
+ }
366
+ }
367
+ /**
368
+ * Logger racine sans contexte
369
+ */
370
+ export const rootLogger = new Logger();
371
+ /**
372
+ * Crée un nouveau logger avec un contexte
373
+ *
374
+ * @example
375
+ * ```ts
376
+ * import { createLogger } from './logger';
377
+ *
378
+ * const logger = createLogger('MyModule');
379
+ * logger.info('Hello world');
380
+ * ```
381
+ */
382
+ export function createLogger(context, options) {
383
+ return new Logger({ ...options, context });
384
+ }
385
+ /**
386
+ * Logger global pour les usages simples
387
+ */
388
+ export const logger = rootLogger;
389
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/shared/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oalacea/daemon",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "AI-powered automated test generation and remediation for web applications",
5
5
  "author": "Yanis",
6
6
  "license": "MIT",
@@ -8,11 +8,19 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/Pamacea/daemon"
10
10
  },
11
+ "type": "module",
11
12
  "bin": {
12
- "daemon": "./bin/cli.js"
13
+ "daemon": "./dist/cli/cli.js"
13
14
  },
14
15
  "scripts": {
15
- "test": "echo \"Run: npx --yes @oalacea/daemon@latest\" && exit 0"
16
+ "build": "tsc",
17
+ "dev": "tsx src/cli/index.ts",
18
+ "test": "vitest",
19
+ "test:run": "node --experimental-strip-types dist/cli/index.js",
20
+ "lint": "eslint src",
21
+ "typecheck": "tsc --noEmit",
22
+ "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
23
+ "prepublishOnly": "npm run clean && npm run build"
16
24
  },
17
25
  "keywords": [
18
26
  "testing",
@@ -26,9 +34,20 @@
26
34
  "playwright",
27
35
  "k6"
28
36
  ],
29
- "dependencies": {},
30
- "devDependencies": {},
37
+ "devDependencies": {
38
+ "@types/node": "^20.19.33",
39
+ "eslint": "^8.56.0",
40
+ "tsx": "^4.7.0",
41
+ "typescript": "^5.9.3",
42
+ "vitest": "^1.2.0"
43
+ },
31
44
  "engines": {
32
45
  "node": ">=18.0.0"
33
- }
46
+ },
47
+ "files": [
48
+ "dist",
49
+ "prompts",
50
+ "templates",
51
+ "bin/Dockerfile"
52
+ ]
34
53
  }
package/CHANGELOG.md DELETED
@@ -1,46 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ### Added
11
- - Additional framework support
12
- - Enhanced test patterns
13
- - Performance benchmarking comparisons
14
- - CI/CD integration templates
15
-
16
- ## [1.0.0] - 2026-02-09
17
-
18
- ### Added
19
- - Initial stable release of Daemon - AI-powered automated test generation
20
- - CLI tool: `npx @oalacea/daemon@latest`
21
- - Automated framework detection (Next.js, Remix, SvelteKit, Vite, etc.)
22
- - Database detection (Prisma, Drizzle, Neon, Supabase, local Postgres)
23
- - Unit test generation (components, hooks, utils, validators, stores)
24
- - Integration test generation (API routes, database operations with transaction rollback)
25
- - E2E test generation with Playwright (user flows, forms, navigation)
26
- - Backend performance testing with k6 (API load testing, DB benchmarks)
27
- - Frontend performance testing with Lighthouse (Core Web Vitals, LCP, FID, CLS)
28
- - Dependency analysis (TanStack Router, React Query, Prisma, Zustand, React Compiler)
29
- - Docker toolkit with pre-configured tools (~500 MB)
30
- - Vitest, Testing Library (React, Vue, Svelte, Solid), Happy DOM
31
- - Playwright (Chromium) for E2E testing
32
- - k6 for load testing
33
- - Lighthouse for performance metrics
34
- - Comprehensive reporting with coverage and performance data
35
- - Cross-platform support (Linux, macOS, Windows)
36
- - Automatic test failure categorization and fix suggestions
37
- - MIT License
38
- - Complete documentation
39
-
40
- ## [1.0.0-alpha] - 2025-02-07
41
-
42
- ### Added
43
- - Initial alpha release
44
- - Core framework and database detection
45
- - Basic test generation templates
46
- - Docker container setup