@orbytautomation/engine 0.2.4 → 0.4.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 (156) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/AdapterRegistry.d.ts.map +1 -1
  3. package/dist/adapters/AdapterRegistry.js +6 -0
  4. package/dist/adapters/AdapterRegistry.js.map +1 -1
  5. package/dist/context/VariableResolver.d.ts.map +1 -1
  6. package/dist/context/VariableResolver.js +7 -0
  7. package/dist/context/VariableResolver.js.map +1 -1
  8. package/dist/core/OrbytEngine.d.ts +19 -0
  9. package/dist/core/OrbytEngine.d.ts.map +1 -1
  10. package/dist/core/OrbytEngine.js +79 -3
  11. package/dist/core/OrbytEngine.js.map +1 -1
  12. package/dist/core/index.d.ts +1 -1
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +1 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/errors/ErrorCodes.d.ts +205 -6
  17. package/dist/errors/ErrorCodes.d.ts.map +1 -1
  18. package/dist/errors/ErrorCodes.js +398 -5
  19. package/dist/errors/ErrorCodes.js.map +1 -1
  20. package/dist/errors/ErrorDebugger.d.ts +98 -0
  21. package/dist/errors/ErrorDebugger.d.ts.map +1 -0
  22. package/dist/errors/ErrorDebugger.js +290 -0
  23. package/dist/errors/ErrorDebugger.js.map +1 -0
  24. package/dist/errors/ErrorDetector.d.ts +148 -0
  25. package/dist/errors/ErrorDetector.d.ts.map +1 -0
  26. package/dist/errors/ErrorDetector.js +370 -0
  27. package/dist/errors/ErrorDetector.js.map +1 -0
  28. package/dist/errors/ErrorFormatter.d.ts +92 -3
  29. package/dist/errors/ErrorFormatter.d.ts.map +1 -1
  30. package/dist/errors/ErrorFormatter.js +220 -4
  31. package/dist/errors/ErrorFormatter.js.map +1 -1
  32. package/dist/errors/ErrorHandler.d.ts +259 -0
  33. package/dist/errors/ErrorHandler.d.ts.map +1 -0
  34. package/dist/errors/ErrorHandler.js +378 -0
  35. package/dist/errors/ErrorHandler.js.map +1 -0
  36. package/dist/errors/FieldRegistry.d.ts +39 -0
  37. package/dist/errors/FieldRegistry.d.ts.map +1 -1
  38. package/dist/errors/FieldRegistry.js +172 -74
  39. package/dist/errors/FieldRegistry.js.map +1 -1
  40. package/dist/errors/OrbytError.d.ts +85 -3
  41. package/dist/errors/OrbytError.d.ts.map +1 -1
  42. package/dist/errors/OrbytError.js +151 -4
  43. package/dist/errors/OrbytError.js.map +1 -1
  44. package/dist/errors/SchedulerError.d.ts +93 -1
  45. package/dist/errors/SchedulerError.d.ts.map +1 -1
  46. package/dist/errors/SchedulerError.js +145 -1
  47. package/dist/errors/SchedulerError.js.map +1 -1
  48. package/dist/errors/SecurityErrors.d.ts +94 -12
  49. package/dist/errors/SecurityErrors.d.ts.map +1 -1
  50. package/dist/errors/SecurityErrors.js +162 -18
  51. package/dist/errors/SecurityErrors.js.map +1 -1
  52. package/dist/errors/StepError.d.ts +111 -1
  53. package/dist/errors/StepError.d.ts.map +1 -1
  54. package/dist/errors/StepError.js +182 -1
  55. package/dist/errors/StepError.js.map +1 -1
  56. package/dist/errors/WorkflowError.d.ts +139 -2
  57. package/dist/errors/WorkflowError.d.ts.map +1 -1
  58. package/dist/errors/WorkflowError.js +264 -22
  59. package/dist/errors/WorkflowError.js.map +1 -1
  60. package/dist/errors/index.d.ts +5 -1
  61. package/dist/errors/index.d.ts.map +1 -1
  62. package/dist/errors/index.js +7 -4
  63. package/dist/errors/index.js.map +1 -1
  64. package/dist/execution/ExecutionEngine.d.ts.map +1 -1
  65. package/dist/execution/ExecutionEngine.js +36 -6
  66. package/dist/execution/ExecutionEngine.js.map +1 -1
  67. package/dist/execution/ExecutionPlan.d.ts.map +1 -1
  68. package/dist/execution/ExecutionPlan.js +21 -1
  69. package/dist/execution/ExecutionPlan.js.map +1 -1
  70. package/dist/execution/IntentAnalyzer.d.ts.map +1 -1
  71. package/dist/execution/IntentAnalyzer.js +20 -0
  72. package/dist/execution/IntentAnalyzer.js.map +1 -1
  73. package/dist/execution/StepExecutor.d.ts.map +1 -1
  74. package/dist/execution/StepExecutor.js +109 -29
  75. package/dist/execution/StepExecutor.js.map +1 -1
  76. package/dist/execution/WorkflowExecutor.d.ts.map +1 -1
  77. package/dist/execution/WorkflowExecutor.js +31 -0
  78. package/dist/execution/WorkflowExecutor.js.map +1 -1
  79. package/dist/explanation/ExplanationGenerator.d.ts +105 -0
  80. package/dist/explanation/ExplanationGenerator.d.ts.map +1 -0
  81. package/dist/explanation/ExplanationGenerator.js +814 -0
  82. package/dist/explanation/ExplanationGenerator.js.map +1 -0
  83. package/dist/explanation/ExplanationLogger.d.ts +50 -0
  84. package/dist/explanation/ExplanationLogger.d.ts.map +1 -0
  85. package/dist/explanation/ExplanationLogger.js +284 -0
  86. package/dist/explanation/ExplanationLogger.js.map +1 -0
  87. package/dist/explanation/ExplanationTypes.d.ts +252 -0
  88. package/dist/explanation/ExplanationTypes.d.ts.map +1 -0
  89. package/dist/explanation/ExplanationTypes.js +10 -0
  90. package/dist/explanation/ExplanationTypes.js.map +1 -0
  91. package/dist/explanation/index.d.ts +12 -0
  92. package/dist/explanation/index.d.ts.map +1 -0
  93. package/dist/explanation/index.js +11 -0
  94. package/dist/explanation/index.js.map +1 -0
  95. package/dist/hooks/HookManager.d.ts.map +1 -1
  96. package/dist/hooks/HookManager.js +8 -0
  97. package/dist/hooks/HookManager.js.map +1 -1
  98. package/dist/index.d.ts +3 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +2 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/lifecycle/ShutdownManager.d.ts.map +1 -1
  103. package/dist/lifecycle/ShutdownManager.js +22 -9
  104. package/dist/lifecycle/ShutdownManager.js.map +1 -1
  105. package/dist/lifecycle/StartupManager.d.ts.map +1 -1
  106. package/dist/lifecycle/StartupManager.js +16 -5
  107. package/dist/lifecycle/StartupManager.js.map +1 -1
  108. package/dist/loader/WorkflowLoader.d.ts +83 -21
  109. package/dist/loader/WorkflowLoader.d.ts.map +1 -1
  110. package/dist/loader/WorkflowLoader.js +169 -55
  111. package/dist/loader/WorkflowLoader.js.map +1 -1
  112. package/dist/logging/EngineLogger.d.ts +492 -0
  113. package/dist/logging/EngineLogger.d.ts.map +1 -0
  114. package/dist/logging/EngineLogger.js +1170 -0
  115. package/dist/logging/EngineLogger.js.map +1 -0
  116. package/dist/logging/LoggerManager.d.ts +49 -0
  117. package/dist/logging/LoggerManager.d.ts.map +1 -0
  118. package/dist/logging/LoggerManager.js +94 -0
  119. package/dist/logging/LoggerManager.js.map +1 -0
  120. package/dist/logging/index.d.ts +2 -1
  121. package/dist/logging/index.d.ts.map +1 -1
  122. package/dist/logging/index.js +2 -3
  123. package/dist/logging/index.js.map +1 -1
  124. package/dist/parser/SchemaValidator.d.ts.map +1 -1
  125. package/dist/parser/SchemaValidator.js +8 -1
  126. package/dist/parser/SchemaValidator.js.map +1 -1
  127. package/dist/parser/StepParser.d.ts +6 -1
  128. package/dist/parser/StepParser.d.ts.map +1 -1
  129. package/dist/parser/StepParser.js +14 -1
  130. package/dist/parser/StepParser.js.map +1 -1
  131. package/dist/parser/WorkflowParser.d.ts.map +1 -1
  132. package/dist/parser/WorkflowParser.js +53 -28
  133. package/dist/parser/WorkflowParser.js.map +1 -1
  134. package/dist/scheduling/ScheduleParser.d.ts.map +1 -1
  135. package/dist/scheduling/ScheduleParser.js +7 -0
  136. package/dist/scheduling/ScheduleParser.js.map +1 -1
  137. package/dist/scheduling/Scheduler.d.ts.map +1 -1
  138. package/dist/scheduling/Scheduler.js +13 -0
  139. package/dist/scheduling/Scheduler.js.map +1 -1
  140. package/dist/types/log-types.d.ts +105 -0
  141. package/dist/types/log-types.d.ts.map +1 -0
  142. package/dist/types/log-types.js +42 -0
  143. package/dist/types/log-types.js.map +1 -0
  144. package/package.json +1 -1
  145. package/dist/core/EngineLogger.d.ts +0 -182
  146. package/dist/core/EngineLogger.d.ts.map +0 -1
  147. package/dist/core/EngineLogger.js +0 -293
  148. package/dist/core/EngineLogger.js.map +0 -1
  149. package/dist/logging/LogLevel.d.ts +0 -2
  150. package/dist/logging/LogLevel.d.ts.map +0 -1
  151. package/dist/logging/LogLevel.js +0 -2
  152. package/dist/logging/LogLevel.js.map +0 -1
  153. package/dist/logging/Logger.d.ts +0 -2
  154. package/dist/logging/Logger.d.ts.map +0 -1
  155. package/dist/logging/Logger.js +0 -2
  156. package/dist/logging/Logger.js.map +0 -1
@@ -1,17 +1,43 @@
1
1
  /**
2
2
  * Orbyt Error Codes
3
3
  *
4
- * Stable error codes for reliable error handling and documentation.
4
+ * Structured error codes for the Orbyt workflow execution engine.
5
+ * These codes are separate from ecosystem exit codes (process-level).
6
+ *
7
+ * ARCHITECTURE:
8
+ * ============
9
+ * - Error Codes (ORB-XX-NNN): Structured diagnostic codes for detailed error identification
10
+ * - Exit Codes (100-509): Process-level codes from @dev-ecosystem/core for shell scripts
11
+ *
12
+ * TWO-LAYER SYSTEM:
13
+ * ================
14
+ * 1. Exit Codes (@dev-ecosystem/core): Process termination codes for the whole ecosystem
15
+ * - Used by CLI, API, SDK to determine process exit status
16
+ * - Example: ExitCodes.INVALID_SCHEMA (103) for schema validation failures
17
+ *
18
+ * 2. Error Codes (This file): Detailed diagnostic codes specific to Orbyt
19
+ * - Used internally by engine for precise error identification
20
+ * - Maps to exit codes for process termination
21
+ * - Example: ORB-S-001 (unknown field) → ExitCodes.INVALID_SCHEMA
22
+ *
5
23
  * Format: ORB-[Category]-[Number]
6
24
  *
7
25
  * Categories:
8
- * - S: Schema/Structure errors
9
- * - V: Validation/Logic errors
10
- * - E: Execution errors
11
- * - R: Runtime errors
26
+ * - S: Schema/Structure errors (YAML syntax, field validation)
27
+ * - V: Validation/Logic errors (duplicate IDs, circular deps)
28
+ * - E: Execution errors (step failures, timeouts)
29
+ * - R: Runtime errors (file not found, permissions)
30
+ *
31
+ * ADDING NEW ERRORS:
32
+ * =================
33
+ * 1. Add error code enum value below
34
+ * 2. Add description in getErrorDescription()
35
+ * 3. Add exit code mapping in getExitCodeForError()
36
+ * 4. Add to appropriate error class (WorkflowError, StepError, etc.)
12
37
  *
13
38
  * @module errors
14
39
  */
40
+ import { ExitCodes } from '@dev-ecosystem/core';
15
41
  export declare enum OrbytErrorCode {
16
42
  /** Unknown field in workflow definition */
17
43
  SCHEMA_UNKNOWN_FIELD = "ORB-S-001",
@@ -25,6 +51,8 @@ export declare enum OrbytErrorCode {
25
51
  SCHEMA_PARSE_ERROR = "ORB-S-005",
26
52
  /** Invalid field format/pattern */
27
53
  SCHEMA_INVALID_FORMAT = "ORB-S-006",
54
+ /** Reserved field detected (security) */
55
+ SCHEMA_RESERVED_FIELD = "ORB-S-007",
28
56
  /** Duplicate step ID */
29
57
  VALIDATION_DUPLICATE_ID = "ORB-V-001",
30
58
  /** Reference to non-existent step */
@@ -41,6 +69,10 @@ export declare enum OrbytErrorCode {
41
69
  VALIDATION_MISSING_INPUT = "ORB-V-007",
42
70
  /** Invalid adapter/action */
43
71
  VALIDATION_UNKNOWN_ADAPTER = "ORB-V-008",
72
+ /** Workflow has no steps */
73
+ VALIDATION_EMPTY_WORKFLOW = "ORB-V-009",
74
+ /** Invalid condition expression syntax */
75
+ VALIDATION_INVALID_CONDITION = "ORB-V-010",
44
76
  /** Step execution failed */
45
77
  EXECUTION_STEP_FAILED = "ORB-E-001",
46
78
  /** Timeout exceeded */
@@ -49,23 +81,190 @@ export declare enum OrbytErrorCode {
49
81
  EXECUTION_ADAPTER_ERROR = "ORB-E-003",
50
82
  /** Workflow cancelled */
51
83
  EXECUTION_CANCELLED = "ORB-E-004",
84
+ /** Step dependency failed */
85
+ EXECUTION_DEPENDENCY_FAILED = "ORB-E-005",
86
+ /** Conditional check failed */
87
+ EXECUTION_CONDITION_FAILED = "ORB-E-006",
52
88
  /** File not found */
53
89
  RUNTIME_FILE_NOT_FOUND = "ORB-R-001",
54
90
  /** Permission denied */
55
91
  RUNTIME_PERMISSION_DENIED = "ORB-R-002",
56
92
  /** Internal engine error */
57
- RUNTIME_INTERNAL_ERROR = "ORB-R-003"
93
+ RUNTIME_INTERNAL_ERROR = "ORB-R-003",
94
+ /** Adapter not registered */
95
+ RUNTIME_ADAPTER_NOT_FOUND = "ORB-R-004",
96
+ /** Resource exhausted */
97
+ RUNTIME_RESOURCE_EXHAUSTED = "ORB-R-005"
58
98
  }
59
99
  /**
60
100
  * Error severity levels
101
+ * Used for prioritizing and determining execution control
102
+ *
103
+ * EXECUTION CONTROL BEHAVIOR:
104
+ * - CRITICAL/FATAL: Stop entire workflow execution immediately
105
+ * - ERROR/HIGH: Stop entire workflow execution (default for errors)
106
+ * - MEDIUM: Stop current step, attempt to continue to next step
107
+ * - LOW: Log warning and continue current step
108
+ * - WARNING: Log warning message, continue execution
109
+ * - INFO: Log informational message, continue execution
61
110
  */
62
111
  export declare enum ErrorSeverity {
112
+ /** Critical error - stop entire workflow immediately (unrecoverable) */
113
+ CRITICAL = "critical",
114
+ /** Fatal error - stop entire workflow (severe failure) */
115
+ FATAL = "fatal",
116
+ /** High severity error - stop entire workflow */
63
117
  ERROR = "error",
118
+ /** Medium severity - stop current step, try to continue workflow */
119
+ MEDIUM = "medium",
120
+ /** Low severity - log and continue current step */
121
+ LOW = "low",
122
+ /** Warning - log warning message, continue execution */
64
123
  WARNING = "warning",
124
+ /** Informational message */
65
125
  INFO = "info"
66
126
  }
67
127
  /**
68
128
  * Get human-readable category name from error code
129
+ *
130
+ * @param code - Orbyt error code
131
+ * @returns Category name (e.g., "Schema Error")
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * const category = getErrorCategory(OrbytErrorCode.SCHEMA_UNKNOWN_FIELD);
136
+ * // Returns: "Schema Error"
137
+ * ```
69
138
  */
70
139
  export declare function getErrorCategory(code: OrbytErrorCode): string;
140
+ /**
141
+ * Get detailed description for an error code
142
+ * Helps users understand what went wrong
143
+ *
144
+ * @param code - Orbyt error code
145
+ * @returns Human-readable description
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const desc = getErrorDescription(OrbytErrorCode.SCHEMA_UNKNOWN_FIELD);
150
+ * // Returns: "Workflow contains an unknown or misspelled field name"
151
+ * ```
152
+ */
153
+ export declare function getErrorDescription(code: OrbytErrorCode): string;
154
+ /**
155
+ * Map Orbyt error code to ecosystem exit code
156
+ * Determines which process exit code should be used
157
+ *
158
+ * @param code - Orbyt error code
159
+ * @returns Exit code from @dev-ecosystem/core
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const exitCode = getExitCodeForError(OrbytErrorCode.SCHEMA_UNKNOWN_FIELD);
164
+ * // Returns: ExitCodes.INVALID_SCHEMA (103)
165
+ * ```
166
+ */
167
+ export declare function getExitCodeForError(code: OrbytErrorCode): ExitCodes;
168
+ /**
169
+ * Check if an error code represents a user error (fixable by changing workflow)
170
+ * vs system error (infrastructure, permissions, etc.)
171
+ *
172
+ * User errors are problems with the workflow definition that the user can fix.
173
+ * System errors are infrastructure/runtime issues outside user control.
174
+ *
175
+ * @param code - Orbyt error code
176
+ * @returns True if error is user-fixable
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * if (isUserError(error.code)) {
181
+ * console.log('Fix your workflow definition');
182
+ * } else {
183
+ * console.log('Contact system administrator');
184
+ * }
185
+ * ```
186
+ */
187
+ export declare function isUserError(code: OrbytErrorCode): boolean;
188
+ /**
189
+ * Check if an error code represents a retryable error
190
+ * Some errors (like timeouts, adapter failures) might succeed on retry.
191
+ * Others (like validation errors) will always fail.
192
+ *
193
+ * @param code - Orbyt error code
194
+ * @returns True if error might succeed on retry
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * if (isRetryable(error.code) && retryCount < maxRetries) {
199
+ * console.log('Retrying...');
200
+ * await retry();
201
+ * }
202
+ * ```
203
+ */
204
+ export declare function isRetryable(code: OrbytErrorCode): boolean;
205
+ /**
206
+ * Get suggested action for an error code
207
+ * Provides actionable guidance for users
208
+ *
209
+ * @param code - Orbyt error code
210
+ * @returns Suggested action to fix the error
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * const action = getSuggestedAction(OrbytErrorCode.SCHEMA_UNKNOWN_FIELD);
215
+ * console.log(action); // "Check field names against schema documentation"
216
+ * ```
217
+ */
218
+ export declare function getSuggestedAction(code: OrbytErrorCode): string;
219
+ /**
220
+ * Execution Control Actions
221
+ * Determines what action to take when error occurs
222
+ */
223
+ export declare enum ExecutionControl {
224
+ /** Stop entire workflow execution immediately */
225
+ STOP_WORKFLOW = "STOP_WORKFLOW",
226
+ /** Stop current step, try to continue to next step */
227
+ STOP_STEP = "STOP_STEP",
228
+ /** Continue execution, just log the issue */
229
+ CONTINUE = "CONTINUE"
230
+ }
231
+ /**
232
+ * Get execution control action based on severity
233
+ * Determines whether to stop workflow, stop step, or continue
234
+ *
235
+ * @param severity - Error severity level
236
+ * @returns Execution control action
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const action = getExecutionControl(ErrorSeverity.CRITICAL);
241
+ * // Returns: ExecutionControl.STOP_WORKFLOW
242
+ *
243
+ * const action2 = getExecutionControl(ErrorSeverity.MEDIUM);
244
+ * // Returns: ExecutionControl.STOP_STEP
245
+ * ```
246
+ */
247
+ export declare function getExecutionControl(severity: ErrorSeverity): ExecutionControl;
248
+ /**
249
+ * Check if severity should stop workflow execution
250
+ *
251
+ * @param severity - Error severity level
252
+ * @returns True if workflow should stop
253
+ */
254
+ export declare function shouldStopWorkflow(severity: ErrorSeverity): boolean;
255
+ /**
256
+ * Check if severity should stop step execution
257
+ *
258
+ * @param severity - Error severity level
259
+ * @returns True if step should stop
260
+ */
261
+ export declare function shouldStopStep(severity: ErrorSeverity): boolean;
262
+ /**
263
+ * Get severity level from error code
264
+ * Auto-determines appropriate severity for error code
265
+ *
266
+ * @param code - Orbyt error code
267
+ * @returns Appropriate severity level
268
+ */
269
+ export declare function getSeverityForErrorCode(code: OrbytErrorCode): ErrorSeverity;
71
270
  //# sourceMappingURL=ErrorCodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorCodes.d.ts","sourceRoot":"","sources":["../../src/errors/ErrorCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,oBAAY,cAAc;IAKxB,2CAA2C;IAC3C,oBAAoB,cAAc;IAElC,yBAAyB;IACzB,mBAAmB,cAAc;IAEjC,6BAA6B;IAC7B,oBAAoB,cAAc;IAElC,yBAAyB;IACzB,mBAAmB,cAAc;IAEjC,iCAAiC;IACjC,kBAAkB,cAAc;IAEhC,mCAAmC;IACnC,qBAAqB,cAAc;IAMnC,wBAAwB;IACxB,uBAAuB,cAAc;IAErC,qCAAqC;IACrC,uBAAuB,cAAc;IAErC,mCAAmC;IACnC,8BAA8B,cAAc;IAE5C,yBAAyB;IACzB,wBAAwB,cAAc;IAEtC,uCAAuC;IACvC,4BAA4B,cAAc;IAE1C,iCAAiC;IACjC,2BAA2B,cAAc;IAEzC,6BAA6B;IAC7B,wBAAwB,cAAc;IAEtC,6BAA6B;IAC7B,0BAA0B,cAAc;IAMxC,4BAA4B;IAC5B,qBAAqB,cAAc;IAEnC,uBAAuB;IACvB,iBAAiB,cAAc;IAE/B,oBAAoB;IACpB,uBAAuB,cAAc;IAErC,yBAAyB;IACzB,mBAAmB,cAAc;IAMjC,qBAAqB;IACrB,sBAAsB,cAAc;IAEpC,wBAAwB;IACxB,yBAAyB,cAAc;IAEvC,4BAA4B;IAC5B,sBAAsB,cAAc;CACrC;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAM7D"}
1
+ {"version":3,"file":"ErrorCodes.d.ts","sourceRoot":"","sources":["../../src/errors/ErrorCodes.ts"],"names":[],"mappings":"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"}