@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
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Error Handler (Automatic Error Management)
3
+ *
4
+ * Central error handling system that orchestrates detection, logging, and execution control.
5
+ * Designed to work automatically without manual error handling in engine.
6
+ *
7
+ * ARCHITECTURE:
8
+ * =============
9
+ * - AUTOMATIC in Engine: Errors are auto-detected and classified
10
+ * - MANUAL in CLI/API/SDK: Use ErrorHandler explicitly for custom handling
11
+ * - INTEGRATED with WorkflowLoader: Validates and detects errors on load
12
+ *
13
+ * EXECUTION CONTROL:
14
+ * ==================
15
+ * Based on severity, automatically determines what to do:
16
+ * - CRITICAL/FATAL → Stop entire workflow immediately
17
+ * - ERROR → Stop entire workflow
18
+ * - MEDIUM → Stop current step, try next step
19
+ * - LOW/WARNING/INFO → Log and continue
20
+ *
21
+ * USAGE:
22
+ * ======
23
+ * ```typescript
24
+ * // In Engine (automatic):
25
+ * try {
26
+ * await executeStep(step);
27
+ * } catch (error) {
28
+ * const result = await ErrorHandler.handle(error, {
29
+ * location: `steps[${index}]`,
30
+ * stepId: step.id
31
+ * });
32
+ *
33
+ * if (result.shouldStopWorkflow) {
34
+ * throw result.error;
35
+ * }
36
+ * if (result.shouldStopStep) {
37
+ * continue; // Skip to next step
38
+ * }
39
+ * // Continue current step
40
+ * }
41
+ *
42
+ * // In CLI/API (manual):
43
+ * try {
44
+ * const workflow = await WorkflowLoader.fromFile(path);
45
+ * } catch (error) {
46
+ * const result = await ErrorHandler.handle(error, { location: path });
47
+ * console.error(result.debug?.formatted);
48
+ * process.exit(result.error.exitCode);
49
+ * }
50
+ * ```
51
+ *
52
+ * @module errors/handler
53
+ */
54
+ import { OrbytError } from './OrbytError.js';
55
+ import { ErrorDetector } from './ErrorDetector.js';
56
+ import { ErrorDebugger } from './ErrorDebugger.js';
57
+ import { formatDetailedError } from './ErrorFormatter.js';
58
+ import { ErrorSeverity, ExecutionControl, getExecutionControl, shouldStopWorkflow, shouldStopStep, } from './ErrorCodes.js';
59
+ /**
60
+ * Error Handler
61
+ *
62
+ * Unified error handling system for Orbyt engine.
63
+ * Automatically detects, classifies, logs, and controls execution based on errors.
64
+ */
65
+ export class ErrorHandler {
66
+ /**
67
+ * Handle any error - the main entry point
68
+ *
69
+ * Automatically:
70
+ * 1. Detects and classifies error type
71
+ * 2. Determines severity level
72
+ * 3. Logs appropriately
73
+ * 4. Generates debug info (if enabled)
74
+ * 5. Returns execution control decision
75
+ *
76
+ * @param error - Any error (OrbytError, Error, string, or error context)
77
+ * @param errorContext - Context about where error occurred
78
+ * @param options - Configuration options
79
+ * @returns Complete error handling result with execution decisions
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // Automatic handling in engine
84
+ * const result = await ErrorHandler.handle(error, {
85
+ * location: 'workflow.steps[2]',
86
+ * stepId: 'fetch-data'
87
+ * });
88
+ *
89
+ * if (result.shouldStopWorkflow) {
90
+ * throw result.error; // Stop execution
91
+ * }
92
+ * ```
93
+ */
94
+ static async handle(error, errorContext, options = {}) {
95
+ const { enableLogging = true, enableDebug = false, useColors = true, logger = console, context = {}, } = options;
96
+ // STEP 1: Detect and classify error → OrbytError
97
+ const orbytError = this.detectError(error, errorContext);
98
+ // STEP 2: Determine execution control based on severity
99
+ const control = getExecutionControl(orbytError.severity);
100
+ const stopWorkflow = shouldStopWorkflow(orbytError.severity);
101
+ const stopStep = shouldStopStep(orbytError.severity);
102
+ const continueExecution = control === ExecutionControl.CONTINUE;
103
+ // STEP 3: Log error if logging is enabled
104
+ let logEntry;
105
+ if (enableLogging) {
106
+ logEntry = this.logError(orbytError, logger, context);
107
+ }
108
+ // STEP 4: Generate debug information if enabled
109
+ let debug;
110
+ if (enableDebug) {
111
+ debug = this.generateDebugInfo(orbytError, useColors);
112
+ }
113
+ // STEP 5: Return complete result
114
+ return {
115
+ error: orbytError,
116
+ control,
117
+ shouldStopWorkflow: stopWorkflow,
118
+ shouldStopStep: stopStep,
119
+ shouldContinue: continueExecution,
120
+ debug,
121
+ logEntry,
122
+ };
123
+ }
124
+ /**
125
+ * Handle error from WorkflowLoader
126
+ * Special handling for load-time errors with file path context
127
+ *
128
+ * @param error - Error from loader
129
+ * @param filePath - Path to workflow file being loaded
130
+ * @param options - Handler options
131
+ * @returns Error handling result
132
+ */
133
+ static async handleLoaderError(error, filePath, options = {}) {
134
+ return this.handle(error, {
135
+ location: filePath,
136
+ type: this.detectLoaderErrorType(error),
137
+ }, {
138
+ ...options,
139
+ enableDebug: true, // Always enable debug for loader errors
140
+ });
141
+ }
142
+ /**
143
+ * Handle error from context object
144
+ * When you already know the error type and have context
145
+ *
146
+ * @param context - Error context with type and data
147
+ * @param options - Handler options
148
+ * @returns Error handling result
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * const result = await ErrorHandler.handleContext({
153
+ * type: 'missing_field',
154
+ * field: 'version',
155
+ * location: 'workflow'
156
+ * });
157
+ * ```
158
+ */
159
+ static async handleContext(context, options = {}) {
160
+ const error = ErrorDetector.detect(context);
161
+ return this.handle(error, context, options);
162
+ }
163
+ /**
164
+ * Quick handle - simplified for common use cases
165
+ * Returns just a boolean: should stop execution?
166
+ *
167
+ * @param error - Error to handle
168
+ * @param location - Where error occurred
169
+ * @returns True if should stop execution, false if can continue
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * if (await ErrorHandler.shouldStop(error, 'workflow.steps[2]')) {
174
+ * throw error; // Stop execution
175
+ * }
176
+ * // Continue execution
177
+ * ```
178
+ */
179
+ static async shouldStop(error, location) {
180
+ const result = await this.handle(error, { location }, {
181
+ enableLogging: true,
182
+ enableDebug: false
183
+ });
184
+ return result.shouldStopWorkflow;
185
+ }
186
+ /**
187
+ * Batch handle multiple errors
188
+ * Useful for validation that collects multiple errors
189
+ *
190
+ * @param errors - Array of errors
191
+ * @param options - Handler options
192
+ * @returns Array of handling results
193
+ */
194
+ static async handleBatch(errors, options = {}) {
195
+ const results = await Promise.all(errors.map(error => this.handle(error, undefined, options)));
196
+ return results;
197
+ }
198
+ /**
199
+ * Get most severe error from batch
200
+ * Returns the error that should take precedence
201
+ *
202
+ * @param results - Array of error handling results
203
+ * @returns Most severe error result
204
+ */
205
+ static getMostSevere(results) {
206
+ if (results.length === 0)
207
+ return undefined;
208
+ const severityOrder = [
209
+ ErrorSeverity.CRITICAL,
210
+ ErrorSeverity.FATAL,
211
+ ErrorSeverity.ERROR,
212
+ ErrorSeverity.MEDIUM,
213
+ ErrorSeverity.LOW,
214
+ ErrorSeverity.WARNING,
215
+ ErrorSeverity.INFO,
216
+ ];
217
+ return results.reduce((mostSevere, current) => {
218
+ const currentIndex = severityOrder.indexOf(current.error.severity);
219
+ const mostSevereIndex = severityOrder.indexOf(mostSevere.error.severity);
220
+ return currentIndex < mostSevereIndex ? current : mostSevere;
221
+ });
222
+ }
223
+ /**
224
+ * Check if any errors in batch should stop workflow
225
+ *
226
+ * @param results - Array of error handling results
227
+ * @returns True if any error should stop workflow
228
+ */
229
+ static shouldStopWorkflowForBatch(results) {
230
+ return results.some(result => result.shouldStopWorkflow);
231
+ }
232
+ // ==================== PRIVATE HELPERS ====================
233
+ /**
234
+ * Detect and classify error into OrbytError
235
+ */
236
+ static detectError(error, context) {
237
+ // Already an OrbytError - return as-is
238
+ if (error instanceof OrbytError) {
239
+ return error;
240
+ }
241
+ // Standard Error - try to classify
242
+ if (error instanceof Error) {
243
+ return ErrorDetector.detectFromException(error, context?.location);
244
+ }
245
+ // Error context object - detect from context
246
+ if (typeof error === 'object' && error !== null && 'type' in error) {
247
+ return ErrorDetector.detect(error);
248
+ }
249
+ // String error message - create generic error
250
+ if (typeof error === 'string') {
251
+ return ErrorDetector.detect({
252
+ type: 'unknown',
253
+ rawMessage: error,
254
+ location: context?.location,
255
+ });
256
+ }
257
+ // Unknown error type - create generic error
258
+ return ErrorDetector.detect({
259
+ type: 'unknown',
260
+ rawMessage: String(error),
261
+ location: context?.location,
262
+ });
263
+ }
264
+ /**
265
+ * Detect error type from WorkflowLoader errors
266
+ */
267
+ static detectLoaderErrorType(error) {
268
+ if (!(error instanceof Error))
269
+ return 'unknown';
270
+ const message = error.message.toLowerCase();
271
+ if (message.includes('file not found') || message.includes('enoent')) {
272
+ return 'unknown'; // Will be classified as RUNTIME_FILE_NOT_FOUND
273
+ }
274
+ if (message.includes('yaml') || message.includes('syntax')) {
275
+ return 'parse_error';
276
+ }
277
+ if (message.includes('json')) {
278
+ return 'parse_error';
279
+ }
280
+ if (message.includes('reserved field')) {
281
+ return 'reserved_field';
282
+ }
283
+ if (message.includes('unknown field')) {
284
+ return 'unknown_field';
285
+ }
286
+ if (message.includes('missing') || message.includes('required')) {
287
+ return 'missing_field';
288
+ }
289
+ return 'unknown';
290
+ }
291
+ /**
292
+ * Log error with appropriate level
293
+ */
294
+ static logError(error, logger, context) {
295
+ const metadata = {
296
+ code: error.code,
297
+ exitCode: error.exitCode,
298
+ severity: error.severity,
299
+ path: error.path,
300
+ category: error.category,
301
+ isUserError: error.isUserError,
302
+ isRetryable: error.isRetryable,
303
+ hint: error.hint,
304
+ context: error.diagnostic.context,
305
+ ...context,
306
+ };
307
+ const message = `[${error.code}] ${error.message}`;
308
+ const timestamp = new Date();
309
+ // Log based on severity
310
+ switch (error.severity) {
311
+ case ErrorSeverity.CRITICAL:
312
+ case ErrorSeverity.FATAL:
313
+ case ErrorSeverity.ERROR:
314
+ logger?.error?.(message, metadata);
315
+ return { level: 'error', message, metadata, timestamp };
316
+ case ErrorSeverity.MEDIUM:
317
+ case ErrorSeverity.LOW:
318
+ case ErrorSeverity.WARNING:
319
+ logger?.warn?.(message, metadata);
320
+ return { level: 'warn', message, metadata, timestamp };
321
+ case ErrorSeverity.INFO:
322
+ logger?.info?.(message, metadata);
323
+ return { level: 'info', message, metadata, timestamp };
324
+ default:
325
+ logger?.error?.(message, metadata);
326
+ return { level: 'error', message, metadata, timestamp };
327
+ }
328
+ }
329
+ /**
330
+ * Generate complete debug information
331
+ */
332
+ static generateDebugInfo(error, useColors) {
333
+ const debugInfo = ErrorDebugger.analyze(error);
334
+ const formatted = ErrorDebugger.format(error, useColors);
335
+ const detailed = formatDetailedError(error, useColors);
336
+ const quickFix = ErrorDebugger.quickDebug(error);
337
+ return {
338
+ explanation: debugInfo.explanation,
339
+ cause: debugInfo.cause,
340
+ fixSteps: debugInfo.fixSteps,
341
+ quickFix,
342
+ formatted,
343
+ detailed,
344
+ commonMistakes: debugInfo.commonMistakes,
345
+ estimatedFixTime: debugInfo.estimatedFixTime,
346
+ };
347
+ }
348
+ }
349
+ /**
350
+ * Global error handler instance for convenience
351
+ * Can be used for setting default options
352
+ */
353
+ export class GlobalErrorHandler {
354
+ static defaultOptions = {
355
+ enableLogging: true,
356
+ enableDebug: false,
357
+ useColors: true,
358
+ };
359
+ /**
360
+ * Configure default options for all error handling
361
+ */
362
+ static configure(options) {
363
+ this.defaultOptions = { ...this.defaultOptions, ...options };
364
+ }
365
+ /**
366
+ * Handle error with default options
367
+ */
368
+ static async handle(error, context) {
369
+ return ErrorHandler.handle(error, context, this.defaultOptions);
370
+ }
371
+ /**
372
+ * Get current default options
373
+ */
374
+ static getOptions() {
375
+ return { ...this.defaultOptions };
376
+ }
377
+ }
378
+ //# sourceMappingURL=ErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../src/errors/ErrorHandler.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,13 @@
11
11
  /**
12
12
  * Valid fields at workflow root level
13
13
  * MUST stay in sync with OrbytWorkflowSchema in @dev-ecosystem/core
14
+ * Last synced: 2026-02-15
14
15
  */
15
16
  export declare const ROOT_FIELDS: readonly ["version", "kind", "workflow", "metadata", "annotations", "triggers", "secrets", "inputs", "context", "defaults", "policies", "permissions", "resources", "outputs", "on", "usage", "strategy", "profiles", "compliance", "provenance", "execution", "outputsSchema", "telemetry", "accounting", "compatibility", "failurePolicy", "rollback", "governance"];
16
17
  /**
17
18
  * Valid fields in metadata object
19
+ * MUST stay in sync with MetadataSchema in @dev-ecosystem/core
20
+ * Last synced: 2026-02-15
18
21
  */
19
22
  export declare const METADATA_FIELDS: readonly ["name", "description", "tags", "owner", "version", "createdAt", "updatedAt", "v1", "future"];
20
23
  /**
@@ -24,22 +27,31 @@ export declare const WORKFLOW_FIELDS: readonly ["steps"];
24
27
  /**
25
28
  * Valid fields in step definition
26
29
  * MUST stay in sync with StepSchema in @dev-ecosystem/core
30
+ * Last synced: 2026-02-15
27
31
  */
28
32
  export declare const STEP_FIELDS: readonly ["id", "uses", "name", "with", "when", "needs", "retry", "timeout", "continueOnError", "outputs", "env", "usage", "ref", "requires", "hints", "contracts", "profiles", "onFailure", "telemetry", "rollback"];
29
33
  /**
30
34
  * Valid fields in secrets config
35
+ * MUST stay in sync with SecretsSchema in @dev-ecosystem/core
36
+ * Last synced: 2026-02-15
31
37
  */
32
38
  export declare const SECRETS_FIELDS: readonly ["vault", "keys"];
33
39
  /**
34
40
  * Valid fields in context config
41
+ * MUST stay in sync with ContextSchema in @dev-ecosystem/core
42
+ * Last synced: 2026-02-15
35
43
  */
36
44
  export declare const CONTEXT_FIELDS: readonly ["env", "platform", "workspace"];
37
45
  /**
38
46
  * Valid fields in defaults config
47
+ * MUST stay in sync with DefaultsSchema in @dev-ecosystem/core
48
+ * Last synced: 2026-02-15
39
49
  */
40
50
  export declare const DEFAULTS_FIELDS: readonly ["retry", "timeout", "adapter"];
41
51
  /**
42
52
  * Valid fields in policies config
53
+ * MUST stay in sync with PoliciesSchema in @dev-ecosystem/core
54
+ * Last synced: 2026-02-15
43
55
  */
44
56
  export declare const POLICIES_FIELDS: readonly ["failure", "concurrency", "sandbox"];
45
57
  /**
@@ -48,6 +60,8 @@ export declare const POLICIES_FIELDS: readonly ["failure", "concurrency", "sandb
48
60
  export declare const PERMISSIONS_FIELDS: readonly ["fs", "network"];
49
61
  /**
50
62
  * Valid fields in retry config
63
+ * MUST stay in sync with RetryConfigSchema in @dev-ecosystem/core
64
+ * Last synced: 2026-02-15
51
65
  */
52
66
  export declare const RETRY_FIELDS: readonly ["max", "backoff", "delay"];
53
67
  /**
@@ -61,6 +75,31 @@ export declare const USAGE_FIELDS: readonly ["track", "scope", "category", "bill
61
75
  * Note: costHint is NOT included - use hints.cost instead (no duplicates)
62
76
  */
63
77
  export declare const STEP_USAGE_FIELDS: readonly ["billable", "unit", "weight"];
78
+ /**
79
+ * Reserved workflow-level fields (engine-controlled, NEVER user-set)
80
+ * These fields would trigger SecurityError if found in user YAML
81
+ * MUST stay in sync with RESERVED_WORKFLOW_FIELDS in security/ReservedFields.ts
82
+ * Last synced: 2026-02-15
83
+ */
84
+ export declare const RESERVED_WORKFLOW_FIELDS: readonly ["_internal", "_identity", "_ownership", "_billing", "_usage", "_audit", "_system", "_engine", "_execution", "_runtime", "_security", "_metadata"];
85
+ /**
86
+ * Reserved context fields (engine-controlled, users cannot set in context)
87
+ * MUST stay in sync with RESERVED_CONTEXT_FIELDS in security/ReservedFields.ts
88
+ * Last synced: 2026-02-15
89
+ */
90
+ export declare const RESERVED_CONTEXT_FIELDS: readonly ["_internal", "_identity", "_ownership", "_billing", "_usage", "_audit", "_system", "_engine", "_security", "executionId", "runId", "traceId", "userId", "workspaceId", "subscriptionId", "subscriptionTier", "billingId", "billingMode", "pricingTier", "pricingModel", "billingSnapshot"];
91
+ /**
92
+ * Reserved step fields (engine-controlled, users cannot set in steps)
93
+ * MUST stay in sync with RESERVED_STEP_FIELDS in security/ReservedFields.ts
94
+ * Last synced: 2026-02-15
95
+ */
96
+ export declare const RESERVED_STEP_FIELDS: readonly ["_internal", "_billing", "_usage", "_audit", "executionId", "runId", "stepExecutionId"];
97
+ /**
98
+ * Reserved annotation prefixes (engine-controlled namespaces)
99
+ * MUST stay in sync with RESERVED_ANNOTATION_PREFIXES in security/ReservedFields.ts
100
+ * Last synced: 2026-02-15
101
+ */
102
+ export declare const RESERVED_ANNOTATION_PREFIXES: readonly ["engine.", "system.", "internal.", "billing.", "audit.", "security."];
64
103
  /**
65
104
  * Field registry map - maps path prefixes to valid fields
66
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FieldRegistry.d.ts","sourceRoot":"","sources":["../../src/errors/FieldRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,wWAkCd,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,wGAUlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,oBAElB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,WAAW,uNA0Bd,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,4BAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,2CAIjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,0CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,gDAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,4BAGrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY,sCAIf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY,wEAOf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,yCAIpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAa5D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAoB9D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjE"}
1
+ {"version":3,"file":"FieldRegistry.d.ts","sourceRoot":"","sources":["../../src/errors/FieldRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,eAAO,MAAM,WAAW,wWA0Cd,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,wGAYlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,oBAElB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW,uNA4Bd,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,4BAGjB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,2CAIjB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,0CAIlB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,gDAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,4BAGrB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,YAAY,sCAIf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY,wEAOf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,yCAIpB,CAAC;AAMX;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,6JAa3B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,sSAsB1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,mGAQvB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,iFAO/B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAa5D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAoB9D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjE"}