@oalacea/daemon 0.5.0 → 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.
- package/LICENSE +23 -23
- package/README.md +147 -141
- package/bin/Dockerfile +75 -74
- package/dist/cli/cli.d.ts +42 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +89 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/commands/detect.command.d.ts +39 -0
- package/dist/cli/commands/detect.command.d.ts.map +1 -0
- package/dist/cli/commands/detect.command.js +111 -0
- package/dist/cli/commands/detect.command.js.map +1 -0
- package/dist/cli/commands/index.d.ts +14 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +11 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.command.d.ts +41 -0
- package/dist/cli/commands/init.command.d.ts.map +1 -0
- package/dist/cli/commands/init.command.js +111 -0
- package/dist/cli/commands/init.command.js.map +1 -0
- package/dist/cli/commands/test.command.d.ts +58 -0
- package/dist/cli/commands/test.command.d.ts.map +1 -0
- package/dist/cli/commands/test.command.js +180 -0
- package/dist/cli/commands/test.command.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/config/daemon.config.d.ts +32 -0
- package/dist/core/config/daemon.config.d.ts.map +1 -0
- package/dist/core/config/daemon.config.js +83 -0
- package/dist/core/config/daemon.config.js.map +1 -0
- package/dist/core/config/index.d.ts +5 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/index.js +5 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/constants.d.ts +36 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +56 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/types/common.types.d.ts +250 -0
- package/dist/core/types/common.types.d.ts.map +1 -0
- package/dist/core/types/common.types.js +7 -0
- package/dist/core/types/common.types.js.map +1 -0
- package/dist/core/types/detection.types.d.ts +232 -0
- package/dist/core/types/detection.types.d.ts.map +1 -0
- package/dist/core/types/detection.types.js +22 -0
- package/dist/core/types/detection.types.js.map +1 -0
- package/dist/core/types/docker.types.d.ts +322 -0
- package/dist/core/types/docker.types.d.ts.map +1 -0
- package/dist/core/types/docker.types.js +7 -0
- package/dist/core/types/docker.types.js.map +1 -0
- package/dist/core/types/index.d.ts +11 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +7 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/project.types.d.ts +74 -0
- package/dist/core/types/project.types.d.ts.map +1 -0
- package/dist/core/types/project.types.js +7 -0
- package/dist/core/types/project.types.js.map +1 -0
- package/dist/core/types/shared.types.d.ts +118 -0
- package/dist/core/types/shared.types.d.ts.map +1 -0
- package/dist/core/types/shared.types.js +7 -0
- package/dist/core/types/shared.types.js.map +1 -0
- package/dist/core/types/test.types.d.ts +230 -0
- package/dist/core/types/test.types.d.ts.map +1 -0
- package/dist/core/types/test.types.js +7 -0
- package/dist/core/types/test.types.js.map +1 -0
- package/dist/services/detection/__tests__/framework-detector.test.d.ts +5 -0
- package/dist/services/detection/__tests__/framework-detector.test.d.ts.map +1 -0
- package/dist/services/detection/__tests__/framework-detector.test.js +52 -0
- package/dist/services/detection/__tests__/framework-detector.test.js.map +1 -0
- package/dist/services/detection/framework-detector.d.ts +179 -0
- package/dist/services/detection/framework-detector.d.ts.map +1 -0
- package/dist/services/detection/framework-detector.js +636 -0
- package/dist/services/detection/framework-detector.js.map +1 -0
- package/dist/services/detection/index.d.ts +10 -0
- package/dist/services/detection/index.d.ts.map +1 -0
- package/dist/services/detection/index.js +7 -0
- package/dist/services/detection/index.js.map +1 -0
- package/dist/services/docker/__tests__/docker-manager.test.d.ts +5 -0
- package/dist/services/docker/__tests__/docker-manager.test.d.ts.map +1 -0
- package/dist/services/docker/__tests__/docker-manager.test.js +67 -0
- package/dist/services/docker/__tests__/docker-manager.test.js.map +1 -0
- package/dist/services/docker/docker-manager.d.ts +157 -0
- package/dist/services/docker/docker-manager.d.ts.map +1 -0
- package/dist/services/docker/docker-manager.js +516 -0
- package/dist/services/docker/docker-manager.js.map +1 -0
- package/dist/services/docker/index.d.ts +9 -0
- package/dist/services/docker/index.d.ts.map +1 -0
- package/dist/services/docker/index.js +9 -0
- package/dist/services/docker/index.js.map +1 -0
- package/dist/services/index.d.ts +10 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -0
- package/dist/shared/errors/__tests__/base.error.test.d.ts +5 -0
- package/dist/shared/errors/__tests__/base.error.test.d.ts.map +1 -0
- package/dist/shared/errors/__tests__/base.error.test.js +61 -0
- package/dist/shared/errors/__tests__/base.error.test.js.map +1 -0
- package/dist/shared/errors/__tests__/command.error.test.d.ts +5 -0
- package/dist/shared/errors/__tests__/command.error.test.d.ts.map +1 -0
- package/dist/shared/errors/__tests__/command.error.test.js +62 -0
- package/dist/shared/errors/__tests__/command.error.test.js.map +1 -0
- package/dist/shared/errors/__tests__/file.error.test.d.ts +5 -0
- package/dist/shared/errors/__tests__/file.error.test.d.ts.map +1 -0
- package/dist/shared/errors/__tests__/file.error.test.js +75 -0
- package/dist/shared/errors/__tests__/file.error.test.js.map +1 -0
- package/dist/shared/errors/__tests__/index.test.d.ts +5 -0
- package/dist/shared/errors/__tests__/index.test.d.ts.map +1 -0
- package/dist/shared/errors/__tests__/index.test.js +62 -0
- package/dist/shared/errors/__tests__/index.test.js.map +1 -0
- package/dist/shared/errors/__tests__/validation.error.test.d.ts +5 -0
- package/dist/shared/errors/__tests__/validation.error.test.d.ts.map +1 -0
- package/dist/shared/errors/__tests__/validation.error.test.js +79 -0
- package/dist/shared/errors/__tests__/validation.error.test.js.map +1 -0
- package/dist/shared/errors/base.error.d.ts +54 -0
- package/dist/shared/errors/base.error.d.ts.map +1 -0
- package/dist/shared/errors/base.error.js +85 -0
- package/dist/shared/errors/base.error.js.map +1 -0
- package/dist/shared/errors/command.error.d.ts +58 -0
- package/dist/shared/errors/command.error.d.ts.map +1 -0
- package/dist/shared/errors/command.error.js +102 -0
- package/dist/shared/errors/command.error.js.map +1 -0
- package/dist/shared/errors/detection.error.d.ts +42 -0
- package/dist/shared/errors/detection.error.d.ts.map +1 -0
- package/dist/shared/errors/detection.error.js +82 -0
- package/dist/shared/errors/detection.error.js.map +1 -0
- package/dist/shared/errors/docker.error.d.ts +142 -0
- package/dist/shared/errors/docker.error.d.ts.map +1 -0
- package/dist/shared/errors/docker.error.js +172 -0
- package/dist/shared/errors/docker.error.js.map +1 -0
- package/dist/shared/errors/file.error.d.ts +66 -0
- package/dist/shared/errors/file.error.d.ts.map +1 -0
- package/dist/shared/errors/file.error.js +93 -0
- package/dist/shared/errors/file.error.js.map +1 -0
- package/dist/shared/errors/index.d.ts +56 -0
- package/dist/shared/errors/index.d.ts.map +1 -0
- package/dist/shared/errors/index.js +86 -0
- package/dist/shared/errors/index.js.map +1 -0
- package/dist/shared/errors/validation.error.d.ts +67 -0
- package/dist/shared/errors/validation.error.d.ts.map +1 -0
- package/dist/shared/errors/validation.error.js +97 -0
- package/dist/shared/errors/validation.error.js.map +1 -0
- package/dist/shared/templates/index.d.ts +2 -0
- package/dist/shared/templates/index.d.ts.map +1 -0
- package/dist/shared/templates/index.js +2 -0
- package/dist/shared/templates/index.js.map +1 -0
- package/dist/shared/templates/prompt-builder.d.ts +2 -0
- package/dist/shared/templates/prompt-builder.d.ts.map +1 -0
- package/dist/shared/templates/prompt-builder.js +2 -0
- package/dist/shared/templates/prompt-builder.js.map +1 -0
- package/dist/shared/templates/template-engine.d.ts +2 -0
- package/dist/shared/templates/template-engine.d.ts.map +1 -0
- package/dist/shared/templates/template-engine.js +2 -0
- package/dist/shared/templates/template-engine.js.map +1 -0
- package/dist/shared/utils/__tests__/command-executor.test.d.ts +5 -0
- package/dist/shared/utils/__tests__/command-executor.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/command-executor.test.js +45 -0
- package/dist/shared/utils/__tests__/command-executor.test.js.map +1 -0
- package/dist/shared/utils/__tests__/file-helper.test.d.ts +5 -0
- package/dist/shared/utils/__tests__/file-helper.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/file-helper.test.js +71 -0
- package/dist/shared/utils/__tests__/file-helper.test.js.map +1 -0
- package/dist/shared/utils/__tests__/logger.test.d.ts +5 -0
- package/dist/shared/utils/__tests__/logger.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/logger.test.js +83 -0
- package/dist/shared/utils/__tests__/logger.test.js.map +1 -0
- package/dist/shared/utils/command-executer.d.ts +2 -0
- package/dist/shared/utils/command-executer.d.ts.map +1 -0
- package/dist/shared/utils/command-executer.js +2 -0
- package/dist/shared/utils/command-executer.js.map +1 -0
- package/dist/shared/utils/command-executor.d.ts +255 -0
- package/dist/shared/utils/command-executor.d.ts.map +1 -0
- package/dist/shared/utils/command-executor.js +287 -0
- package/dist/shared/utils/command-executor.js.map +1 -0
- package/dist/shared/utils/file-helper.d.ts +86 -0
- package/dist/shared/utils/file-helper.d.ts.map +1 -0
- package/dist/shared/utils/file-helper.js +323 -0
- package/dist/shared/utils/file-helper.js.map +1 -0
- package/dist/shared/utils/index.d.ts +9 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +9 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/logger.d.ts +163 -0
- package/dist/shared/utils/logger.d.ts.map +1 -0
- package/dist/shared/utils/logger.js +389 -0
- package/dist/shared/utils/logger.js.map +1 -0
- package/package.json +53 -34
- package/prompts/DEPS_EFFICIENCY.md +558 -558
- package/prompts/E2E.md +491 -491
- package/prompts/EXECUTE.md +1060 -1060
- package/prompts/INTEGRATION_API.md +484 -484
- package/prompts/INTEGRATION_DB.md +425 -425
- package/prompts/PERF_API.md +433 -433
- package/prompts/PERF_DB.md +430 -430
- package/prompts/PERF_FRONT.md +357 -357
- package/prompts/REMEDIATION.md +482 -482
- package/prompts/UNIT.md +260 -260
- package/templates/README.md +38 -38
- package/templates/k6/load-test.js +54 -54
- package/templates/playwright/e2e.spec.ts +61 -61
- package/templates/vitest/angular-component.test.ts +38 -38
- package/templates/vitest/api.test.ts +51 -51
- package/templates/vitest/component.test.ts +27 -27
- package/templates/vitest/hook.test.ts +36 -36
- package/templates/vitest/solid-component.test.ts +34 -34
- package/templates/vitest/svelte-component.test.ts +33 -33
- package/templates/vitest/vue-component.test.ts +39 -39
- package/CHANGELOG.md +0 -38
- package/agents/deps-analyzer.js +0 -366
- package/agents/detector.js +0 -570
- package/agents/fix-engine.js +0 -305
- package/agents/lighthouse-scanner.js +0 -405
- package/agents/perf-analyzer.js +0 -294
- package/agents/perf-front-analyzer.js +0 -229
- package/agents/test-generator.js +0 -387
- package/agents/test-runner.js +0 -318
- package/bin/cli.js +0 -449
- package/lib/config.js +0 -250
- package/lib/docker.js +0 -207
- package/lib/reporter.js +0 -297
- package/scripts/dev.js +0 -106
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command execution errors.
|
|
3
|
+
*
|
|
4
|
+
* Error codes:
|
|
5
|
+
* - COMMAND_001: Generic command execution error
|
|
6
|
+
* - COMMAND_002: Command not found
|
|
7
|
+
* - COMMAND_003: Command timeout
|
|
8
|
+
* - COMMAND_004: Command returned non-zero exit code
|
|
9
|
+
* - COMMAND_005: Invalid command arguments
|
|
10
|
+
* - COMMAND_006: Command cancelled
|
|
11
|
+
*/
|
|
12
|
+
import { DaemonError } from './base.error.js';
|
|
13
|
+
/**
|
|
14
|
+
* Base class for all command execution errors
|
|
15
|
+
*/
|
|
16
|
+
export class CommandExecutionError extends DaemonError {
|
|
17
|
+
command;
|
|
18
|
+
exitCode;
|
|
19
|
+
stdout;
|
|
20
|
+
stderr;
|
|
21
|
+
constructor(message, command, exitCode, stdout, stderr, options) {
|
|
22
|
+
super(message, 'COMMAND_001', {
|
|
23
|
+
...options,
|
|
24
|
+
context: {
|
|
25
|
+
command,
|
|
26
|
+
exitCode,
|
|
27
|
+
stdout,
|
|
28
|
+
stderr,
|
|
29
|
+
...options?.context,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
this.name = 'CommandExecutionError';
|
|
33
|
+
this.command = command;
|
|
34
|
+
this.exitCode = exitCode;
|
|
35
|
+
this.stdout = stdout;
|
|
36
|
+
this.stderr = stderr;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if the command failed due to a non-zero exit code
|
|
40
|
+
*/
|
|
41
|
+
isNonZeroExit() {
|
|
42
|
+
return this.exitCode !== null && this.exitCode !== 0;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when a command executable is not found
|
|
47
|
+
*/
|
|
48
|
+
export class CommandNotFoundError extends CommandExecutionError {
|
|
49
|
+
constructor(command, options) {
|
|
50
|
+
super(`Command not found: ${command}`, command, null, '', '', options);
|
|
51
|
+
this.name = 'CommandNotFoundError';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Thrown when a command execution times out
|
|
56
|
+
*/
|
|
57
|
+
export class CommandTimeoutError extends CommandExecutionError {
|
|
58
|
+
constructor(command, timeout, options) {
|
|
59
|
+
super(`Command timed out after ${timeout}ms: ${command}`, command, null, '', '', {
|
|
60
|
+
...options,
|
|
61
|
+
context: {
|
|
62
|
+
timeout,
|
|
63
|
+
...options?.context,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
this.name = 'CommandTimeoutError';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Thrown when a command returns a non-zero exit code
|
|
71
|
+
*/
|
|
72
|
+
export class CommandFailedError extends CommandExecutionError {
|
|
73
|
+
constructor(command, exitCode, stdout, stderr, options) {
|
|
74
|
+
super(`Command failed with exit code ${exitCode}: ${command}`, command, exitCode, stdout, stderr, options);
|
|
75
|
+
this.name = 'CommandFailedError';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Thrown when command arguments are invalid
|
|
80
|
+
*/
|
|
81
|
+
export class InvalidCommandArgumentsError extends CommandExecutionError {
|
|
82
|
+
constructor(command, reason, options) {
|
|
83
|
+
super(`Invalid command arguments for ${command}: ${reason}`, command, null, '', '', {
|
|
84
|
+
...options,
|
|
85
|
+
context: {
|
|
86
|
+
reason,
|
|
87
|
+
...options?.context,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
this.name = 'InvalidCommandArgumentsError';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Thrown when a command is cancelled by the user or system
|
|
95
|
+
*/
|
|
96
|
+
export class CommandCancelledError extends CommandExecutionError {
|
|
97
|
+
constructor(command, options) {
|
|
98
|
+
super(`Command cancelled: ${command}`, command, null, '', '', options);
|
|
99
|
+
this.name = 'CommandCancelledError';
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=command.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.error.js","sourceRoot":"","sources":["../../../src/shared/errors/command.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAA8C,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpC,OAAO,CAAS;IAChB,QAAQ,CAAgB;IACxB,MAAM,CAAS;IACf,MAAM,CAAS;IAE/B,YACE,OAAe,EACf,OAAe,EACf,QAAuB,EACvB,MAAc,EACd,MAAc,EACd,OAA4B;QAE5B,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE;YAC5B,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,qBAAqB;IAC7D,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CACH,sBAAsB,OAAO,EAAE,EAC/B,OAAO,EACP,IAAI,EACJ,EAAE,EACF,EAAE,EACF,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,qBAAqB;IAC5D,YAAY,OAAe,EAAE,OAAe,EAAE,OAA4B;QACxE,KAAK,CACH,2BAA2B,OAAO,OAAO,OAAO,EAAE,EAClD,OAAO,EACP,IAAI,EACJ,EAAE,EACF,EAAE,EACF;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,OAAO;gBACP,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,qBAAqB;IAC3D,YACE,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,OAA4B;QAE5B,KAAK,CACH,iCAAiC,QAAQ,KAAK,OAAO,EAAE,EACvD,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,qBAAqB;IACrE,YAAY,OAAe,EAAE,MAAc,EAAE,OAA4B;QACvE,KAAK,CACH,iCAAiC,OAAO,KAAK,MAAM,EAAE,EACrD,OAAO,EACP,IAAI,EACJ,EAAE,EACF,EAAE,EACF;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,MAAM;gBACN,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC9D,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CACH,sBAAsB,OAAO,EAAE,EAC/B,OAAO,EACP,IAAI,EACJ,EAAE,EACF,EAAE,EACF,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework detection errors.
|
|
3
|
+
*
|
|
4
|
+
* Error codes:
|
|
5
|
+
* - DETECTION_001: Generic detection error
|
|
6
|
+
* - DETECTION_002: Unsupported framework
|
|
7
|
+
* - DETECTION_003: No framework detected
|
|
8
|
+
* - DETECTION_004: Ambiguous framework detection
|
|
9
|
+
* - DETECTION_005: Invalid project structure
|
|
10
|
+
*/
|
|
11
|
+
import { DaemonError, type DaemonErrorOptions } from './base.error.js';
|
|
12
|
+
/**
|
|
13
|
+
* Base class for all detection-related errors
|
|
14
|
+
*/
|
|
15
|
+
export declare class DetectionError extends DaemonError {
|
|
16
|
+
constructor(message: string, code: string, options?: DaemonErrorOptions);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Thrown when a framework is not supported by Daemon
|
|
20
|
+
*/
|
|
21
|
+
export declare class UnsupportedFrameworkError extends DetectionError {
|
|
22
|
+
constructor(framework: string, options?: DaemonErrorOptions);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when no framework can be detected in the project
|
|
26
|
+
*/
|
|
27
|
+
export declare class NoFrameworkDetectedError extends DetectionError {
|
|
28
|
+
constructor(projectPath: string, options?: DaemonErrorOptions);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Thrown when framework detection is ambiguous (multiple possible frameworks)
|
|
32
|
+
*/
|
|
33
|
+
export declare class AmbiguousFrameworkError extends DetectionError {
|
|
34
|
+
constructor(candidates: string[], options?: DaemonErrorOptions);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Thrown when the project structure is invalid or corrupted
|
|
38
|
+
*/
|
|
39
|
+
export declare class InvalidProjectStructureError extends DetectionError {
|
|
40
|
+
constructor(projectPath: string, reason: string, options?: DaemonErrorOptions);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=detection.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/detection.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAIxE;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAc;gBAC/C,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAc5D;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;gBAC9C,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAc9D;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,cAAc;gBAC7C,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAc/D;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,cAAc;gBAClD,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAe9E"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework detection errors.
|
|
3
|
+
*
|
|
4
|
+
* Error codes:
|
|
5
|
+
* - DETECTION_001: Generic detection error
|
|
6
|
+
* - DETECTION_002: Unsupported framework
|
|
7
|
+
* - DETECTION_003: No framework detected
|
|
8
|
+
* - DETECTION_004: Ambiguous framework detection
|
|
9
|
+
* - DETECTION_005: Invalid project structure
|
|
10
|
+
*/
|
|
11
|
+
import { DaemonError } from './base.error.js';
|
|
12
|
+
/**
|
|
13
|
+
* Base class for all detection-related errors
|
|
14
|
+
*/
|
|
15
|
+
export class DetectionError extends DaemonError {
|
|
16
|
+
constructor(message, code, options) {
|
|
17
|
+
super(message, code, options);
|
|
18
|
+
this.name = 'DetectionError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Thrown when a framework is not supported by Daemon
|
|
23
|
+
*/
|
|
24
|
+
export class UnsupportedFrameworkError extends DetectionError {
|
|
25
|
+
constructor(framework, options) {
|
|
26
|
+
super(`Unsupported framework: ${framework}. Daemon currently supports a limited set of frameworks.`, 'DETECTION_002', {
|
|
27
|
+
...options,
|
|
28
|
+
context: {
|
|
29
|
+
framework,
|
|
30
|
+
...options?.context,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
this.name = 'UnsupportedFrameworkError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Thrown when no framework can be detected in the project
|
|
38
|
+
*/
|
|
39
|
+
export class NoFrameworkDetectedError extends DetectionError {
|
|
40
|
+
constructor(projectPath, options) {
|
|
41
|
+
super(`No supported framework detected in ${projectPath}`, 'DETECTION_003', {
|
|
42
|
+
...options,
|
|
43
|
+
context: {
|
|
44
|
+
projectPath,
|
|
45
|
+
...options?.context,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
this.name = 'NoFrameworkDetectedError';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Thrown when framework detection is ambiguous (multiple possible frameworks)
|
|
53
|
+
*/
|
|
54
|
+
export class AmbiguousFrameworkError extends DetectionError {
|
|
55
|
+
constructor(candidates, options) {
|
|
56
|
+
super(`Ambiguous framework detection: multiple frameworks detected (${candidates.join(', ')})`, 'DETECTION_004', {
|
|
57
|
+
...options,
|
|
58
|
+
context: {
|
|
59
|
+
candidates,
|
|
60
|
+
...options?.context,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
this.name = 'AmbiguousFrameworkError';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Thrown when the project structure is invalid or corrupted
|
|
68
|
+
*/
|
|
69
|
+
export class InvalidProjectStructureError extends DetectionError {
|
|
70
|
+
constructor(projectPath, reason, options) {
|
|
71
|
+
super(`Invalid project structure at ${projectPath}: ${reason}`, 'DETECTION_005', {
|
|
72
|
+
...options,
|
|
73
|
+
context: {
|
|
74
|
+
projectPath,
|
|
75
|
+
reason,
|
|
76
|
+
...options?.context,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
this.name = 'InvalidProjectStructureError';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=detection.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.error.js","sourceRoot":"","sources":["../../../src/shared/errors/detection.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAA8C,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,YAAY,OAAe,EAAE,IAAY,EAAE,OAA4B;QACrE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,cAAc;IAC3D,YAAY,SAAiB,EAAE,OAA4B;QACzD,KAAK,CACH,0BAA0B,SAAS,0DAA0D,EAC7F,eAAe,EACf;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,SAAS;gBACT,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAC1D,YAAY,WAAmB,EAAE,OAA4B;QAC3D,KAAK,CACH,sCAAsC,WAAW,EAAE,EACnD,eAAe,EACf;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,WAAW;gBACX,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzD,YAAY,UAAoB,EAAE,OAA4B;QAC5D,KAAK,CACH,gEAAgE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACxF,eAAe,EACf;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,UAAU;gBACV,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,cAAc;IAC9D,YAAY,WAAmB,EAAE,MAAc,EAAE,OAA4B;QAC3E,KAAK,CACH,gCAAgC,WAAW,KAAK,MAAM,EAAE,EACxD,eAAe,EACf;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,WAAW;gBACX,MAAM;gBACN,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docker-specific errors.
|
|
3
|
+
*
|
|
4
|
+
* Error codes:
|
|
5
|
+
* - DOCKER_001: Generic Docker error
|
|
6
|
+
* - DOCKER_002: Container not found
|
|
7
|
+
* - DOCKER_003: Image build failed
|
|
8
|
+
* - DOCKER_004: Container already exists
|
|
9
|
+
* - DOCKER_005: Container start failed
|
|
10
|
+
* - DOCKER_006: Container stop failed
|
|
11
|
+
* - DOCKER_007: Docker daemon not available
|
|
12
|
+
* - DOCKER_008: Image pull failed
|
|
13
|
+
*/
|
|
14
|
+
import { DaemonError, type ErrorContext, type DaemonErrorOptions } from './base.error.js';
|
|
15
|
+
/**
|
|
16
|
+
* Base class for all Docker-related errors
|
|
17
|
+
*/
|
|
18
|
+
export declare class BaseDockerError extends DaemonError {
|
|
19
|
+
constructor(message: string, code: string, options?: DaemonErrorOptions);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Thrown when a container cannot be found
|
|
23
|
+
*/
|
|
24
|
+
export declare class ContainerNotFoundError extends BaseDockerError {
|
|
25
|
+
constructor(containerIdOrName: string, options?: DaemonErrorOptions);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Thrown when a Docker image build fails
|
|
29
|
+
*/
|
|
30
|
+
export declare class ImageBuildError extends BaseDockerError {
|
|
31
|
+
constructor(buildPath: string, buildReason: string, options?: DaemonErrorOptions);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Thrown when a container with the same name already exists
|
|
35
|
+
*/
|
|
36
|
+
export declare class ContainerAlreadyExistsError extends BaseDockerError {
|
|
37
|
+
constructor(containerName: string, options?: DaemonErrorOptions);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Thrown when container start fails
|
|
41
|
+
*/
|
|
42
|
+
export declare class ContainerStartError extends BaseDockerError {
|
|
43
|
+
constructor(containerName: string, reason: string, options?: DaemonErrorOptions);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when container stop fails
|
|
47
|
+
*/
|
|
48
|
+
export declare class ContainerStopError extends BaseDockerError {
|
|
49
|
+
constructor(containerName: string, reason: string, options?: DaemonErrorOptions);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Thrown when Docker daemon is not available or not running
|
|
53
|
+
*/
|
|
54
|
+
export declare class DockerDaemonUnavailableError extends BaseDockerError {
|
|
55
|
+
constructor(reason?: string, options?: DaemonErrorOptions);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Thrown when Docker image pull fails
|
|
59
|
+
*/
|
|
60
|
+
export declare class ImagePullError extends BaseDockerError {
|
|
61
|
+
constructor(imageName: string, reason: string, options?: DaemonErrorOptions);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Factory methods pour créer facilement des erreurs Docker
|
|
65
|
+
*/
|
|
66
|
+
export declare const DockerErrors: {
|
|
67
|
+
/**
|
|
68
|
+
* Crée une erreur générique Docker
|
|
69
|
+
*/
|
|
70
|
+
generic: (message: string, context?: ErrorContext) => BaseDockerError;
|
|
71
|
+
/**
|
|
72
|
+
* Crée une erreur conteneur non trouvé
|
|
73
|
+
*/
|
|
74
|
+
containerNotFound: (containerName: string) => ContainerNotFoundError;
|
|
75
|
+
/**
|
|
76
|
+
* Crée une erreur de build d'image
|
|
77
|
+
*/
|
|
78
|
+
imageBuildFailed: (buildPath: string, reason: string) => ImageBuildError;
|
|
79
|
+
/**
|
|
80
|
+
* Crée une erreur conteneur déjà existant
|
|
81
|
+
*/
|
|
82
|
+
containerAlreadyExists: (containerName: string) => ContainerAlreadyExistsError;
|
|
83
|
+
/**
|
|
84
|
+
* Crée une erreur échec démarrage conteneur
|
|
85
|
+
*/
|
|
86
|
+
containerStartFailed: (containerName: string, cause?: unknown) => ContainerStartError;
|
|
87
|
+
/**
|
|
88
|
+
* Crée une erreur échec arrêt conteneur
|
|
89
|
+
*/
|
|
90
|
+
containerStopFailed: (containerName: string, reason: string) => ContainerStopError;
|
|
91
|
+
/**
|
|
92
|
+
* Crée une erreur Docker non disponible
|
|
93
|
+
*/
|
|
94
|
+
dockerNotRunning: () => DockerDaemonUnavailableError;
|
|
95
|
+
/**
|
|
96
|
+
* Crée une erreur échec exec
|
|
97
|
+
*/
|
|
98
|
+
execFailed: (containerName: string, cause: unknown) => BaseDockerError;
|
|
99
|
+
/**
|
|
100
|
+
* Crée une erreur création conteneur échouée
|
|
101
|
+
*/
|
|
102
|
+
containerCreateFailed: (containerName: string, cause?: unknown) => BaseDockerError;
|
|
103
|
+
};
|
|
104
|
+
export declare const DockerError: {
|
|
105
|
+
/**
|
|
106
|
+
* Crée une erreur générique Docker
|
|
107
|
+
*/
|
|
108
|
+
generic: (message: string, context?: ErrorContext) => BaseDockerError;
|
|
109
|
+
/**
|
|
110
|
+
* Crée une erreur conteneur non trouvé
|
|
111
|
+
*/
|
|
112
|
+
containerNotFound: (containerName: string) => ContainerNotFoundError;
|
|
113
|
+
/**
|
|
114
|
+
* Crée une erreur de build d'image
|
|
115
|
+
*/
|
|
116
|
+
imageBuildFailed: (buildPath: string, reason: string) => ImageBuildError;
|
|
117
|
+
/**
|
|
118
|
+
* Crée une erreur conteneur déjà existant
|
|
119
|
+
*/
|
|
120
|
+
containerAlreadyExists: (containerName: string) => ContainerAlreadyExistsError;
|
|
121
|
+
/**
|
|
122
|
+
* Crée une erreur échec démarrage conteneur
|
|
123
|
+
*/
|
|
124
|
+
containerStartFailed: (containerName: string, cause?: unknown) => ContainerStartError;
|
|
125
|
+
/**
|
|
126
|
+
* Crée une erreur échec arrêt conteneur
|
|
127
|
+
*/
|
|
128
|
+
containerStopFailed: (containerName: string, reason: string) => ContainerStopError;
|
|
129
|
+
/**
|
|
130
|
+
* Crée une erreur Docker non disponible
|
|
131
|
+
*/
|
|
132
|
+
dockerNotRunning: () => DockerDaemonUnavailableError;
|
|
133
|
+
/**
|
|
134
|
+
* Crée une erreur échec exec
|
|
135
|
+
*/
|
|
136
|
+
execFailed: (containerName: string, cause: unknown) => BaseDockerError;
|
|
137
|
+
/**
|
|
138
|
+
* Crée une erreur création conteneur échouée
|
|
139
|
+
*/
|
|
140
|
+
containerCreateFailed: (containerName: string, cause?: unknown) => BaseDockerError;
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=docker.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/docker.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAIxE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAcpE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;gBAEhD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB;CAgB/B;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAchE;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAehF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAehF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,eAAe;gBACnD,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAU1D;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAe5E;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB;;OAEG;uBACgB,MAAM,YAAY,YAAY;IAGjD;;OAEG;uCACgC,MAAM;IAGzC;;OAEG;kCAC2B,MAAM,UAAU,MAAM;IAGpD;;OAEG;4CACqC,MAAM;IAG9C;;OAEG;0CACmC,MAAM,UAAU,OAAO;IAM7D;;OAEG;yCACkC,MAAM,UAAU,MAAM;IAG3D;;OAEG;;IAIH;;OAEG;gCACyB,MAAM,SAAS,OAAO;IAOlD;;OAEG;2CACoC,MAAM,UAAU,OAAO;CAM/D,CAAC;AAGF,eAAO,MAAM,WAAW;IAnEtB;;OAEG;uBACgB,MAAM,YAAY,YAAY;IAGjD;;OAEG;uCACgC,MAAM;IAGzC;;OAEG;kCAC2B,MAAM,UAAU,MAAM;IAGpD;;OAEG;4CACqC,MAAM;IAG9C;;OAEG;0CACmC,MAAM,UAAU,OAAO;IAM7D;;OAEG;yCACkC,MAAM,UAAU,MAAM;IAG3D;;OAEG;;IAIH;;OAEG;gCACyB,MAAM,SAAS,OAAO;IAOlD;;OAEG;2CACoC,MAAM,UAAU,OAAO;CASzB,CAAC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docker-specific errors.
|
|
3
|
+
*
|
|
4
|
+
* Error codes:
|
|
5
|
+
* - DOCKER_001: Generic Docker error
|
|
6
|
+
* - DOCKER_002: Container not found
|
|
7
|
+
* - DOCKER_003: Image build failed
|
|
8
|
+
* - DOCKER_004: Container already exists
|
|
9
|
+
* - DOCKER_005: Container start failed
|
|
10
|
+
* - DOCKER_006: Container stop failed
|
|
11
|
+
* - DOCKER_007: Docker daemon not available
|
|
12
|
+
* - DOCKER_008: Image pull failed
|
|
13
|
+
*/
|
|
14
|
+
import { DaemonError } from './base.error.js';
|
|
15
|
+
/**
|
|
16
|
+
* Base class for all Docker-related errors
|
|
17
|
+
*/
|
|
18
|
+
export class BaseDockerError extends DaemonError {
|
|
19
|
+
constructor(message, code, options) {
|
|
20
|
+
super(message, code, options);
|
|
21
|
+
this.name = 'DockerError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when a container cannot be found
|
|
26
|
+
*/
|
|
27
|
+
export class ContainerNotFoundError extends BaseDockerError {
|
|
28
|
+
constructor(containerIdOrName, options) {
|
|
29
|
+
super(`Container not found: ${containerIdOrName}`, 'DOCKER_002', {
|
|
30
|
+
...options,
|
|
31
|
+
context: {
|
|
32
|
+
containerId: containerIdOrName,
|
|
33
|
+
...options?.context,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
this.name = 'ContainerNotFoundError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Thrown when a Docker image build fails
|
|
41
|
+
*/
|
|
42
|
+
export class ImageBuildError extends BaseDockerError {
|
|
43
|
+
constructor(buildPath, buildReason, options) {
|
|
44
|
+
super(`Docker image build failed for ${buildPath}: ${buildReason}`, 'DOCKER_003', {
|
|
45
|
+
...options,
|
|
46
|
+
context: {
|
|
47
|
+
buildPath,
|
|
48
|
+
buildReason,
|
|
49
|
+
...options?.context,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
this.name = 'ImageBuildError';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Thrown when a container with the same name already exists
|
|
57
|
+
*/
|
|
58
|
+
export class ContainerAlreadyExistsError extends BaseDockerError {
|
|
59
|
+
constructor(containerName, options) {
|
|
60
|
+
super(`Container already exists: ${containerName}`, 'DOCKER_004', {
|
|
61
|
+
...options,
|
|
62
|
+
context: {
|
|
63
|
+
containerName,
|
|
64
|
+
...options?.context,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
this.name = 'ContainerAlreadyExistsError';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Thrown when container start fails
|
|
72
|
+
*/
|
|
73
|
+
export class ContainerStartError extends BaseDockerError {
|
|
74
|
+
constructor(containerName, reason, options) {
|
|
75
|
+
super(`Failed to start container ${containerName}: ${reason}`, 'DOCKER_005', {
|
|
76
|
+
...options,
|
|
77
|
+
context: {
|
|
78
|
+
containerName,
|
|
79
|
+
reason,
|
|
80
|
+
...options?.context,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
this.name = 'ContainerStartError';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Thrown when container stop fails
|
|
88
|
+
*/
|
|
89
|
+
export class ContainerStopError extends BaseDockerError {
|
|
90
|
+
constructor(containerName, reason, options) {
|
|
91
|
+
super(`Failed to stop container ${containerName}: ${reason}`, 'DOCKER_006', {
|
|
92
|
+
...options,
|
|
93
|
+
context: {
|
|
94
|
+
containerName,
|
|
95
|
+
reason,
|
|
96
|
+
...options?.context,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
this.name = 'ContainerStopError';
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Thrown when Docker daemon is not available or not running
|
|
104
|
+
*/
|
|
105
|
+
export class DockerDaemonUnavailableError extends BaseDockerError {
|
|
106
|
+
constructor(reason, options) {
|
|
107
|
+
super(reason
|
|
108
|
+
? `Docker daemon unavailable: ${reason}`
|
|
109
|
+
: 'Docker daemon is not running or not accessible', 'DOCKER_007', options);
|
|
110
|
+
this.name = 'DockerDaemonUnavailableError';
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Thrown when Docker image pull fails
|
|
115
|
+
*/
|
|
116
|
+
export class ImagePullError extends BaseDockerError {
|
|
117
|
+
constructor(imageName, reason, options) {
|
|
118
|
+
super(`Failed to pull Docker image ${imageName}: ${reason}`, 'DOCKER_008', {
|
|
119
|
+
...options,
|
|
120
|
+
context: {
|
|
121
|
+
imageName,
|
|
122
|
+
reason,
|
|
123
|
+
...options?.context,
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
this.name = 'ImagePullError';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Factory methods pour créer facilement des erreurs Docker
|
|
131
|
+
*/
|
|
132
|
+
export const DockerErrors = {
|
|
133
|
+
/**
|
|
134
|
+
* Crée une erreur générique Docker
|
|
135
|
+
*/
|
|
136
|
+
generic: (message, context) => new BaseDockerError(message, 'DOCKER_001', { context }),
|
|
137
|
+
/**
|
|
138
|
+
* Crée une erreur conteneur non trouvé
|
|
139
|
+
*/
|
|
140
|
+
containerNotFound: (containerName) => new ContainerNotFoundError(containerName),
|
|
141
|
+
/**
|
|
142
|
+
* Crée une erreur de build d'image
|
|
143
|
+
*/
|
|
144
|
+
imageBuildFailed: (buildPath, reason) => new ImageBuildError(buildPath, reason),
|
|
145
|
+
/**
|
|
146
|
+
* Crée une erreur conteneur déjà existant
|
|
147
|
+
*/
|
|
148
|
+
containerAlreadyExists: (containerName) => new ContainerAlreadyExistsError(containerName),
|
|
149
|
+
/**
|
|
150
|
+
* Crée une erreur échec démarrage conteneur
|
|
151
|
+
*/
|
|
152
|
+
containerStartFailed: (containerName, cause) => new ContainerStartError(containerName, cause instanceof Error ? cause.message : String(cause ?? 'Unknown reason')),
|
|
153
|
+
/**
|
|
154
|
+
* Crée une erreur échec arrêt conteneur
|
|
155
|
+
*/
|
|
156
|
+
containerStopFailed: (containerName, reason) => new ContainerStopError(containerName, reason),
|
|
157
|
+
/**
|
|
158
|
+
* Crée une erreur Docker non disponible
|
|
159
|
+
*/
|
|
160
|
+
dockerNotRunning: () => new DockerDaemonUnavailableError(),
|
|
161
|
+
/**
|
|
162
|
+
* Crée une erreur échec exec
|
|
163
|
+
*/
|
|
164
|
+
execFailed: (containerName, cause) => new BaseDockerError(`Command execution failed in container ${containerName}`, 'DOCKER_009', { cause: cause instanceof Error ? cause : undefined }),
|
|
165
|
+
/**
|
|
166
|
+
* Crée une erreur création conteneur échouée
|
|
167
|
+
*/
|
|
168
|
+
containerCreateFailed: (containerName, cause) => new BaseDockerError(`Failed to create container ${containerName}`, 'DOCKER_010', { cause: cause instanceof Error ? cause : undefined }),
|
|
169
|
+
};
|
|
170
|
+
// Alias pour compatibilité
|
|
171
|
+
export const DockerError = DockerErrors;
|
|
172
|
+
//# sourceMappingURL=docker.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.error.js","sourceRoot":"","sources":["../../../src/shared/errors/docker.error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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, type DaemonErrorOptions } from './base.error.js';
|
|
12
|
+
/**
|
|
13
|
+
* Base class for all file system related errors
|
|
14
|
+
*/
|
|
15
|
+
export declare class FileSystemError extends DaemonError {
|
|
16
|
+
constructor(message: string, code: string, options?: DaemonErrorOptions);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Thrown when a file or directory is not found
|
|
20
|
+
*/
|
|
21
|
+
export declare class FileNotFoundError extends FileSystemError {
|
|
22
|
+
constructor(filePath: string, options?: DaemonErrorOptions);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when lacking permission to access a file/directory
|
|
26
|
+
*/
|
|
27
|
+
export declare class FilePermissionError extends FileSystemError {
|
|
28
|
+
constructor(filePath: string, operation: string, options?: DaemonErrorOptions);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Thrown when JSON parsing fails
|
|
32
|
+
*/
|
|
33
|
+
export declare class InvalidJsonError extends FileSystemError {
|
|
34
|
+
constructor(filePath: string, parseError: string, options?: DaemonErrorOptions);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Thrown when directory creation fails
|
|
38
|
+
*/
|
|
39
|
+
export declare class DirectoryCreationError extends FileSystemError {
|
|
40
|
+
constructor(dirPath: string, options?: DaemonErrorOptions);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Thrown when file write operation fails
|
|
44
|
+
*/
|
|
45
|
+
export declare class FileWriteError extends FileSystemError {
|
|
46
|
+
constructor(filePath: string, options?: DaemonErrorOptions);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Thrown when file read operation fails
|
|
50
|
+
*/
|
|
51
|
+
export declare class FileReadError extends FileSystemError {
|
|
52
|
+
constructor(filePath: string, options?: DaemonErrorOptions);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Thrown when file copy operation fails
|
|
56
|
+
*/
|
|
57
|
+
export declare class FileCopyError extends FileSystemError {
|
|
58
|
+
constructor(sourcePath: string, destPath: string, options?: DaemonErrorOptions);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Thrown when file search operation fails
|
|
62
|
+
*/
|
|
63
|
+
export declare class FileSearchError extends FileSystemError {
|
|
64
|
+
constructor(dirPath: string, pattern: string, options?: DaemonErrorOptions);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=file.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/file.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAIxE;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ3D;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ9E;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;gBACvC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ/E;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ1D;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ3D;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,eAAe;gBACpC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ3D;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,eAAe;gBACpC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ/E;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAQ3E"}
|