@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,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent invoke action handler.
|
|
3
|
+
* Handles Claude CLI invocation for AI agent tasks.
|
|
4
|
+
*/
|
|
5
|
+
import { BaseAction } from '../base-action.js';
|
|
6
|
+
import { parseActionType } from '../../types/action.js';
|
|
7
|
+
import { executeCommand, extractJSON } from '../cli-utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* Action handler for agent (Claude CLI) invocation
|
|
10
|
+
*/
|
|
11
|
+
export class AgentInvokeAction extends BaseAction {
|
|
12
|
+
type = 'agent.invoke';
|
|
13
|
+
canHandle(step) {
|
|
14
|
+
return parseActionType(step) === 'agent.invoke';
|
|
15
|
+
}
|
|
16
|
+
validate(step) {
|
|
17
|
+
const errors = [];
|
|
18
|
+
const warnings = [];
|
|
19
|
+
// Check for prompt - use empty context for validation
|
|
20
|
+
const prompt = step.with?.['prompt'];
|
|
21
|
+
if (!prompt) {
|
|
22
|
+
errors.push({
|
|
23
|
+
field: 'prompt',
|
|
24
|
+
message: 'Prompt is required for agent.invoke action',
|
|
25
|
+
code: 'MISSING_PROMPT',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
valid: errors.length === 0,
|
|
30
|
+
errors,
|
|
31
|
+
warnings,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async executeInternal(step, context) {
|
|
35
|
+
const input = {
|
|
36
|
+
prompt: this.getRequiredInput(step, context, 'prompt'),
|
|
37
|
+
allowedTools: this.getInput(step, context, 'allowedTools'),
|
|
38
|
+
timeout: this.getInput(step, context, 'timeout', 600), // 10 minute default
|
|
39
|
+
maxTurns: this.getInput(step, context, 'maxTurns'),
|
|
40
|
+
workdir: this.getInput(step, context, 'workdir', context.workdir),
|
|
41
|
+
};
|
|
42
|
+
context.logger.info(`Invoking Claude agent with prompt: ${input.prompt.substring(0, 50)}...`);
|
|
43
|
+
try {
|
|
44
|
+
// Build claude command arguments
|
|
45
|
+
const args = ['-p', input.prompt, '--output-format', 'json'];
|
|
46
|
+
// Add max turns if specified
|
|
47
|
+
if (input.maxTurns) {
|
|
48
|
+
args.push('--max-turns', String(input.maxTurns));
|
|
49
|
+
}
|
|
50
|
+
// Add allowed tools if specified
|
|
51
|
+
if (input.allowedTools && input.allowedTools.length > 0) {
|
|
52
|
+
args.push('--allowedTools', input.allowedTools.join(','));
|
|
53
|
+
}
|
|
54
|
+
// Execute claude CLI
|
|
55
|
+
const result = await executeCommand('claude', args, {
|
|
56
|
+
cwd: input.workdir ?? context.workdir,
|
|
57
|
+
env: this.mergeEnv(context, step.env),
|
|
58
|
+
timeout: (input.timeout ?? 600) * 1000, // Convert to ms
|
|
59
|
+
signal: context.signal,
|
|
60
|
+
});
|
|
61
|
+
// Parse JSON output
|
|
62
|
+
const parsedOutput = extractJSON(result.stdout);
|
|
63
|
+
// Check exit code
|
|
64
|
+
if (result.exitCode !== 0) {
|
|
65
|
+
return this.failureResult(`Claude agent failed with exit code ${result.exitCode}`, {
|
|
66
|
+
output: parsedOutput ?? result.stdout,
|
|
67
|
+
exitCode: result.exitCode,
|
|
68
|
+
stdout: result.stdout,
|
|
69
|
+
stderr: result.stderr,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// Extract structured output
|
|
73
|
+
const agentOutput = {
|
|
74
|
+
summary: 'Agent completed successfully',
|
|
75
|
+
filesModified: [],
|
|
76
|
+
turns: 1,
|
|
77
|
+
data: parsedOutput,
|
|
78
|
+
};
|
|
79
|
+
// Try to extract more details from parsed output
|
|
80
|
+
if (parsedOutput && typeof parsedOutput === 'object') {
|
|
81
|
+
const parsed = parsedOutput;
|
|
82
|
+
if (typeof parsed['summary'] === 'string') {
|
|
83
|
+
agentOutput.summary = parsed['summary'];
|
|
84
|
+
}
|
|
85
|
+
if (Array.isArray(parsed['filesModified'])) {
|
|
86
|
+
agentOutput.filesModified = parsed['filesModified'];
|
|
87
|
+
}
|
|
88
|
+
if (typeof parsed['turns'] === 'number') {
|
|
89
|
+
agentOutput.turns = parsed['turns'];
|
|
90
|
+
}
|
|
91
|
+
if (typeof parsed['conversationId'] === 'string') {
|
|
92
|
+
agentOutput.conversationId = parsed['conversationId'];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
context.logger.info(`Agent completed: ${agentOutput.summary}`);
|
|
96
|
+
return this.successResult(agentOutput, {
|
|
97
|
+
exitCode: result.exitCode,
|
|
98
|
+
stdout: result.stdout,
|
|
99
|
+
stderr: result.stderr,
|
|
100
|
+
filesModified: agentOutput.filesModified,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
return this.failureResult(error instanceof Error ? error.message : String(error));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=agent-invoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-invoke.js","sourceRoot":"","sources":["../../../src/actions/builtin/agent-invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HumancyApiDecisionHandler — concrete HumanDecisionHandler that bridges
|
|
3
|
+
* the workflow engine's human review steps with the Humancy Cloud API's
|
|
4
|
+
* decision endpoints.
|
|
5
|
+
*
|
|
6
|
+
* Creates decisions via POST /decisions, listens for resolution via SSE
|
|
7
|
+
* (decision:resolved event), and maps responses back to the workflow
|
|
8
|
+
* engine's ReviewDecisionResponse format.
|
|
9
|
+
*
|
|
10
|
+
* API: generacy.ai/api/humancy/decisions (architecture-overview-v3)
|
|
11
|
+
*/
|
|
12
|
+
import type { HumanDecisionHandler } from './humancy-review.js';
|
|
13
|
+
import type { HumancyUrgency } from '../../types/action.js';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for HumancyApiDecisionHandler.
|
|
16
|
+
*/
|
|
17
|
+
export interface HumancyApiHandlerConfig {
|
|
18
|
+
/** Base URL for the Humancy API (e.g., http://localhost:3002/api/humancy) */
|
|
19
|
+
apiUrl: string;
|
|
20
|
+
/** Agent ID for decision attribution */
|
|
21
|
+
agentId: string;
|
|
22
|
+
/** Optional project ID for scoping decisions */
|
|
23
|
+
projectId?: string;
|
|
24
|
+
/** Optional auth token for API requests (JWT) */
|
|
25
|
+
authToken?: string;
|
|
26
|
+
/** Whether to fall back to simulation on API failure (default: true) */
|
|
27
|
+
fallbackToSimulation?: boolean;
|
|
28
|
+
/** SSE reconnection delay in ms (default: 1000) */
|
|
29
|
+
sseReconnectDelay?: number;
|
|
30
|
+
/** Maximum SSE reconnection attempts (default: 10) */
|
|
31
|
+
maxReconnectAttempts?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Minimal logger interface matching the shape of context.logger.
|
|
35
|
+
*/
|
|
36
|
+
export interface HandlerLogger {
|
|
37
|
+
info(msg: string, ...args: unknown[]): void;
|
|
38
|
+
warn(msg: string, ...args: unknown[]): void;
|
|
39
|
+
error(msg: string, ...args: unknown[]): void;
|
|
40
|
+
debug(msg: string, ...args: unknown[]): void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Decision request payload — structurally compatible with the
|
|
44
|
+
* non-exported ReviewDecisionRequest from humancy-review.ts.
|
|
45
|
+
*/
|
|
46
|
+
interface ReviewDecisionRequest {
|
|
47
|
+
type: 'review';
|
|
48
|
+
title: string;
|
|
49
|
+
description: string;
|
|
50
|
+
options: Array<{
|
|
51
|
+
id: string;
|
|
52
|
+
label: string;
|
|
53
|
+
requiresComment?: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
workflowId: string;
|
|
56
|
+
stepId: string;
|
|
57
|
+
urgency: HumancyUrgency;
|
|
58
|
+
artifact?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Decision response — structurally compatible with the
|
|
62
|
+
* non-exported ReviewDecisionResponse from humancy-review.ts.
|
|
63
|
+
*/
|
|
64
|
+
interface ReviewDecisionResponse {
|
|
65
|
+
approved?: boolean;
|
|
66
|
+
decision?: string;
|
|
67
|
+
input?: string;
|
|
68
|
+
respondedBy: string;
|
|
69
|
+
respondedAt: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A parsed SSE event from the stream.
|
|
73
|
+
*/
|
|
74
|
+
export interface ParsedSSEEvent {
|
|
75
|
+
/** Event type from the `event:` field (empty string if not set) */
|
|
76
|
+
event: string;
|
|
77
|
+
/** Joined data from `data:` lines (joined with newline for multi-line) */
|
|
78
|
+
data: string;
|
|
79
|
+
/** Event ID from the `id:` field (empty string if not set) */
|
|
80
|
+
id: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Concrete HumanDecisionHandler that communicates with the Humancy
|
|
84
|
+
* Cloud API's decision endpoints to request and await human decisions.
|
|
85
|
+
*/
|
|
86
|
+
export declare class HumancyApiDecisionHandler implements HumanDecisionHandler {
|
|
87
|
+
private readonly config;
|
|
88
|
+
private readonly logger;
|
|
89
|
+
constructor(config: HumancyApiHandlerConfig, logger?: HandlerLogger);
|
|
90
|
+
/**
|
|
91
|
+
* Maps a workflow-engine ReviewDecisionRequest to the Humancy Cloud API's
|
|
92
|
+
* POST /decisions payload (CreateDecisionInput shape).
|
|
93
|
+
*
|
|
94
|
+
* Field mapping:
|
|
95
|
+
* title → question
|
|
96
|
+
* description → context (with workflow/step metadata)
|
|
97
|
+
* artifact → appended to context
|
|
98
|
+
* options → options (requiresComment → description hint)
|
|
99
|
+
* urgency → urgency (low/normal → when_available)
|
|
100
|
+
* type → type ('review')
|
|
101
|
+
* config.agentId → agentId
|
|
102
|
+
* config.projectId → projectId
|
|
103
|
+
* timeout+5min → expiresAt
|
|
104
|
+
*/
|
|
105
|
+
private mapRequestToPayload;
|
|
106
|
+
/**
|
|
107
|
+
* Maps a Humancy Cloud API decision:resolved event response back to the
|
|
108
|
+
* workflow engine's ReviewDecisionResponse format.
|
|
109
|
+
*
|
|
110
|
+
* Response mapping:
|
|
111
|
+
* selectedOptionId === first option → approved: true
|
|
112
|
+
* selectedOptionId !== first option → approved: false, decision: selectedOptionId
|
|
113
|
+
* customResponse → input (free-text response)
|
|
114
|
+
* respondedAt → respondedAt
|
|
115
|
+
*/
|
|
116
|
+
private mapResolvedEvent;
|
|
117
|
+
/**
|
|
118
|
+
* Async generator that parses SSE text protocol from a fetch Response body.
|
|
119
|
+
*
|
|
120
|
+
* Reads the streaming body via `getReader()`, splits on newlines, and
|
|
121
|
+
* interprets SSE fields:
|
|
122
|
+
* - `event: <type>` — sets the event type
|
|
123
|
+
* - `data: <payload>` — appends to data buffer (multi-line joined with \n)
|
|
124
|
+
* - `id: <value>` — sets the event ID and updates lastEventId
|
|
125
|
+
* - `:<comment>` — ignored (used for heartbeats)
|
|
126
|
+
* - empty line — dispatches the accumulated event
|
|
127
|
+
*
|
|
128
|
+
* Tracks `lastEventId` on the instance for reconnection support.
|
|
129
|
+
*/
|
|
130
|
+
private lastEventId;
|
|
131
|
+
parseSSEStream(body: ReadableStream<Uint8Array>): AsyncGenerator<ParsedSSEEvent>;
|
|
132
|
+
/**
|
|
133
|
+
* Connects to the Humancy Cloud API's SSE endpoint and yields parsed events,
|
|
134
|
+
* automatically reconnecting on stream errors or unexpected closes.
|
|
135
|
+
*
|
|
136
|
+
* Uses `GET {apiUrl}/decisions/events?token={authToken}` with:
|
|
137
|
+
* - Auth via `token` query parameter (Humancy SSE auth convention)
|
|
138
|
+
* - `Last-Event-ID` header on reconnection attempts
|
|
139
|
+
* - `Accept: text/event-stream` header
|
|
140
|
+
*
|
|
141
|
+
* The generator transparently reconnects up to `maxReconnectAttempts` times
|
|
142
|
+
* with a delay of `sseReconnectDelay` ms between attempts. Each reconnection
|
|
143
|
+
* sends the last received event ID so the server can replay missed events.
|
|
144
|
+
*
|
|
145
|
+
* Cancellation is supported via the provided `AbortSignal` — when aborted,
|
|
146
|
+
* the current fetch is cancelled and the generator returns cleanly.
|
|
147
|
+
*/
|
|
148
|
+
connectSSE(signal: AbortSignal): AsyncGenerator<ParsedSSEEvent>;
|
|
149
|
+
/**
|
|
150
|
+
* Delay helper that respects AbortSignal for cancellation.
|
|
151
|
+
* Resolves after `ms` milliseconds, or immediately if the signal is aborted.
|
|
152
|
+
*/
|
|
153
|
+
private delay;
|
|
154
|
+
/**
|
|
155
|
+
* Request a human decision via the Humancy Cloud API.
|
|
156
|
+
*
|
|
157
|
+
* Flow:
|
|
158
|
+
* 1. Map ReviewDecisionRequest → CreateDecisionPayload
|
|
159
|
+
* 2. POST /decisions to create the decision
|
|
160
|
+
* 3. On POST failure → fall back to simulation if configured
|
|
161
|
+
* 4. Connect to SSE stream and wait for decision:resolved matching the decision ID
|
|
162
|
+
* 5. Extract response from the event data
|
|
163
|
+
* 6. Map response → ReviewDecisionResponse
|
|
164
|
+
* 7. Clean up timeout timer and SSE connection
|
|
165
|
+
*
|
|
166
|
+
* Throws CorrelationTimeoutError if the timeout elapses before a response.
|
|
167
|
+
*/
|
|
168
|
+
requestDecision(request: ReviewDecisionRequest, timeout: number): Promise<ReviewDecisionResponse>;
|
|
169
|
+
/**
|
|
170
|
+
* Connects to SSE and waits for a `decision:resolved` event whose
|
|
171
|
+
* `data.id` matches the given decisionId. Returns the mapped response.
|
|
172
|
+
*
|
|
173
|
+
* Humancy Cloud API SSE event format:
|
|
174
|
+
* event: decision:resolved
|
|
175
|
+
* id: evt_<timestamp>_<random>
|
|
176
|
+
* data: { id, type, urgency, preview, projectId, status, response }
|
|
177
|
+
*/
|
|
178
|
+
private waitForResolution;
|
|
179
|
+
/**
|
|
180
|
+
* Handles POST /decisions failures with optional simulation fallback.
|
|
181
|
+
*
|
|
182
|
+
* Fallback rules:
|
|
183
|
+
* - Network errors (connection refused, DNS, fetch errors) → fall back if configured
|
|
184
|
+
* - 5xx server errors → fall back if configured
|
|
185
|
+
* - 4xx client errors → always throw (misconfiguration, fail loudly)
|
|
186
|
+
* - fallbackToSimulation=false → always throw
|
|
187
|
+
*/
|
|
188
|
+
private handlePostFailure;
|
|
189
|
+
}
|
|
190
|
+
export {};
|
|
191
|
+
//# sourceMappingURL=humancy-api-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humancy-api-handler.d.ts","sourceRoot":"","sources":["../../../src/actions/builtin/humancy-api-handler.ts"],"names":[],"mappings":"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"}
|