@orbytautomation/engine 0.8.0 → 0.8.1
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 +123 -571
- package/dist/execution/StepExecutor.d.ts.map +1 -1
- package/dist/execution/StepExecutor.js +5 -2
- package/dist/execution/StepExecutor.js.map +1 -1
- package/dist/security/ResourceValidator.d.ts +1 -0
- package/dist/security/ResourceValidator.d.ts.map +1 -1
- package/dist/security/ResourceValidator.js +7 -0
- package/dist/security/ResourceValidator.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,640 +1,192 @@
|
|
|
1
1
|
# @orbytautomation/engine
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Execution runtime for Orbyt workflows.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Package Info
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- Name: @orbytautomation/engine
|
|
8
|
+
- Version: 0.8.0
|
|
9
|
+
- Node: >= 22
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- **Workflow Language** — YAML-based workflow definitions
|
|
12
|
-
- **Execution Engine** — This package (runtime orchestration)
|
|
13
|
-
- **CLI Tooling** — Command-line interface for workflow execution
|
|
14
|
-
- **Adapter Framework** — Extensible adapter system
|
|
15
|
-
|
|
16
|
-
This package provides the core execution engine that powers all workflow orchestration.
|
|
17
|
-
|
|
18
|
-
## Installation
|
|
11
|
+
## Install
|
|
19
12
|
|
|
20
13
|
```bash
|
|
21
14
|
npm install @orbytautomation/engine
|
|
22
15
|
```
|
|
23
16
|
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
import { OrbytEngine } from "@orbytautomation/engine";
|
|
28
|
-
|
|
29
|
-
const engine = new OrbytEngine();
|
|
30
|
-
|
|
31
|
-
const result = await engine.run("./workflow.yaml", {
|
|
32
|
-
vars: { environment: "production" },
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
console.log(result.status); // 'completed', 'failed', 'timeout', etc.
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Core Features
|
|
39
|
-
|
|
40
|
-
- 🔗 **Adapter-based architecture** — Extensible integrations (CLI, HTTP, Shell, FS)
|
|
41
|
-
- 🔁 **Retry strategies** — Exponential backoff, linear, constant
|
|
42
|
-
- ⏰ **Timeout management** — Step and workflow-level timeouts
|
|
43
|
-
- 📡 **Event system** — Real-time workflow execution events
|
|
44
|
-
- 🖇️ **Step dependencies** — Sequential and parallel step execution
|
|
45
|
-
- 🪝 **Lifecycle hooks** — Before/after workflow, before/after step
|
|
46
|
-
- 🔐 **State isolation** — Each execution has independent state
|
|
47
|
-
- 🎯 **Variable interpolation** — Use `${{ vars.name }}`, `${{ env.KEY }}`, `${{ steps.step1.output }}`
|
|
48
|
-
- 🛑 **Exit codes** — Workflow-level exit code support
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## API Reference
|
|
17
|
+
## Core Concepts
|
|
53
18
|
|
|
54
|
-
|
|
19
|
+
- OrbytEngine: primary runtime class
|
|
20
|
+
- WorkflowLoader: load and validate workflow inputs
|
|
21
|
+
- run: execute one workflow
|
|
22
|
+
- runMany: preload, resolve mode, then execute many workflows
|
|
23
|
+
- validate: verify workflow correctness without execution
|
|
24
|
+
- explain: build and return execution plan without running steps
|
|
55
25
|
|
|
56
|
-
|
|
26
|
+
Built-in adapters are registered by default:
|
|
57
27
|
|
|
58
|
-
|
|
59
|
-
|
|
28
|
+
- cli
|
|
29
|
+
- shell
|
|
30
|
+
- http
|
|
31
|
+
- fs
|
|
60
32
|
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
#### Configuration Options
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
interface OrbytEngineConfig {
|
|
68
|
-
// Maximum number of steps to run concurrently
|
|
69
|
-
maxConcurrentSteps?: number; // default: 10
|
|
70
|
-
|
|
71
|
-
// Default timeout for steps (ms)
|
|
72
|
-
defaultStepTimeout?: number; // default: 300000 (5 minutes)
|
|
33
|
+
## Quick Start
|
|
73
34
|
|
|
74
|
-
|
|
75
|
-
|
|
35
|
+
```ts
|
|
36
|
+
import { OrbytEngine, WorkflowLoader } from "@orbytautomation/engine";
|
|
76
37
|
|
|
77
|
-
|
|
78
|
-
|
|
38
|
+
const engine = new OrbytEngine({ logLevel: "info" });
|
|
39
|
+
const workflow = await WorkflowLoader.fromFile("./workflow.yaml");
|
|
79
40
|
|
|
80
|
-
|
|
81
|
-
|
|
41
|
+
const result = await engine.run(workflow, {
|
|
42
|
+
variables: { target: "prod" },
|
|
43
|
+
timeout: 300000,
|
|
44
|
+
});
|
|
82
45
|
|
|
83
|
-
|
|
84
|
-
adapters?: Record<string, Adapter>;
|
|
85
|
-
}
|
|
46
|
+
console.log(result.status);
|
|
86
47
|
```
|
|
87
48
|
|
|
88
|
-
|
|
49
|
+
## Single Workflow API
|
|
89
50
|
|
|
90
|
-
|
|
51
|
+
Accepted workflow inputs:
|
|
91
52
|
|
|
92
|
-
|
|
53
|
+
- file path string
|
|
54
|
+
- YAML string
|
|
55
|
+
- JSON string
|
|
56
|
+
- parsed workflow object
|
|
93
57
|
|
|
94
|
-
```
|
|
58
|
+
```ts
|
|
95
59
|
const result = await engine.run("./workflow.yaml", {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
version: "1.2.3",
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
// Environment variables to inject
|
|
103
|
-
env: {
|
|
104
|
-
API_KEY: process.env.API_KEY,
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
// Execution timeout (ms)
|
|
108
|
-
timeout: 600000,
|
|
109
|
-
|
|
110
|
-
// Continue on errors
|
|
60
|
+
variables: { region: "us-east-1" },
|
|
61
|
+
env: { NODE_ENV: "production" },
|
|
62
|
+
secrets: { TOKEN: process.env.TOKEN },
|
|
111
63
|
continueOnError: false,
|
|
112
|
-
|
|
113
|
-
// Dry run mode
|
|
114
64
|
dryRun: false,
|
|
115
65
|
});
|
|
116
66
|
```
|
|
117
67
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
```typescript
|
|
121
|
-
interface WorkflowResult {
|
|
122
|
-
status: "completed" | "failed" | "timeout" | "cancelled" | "validation_error";
|
|
123
|
-
exitCode: number;
|
|
124
|
-
duration: number;
|
|
125
|
-
steps: StepResult[];
|
|
126
|
-
metadata: {
|
|
127
|
-
startTime: Date;
|
|
128
|
-
endTime: Date;
|
|
129
|
-
workflowName: string;
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
```
|
|
68
|
+
## Batch Execution API (runMany)
|
|
133
69
|
|
|
134
|
-
|
|
70
|
+
runMany behavior:
|
|
135
71
|
|
|
136
|
-
|
|
72
|
+
1. Preload and validate all workflows first
|
|
73
|
+
2. Resolve execution mode
|
|
74
|
+
3. Execute in sequential, parallel, or mixed orchestration
|
|
75
|
+
4. Return per-workflow and aggregate result data
|
|
137
76
|
|
|
138
|
-
```
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const result = await engine.runWorkflow(workflowDef, options);
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
##### `on(event, handler)`
|
|
154
|
-
|
|
155
|
-
Subscribe to workflow execution events.
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
engine.on("workflow.started", (event) => {
|
|
159
|
-
console.log(`Workflow ${event.workflowId} started`);
|
|
77
|
+
```ts
|
|
78
|
+
const batch = await engine.runMany([
|
|
79
|
+
"./w1.yaml",
|
|
80
|
+
"./w2.yaml",
|
|
81
|
+
"./w3.yaml",
|
|
82
|
+
], {
|
|
83
|
+
executionMode: "parallel", // sequential | parallel | mixed
|
|
84
|
+
maxParallelWorkflows: 3,
|
|
85
|
+
mixedBatchSize: 2,
|
|
86
|
+
failFast: false,
|
|
160
87
|
});
|
|
161
88
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
});
|
|
89
|
+
console.log(batch.mode);
|
|
90
|
+
console.log(batch.totalWorkflows, batch.successfulWorkflows, batch.failedWorkflows);
|
|
165
91
|
```
|
|
166
92
|
|
|
167
|
-
|
|
93
|
+
Mode resolution precedence:
|
|
168
94
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
- `workflow.timeout`
|
|
173
|
-
- `workflow.cancelled`
|
|
174
|
-
- `step.started`
|
|
175
|
-
- `step.completed`
|
|
176
|
-
- `step.failed`
|
|
177
|
-
- `step.retrying`
|
|
178
|
-
- `step.skipped`
|
|
179
|
-
- `step.timeout`
|
|
95
|
+
1. Explicit executionMode option
|
|
96
|
+
2. Workflow strategy.type declaration
|
|
97
|
+
3. Default sequential
|
|
180
98
|
|
|
181
|
-
|
|
99
|
+
For details see:
|
|
182
100
|
|
|
183
|
-
|
|
101
|
+
- ../docs/execution-modes.md
|
|
184
102
|
|
|
185
|
-
|
|
186
|
-
const validation = await engine.validate("./workflow.yaml");
|
|
103
|
+
## validate and explain
|
|
187
104
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
105
|
+
```ts
|
|
106
|
+
const ok = await engine.validate("./workflow.yaml");
|
|
107
|
+
const plan = await engine.explain("./workflow.yaml");
|
|
191
108
|
```
|
|
192
109
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
Register a custom adapter.
|
|
110
|
+
- validate returns true or throws on invalid input
|
|
111
|
+
- explain returns an execution explanation object
|
|
196
112
|
|
|
197
|
-
|
|
198
|
-
import { createAdapter } from "@orbytautomation/engine";
|
|
113
|
+
## Configuration (OrbytEngineConfig)
|
|
199
114
|
|
|
200
|
-
|
|
201
|
-
name: "my-adapter",
|
|
202
|
-
execute: async (params, context) => {
|
|
203
|
-
// Implementation
|
|
204
|
-
return { success: true, output: "result" };
|
|
205
|
-
},
|
|
206
|
-
});
|
|
207
|
-
|
|
208
|
-
engine.registerAdapter("my-adapter", myAdapter);
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## Workflow Language Reference
|
|
214
|
-
|
|
215
|
-
Orbyt workflows are defined in YAML with the following structure:
|
|
216
|
-
|
|
217
|
-
### Basic Structure
|
|
218
|
-
|
|
219
|
-
```yaml
|
|
220
|
-
name: my-workflow
|
|
221
|
-
description: Example workflow
|
|
222
|
-
|
|
223
|
-
# Global configuration
|
|
224
|
-
config:
|
|
225
|
-
timeout: 300000
|
|
226
|
-
continueOnError: false
|
|
227
|
-
exitCode: 0
|
|
228
|
-
|
|
229
|
-
# Variables
|
|
230
|
-
vars:
|
|
231
|
-
environment: production
|
|
232
|
-
version: 1.0.0
|
|
233
|
-
|
|
234
|
-
# Steps
|
|
235
|
-
steps:
|
|
236
|
-
- id: step1
|
|
237
|
-
adapter: cli
|
|
238
|
-
params:
|
|
239
|
-
command: echo "Hello ${{ vars.environment }}"
|
|
240
|
-
|
|
241
|
-
- id: step2
|
|
242
|
-
adapter: http
|
|
243
|
-
depends_on: [step1]
|
|
244
|
-
params:
|
|
245
|
-
url: https://api.example.com
|
|
246
|
-
method: GET
|
|
247
|
-
retry:
|
|
248
|
-
maxAttempts: 3
|
|
249
|
-
strategy: exponential
|
|
250
|
-
initialDelay: 1000
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Variable Interpolation
|
|
254
|
-
|
|
255
|
-
Access variables using `${{ expression }}` syntax:
|
|
256
|
-
|
|
257
|
-
```yaml
|
|
258
|
-
steps:
|
|
259
|
-
- id: deploy
|
|
260
|
-
adapter: cli
|
|
261
|
-
params:
|
|
262
|
-
# Variables
|
|
263
|
-
command: deploy --env=${{ vars.environment }}
|
|
264
|
-
|
|
265
|
-
# Environment variables
|
|
266
|
-
api_key: ${{ env.API_KEY }}
|
|
267
|
-
|
|
268
|
-
# Previous step outputs
|
|
269
|
-
version: ${{ steps.build.output.version }}
|
|
270
|
-
|
|
271
|
-
# Context variables
|
|
272
|
-
workflow: ${{ workflow.name }}
|
|
273
|
-
timestamp: ${{ workflow.startTime }}
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
**Available Contexts**:
|
|
277
|
-
|
|
278
|
-
- `vars.*` — User-defined variables
|
|
279
|
-
- `env.*` — Environment variables
|
|
280
|
-
- `steps.<id>.output.*` — Output from previous steps
|
|
281
|
-
- `workflow.*` — Workflow metadata (name, startTime, etc.)
|
|
282
|
-
|
|
283
|
-
### Step Configuration
|
|
284
|
-
|
|
285
|
-
```yaml
|
|
286
|
-
steps:
|
|
287
|
-
- id: step-id # Required: Unique identifier
|
|
288
|
-
adapter: adapter-name # Required: Adapter to use
|
|
289
|
-
|
|
290
|
-
# Optional: Description
|
|
291
|
-
description: What this step does
|
|
292
|
-
|
|
293
|
-
# Optional: Dependencies (wait for these steps)
|
|
294
|
-
depends_on: [step1, step2]
|
|
295
|
-
|
|
296
|
-
# Optional: Conditional execution
|
|
297
|
-
if: ${{ vars.deploy == true }}
|
|
298
|
-
|
|
299
|
-
# Optional: Timeout (ms)
|
|
300
|
-
timeout: 30000
|
|
301
|
-
|
|
302
|
-
# Optional: Continue on failure
|
|
303
|
-
continueOnError: false
|
|
304
|
-
|
|
305
|
-
# Optional: Retry strategy
|
|
306
|
-
retry:
|
|
307
|
-
maxAttempts: 3
|
|
308
|
-
strategy: exponential # exponential, linear, constant
|
|
309
|
-
initialDelay: 1000
|
|
310
|
-
maxDelay: 30000
|
|
311
|
-
backoffMultiplier: 2
|
|
312
|
-
|
|
313
|
-
# Required: Adapter-specific parameters
|
|
314
|
-
params:
|
|
315
|
-
# ... adapter params
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### Retry Strategies
|
|
319
|
-
|
|
320
|
-
**Exponential Backoff**:
|
|
321
|
-
|
|
322
|
-
```yaml
|
|
323
|
-
retry:
|
|
324
|
-
maxAttempts: 5
|
|
325
|
-
strategy: exponential
|
|
326
|
-
initialDelay: 1000 # 1s
|
|
327
|
-
maxDelay: 60000 # 60s max
|
|
328
|
-
backoffMultiplier: 2 # 1s, 2s, 4s, 8s, 16s
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
**Linear Backoff**:
|
|
332
|
-
|
|
333
|
-
```yaml
|
|
334
|
-
retry:
|
|
335
|
-
maxAttempts: 3
|
|
336
|
-
strategy: linear
|
|
337
|
-
initialDelay: 2000 # 2s, 4s, 6s
|
|
338
|
-
backoffMultiplier: 1
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
**Constant Delay**:
|
|
342
|
-
|
|
343
|
-
```yaml
|
|
344
|
-
retry:
|
|
345
|
-
maxAttempts: 3
|
|
346
|
-
strategy: constant
|
|
347
|
-
initialDelay: 5000 # 5s, 5s, 5s
|
|
348
|
-
```
|
|
115
|
+
Common options:
|
|
349
116
|
|
|
350
|
-
|
|
117
|
+
- maxConcurrentWorkflows
|
|
118
|
+
- maxConcurrentSteps
|
|
119
|
+
- defaultTimeout
|
|
120
|
+
- mode (local | distributed | dry-run)
|
|
121
|
+
- enableScheduler
|
|
122
|
+
- adapters
|
|
123
|
+
- hooks
|
|
124
|
+
- logLevel
|
|
125
|
+
- verbose
|
|
126
|
+
- stateDir
|
|
127
|
+
- logDir
|
|
128
|
+
- cacheDir
|
|
129
|
+
- runtimeDir
|
|
130
|
+
- workingDirectory
|
|
351
131
|
|
|
352
|
-
|
|
132
|
+
Example:
|
|
353
133
|
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
depends_on: [build]
|
|
363
|
-
params: { command: npm test }
|
|
364
|
-
|
|
365
|
-
- id: deploy
|
|
366
|
-
adapter: cli
|
|
367
|
-
depends_on: [test]
|
|
368
|
-
params: { command: npm run deploy }
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
**Parallel Execution**:
|
|
372
|
-
|
|
373
|
-
```yaml
|
|
374
|
-
steps:
|
|
375
|
-
# These run in parallel
|
|
376
|
-
- id: lint
|
|
377
|
-
adapter: cli
|
|
378
|
-
params: { command: npm run lint }
|
|
379
|
-
|
|
380
|
-
- id: typecheck
|
|
381
|
-
adapter: cli
|
|
382
|
-
params: { command: npm run typecheck }
|
|
383
|
-
|
|
384
|
-
# This waits for both
|
|
385
|
-
- id: build
|
|
386
|
-
adapter: cli
|
|
387
|
-
depends_on: [lint, typecheck]
|
|
388
|
-
params: { command: npm run build }
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
---
|
|
392
|
-
|
|
393
|
-
## Built-in Adapters
|
|
394
|
-
|
|
395
|
-
### CLI Adapter
|
|
396
|
-
|
|
397
|
-
Execute shell commands.
|
|
398
|
-
|
|
399
|
-
```yaml
|
|
400
|
-
- id: run-script
|
|
401
|
-
adapter: cli
|
|
402
|
-
params:
|
|
403
|
-
command: npm run build
|
|
404
|
-
cwd: ./project
|
|
405
|
-
env:
|
|
406
|
-
NODE_ENV: production
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### Shell Adapter
|
|
410
|
-
|
|
411
|
-
Execute shell commands with streaming output.
|
|
412
|
-
|
|
413
|
-
```yaml
|
|
414
|
-
- id: deploy
|
|
415
|
-
adapter: shell
|
|
416
|
-
params:
|
|
417
|
-
script: |
|
|
418
|
-
set -e
|
|
419
|
-
npm install
|
|
420
|
-
npm run build
|
|
421
|
-
npm run deploy
|
|
422
|
-
shell: bash
|
|
423
|
-
cwd: ./app
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
### HTTP Adapter
|
|
427
|
-
|
|
428
|
-
Make HTTP requests.
|
|
429
|
-
|
|
430
|
-
```yaml
|
|
431
|
-
- id: api-call
|
|
432
|
-
adapter: http
|
|
433
|
-
params:
|
|
434
|
-
url: https://api.example.com/deploy
|
|
435
|
-
method: POST
|
|
436
|
-
headers:
|
|
437
|
-
Authorization: Bearer ${{ env.API_TOKEN }}
|
|
438
|
-
body:
|
|
439
|
-
version: ${{ vars.version }}
|
|
440
|
-
timeout: 30000
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
### FS Adapter
|
|
444
|
-
|
|
445
|
-
File system operations.
|
|
446
|
-
|
|
447
|
-
```yaml
|
|
448
|
-
- id: write-config
|
|
449
|
-
adapter: fs
|
|
450
|
-
params:
|
|
451
|
-
operation: writeFile
|
|
452
|
-
path: ./config.json
|
|
453
|
-
content: ${{ steps.generate.output.config }}
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
---
|
|
457
|
-
|
|
458
|
-
## Custom Adapters
|
|
459
|
-
|
|
460
|
-
Create custom adapters to integrate with any system.
|
|
461
|
-
|
|
462
|
-
### Basic Adapter
|
|
463
|
-
|
|
464
|
-
```typescript
|
|
465
|
-
import { createAdapter, AdapterResultBuilder } from "@orbytautomation/engine";
|
|
466
|
-
|
|
467
|
-
const slackAdapter = createAdapter({
|
|
468
|
-
name: "slack",
|
|
469
|
-
|
|
470
|
-
execute: async (params, context) => {
|
|
471
|
-
const { message, channel } = params;
|
|
472
|
-
|
|
473
|
-
// Send message to Slack
|
|
474
|
-
const response = await sendSlackMessage(channel, message);
|
|
475
|
-
|
|
476
|
-
return new AdapterResultBuilder()
|
|
477
|
-
.success()
|
|
478
|
-
.withOutput({ messageId: response.ts })
|
|
479
|
-
.build();
|
|
480
|
-
},
|
|
134
|
+
```ts
|
|
135
|
+
const engine = new OrbytEngine({
|
|
136
|
+
mode: "local",
|
|
137
|
+
logLevel: "info",
|
|
138
|
+
maxConcurrentWorkflows: 10,
|
|
139
|
+
maxConcurrentSteps: 10,
|
|
140
|
+
defaultTimeout: 300000,
|
|
141
|
+
enableScheduler: true,
|
|
481
142
|
});
|
|
482
|
-
|
|
483
|
-
// Register with engine
|
|
484
|
-
engine.registerAdapter("slack", slackAdapter);
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
### Usage in Workflow
|
|
488
|
-
|
|
489
|
-
```yaml
|
|
490
|
-
steps:
|
|
491
|
-
- id: notify
|
|
492
|
-
adapter: slack
|
|
493
|
-
params:
|
|
494
|
-
channel: "#deployments"
|
|
495
|
-
message: Deployment completed successfully!
|
|
496
143
|
```
|
|
497
144
|
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
```typescript
|
|
501
|
-
interface Adapter {
|
|
502
|
-
name: string;
|
|
503
|
-
execute: (
|
|
504
|
-
params: Record<string, any>,
|
|
505
|
-
context: AdapterContext,
|
|
506
|
-
) => Promise<AdapterResult>;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
interface AdapterContext {
|
|
510
|
-
workflowId: string;
|
|
511
|
-
stepId: string;
|
|
512
|
-
vars: Record<string, any>;
|
|
513
|
-
env: Record<string, any>;
|
|
514
|
-
stepOutputs: Record<string, any>;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
interface AdapterResult {
|
|
518
|
-
success: boolean;
|
|
519
|
-
output?: any;
|
|
520
|
-
error?: string;
|
|
521
|
-
metadata?: Record<string, any>;
|
|
522
|
-
}
|
|
523
|
-
```
|
|
524
|
-
|
|
525
|
-
---
|
|
526
|
-
|
|
527
|
-
## Event System
|
|
528
|
-
|
|
529
|
-
Subscribe to real-time workflow execution events:
|
|
530
|
-
|
|
531
|
-
```typescript
|
|
532
|
-
// Workflow events
|
|
533
|
-
engine.on("workflow.started", (event) => {
|
|
534
|
-
console.log(`Workflow ${event.workflowId} started`);
|
|
535
|
-
});
|
|
536
|
-
|
|
537
|
-
engine.on("workflow.completed", (event) => {
|
|
538
|
-
console.log(`Workflow completed in ${event.duration}ms`);
|
|
539
|
-
});
|
|
540
|
-
|
|
541
|
-
engine.on("workflow.failed", (event) => {
|
|
542
|
-
console.error(`Workflow failed: ${event.error}`);
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
// Step events
|
|
546
|
-
engine.on("step.started", (event) => {
|
|
547
|
-
console.log(`Step ${event.stepId} started`);
|
|
548
|
-
});
|
|
549
|
-
|
|
550
|
-
engine.on("step.completed", (event) => {
|
|
551
|
-
console.log(`Step ${event.stepId} completed`);
|
|
552
|
-
console.log("Output:", event.output);
|
|
553
|
-
});
|
|
145
|
+
## Events and Hooks
|
|
554
146
|
|
|
555
|
-
|
|
556
|
-
console.error(`Step ${event.stepId} failed: ${event.error}`);
|
|
557
|
-
});
|
|
147
|
+
Event bus:
|
|
558
148
|
|
|
559
|
-
|
|
560
|
-
|
|
149
|
+
```ts
|
|
150
|
+
const events = engine.getEventBus();
|
|
151
|
+
events.on("workflow.completed", (event) => {
|
|
152
|
+
console.log(event.workflowName, event.executionId);
|
|
561
153
|
});
|
|
562
154
|
```
|
|
563
155
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
## Lifecycle Hooks
|
|
567
|
-
|
|
568
|
-
Execute custom logic at key points in workflow execution:
|
|
569
|
-
|
|
570
|
-
```typescript
|
|
571
|
-
engine.beforeWorkflow(async (workflow, context) => {
|
|
572
|
-
console.log(`Starting workflow: ${workflow.name}`);
|
|
573
|
-
// Setup, validation, logging, etc.
|
|
574
|
-
});
|
|
575
|
-
|
|
576
|
-
engine.afterWorkflow(async (result, context) => {
|
|
577
|
-
console.log(`Workflow ${result.status} in ${result.duration}ms`);
|
|
578
|
-
// Cleanup, notifications, etc.
|
|
579
|
-
});
|
|
156
|
+
Hooks:
|
|
580
157
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
console.log(`Step ${step.id}: ${result.success ? "success" : "failed"}`);
|
|
588
|
-
// Post-step processing
|
|
158
|
+
```ts
|
|
159
|
+
engine.registerHook({
|
|
160
|
+
name: "audit-hook",
|
|
161
|
+
beforeStep: async (ctx) => {
|
|
162
|
+
// custom behavior
|
|
163
|
+
},
|
|
589
164
|
});
|
|
590
165
|
```
|
|
591
166
|
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
## Exit Codes
|
|
595
|
-
|
|
596
|
-
Workflows can specify exit codes for different scenarios:
|
|
167
|
+
## Minimal Workflow Example
|
|
597
168
|
|
|
598
169
|
```yaml
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
exitCode: 0 # Success
|
|
602
|
-
|
|
603
|
-
steps:
|
|
604
|
-
- id: deploy
|
|
605
|
-
adapter: cli
|
|
606
|
-
params:
|
|
607
|
-
command: deploy.sh
|
|
608
|
-
exitCode: 1 # Failure exit code
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
**Standard Exit Codes**:
|
|
612
|
-
|
|
613
|
-
- `0` — Success
|
|
614
|
-
- `1` — Validation error
|
|
615
|
-
- `2` — Step failure
|
|
616
|
-
- `3` — Timeout
|
|
617
|
-
- `4` — Internal error
|
|
618
|
-
- `5` — Cancelled
|
|
170
|
+
version: "1.0"
|
|
171
|
+
kind: workflow
|
|
619
172
|
|
|
620
|
-
|
|
173
|
+
metadata:
|
|
174
|
+
name: simple-shell
|
|
621
175
|
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
## Links
|
|
176
|
+
workflow:
|
|
177
|
+
steps:
|
|
178
|
+
- id: step1
|
|
179
|
+
uses: shell.exec
|
|
180
|
+
with:
|
|
181
|
+
command: echo "hello"
|
|
182
|
+
```
|
|
630
183
|
|
|
631
|
-
|
|
632
|
-
- **Documentation**: [GitHub README](https://github.com/0xshariq/orbyt#readme)
|
|
633
|
-
- **Issues**: [GitHub Issues](https://github.com/0xshariq/orbyt/issues)
|
|
634
|
-
- **npm**: [@orbytautomation/engine](https://www.npmjs.com/package/@orbytautomation/engine)
|
|
184
|
+
## Related
|
|
635
185
|
|
|
636
|
-
|
|
186
|
+
- ../README.md
|
|
187
|
+
- ../docs/execution-modes.md
|
|
188
|
+
- ../WORKFLOW_SCHEMA.md
|
|
637
189
|
|
|
638
190
|
## License
|
|
639
191
|
|
|
640
|
-
MIT
|
|
192
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepExecutor.d.ts","sourceRoot":"","sources":["../../src/execution/StepExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EAA8C,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI5I;;;;;GAKG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAkC;IAGlD,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,cAAc,CAAC,CAAiB;IAGxC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"StepExecutor.d.ts","sourceRoot":"","sources":["../../src/execution/StepExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EAA8C,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI5I;;;;;GAKG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAkC;IAGlD,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,cAAc,CAAC,CAAiB;IAGxC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAWnD;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAU7C;;;;OAIG;IACH,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMjD;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAIvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;;;OAIG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;;OAIG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;;;;;OAMG;IACG,OAAO,CACX,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,UAAU,CAAC;IA+XtB;;OAEG;YACW,kBAAkB;IA0BhC;;OAEG;YACW,iBAAiB;IAkD/B;;OAEG;YACW,wBAAwB;IAyDtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IA4BlB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAGlC"}
|
|
@@ -59,10 +59,13 @@ export class StepExecutor {
|
|
|
59
59
|
*/
|
|
60
60
|
setAdapterRegistry(registry) {
|
|
61
61
|
this.adapterRegistry = registry;
|
|
62
|
-
//
|
|
62
|
+
// Always wire an AdapterDriver for the injected registry so isolated
|
|
63
|
+
// runtimes can execute modern adapters without relying on legacy maps.
|
|
63
64
|
if (this.adapterDriver) {
|
|
64
|
-
this.adapterDriver
|
|
65
|
+
this.driverResolver.unregister(this.adapterDriver.type);
|
|
65
66
|
}
|
|
67
|
+
this.adapterDriver = new AdapterDriver(registry);
|
|
68
|
+
this.driverResolver.register(this.adapterDriver);
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
68
71
|
* Register a modern adapter with driver system
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepExecutor.js","sourceRoot":"","sources":["../../src/execution/StepExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepExecutor.js","sourceRoot":"","sources":["../../src/execution/StepExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import type { ParsedStep, ResolutionContext } from '../types/core-types.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class ResourceValidator {
|
|
11
11
|
validate(step: ParsedStep, input: Record<string, any>, context?: ResolutionContext): void;
|
|
12
|
+
private shouldBypassOutputValidation;
|
|
12
13
|
private validateInputPath;
|
|
13
14
|
private validateOutputPath;
|
|
14
15
|
private isHighRiskFsMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceValidator.d.ts","sourceRoot":"","sources":["../../src/security/ResourceValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgB5E;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ResourceValidator.d.ts","sourceRoot":"","sources":["../../src/security/ResourceValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgB5E;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAoBzF,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;CAgB7B"}
|
|
@@ -33,10 +33,17 @@ export class ResourceValidator {
|
|
|
33
33
|
this.validateInputPath(step, key, value, workingDir);
|
|
34
34
|
}
|
|
35
35
|
if (OUTPUT_PATH_KEYS.has(key)) {
|
|
36
|
+
if (this.shouldBypassOutputValidation(step.action)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
36
39
|
this.validateOutputPath(step, key, value, workingDir, input);
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
}
|
|
43
|
+
shouldBypassOutputValidation(action) {
|
|
44
|
+
// MediaProc plugins perform their own path handling/creation.
|
|
45
|
+
return action.startsWith('mediaproc.');
|
|
46
|
+
}
|
|
40
47
|
validateInputPath(step, key, pathValue, workingDir) {
|
|
41
48
|
const resolvedPath = this.resolvePath(pathValue, workingDir);
|
|
42
49
|
if (!existsSync(resolvedPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceValidator.js","sourceRoot":"","sources":["../../src/security/ResourceValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResourceValidator.js","sourceRoot":"","sources":["../../src/security/ResourceValidator.ts"],"names":[],"mappings":"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"}
|