@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,252 @@
1
+ /**
2
+ * Explanation Types
3
+ *
4
+ * Type definitions for workflow execution explanations.
5
+ * These structures represent a complete analysis of what the engine will do.
6
+ *
7
+ * @module explanation
8
+ */
9
+ /**
10
+ * Explained step - A single step in the execution plan with all resolved configuration
11
+ */
12
+ export interface ExplainedStep {
13
+ /** Step ID */
14
+ id: string;
15
+ /** Step name (human-readable) */
16
+ name?: string;
17
+ /** Adapter being used (e.g., "shell", "http", "mediaproc") */
18
+ adapter: string;
19
+ /** Action to execute (e.g., "shell.exec", "http.request") */
20
+ uses: string;
21
+ /** Dependencies - which steps must complete before this one */
22
+ needs: string[];
23
+ /** Execution condition (if any) */
24
+ when?: string;
25
+ /** Timeout configuration */
26
+ timeout?: string | number;
27
+ /** Retry configuration */
28
+ retry?: {
29
+ max?: number;
30
+ backoff?: 'linear' | 'exponential';
31
+ delay?: number;
32
+ count?: number;
33
+ };
34
+ /** Whether to continue workflow if this step fails */
35
+ continueOnError?: boolean;
36
+ /** Input parameters */
37
+ with?: Record<string, any>;
38
+ /** Environment variables */
39
+ env?: Record<string, any>;
40
+ /** Expected outputs */
41
+ outputs?: Record<string, any>;
42
+ /** Secrets used by this step */
43
+ secretsUsed?: string[];
44
+ /** Workflow inputs referenced in this step */
45
+ inputsReferenced?: string[];
46
+ }
47
+ /**
48
+ * Execution explanation - Complete plan of what the engine will do
49
+ */
50
+ export interface ExecutionExplanation {
51
+ /** Workflow name */
52
+ workflowName?: string;
53
+ /** Workflow description */
54
+ description?: string;
55
+ /** Workflow version */
56
+ version: string;
57
+ /** Workflow kind */
58
+ kind: string;
59
+ /** Total number of steps */
60
+ stepCount: number;
61
+ /** Execution strategy (sequential or parallel) */
62
+ executionStrategy: 'sequential' | 'parallel' | 'mixed';
63
+ /** All steps in execution order */
64
+ steps: ExplainedStep[];
65
+ /** Whether the workflow has circular dependencies */
66
+ hasCycles: boolean;
67
+ /** Cycle details (if any) */
68
+ cycles?: string[][];
69
+ /** Total estimated phases (for parallel execution) */
70
+ phases?: number;
71
+ /** Dependency graph in adjacency list format */
72
+ dependencyGraph?: Record<string, string[]>;
73
+ /** Workflow inputs (parameters the workflow accepts) */
74
+ inputs?: Record<string, any>;
75
+ /** Secrets being used (keys only, no values) */
76
+ secrets?: {
77
+ vault?: string;
78
+ keys?: string[];
79
+ };
80
+ /** Context variables (environment) */
81
+ context?: Record<string, any>;
82
+ /** Workflow outputs */
83
+ outputs?: Record<string, string>;
84
+ /** Default configurations */
85
+ defaults?: {
86
+ timeout?: string;
87
+ adapter?: string;
88
+ };
89
+ /** Execution policies */
90
+ policies?: {
91
+ failure?: 'stop' | 'continue' | 'isolate';
92
+ concurrency?: number;
93
+ sandbox?: 'none' | 'basic' | 'strict';
94
+ };
95
+ /** Unique adapters used in this workflow */
96
+ adaptersUsed: string[];
97
+ /** Adapter actions breakdown (e.g., { "shell": ["exec"], "http": ["request"] }) */
98
+ adapterActions?: Record<string, string[]>;
99
+ /** Required workflow inputs */
100
+ requiredInputs?: string[];
101
+ /** Optional workflow inputs with defaults */
102
+ optionalInputs?: Record<string, any>;
103
+ /** Annotations (AI/UI hints) */
104
+ annotations?: Record<string, any>;
105
+ /** Tags */
106
+ tags?: string[];
107
+ /** Owner */
108
+ owner?: string;
109
+ /** Metadata about workflow complexity */
110
+ complexity?: {
111
+ totalSteps: number;
112
+ maxDepth: number;
113
+ parallelizableSteps: number;
114
+ sequentialSteps: number;
115
+ };
116
+ /** Data flow prediction - how data moves through the workflow */
117
+ dataFlow?: DataFlowPrediction[];
118
+ /** Conditional path analysis - all possible execution paths */
119
+ conditionalPaths?: ConditionalPathAnalysis;
120
+ /** Execution time estimation - predicted duration */
121
+ timeEstimation?: ExecutionTimeEstimation;
122
+ }
123
+ /**
124
+ * Data flow prediction for a step
125
+ * Shows what data flows in and out of each step
126
+ */
127
+ export interface DataFlowPrediction {
128
+ /** Step ID */
129
+ step: string;
130
+ /** Step name */
131
+ stepName?: string;
132
+ /** Input data sources */
133
+ inputs: {
134
+ /** Source of the data */
135
+ source: 'workflow.inputs' | 'step.output' | 'context' | 'secrets' | 'env' | 'static';
136
+ /** Variable/field key */
137
+ key: string;
138
+ /** Source step ID (if from step.output) */
139
+ sourceStep?: string;
140
+ /** Inferred type */
141
+ type?: string;
142
+ /** Sample value (for static/default values) */
143
+ example?: any;
144
+ }[];
145
+ /** Output data */
146
+ outputs: {
147
+ /** Output key */
148
+ key: string;
149
+ /** Inferred type */
150
+ type?: string;
151
+ /** Steps that consume this output */
152
+ usedBy: string[];
153
+ }[];
154
+ /** Whether this step has unresolved dependencies */
155
+ hasUnresolvedDependencies: boolean;
156
+ }
157
+ /**
158
+ * Conditional path analysis
159
+ * Analyzes all possible execution paths based on conditions
160
+ */
161
+ export interface ConditionalPathAnalysis {
162
+ /** Total number of possible paths */
163
+ totalPaths: number;
164
+ /** All execution paths */
165
+ paths: {
166
+ /** Path description */
167
+ description: string;
168
+ /** Conditions that must be true for this path */
169
+ conditions: string[];
170
+ /** Steps executed in this path */
171
+ stepsExecuted: string[];
172
+ /** Steps skipped in this path */
173
+ stepsSkipped: string[];
174
+ /** Likelihood of this path */
175
+ likelihood: 'always' | 'likely' | 'possible' | 'unlikely' | 'never';
176
+ }[];
177
+ /** Steps with conditions */
178
+ conditionalSteps: {
179
+ step: string;
180
+ condition: string;
181
+ canBeSkipped: boolean;
182
+ }[];
183
+ /** Steps that are never reachable */
184
+ unreachableSteps: string[];
185
+ /** Steps that always execute */
186
+ alwaysExecutes: string[];
187
+ }
188
+ /**
189
+ * Execution time estimation
190
+ * Predicts how long the workflow will take
191
+ */
192
+ export interface ExecutionTimeEstimation {
193
+ /** Total estimated time */
194
+ total: {
195
+ /** Best case scenario (ms) */
196
+ min: number;
197
+ /** Average expected time (ms) */
198
+ avg: number;
199
+ /** Worst case scenario (ms) */
200
+ max: number;
201
+ };
202
+ /** Estimated time by execution phase */
203
+ byPhase: {
204
+ /** Phase number */
205
+ phase: number;
206
+ /** Steps in this phase */
207
+ steps: string[];
208
+ /** Duration estimate (ms) */
209
+ duration: {
210
+ min: number;
211
+ avg: number;
212
+ max: number;
213
+ };
214
+ }[];
215
+ /** Critical path - longest dependency chain */
216
+ criticalPath: {
217
+ /** Steps in the critical path */
218
+ steps: string[];
219
+ /** Total duration of critical path (ms) */
220
+ duration: number;
221
+ };
222
+ /** Performance bottlenecks */
223
+ bottlenecks: {
224
+ /** Step ID */
225
+ step: string;
226
+ /** Reason it's a bottleneck */
227
+ reason: string;
228
+ /** Estimated impact if optimized (ms saved) */
229
+ impact: number;
230
+ }[];
231
+ /** Time estimates per step */
232
+ byStep: {
233
+ step: string;
234
+ min: number;
235
+ avg: number;
236
+ max: number;
237
+ /** Whether this step is on the critical path */
238
+ onCriticalPath: boolean;
239
+ }[];
240
+ }
241
+ /**
242
+ * Explanation event - Logged to EngineLogger
243
+ */
244
+ export interface ExplanationEvent {
245
+ /** Event type */
246
+ type: 'explanation';
247
+ /** Explanation timestamp */
248
+ timestamp: Date;
249
+ /** Full explanation */
250
+ explanation: ExecutionExplanation;
251
+ }
252
+ //# sourceMappingURL=ExplanationTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExplanationTypes.d.ts","sourceRoot":"","sources":["../../src/explanation/ExplanationTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Explanation Types
3
+ *
4
+ * Type definitions for workflow execution explanations.
5
+ * These structures represent a complete analysis of what the engine will do.
6
+ *
7
+ * @module explanation
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=ExplanationTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExplanationTypes.js","sourceRoot":"","sources":["../../src/explanation/ExplanationTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Explanation Module
3
+ *
4
+ * Provides comprehensive workflow execution explanations.
5
+ * Always generates explanations before execution to ensure full transparency.
6
+ *
7
+ * @module explanation
8
+ */
9
+ export { ExplanationGenerator } from './ExplanationGenerator.js';
10
+ export { ExplanationLogger } from './ExplanationLogger.js';
11
+ export type { ExplainedStep, ExecutionExplanation, ExplanationEvent, } from './ExplanationTypes.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explanation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACR,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Explanation Module
3
+ *
4
+ * Provides comprehensive workflow execution explanations.
5
+ * Always generates explanations before execution to ensure full transparency.
6
+ *
7
+ * @module explanation
8
+ */
9
+ export { ExplanationGenerator } from './ExplanationGenerator.js';
10
+ export { ExplanationLogger } from './ExplanationLogger.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explanation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HookManager.d.ts","sourceRoot":"","sources":["../../src/hooks/HookManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACb,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;IAInD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAInC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAI1C;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAOrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;OAOG;IACG,GAAG,CACL,IAAI,EAAE,MAAM,aAAa,EACzB,GAAG,EAAE,mBAAmB,GAAG,eAAe,EAC1C,KAAK,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IA4CxB;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxE;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvE;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIhE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI/D;;OAEG;IACG,UAAU,CACZ,GAAG,EAAE,mBAAmB,GAAG,eAAe,EAC1C,KAAK,EAAE,KAAK,GACb,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxB;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7D;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjE;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlE;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;OAIG;IACH,mBAAmB,IAAI,CAAC,MAAM,aAAa,CAAC,EAAE;CAUjD"}
1
+ {"version":3,"file":"HookManager.d.ts","sourceRoot":"","sources":["../../src/hooks/HookManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACb,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;IAInD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAOnC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAQ1C;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAOrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;OAOG;IACG,GAAG,CACL,IAAI,EAAE,MAAM,aAAa,EACzB,GAAG,EAAE,mBAAmB,GAAG,eAAe,EAC1C,KAAK,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IA4CxB;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxE;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvE;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIhE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI/D;;OAEG;IACG,UAAU,CACZ,GAAG,EAAE,mBAAmB,GAAG,eAAe,EAC1C,KAAK,EAAE,KAAK,GACb,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxB;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7D;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjE;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlE;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;OAIG;IACH,mBAAmB,IAAI,CAAC,MAAM,aAAa,CAAC,EAAE;CAUjD"}
@@ -1,3 +1,4 @@
1
+ import { LoggerManager } from '../logging/LoggerManager.js';
1
2
  /**
2
3
  * HookManager - Manages and executes lifecycle hooks
3
4
  *
@@ -39,6 +40,9 @@ export class HookManager {
39
40
  */
40
41
  register(hook) {
41
42
  this.hooks.push(hook);
43
+ LoggerManager.getLogger().debug('Lifecycle hook registered', {
44
+ hookCount: this.hooks.length,
45
+ });
42
46
  }
43
47
  /**
44
48
  * Register multiple hooks at once
@@ -47,6 +51,10 @@ export class HookManager {
47
51
  */
48
52
  registerMany(hooks) {
49
53
  this.hooks.push(...hooks);
54
+ LoggerManager.getLogger().debug('Multiple lifecycle hooks registered', {
55
+ count: hooks.length,
56
+ totalHooks: this.hooks.length,
57
+ });
50
58
  }
51
59
  /**
52
60
  * Remove a specific hook
@@ -1 +1 @@
1
- {"version":3,"file":"HookManager.js","sourceRoot":"","sources":["../../src/hooks/HookManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HookManager.js","sourceRoot":"","sources":["../../src/hooks/HookManager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export * from './events/index.js';
16
16
  export * from './hooks/index.js';
17
17
  export type * from './execution/index.js';
18
18
  export * from './execution/index.js';
19
+ export type { ExecutionExplanation, ExplainedStep } from './explanation/index.js';
19
20
  export * from './parser/index.js';
20
21
  export * from './state/index.js';
21
22
  export * from './context/index.js';
@@ -25,4 +26,6 @@ export * from './scheduling/index.js';
25
26
  export * from './errors/index.js';
26
27
  export * from './security/index.js';
27
28
  export * from './loader/index.js';
29
+ export * from './explanation/index.js';
30
+ export * from './logging/index.js';
28
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,cAAc,iBAAiB,CAAA;AAO/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,mBAAmB,sBAAsB,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,cAAc,iBAAiB,CAAA;AAO/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,mBAAmB,sBAAsB,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AAGrC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGlF,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -44,4 +44,6 @@ export * from './errors/index.js';
44
44
  export * from './security/index.js';
45
45
  // export * from './workflow/index.js';
46
46
  export * from './loader/index.js';
47
+ export * from './explanation/index.js';
48
+ export * from './logging/index.js';
47
49
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,cAAc,iBAAiB,CAAA;AAE/B,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E,WAAW;AACX,cAAc,qBAAqB,CAAC;AAEpC,SAAS;AACT,cAAc,mBAAmB,CAAC;AAElC,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAIjC,cAAc,sBAAsB,CAAC;AAErC,6CAA6C;AAC7C,cAAc,mBAAmB,CAAC;AAElC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AAEjC,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AAEnC,sBAAsB;AACtB,cAAc,uBAAuB,CAAC;AAEtC,gDAAgD;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,8BAA8B;AAC9B,cAAc,mBAAmB,CAAC;AAElC,2DAA2D;AAC3D,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,cAAc,iBAAiB,CAAA;AAE/B,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E,WAAW;AACX,cAAc,qBAAqB,CAAC;AAEpC,SAAS;AACT,cAAc,mBAAmB,CAAC;AAElC,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAIjC,cAAc,sBAAsB,CAAC;AAKrC,6CAA6C;AAC7C,cAAc,mBAAmB,CAAC;AAElC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AAEjC,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AAEnC,sBAAsB;AACtB,cAAc,uBAAuB,CAAC;AAEtC,gDAAgD;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,8BAA8B;AAC9B,cAAc,mBAAmB,CAAC;AAElC,2DAA2D;AAC3D,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShutdownManager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/ShutdownManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAyD;IACzE,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAI7D;;;;OAIG;IACG,eAAe,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/D;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IA2CjE;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B"}
1
+ {"version":3,"file":"ShutdownManager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/ShutdownManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAyD;IACzE,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAQ7D;;;;OAIG;IACG,eAAe,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/D;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IA8CjE;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B"}
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * @module lifecycle
7
7
  */
8
+ import { LoggerManager } from '../logging/LoggerManager.js';
8
9
  /**
9
10
  * Shutdown manager for graceful engine shutdown
10
11
  */
@@ -21,6 +22,10 @@ export class ShutdownManager {
21
22
  */
22
23
  registerHandler(name, handler) {
23
24
  this.handlers.push({ name, handler });
25
+ LoggerManager.getLogger().debug('Shutdown handler registered', {
26
+ handlerName: name,
27
+ totalHandlers: this.handlers.length,
28
+ });
24
29
  }
25
30
  /**
26
31
  * Execute all shutdown handlers
@@ -28,12 +33,16 @@ export class ShutdownManager {
28
33
  * @param timeoutMs - Maximum time per handler
29
34
  */
30
35
  async executeHandlers(timeoutMs = 10000) {
36
+ const logger = LoggerManager.getLogger();
31
37
  if (this.shutdownInProgress) {
32
- console.log('⚠️ Shutdown already in progress');
38
+ logger.warn('Shutdown already in progress');
33
39
  return;
34
40
  }
35
41
  this.shutdownInProgress = true;
36
- console.log('🛑 Executing shutdown handlers...\n');
42
+ logger.info('🛑 Executing shutdown handlers', {
43
+ handlerCount: this.handlers.length,
44
+ timeoutMs,
45
+ });
37
46
  for (const { name, handler } of this.handlers) {
38
47
  try {
39
48
  const handlerPromise = handler();
@@ -43,14 +52,15 @@ export class ShutdownManager {
43
52
  }, timeoutMs);
44
53
  });
45
54
  await Promise.race([handlerPromise, timeoutPromise]);
46
- console.log(` ✓ ${name}`);
55
+ logger.info(` ✓ ${name}`);
47
56
  }
48
57
  catch (error) {
49
- console.log(` ✗ ${name}: ${error instanceof Error ? error.message : error}`);
58
+ const message = error instanceof Error ? error.message : String(error);
59
+ logger.error(` ✗ ${name}: ${message}`);
50
60
  // Continue with other handlers even if one fails
51
61
  }
52
62
  }
53
- console.log('');
63
+ logger.info('Shutdown handlers completed');
54
64
  this.shutdownInProgress = false;
55
65
  }
56
66
  /**
@@ -59,23 +69,26 @@ export class ShutdownManager {
59
69
  * @param onShutdown - Function to call on shutdown signal
60
70
  */
61
71
  static setupSignalHandlers(onShutdown) {
72
+ const logger = LoggerManager.getLogger();
62
73
  const signals = ['SIGINT', 'SIGTERM', 'SIGHUP'];
63
74
  for (const signal of signals) {
64
75
  process.on(signal, async () => {
65
- console.log(`\n📡 Received ${signal} signal`);
76
+ logger.info(`📡 Received ${signal} signal`, { signal });
66
77
  try {
67
78
  await onShutdown();
68
79
  process.exit(0);
69
80
  }
70
81
  catch (error) {
71
- console.error('❌ Shutdown error:', error);
82
+ const message = error instanceof Error ? error.message : String(error);
83
+ logger.error(`Shutdown error: ${message}`);
72
84
  process.exit(1);
73
85
  }
74
86
  });
75
87
  }
76
88
  // Handle uncaught errors
77
89
  process.on('uncaughtException', async (error) => {
78
- console.error('❌ Uncaught exception:', error);
90
+ const message = error instanceof Error ? error.message : String(error);
91
+ logger.error(`Uncaught exception: ${message}`);
79
92
  try {
80
93
  await onShutdown();
81
94
  }
@@ -85,7 +98,7 @@ export class ShutdownManager {
85
98
  process.exit(1);
86
99
  });
87
100
  process.on('unhandledRejection', async (reason) => {
88
- console.error('❌ Unhandled rejection:', reason);
101
+ logger.error(`Unhandled rejection: ${String(reason)}`);
89
102
  try {
90
103
  await onShutdown();
91
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShutdownManager.js","sourceRoot":"","sources":["../../src/lifecycle/ShutdownManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShutdownManager.js","sourceRoot":"","sources":["../../src/lifecycle/ShutdownManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartupManager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/StartupManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAIzD;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAgD1C;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,cAAc;CAuC7C"}
1
+ {"version":3,"file":"StartupManager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/StartupManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAQzD;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAuD1C;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,cAAc;CAqC7C"}
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * @module lifecycle
7
7
  */
8
+ import { LoggerManager } from '../logging/LoggerManager.js';
8
9
  /**
9
10
  * Startup manager for engine initialization
10
11
  */
@@ -18,6 +19,10 @@ export class StartupManager {
18
19
  */
19
20
  registerCheck(name, checkFn) {
20
21
  this.checks.set(name, checkFn);
22
+ LoggerManager.getLogger().debug('Startup check registered', {
23
+ checkName: name,
24
+ totalChecks: this.checks.size,
25
+ });
21
26
  }
22
27
  /**
23
28
  * Run all startup checks
@@ -27,7 +32,10 @@ export class StartupManager {
27
32
  */
28
33
  async runChecks() {
29
34
  const results = [];
30
- console.log('🔍 Running startup checks...\n');
35
+ const logger = LoggerManager.getLogger();
36
+ logger.info('🔍 Running startup checks...', {
37
+ totalChecks: this.checks.size,
38
+ });
31
39
  for (const [name, checkFn] of this.checks.entries()) {
32
40
  const startTime = Date.now();
33
41
  try {
@@ -38,7 +46,7 @@ export class StartupManager {
38
46
  passed: true,
39
47
  duration,
40
48
  });
41
- console.log(` ✓ ${name} (${duration}ms)`);
49
+ logger.info(` ✓ ${name}`, { duration });
42
50
  }
43
51
  catch (error) {
44
52
  const duration = Date.now() - startTime;
@@ -49,16 +57,20 @@ export class StartupManager {
49
57
  message,
50
58
  duration,
51
59
  });
52
- console.log(` ✗ ${name}: ${message} (${duration}ms)`);
60
+ logger.error(` ✗ ${name}: ${message} (${duration}ms)`);
53
61
  }
54
62
  }
55
- console.log('');
56
63
  // Check if any failed
57
64
  const failed = results.filter(r => !r.passed);
58
65
  if (failed.length > 0) {
66
+ const failedList = failed.map(f => `${f.name}: ${f.message}`).join(', ');
67
+ logger.error(`Startup checks failed: ${failedList}`);
59
68
  throw new Error(`${failed.length} startup check(s) failed:\n` +
60
69
  failed.map(f => ` - ${f.name}: ${f.message}`).join('\n'));
61
70
  }
71
+ logger.info('All startup checks passed', {
72
+ totalChecks: results.length,
73
+ });
62
74
  return results;
63
75
  }
64
76
  /**
@@ -66,7 +78,6 @@ export class StartupManager {
66
78
  */
67
79
  static createDefaultChecks() {
68
80
  const manager = new StartupManager();
69
- // Check Node version
70
81
  manager.registerCheck('Node.js version', () => {
71
82
  const version = process.versions.node;
72
83
  const major = parseInt(version.split('.')[0], 10);
@@ -1 +1 @@
1
- {"version":3,"file":"StartupManager.js","sourceRoot":"","sources":["../../src/lifecycle/StartupManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartupManager.js","sourceRoot":"","sources":["../../src/lifecycle/StartupManager.ts"],"names":[],"mappings":"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"}