@dev-ecosystem/core 0.1.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 (122) hide show
  1. package/README.md +0 -0
  2. package/dist/capabilities/devforge.capabilities.json +0 -0
  3. package/dist/capabilities/mediaproc.capabilities.json +0 -0
  4. package/dist/capabilities/orbyt.capabilities.json +0 -0
  5. package/dist/capabilities/vaulta.capabilities.json +0 -0
  6. package/dist/contracts/adapter.contract.d.ts +1 -0
  7. package/dist/contracts/adapter.contract.d.ts.map +1 -0
  8. package/dist/contracts/adapter.contract.js +2 -0
  9. package/dist/contracts/adapter.contract.js.map +1 -0
  10. package/dist/contracts/cli.contract.d.ts +1 -0
  11. package/dist/contracts/cli.contract.d.ts.map +1 -0
  12. package/dist/contracts/cli.contract.js +2 -0
  13. package/dist/contracts/cli.contract.js.map +1 -0
  14. package/dist/contracts/engine.contract.d.ts +1 -0
  15. package/dist/contracts/engine.contract.d.ts.map +1 -0
  16. package/dist/contracts/engine.contract.js +2 -0
  17. package/dist/contracts/engine.contract.js.map +1 -0
  18. package/dist/contracts/plugin.contract.d.ts +1 -0
  19. package/dist/contracts/plugin.contract.d.ts.map +1 -0
  20. package/dist/contracts/plugin.contract.js +2 -0
  21. package/dist/contracts/plugin.contract.js.map +1 -0
  22. package/dist/contracts/vault.contract.d.ts +1 -0
  23. package/dist/contracts/vault.contract.d.ts.map +1 -0
  24. package/dist/contracts/vault.contract.js +2 -0
  25. package/dist/contracts/vault.contract.js.map +1 -0
  26. package/dist/contracts/workflow.contract.d.ts +1 -0
  27. package/dist/contracts/workflow.contract.d.ts.map +1 -0
  28. package/dist/contracts/workflow.contract.js +2 -0
  29. package/dist/contracts/workflow.contract.js.map +1 -0
  30. package/dist/errors/BaseError.d.ts +108 -0
  31. package/dist/errors/BaseError.d.ts.map +1 -0
  32. package/dist/errors/BaseError.js +163 -0
  33. package/dist/errors/BaseError.js.map +1 -0
  34. package/dist/errors/ErrorCodes.d.ts +111 -0
  35. package/dist/errors/ErrorCodes.d.ts.map +1 -0
  36. package/dist/errors/ErrorCodes.js +130 -0
  37. package/dist/errors/ErrorCodes.js.map +1 -0
  38. package/dist/errors/ErrorTypes.d.ts +144 -0
  39. package/dist/errors/ErrorTypes.d.ts.map +1 -0
  40. package/dist/errors/ErrorTypes.js +172 -0
  41. package/dist/errors/ErrorTypes.js.map +1 -0
  42. package/dist/errors/devforge.codes.d.ts +71 -0
  43. package/dist/errors/devforge.codes.d.ts.map +1 -0
  44. package/dist/errors/devforge.codes.js +84 -0
  45. package/dist/errors/devforge.codes.js.map +1 -0
  46. package/dist/errors/devforge.errors.d.ts +126 -0
  47. package/dist/errors/devforge.errors.d.ts.map +1 -0
  48. package/dist/errors/devforge.errors.js +139 -0
  49. package/dist/errors/devforge.errors.js.map +1 -0
  50. package/dist/errors/index.d.ts +22 -0
  51. package/dist/errors/index.d.ts.map +1 -0
  52. package/dist/errors/index.js +37 -0
  53. package/dist/errors/index.js.map +1 -0
  54. package/dist/errors/mediaproc.codes.d.ts +92 -0
  55. package/dist/errors/mediaproc.codes.d.ts.map +1 -0
  56. package/dist/errors/mediaproc.codes.js +108 -0
  57. package/dist/errors/mediaproc.codes.js.map +1 -0
  58. package/dist/errors/mediaproc.errors.d.ts +120 -0
  59. package/dist/errors/mediaproc.errors.d.ts.map +1 -0
  60. package/dist/errors/mediaproc.errors.js +133 -0
  61. package/dist/errors/mediaproc.errors.js.map +1 -0
  62. package/dist/errors/orbyt.errors.d.ts +168 -0
  63. package/dist/errors/orbyt.errors.d.ts.map +1 -0
  64. package/dist/errors/orbyt.errors.js +187 -0
  65. package/dist/errors/orbyt.errors.js.map +1 -0
  66. package/dist/errors/vaulta.codes.d.ts +81 -0
  67. package/dist/errors/vaulta.codes.d.ts.map +1 -0
  68. package/dist/errors/vaulta.codes.js +94 -0
  69. package/dist/errors/vaulta.codes.js.map +1 -0
  70. package/dist/errors/vaulta.errors.d.ts +135 -0
  71. package/dist/errors/vaulta.errors.d.ts.map +1 -0
  72. package/dist/errors/vaulta.errors.js +154 -0
  73. package/dist/errors/vaulta.errors.js.map +1 -0
  74. package/dist/exit-codes/ExitCodes.d.ts +136 -0
  75. package/dist/exit-codes/ExitCodes.d.ts.map +1 -0
  76. package/dist/exit-codes/ExitCodes.js +229 -0
  77. package/dist/exit-codes/ExitCodes.js.map +1 -0
  78. package/dist/index.d.ts +24 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +48 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/logging/LogFormat.d.ts +1 -0
  83. package/dist/logging/LogFormat.d.ts.map +1 -0
  84. package/dist/logging/LogFormat.js +2 -0
  85. package/dist/logging/LogFormat.js.map +1 -0
  86. package/dist/manifests/adapter.manifest.json +0 -0
  87. package/dist/manifests/plugin.manifest.json +0 -0
  88. package/dist/manifests/workflow.manifest.json +0 -0
  89. package/dist/schemas/adapter.schema.json +0 -0
  90. package/dist/schemas/capability.schem.json +0 -0
  91. package/dist/schemas/index.d.ts +401 -0
  92. package/dist/schemas/index.d.ts.map +1 -0
  93. package/dist/schemas/index.js +107 -0
  94. package/dist/schemas/index.js.map +1 -0
  95. package/dist/schemas/manifest.schame.json +0 -0
  96. package/dist/schemas/plugin.schema.json +0 -0
  97. package/dist/schemas/workflow.schema.json +485 -0
  98. package/dist/schemas/workflow.schema.zod.d.ts +450 -0
  99. package/dist/schemas/workflow.schema.zod.d.ts.map +1 -0
  100. package/dist/schemas/workflow.schema.zod.js +234 -0
  101. package/dist/schemas/workflow.schema.zod.js.map +1 -0
  102. package/dist/types/adapter.types.d.ts +1 -0
  103. package/dist/types/adapter.types.d.ts.map +1 -0
  104. package/dist/types/adapter.types.js +2 -0
  105. package/dist/types/adapter.types.js.map +1 -0
  106. package/dist/types/global.types.d.ts +1 -0
  107. package/dist/types/global.types.d.ts.map +1 -0
  108. package/dist/types/global.types.js +2 -0
  109. package/dist/types/global.types.js.map +1 -0
  110. package/dist/types/plugin.types.d.ts +1 -0
  111. package/dist/types/plugin.types.d.ts.map +1 -0
  112. package/dist/types/plugin.types.js +2 -0
  113. package/dist/types/plugin.types.js.map +1 -0
  114. package/dist/types/workflow.types.d.ts +503 -0
  115. package/dist/types/workflow.types.d.ts.map +1 -0
  116. package/dist/types/workflow.types.js +90 -0
  117. package/dist/types/workflow.types.js.map +1 -0
  118. package/dist/utils/assert.d.ts +1 -0
  119. package/dist/utils/assert.d.ts.map +1 -0
  120. package/dist/utils/assert.js +2 -0
  121. package/dist/utils/assert.js.map +1 -0
  122. package/package.json +30 -0
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Ecosystem Error Types
3
+ *
4
+ * Semantic error categories used across all ecosystem components.
5
+ * These types answer: "What KIND of failure is this?"
6
+ *
7
+ * Used for:
8
+ * - Control flow decisions (retry vs abort)
9
+ * - UX messaging (how to present error to user)
10
+ * - AI reasoning (how to explain and suggest fixes)
11
+ * - Metrics and monitoring (error categorization)
12
+ *
13
+ * @category Core
14
+ * @public
15
+ */
16
+ export declare enum ErrorType {
17
+ /**
18
+ * USER errors - Invalid input, bad parameters, user mistakes
19
+ *
20
+ * Characteristics:
21
+ * - User can fix
22
+ * - Don't retry automatically
23
+ * - Show helpful message
24
+ * - Not a system issue
25
+ *
26
+ * Examples:
27
+ * - Invalid command-line arguments
28
+ * - Malformed workflow schema
29
+ * - Missing required inputs
30
+ * - Invalid file format
31
+ */
32
+ USER = "user",
33
+ /**
34
+ * CONFIG errors - Configuration or environment issues
35
+ *
36
+ * Characteristics:
37
+ * - Setup problem
38
+ * - May be fixable by user
39
+ * - Check configuration
40
+ * - Environment-related
41
+ *
42
+ * Examples:
43
+ * - Missing config file
44
+ * - Invalid configuration values
45
+ * - Missing dependencies
46
+ * - Environment variables not set
47
+ */
48
+ CONFIG = "config",
49
+ /**
50
+ * SECURITY errors - Permissions, authentication, authorization
51
+ *
52
+ * Characteristics:
53
+ * - Security-related
54
+ * - May require credentials
55
+ * - Don't expose details in logs
56
+ * - Policy enforcement
57
+ *
58
+ * Examples:
59
+ * - Vault locked
60
+ * - Permission denied
61
+ * - Invalid credentials
62
+ * - Security policy violation
63
+ */
64
+ SECURITY = "security",
65
+ /**
66
+ * EXECUTION errors - Runtime failures during normal operation
67
+ *
68
+ * Characteristics:
69
+ * - Operational failure
70
+ * - May be transient
71
+ * - Consider retry
72
+ * - Track for reliability
73
+ *
74
+ * Examples:
75
+ * - Step failed
76
+ * - Adapter execution failed
77
+ * - Timeout
78
+ * - Dependency failure
79
+ */
80
+ EXECUTION = "execution",
81
+ /**
82
+ * SYSTEM errors - Infrastructure, network, resource issues
83
+ *
84
+ * Characteristics:
85
+ * - Infrastructure problem
86
+ * - Usually transient
87
+ * - Good retry candidate
88
+ * - External dependency
89
+ *
90
+ * Examples:
91
+ * - Network error
92
+ * - Database unavailable
93
+ * - Out of memory
94
+ * - Disk full
95
+ */
96
+ SYSTEM = "system",
97
+ /**
98
+ * INTERNAL errors - Bugs, unexpected states, programming errors
99
+ *
100
+ * Characteristics:
101
+ * - Should not happen
102
+ * - Bug or logic error
103
+ * - Needs investigation
104
+ * - Alert developers
105
+ *
106
+ * Examples:
107
+ * - Unhandled exception
108
+ * - State corruption
109
+ * - Assertion failure
110
+ * - Null pointer
111
+ */
112
+ INTERNAL = "internal"
113
+ }
114
+ /**
115
+ * Error severity levels
116
+ * Indicates impact and urgency
117
+ */
118
+ export declare enum ErrorSeverity {
119
+ /** Minor issue, operation can continue */
120
+ LOW = "low",
121
+ /** Notable issue, some functionality affected */
122
+ MEDIUM = "medium",
123
+ /** Serious issue, operation failed */
124
+ HIGH = "high",
125
+ /** Critical failure, system integrity at risk */
126
+ CRITICAL = "critical"
127
+ }
128
+ /**
129
+ * Get human-readable description of error type
130
+ */
131
+ export declare function getErrorTypeDescription(type: ErrorType): string;
132
+ /**
133
+ * Determine if error type is retryable
134
+ */
135
+ export declare function isErrorTypeRetryable(type: ErrorType): boolean;
136
+ /**
137
+ * Determine if error should be reported to developers
138
+ */
139
+ export declare function shouldAlertDevelopers(type: ErrorType): boolean;
140
+ /**
141
+ * Get suggested action for error type
142
+ */
143
+ export declare function getSuggestedAction(type: ErrorType): string;
144
+ //# sourceMappingURL=ErrorTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTypes.d.ts","sourceRoot":"","sources":["../../src/errors/ErrorTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,SAAS;IACnB;;;;;;;;;;;;;;OAcG;IACH,IAAI,SAAS;IAEb;;;;;;;;;;;;;;OAcG;IACH,MAAM,WAAW;IAEjB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,aAAa;IAErB;;;;;;;;;;;;;;OAcG;IACH,SAAS,cAAc;IAEvB;;;;;;;;;;;;;;OAcG;IACH,MAAM,WAAW;IAEjB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,oBAAY,aAAa;IACvB,0CAA0C;IAC1C,GAAG,QAAQ;IAEX,iDAAiD;IACjD,MAAM,WAAW;IAEjB,sCAAsC;IACtC,IAAI,SAAS;IAEb,iDAAiD;IACjD,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAU/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAU1D"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Ecosystem Error Types
3
+ *
4
+ * Semantic error categories used across all ecosystem components.
5
+ * These types answer: "What KIND of failure is this?"
6
+ *
7
+ * Used for:
8
+ * - Control flow decisions (retry vs abort)
9
+ * - UX messaging (how to present error to user)
10
+ * - AI reasoning (how to explain and suggest fixes)
11
+ * - Metrics and monitoring (error categorization)
12
+ *
13
+ * @category Core
14
+ * @public
15
+ */
16
+ export var ErrorType;
17
+ (function (ErrorType) {
18
+ /**
19
+ * USER errors - Invalid input, bad parameters, user mistakes
20
+ *
21
+ * Characteristics:
22
+ * - User can fix
23
+ * - Don't retry automatically
24
+ * - Show helpful message
25
+ * - Not a system issue
26
+ *
27
+ * Examples:
28
+ * - Invalid command-line arguments
29
+ * - Malformed workflow schema
30
+ * - Missing required inputs
31
+ * - Invalid file format
32
+ */
33
+ ErrorType["USER"] = "user";
34
+ /**
35
+ * CONFIG errors - Configuration or environment issues
36
+ *
37
+ * Characteristics:
38
+ * - Setup problem
39
+ * - May be fixable by user
40
+ * - Check configuration
41
+ * - Environment-related
42
+ *
43
+ * Examples:
44
+ * - Missing config file
45
+ * - Invalid configuration values
46
+ * - Missing dependencies
47
+ * - Environment variables not set
48
+ */
49
+ ErrorType["CONFIG"] = "config";
50
+ /**
51
+ * SECURITY errors - Permissions, authentication, authorization
52
+ *
53
+ * Characteristics:
54
+ * - Security-related
55
+ * - May require credentials
56
+ * - Don't expose details in logs
57
+ * - Policy enforcement
58
+ *
59
+ * Examples:
60
+ * - Vault locked
61
+ * - Permission denied
62
+ * - Invalid credentials
63
+ * - Security policy violation
64
+ */
65
+ ErrorType["SECURITY"] = "security";
66
+ /**
67
+ * EXECUTION errors - Runtime failures during normal operation
68
+ *
69
+ * Characteristics:
70
+ * - Operational failure
71
+ * - May be transient
72
+ * - Consider retry
73
+ * - Track for reliability
74
+ *
75
+ * Examples:
76
+ * - Step failed
77
+ * - Adapter execution failed
78
+ * - Timeout
79
+ * - Dependency failure
80
+ */
81
+ ErrorType["EXECUTION"] = "execution";
82
+ /**
83
+ * SYSTEM errors - Infrastructure, network, resource issues
84
+ *
85
+ * Characteristics:
86
+ * - Infrastructure problem
87
+ * - Usually transient
88
+ * - Good retry candidate
89
+ * - External dependency
90
+ *
91
+ * Examples:
92
+ * - Network error
93
+ * - Database unavailable
94
+ * - Out of memory
95
+ * - Disk full
96
+ */
97
+ ErrorType["SYSTEM"] = "system";
98
+ /**
99
+ * INTERNAL errors - Bugs, unexpected states, programming errors
100
+ *
101
+ * Characteristics:
102
+ * - Should not happen
103
+ * - Bug or logic error
104
+ * - Needs investigation
105
+ * - Alert developers
106
+ *
107
+ * Examples:
108
+ * - Unhandled exception
109
+ * - State corruption
110
+ * - Assertion failure
111
+ * - Null pointer
112
+ */
113
+ ErrorType["INTERNAL"] = "internal";
114
+ })(ErrorType || (ErrorType = {}));
115
+ /**
116
+ * Error severity levels
117
+ * Indicates impact and urgency
118
+ */
119
+ export var ErrorSeverity;
120
+ (function (ErrorSeverity) {
121
+ /** Minor issue, operation can continue */
122
+ ErrorSeverity["LOW"] = "low";
123
+ /** Notable issue, some functionality affected */
124
+ ErrorSeverity["MEDIUM"] = "medium";
125
+ /** Serious issue, operation failed */
126
+ ErrorSeverity["HIGH"] = "high";
127
+ /** Critical failure, system integrity at risk */
128
+ ErrorSeverity["CRITICAL"] = "critical";
129
+ })(ErrorSeverity || (ErrorSeverity = {}));
130
+ /**
131
+ * Get human-readable description of error type
132
+ */
133
+ export function getErrorTypeDescription(type) {
134
+ const descriptions = {
135
+ [ErrorType.USER]: 'User input or parameter error',
136
+ [ErrorType.CONFIG]: 'Configuration or environment error',
137
+ [ErrorType.SECURITY]: 'Security, permission, or authentication error',
138
+ [ErrorType.EXECUTION]: 'Runtime execution failure',
139
+ [ErrorType.SYSTEM]: 'System, infrastructure, or resource error',
140
+ [ErrorType.INTERNAL]: 'Internal bug or unexpected state',
141
+ };
142
+ return descriptions[type];
143
+ }
144
+ /**
145
+ * Determine if error type is retryable
146
+ */
147
+ export function isErrorTypeRetryable(type) {
148
+ // Generally, only SYSTEM and some EXECUTION errors are retryable
149
+ return type === ErrorType.SYSTEM || type === ErrorType.EXECUTION;
150
+ }
151
+ /**
152
+ * Determine if error should be reported to developers
153
+ */
154
+ export function shouldAlertDevelopers(type) {
155
+ // INTERNAL errors indicate bugs
156
+ return type === ErrorType.INTERNAL;
157
+ }
158
+ /**
159
+ * Get suggested action for error type
160
+ */
161
+ export function getSuggestedAction(type) {
162
+ const actions = {
163
+ [ErrorType.USER]: 'Check your input and try again',
164
+ [ErrorType.CONFIG]: 'Verify configuration and environment setup',
165
+ [ErrorType.SECURITY]: 'Check permissions and credentials',
166
+ [ErrorType.EXECUTION]: 'Review operation parameters and retry',
167
+ [ErrorType.SYSTEM]: 'Check system resources and network, then retry',
168
+ [ErrorType.INTERNAL]: 'Report this issue to developers',
169
+ };
170
+ return actions[type];
171
+ }
172
+ //# sourceMappingURL=ErrorTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTypes.js","sourceRoot":"","sources":["../../src/errors/ErrorTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,SAsGX;AAtGD,WAAY,SAAS;IACnB;;;;;;;;;;;;;;OAcG;IACH,0BAAa,CAAA;IAEb;;;;;;;;;;;;;;OAcG;IACH,8BAAiB,CAAA;IAEjB;;;;;;;;;;;;;;OAcG;IACH,kCAAqB,CAAA;IAErB;;;;;;;;;;;;;;OAcG;IACH,oCAAuB,CAAA;IAEvB;;;;;;;;;;;;;;OAcG;IACH,8BAAiB,CAAA;IAEjB;;;;;;;;;;;;;;OAcG;IACH,kCAAqB,CAAA;AACvB,CAAC,EAtGW,SAAS,KAAT,SAAS,QAsGpB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,0CAA0C;IAC1C,4BAAW,CAAA;IAEX,iDAAiD;IACjD,kCAAiB,CAAA;IAEjB,sCAAsC;IACtC,8BAAa,CAAA;IAEb,iDAAiD;IACjD,sCAAqB,CAAA;AACvB,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAe;IACrD,MAAM,YAAY,GAA8B;QAC9C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,+BAA+B;QACjD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,oCAAoC;QACxD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,+CAA+C;QACrE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,2BAA2B;QAClD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,2CAA2C;QAC/D,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,kCAAkC;KACzD,CAAC;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAe;IAClD,iEAAiE;IACjE,OAAO,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,gCAAgC;IAChC,OAAO,IAAI,KAAK,SAAS,CAAC,QAAQ,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,MAAM,OAAO,GAA8B;QACzC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gCAAgC;QAClD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,4CAA4C;QAChE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,mCAAmC;QACzD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,uCAAuC;QAC9D,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,gDAAgD;QACpE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,iCAAiC;KACxD,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Devforge Error Codes
3
+ *
4
+ * Structured error codes for the Devforge project scaffolding tool.
5
+ *
6
+ * Pattern: DEVFORGE-<CATEGORY>-<NUMBER>
7
+ *
8
+ * Categories:
9
+ * - TPL: Template errors
10
+ * - FEAT: Feature errors
11
+ * - GEN: Generation errors
12
+ * - CONFIG: Configuration errors
13
+ *
14
+ * @category Devforge
15
+ * @public
16
+ */
17
+ export declare const DevforgeErrorCodes: {
18
+ /** Template not found */
19
+ readonly TEMPLATE_NOT_FOUND: "DEVFORGE-TPL-001";
20
+ /** Template parsing failed */
21
+ readonly TEMPLATE_PARSE_FAILED: "DEVFORGE-TPL-002";
22
+ /** Invalid template structure */
23
+ readonly TEMPLATE_STRUCTURE_INVALID: "DEVFORGE-TPL-003";
24
+ /** Template rendering failed */
25
+ readonly TEMPLATE_RENDER_FAILED: "DEVFORGE-TPL-004";
26
+ /** Template validation failed */
27
+ readonly TEMPLATE_VALIDATION_FAILED: "DEVFORGE-TPL-005";
28
+ /** Feature conflict detected */
29
+ readonly FEATURE_CONFLICT: "DEVFORGE-FEAT-001";
30
+ /** Feature not found */
31
+ readonly FEATURE_NOT_FOUND: "DEVFORGE-FEAT-002";
32
+ /** Feature incompatible */
33
+ readonly FEATURE_INCOMPATIBLE: "DEVFORGE-FEAT-003";
34
+ /** Feature installation failed */
35
+ readonly FEATURE_INSTALL_FAILED: "DEVFORGE-FEAT-004";
36
+ /** Feature dependency missing */
37
+ readonly FEATURE_DEPENDENCY_MISSING: "DEVFORGE-FEAT-005";
38
+ /** Project generation failed */
39
+ readonly PROJECT_GENERATION_FAILED: "DEVFORGE-GEN-001";
40
+ /** Project already exists */
41
+ readonly PROJECT_ALREADY_EXISTS: "DEVFORGE-GEN-002";
42
+ /** Invalid project structure */
43
+ readonly PROJECT_STRUCTURE_INVALID: "DEVFORGE-GEN-003";
44
+ /** File generation failed */
45
+ readonly FILE_GENERATION_FAILED: "DEVFORGE-GEN-004";
46
+ /** Directory creation failed */
47
+ readonly DIRECTORY_CREATION_FAILED: "DEVFORGE-GEN-005";
48
+ /** Dependency installation failed */
49
+ readonly DEPENDENCY_INSTALL_FAILED: "DEVFORGE-GEN-006";
50
+ /** Invalid configuration */
51
+ readonly CONFIG_INVALID: "DEVFORGE-CONFIG-001";
52
+ /** Configuration not found */
53
+ readonly CONFIG_NOT_FOUND: "DEVFORGE-CONFIG-002";
54
+ /** Configuration parsing failed */
55
+ readonly CONFIG_PARSE_FAILED: "DEVFORGE-CONFIG-003";
56
+ /** Missing required configuration */
57
+ readonly CONFIG_MISSING_REQUIRED: "DEVFORGE-CONFIG-004";
58
+ };
59
+ /**
60
+ * Type for Devforge error codes
61
+ */
62
+ export type DevforgeErrorCode = typeof DevforgeErrorCodes[keyof typeof DevforgeErrorCodes];
63
+ /**
64
+ * Get category from Devforge error code
65
+ */
66
+ export declare function getDevforgeErrorCategory(code: DevforgeErrorCode): string;
67
+ /**
68
+ * Check if code is a Devforge error code
69
+ */
70
+ export declare function isDevforgeErrorCode(code: string): code is DevforgeErrorCode;
71
+ //# sourceMappingURL=devforge.codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devforge.codes.d.ts","sourceRoot":"","sources":["../../src/errors/devforge.codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,kBAAkB;IAK7B,yBAAyB;;IAGzB,8BAA8B;;IAG9B,iCAAiC;;IAGjC,gCAAgC;;IAGhC,iCAAiC;;IAOjC,gCAAgC;;IAGhC,wBAAwB;;IAGxB,2BAA2B;;IAG3B,kCAAkC;;IAGlC,iCAAiC;;IAOjC,gCAAgC;;IAGhC,6BAA6B;;IAG7B,gCAAgC;;IAGhC,6BAA6B;;IAG7B,gCAAgC;;IAGhC,qCAAqC;;IAOrC,4BAA4B;;IAG5B,8BAA8B;;IAG9B,mCAAmC;;IAGnC,qCAAqC;;CAG7B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE3F;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAGxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAE3E"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Devforge Error Codes
3
+ *
4
+ * Structured error codes for the Devforge project scaffolding tool.
5
+ *
6
+ * Pattern: DEVFORGE-<CATEGORY>-<NUMBER>
7
+ *
8
+ * Categories:
9
+ * - TPL: Template errors
10
+ * - FEAT: Feature errors
11
+ * - GEN: Generation errors
12
+ * - CONFIG: Configuration errors
13
+ *
14
+ * @category Devforge
15
+ * @public
16
+ */
17
+ export const DevforgeErrorCodes = {
18
+ //=========================================================================
19
+ // TEMPLATE (TPL) - Template errors
20
+ // =========================================================================
21
+ /** Template not found */
22
+ TEMPLATE_NOT_FOUND: 'DEVFORGE-TPL-001',
23
+ /** Template parsing failed */
24
+ TEMPLATE_PARSE_FAILED: 'DEVFORGE-TPL-002',
25
+ /** Invalid template structure */
26
+ TEMPLATE_STRUCTURE_INVALID: 'DEVFORGE-TPL-003',
27
+ /** Template rendering failed */
28
+ TEMPLATE_RENDER_FAILED: 'DEVFORGE-TPL-004',
29
+ /** Template validation failed */
30
+ TEMPLATE_VALIDATION_FAILED: 'DEVFORGE-TPL-005',
31
+ // =========================================================================
32
+ // FEATURE (FEAT) - Feature errors
33
+ // =========================================================================
34
+ /** Feature conflict detected */
35
+ FEATURE_CONFLICT: 'DEVFORGE-FEAT-001',
36
+ /** Feature not found */
37
+ FEATURE_NOT_FOUND: 'DEVFORGE-FEAT-002',
38
+ /** Feature incompatible */
39
+ FEATURE_INCOMPATIBLE: 'DEVFORGE-FEAT-003',
40
+ /** Feature installation failed */
41
+ FEATURE_INSTALL_FAILED: 'DEVFORGE-FEAT-004',
42
+ /** Feature dependency missing */
43
+ FEATURE_DEPENDENCY_MISSING: 'DEVFORGE-FEAT-005',
44
+ // =========================================================================
45
+ // GENERATION (GEN) - Project generation errors
46
+ // =========================================================================
47
+ /** Project generation failed */
48
+ PROJECT_GENERATION_FAILED: 'DEVFORGE-GEN-001',
49
+ /** Project already exists */
50
+ PROJECT_ALREADY_EXISTS: 'DEVFORGE-GEN-002',
51
+ /** Invalid project structure */
52
+ PROJECT_STRUCTURE_INVALID: 'DEVFORGE-GEN-003',
53
+ /** File generation failed */
54
+ FILE_GENERATION_FAILED: 'DEVFORGE-GEN-004',
55
+ /** Directory creation failed */
56
+ DIRECTORY_CREATION_FAILED: 'DEVFORGE-GEN-005',
57
+ /** Dependency installation failed */
58
+ DEPENDENCY_INSTALL_FAILED: 'DEVFORGE-GEN-006',
59
+ // =========================================================================
60
+ // CONFIG (CONFIG) - Configuration errors
61
+ // =========================================================================
62
+ /** Invalid configuration */
63
+ CONFIG_INVALID: 'DEVFORGE-CONFIG-001',
64
+ /** Configuration not found */
65
+ CONFIG_NOT_FOUND: 'DEVFORGE-CONFIG-002',
66
+ /** Configuration parsing failed */
67
+ CONFIG_PARSE_FAILED: 'DEVFORGE-CONFIG-003',
68
+ /** Missing required configuration */
69
+ CONFIG_MISSING_REQUIRED: 'DEVFORGE-CONFIG-004',
70
+ };
71
+ /**
72
+ * Get category from Devforge error code
73
+ */
74
+ export function getDevforgeErrorCategory(code) {
75
+ const match = code.match(/^DEVFORGE-([A-Z]+)-\d+$/);
76
+ return match?.[1] ?? 'UNKNOWN';
77
+ }
78
+ /**
79
+ * Check if code is a Devforge error code
80
+ */
81
+ export function isDevforgeErrorCode(code) {
82
+ return Object.values(DevforgeErrorCodes).includes(code);
83
+ }
84
+ //# sourceMappingURL=devforge.codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devforge.codes.js","sourceRoot":"","sources":["../../src/errors/devforge.codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,2EAA2E;IAC3E,mCAAmC;IACnC,4EAA4E;IAE5E,yBAAyB;IACzB,kBAAkB,EAAE,kBAAkB;IAEtC,8BAA8B;IAC9B,qBAAqB,EAAE,kBAAkB;IAEzC,iCAAiC;IACjC,0BAA0B,EAAE,kBAAkB;IAE9C,gCAAgC;IAChC,sBAAsB,EAAE,kBAAkB;IAE1C,iCAAiC;IACjC,0BAA0B,EAAE,kBAAkB;IAE9C,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAE5E,gCAAgC;IAChC,gBAAgB,EAAE,mBAAmB;IAErC,wBAAwB;IACxB,iBAAiB,EAAE,mBAAmB;IAEtC,2BAA2B;IAC3B,oBAAoB,EAAE,mBAAmB;IAEzC,kCAAkC;IAClC,sBAAsB,EAAE,mBAAmB;IAE3C,iCAAiC;IACjC,0BAA0B,EAAE,mBAAmB;IAE/C,4EAA4E;IAC5E,+CAA+C;IAC/C,4EAA4E;IAE5E,gCAAgC;IAChC,yBAAyB,EAAE,kBAAkB;IAE7C,6BAA6B;IAC7B,sBAAsB,EAAE,kBAAkB;IAE1C,gCAAgC;IAChC,yBAAyB,EAAE,kBAAkB;IAE7C,6BAA6B;IAC7B,sBAAsB,EAAE,kBAAkB;IAE1C,gCAAgC;IAChC,yBAAyB,EAAE,kBAAkB;IAE7C,qCAAqC;IACrC,yBAAyB,EAAE,kBAAkB;IAE7C,4EAA4E;IAC5E,yCAAyC;IACzC,4EAA4E;IAE5E,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB;IAErC,8BAA8B;IAC9B,gBAAgB,EAAE,qBAAqB;IAEvC,mCAAmC;IACnC,mBAAmB,EAAE,qBAAqB;IAE1C,qCAAqC;IACrC,uBAAuB,EAAE,qBAAqB;CAEtC,CAAC;AAOX;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAuB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAyB,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Devforge Error Classes
3
+ *
4
+ * Concrete error implementations for the Devforge project scaffolding tool.
5
+ * All errors extend BaseError and use DevforgeErrorCodes.
6
+ *
7
+ * @category Devforge
8
+ * @public
9
+ */
10
+ import { BaseError } from './BaseError.js';
11
+ import { ErrorType, ErrorSeverity } from './ErrorTypes.js';
12
+ import { ExitCodes } from '../exit-codes/ExitCodes.js';
13
+ export declare class TemplateNotFoundError extends BaseError {
14
+ readonly component = "devforge";
15
+ readonly type = ErrorType.USER;
16
+ readonly code: "DEVFORGE-TPL-001";
17
+ readonly exitCode = ExitCodes.INVALID_INPUT;
18
+ readonly severity = ErrorSeverity.MEDIUM;
19
+ }
20
+ export declare class TemplateParseError extends BaseError {
21
+ readonly component = "devforge";
22
+ readonly type = ErrorType.INTERNAL;
23
+ readonly code: "DEVFORGE-TPL-002";
24
+ readonly exitCode = ExitCodes.INTERNAL_ERROR;
25
+ readonly severity = ErrorSeverity.HIGH;
26
+ }
27
+ export declare class TemplateStructureError extends BaseError {
28
+ readonly component = "devforge";
29
+ readonly type = ErrorType.USER;
30
+ readonly code: "DEVFORGE-TPL-003";
31
+ readonly exitCode = ExitCodes.INVALID_SCHEMA;
32
+ readonly severity = ErrorSeverity.MEDIUM;
33
+ }
34
+ export declare class TemplateRenderError extends BaseError {
35
+ readonly component = "devforge";
36
+ readonly type = ErrorType.EXECUTION;
37
+ readonly code: "DEVFORGE-TPL-004";
38
+ readonly exitCode = ExitCodes.STEP_FAILED;
39
+ readonly severity = ErrorSeverity.MEDIUM;
40
+ }
41
+ export declare class FeatureConflictError extends BaseError {
42
+ readonly component = "devforge";
43
+ readonly type = ErrorType.USER;
44
+ readonly code: "DEVFORGE-FEAT-001";
45
+ readonly exitCode = ExitCodes.INVALID_INPUT;
46
+ readonly severity = ErrorSeverity.MEDIUM;
47
+ }
48
+ export declare class FeatureNotFoundError extends BaseError {
49
+ readonly component = "devforge";
50
+ readonly type = ErrorType.USER;
51
+ readonly code: "DEVFORGE-FEAT-002";
52
+ readonly exitCode = ExitCodes.INVALID_INPUT;
53
+ readonly severity = ErrorSeverity.MEDIUM;
54
+ }
55
+ export declare class FeatureIncompatibleError extends BaseError {
56
+ readonly component = "devforge";
57
+ readonly type = ErrorType.USER;
58
+ readonly code: "DEVFORGE-FEAT-003";
59
+ readonly exitCode = ExitCodes.INVALID_INPUT;
60
+ readonly severity = ErrorSeverity.MEDIUM;
61
+ }
62
+ export declare class FeatureInstallError extends BaseError {
63
+ readonly component = "devforge";
64
+ readonly type = ErrorType.EXECUTION;
65
+ readonly code: "DEVFORGE-FEAT-004";
66
+ readonly exitCode = ExitCodes.STEP_FAILED;
67
+ readonly severity = ErrorSeverity.HIGH;
68
+ }
69
+ export declare class ProjectGenerationError extends BaseError {
70
+ readonly component = "devforge";
71
+ readonly type = ErrorType.EXECUTION;
72
+ readonly code: "DEVFORGE-GEN-001";
73
+ readonly exitCode = ExitCodes.STEP_FAILED;
74
+ readonly severity = ErrorSeverity.HIGH;
75
+ }
76
+ export declare class ProjectAlreadyExistsError extends BaseError {
77
+ readonly component = "devforge";
78
+ readonly type = ErrorType.USER;
79
+ readonly code: "DEVFORGE-GEN-002";
80
+ readonly exitCode = ExitCodes.INVALID_INPUT;
81
+ readonly severity = ErrorSeverity.MEDIUM;
82
+ }
83
+ export declare class FileGenerationError extends BaseError {
84
+ readonly component = "devforge";
85
+ readonly type = ErrorType.EXECUTION;
86
+ readonly code: "DEVFORGE-GEN-004";
87
+ readonly exitCode = ExitCodes.FILESYSTEM_ERROR;
88
+ readonly severity = ErrorSeverity.MEDIUM;
89
+ }
90
+ export declare class DirectoryCreationError extends BaseError {
91
+ readonly component = "devforge";
92
+ readonly type = ErrorType.EXECUTION;
93
+ readonly code: "DEVFORGE-GEN-005";
94
+ readonly exitCode = ExitCodes.FILESYSTEM_ERROR;
95
+ readonly severity = ErrorSeverity.MEDIUM;
96
+ }
97
+ export declare class DependencyInstallError extends BaseError {
98
+ readonly component = "devforge";
99
+ readonly type = ErrorType.EXECUTION;
100
+ readonly code: "DEVFORGE-GEN-006";
101
+ readonly exitCode = ExitCodes.STEP_FAILED;
102
+ readonly severity = ErrorSeverity.HIGH;
103
+ readonly retryable = true;
104
+ }
105
+ export declare class DevforgeConfigurationError extends BaseError {
106
+ readonly component = "devforge";
107
+ readonly type = ErrorType.CONFIG;
108
+ readonly code: "DEVFORGE-CONFIG-001";
109
+ readonly exitCode = ExitCodes.INVALID_CONFIG;
110
+ readonly severity = ErrorSeverity.MEDIUM;
111
+ }
112
+ export declare class ConfigNotFoundError extends BaseError {
113
+ readonly component = "devforge";
114
+ readonly type = ErrorType.CONFIG;
115
+ readonly code: "DEVFORGE-CONFIG-002";
116
+ readonly exitCode = ExitCodes.MISSING_CONFIG;
117
+ readonly severity = ErrorSeverity.MEDIUM;
118
+ }
119
+ export declare class ConfigParseError extends BaseError {
120
+ readonly component = "devforge";
121
+ readonly type = ErrorType.CONFIG;
122
+ readonly code: "DEVFORGE-CONFIG-003";
123
+ readonly exitCode = ExitCodes.INVALID_FORMAT;
124
+ readonly severity = ErrorSeverity.MEDIUM;
125
+ }
126
+ //# sourceMappingURL=devforge.errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devforge.errors.d.ts","sourceRoot":"","sources":["../../src/errors/devforge.errors.ts"],"names":[],"mappings":"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"}