@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.
- package/README.md +1 -1
- package/dist/adapters/AdapterRegistry.d.ts.map +1 -1
- package/dist/adapters/AdapterRegistry.js +6 -0
- package/dist/adapters/AdapterRegistry.js.map +1 -1
- package/dist/context/VariableResolver.d.ts.map +1 -1
- package/dist/context/VariableResolver.js +7 -0
- package/dist/context/VariableResolver.js.map +1 -1
- package/dist/core/OrbytEngine.d.ts +19 -0
- package/dist/core/OrbytEngine.d.ts.map +1 -1
- package/dist/core/OrbytEngine.js +79 -3
- package/dist/core/OrbytEngine.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/errors/ErrorCodes.d.ts +205 -6
- package/dist/errors/ErrorCodes.d.ts.map +1 -1
- package/dist/errors/ErrorCodes.js +398 -5
- package/dist/errors/ErrorCodes.js.map +1 -1
- package/dist/errors/ErrorDebugger.d.ts +98 -0
- package/dist/errors/ErrorDebugger.d.ts.map +1 -0
- package/dist/errors/ErrorDebugger.js +290 -0
- package/dist/errors/ErrorDebugger.js.map +1 -0
- package/dist/errors/ErrorDetector.d.ts +148 -0
- package/dist/errors/ErrorDetector.d.ts.map +1 -0
- package/dist/errors/ErrorDetector.js +370 -0
- package/dist/errors/ErrorDetector.js.map +1 -0
- package/dist/errors/ErrorFormatter.d.ts +92 -3
- package/dist/errors/ErrorFormatter.d.ts.map +1 -1
- package/dist/errors/ErrorFormatter.js +220 -4
- package/dist/errors/ErrorFormatter.js.map +1 -1
- package/dist/errors/ErrorHandler.d.ts +259 -0
- package/dist/errors/ErrorHandler.d.ts.map +1 -0
- package/dist/errors/ErrorHandler.js +378 -0
- package/dist/errors/ErrorHandler.js.map +1 -0
- package/dist/errors/FieldRegistry.d.ts +39 -0
- package/dist/errors/FieldRegistry.d.ts.map +1 -1
- package/dist/errors/FieldRegistry.js +172 -74
- package/dist/errors/FieldRegistry.js.map +1 -1
- package/dist/errors/OrbytError.d.ts +85 -3
- package/dist/errors/OrbytError.d.ts.map +1 -1
- package/dist/errors/OrbytError.js +151 -4
- package/dist/errors/OrbytError.js.map +1 -1
- package/dist/errors/SchedulerError.d.ts +93 -1
- package/dist/errors/SchedulerError.d.ts.map +1 -1
- package/dist/errors/SchedulerError.js +145 -1
- package/dist/errors/SchedulerError.js.map +1 -1
- package/dist/errors/SecurityErrors.d.ts +94 -12
- package/dist/errors/SecurityErrors.d.ts.map +1 -1
- package/dist/errors/SecurityErrors.js +162 -18
- package/dist/errors/SecurityErrors.js.map +1 -1
- package/dist/errors/StepError.d.ts +111 -1
- package/dist/errors/StepError.d.ts.map +1 -1
- package/dist/errors/StepError.js +182 -1
- package/dist/errors/StepError.js.map +1 -1
- package/dist/errors/WorkflowError.d.ts +139 -2
- package/dist/errors/WorkflowError.d.ts.map +1 -1
- package/dist/errors/WorkflowError.js +264 -22
- package/dist/errors/WorkflowError.js.map +1 -1
- package/dist/errors/index.d.ts +5 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +7 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/execution/ExecutionEngine.d.ts.map +1 -1
- package/dist/execution/ExecutionEngine.js +36 -6
- package/dist/execution/ExecutionEngine.js.map +1 -1
- package/dist/execution/ExecutionPlan.d.ts.map +1 -1
- package/dist/execution/ExecutionPlan.js +21 -1
- package/dist/execution/ExecutionPlan.js.map +1 -1
- package/dist/execution/IntentAnalyzer.d.ts.map +1 -1
- package/dist/execution/IntentAnalyzer.js +20 -0
- package/dist/execution/IntentAnalyzer.js.map +1 -1
- package/dist/execution/StepExecutor.d.ts.map +1 -1
- package/dist/execution/StepExecutor.js +109 -29
- package/dist/execution/StepExecutor.js.map +1 -1
- package/dist/execution/WorkflowExecutor.d.ts.map +1 -1
- package/dist/execution/WorkflowExecutor.js +31 -0
- package/dist/execution/WorkflowExecutor.js.map +1 -1
- package/dist/explanation/ExplanationGenerator.d.ts +105 -0
- package/dist/explanation/ExplanationGenerator.d.ts.map +1 -0
- package/dist/explanation/ExplanationGenerator.js +814 -0
- package/dist/explanation/ExplanationGenerator.js.map +1 -0
- package/dist/explanation/ExplanationLogger.d.ts +50 -0
- package/dist/explanation/ExplanationLogger.d.ts.map +1 -0
- package/dist/explanation/ExplanationLogger.js +284 -0
- package/dist/explanation/ExplanationLogger.js.map +1 -0
- package/dist/explanation/ExplanationTypes.d.ts +252 -0
- package/dist/explanation/ExplanationTypes.d.ts.map +1 -0
- package/dist/explanation/ExplanationTypes.js +10 -0
- package/dist/explanation/ExplanationTypes.js.map +1 -0
- package/dist/explanation/index.d.ts +12 -0
- package/dist/explanation/index.d.ts.map +1 -0
- package/dist/explanation/index.js +11 -0
- package/dist/explanation/index.js.map +1 -0
- package/dist/hooks/HookManager.d.ts.map +1 -1
- package/dist/hooks/HookManager.js +8 -0
- package/dist/hooks/HookManager.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/ShutdownManager.d.ts.map +1 -1
- package/dist/lifecycle/ShutdownManager.js +22 -9
- package/dist/lifecycle/ShutdownManager.js.map +1 -1
- package/dist/lifecycle/StartupManager.d.ts.map +1 -1
- package/dist/lifecycle/StartupManager.js +16 -5
- package/dist/lifecycle/StartupManager.js.map +1 -1
- package/dist/loader/WorkflowLoader.d.ts +83 -21
- package/dist/loader/WorkflowLoader.d.ts.map +1 -1
- package/dist/loader/WorkflowLoader.js +169 -55
- package/dist/loader/WorkflowLoader.js.map +1 -1
- package/dist/logging/EngineLogger.d.ts +492 -0
- package/dist/logging/EngineLogger.d.ts.map +1 -0
- package/dist/logging/EngineLogger.js +1170 -0
- package/dist/logging/EngineLogger.js.map +1 -0
- package/dist/logging/LoggerManager.d.ts +49 -0
- package/dist/logging/LoggerManager.d.ts.map +1 -0
- package/dist/logging/LoggerManager.js +94 -0
- package/dist/logging/LoggerManager.js.map +1 -0
- package/dist/logging/index.d.ts +2 -1
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +2 -3
- package/dist/logging/index.js.map +1 -1
- package/dist/parser/SchemaValidator.d.ts.map +1 -1
- package/dist/parser/SchemaValidator.js +8 -1
- package/dist/parser/SchemaValidator.js.map +1 -1
- package/dist/parser/StepParser.d.ts +6 -1
- package/dist/parser/StepParser.d.ts.map +1 -1
- package/dist/parser/StepParser.js +14 -1
- package/dist/parser/StepParser.js.map +1 -1
- package/dist/parser/WorkflowParser.d.ts.map +1 -1
- package/dist/parser/WorkflowParser.js +53 -28
- package/dist/parser/WorkflowParser.js.map +1 -1
- package/dist/scheduling/ScheduleParser.d.ts.map +1 -1
- package/dist/scheduling/ScheduleParser.js +7 -0
- package/dist/scheduling/ScheduleParser.js.map +1 -1
- package/dist/scheduling/Scheduler.d.ts.map +1 -1
- package/dist/scheduling/Scheduler.js +13 -0
- package/dist/scheduling/Scheduler.js.map +1 -1
- package/dist/types/log-types.d.ts +105 -0
- package/dist/types/log-types.d.ts.map +1 -0
- package/dist/types/log-types.js +42 -0
- package/dist/types/log-types.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/EngineLogger.d.ts +0 -182
- package/dist/core/EngineLogger.d.ts.map +0 -1
- package/dist/core/EngineLogger.js +0 -293
- package/dist/core/EngineLogger.js.map +0 -1
- package/dist/logging/LogLevel.d.ts +0 -2
- package/dist/logging/LogLevel.d.ts.map +0 -1
- package/dist/logging/LogLevel.js +0 -2
- package/dist/logging/LogLevel.js.map +0 -1
- package/dist/logging/Logger.d.ts +0 -2
- package/dist/logging/Logger.d.ts.map +0 -1
- package/dist/logging/Logger.js +0 -2
- package/dist/logging/Logger.js.map +0 -1
|
@@ -11,53 +11,61 @@
|
|
|
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 const ROOT_FIELDS = [
|
|
16
|
-
// Core required fields
|
|
17
|
-
'version',
|
|
18
|
-
'kind',
|
|
19
|
-
'workflow',
|
|
20
|
-
//
|
|
21
|
-
'metadata',
|
|
22
|
-
'annotations',
|
|
23
|
-
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
-
|
|
33
|
-
'
|
|
17
|
+
// Core required fields (REQUIRED)
|
|
18
|
+
'version', // Schema version (semantic versioning)
|
|
19
|
+
'kind', // Type of executable (workflow, pipeline, job, playbook, automation)
|
|
20
|
+
'workflow', // Core workflow execution definition
|
|
21
|
+
// Optional metadata & documentation
|
|
22
|
+
'metadata', // Human-readable metadata
|
|
23
|
+
'annotations', // Zero-impact annotations for tooling
|
|
24
|
+
// Execution configuration
|
|
25
|
+
'triggers', // Execution triggers (manual, cron, event, webhook)
|
|
26
|
+
'secrets', // External secret references
|
|
27
|
+
'inputs', // Runtime parameters
|
|
28
|
+
'context', // Runtime environment context
|
|
29
|
+
'defaults', // Default settings for all steps
|
|
30
|
+
'policies', // Execution policies
|
|
31
|
+
'permissions', // Security permissions
|
|
32
|
+
'resources', // Resource constraints (future)
|
|
33
|
+
// Outputs & hooks
|
|
34
|
+
'outputs', // Final workflow outputs returned to caller
|
|
35
|
+
'on', // Lifecycle hooks (success, failure, always) - future
|
|
36
|
+
// Usage tracking
|
|
37
|
+
'usage', // Usage tracking configuration (production)
|
|
34
38
|
// Production-ready universal fields
|
|
35
|
-
'strategy',
|
|
36
|
-
'profiles',
|
|
37
|
-
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'
|
|
42
|
-
'
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
39
|
+
'strategy', // Execution strategy (production)
|
|
40
|
+
'profiles', // Environment-specific profiles (future)
|
|
41
|
+
// Future-safe fields
|
|
42
|
+
'compliance', // Compliance metadata (future)
|
|
43
|
+
'provenance', // Provenance tracking (future: AI-generated workflows)
|
|
44
|
+
'execution', // Execution strategy (future: multi-environment)
|
|
45
|
+
'outputsSchema', // Output schema for validation (future)
|
|
46
|
+
'telemetry', // Telemetry controls (future)
|
|
47
|
+
'accounting', // Cost and usage accounting (future)
|
|
48
|
+
'compatibility', // Version compatibility (future)
|
|
49
|
+
'failurePolicy', // Failure semantics (future)
|
|
50
|
+
'rollback', // Rollback configuration (future)
|
|
51
|
+
'governance', // Governance metadata (future: enterprise)
|
|
47
52
|
];
|
|
48
53
|
/**
|
|
49
54
|
* Valid fields in metadata object
|
|
55
|
+
* MUST stay in sync with MetadataSchema in @dev-ecosystem/core
|
|
56
|
+
* Last synced: 2026-02-15
|
|
50
57
|
*/
|
|
51
58
|
export const METADATA_FIELDS = [
|
|
52
|
-
'name',
|
|
53
|
-
'description',
|
|
54
|
-
'tags',
|
|
55
|
-
'owner',
|
|
56
|
-
'version',
|
|
57
|
-
'createdAt',
|
|
58
|
-
'updatedAt',
|
|
59
|
-
|
|
60
|
-
'
|
|
59
|
+
'name', // Human-readable workflow name
|
|
60
|
+
'description', // Detailed workflow description
|
|
61
|
+
'tags', // Categorization tags
|
|
62
|
+
'owner', // Owner team or individual
|
|
63
|
+
'version', // Workflow version (not schema version)
|
|
64
|
+
'createdAt', // Creation timestamp
|
|
65
|
+
'updatedAt', // Last update timestamp
|
|
66
|
+
// Version tracking flags (future-safe)
|
|
67
|
+
'v1', // Marks workflow as using v1 features
|
|
68
|
+
'future', // Marks workflow as using future/experimental features
|
|
61
69
|
];
|
|
62
70
|
/**
|
|
63
71
|
* Valid fields in workflow body
|
|
@@ -68,62 +76,72 @@ export const WORKFLOW_FIELDS = [
|
|
|
68
76
|
/**
|
|
69
77
|
* Valid fields in step definition
|
|
70
78
|
* MUST stay in sync with StepSchema in @dev-ecosystem/core
|
|
79
|
+
* Last synced: 2026-02-15
|
|
71
80
|
*/
|
|
72
81
|
export const STEP_FIELDS = [
|
|
73
82
|
// Core required fields
|
|
74
|
-
'id',
|
|
75
|
-
'uses',
|
|
76
|
-
// Common fields
|
|
77
|
-
'name',
|
|
78
|
-
'with',
|
|
79
|
-
'when',
|
|
80
|
-
'needs',
|
|
81
|
-
'retry',
|
|
82
|
-
'timeout',
|
|
83
|
-
'continueOnError',
|
|
84
|
-
'outputs',
|
|
85
|
-
'env',
|
|
86
|
-
|
|
83
|
+
'id', // Unique step identifier (must start with letter)
|
|
84
|
+
'uses', // Action to execute (namespace.action format)
|
|
85
|
+
// Common optional fields
|
|
86
|
+
'name', // Human-readable step name
|
|
87
|
+
'with', // Adapter-specific input parameters
|
|
88
|
+
'when', // Conditional execution expression
|
|
89
|
+
'needs', // Explicit step dependencies
|
|
90
|
+
'retry', // Step-specific retry config
|
|
91
|
+
'timeout', // Step execution timeout (e.g., '30s', '5m')
|
|
92
|
+
'continueOnError', // Continue workflow even if step fails
|
|
93
|
+
'outputs', // Map step outputs to named values
|
|
94
|
+
'env', // Environment variables for this step
|
|
95
|
+
// Usage tracking (production)
|
|
96
|
+
'usage', // Usage tracking override (per-step billing)
|
|
87
97
|
// Production-ready universal fields
|
|
88
|
-
'ref',
|
|
89
|
-
'requires',
|
|
90
|
-
'hints',
|
|
91
|
-
'contracts',
|
|
92
|
-
'profiles',
|
|
93
|
-
'onFailure',
|
|
94
|
-
'telemetry',
|
|
95
|
-
'rollback',
|
|
98
|
+
'ref', // Versioned step reference (e.g., @^1)
|
|
99
|
+
'requires', // Capability requirements (future)
|
|
100
|
+
'hints', // Execution hints for optimization (future)
|
|
101
|
+
'contracts', // Data contracts for validation (future)
|
|
102
|
+
'profiles', // Environment-specific profiles (future)
|
|
103
|
+
'onFailure', // Failure handling configuration (future)
|
|
104
|
+
'telemetry', // Telemetry configuration (future)
|
|
105
|
+
'rollback', // Step-level rollback logic (future)
|
|
96
106
|
];
|
|
97
107
|
/**
|
|
98
108
|
* Valid fields in secrets config
|
|
109
|
+
* MUST stay in sync with SecretsSchema in @dev-ecosystem/core
|
|
110
|
+
* Last synced: 2026-02-15
|
|
99
111
|
*/
|
|
100
112
|
export const SECRETS_FIELDS = [
|
|
101
|
-
'vault',
|
|
102
|
-
'keys',
|
|
113
|
+
'vault', // Secret vault provider (default: 'vaulta')
|
|
114
|
+
'keys', // Map of logical names to provider-specific secret paths
|
|
103
115
|
];
|
|
104
116
|
/**
|
|
105
117
|
* Valid fields in context config
|
|
118
|
+
* MUST stay in sync with ContextSchema in @dev-ecosystem/core
|
|
119
|
+
* Last synced: 2026-02-15
|
|
106
120
|
*/
|
|
107
121
|
export const CONTEXT_FIELDS = [
|
|
108
|
-
'env',
|
|
109
|
-
'platform',
|
|
110
|
-
'workspace',
|
|
122
|
+
'env', // Environment (local, dev, staging, prod)
|
|
123
|
+
'platform', // Platform identifier
|
|
124
|
+
'workspace', // Workspace path
|
|
111
125
|
];
|
|
112
126
|
/**
|
|
113
127
|
* Valid fields in defaults config
|
|
128
|
+
* MUST stay in sync with DefaultsSchema in @dev-ecosystem/core
|
|
129
|
+
* Last synced: 2026-02-15
|
|
114
130
|
*/
|
|
115
131
|
export const DEFAULTS_FIELDS = [
|
|
116
|
-
'retry',
|
|
117
|
-
'timeout',
|
|
118
|
-
'adapter',
|
|
132
|
+
'retry', // Default retry configuration
|
|
133
|
+
'timeout', // Default step timeout (e.g., '30s')
|
|
134
|
+
'adapter', // Default adapter
|
|
119
135
|
];
|
|
120
136
|
/**
|
|
121
137
|
* Valid fields in policies config
|
|
138
|
+
* MUST stay in sync with PoliciesSchema in @dev-ecosystem/core
|
|
139
|
+
* Last synced: 2026-02-15
|
|
122
140
|
*/
|
|
123
141
|
export const POLICIES_FIELDS = [
|
|
124
|
-
'failure',
|
|
125
|
-
'concurrency',
|
|
126
|
-
'sandbox',
|
|
142
|
+
'failure', // Failure policy (stop, continue, isolate)
|
|
143
|
+
'concurrency', // Max concurrent steps
|
|
144
|
+
'sandbox', // Sandbox level (none, basic, strict)
|
|
127
145
|
];
|
|
128
146
|
/**
|
|
129
147
|
* Valid fields in permissions config
|
|
@@ -134,11 +152,13 @@ export const PERMISSIONS_FIELDS = [
|
|
|
134
152
|
];
|
|
135
153
|
/**
|
|
136
154
|
* Valid fields in retry config
|
|
155
|
+
* MUST stay in sync with RetryConfigSchema in @dev-ecosystem/core
|
|
156
|
+
* Last synced: 2026-02-15
|
|
137
157
|
*/
|
|
138
158
|
export const RETRY_FIELDS = [
|
|
139
|
-
'max',
|
|
140
|
-
'backoff',
|
|
141
|
-
'delay',
|
|
159
|
+
'max', // Maximum retry attempts
|
|
160
|
+
'backoff', // Backoff strategy (linear, exponential)
|
|
161
|
+
'delay', // Initial delay in milliseconds
|
|
142
162
|
];
|
|
143
163
|
/**
|
|
144
164
|
* Valid fields in usage tracking config
|
|
@@ -162,6 +182,84 @@ export const STEP_USAGE_FIELDS = [
|
|
|
162
182
|
'unit',
|
|
163
183
|
'weight',
|
|
164
184
|
];
|
|
185
|
+
// ============================================================================
|
|
186
|
+
// RESERVED/INTERNAL FIELDS (Engine-controlled, users cannot set these)
|
|
187
|
+
// ============================================================================
|
|
188
|
+
/**
|
|
189
|
+
* Reserved workflow-level fields (engine-controlled, NEVER user-set)
|
|
190
|
+
* These fields would trigger SecurityError if found in user YAML
|
|
191
|
+
* MUST stay in sync with RESERVED_WORKFLOW_FIELDS in security/ReservedFields.ts
|
|
192
|
+
* Last synced: 2026-02-15
|
|
193
|
+
*/
|
|
194
|
+
export const RESERVED_WORKFLOW_FIELDS = [
|
|
195
|
+
'_internal', // Internal execution context
|
|
196
|
+
'_identity', // Execution identity (executionId, runId, traceId)
|
|
197
|
+
'_ownership', // Ownership context (userId, workspaceId, subscriptionId)
|
|
198
|
+
'_billing', // Billing context (billingId, pricingTier, costCalculated)
|
|
199
|
+
'_usage', // Usage tracking counters
|
|
200
|
+
'_audit', // Audit trail fields
|
|
201
|
+
'_system', // System fields
|
|
202
|
+
'_engine', // Engine metadata
|
|
203
|
+
'_execution', // Execution context (internal)
|
|
204
|
+
'_runtime', // Runtime context (internal)
|
|
205
|
+
'_security', // Security context
|
|
206
|
+
'_metadata', // Internal metadata
|
|
207
|
+
];
|
|
208
|
+
/**
|
|
209
|
+
* Reserved context fields (engine-controlled, users cannot set in context)
|
|
210
|
+
* MUST stay in sync with RESERVED_CONTEXT_FIELDS in security/ReservedFields.ts
|
|
211
|
+
* Last synced: 2026-02-15
|
|
212
|
+
*/
|
|
213
|
+
export const RESERVED_CONTEXT_FIELDS = [
|
|
214
|
+
'_internal',
|
|
215
|
+
'_identity',
|
|
216
|
+
'_ownership',
|
|
217
|
+
'_billing',
|
|
218
|
+
'_usage',
|
|
219
|
+
'_audit',
|
|
220
|
+
'_system',
|
|
221
|
+
'_engine',
|
|
222
|
+
'_security',
|
|
223
|
+
'executionId',
|
|
224
|
+
'runId',
|
|
225
|
+
'traceId',
|
|
226
|
+
'userId',
|
|
227
|
+
'workspaceId',
|
|
228
|
+
'subscriptionId',
|
|
229
|
+
'subscriptionTier',
|
|
230
|
+
'billingId',
|
|
231
|
+
'billingMode',
|
|
232
|
+
'pricingTier',
|
|
233
|
+
'pricingModel',
|
|
234
|
+
'billingSnapshot',
|
|
235
|
+
];
|
|
236
|
+
/**
|
|
237
|
+
* Reserved step fields (engine-controlled, users cannot set in steps)
|
|
238
|
+
* MUST stay in sync with RESERVED_STEP_FIELDS in security/ReservedFields.ts
|
|
239
|
+
* Last synced: 2026-02-15
|
|
240
|
+
*/
|
|
241
|
+
export const RESERVED_STEP_FIELDS = [
|
|
242
|
+
'_internal',
|
|
243
|
+
'_billing',
|
|
244
|
+
'_usage',
|
|
245
|
+
'_audit',
|
|
246
|
+
'executionId',
|
|
247
|
+
'runId',
|
|
248
|
+
'stepExecutionId',
|
|
249
|
+
];
|
|
250
|
+
/**
|
|
251
|
+
* Reserved annotation prefixes (engine-controlled namespaces)
|
|
252
|
+
* MUST stay in sync with RESERVED_ANNOTATION_PREFIXES in security/ReservedFields.ts
|
|
253
|
+
* Last synced: 2026-02-15
|
|
254
|
+
*/
|
|
255
|
+
export const RESERVED_ANNOTATION_PREFIXES = [
|
|
256
|
+
'engine.',
|
|
257
|
+
'system.',
|
|
258
|
+
'internal.',
|
|
259
|
+
'billing.',
|
|
260
|
+
'audit.',
|
|
261
|
+
'security.',
|
|
262
|
+
];
|
|
165
263
|
/**
|
|
166
264
|
* Field registry map - maps path prefixes to valid fields
|
|
167
265
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldRegistry.js","sourceRoot":"","sources":["../../src/errors/FieldRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH
|
|
1
|
+
{"version":3,"file":"FieldRegistry.js","sourceRoot":"","sources":["../../src/errors/FieldRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,37 +4,72 @@
|
|
|
4
4
|
* Foundation for all Orbyt errors with diagnostic capabilities.
|
|
5
5
|
* Provides structured error information for CLI, UI, and AI integrations.
|
|
6
6
|
*
|
|
7
|
+
* ARCHITECTURE:
|
|
8
|
+
* - Error codes (ORB-XX-NNN): Structured codes for error identification
|
|
9
|
+
* - Exit codes (from @dev-ecosystem/core): Process exit codes for shell scripts
|
|
10
|
+
* - Severity levels: ERROR, WARNING, INFO
|
|
11
|
+
* - Context + hints: Help users debug and fix issues
|
|
12
|
+
*
|
|
7
13
|
* @module errors
|
|
8
14
|
*/
|
|
15
|
+
import { ExitCodes } from '@dev-ecosystem/core';
|
|
9
16
|
import { OrbytErrorCode, ErrorSeverity } from './ErrorCodes.js';
|
|
10
17
|
/**
|
|
11
18
|
* Diagnostic error information
|
|
19
|
+
* Contains all data needed to understand and debug an error
|
|
12
20
|
*/
|
|
13
21
|
export interface OrbytErrorDiagnostic {
|
|
14
|
-
/**
|
|
22
|
+
/** Structured error code (e.g., ORB-S-001) */
|
|
15
23
|
code: OrbytErrorCode;
|
|
16
24
|
/** Human-readable error message */
|
|
17
25
|
message: string;
|
|
26
|
+
/** Process exit code from ecosystem-core (for CLI) */
|
|
27
|
+
exitCode?: ExitCodes;
|
|
18
28
|
/** Path to the error location (e.g., "workflow.steps[2].uses") */
|
|
19
29
|
path?: string;
|
|
20
30
|
/** Optional suggestion for fixing the error */
|
|
21
31
|
hint?: string;
|
|
22
|
-
/** Error severity */
|
|
32
|
+
/** Error severity (ERROR, WARNING, INFO) */
|
|
23
33
|
severity: ErrorSeverity;
|
|
24
|
-
/** Additional context data */
|
|
34
|
+
/** Additional context data for debugging */
|
|
25
35
|
context?: Record<string, any>;
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
38
|
* Base error class for all Orbyt errors
|
|
39
|
+
*
|
|
40
|
+
* Provides rich diagnostic information including:
|
|
41
|
+
* - Structured error code
|
|
42
|
+
* - Exit code for process termination
|
|
43
|
+
* - Location in workflow where error occurred
|
|
44
|
+
* - Hints for fixing the error
|
|
45
|
+
* - Additional context for debugging
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* throw new OrbytError({
|
|
50
|
+
* code: OrbytErrorCode.SCHEMA_MISSING_FIELD,
|
|
51
|
+
* message: 'Missing required field "version"',
|
|
52
|
+
* exitCode: ExitCodes.INVALID_SCHEMA,
|
|
53
|
+
* path: 'workflow',
|
|
54
|
+
* hint: 'Add "version: 1.0" to your workflow definition',
|
|
55
|
+
* severity: ErrorSeverity.ERROR,
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
29
58
|
*/
|
|
30
59
|
export declare class OrbytError extends Error {
|
|
31
60
|
/** Error diagnostic information */
|
|
32
61
|
readonly diagnostic: OrbytErrorDiagnostic;
|
|
62
|
+
/** Timestamp when error occurred */
|
|
63
|
+
readonly timestamp: Date;
|
|
33
64
|
constructor(diagnostic: OrbytErrorDiagnostic);
|
|
34
65
|
/**
|
|
35
66
|
* Get the error code
|
|
36
67
|
*/
|
|
37
68
|
get code(): OrbytErrorCode;
|
|
69
|
+
/**
|
|
70
|
+
* Get the exit code for process termination
|
|
71
|
+
*/
|
|
72
|
+
get exitCode(): ExitCodes;
|
|
38
73
|
/**
|
|
39
74
|
* Get the error path (where it occurred)
|
|
40
75
|
*/
|
|
@@ -47,13 +82,60 @@ export declare class OrbytError extends Error {
|
|
|
47
82
|
* Get error severity
|
|
48
83
|
*/
|
|
49
84
|
get severity(): ErrorSeverity;
|
|
85
|
+
/**
|
|
86
|
+
* Get detailed error description
|
|
87
|
+
*/
|
|
88
|
+
get description(): string;
|
|
89
|
+
/**
|
|
90
|
+
* Check if this is a user-fixable error
|
|
91
|
+
* @returns True if user can fix by changing workflow
|
|
92
|
+
*/
|
|
93
|
+
get isUserError(): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Check if this error is retryable
|
|
96
|
+
* @returns True if retry might succeed
|
|
97
|
+
*/
|
|
98
|
+
get isRetryable(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Get error category (Schema, Validation, Execution, Runtime)
|
|
101
|
+
*/
|
|
102
|
+
get category(): string;
|
|
50
103
|
/**
|
|
51
104
|
* Format error as string for logging/display
|
|
105
|
+
* Includes all diagnostic information in a readable format
|
|
106
|
+
*
|
|
107
|
+
* @returns Formatted error string
|
|
52
108
|
*/
|
|
53
109
|
toString(): string;
|
|
110
|
+
/**
|
|
111
|
+
* Format error as detailed string with full diagnostic info
|
|
112
|
+
* Used for verbose logging and debugging
|
|
113
|
+
*
|
|
114
|
+
* @returns Detailed formatted error string with box drawing
|
|
115
|
+
*/
|
|
116
|
+
toDetailedString(): string;
|
|
117
|
+
/**
|
|
118
|
+
* Get human-readable description of exit code
|
|
119
|
+
*/
|
|
120
|
+
getExitCodeDescription(): string;
|
|
54
121
|
/**
|
|
55
122
|
* Convert to JSON for structured logging
|
|
123
|
+
* Suitable for sending to logging services, APIs, or storing in databases
|
|
124
|
+
*
|
|
125
|
+
* @returns JSON representation of error
|
|
56
126
|
*/
|
|
57
127
|
toJSON(): object;
|
|
128
|
+
/**
|
|
129
|
+
* Create a simplified error object for CLI display
|
|
130
|
+
* Contains only essential information for user-facing output
|
|
131
|
+
*
|
|
132
|
+
* @returns Simplified error object
|
|
133
|
+
*/
|
|
134
|
+
toSimpleObject(): {
|
|
135
|
+
code: string;
|
|
136
|
+
message: string;
|
|
137
|
+
hint?: string;
|
|
138
|
+
path?: string;
|
|
139
|
+
};
|
|
58
140
|
}
|
|
59
141
|
//# sourceMappingURL=OrbytError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrbytError.d.ts","sourceRoot":"","sources":["../../src/errors/OrbytError.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"OrbytError.d.ts","sourceRoot":"","sources":["../../src/errors/OrbytError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,aAAa,EAOd,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,IAAI,EAAE,cAAc,CAAC;IAErB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,QAAQ,EAAE,aAAa,CAAC;IAExB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,mCAAmC;IACnC,SAAgB,UAAU,EAAE,oBAAoB,CAAC;IAEjD,oCAAoC;IACpC,SAAgB,SAAS,EAAE,IAAI,CAAC;gBAEpB,UAAU,EAAE,oBAAoB;IAkB5C;;OAEG;IACH,IAAI,IAAI,IAAI,cAAc,CAEzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IAoBlB;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM;IAyC1B;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAUhC;;;;;OAKG;IACH,MAAM,IAAI,MAAM;IAkBhB;;;;;OAKG;IACH,cAAc,IAAI;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;CAQF"}
|