@oalacea/daemon 0.5.1 → 0.6.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 (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,93 @@
1
+ /**
2
+ * FileSystemError - Errors related to file system operations.
3
+ *
4
+ * Provides specific error types for common file operations:
5
+ * - File not found
6
+ * - Permission denied
7
+ * - Invalid JSON
8
+ * - Directory creation failures
9
+ * - File operation failures
10
+ */
11
+ import { DaemonError } from './base.error.js';
12
+ /**
13
+ * Base class for all file system related errors
14
+ */
15
+ export class FileSystemError extends DaemonError {
16
+ constructor(message, code, options) {
17
+ super(message, code, options);
18
+ Object.setPrototypeOf(this, FileSystemError.prototype);
19
+ }
20
+ }
21
+ /**
22
+ * Thrown when a file or directory is not found
23
+ */
24
+ export class FileNotFoundError extends FileSystemError {
25
+ constructor(filePath, options) {
26
+ super(`File or directory not found: ${filePath}`, 'FILE_001', { ...options, context: { ...options?.context, filePath } });
27
+ Object.setPrototypeOf(this, FileNotFoundError.prototype);
28
+ }
29
+ }
30
+ /**
31
+ * Thrown when lacking permission to access a file/directory
32
+ */
33
+ export class FilePermissionError extends FileSystemError {
34
+ constructor(filePath, operation, options) {
35
+ super(`Permission denied for '${operation}' on: ${filePath}`, 'FILE_002', { ...options, context: { ...options?.context, filePath, operation } });
36
+ Object.setPrototypeOf(this, FilePermissionError.prototype);
37
+ }
38
+ }
39
+ /**
40
+ * Thrown when JSON parsing fails
41
+ */
42
+ export class InvalidJsonError extends FileSystemError {
43
+ constructor(filePath, parseError, options) {
44
+ super(`Invalid JSON in file ${filePath}: ${parseError}`, 'FILE_003', { ...options, context: { ...options?.context, filePath, parseError } });
45
+ Object.setPrototypeOf(this, InvalidJsonError.prototype);
46
+ }
47
+ }
48
+ /**
49
+ * Thrown when directory creation fails
50
+ */
51
+ export class DirectoryCreationError extends FileSystemError {
52
+ constructor(dirPath, options) {
53
+ super(`Failed to create directory: ${dirPath}`, 'FILE_004', { ...options, context: { ...options?.context, dirPath } });
54
+ Object.setPrototypeOf(this, DirectoryCreationError.prototype);
55
+ }
56
+ }
57
+ /**
58
+ * Thrown when file write operation fails
59
+ */
60
+ export class FileWriteError extends FileSystemError {
61
+ constructor(filePath, options) {
62
+ super(`Failed to write to file: ${filePath}`, 'FILE_005', { ...options, context: { ...options?.context, filePath } });
63
+ Object.setPrototypeOf(this, FileWriteError.prototype);
64
+ }
65
+ }
66
+ /**
67
+ * Thrown when file read operation fails
68
+ */
69
+ export class FileReadError extends FileSystemError {
70
+ constructor(filePath, options) {
71
+ super(`Failed to read file: ${filePath}`, 'FILE_006', { ...options, context: { ...options?.context, filePath } });
72
+ Object.setPrototypeOf(this, FileReadError.prototype);
73
+ }
74
+ }
75
+ /**
76
+ * Thrown when file copy operation fails
77
+ */
78
+ export class FileCopyError extends FileSystemError {
79
+ constructor(sourcePath, destPath, options) {
80
+ super(`Failed to copy file from ${sourcePath} to ${destPath}`, 'FILE_007', { ...options, context: { ...options?.context, sourcePath, destPath } });
81
+ Object.setPrototypeOf(this, FileCopyError.prototype);
82
+ }
83
+ }
84
+ /**
85
+ * Thrown when file search operation fails
86
+ */
87
+ export class FileSearchError extends FileSystemError {
88
+ constructor(dirPath, pattern, options) {
89
+ super(`Failed to search for files matching '${pattern}' in: ${dirPath}`, 'FILE_008', { ...options, context: { ...options?.context, dirPath, pattern } });
90
+ Object.setPrototypeOf(this, FileSearchError.prototype);
91
+ }
92
+ }
93
+ //# sourceMappingURL=file.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.error.js","sourceRoot":"","sources":["../../../src/shared/errors/file.error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Daemon Error System
3
+ *
4
+ * Centralized error handling for the Daemon toolkit.
5
+ * All errors extend DaemonError base class with:
6
+ * - Unique error codes
7
+ * - Cause chaining support
8
+ * - Serialization capabilities
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import {
13
+ * ContainerNotFoundError,
14
+ * UnsupportedFrameworkError,
15
+ * CommandFailedError
16
+ * } from '@pamacea/daemon/errors';
17
+ *
18
+ * throw new ContainerNotFoundError('my-container');
19
+ * ```
20
+ */
21
+ export { DaemonError, type ErrorContext, type DaemonErrorOptions, } from './base.error.js';
22
+ import { DaemonError as DaemonErrorClass } from './base.error.js';
23
+ type DaemonError = DaemonErrorClass;
24
+ export { DockerErrors, BaseDockerError, ContainerNotFoundError, ImageBuildError, ContainerAlreadyExistsError, ContainerStartError, ContainerStopError, DockerDaemonUnavailableError, ImagePullError, } from './docker.error.js';
25
+ export { DetectionError, UnsupportedFrameworkError, } from './detection.error.js';
26
+ export { CommandExecutionError, CommandNotFoundError, CommandTimeoutError, CommandFailedError, InvalidCommandArgumentsError, CommandCancelledError, } from './command.error.js';
27
+ export { ValidationError, SchemaValidationError, RequiredFieldError, InvalidFormatError, ValueOutOfRangeError, ConfigurationValidationError, type ValidationErrorDetail, } from './validation.error.js';
28
+ export { FileSystemError, FileNotFoundError, FilePermissionError, InvalidJsonError, DirectoryCreationError, FileWriteError, FileReadError, FileCopyError, FileSearchError, } from './file.error.js';
29
+ /**
30
+ * Error code categories
31
+ */
32
+ export declare enum ErrorCategory {
33
+ DAEMON = "DAEMON",
34
+ DOCKER = "DOCKER",
35
+ DETECTION = "DETECTION",
36
+ COMMAND = "COMMAND",
37
+ VALIDATION = "VALIDATION",
38
+ FILESYSTEM = "FILE"
39
+ }
40
+ /**
41
+ * Check if an error is a DaemonError
42
+ */
43
+ export declare function isDaemonError(error: unknown): error is DaemonError;
44
+ /**
45
+ * Check if an error belongs to a specific category
46
+ */
47
+ export declare function isErrorCategory(error: unknown, category: ErrorCategory): boolean;
48
+ /**
49
+ * Get a safe error message (handles unknown errors)
50
+ */
51
+ export declare function getErrorMessage(error: unknown): string;
52
+ /**
53
+ * Get error code from any error (returns 'UNKNOWN' if not a DaemonError)
54
+ */
55
+ export declare function getErrorCode(error: unknown): string;
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,KAAK,WAAW,GAAG,gBAAgB,CAAC;AAGpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,SAAS;CACpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAGlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAOhF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAStD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMnD"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Daemon Error System
3
+ *
4
+ * Centralized error handling for the Daemon toolkit.
5
+ * All errors extend DaemonError base class with:
6
+ * - Unique error codes
7
+ * - Cause chaining support
8
+ * - Serialization capabilities
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import {
13
+ * ContainerNotFoundError,
14
+ * UnsupportedFrameworkError,
15
+ * CommandFailedError
16
+ * } from '@pamacea/daemon/errors';
17
+ *
18
+ * throw new ContainerNotFoundError('my-container');
19
+ * ```
20
+ */
21
+ // Base error
22
+ export { DaemonError, } from './base.error.js';
23
+ // Docker errors
24
+ export { DockerErrors, BaseDockerError, ContainerNotFoundError, ImageBuildError, ContainerAlreadyExistsError, ContainerStartError, ContainerStopError, DockerDaemonUnavailableError, ImagePullError, } from './docker.error.js';
25
+ // Detection errors
26
+ export { DetectionError, UnsupportedFrameworkError, } from './detection.error.js';
27
+ // Command errors
28
+ export { CommandExecutionError, CommandNotFoundError, CommandTimeoutError, CommandFailedError, InvalidCommandArgumentsError, CommandCancelledError, } from './command.error.js';
29
+ // Validation errors
30
+ export { ValidationError, SchemaValidationError, RequiredFieldError, InvalidFormatError, ValueOutOfRangeError, ConfigurationValidationError, } from './validation.error.js';
31
+ // File system errors
32
+ export { FileSystemError, FileNotFoundError, FilePermissionError, InvalidJsonError, DirectoryCreationError, FileWriteError, FileReadError, FileCopyError, FileSearchError, } from './file.error.js';
33
+ /**
34
+ * Error code categories
35
+ */
36
+ export var ErrorCategory;
37
+ (function (ErrorCategory) {
38
+ ErrorCategory["DAEMON"] = "DAEMON";
39
+ ErrorCategory["DOCKER"] = "DOCKER";
40
+ ErrorCategory["DETECTION"] = "DETECTION";
41
+ ErrorCategory["COMMAND"] = "COMMAND";
42
+ ErrorCategory["VALIDATION"] = "VALIDATION";
43
+ ErrorCategory["FILESYSTEM"] = "FILE";
44
+ })(ErrorCategory || (ErrorCategory = {}));
45
+ /**
46
+ * Check if an error is a DaemonError
47
+ */
48
+ export function isDaemonError(error) {
49
+ const err = error;
50
+ return err !== null && typeof err === 'object' && 'code' in err && 'message' in err;
51
+ }
52
+ /**
53
+ * Check if an error belongs to a specific category
54
+ */
55
+ export function isErrorCategory(error, category) {
56
+ const err = error;
57
+ if (!isDaemonError(error)) {
58
+ return false;
59
+ }
60
+ const code = err.code;
61
+ return typeof code === 'string' && code.startsWith(category);
62
+ }
63
+ /**
64
+ * Get a safe error message (handles unknown errors)
65
+ */
66
+ export function getErrorMessage(error) {
67
+ if (typeof error === 'string') {
68
+ return error;
69
+ }
70
+ const err = error;
71
+ if (err !== null && typeof err === 'object' && 'message' in err && typeof err.message === 'string') {
72
+ return err.message;
73
+ }
74
+ return String(error);
75
+ }
76
+ /**
77
+ * Get error code from any error (returns 'UNKNOWN' if not a DaemonError)
78
+ */
79
+ export function getErrorCode(error) {
80
+ const err = error;
81
+ if (err !== null && typeof err === 'object' && 'code' in err && typeof err.code === 'string') {
82
+ return err.code;
83
+ }
84
+ return 'UNKNOWN';
85
+ }
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,aAAa;AACb,OAAO,EACL,WAAW,GAGZ,MAAM,iBAAiB,CAAC;AAMzB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,uBAAuB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,oCAAmB,CAAA;AACrB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,QAAuB;IACrE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAc,CAAC;IAChC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnG,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7F,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Validation errors.
3
+ *
4
+ * Error codes:
5
+ * - VALIDATION_001: Generic validation error
6
+ * - VALIDATION_002: Schema validation error
7
+ * - VALIDATION_003: Required field missing
8
+ * - VALIDATION_004: Invalid format
9
+ * - VALIDATION_005: Value out of range
10
+ * - VALIDATION_006: Configuration validation error
11
+ */
12
+ import { DaemonError, type DaemonErrorOptions } from './base.error.js';
13
+ /**
14
+ * Validation error details
15
+ */
16
+ export interface ValidationErrorDetail {
17
+ field?: string;
18
+ value?: unknown;
19
+ constraint?: string;
20
+ message: string;
21
+ }
22
+ /**
23
+ * Base class for all validation-related errors
24
+ */
25
+ export declare class ValidationError extends DaemonError {
26
+ readonly details: ValidationErrorDetail[];
27
+ constructor(message: string, details?: ValidationErrorDetail[], options?: DaemonErrorOptions);
28
+ /**
29
+ * Get all error messages as a flat array
30
+ */
31
+ getErrorMessages(): string[];
32
+ /**
33
+ * Get errors for a specific field
34
+ */
35
+ getFieldErrors(field: string): ValidationErrorDetail[];
36
+ }
37
+ /**
38
+ * Thrown when schema validation fails
39
+ */
40
+ export declare class SchemaValidationError extends ValidationError {
41
+ constructor(schemaName: string, details: ValidationErrorDetail[], options?: DaemonErrorOptions);
42
+ }
43
+ /**
44
+ * Thrown when a required field is missing
45
+ */
46
+ export declare class RequiredFieldError extends ValidationError {
47
+ constructor(field: string, options?: DaemonErrorOptions);
48
+ }
49
+ /**
50
+ * Thrown when a value has an invalid format
51
+ */
52
+ export declare class InvalidFormatError extends ValidationError {
53
+ constructor(field: string, expectedFormat: string, actualValue: unknown, options?: DaemonErrorOptions);
54
+ }
55
+ /**
56
+ * Thrown when a value is out of allowed range
57
+ */
58
+ export declare class ValueOutOfRangeError extends ValidationError {
59
+ constructor(field: string, min: number, max: number, actualValue: number, options?: DaemonErrorOptions);
60
+ }
61
+ /**
62
+ * Thrown when configuration validation fails
63
+ */
64
+ export declare class ConfigurationValidationError extends ValidationError {
65
+ constructor(configPath: string, details: ValidationErrorDetail[], options?: DaemonErrorOptions);
66
+ }
67
+ //# sourceMappingURL=validation.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/validation.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAgB,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAAqB,EAAO,EACrC,OAAO,CAAC,EAAE,kBAAkB;IAa9B;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,EAAE;CAGvD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC5C,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ/F;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQxD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAatG;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAavG;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,eAAe;gBACnD,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ/F"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Validation errors.
3
+ *
4
+ * Error codes:
5
+ * - VALIDATION_001: Generic validation error
6
+ * - VALIDATION_002: Schema validation error
7
+ * - VALIDATION_003: Required field missing
8
+ * - VALIDATION_004: Invalid format
9
+ * - VALIDATION_005: Value out of range
10
+ * - VALIDATION_006: Configuration validation error
11
+ */
12
+ import { DaemonError } from './base.error.js';
13
+ /**
14
+ * Base class for all validation-related errors
15
+ */
16
+ export class ValidationError extends DaemonError {
17
+ details;
18
+ constructor(message, details = [], options) {
19
+ super(message, 'VALIDATION_001', {
20
+ ...options,
21
+ context: {
22
+ details,
23
+ ...options?.context,
24
+ },
25
+ });
26
+ this.name = 'ValidationError';
27
+ this.details = details;
28
+ }
29
+ /**
30
+ * Get all error messages as a flat array
31
+ */
32
+ getErrorMessages() {
33
+ return this.details.map(d => d.message);
34
+ }
35
+ /**
36
+ * Get errors for a specific field
37
+ */
38
+ getFieldErrors(field) {
39
+ return this.details.filter(d => d.field === field);
40
+ }
41
+ }
42
+ /**
43
+ * Thrown when schema validation fails
44
+ */
45
+ export class SchemaValidationError extends ValidationError {
46
+ constructor(schemaName, details, options) {
47
+ super(`Schema validation failed for ${schemaName}`, details, options);
48
+ this.name = 'SchemaValidationError';
49
+ }
50
+ }
51
+ /**
52
+ * Thrown when a required field is missing
53
+ */
54
+ export class RequiredFieldError extends ValidationError {
55
+ constructor(field, options) {
56
+ super(`Required field is missing: ${field}`, [{ field, message: `Field '${field}' is required` }], options);
57
+ this.name = 'RequiredFieldError';
58
+ }
59
+ }
60
+ /**
61
+ * Thrown when a value has an invalid format
62
+ */
63
+ export class InvalidFormatError extends ValidationError {
64
+ constructor(field, expectedFormat, actualValue, options) {
65
+ super(`Invalid format for field '${field}': expected ${expectedFormat}`, [{
66
+ field,
67
+ value: actualValue,
68
+ constraint: expectedFormat,
69
+ message: `Field '${field}' must be in ${expectedFormat} format`,
70
+ }], options);
71
+ this.name = 'InvalidFormatError';
72
+ }
73
+ }
74
+ /**
75
+ * Thrown when a value is out of allowed range
76
+ */
77
+ export class ValueOutOfRangeError extends ValidationError {
78
+ constructor(field, min, max, actualValue, options) {
79
+ super(`Value out of range for '${field}': ${actualValue} (expected: ${min}-${max})`, [{
80
+ field,
81
+ value: actualValue,
82
+ constraint: `${min}-${max}`,
83
+ message: `Field '${field}' must be between ${min} and ${max}`,
84
+ }], options);
85
+ this.name = 'ValueOutOfRangeError';
86
+ }
87
+ }
88
+ /**
89
+ * Thrown when configuration validation fails
90
+ */
91
+ export class ConfigurationValidationError extends ValidationError {
92
+ constructor(configPath, details, options) {
93
+ super(`Configuration validation failed for ${configPath}`, details, options);
94
+ this.name = 'ConfigurationValidationError';
95
+ }
96
+ }
97
+ //# sourceMappingURL=validation.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.error.js","sourceRoot":"","sources":["../../../src/shared/errors/validation.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAA2B,MAAM,iBAAiB,CAAC;AAYvE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9B,OAAO,CAA0B;IAEjD,YACE,OAAe,EACf,UAAmC,EAAE,EACrC,OAA4B;QAE5B,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE;YAC/B,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,OAAO;gBACP,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,YAAY,UAAkB,EAAE,OAAgC,EAAE,OAA4B;QAC5F,KAAK,CACH,gCAAgC,UAAU,EAAE,EAC5C,OAAO,EACP,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,KAAa,EAAE,OAA4B;QACrD,KAAK,CACH,8BAA8B,KAAK,EAAE,EACrC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,KAAK,eAAe,EAAE,CAAC,EACpD,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,KAAa,EAAE,cAAsB,EAAE,WAAoB,EAAE,OAA4B;QACnG,KAAK,CACH,6BAA6B,KAAK,eAAe,cAAc,EAAE,EACjE,CAAC;gBACC,KAAK;gBACL,KAAK,EAAE,WAAW;gBAClB,UAAU,EAAE,cAAc;gBAC1B,OAAO,EAAE,UAAU,KAAK,gBAAgB,cAAc,SAAS;aAChE,CAAC,EACF,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IACvD,YAAY,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,WAAmB,EAAE,OAA4B;QACpG,KAAK,CACH,2BAA2B,KAAK,MAAM,WAAW,eAAe,GAAG,IAAI,GAAG,GAAG,EAC7E,CAAC;gBACC,KAAK;gBACL,KAAK,EAAE,WAAW;gBAClB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE;gBAC3B,OAAO,EAAE,UAAU,KAAK,qBAAqB,GAAG,QAAQ,GAAG,EAAE;aAC9D,CAAC,EACF,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,eAAe;IAC/D,YAAY,UAAkB,EAAE,OAAgC,EAAE,OAA4B;QAC5F,KAAK,CACH,uCAAuC,UAAU,EAAE,EACnD,OAAO,EACP,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/templates/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/prompt-builder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/shared/templates/prompt-builder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=template-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/template-engine.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=template-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../../src/shared/templates/template-engine.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for CommandExecutor utility
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=command-executor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-executor.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/__tests__/command-executor.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Tests for CommandExecutor utility
3
+ */
4
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
5
+ import { CommandExecutor } from '../command-executor.js';
6
+ // Mock the child_process exec
7
+ vi.mock('node:child_process', () => ({
8
+ exec: vi.fn(),
9
+ }));
10
+ describe('CommandExecutor', () => {
11
+ let executor;
12
+ beforeEach(() => {
13
+ executor = new CommandExecutor();
14
+ vi.clearAllMocks();
15
+ });
16
+ it('should create executor with default options', () => {
17
+ expect(executor).toBeInstanceOf(CommandExecutor);
18
+ });
19
+ it('should create executor with custom options', () => {
20
+ const customExecutor = new CommandExecutor({
21
+ timeout: 10000,
22
+ retries: 3,
23
+ silent: true,
24
+ });
25
+ expect(customExecutor).toBeInstanceOf(CommandExecutor);
26
+ });
27
+ // Note: Full execution tests require mocking execAsync
28
+ // These are basic structure tests
29
+ describe('execute', () => {
30
+ it('should have execute method', () => {
31
+ expect(typeof executor.execute).toBe('function');
32
+ });
33
+ });
34
+ describe('executeParallel', () => {
35
+ it('should have executeParallel method', () => {
36
+ expect(typeof executor.executeParallel).toBe('function');
37
+ });
38
+ });
39
+ describe('executeSequence', () => {
40
+ it('should have executeParallel method', () => {
41
+ expect(typeof executor.executeParallel).toBe('function');
42
+ });
43
+ });
44
+ });
45
+ //# sourceMappingURL=command-executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-executor.test.js","sourceRoot":"","sources":["../../../../src/shared/utils/__tests__/command-executor.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,8BAA8B;AAC9B,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;CACd,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,QAAyB,CAAC;IAE9B,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC;YACzC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,kCAAkC;IAElC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for FileSystemHelper utility
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=file-helper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-helper.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/__tests__/file-helper.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Tests for FileSystemHelper utility
3
+ */
4
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
5
+ import { FileSystemHelper } from '../file-helper.js';
6
+ // Mock fs promises
7
+ vi.mock('node:fs/promises', () => ({
8
+ readFile: vi.fn(),
9
+ writeFile: vi.fn(),
10
+ readdir: vi.fn(),
11
+ mkdir: vi.fn(),
12
+ stat: vi.fn(),
13
+ access: vi.fn(),
14
+ copyFile: vi.fn(),
15
+ }));
16
+ describe('FileSystemHelper', () => {
17
+ let fileHelper;
18
+ beforeEach(() => {
19
+ fileHelper = new FileSystemHelper();
20
+ vi.clearAllMocks();
21
+ });
22
+ afterEach(() => {
23
+ vi.restoreAllMocks();
24
+ });
25
+ describe('constructor', () => {
26
+ it('should create file helper', () => {
27
+ expect(fileHelper).toBeInstanceOf(FileSystemHelper);
28
+ });
29
+ });
30
+ describe('readFile', () => {
31
+ it('should have readFile method', () => {
32
+ expect(typeof fileHelper.readFile).toBe('function');
33
+ });
34
+ });
35
+ describe('writeFile', () => {
36
+ it('should have writeFile method', () => {
37
+ expect(typeof fileHelper.writeFile).toBe('function');
38
+ });
39
+ });
40
+ describe('readJson', () => {
41
+ it('should have readJson method', () => {
42
+ expect(typeof fileHelper.readJson).toBe('function');
43
+ });
44
+ });
45
+ describe('writeJson', () => {
46
+ it('should have writeJson method', () => {
47
+ expect(typeof fileHelper.writeJson).toBe('function');
48
+ });
49
+ });
50
+ describe('ensureDir', () => {
51
+ it('should have ensureDir method', () => {
52
+ expect(typeof fileHelper.ensureDir).toBe('function');
53
+ });
54
+ });
55
+ describe('findFiles', () => {
56
+ it('should have findFiles method', () => {
57
+ expect(typeof fileHelper.findFiles).toBe('function');
58
+ });
59
+ });
60
+ describe('copyFile', () => {
61
+ it('should have copyFile method', () => {
62
+ expect(typeof fileHelper.copyFile).toBe('function');
63
+ });
64
+ });
65
+ describe('exists', () => {
66
+ it('should have exists method', () => {
67
+ expect(typeof fileHelper.exists).toBe('function');
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=file-helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-helper.test.js","sourceRoot":"","sources":["../../../../src/shared/utils/__tests__/file-helper.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,mBAAmB;AACnB,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,UAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for Logger utility
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=logger.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/__tests__/logger.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}