@orbytautomation/engine 0.1.2 → 0.2.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/core/EngineConfig.d.ts +5 -0
- package/dist/core/EngineConfig.d.ts.map +1 -1
- package/dist/core/EngineConfig.js +4 -0
- package/dist/core/EngineConfig.js.map +1 -1
- package/dist/core/OrbytEngine.d.ts +207 -76
- package/dist/core/OrbytEngine.d.ts.map +1 -1
- package/dist/core/OrbytEngine.js +395 -63
- package/dist/core/OrbytEngine.js.map +1 -1
- package/dist/errors/SecurityErrors.d.ts +75 -0
- package/dist/errors/SecurityErrors.d.ts.map +1 -0
- package/dist/errors/SecurityErrors.js +145 -0
- package/dist/errors/SecurityErrors.js.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/execution/ExecutionLimits.d.ts +116 -0
- package/dist/execution/ExecutionLimits.d.ts.map +1 -0
- package/dist/execution/ExecutionLimits.js +280 -0
- package/dist/execution/ExecutionLimits.js.map +1 -0
- package/dist/execution/ExecutionStrategyResolver.d.ts +140 -0
- package/dist/execution/ExecutionStrategyResolver.d.ts.map +1 -0
- package/dist/execution/ExecutionStrategyResolver.js +332 -0
- package/dist/execution/ExecutionStrategyResolver.js.map +1 -0
- package/dist/execution/IntentAnalyzer.d.ts +101 -0
- package/dist/execution/IntentAnalyzer.d.ts.map +1 -0
- package/dist/execution/IntentAnalyzer.js +348 -0
- package/dist/execution/IntentAnalyzer.js.map +1 -0
- package/dist/execution/InternalExecutionContext.d.ts +255 -0
- package/dist/execution/InternalExecutionContext.d.ts.map +1 -0
- package/dist/execution/InternalExecutionContext.js +175 -0
- package/dist/execution/InternalExecutionContext.js.map +1 -0
- package/dist/execution/index.d.ts +5 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +6 -0
- package/dist/execution/index.js.map +1 -1
- package/dist/index.d.ts +5 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/loader/WorkflowLoader.d.ts +154 -0
- package/dist/loader/WorkflowLoader.d.ts.map +1 -0
- package/dist/loader/WorkflowLoader.js +239 -0
- package/dist/loader/WorkflowLoader.js.map +1 -0
- package/dist/loader/index.d.ts +10 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +10 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/parser/WorkflowParser.d.ts +8 -0
- package/dist/parser/WorkflowParser.d.ts.map +1 -1
- package/dist/parser/WorkflowParser.js +6 -0
- package/dist/parser/WorkflowParser.js.map +1 -1
- package/dist/security/ReservedFields.d.ts +64 -0
- package/dist/security/ReservedFields.d.ts.map +1 -0
- package/dist/security/ReservedFields.js +253 -0
- package/dist/security/ReservedFields.js.map +1 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1 -0
- package/dist/security/index.js.map +1 -1
- package/dist/types/core-types.d.ts +59 -0
- package/dist/types/core-types.d.ts.map +1 -0
- package/dist/types/core-types.js +2 -0
- package/dist/types/core-types.js.map +1 -0
- package/package.json +1 -1
- package/test-security-annotations.yaml +20 -0
- package/test-security-context.yaml +21 -0
- package/test-security.mjs +148 -0
- package/test-security.yaml +19 -0
- package/test-valid-workflow.yaml +26 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Layer
|
|
3
|
+
*
|
|
4
|
+
* Intelligence layer that understands WHAT the workflow is trying to do.
|
|
5
|
+
*
|
|
6
|
+
* This layer analyzes workflow structure, metadata, and annotations to:
|
|
7
|
+
* - Classify workflow intent
|
|
8
|
+
* - Provide better errors
|
|
9
|
+
* - Enable optimization
|
|
10
|
+
* - Generate smart explanations
|
|
11
|
+
*
|
|
12
|
+
* Foundation: Basic intent detection from annotations.
|
|
13
|
+
* Future: Pattern recognition, ML-based classification.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Intent Layer Analyzer
|
|
17
|
+
*
|
|
18
|
+
* Understands what workflows are trying to do.
|
|
19
|
+
* Foundation for intelligent behavior.
|
|
20
|
+
*/
|
|
21
|
+
export class IntentAnalyzer {
|
|
22
|
+
/**
|
|
23
|
+
* Classify workflow intent
|
|
24
|
+
*
|
|
25
|
+
* Foundation: Checks annotations and basic patterns
|
|
26
|
+
* Future: ML-based classification, pattern recognition
|
|
27
|
+
*/
|
|
28
|
+
static classify(workflow) {
|
|
29
|
+
// 1. Check explicit intent annotation
|
|
30
|
+
const explicitIntent = this.checkExplicitIntent(workflow);
|
|
31
|
+
if (explicitIntent) {
|
|
32
|
+
return explicitIntent;
|
|
33
|
+
}
|
|
34
|
+
// 2. Analyze workflow structure
|
|
35
|
+
const structuralIntent = this.analyzeStructure(workflow);
|
|
36
|
+
if (structuralIntent.confidence !== 'low') {
|
|
37
|
+
return structuralIntent;
|
|
38
|
+
}
|
|
39
|
+
// 3. Analyze step patterns
|
|
40
|
+
const patternIntent = this.analyzeStepPatterns(workflow);
|
|
41
|
+
return patternIntent;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check for explicit intent annotation
|
|
45
|
+
*/
|
|
46
|
+
static checkExplicitIntent(workflow) {
|
|
47
|
+
// Check annotations['ai.intent']
|
|
48
|
+
const aiIntent = workflow.annotations?.['ai.intent'];
|
|
49
|
+
if (aiIntent && this.isKnownIntent(aiIntent)) {
|
|
50
|
+
return {
|
|
51
|
+
intent: aiIntent,
|
|
52
|
+
confidence: 'high',
|
|
53
|
+
reasoning: 'Explicit ai.intent annotation',
|
|
54
|
+
patterns: ['explicit-annotation'],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Analyze workflow structure for intent
|
|
61
|
+
*/
|
|
62
|
+
static analyzeStructure(workflow) {
|
|
63
|
+
const patterns = [];
|
|
64
|
+
// Check workflow name/description for keywords
|
|
65
|
+
const name = workflow.name?.toLowerCase() || '';
|
|
66
|
+
const description = workflow.metadata?.description?.toLowerCase() || '';
|
|
67
|
+
const text = `${name} ${description}`;
|
|
68
|
+
// Data pipeline patterns
|
|
69
|
+
if (this.containsKeywords(text, ['etl', 'pipeline', 'transform', 'extract'])) {
|
|
70
|
+
patterns.push('data-keywords');
|
|
71
|
+
return {
|
|
72
|
+
intent: 'data-pipeline',
|
|
73
|
+
confidence: 'medium',
|
|
74
|
+
reasoning: 'Found data pipeline keywords in name/description',
|
|
75
|
+
patterns,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Deployment patterns
|
|
79
|
+
if (this.containsKeywords(text, ['deploy', 'release', 'rollout'])) {
|
|
80
|
+
patterns.push('deployment-keywords');
|
|
81
|
+
return {
|
|
82
|
+
intent: 'deployment',
|
|
83
|
+
confidence: 'medium',
|
|
84
|
+
reasoning: 'Found deployment keywords',
|
|
85
|
+
patterns,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Testing patterns
|
|
89
|
+
if (this.containsKeywords(text, ['test', 'qa', 'validate', 'verify'])) {
|
|
90
|
+
patterns.push('testing-keywords');
|
|
91
|
+
return {
|
|
92
|
+
intent: 'testing',
|
|
93
|
+
confidence: 'medium',
|
|
94
|
+
reasoning: 'Found testing keywords',
|
|
95
|
+
patterns,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
intent: 'unknown',
|
|
100
|
+
confidence: 'low',
|
|
101
|
+
reasoning: 'No clear intent from structure',
|
|
102
|
+
patterns,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Analyze step patterns for intent
|
|
107
|
+
*/
|
|
108
|
+
static analyzeStepPatterns(workflow) {
|
|
109
|
+
const patterns = [];
|
|
110
|
+
const stepAdapters = workflow.steps.map(s => s.adapter);
|
|
111
|
+
// Data pipeline pattern: fetch -> process -> store
|
|
112
|
+
const hasDataFlow = this.hasPattern(stepAdapters, ['http', 'cli', 'fs']);
|
|
113
|
+
if (hasDataFlow) {
|
|
114
|
+
patterns.push('data-flow-pattern');
|
|
115
|
+
return {
|
|
116
|
+
intent: 'data-pipeline',
|
|
117
|
+
confidence: 'medium',
|
|
118
|
+
reasoning: 'Detected fetch-process-store pattern',
|
|
119
|
+
patterns,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
// Notification pattern: multiple http/webhook calls
|
|
123
|
+
const httpCount = stepAdapters.filter(a => a === 'http').length;
|
|
124
|
+
if (httpCount >= 2) {
|
|
125
|
+
patterns.push('multiple-http-calls');
|
|
126
|
+
return {
|
|
127
|
+
intent: 'notification',
|
|
128
|
+
confidence: 'low',
|
|
129
|
+
reasoning: 'Multiple HTTP calls detected',
|
|
130
|
+
patterns,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// Orchestration: many different adapters
|
|
134
|
+
const uniqueAdapters = new Set(stepAdapters).size;
|
|
135
|
+
if (uniqueAdapters >= 4) {
|
|
136
|
+
patterns.push('multi-adapter');
|
|
137
|
+
return {
|
|
138
|
+
intent: 'orchestration',
|
|
139
|
+
confidence: 'low',
|
|
140
|
+
reasoning: 'Multiple adapter types suggest orchestration',
|
|
141
|
+
patterns,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
intent: 'automation',
|
|
146
|
+
confidence: 'low',
|
|
147
|
+
reasoning: 'General automation (no specific pattern detected)',
|
|
148
|
+
patterns: ['generic'],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get recommendations based on intent
|
|
153
|
+
*/
|
|
154
|
+
static getRecommendations(intent) {
|
|
155
|
+
// Foundation: Basic recommendations
|
|
156
|
+
// Future: Context-aware, experience-based recommendations
|
|
157
|
+
const recommendations = {
|
|
158
|
+
'data-pipeline': {
|
|
159
|
+
optimizations: [
|
|
160
|
+
'Consider enabling caching for expensive transformations',
|
|
161
|
+
'Use parallel processing when steps are independent',
|
|
162
|
+
],
|
|
163
|
+
warnings: [
|
|
164
|
+
'Ensure data validation at each stage',
|
|
165
|
+
'Add retry logic for network-based data fetching',
|
|
166
|
+
],
|
|
167
|
+
bestPractices: [
|
|
168
|
+
'Implement idempotent operations',
|
|
169
|
+
'Add data quality checks',
|
|
170
|
+
],
|
|
171
|
+
},
|
|
172
|
+
'deployment': {
|
|
173
|
+
optimizations: [
|
|
174
|
+
'Use health checks after deployment',
|
|
175
|
+
'Implement rollback logic',
|
|
176
|
+
],
|
|
177
|
+
warnings: [
|
|
178
|
+
'Always have a rollback plan',
|
|
179
|
+
'Test in staging before production',
|
|
180
|
+
],
|
|
181
|
+
bestPractices: [
|
|
182
|
+
'Use blue-green or canary deployments',
|
|
183
|
+
'Implement smoke tests',
|
|
184
|
+
],
|
|
185
|
+
},
|
|
186
|
+
'testing': {
|
|
187
|
+
optimizations: [
|
|
188
|
+
'Run fast tests first',
|
|
189
|
+
'Parallelize independent test suites',
|
|
190
|
+
],
|
|
191
|
+
bestPractices: [
|
|
192
|
+
'Fail fast on critical failures',
|
|
193
|
+
'Generate test reports',
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
'monitoring': {
|
|
197
|
+
optimizations: [
|
|
198
|
+
'Use appropriate check intervals',
|
|
199
|
+
'Implement alerting thresholds',
|
|
200
|
+
],
|
|
201
|
+
bestPractices: [
|
|
202
|
+
'Define clear success criteria',
|
|
203
|
+
'Log monitoring results',
|
|
204
|
+
],
|
|
205
|
+
},
|
|
206
|
+
'notification': {
|
|
207
|
+
optimizations: [
|
|
208
|
+
'Batch notifications when possible',
|
|
209
|
+
'Use async delivery',
|
|
210
|
+
],
|
|
211
|
+
warnings: [
|
|
212
|
+
'Implement rate limiting',
|
|
213
|
+
'Handle delivery failures gracefully',
|
|
214
|
+
],
|
|
215
|
+
bestPractices: [
|
|
216
|
+
'Template notifications',
|
|
217
|
+
'Track delivery status',
|
|
218
|
+
],
|
|
219
|
+
},
|
|
220
|
+
'integration': {
|
|
221
|
+
optimizations: [
|
|
222
|
+
'Use webhook retention policies',
|
|
223
|
+
'Implement circuit breakers',
|
|
224
|
+
],
|
|
225
|
+
warnings: [
|
|
226
|
+
'Validate external service health',
|
|
227
|
+
'Handle service unavailability',
|
|
228
|
+
],
|
|
229
|
+
bestPractices: [
|
|
230
|
+
'Use API versioning',
|
|
231
|
+
'Implement proper error handling',
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
'automation': {
|
|
235
|
+
optimizations: [
|
|
236
|
+
'Identify parallelization opportunities',
|
|
237
|
+
'Cache repeated operations',
|
|
238
|
+
],
|
|
239
|
+
bestPractices: [
|
|
240
|
+
'Make operations idempotent',
|
|
241
|
+
'Add proper logging',
|
|
242
|
+
],
|
|
243
|
+
},
|
|
244
|
+
'orchestration': {
|
|
245
|
+
optimizations: [
|
|
246
|
+
'Optimize step dependencies',
|
|
247
|
+
'Use parallel execution',
|
|
248
|
+
],
|
|
249
|
+
warnings: [
|
|
250
|
+
'Manage service dependencies carefully',
|
|
251
|
+
'Implement timeout strategies',
|
|
252
|
+
],
|
|
253
|
+
bestPractices: [
|
|
254
|
+
'Document service interactions',
|
|
255
|
+
'Implement comprehensive error handling',
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
'unknown': {
|
|
259
|
+
warnings: [
|
|
260
|
+
'Consider adding ai.intent annotation for better optimization',
|
|
261
|
+
],
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
return recommendations[intent] || {};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Generate human-friendly explanation of workflow
|
|
268
|
+
*/
|
|
269
|
+
static explain(workflow) {
|
|
270
|
+
const classified = this.classify(workflow);
|
|
271
|
+
const intentDescriptions = {
|
|
272
|
+
'data-pipeline': 'processes and transforms data',
|
|
273
|
+
'deployment': 'deploys applications or services',
|
|
274
|
+
'testing': 'validates and tests functionality',
|
|
275
|
+
'monitoring': 'monitors system health',
|
|
276
|
+
'notification': 'sends notifications',
|
|
277
|
+
'integration': 'integrates multiple services',
|
|
278
|
+
'automation': 'automates tasks',
|
|
279
|
+
'orchestration': 'orchestrates multiple services',
|
|
280
|
+
'unknown': 'performs automated tasks',
|
|
281
|
+
};
|
|
282
|
+
const description = intentDescriptions[classified.intent];
|
|
283
|
+
const name = workflow.name || 'This workflow';
|
|
284
|
+
return `${name} ${description} (${classified.confidence} confidence)`;
|
|
285
|
+
}
|
|
286
|
+
// Helper methods
|
|
287
|
+
static isKnownIntent(intent) {
|
|
288
|
+
const knownIntents = [
|
|
289
|
+
'data-pipeline', 'deployment', 'testing', 'monitoring',
|
|
290
|
+
'notification', 'integration', 'automation', 'orchestration',
|
|
291
|
+
];
|
|
292
|
+
return knownIntents.includes(intent);
|
|
293
|
+
}
|
|
294
|
+
static containsKeywords(text, keywords) {
|
|
295
|
+
return keywords.some(keyword => text.includes(keyword));
|
|
296
|
+
}
|
|
297
|
+
static hasPattern(adapters, pattern) {
|
|
298
|
+
// Simple pattern matching: check if all pattern adapters exist in sequence
|
|
299
|
+
let patternIndex = 0;
|
|
300
|
+
for (const adapter of adapters) {
|
|
301
|
+
if (adapter === pattern[patternIndex]) {
|
|
302
|
+
patternIndex++;
|
|
303
|
+
if (patternIndex === pattern.length) {
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Intent-based error messages
|
|
313
|
+
*
|
|
314
|
+
* Provides context-aware error messages based on workflow intent
|
|
315
|
+
*/
|
|
316
|
+
export class IntentAwareErrors {
|
|
317
|
+
/**
|
|
318
|
+
* Get intent-aware error message
|
|
319
|
+
*/
|
|
320
|
+
static getMessage(intent, error, context) {
|
|
321
|
+
// Foundation: Basic error enhancement
|
|
322
|
+
// Future: Smart error suggestions based on intent and context
|
|
323
|
+
const baseMessage = error;
|
|
324
|
+
// Add intent-specific context
|
|
325
|
+
const intentContext = {
|
|
326
|
+
'data-pipeline': 'For data pipelines, ensure data sources are accessible and formats are correct.',
|
|
327
|
+
'deployment': 'For deployments, verify permissions and target environment status.',
|
|
328
|
+
'testing': 'For tests, check test data and environment setup.',
|
|
329
|
+
'monitoring': 'For monitoring, ensure endpoints are accessible.',
|
|
330
|
+
'notification': 'For notifications, verify API keys and endpoints.',
|
|
331
|
+
'integration': 'For integrations, check service connectivity.',
|
|
332
|
+
'automation': 'Check that all required resources are available.',
|
|
333
|
+
'orchestration': 'Verify all services are healthy.',
|
|
334
|
+
'unknown': 'Review workflow configuration.',
|
|
335
|
+
};
|
|
336
|
+
const suggestion = intentContext[intent] || '';
|
|
337
|
+
// Add context-specific details if provided
|
|
338
|
+
let enhancedMessage = suggestion ? `${baseMessage}\n\n💡 ${suggestion}` : baseMessage;
|
|
339
|
+
if (context && Object.keys(context).length > 0) {
|
|
340
|
+
const contextStr = Object.entries(context)
|
|
341
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
342
|
+
.join(', ');
|
|
343
|
+
enhancedMessage += `\n\nContext: ${contextStr}`;
|
|
344
|
+
}
|
|
345
|
+
return enhancedMessage;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=IntentAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntentAnalyzer.js","sourceRoot":"","sources":["../../src/execution/IntentAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal Execution Context
|
|
3
|
+
*
|
|
4
|
+
* These fields are NEVER user-controlled.
|
|
5
|
+
* Engine injects them automatically at runtime.
|
|
6
|
+
*
|
|
7
|
+
* Security: User workflow YAML cannot override these values.
|
|
8
|
+
*/
|
|
9
|
+
import type { TierLimits } from './ExecutionLimits.js';
|
|
10
|
+
/**
|
|
11
|
+
* Execution Identity (Engine-Generated)
|
|
12
|
+
* Generated for each workflow execution
|
|
13
|
+
*/
|
|
14
|
+
export interface ExecutionIdentity {
|
|
15
|
+
/** Unique execution ID (generated by engine) */
|
|
16
|
+
executionId: string;
|
|
17
|
+
/** Run ID for this workflow execution */
|
|
18
|
+
runId: string;
|
|
19
|
+
/** Trace ID for distributed tracing */
|
|
20
|
+
traceId: string;
|
|
21
|
+
/** Parent run ID if this is a nested workflow */
|
|
22
|
+
parentRunId?: string;
|
|
23
|
+
/** Execution start timestamp */
|
|
24
|
+
startedAt: Date;
|
|
25
|
+
/** Engine version that executed this workflow */
|
|
26
|
+
engineVersion: string;
|
|
27
|
+
/** Node ID for future distributed execution */
|
|
28
|
+
nodeId?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Ownership Context (From Bridge/API)
|
|
32
|
+
* Passed from website/bridge to engine
|
|
33
|
+
*/
|
|
34
|
+
export interface OwnershipContext {
|
|
35
|
+
/** User ID who triggered execution */
|
|
36
|
+
userId: string;
|
|
37
|
+
/** Workspace/organization ID */
|
|
38
|
+
workspaceId: string;
|
|
39
|
+
/** Subscription ID */
|
|
40
|
+
subscriptionId: string;
|
|
41
|
+
/** Subscription tier (free, pro, enterprise) */
|
|
42
|
+
subscriptionTier: string;
|
|
43
|
+
/** Geographic region */
|
|
44
|
+
region: string;
|
|
45
|
+
/** Pricing model (ecosystem | component) */
|
|
46
|
+
pricingModel: 'ecosystem' | 'component';
|
|
47
|
+
/** Billing mode */
|
|
48
|
+
billingMode: 'ecosystem' | 'component';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Billing Snapshot (Frozen at Execution Start)
|
|
52
|
+
* Prevents billing disputes when pricing changes
|
|
53
|
+
*/
|
|
54
|
+
export interface BillingSnapshot {
|
|
55
|
+
/** Base cost per automation execution */
|
|
56
|
+
baseExecutionCost: number;
|
|
57
|
+
/** Base cost per step */
|
|
58
|
+
baseStepCost: number;
|
|
59
|
+
/** Pricing tier at execution time */
|
|
60
|
+
pricingTier: string;
|
|
61
|
+
/** Discount applied (%) */
|
|
62
|
+
discountApplied: number;
|
|
63
|
+
/** Promo code applied */
|
|
64
|
+
promoApplied?: string;
|
|
65
|
+
/** Effective rate after discounts */
|
|
66
|
+
effectiveRate: number;
|
|
67
|
+
/** Billing snapshot version (for audit) */
|
|
68
|
+
snapshotVersion: string;
|
|
69
|
+
/** Timestamp when snapshot was taken */
|
|
70
|
+
snapshotAt: Date;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Usage Counters (Engine-Calculated)
|
|
74
|
+
* Never user-editable
|
|
75
|
+
*/
|
|
76
|
+
export interface UsageCounters {
|
|
77
|
+
/** Number of automations executed (always 1 per workflow) */
|
|
78
|
+
automationCount: number;
|
|
79
|
+
/** Total number of steps executed */
|
|
80
|
+
stepCount: number;
|
|
81
|
+
/** Weighted step count (sum of step weights) */
|
|
82
|
+
weightedStepCount: number;
|
|
83
|
+
/** Execution duration in seconds */
|
|
84
|
+
durationSeconds: number;
|
|
85
|
+
/** CPU usage (future) */
|
|
86
|
+
resourceUsageCpu?: number;
|
|
87
|
+
/** Memory usage (future) */
|
|
88
|
+
resourceUsageMemory?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Derived Billing Context (Engine-Computed)
|
|
92
|
+
* Calculated based on ownership + snapshot
|
|
93
|
+
*/
|
|
94
|
+
export interface DerivedBillingContext {
|
|
95
|
+
/** Is this execution billable */
|
|
96
|
+
isBillable: boolean;
|
|
97
|
+
/** Billing scope resolved */
|
|
98
|
+
billingScopeResolved: 'workflow' | 'step' | 'both';
|
|
99
|
+
/** Effective product billing to */
|
|
100
|
+
effectiveProduct: string;
|
|
101
|
+
/** Pricing tier resolved from subscription */
|
|
102
|
+
pricingTierResolved: string;
|
|
103
|
+
/** Final cost calculated */
|
|
104
|
+
totalCost: number;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Security Metadata (Engine-Controlled)
|
|
108
|
+
* Security boundaries and permissions
|
|
109
|
+
*/
|
|
110
|
+
export interface SecurityMetadata {
|
|
111
|
+
/** Payment status (affects execution) */
|
|
112
|
+
paymentStatus: 'active' | 'past_due' | 'canceled' | 'trial';
|
|
113
|
+
/** Request source IP (optional) */
|
|
114
|
+
ipAddress?: string;
|
|
115
|
+
/** Security policy version */
|
|
116
|
+
securityPolicyVersion?: string;
|
|
117
|
+
/** Execution isolation level */
|
|
118
|
+
isolationLevel: 'process' | 'container' | 'vm';
|
|
119
|
+
/** Permissions granted for this execution */
|
|
120
|
+
permissionsGranted: string[];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Runtime State (Engine-Managed)
|
|
124
|
+
* Current execution state
|
|
125
|
+
*/
|
|
126
|
+
export interface RuntimeState {
|
|
127
|
+
/** Current workflow state */
|
|
128
|
+
workflowState: 'pending' | 'running' | 'completed' | 'failed' | 'timeout' | 'cancelled';
|
|
129
|
+
/** Actual retry count (not user-defined max) */
|
|
130
|
+
retryCountActual: number;
|
|
131
|
+
/** Was timeout triggered? */
|
|
132
|
+
timeoutTriggered: boolean;
|
|
133
|
+
/** Execution graph (resolved dependencies) */
|
|
134
|
+
executionGraph?: Record<string, string[]>;
|
|
135
|
+
/** Steps state map */
|
|
136
|
+
stepsState: Record<string, 'pending' | 'running' | 'completed' | 'failed' | 'skipped'>;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Request Context (Origin Information)
|
|
140
|
+
* Where the execution request came from
|
|
141
|
+
*/
|
|
142
|
+
export interface RequestContext {
|
|
143
|
+
/** Request origin */
|
|
144
|
+
origin: 'cli' | 'api' | 'sdk' | 'webhook' | 'scheduler';
|
|
145
|
+
/** Execution mode */
|
|
146
|
+
mode: 'local' | 'server' | 'embedded' | 'dry-run';
|
|
147
|
+
/** Who/what triggered this */
|
|
148
|
+
triggeredBy?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Internal Execution Context (Complete)
|
|
152
|
+
* This is what engine maintains internally. NEVER exposed to workflow.
|
|
153
|
+
*/
|
|
154
|
+
export interface InternalExecutionContext {
|
|
155
|
+
/** Execution identity */
|
|
156
|
+
_identity: ExecutionIdentity;
|
|
157
|
+
/** Ownership from bridge */
|
|
158
|
+
_ownership: OwnershipContext;
|
|
159
|
+
/** Billing snapshot (frozen) */
|
|
160
|
+
_billingSnapshot: BillingSnapshot;
|
|
161
|
+
/** Usage counters */
|
|
162
|
+
_usage: UsageCounters;
|
|
163
|
+
/** Derived billing context */
|
|
164
|
+
_billing: DerivedBillingContext;
|
|
165
|
+
/** Tier-based execution limits (ENFORCED by engine) */
|
|
166
|
+
_limits: TierLimits;
|
|
167
|
+
/** Security metadata */
|
|
168
|
+
_security: SecurityMetadata;
|
|
169
|
+
/** Runtime state */
|
|
170
|
+
_runtime: RuntimeState;
|
|
171
|
+
/** Request context */
|
|
172
|
+
_request: RequestContext;
|
|
173
|
+
/** Audit metadata */
|
|
174
|
+
_audit: {
|
|
175
|
+
engineVersion: string;
|
|
176
|
+
billingSnapshotVersion: string;
|
|
177
|
+
executionVersion: string;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Step-level Internal Context
|
|
182
|
+
* Injected into each step execution
|
|
183
|
+
*/
|
|
184
|
+
export interface InternalStepContext {
|
|
185
|
+
/** Step usage (engine-calculated from user weight or default) */
|
|
186
|
+
usage: {
|
|
187
|
+
billable: boolean;
|
|
188
|
+
unit: string;
|
|
189
|
+
weight: number;
|
|
190
|
+
computedCost: number;
|
|
191
|
+
};
|
|
192
|
+
/** Step requirements (engine-validated) */
|
|
193
|
+
requires: {
|
|
194
|
+
capabilities: string[];
|
|
195
|
+
validated: boolean;
|
|
196
|
+
};
|
|
197
|
+
/** Execution hints (engine-optimized) */
|
|
198
|
+
hints: {
|
|
199
|
+
cacheable: boolean;
|
|
200
|
+
idempotent: boolean;
|
|
201
|
+
heavy: boolean;
|
|
202
|
+
cost: 'free' | 'low' | 'medium' | 'high';
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Context Builder
|
|
207
|
+
* Used by engine to create internal context
|
|
208
|
+
*/
|
|
209
|
+
export declare class InternalContextBuilder {
|
|
210
|
+
/**
|
|
211
|
+
* Create execution identity
|
|
212
|
+
*/
|
|
213
|
+
static createIdentity(engineVersion: string): ExecutionIdentity;
|
|
214
|
+
/**
|
|
215
|
+
* Create default ownership context (local mode)
|
|
216
|
+
*/
|
|
217
|
+
static createDefaultOwnership(): OwnershipContext;
|
|
218
|
+
/**
|
|
219
|
+
* Create billing snapshot
|
|
220
|
+
*/
|
|
221
|
+
static createBillingSnapshot(subscriptionTier: string, billingMode: 'ecosystem' | 'component'): BillingSnapshot;
|
|
222
|
+
/**
|
|
223
|
+
* Initialize usage counters
|
|
224
|
+
*/
|
|
225
|
+
static initializeCounters(): UsageCounters;
|
|
226
|
+
/**
|
|
227
|
+
* Create derived billing context
|
|
228
|
+
*/
|
|
229
|
+
static createDerivedBilling(ownership: OwnershipContext, snapshot: BillingSnapshot): DerivedBillingContext;
|
|
230
|
+
/**
|
|
231
|
+
* Build complete internal context
|
|
232
|
+
*/
|
|
233
|
+
static build(engineVersion: string, ownershipContext?: Partial<OwnershipContext>, requestOrigin?: 'cli' | 'api' | 'sdk' | 'webhook' | 'scheduler', executionMode?: 'local' | 'server' | 'embedded' | 'dry-run'): InternalExecutionContext;
|
|
234
|
+
/**
|
|
235
|
+
* Create security metadata
|
|
236
|
+
*/
|
|
237
|
+
static createSecurityMetadata(ownership: OwnershipContext): SecurityMetadata;
|
|
238
|
+
/**
|
|
239
|
+
* Initialize runtime state
|
|
240
|
+
*/
|
|
241
|
+
static initializeRuntimeState(): RuntimeState;
|
|
242
|
+
/**
|
|
243
|
+
* Create request context
|
|
244
|
+
*/
|
|
245
|
+
static createRequestContext(origin: 'cli' | 'api' | 'sdk' | 'webhook' | 'scheduler', mode: 'local' | 'server' | 'embedded' | 'dry-run'): RequestContext;
|
|
246
|
+
/**
|
|
247
|
+
* Create step internal context
|
|
248
|
+
*/
|
|
249
|
+
static createStepContext(userWeight?: number, userUnit?: string): InternalStepContext;
|
|
250
|
+
/**
|
|
251
|
+
* Generate unique ID
|
|
252
|
+
*/
|
|
253
|
+
private static generateId;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=InternalExecutionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalExecutionContext.d.ts","sourceRoot":"","sources":["../../src/execution/InternalExecutionContext.ts"],"names":[],"mappings":"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"}
|