@generacy-ai/workflow-engine 0.0.0-preview-20260304013206
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/LICENSE +191 -0
- package/README.md +265 -0
- package/dist/actions/base-action.d.ts +63 -0
- package/dist/actions/base-action.d.ts.map +1 -0
- package/dist/actions/base-action.js +130 -0
- package/dist/actions/base-action.js.map +1 -0
- package/dist/actions/builtin/agent-invoke.d.ts +16 -0
- package/dist/actions/builtin/agent-invoke.d.ts.map +1 -0
- package/dist/actions/builtin/agent-invoke.js +108 -0
- package/dist/actions/builtin/agent-invoke.js.map +1 -0
- package/dist/actions/builtin/humancy-api-handler.d.ts +191 -0
- package/dist/actions/builtin/humancy-api-handler.d.ts.map +1 -0
- package/dist/actions/builtin/humancy-api-handler.js +521 -0
- package/dist/actions/builtin/humancy-api-handler.js.map +1 -0
- package/dist/actions/builtin/humancy-review.d.ts +83 -0
- package/dist/actions/builtin/humancy-review.d.ts.map +1 -0
- package/dist/actions/builtin/humancy-review.js +250 -0
- package/dist/actions/builtin/humancy-review.js.map +1 -0
- package/dist/actions/builtin/pr-create.d.ts +16 -0
- package/dist/actions/builtin/pr-create.d.ts.map +1 -0
- package/dist/actions/builtin/pr-create.js +110 -0
- package/dist/actions/builtin/pr-create.js.map +1 -0
- package/dist/actions/builtin/shell.d.ts +16 -0
- package/dist/actions/builtin/shell.d.ts.map +1 -0
- package/dist/actions/builtin/shell.js +80 -0
- package/dist/actions/builtin/shell.js.map +1 -0
- package/dist/actions/builtin/speckit/index.d.ts +47 -0
- package/dist/actions/builtin/speckit/index.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/index.js +347 -0
- package/dist/actions/builtin/speckit/index.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/feature.d.ts +17 -0
- package/dist/actions/builtin/speckit/lib/feature.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/feature.js +430 -0
- package/dist/actions/builtin/speckit/lib/feature.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/fs.d.ts +62 -0
- package/dist/actions/builtin/speckit/lib/fs.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/fs.js +181 -0
- package/dist/actions/builtin/speckit/lib/fs.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/paths.d.ts +7 -0
- package/dist/actions/builtin/speckit/lib/paths.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/paths.js +161 -0
- package/dist/actions/builtin/speckit/lib/paths.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/prereqs.d.ts +8 -0
- package/dist/actions/builtin/speckit/lib/prereqs.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/prereqs.js +194 -0
- package/dist/actions/builtin/speckit/lib/prereqs.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/stream-batcher.d.ts +14 -0
- package/dist/actions/builtin/speckit/lib/stream-batcher.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/stream-batcher.js +31 -0
- package/dist/actions/builtin/speckit/lib/stream-batcher.js.map +1 -0
- package/dist/actions/builtin/speckit/lib/templates.d.ts +15 -0
- package/dist/actions/builtin/speckit/lib/templates.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/lib/templates.js +176 -0
- package/dist/actions/builtin/speckit/lib/templates.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/check-prereqs.d.ts +11 -0
- package/dist/actions/builtin/speckit/operations/check-prereqs.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/check-prereqs.js +22 -0
- package/dist/actions/builtin/speckit/operations/check-prereqs.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/clarify.d.ts +7 -0
- package/dist/actions/builtin/speckit/operations/clarify.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/clarify.js +302 -0
- package/dist/actions/builtin/speckit/operations/clarify.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/copy-template.d.ts +11 -0
- package/dist/actions/builtin/speckit/operations/copy-template.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/copy-template.js +23 -0
- package/dist/actions/builtin/speckit/operations/copy-template.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/create-feature.d.ts +11 -0
- package/dist/actions/builtin/speckit/operations/create-feature.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/create-feature.js +25 -0
- package/dist/actions/builtin/speckit/operations/create-feature.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/get-paths.d.ts +11 -0
- package/dist/actions/builtin/speckit/operations/get-paths.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/get-paths.js +17 -0
- package/dist/actions/builtin/speckit/operations/get-paths.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/implement.d.ts +7 -0
- package/dist/actions/builtin/speckit/operations/implement.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/implement.js +246 -0
- package/dist/actions/builtin/speckit/operations/implement.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/plan.d.ts +7 -0
- package/dist/actions/builtin/speckit/operations/plan.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/plan.js +253 -0
- package/dist/actions/builtin/speckit/operations/plan.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/specify.d.ts +7 -0
- package/dist/actions/builtin/speckit/operations/specify.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/specify.js +178 -0
- package/dist/actions/builtin/speckit/operations/specify.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/tasks-to-issues.d.ts +42 -0
- package/dist/actions/builtin/speckit/operations/tasks-to-issues.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/tasks-to-issues.js +386 -0
- package/dist/actions/builtin/speckit/operations/tasks-to-issues.js.map +1 -0
- package/dist/actions/builtin/speckit/operations/tasks.d.ts +7 -0
- package/dist/actions/builtin/speckit/operations/tasks.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/operations/tasks.js +234 -0
- package/dist/actions/builtin/speckit/operations/tasks.js.map +1 -0
- package/dist/actions/builtin/speckit/types.d.ts +268 -0
- package/dist/actions/builtin/speckit/types.d.ts.map +1 -0
- package/dist/actions/builtin/speckit/types.js +11 -0
- package/dist/actions/builtin/speckit/types.js.map +1 -0
- package/dist/actions/builtin/verification-check.d.ts +16 -0
- package/dist/actions/builtin/verification-check.d.ts.map +1 -0
- package/dist/actions/builtin/verification-check.js +99 -0
- package/dist/actions/builtin/verification-check.js.map +1 -0
- package/dist/actions/builtin/workspace-prepare.d.ts +16 -0
- package/dist/actions/builtin/workspace-prepare.d.ts.map +1 -0
- package/dist/actions/builtin/workspace-prepare.js +108 -0
- package/dist/actions/builtin/workspace-prepare.js.map +1 -0
- package/dist/actions/cli-utils.d.ts +76 -0
- package/dist/actions/cli-utils.d.ts.map +1 -0
- package/dist/actions/cli-utils.js +278 -0
- package/dist/actions/cli-utils.js.map +1 -0
- package/dist/actions/epic/check-completion.d.ts +14 -0
- package/dist/actions/epic/check-completion.d.ts.map +1 -0
- package/dist/actions/epic/check-completion.js +57 -0
- package/dist/actions/epic/check-completion.js.map +1 -0
- package/dist/actions/epic/close.d.ts +18 -0
- package/dist/actions/epic/close.d.ts.map +1 -0
- package/dist/actions/epic/close.js +76 -0
- package/dist/actions/epic/close.js.map +1 -0
- package/dist/actions/epic/create-pr.d.ts +22 -0
- package/dist/actions/epic/create-pr.d.ts.map +1 -0
- package/dist/actions/epic/create-pr.js +140 -0
- package/dist/actions/epic/create-pr.js.map +1 -0
- package/dist/actions/epic/dispatch-children.d.ts +16 -0
- package/dist/actions/epic/dispatch-children.d.ts.map +1 -0
- package/dist/actions/epic/dispatch-children.js +95 -0
- package/dist/actions/epic/dispatch-children.js.map +1 -0
- package/dist/actions/epic/find-children.d.ts +16 -0
- package/dist/actions/epic/find-children.d.ts.map +1 -0
- package/dist/actions/epic/find-children.js +92 -0
- package/dist/actions/epic/find-children.js.map +1 -0
- package/dist/actions/epic/index.d.ts +20 -0
- package/dist/actions/epic/index.d.ts.map +1 -0
- package/dist/actions/epic/index.js +35 -0
- package/dist/actions/epic/index.js.map +1 -0
- package/dist/actions/epic/post-tasks-summary.d.ts +18 -0
- package/dist/actions/epic/post-tasks-summary.d.ts.map +1 -0
- package/dist/actions/epic/post-tasks-summary.js +123 -0
- package/dist/actions/epic/post-tasks-summary.js.map +1 -0
- package/dist/actions/epic/update-status.d.ts +22 -0
- package/dist/actions/epic/update-status.d.ts.map +1 -0
- package/dist/actions/epic/update-status.js +105 -0
- package/dist/actions/epic/update-status.js.map +1 -0
- package/dist/actions/github/add-comment.d.ts +14 -0
- package/dist/actions/github/add-comment.d.ts.map +1 -0
- package/dist/actions/github/add-comment.js +44 -0
- package/dist/actions/github/add-comment.js.map +1 -0
- package/dist/actions/github/client/gh-cli.d.ts +68 -0
- package/dist/actions/github/client/gh-cli.d.ts.map +1 -0
- package/dist/actions/github/client/gh-cli.js +781 -0
- package/dist/actions/github/client/gh-cli.js.map +1 -0
- package/dist/actions/github/client/index.d.ts +12 -0
- package/dist/actions/github/client/index.d.ts.map +1 -0
- package/dist/actions/github/client/index.js +10 -0
- package/dist/actions/github/client/index.js.map +1 -0
- package/dist/actions/github/client/interface.d.ts +270 -0
- package/dist/actions/github/client/interface.d.ts.map +1 -0
- package/dist/actions/github/client/interface.js +2 -0
- package/dist/actions/github/client/interface.js.map +1 -0
- package/dist/actions/github/commit-and-push.d.ts +19 -0
- package/dist/actions/github/commit-and-push.d.ts.map +1 -0
- package/dist/actions/github/commit-and-push.js +86 -0
- package/dist/actions/github/commit-and-push.js.map +1 -0
- package/dist/actions/github/create-draft-pr.d.ts +18 -0
- package/dist/actions/github/create-draft-pr.d.ts.map +1 -0
- package/dist/actions/github/create-draft-pr.js +76 -0
- package/dist/actions/github/create-draft-pr.js.map +1 -0
- package/dist/actions/github/get-context.d.ts +23 -0
- package/dist/actions/github/get-context.d.ts.map +1 -0
- package/dist/actions/github/get-context.js +109 -0
- package/dist/actions/github/get-context.js.map +1 -0
- package/dist/actions/github/index.d.ts +32 -0
- package/dist/actions/github/index.d.ts.map +1 -0
- package/dist/actions/github/index.js +67 -0
- package/dist/actions/github/index.js.map +1 -0
- package/dist/actions/github/label-definitions.d.ts +19 -0
- package/dist/actions/github/label-definitions.d.ts.map +1 -0
- package/dist/actions/github/label-definitions.js +71 -0
- package/dist/actions/github/label-definitions.js.map +1 -0
- package/dist/actions/github/mark-pr-ready.d.ts +14 -0
- package/dist/actions/github/mark-pr-ready.d.ts.map +1 -0
- package/dist/actions/github/mark-pr-ready.js +43 -0
- package/dist/actions/github/mark-pr-ready.js.map +1 -0
- package/dist/actions/github/merge-from-base.d.ts +15 -0
- package/dist/actions/github/merge-from-base.d.ts.map +1 -0
- package/dist/actions/github/merge-from-base.js +120 -0
- package/dist/actions/github/merge-from-base.js.map +1 -0
- package/dist/actions/github/preflight.d.ts +36 -0
- package/dist/actions/github/preflight.d.ts.map +1 -0
- package/dist/actions/github/preflight.js +292 -0
- package/dist/actions/github/preflight.js.map +1 -0
- package/dist/actions/github/read-pr-feedback.d.ts +14 -0
- package/dist/actions/github/read-pr-feedback.d.ts.map +1 -0
- package/dist/actions/github/read-pr-feedback.js +53 -0
- package/dist/actions/github/read-pr-feedback.js.map +1 -0
- package/dist/actions/github/respond-pr-feedback.d.ts +14 -0
- package/dist/actions/github/respond-pr-feedback.d.ts.map +1 -0
- package/dist/actions/github/respond-pr-feedback.js +58 -0
- package/dist/actions/github/respond-pr-feedback.js.map +1 -0
- package/dist/actions/github/review-changes.d.ts +19 -0
- package/dist/actions/github/review-changes.d.ts.map +1 -0
- package/dist/actions/github/review-changes.js +95 -0
- package/dist/actions/github/review-changes.js.map +1 -0
- package/dist/actions/github/sync-labels.d.ts +14 -0
- package/dist/actions/github/sync-labels.d.ts.map +1 -0
- package/dist/actions/github/sync-labels.js +81 -0
- package/dist/actions/github/sync-labels.js.map +1 -0
- package/dist/actions/github/update-pr.d.ts +14 -0
- package/dist/actions/github/update-pr.d.ts.map +1 -0
- package/dist/actions/github/update-pr.js +63 -0
- package/dist/actions/github/update-pr.js.map +1 -0
- package/dist/actions/index.d.ts +109 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +233 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/workflow/check-gate.d.ts +15 -0
- package/dist/actions/workflow/check-gate.d.ts.map +1 -0
- package/dist/actions/workflow/check-gate.js +75 -0
- package/dist/actions/workflow/check-gate.js.map +1 -0
- package/dist/actions/workflow/index.d.ts +21 -0
- package/dist/actions/workflow/index.d.ts.map +1 -0
- package/dist/actions/workflow/index.js +31 -0
- package/dist/actions/workflow/index.js.map +1 -0
- package/dist/actions/workflow/update-phase.d.ts +15 -0
- package/dist/actions/workflow/update-phase.d.ts.map +1 -0
- package/dist/actions/workflow/update-phase.js +143 -0
- package/dist/actions/workflow/update-phase.js.map +1 -0
- package/dist/actions/workflow/update-stage.d.ts +19 -0
- package/dist/actions/workflow/update-stage.d.ts.map +1 -0
- package/dist/actions/workflow/update-stage.js +137 -0
- package/dist/actions/workflow/update-stage.js.map +1 -0
- package/dist/errors/base-workflow-not-found.d.ts +10 -0
- package/dist/errors/base-workflow-not-found.d.ts.map +1 -0
- package/dist/errors/base-workflow-not-found.js +18 -0
- package/dist/errors/base-workflow-not-found.js.map +1 -0
- package/dist/errors/circular-extends.d.ts +9 -0
- package/dist/errors/circular-extends.d.ts.map +1 -0
- package/dist/errors/circular-extends.js +13 -0
- package/dist/errors/circular-extends.js.map +1 -0
- package/dist/errors/correlation-timeout.d.ts +9 -0
- package/dist/errors/correlation-timeout.d.ts.map +1 -0
- package/dist/errors/correlation-timeout.js +13 -0
- package/dist/errors/correlation-timeout.js.map +1 -0
- package/dist/errors/workflow-override.d.ts +9 -0
- package/dist/errors/workflow-override.d.ts.map +1 -0
- package/dist/errors/workflow-override.js +12 -0
- package/dist/errors/workflow-override.js.map +1 -0
- package/dist/executor/events.d.ts +55 -0
- package/dist/executor/events.d.ts.map +1 -0
- package/dist/executor/events.js +72 -0
- package/dist/executor/events.js.map +1 -0
- package/dist/executor/gate-handler.d.ts +55 -0
- package/dist/executor/gate-handler.d.ts.map +1 -0
- package/dist/executor/gate-handler.js +139 -0
- package/dist/executor/gate-handler.js.map +1 -0
- package/dist/executor/index.d.ts +140 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +681 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/interpolation/context.d.ts +117 -0
- package/dist/interpolation/context.d.ts.map +1 -0
- package/dist/interpolation/context.js +256 -0
- package/dist/interpolation/context.js.map +1 -0
- package/dist/interpolation/index.d.ts +76 -0
- package/dist/interpolation/index.d.ts.map +1 -0
- package/dist/interpolation/index.js +264 -0
- package/dist/interpolation/index.js.map +1 -0
- package/dist/loader/extends.d.ts +48 -0
- package/dist/loader/extends.d.ts.map +1 -0
- package/dist/loader/extends.js +140 -0
- package/dist/loader/extends.js.map +1 -0
- package/dist/loader/index.d.ts +50 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +190 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/schema.d.ts +506 -0
- package/dist/loader/schema.d.ts.map +1 -0
- package/dist/loader/schema.js +63 -0
- package/dist/loader/schema.js.map +1 -0
- package/dist/loader/validator.d.ts +33 -0
- package/dist/loader/validator.d.ts.map +1 -0
- package/dist/loader/validator.js +135 -0
- package/dist/loader/validator.js.map +1 -0
- package/dist/registry/index.d.ts +42 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +77 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/retry/index.d.ts +37 -0
- package/dist/retry/index.d.ts.map +1 -0
- package/dist/retry/index.js +225 -0
- package/dist/retry/index.js.map +1 -0
- package/dist/retry/strategies.d.ts +74 -0
- package/dist/retry/strategies.d.ts.map +1 -0
- package/dist/retry/strategies.js +136 -0
- package/dist/retry/strategies.js.map +1 -0
- package/dist/store/filesystem-store.d.ts +52 -0
- package/dist/store/filesystem-store.d.ts.map +1 -0
- package/dist/store/filesystem-store.js +230 -0
- package/dist/store/filesystem-store.js.map +1 -0
- package/dist/store/index.d.ts +7 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +6 -0
- package/dist/store/index.js.map +1 -0
- package/dist/types/action.d.ts +358 -0
- package/dist/types/action.d.ts.map +1 -0
- package/dist/types/action.js +96 -0
- package/dist/types/action.js.map +1 -0
- package/dist/types/events.d.ts +25 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +6 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/execution.d.ts +145 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +2 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/gate.d.ts +98 -0
- package/dist/types/gate.d.ts.map +1 -0
- package/dist/types/gate.js +41 -0
- package/dist/types/gate.js.map +1 -0
- package/dist/types/github.d.ts +706 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/github.js +6 -0
- package/dist/types/github.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/logger.d.ts +60 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/logger.js +66 -0
- package/dist/types/logger.js.map +1 -0
- package/dist/types/retry.d.ts +36 -0
- package/dist/types/retry.d.ts.map +1 -0
- package/dist/types/retry.js +6 -0
- package/dist/types/retry.js.map +1 -0
- package/dist/types/store.d.ts +88 -0
- package/dist/types/store.d.ts.map +1 -0
- package/dist/types/store.js +6 -0
- package/dist/types/store.js.map +1 -0
- package/dist/types/workflow.d.ts +105 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +6 -0
- package/dist/types/workflow.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event emitter for workflow execution
|
|
3
|
+
*/
|
|
4
|
+
export class ExecutionEventEmitter {
|
|
5
|
+
listeners = new Set();
|
|
6
|
+
/**
|
|
7
|
+
* Add an event listener
|
|
8
|
+
* @param listener The listener function
|
|
9
|
+
* @returns Disposable to remove the listener
|
|
10
|
+
*/
|
|
11
|
+
addEventListener(listener) {
|
|
12
|
+
this.listeners.add(listener);
|
|
13
|
+
return {
|
|
14
|
+
dispose: () => {
|
|
15
|
+
this.listeners.delete(listener);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Remove an event listener
|
|
21
|
+
* @param listener The listener to remove
|
|
22
|
+
*/
|
|
23
|
+
removeEventListener(listener) {
|
|
24
|
+
this.listeners.delete(listener);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Remove all listeners
|
|
28
|
+
*/
|
|
29
|
+
removeAllListeners() {
|
|
30
|
+
this.listeners.clear();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Emit an event to all listeners
|
|
34
|
+
* @param event The event to emit
|
|
35
|
+
*/
|
|
36
|
+
emit(event) {
|
|
37
|
+
for (const listener of this.listeners) {
|
|
38
|
+
try {
|
|
39
|
+
listener(event);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error('Execution event listener error:', error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create and emit an event
|
|
48
|
+
* @param type The event type
|
|
49
|
+
* @param workflowName The workflow name
|
|
50
|
+
* @param options Additional event options
|
|
51
|
+
*/
|
|
52
|
+
emitEvent(type, workflowName, options) {
|
|
53
|
+
this.emit({
|
|
54
|
+
type,
|
|
55
|
+
timestamp: Date.now(),
|
|
56
|
+
workflowName,
|
|
57
|
+
...options,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create execution event
|
|
63
|
+
*/
|
|
64
|
+
export function createExecutionEvent(type, workflowName, options) {
|
|
65
|
+
return {
|
|
66
|
+
type,
|
|
67
|
+
timestamp: Date.now(),
|
|
68
|
+
workflowName,
|
|
69
|
+
...options,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/executor/events.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEtD;;;;OAIG;IACH,gBAAgB,CAAC,QAAgC;QAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,QAAgC;QAClD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAqB;QACxB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,IAAwB,EACxB,YAAoB,EACpB,OAKC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,YAAY;YACZ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,YAAoB,EACpB,OAKC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY;QACZ,GAAG,OAAO;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gate handler integration for workflow executor.
|
|
3
|
+
* Manages gate registration and execution during workflow steps.
|
|
4
|
+
*/
|
|
5
|
+
import type { GateType, GateConfig, GateResult, GateHandler, ExecutableWorkflow, PhaseDefinition, StepDefinition, ActionResult } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Register a custom gate handler for a specific gate type
|
|
8
|
+
*/
|
|
9
|
+
export declare function registerGateHandler(gateType: GateType, handler: GateHandler): void;
|
|
10
|
+
/**
|
|
11
|
+
* Unregister a gate handler
|
|
12
|
+
*/
|
|
13
|
+
export declare function unregisterGateHandler(gateType: GateType): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the handler for a gate type
|
|
16
|
+
*/
|
|
17
|
+
export declare function getGateHandler(gateType: GateType): GateHandler;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a gate is configured for a step
|
|
20
|
+
*/
|
|
21
|
+
export declare function hasGate(step: StepDefinition): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get gate configuration from a step
|
|
24
|
+
*/
|
|
25
|
+
export declare function getGateConfig(step: StepDefinition): GateConfig | null;
|
|
26
|
+
/**
|
|
27
|
+
* Result from processing a gate
|
|
28
|
+
*/
|
|
29
|
+
export interface GateProcessResult {
|
|
30
|
+
/** Whether the gate was approved and workflow should continue */
|
|
31
|
+
continue: boolean;
|
|
32
|
+
/** Whether workflow should pause (gate pending) */
|
|
33
|
+
pause: boolean;
|
|
34
|
+
/** The gate result with details */
|
|
35
|
+
result: GateResult;
|
|
36
|
+
/** The gate configuration */
|
|
37
|
+
config: GateConfig;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Process a gate after step execution.
|
|
41
|
+
* This is called by the executor after a step with a gate completes successfully.
|
|
42
|
+
*
|
|
43
|
+
* @param workflow The executing workflow
|
|
44
|
+
* @param phase Current phase
|
|
45
|
+
* @param step The step with the gate
|
|
46
|
+
* @param stepResult Result from step execution
|
|
47
|
+
* @param executionId Optional workflow execution ID
|
|
48
|
+
* @returns Gate processing result
|
|
49
|
+
*/
|
|
50
|
+
export declare function processGate(workflow: ExecutableWorkflow, phase: PhaseDefinition, step: StepDefinition, stepResult: ActionResult, executionId?: string): Promise<GateProcessResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Clear all registered gate handlers (useful for testing)
|
|
53
|
+
*/
|
|
54
|
+
export declare function clearGateHandlerRegistry(): void;
|
|
55
|
+
//# sourceMappingURL=gate-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-handler.d.ts","sourceRoot":"","sources":["../../src/executor/gate-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAEV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAW3B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAElF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAE9D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAKrE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAElB,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAC;IAEf,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC;IAEnB,6BAA6B;IAC7B,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,YAAY,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAwF5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { DefaultGateHandler, parseGateConfig } from '../types/gate.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registry of gate handlers by type
|
|
4
|
+
*/
|
|
5
|
+
const gateHandlerRegistry = new Map();
|
|
6
|
+
/** Default handler for gates without a specific handler */
|
|
7
|
+
const defaultHandler = new DefaultGateHandler();
|
|
8
|
+
/**
|
|
9
|
+
* Register a custom gate handler for a specific gate type
|
|
10
|
+
*/
|
|
11
|
+
export function registerGateHandler(gateType, handler) {
|
|
12
|
+
gateHandlerRegistry.set(gateType, handler);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Unregister a gate handler
|
|
16
|
+
*/
|
|
17
|
+
export function unregisterGateHandler(gateType) {
|
|
18
|
+
gateHandlerRegistry.delete(gateType);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the handler for a gate type
|
|
22
|
+
*/
|
|
23
|
+
export function getGateHandler(gateType) {
|
|
24
|
+
return gateHandlerRegistry.get(gateType) ?? defaultHandler;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if a gate is configured for a step
|
|
28
|
+
*/
|
|
29
|
+
export function hasGate(step) {
|
|
30
|
+
return typeof step.gate === 'string' && step.gate.length > 0;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get gate configuration from a step
|
|
34
|
+
*/
|
|
35
|
+
export function getGateConfig(step) {
|
|
36
|
+
if (!hasGate(step)) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return parseGateConfig(step.gate);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Process a gate after step execution.
|
|
43
|
+
* This is called by the executor after a step with a gate completes successfully.
|
|
44
|
+
*
|
|
45
|
+
* @param workflow The executing workflow
|
|
46
|
+
* @param phase Current phase
|
|
47
|
+
* @param step The step with the gate
|
|
48
|
+
* @param stepResult Result from step execution
|
|
49
|
+
* @param executionId Optional workflow execution ID
|
|
50
|
+
* @returns Gate processing result
|
|
51
|
+
*/
|
|
52
|
+
export async function processGate(workflow, phase, step, stepResult, executionId) {
|
|
53
|
+
const config = getGateConfig(step);
|
|
54
|
+
if (!config) {
|
|
55
|
+
// No gate, continue immediately
|
|
56
|
+
return {
|
|
57
|
+
continue: true,
|
|
58
|
+
pause: false,
|
|
59
|
+
result: { approved: true, approvedBy: 'system' },
|
|
60
|
+
config: { type: 'none' },
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const context = {
|
|
64
|
+
workflow,
|
|
65
|
+
phase,
|
|
66
|
+
step,
|
|
67
|
+
stepResult,
|
|
68
|
+
gateType: config.type,
|
|
69
|
+
executionId,
|
|
70
|
+
};
|
|
71
|
+
const handler = config.handler ?? getGateHandler(config.type);
|
|
72
|
+
// First check if already approved (non-blocking)
|
|
73
|
+
const isPreApproved = await handler.checkApproval(context);
|
|
74
|
+
if (isPreApproved) {
|
|
75
|
+
return {
|
|
76
|
+
continue: true,
|
|
77
|
+
pause: false,
|
|
78
|
+
result: { approved: true, approvedBy: 'pre-approval' },
|
|
79
|
+
config,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Request approval notification if handler supports it
|
|
83
|
+
if (handler.requestApproval) {
|
|
84
|
+
await handler.requestApproval(context);
|
|
85
|
+
}
|
|
86
|
+
// Wait for approval
|
|
87
|
+
const result = await handler.waitForApproval(context, config.timeout_ms);
|
|
88
|
+
// Handle timeout action
|
|
89
|
+
if (result.timedOut && config.timeout_action) {
|
|
90
|
+
switch (config.timeout_action) {
|
|
91
|
+
case 'approve':
|
|
92
|
+
return {
|
|
93
|
+
continue: true,
|
|
94
|
+
pause: false,
|
|
95
|
+
result: { ...result, approved: true, approvedBy: 'timeout-auto-approve' },
|
|
96
|
+
config,
|
|
97
|
+
};
|
|
98
|
+
case 'reject':
|
|
99
|
+
return {
|
|
100
|
+
continue: false,
|
|
101
|
+
pause: false,
|
|
102
|
+
result: { ...result, approved: false, approvedBy: 'timeout-reject' },
|
|
103
|
+
config,
|
|
104
|
+
};
|
|
105
|
+
case 'block':
|
|
106
|
+
default:
|
|
107
|
+
// Keep blocking (pause workflow)
|
|
108
|
+
return {
|
|
109
|
+
continue: false,
|
|
110
|
+
pause: true,
|
|
111
|
+
result,
|
|
112
|
+
config,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Normal approval flow
|
|
117
|
+
if (result.approved) {
|
|
118
|
+
return {
|
|
119
|
+
continue: true,
|
|
120
|
+
pause: false,
|
|
121
|
+
result,
|
|
122
|
+
config,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// Not approved - pause workflow for manual intervention
|
|
126
|
+
return {
|
|
127
|
+
continue: false,
|
|
128
|
+
pause: true,
|
|
129
|
+
result,
|
|
130
|
+
config,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Clear all registered gate handlers (useful for testing)
|
|
135
|
+
*/
|
|
136
|
+
export function clearGateHandlerRegistry() {
|
|
137
|
+
gateHandlerRegistry.clear();
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=gate-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-handler.js","sourceRoot":"","sources":["../../src/executor/gate-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow executor with phase/step iteration.
|
|
3
|
+
* Handles workflow execution with event emission and result tracking.
|
|
4
|
+
* Integrates action handlers, variable interpolation, and retry logic.
|
|
5
|
+
*/
|
|
6
|
+
import type { ExecutableWorkflow, ExecutionOptions, ExecutionResult, ExecutionStatus, ExecutionEventListener, PhaseResult, StepResult, StepDefinition, PhaseDefinition, Logger, WorkflowState, WorkflowStore } from '../types/index.js';
|
|
7
|
+
import { ExecutionContext } from '../interpolation/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Reset the actions registration state (for testing)
|
|
10
|
+
*/
|
|
11
|
+
export declare function resetActionsRegistration(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Resume options for continuing a paused workflow
|
|
14
|
+
*/
|
|
15
|
+
export interface ResumeOptions {
|
|
16
|
+
/** The decision response for the pending review */
|
|
17
|
+
decision?: {
|
|
18
|
+
approved: boolean;
|
|
19
|
+
comments?: string;
|
|
20
|
+
respondedBy: string;
|
|
21
|
+
respondedAt: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Executor options
|
|
26
|
+
*/
|
|
27
|
+
export interface ExecutorOptions {
|
|
28
|
+
/** Logger for execution output */
|
|
29
|
+
logger?: Logger;
|
|
30
|
+
/** Workflow store for state persistence */
|
|
31
|
+
store?: WorkflowStore;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Workflow executor class
|
|
35
|
+
*/
|
|
36
|
+
export declare class WorkflowExecutor {
|
|
37
|
+
private currentExecution;
|
|
38
|
+
private eventEmitter;
|
|
39
|
+
private executionContext;
|
|
40
|
+
private abortController;
|
|
41
|
+
private logger;
|
|
42
|
+
private store;
|
|
43
|
+
constructor(options?: ExecutorOptions);
|
|
44
|
+
/**
|
|
45
|
+
* Get current execution status
|
|
46
|
+
*/
|
|
47
|
+
getStatus(): ExecutionStatus;
|
|
48
|
+
/**
|
|
49
|
+
* Check if currently executing
|
|
50
|
+
*/
|
|
51
|
+
isRunning(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Get current execution result
|
|
54
|
+
*/
|
|
55
|
+
getCurrentExecution(): ExecutionResult | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Get the execution context (for accessing step outputs)
|
|
58
|
+
*/
|
|
59
|
+
getExecutionContext(): ExecutionContext | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Add event listener
|
|
62
|
+
*/
|
|
63
|
+
addEventListener(listener: ExecutionEventListener): {
|
|
64
|
+
dispose: () => void;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Execute a workflow
|
|
68
|
+
*/
|
|
69
|
+
execute(workflow: ExecutableWorkflow, options?: ExecutionOptions, inputs?: Record<string, unknown>): Promise<ExecutionResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Execute a single phase
|
|
72
|
+
*/
|
|
73
|
+
executePhase(workflow: ExecutableWorkflow, phase: PhaseDefinition, phaseIndex: number, totalPhases: number, options: ExecutionOptions, startStep?: string): Promise<PhaseResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Execute a single step using action handlers
|
|
76
|
+
*/
|
|
77
|
+
executeStep(workflow: ExecutableWorkflow, phase: PhaseDefinition, step: StepDefinition, stepIndex: number, totalSteps: number, options: ExecutionOptions): Promise<StepResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Execute step using action handler with retry logic
|
|
80
|
+
*/
|
|
81
|
+
private executeWithActionHandler;
|
|
82
|
+
/**
|
|
83
|
+
* Create action context for step execution
|
|
84
|
+
*/
|
|
85
|
+
private createActionContext;
|
|
86
|
+
/**
|
|
87
|
+
* Interpolate variables in step configuration
|
|
88
|
+
*/
|
|
89
|
+
private interpolateStep;
|
|
90
|
+
/**
|
|
91
|
+
* Store step output in execution context
|
|
92
|
+
*/
|
|
93
|
+
private storeStepOutput;
|
|
94
|
+
/**
|
|
95
|
+
* Cancel the current execution
|
|
96
|
+
*/
|
|
97
|
+
cancel(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Validate a workflow without executing (dry-run)
|
|
100
|
+
*/
|
|
101
|
+
validate(workflow: ExecutableWorkflow, env?: Record<string, string>): Promise<ExecutionResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Check if there's a pending workflow state that can be resumed
|
|
104
|
+
*/
|
|
105
|
+
hasPendingState(workflowId: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Get all pending workflow states
|
|
108
|
+
*/
|
|
109
|
+
listPendingWorkflows(): Promise<WorkflowState[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Load a saved workflow state
|
|
112
|
+
*/
|
|
113
|
+
loadWorkflowState(workflowId: string): Promise<WorkflowState | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Resume a paused workflow from saved state.
|
|
116
|
+
* Call this after receiving a human review decision.
|
|
117
|
+
*
|
|
118
|
+
* @param workflow The workflow definition (must match the saved state)
|
|
119
|
+
* @param workflowId The workflow ID to resume
|
|
120
|
+
* @param resumeOptions Options containing the human decision
|
|
121
|
+
* @param executionOptions Standard execution options
|
|
122
|
+
* @returns The execution result
|
|
123
|
+
*/
|
|
124
|
+
resume(workflow: ExecutableWorkflow, workflowId: string, resumeOptions: ResumeOptions, executionOptions?: ExecutionOptions): Promise<ExecutionResult>;
|
|
125
|
+
/**
|
|
126
|
+
* Dispose resources
|
|
127
|
+
*/
|
|
128
|
+
dispose(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Validate that the working directory is not on the default branch.
|
|
131
|
+
* Called after the setup phase to catch failed branch creation early.
|
|
132
|
+
*/
|
|
133
|
+
private validateBranchState;
|
|
134
|
+
/**
|
|
135
|
+
* Evaluate a condition expression using interpolation context
|
|
136
|
+
*/
|
|
137
|
+
private evaluateCondition;
|
|
138
|
+
}
|
|
139
|
+
export { ExecutionEventEmitter, createExecutionEvent } from './events.js';
|
|
140
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"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"}
|