@orbytautomation/engine 0.3.0 ā 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/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/ErrorDebugger.d.ts.map +1 -1
- package/dist/errors/ErrorDebugger.js +7 -0
- package/dist/errors/ErrorDebugger.js.map +1 -1
- package/dist/errors/ErrorDetector.d.ts.map +1 -1
- package/dist/errors/ErrorDetector.js +12 -0
- package/dist/errors/ErrorDetector.js.map +1 -1
- package/dist/errors/ErrorFormatter.d.ts +1 -1
- package/dist/errors/ErrorFormatter.d.ts.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 +1 -1
- package/dist/loader/WorkflowLoader.d.ts.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 +6 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"ExplanationGenerator.js","sourceRoot":"","sources":["../../src/explanation/ExplanationGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Explanation Logger
|
|
3
|
+
*
|
|
4
|
+
* Integrates explanation generation with EngineLogger to provide
|
|
5
|
+
* full transparency into workflow execution plans.
|
|
6
|
+
*
|
|
7
|
+
* This module ensures that explanations are ALWAYS logged before
|
|
8
|
+
* execution begins, regardless of whether the user explicitly
|
|
9
|
+
* requests an explanation.
|
|
10
|
+
*
|
|
11
|
+
* @module explanation
|
|
12
|
+
*/
|
|
13
|
+
import type { ExecutionExplanation, ExplanationEvent } from './ExplanationTypes.js';
|
|
14
|
+
/**
|
|
15
|
+
* Explanation Logger
|
|
16
|
+
*
|
|
17
|
+
* Formats and logs execution explanations through EngineLogger.
|
|
18
|
+
* Called automatically before every workflow execution.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ExplanationLogger {
|
|
21
|
+
/**
|
|
22
|
+
* Log a complete workflow explanation
|
|
23
|
+
*
|
|
24
|
+
* @param explanation - The execution explanation to log
|
|
25
|
+
* @param level - Log level ('info' or 'debug')
|
|
26
|
+
* @returns The explanation event created for this log
|
|
27
|
+
*/
|
|
28
|
+
static log(explanation: ExecutionExplanation, level?: 'info' | 'debug'): ExplanationEvent;
|
|
29
|
+
/**
|
|
30
|
+
* Log individual steps with proper formatting
|
|
31
|
+
*/
|
|
32
|
+
private static logSteps;
|
|
33
|
+
/**
|
|
34
|
+
* Log a compact explanation (single line summary)
|
|
35
|
+
*
|
|
36
|
+
* Useful for quick overview without detailed breakdown.
|
|
37
|
+
*
|
|
38
|
+
* @returns The explanation event created for this log
|
|
39
|
+
*/
|
|
40
|
+
static logCompact(explanation: ExecutionExplanation): ExplanationEvent;
|
|
41
|
+
/**
|
|
42
|
+
* Log explanation as structured JSON
|
|
43
|
+
*
|
|
44
|
+
* Useful for machine-readable output or debugging.
|
|
45
|
+
*
|
|
46
|
+
* @returns The explanation event created for this log
|
|
47
|
+
*/
|
|
48
|
+
static logJSON(explanation: ExecutionExplanation): ExplanationEvent;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=ExplanationLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplanationLogger.d.ts","sourceRoot":"","sources":["../../src/explanation/ExplanationLogger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGpF;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CACN,WAAW,EAAE,oBAAoB,EACjC,KAAK,GAAE,MAAM,GAAG,OAAgB,GACjC,gBAAgB;IAkLnB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAgEvB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACb,WAAW,EAAE,oBAAoB,GAClC,gBAAgB;IAuBnB;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACV,WAAW,EAAE,oBAAoB,GAClC,gBAAgB;CAkBtB"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Explanation Logger
|
|
3
|
+
*
|
|
4
|
+
* Integrates explanation generation with EngineLogger to provide
|
|
5
|
+
* full transparency into workflow execution plans.
|
|
6
|
+
*
|
|
7
|
+
* This module ensures that explanations are ALWAYS logged before
|
|
8
|
+
* execution begins, regardless of whether the user explicitly
|
|
9
|
+
* requests an explanation.
|
|
10
|
+
*
|
|
11
|
+
* @module explanation
|
|
12
|
+
*/
|
|
13
|
+
import { LoggerManager } from '../logging/LoggerManager.js';
|
|
14
|
+
/**
|
|
15
|
+
* Explanation Logger
|
|
16
|
+
*
|
|
17
|
+
* Formats and logs execution explanations through EngineLogger.
|
|
18
|
+
* Called automatically before every workflow execution.
|
|
19
|
+
*/
|
|
20
|
+
export class ExplanationLogger {
|
|
21
|
+
/**
|
|
22
|
+
* Log a complete workflow explanation
|
|
23
|
+
*
|
|
24
|
+
* @param explanation - The execution explanation to log
|
|
25
|
+
* @param level - Log level ('info' or 'debug')
|
|
26
|
+
* @returns The explanation event created for this log
|
|
27
|
+
*/
|
|
28
|
+
static log(explanation, level = 'info') {
|
|
29
|
+
const logger = LoggerManager.getLogger();
|
|
30
|
+
// Create structured explanation event
|
|
31
|
+
const event = {
|
|
32
|
+
type: 'explanation',
|
|
33
|
+
timestamp: new Date(),
|
|
34
|
+
explanation,
|
|
35
|
+
};
|
|
36
|
+
// Log workflow overview
|
|
37
|
+
const logMethod = level === 'info' ? logger.info.bind(logger) : logger.debug.bind(logger);
|
|
38
|
+
logMethod('\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
39
|
+
logMethod('š WORKFLOW EXECUTION PLAN');
|
|
40
|
+
logMethod('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
41
|
+
// Workflow metadata
|
|
42
|
+
logMethod(`Workflow: ${explanation.workflowName}`);
|
|
43
|
+
if (explanation.description) {
|
|
44
|
+
logMethod(`Description: ${explanation.description}`);
|
|
45
|
+
}
|
|
46
|
+
logMethod(`Version: ${explanation.version} | Kind: ${explanation.kind}`);
|
|
47
|
+
if (explanation.owner) {
|
|
48
|
+
logMethod(`Owner: ${explanation.owner}`);
|
|
49
|
+
}
|
|
50
|
+
if (explanation.tags && explanation.tags.length > 0) {
|
|
51
|
+
logMethod(`Tags: ${explanation.tags.join(', ')}`);
|
|
52
|
+
}
|
|
53
|
+
logMethod('');
|
|
54
|
+
// Execution strategy
|
|
55
|
+
logMethod(`āļø Execution Strategy: ${explanation.executionStrategy.toUpperCase()}`);
|
|
56
|
+
logMethod(` Total Steps: ${explanation.stepCount}`);
|
|
57
|
+
if (explanation.complexity) {
|
|
58
|
+
logMethod(` Max Depth: ${explanation.complexity.maxDepth}`);
|
|
59
|
+
logMethod(` Parallelizable: ${explanation.complexity.parallelizableSteps} steps`);
|
|
60
|
+
logMethod(` Sequential: ${explanation.complexity.sequentialSteps} steps`);
|
|
61
|
+
}
|
|
62
|
+
logMethod('');
|
|
63
|
+
// Cycle detection warning
|
|
64
|
+
if (explanation.hasCycles) {
|
|
65
|
+
logger.warn('ā ļø CIRCULAR DEPENDENCIES DETECTED!');
|
|
66
|
+
if (explanation.cycles) {
|
|
67
|
+
for (const cycle of explanation.cycles) {
|
|
68
|
+
logger.warn(` Cycle: ${cycle.join(' ā ')}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
logger.warn(' This workflow cannot be executed safely.');
|
|
72
|
+
logMethod('');
|
|
73
|
+
}
|
|
74
|
+
// Adapters used
|
|
75
|
+
if (explanation.adaptersUsed.length > 0) {
|
|
76
|
+
logMethod('š Adapters:');
|
|
77
|
+
for (const adapter of explanation.adaptersUsed) {
|
|
78
|
+
const actions = explanation.adapterActions?.[adapter] || [];
|
|
79
|
+
logMethod(` ${adapter}: ${actions.join(', ')}`);
|
|
80
|
+
}
|
|
81
|
+
logMethod('');
|
|
82
|
+
}
|
|
83
|
+
// Inputs
|
|
84
|
+
if (explanation.requiredInputs && explanation.requiredInputs.length > 0) {
|
|
85
|
+
logMethod('š„ Required Inputs:');
|
|
86
|
+
for (const input of explanation.requiredInputs) {
|
|
87
|
+
logMethod(` ⢠${input} (required)`);
|
|
88
|
+
}
|
|
89
|
+
logMethod('');
|
|
90
|
+
}
|
|
91
|
+
if (explanation.optionalInputs && Object.keys(explanation.optionalInputs).length > 0) {
|
|
92
|
+
logMethod('š„ Optional Inputs:');
|
|
93
|
+
for (const [key, value] of Object.entries(explanation.optionalInputs)) {
|
|
94
|
+
logMethod(` ⢠${key} = ${JSON.stringify(value)} (default)`);
|
|
95
|
+
}
|
|
96
|
+
logMethod('');
|
|
97
|
+
}
|
|
98
|
+
// Secrets
|
|
99
|
+
if (explanation.secrets?.keys && explanation.secrets.keys.length > 0) {
|
|
100
|
+
logMethod('š Secrets:');
|
|
101
|
+
logMethod(` Vault: ${explanation.secrets.vault}`);
|
|
102
|
+
for (const key of explanation.secrets.keys) {
|
|
103
|
+
logMethod(` ⢠${key}`);
|
|
104
|
+
}
|
|
105
|
+
logMethod('');
|
|
106
|
+
}
|
|
107
|
+
// ============================================================================
|
|
108
|
+
// HIGH PRIORITY FEATURES
|
|
109
|
+
// ============================================================================
|
|
110
|
+
// Execution Time Estimation
|
|
111
|
+
if (explanation.timeEstimation) {
|
|
112
|
+
logMethod('ā±ļø Time Estimation:');
|
|
113
|
+
const { total, criticalPath, bottlenecks } = explanation.timeEstimation;
|
|
114
|
+
logMethod(` Total Time: ${total.min}-${total.max}ms (avg: ${total.avg}ms)`);
|
|
115
|
+
logMethod(` Critical Path: ${criticalPath.steps.join(' ā ')} (${criticalPath.duration}ms)`);
|
|
116
|
+
if (bottlenecks.length > 0) {
|
|
117
|
+
logMethod(` Bottlenecks:`);
|
|
118
|
+
for (const bottleneck of bottlenecks) {
|
|
119
|
+
logMethod(` ⢠${bottleneck.step}: ${bottleneck.reason} (impact: ${bottleneck.impact}ms)`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
logMethod('');
|
|
123
|
+
}
|
|
124
|
+
// Data Flow Summary
|
|
125
|
+
if (explanation.dataFlow && explanation.dataFlow.length > 0) {
|
|
126
|
+
logMethod('š Data Flow:');
|
|
127
|
+
const stepsWithExternalInputs = explanation.dataFlow.filter(df => df.inputs.some(i => i.source === 'workflow.inputs'));
|
|
128
|
+
const stepsWithOutputs = explanation.dataFlow.filter(df => df.outputs.length > 0);
|
|
129
|
+
logMethod(` ${stepsWithExternalInputs.length} steps use workflow inputs`);
|
|
130
|
+
logMethod(` ${stepsWithOutputs.length} steps produce outputs`);
|
|
131
|
+
const unresolved = explanation.dataFlow.filter(df => df.hasUnresolvedDependencies);
|
|
132
|
+
if (unresolved.length > 0) {
|
|
133
|
+
logMethod(` ā ļø ${unresolved.length} steps have unresolved dependencies`);
|
|
134
|
+
}
|
|
135
|
+
logMethod('');
|
|
136
|
+
}
|
|
137
|
+
// Conditional Paths Summary
|
|
138
|
+
if (explanation.conditionalPaths) {
|
|
139
|
+
logMethod('š Conditional Paths:');
|
|
140
|
+
const { totalPaths, conditionalSteps, alwaysExecutes } = explanation.conditionalPaths;
|
|
141
|
+
logMethod(` Total Possible Paths: ${totalPaths}`);
|
|
142
|
+
logMethod(` Conditional Steps: ${conditionalSteps.length}`);
|
|
143
|
+
logMethod(` Always Execute: ${alwaysExecutes.length} steps`);
|
|
144
|
+
if (conditionalSteps.length > 0) {
|
|
145
|
+
logMethod(` Conditional:`);
|
|
146
|
+
for (const cs of conditionalSteps) {
|
|
147
|
+
logMethod(` ⢠${cs.step}: ${cs.condition}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
logMethod('');
|
|
151
|
+
}
|
|
152
|
+
// Steps
|
|
153
|
+
logMethod('š Execution Steps:\n');
|
|
154
|
+
this.logSteps(explanation, level);
|
|
155
|
+
// Outputs
|
|
156
|
+
if (explanation.outputs) {
|
|
157
|
+
logMethod('\nš¤ Expected Outputs:');
|
|
158
|
+
for (const [key, value] of Object.entries(explanation.outputs)) {
|
|
159
|
+
logMethod(` ⢠${key}: ${JSON.stringify(value)}`);
|
|
160
|
+
}
|
|
161
|
+
logMethod('');
|
|
162
|
+
}
|
|
163
|
+
// Policies
|
|
164
|
+
if (explanation.policies) {
|
|
165
|
+
logMethod('š”ļø Policies:');
|
|
166
|
+
if (explanation.policies.failure) {
|
|
167
|
+
logMethod(` Failure: ${explanation.policies.failure}`);
|
|
168
|
+
}
|
|
169
|
+
if (explanation.policies.concurrency) {
|
|
170
|
+
logMethod(` Concurrency: ${explanation.policies.concurrency}`);
|
|
171
|
+
}
|
|
172
|
+
if (explanation.policies.sandbox) {
|
|
173
|
+
logMethod(` Sandbox: ${explanation.policies.sandbox}`);
|
|
174
|
+
}
|
|
175
|
+
logMethod('');
|
|
176
|
+
}
|
|
177
|
+
logMethod('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
178
|
+
// Return the structured event
|
|
179
|
+
return event;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Log individual steps with proper formatting
|
|
183
|
+
*/
|
|
184
|
+
static logSteps(explanation, level) {
|
|
185
|
+
const logger = LoggerManager.getLogger();
|
|
186
|
+
const logMethod = level === 'info' ? logger.info.bind(logger) : logger.debug.bind(logger);
|
|
187
|
+
for (let i = 0; i < explanation.steps.length; i++) {
|
|
188
|
+
const step = explanation.steps[i];
|
|
189
|
+
const stepNum = i + 1;
|
|
190
|
+
// Step header
|
|
191
|
+
logMethod(` ${stepNum}. ${step.name} (${step.id})`);
|
|
192
|
+
logMethod(` Uses: ${step.uses}`);
|
|
193
|
+
// Dependencies
|
|
194
|
+
if (step.needs.length > 0) {
|
|
195
|
+
logMethod(` Needs: ${step.needs.join(', ')}`);
|
|
196
|
+
}
|
|
197
|
+
// Conditions
|
|
198
|
+
if (step.when) {
|
|
199
|
+
logMethod(` When: ${step.when}`);
|
|
200
|
+
}
|
|
201
|
+
// Configuration
|
|
202
|
+
const configs = [];
|
|
203
|
+
if (step.timeout) {
|
|
204
|
+
configs.push(`timeout=${step.timeout}ms`);
|
|
205
|
+
}
|
|
206
|
+
if (step.retry) {
|
|
207
|
+
configs.push(`retry.max=${step.retry.max}`);
|
|
208
|
+
if (step.retry.backoff) {
|
|
209
|
+
configs.push(`retry.backoff=${step.retry.backoff}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (step.continueOnError !== undefined) {
|
|
213
|
+
configs.push(`continueOnError=${step.continueOnError}`);
|
|
214
|
+
}
|
|
215
|
+
if (configs.length > 0) {
|
|
216
|
+
logMethod(` Config: ${configs.join(', ')}`);
|
|
217
|
+
}
|
|
218
|
+
// Inputs referenced
|
|
219
|
+
if (step.inputsReferenced && step.inputsReferenced.length > 0) {
|
|
220
|
+
logMethod(` Inputs: ${step.inputsReferenced.join(', ')}`);
|
|
221
|
+
}
|
|
222
|
+
// Secrets used
|
|
223
|
+
if (step.secretsUsed && step.secretsUsed.length > 0) {
|
|
224
|
+
logMethod(` Secrets: ${step.secretsUsed.join(', ')}`);
|
|
225
|
+
}
|
|
226
|
+
// Outputs
|
|
227
|
+
if (step.outputs && Object.keys(step.outputs).length > 0) {
|
|
228
|
+
const outputKeys = Object.keys(step.outputs);
|
|
229
|
+
logMethod(` Outputs: ${outputKeys.join(', ')}`);
|
|
230
|
+
}
|
|
231
|
+
logMethod(''); // Blank line between steps
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Log a compact explanation (single line summary)
|
|
236
|
+
*
|
|
237
|
+
* Useful for quick overview without detailed breakdown.
|
|
238
|
+
*
|
|
239
|
+
* @returns The explanation event created for this log
|
|
240
|
+
*/
|
|
241
|
+
static logCompact(explanation) {
|
|
242
|
+
const logger = LoggerManager.getLogger();
|
|
243
|
+
const summary = [
|
|
244
|
+
`Workflow: ${explanation.workflowName}`,
|
|
245
|
+
`${explanation.stepCount} steps`,
|
|
246
|
+
`${explanation.executionStrategy}`,
|
|
247
|
+
`${explanation.adaptersUsed.length} adapters`,
|
|
248
|
+
];
|
|
249
|
+
if (explanation.hasCycles) {
|
|
250
|
+
summary.push('ā ļø HAS CYCLES');
|
|
251
|
+
}
|
|
252
|
+
logger.info(`š ${summary.join(' | ')}`);
|
|
253
|
+
// Return the structured event
|
|
254
|
+
return {
|
|
255
|
+
type: 'explanation',
|
|
256
|
+
timestamp: new Date(),
|
|
257
|
+
explanation,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Log explanation as structured JSON
|
|
262
|
+
*
|
|
263
|
+
* Useful for machine-readable output or debugging.
|
|
264
|
+
*
|
|
265
|
+
* @returns The explanation event created for this log
|
|
266
|
+
*/
|
|
267
|
+
static logJSON(explanation) {
|
|
268
|
+
const logger = LoggerManager.getLogger();
|
|
269
|
+
// Create structured explanation event
|
|
270
|
+
const event = {
|
|
271
|
+
type: 'explanation',
|
|
272
|
+
timestamp: new Date(),
|
|
273
|
+
explanation,
|
|
274
|
+
};
|
|
275
|
+
logger.info('\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
276
|
+
logger.info('š WORKFLOW EXECUTION PLAN (JSON)');
|
|
277
|
+
logger.info('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
278
|
+
logger.info(JSON.stringify(event, null, 2));
|
|
279
|
+
logger.info('\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
280
|
+
// Return the structured event
|
|
281
|
+
return event;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=ExplanationLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplanationLogger.js","sourceRoot":"","sources":["../../src/explanation/ExplanationLogger.ts"],"names":[],"mappings":"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"}
|