@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
|
@@ -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 @@
|
|
|
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;
|
|
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":"
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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
|
-
|
|
38
|
+
logger.warn('Shutdown already in progress');
|
|
33
39
|
return;
|
|
34
40
|
}
|
|
35
41
|
this.shutdownInProgress = true;
|
|
36
|
-
|
|
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
|
-
|
|
55
|
+
logger.info(` ✓ ${name}`);
|
|
47
56
|
}
|
|
48
57
|
catch (error) {
|
|
49
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;GAMG;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"StartupManager.js","sourceRoot":"","sources":["../../src/lifecycle/StartupManager.ts"],"names":[],"mappings":"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"}
|