@diff-review-system/drs 4.0.0-rc.4 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pi/agents/describe/pr-describer.md +14 -0
- package/.pi/agents/review/unified-reviewer.md +33 -7
- package/.pi/agents/task/agents-md-updater.md +3 -1
- package/.pi/agents/task/review-assistant.md +22 -0
- package/.pi/agents/task/review-issue-fixer.md +18 -1
- package/.pi/agents/visual/pr-explainer.md +205 -0
- package/.pi/workflows/github-pr-describe.yaml +10 -7
- package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +154 -0
- package/.pi/workflows/github-pr-post-comment.yaml +10 -10
- package/.pi/workflows/github-pr-review-post.yaml +18 -8
- package/.pi/workflows/github-pr-review.yaml +354 -7
- package/.pi/workflows/github-pr-show-changes.yaml +8 -8
- package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
- package/.pi/workflows/github-pr-visual-explain.yaml +80 -0
- package/.pi/workflows/gitlab-mr-describe.yaml +8 -5
- package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +150 -0
- package/.pi/workflows/gitlab-mr-post-comment.yaml +8 -8
- package/.pi/workflows/gitlab-mr-review.yaml +354 -5
- package/.pi/workflows/gitlab-mr-show-changes.yaml +6 -6
- package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
- package/.pi/workflows/gitlab-mr-visual-explain.yaml +78 -0
- package/.pi/workflows/local-fix-review-issues.yaml +89 -13
- package/.pi/workflows/local-review.yaml +15 -2
- package/.pi/workflows/local-update-agents-md.yaml +1 -1
- package/.pi/workflows/local-visual-explain.yaml +76 -0
- package/.pi/workflows/release-changelog-finalize.yaml +47 -0
- package/.pi/workflows/tag-changelog-update.yaml +4 -4
- package/.pi/workflows/temporal-control-smoke.yaml +63 -0
- package/README.md +130 -27
- package/dist/ci/runner.d.ts.map +1 -1
- package/dist/ci/runner.js +3 -1
- package/dist/ci/runner.js.map +1 -1
- package/dist/cli/index.js +258 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +6 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +29 -10
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/run-agent.d.ts +4 -7
- package/dist/cli/run-agent.d.ts.map +1 -1
- package/dist/cli/run-agent.js +4 -0
- package/dist/cli/run-agent.js.map +1 -1
- package/dist/cli/workflow-executor-selection.d.ts +3 -0
- package/dist/cli/workflow-executor-selection.d.ts.map +1 -0
- package/dist/cli/workflow-executor-selection.js +15 -0
- package/dist/cli/workflow-executor-selection.js.map +1 -0
- package/dist/cli/workflow.d.ts +76 -26
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +1624 -192
- package/dist/cli/workflow.js.map +1 -1
- package/dist/github/client.d.ts +12 -0
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +27 -0
- package/dist/github/client.js.map +1 -1
- package/dist/github/platform-adapter.d.ts +6 -1
- package/dist/github/platform-adapter.d.ts.map +1 -1
- package/dist/github/platform-adapter.js +84 -8
- package/dist/github/platform-adapter.js.map +1 -1
- package/dist/gitlab/client.d.ts +11 -0
- package/dist/gitlab/client.d.ts.map +1 -1
- package/dist/gitlab/client.js +11 -0
- package/dist/gitlab/client.js.map +1 -1
- package/dist/gitlab/platform-adapter.d.ts +3 -1
- package/dist/gitlab/platform-adapter.d.ts.map +1 -1
- package/dist/gitlab/platform-adapter.js +32 -1
- package/dist/gitlab/platform-adapter.js.map +1 -1
- package/dist/lib/agent-result.d.ts +8 -0
- package/dist/lib/agent-result.d.ts.map +1 -0
- package/dist/lib/agent-result.js +2 -0
- package/dist/lib/agent-result.js.map +1 -0
- package/dist/lib/comment-formatter.d.ts +8 -0
- package/dist/lib/comment-formatter.d.ts.map +1 -1
- package/dist/lib/comment-formatter.js +12 -4
- package/dist/lib/comment-formatter.js.map +1 -1
- package/dist/lib/comment-poster.d.ts.map +1 -1
- package/dist/lib/comment-poster.js +28 -1
- package/dist/lib/comment-poster.js.map +1 -1
- package/dist/lib/config.d.ts +71 -11
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +163 -28
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-compression.d.ts +10 -0
- package/dist/lib/context-compression.d.ts.map +1 -1
- package/dist/lib/context-compression.js +101 -13
- package/dist/lib/context-compression.js.map +1 -1
- package/dist/lib/context-loader.d.ts +2 -1
- package/dist/lib/context-loader.d.ts.map +1 -1
- package/dist/lib/context-loader.js +70 -1
- package/dist/lib/context-loader.js.map +1 -1
- package/dist/lib/describe-core.d.ts.map +1 -1
- package/dist/lib/describe-core.js +3 -2
- package/dist/lib/describe-core.js.map +1 -1
- package/dist/lib/diff-lines.d.ts +9 -0
- package/dist/lib/diff-lines.d.ts.map +1 -1
- package/dist/lib/diff-lines.js +17 -9
- package/dist/lib/diff-lines.js.map +1 -1
- package/dist/lib/exit.js +4 -4
- package/dist/lib/exit.js.map +1 -1
- package/dist/lib/html-artifact.d.ts +14 -0
- package/dist/lib/html-artifact.d.ts.map +1 -0
- package/dist/lib/html-artifact.js +59 -0
- package/dist/lib/html-artifact.js.map +1 -0
- package/dist/lib/issue-parser.js +3 -3
- package/dist/lib/issue-parser.js.map +1 -1
- package/dist/lib/json-output-schema.d.ts +70 -0
- package/dist/lib/json-output-schema.d.ts.map +1 -1
- package/dist/lib/json-output-schema.js +40 -0
- package/dist/lib/json-output-schema.js.map +1 -1
- package/dist/lib/output-paths.d.ts +0 -1
- package/dist/lib/output-paths.d.ts.map +1 -1
- package/dist/lib/output-paths.js +0 -1
- package/dist/lib/output-paths.js.map +1 -1
- package/dist/lib/platform-client.d.ts +26 -0
- package/dist/lib/platform-client.d.ts.map +1 -1
- package/dist/lib/project-setup.d.ts +10 -0
- package/dist/lib/project-setup.d.ts.map +1 -0
- package/dist/lib/project-setup.js +25 -0
- package/dist/lib/project-setup.js.map +1 -0
- package/dist/lib/review-artifact-store.d.ts +16 -0
- package/dist/lib/review-artifact-store.d.ts.map +1 -0
- package/dist/lib/review-artifact-store.js +84 -0
- package/dist/lib/review-artifact-store.js.map +1 -0
- package/dist/lib/review-artifact.d.ts +69 -0
- package/dist/lib/review-artifact.d.ts.map +1 -0
- package/dist/lib/review-artifact.js +172 -0
- package/dist/lib/review-artifact.js.map +1 -0
- package/dist/lib/review-core.d.ts +7 -4
- package/dist/lib/review-core.d.ts.map +1 -1
- package/dist/lib/review-core.js +82 -165
- package/dist/lib/review-core.js.map +1 -1
- package/dist/lib/review-orchestrator.d.ts +23 -0
- package/dist/lib/review-orchestrator.d.ts.map +1 -1
- package/dist/lib/review-orchestrator.js +20 -13
- package/dist/lib/review-orchestrator.js.map +1 -1
- package/dist/lib/review-parser.d.ts.map +1 -1
- package/dist/lib/review-parser.js +15 -12
- package/dist/lib/review-parser.js.map +1 -1
- package/dist/lib/review-usage.d.ts +4 -0
- package/dist/lib/review-usage.d.ts.map +1 -1
- package/dist/lib/review-usage.js +25 -0
- package/dist/lib/review-usage.js.map +1 -1
- package/dist/lib/skills.d.ts +16 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +140 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/lib/trace-collector.d.ts +105 -0
- package/dist/lib/trace-collector.d.ts.map +1 -0
- package/dist/lib/trace-collector.js +255 -0
- package/dist/lib/trace-collector.js.map +1 -0
- package/dist/lib/trace-html.d.ts +3 -0
- package/dist/lib/trace-html.d.ts.map +1 -0
- package/dist/lib/trace-html.js +349 -0
- package/dist/lib/trace-html.js.map +1 -0
- package/dist/lib/workflow/artifact-store.d.ts +71 -0
- package/dist/lib/workflow/artifact-store.d.ts.map +1 -0
- package/dist/lib/workflow/artifact-store.js +121 -0
- package/dist/lib/workflow/artifact-store.js.map +1 -0
- package/dist/lib/workflow/compiled-plan.d.ts +87 -0
- package/dist/lib/workflow/compiled-plan.d.ts.map +1 -0
- package/dist/lib/workflow/compiled-plan.js +62 -0
- package/dist/lib/workflow/compiled-plan.js.map +1 -0
- package/dist/lib/workflow/executor.d.ts +18 -0
- package/dist/lib/workflow/executor.d.ts.map +1 -0
- package/dist/lib/workflow/executor.js +2 -0
- package/dist/lib/workflow/executor.js.map +1 -0
- package/dist/lib/workflow/graph.d.ts +30 -0
- package/dist/lib/workflow/graph.d.ts.map +1 -0
- package/dist/lib/workflow/graph.js +139 -0
- package/dist/lib/workflow/graph.js.map +1 -0
- package/dist/lib/workflow/input.d.ts +4 -0
- package/dist/lib/workflow/input.d.ts.map +1 -0
- package/dist/lib/workflow/input.js +4 -0
- package/dist/lib/workflow/input.js.map +1 -0
- package/dist/lib/workflow/node-executor.d.ts +19 -0
- package/dist/lib/workflow/node-executor.d.ts.map +1 -0
- package/dist/lib/workflow/node-executor.js +2 -0
- package/dist/lib/workflow/node-executor.js.map +1 -0
- package/dist/lib/workflow/planning.d.ts +51 -0
- package/dist/lib/workflow/planning.d.ts.map +1 -0
- package/dist/lib/workflow/planning.js +814 -0
- package/dist/lib/workflow/planning.js.map +1 -0
- package/dist/lib/workflow/types.d.ts +66 -0
- package/dist/lib/workflow/types.d.ts.map +1 -0
- package/dist/lib/workflow/types.js +2 -0
- package/dist/lib/workflow/types.js.map +1 -0
- package/dist/lib/workflow-artifacts.d.ts +54 -0
- package/dist/lib/workflow-artifacts.d.ts.map +1 -0
- package/dist/lib/workflow-artifacts.js +150 -0
- package/dist/lib/workflow-artifacts.js.map +1 -0
- package/dist/lib/write-json-output.d.ts.map +1 -1
- package/dist/lib/write-json-output.js +3 -8
- package/dist/lib/write-json-output.js.map +1 -1
- package/dist/pi/sdk.d.ts.map +1 -1
- package/dist/pi/sdk.js +576 -8
- package/dist/pi/sdk.js.map +1 -1
- package/dist/runtime/agent-loader.js +2 -2
- package/dist/runtime/built-in-paths.d.ts +1 -0
- package/dist/runtime/built-in-paths.d.ts.map +1 -1
- package/dist/runtime/built-in-paths.js +7 -0
- package/dist/runtime/built-in-paths.js.map +1 -1
- package/dist/runtime/client.d.ts +2 -0
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +11 -5
- package/dist/runtime/client.js.map +1 -1
- package/dist/temporal/activities.d.ts +26 -0
- package/dist/temporal/activities.d.ts.map +1 -0
- package/dist/temporal/activities.js +219 -0
- package/dist/temporal/activities.js.map +1 -0
- package/dist/temporal/config.d.ts +4 -0
- package/dist/temporal/config.d.ts.map +1 -0
- package/dist/temporal/config.js +36 -0
- package/dist/temporal/config.js.map +1 -0
- package/dist/temporal/executor.d.ts +7 -0
- package/dist/temporal/executor.d.ts.map +1 -0
- package/dist/temporal/executor.js +233 -0
- package/dist/temporal/executor.js.map +1 -0
- package/dist/temporal/retry-policy.d.ts +28 -0
- package/dist/temporal/retry-policy.d.ts.map +1 -0
- package/dist/temporal/retry-policy.js +56 -0
- package/dist/temporal/retry-policy.js.map +1 -0
- package/dist/temporal/types.d.ts +86 -0
- package/dist/temporal/types.d.ts.map +1 -0
- package/dist/temporal/types.js +2 -0
- package/dist/temporal/types.js.map +1 -0
- package/dist/temporal/worker.d.ts +3 -0
- package/dist/temporal/worker.d.ts.map +1 -0
- package/dist/temporal/worker.js +18 -0
- package/dist/temporal/worker.js.map +1 -0
- package/dist/temporal/workflow-id.d.ts +27 -0
- package/dist/temporal/workflow-id.d.ts.map +1 -0
- package/dist/temporal/workflow-id.js +53 -0
- package/dist/temporal/workflow-id.js.map +1 -0
- package/dist/temporal/workflows.d.ts +6 -0
- package/dist/temporal/workflows.d.ts.map +1 -0
- package/dist/temporal/workflows.js +342 -0
- package/dist/temporal/workflows.js.map +1 -0
- package/package.json +26 -15
- package/.pi/workflows/github-pr-describe-post.yaml +0 -24
- package/.pi/workflows/gitlab-mr-describe-post.yaml +0 -22
- package/.pi/workflows/gitlab-mr-review-code-quality.yaml +0 -31
- package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +0 -40
- package/.pi/workflows/gitlab-mr-review-post.yaml +0 -30
- package/.pi/workflows/local-staged-review.yaml +0 -17
- package/dist/cli/run-agent.test.d.ts +0 -2
- package/dist/cli/run-agent.test.d.ts.map +0 -1
- package/dist/cli/run-agent.test.js +0 -204
- package/dist/cli/run-agent.test.js.map +0 -1
- package/dist/cli/workflow.test.d.ts +0 -2
- package/dist/cli/workflow.test.d.ts.map +0 -1
- package/dist/cli/workflow.test.js +0 -1410
- package/dist/cli/workflow.test.js.map +0 -1
- package/dist/github/client.test.d.ts +0 -2
- package/dist/github/client.test.d.ts.map +0 -1
- package/dist/github/client.test.js +0 -206
- package/dist/github/client.test.js.map +0 -1
- package/dist/github/platform-adapter.test.d.ts +0 -2
- package/dist/github/platform-adapter.test.d.ts.map +0 -1
- package/dist/github/platform-adapter.test.js +0 -40
- package/dist/github/platform-adapter.test.js.map +0 -1
- package/dist/gitlab/diff-parser.test.d.ts +0 -2
- package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
- package/dist/gitlab/diff-parser.test.js +0 -315
- package/dist/gitlab/diff-parser.test.js.map +0 -1
- package/dist/gitlab/platform-adapter.test.d.ts +0 -2
- package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
- package/dist/gitlab/platform-adapter.test.js +0 -21
- package/dist/gitlab/platform-adapter.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -7
- package/dist/index.test.js.map +0 -1
- package/dist/lib/code-quality-report.test.d.ts +0 -2
- package/dist/lib/code-quality-report.test.d.ts.map +0 -1
- package/dist/lib/code-quality-report.test.js +0 -327
- package/dist/lib/code-quality-report.test.js.map +0 -1
- package/dist/lib/comment-formatter.test.d.ts +0 -2
- package/dist/lib/comment-formatter.test.d.ts.map +0 -1
- package/dist/lib/comment-formatter.test.js +0 -727
- package/dist/lib/comment-formatter.test.js.map +0 -1
- package/dist/lib/comment-manager.test.d.ts +0 -2
- package/dist/lib/comment-manager.test.d.ts.map +0 -1
- package/dist/lib/comment-manager.test.js +0 -680
- package/dist/lib/comment-manager.test.js.map +0 -1
- package/dist/lib/comment-poster.test.d.ts +0 -5
- package/dist/lib/comment-poster.test.d.ts.map +0 -1
- package/dist/lib/comment-poster.test.js +0 -255
- package/dist/lib/comment-poster.test.js.map +0 -1
- package/dist/lib/config-model-overrides.test.d.ts +0 -2
- package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
- package/dist/lib/config-model-overrides.test.js +0 -218
- package/dist/lib/config-model-overrides.test.js.map +0 -1
- package/dist/lib/config.test.d.ts +0 -2
- package/dist/lib/config.test.d.ts.map +0 -1
- package/dist/lib/config.test.js +0 -353
- package/dist/lib/config.test.js.map +0 -1
- package/dist/lib/context-compression.test.d.ts +0 -2
- package/dist/lib/context-compression.test.d.ts.map +0 -1
- package/dist/lib/context-compression.test.js +0 -337
- package/dist/lib/context-compression.test.js.map +0 -1
- package/dist/lib/context-loader.test.d.ts +0 -2
- package/dist/lib/context-loader.test.d.ts.map +0 -1
- package/dist/lib/context-loader.test.js +0 -212
- package/dist/lib/context-loader.test.js.map +0 -1
- package/dist/lib/cursor-fix-link.test.d.ts +0 -2
- package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
- package/dist/lib/cursor-fix-link.test.js +0 -70
- package/dist/lib/cursor-fix-link.test.js.map +0 -1
- package/dist/lib/describe-core.test.d.ts +0 -2
- package/dist/lib/describe-core.test.d.ts.map +0 -1
- package/dist/lib/describe-core.test.js +0 -208
- package/dist/lib/describe-core.test.js.map +0 -1
- package/dist/lib/describe-output-path.test.d.ts +0 -2
- package/dist/lib/describe-output-path.test.d.ts.map +0 -1
- package/dist/lib/describe-output-path.test.js +0 -51
- package/dist/lib/describe-output-path.test.js.map +0 -1
- package/dist/lib/describe-parser.test.d.ts +0 -2
- package/dist/lib/describe-parser.test.d.ts.map +0 -1
- package/dist/lib/describe-parser.test.js +0 -282
- package/dist/lib/describe-parser.test.js.map +0 -1
- package/dist/lib/description-executor.test.d.ts +0 -2
- package/dist/lib/description-executor.test.d.ts.map +0 -1
- package/dist/lib/description-executor.test.js +0 -135
- package/dist/lib/description-executor.test.js.map +0 -1
- package/dist/lib/description-formatter.test.d.ts +0 -2
- package/dist/lib/description-formatter.test.d.ts.map +0 -1
- package/dist/lib/description-formatter.test.js +0 -57
- package/dist/lib/description-formatter.test.js.map +0 -1
- package/dist/lib/diff-lines.test.d.ts +0 -2
- package/dist/lib/diff-lines.test.d.ts.map +0 -1
- package/dist/lib/diff-lines.test.js +0 -13
- package/dist/lib/diff-lines.test.js.map +0 -1
- package/dist/lib/diff-parser.test.d.ts +0 -2
- package/dist/lib/diff-parser.test.d.ts.map +0 -1
- package/dist/lib/diff-parser.test.js +0 -335
- package/dist/lib/diff-parser.test.js.map +0 -1
- package/dist/lib/error-comment-poster.test.d.ts +0 -2
- package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
- package/dist/lib/error-comment-poster.test.js +0 -128
- package/dist/lib/error-comment-poster.test.js.map +0 -1
- package/dist/lib/exit.test.d.ts +0 -2
- package/dist/lib/exit.test.d.ts.map +0 -1
- package/dist/lib/exit.test.js +0 -120
- package/dist/lib/exit.test.js.map +0 -1
- package/dist/lib/issue-parser.test.d.ts +0 -2
- package/dist/lib/issue-parser.test.d.ts.map +0 -1
- package/dist/lib/issue-parser.test.js +0 -281
- package/dist/lib/issue-parser.test.js.map +0 -1
- package/dist/lib/json-output-schema.test.d.ts +0 -2
- package/dist/lib/json-output-schema.test.d.ts.map +0 -1
- package/dist/lib/json-output-schema.test.js +0 -92
- package/dist/lib/json-output-schema.test.js.map +0 -1
- package/dist/lib/json-output.test.d.ts +0 -2
- package/dist/lib/json-output.test.d.ts.map +0 -1
- package/dist/lib/json-output.test.js +0 -141
- package/dist/lib/json-output.test.js.map +0 -1
- package/dist/lib/logger.test.d.ts +0 -2
- package/dist/lib/logger.test.d.ts.map +0 -1
- package/dist/lib/logger.test.js +0 -324
- package/dist/lib/logger.test.js.map +0 -1
- package/dist/lib/position-validator.test.d.ts +0 -2
- package/dist/lib/position-validator.test.d.ts.map +0 -1
- package/dist/lib/position-validator.test.js +0 -128
- package/dist/lib/position-validator.test.js.map +0 -1
- package/dist/lib/prompt-budget.test.d.ts +0 -2
- package/dist/lib/prompt-budget.test.d.ts.map +0 -1
- package/dist/lib/prompt-budget.test.js +0 -55
- package/dist/lib/prompt-budget.test.js.map +0 -1
- package/dist/lib/repository-validator.test.d.ts +0 -5
- package/dist/lib/repository-validator.test.d.ts.map +0 -1
- package/dist/lib/repository-validator.test.js +0 -341
- package/dist/lib/repository-validator.test.js.map +0 -1
- package/dist/lib/review-core.test.d.ts +0 -2
- package/dist/lib/review-core.test.d.ts.map +0 -1
- package/dist/lib/review-core.test.js +0 -614
- package/dist/lib/review-core.test.js.map +0 -1
- package/dist/lib/review-orchestrator.test.d.ts +0 -2
- package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
- package/dist/lib/review-orchestrator.test.js +0 -552
- package/dist/lib/review-orchestrator.test.js.map +0 -1
- package/dist/lib/review-output-path.test.d.ts +0 -2
- package/dist/lib/review-output-path.test.d.ts.map +0 -1
- package/dist/lib/review-output-path.test.js +0 -83
- package/dist/lib/review-output-path.test.js.map +0 -1
- package/dist/lib/review-parser.test.d.ts +0 -2
- package/dist/lib/review-parser.test.d.ts.map +0 -1
- package/dist/lib/review-parser.test.js +0 -130
- package/dist/lib/review-parser.test.js.map +0 -1
- package/dist/lib/review-usage.test.d.ts +0 -2
- package/dist/lib/review-usage.test.d.ts.map +0 -1
- package/dist/lib/review-usage.test.js +0 -83
- package/dist/lib/review-usage.test.js.map +0 -1
- package/dist/lib/unified-review-executor.d.ts +0 -58
- package/dist/lib/unified-review-executor.d.ts.map +0 -1
- package/dist/lib/unified-review-executor.js +0 -201
- package/dist/lib/unified-review-executor.js.map +0 -1
- package/dist/lib/unified-review-executor.test.d.ts +0 -5
- package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
- package/dist/lib/unified-review-executor.test.js +0 -472
- package/dist/lib/unified-review-executor.test.js.map +0 -1
- package/dist/lib/write-json-output.test.d.ts +0 -2
- package/dist/lib/write-json-output.test.d.ts.map +0 -1
- package/dist/lib/write-json-output.test.js +0 -259
- package/dist/lib/write-json-output.test.js.map +0 -1
- package/dist/pi/sdk.test.d.ts +0 -2
- package/dist/pi/sdk.test.d.ts.map +0 -1
- package/dist/pi/sdk.test.js +0 -488
- package/dist/pi/sdk.test.js.map +0 -1
- package/dist/runtime/agent-loader.test.d.ts +0 -2
- package/dist/runtime/agent-loader.test.d.ts.map +0 -1
- package/dist/runtime/agent-loader.test.js +0 -277
- package/dist/runtime/agent-loader.test.js.map +0 -1
- package/dist/runtime/client.test.d.ts +0 -2
- package/dist/runtime/client.test.d.ts.map +0 -1
- package/dist/runtime/client.test.js +0 -772
- package/dist/runtime/client.test.js.map +0 -1
- package/dist/runtime/path-config.test.d.ts +0 -2
- package/dist/runtime/path-config.test.d.ts.map +0 -1
- package/dist/runtime/path-config.test.js +0 -112
- package/dist/runtime/path-config.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../../src/temporal/activities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAU3C,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,yBAAyB;IAChC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzC,MAAM,mBAAmB,GACvB,UAAU,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5C,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC9C,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClE,UAAU,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAExD,MAAM,YAAY,GAChB,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC1C,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC1C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACzC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9B,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE3C,OAAO,mBAAmB,IAAI,YAAY,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAmC;IAEnC,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC3C,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,yBAAyB,EAAE,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC;QAC9D,cAAc,EAAE,SAAS,CAAC,cAAc;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,EACjC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAC7B,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;QACnC,OAAO;KACR,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,UAAU,CAAC,CAAC;IACrE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAmC;IAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,kBAAkB,EAAE,UAAU;QAC1C,KAAK,EAAE,kBAAkB,EAAE,KAAK;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,kBAAkB,EAAE,OAAO;QACpC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;KACxB,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;IAEtD,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV;YACE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa;YAC3C,kBAAkB;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK;SACb,EACD,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,OAAO,CACd,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB;YACxC,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;gBACnD,IAAI,EAAE,kBAAkB;gBACxB,cAAc,EAAE,KAAK,CAAC,sBAAsB,IAAI,EAAE,GAAG,IAAI;aAC1D,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC;QAEX,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,UAAU,EAAE;YACtD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,SAAS;SACxC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,UAAU,EAAE;YACnD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,kBAAkB,CAAC,YAAY,CACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAA0B,EAC1B,MAAc,EACd,KAAiC,EACjC,MAA8B;IAE9B,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,SAAqC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IACE,KAAK,KAAK,SAAS;gBACnB,KAAK,KAAK,IAAI;gBACd,CAAC,aAAa,CAAC,KAAK,CAAC;gBACrB,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAC5C,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,YAAY,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChF,IAAI,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,cAAc,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC;QACD,SAAgD,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACnF,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAuC;IAEvC,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgC,EAChC,KAAiC;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/temporal/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA4BvE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const DEFAULT_TEMPORAL_CONFIG = {
|
|
2
|
+
address: 'localhost:7233',
|
|
3
|
+
namespace: 'default',
|
|
4
|
+
taskQueue: 'drs-workflows',
|
|
5
|
+
workflowIdPrefix: 'drs',
|
|
6
|
+
workspace: {
|
|
7
|
+
mode: 'local',
|
|
8
|
+
root: '/tmp/drs-temporal-workspaces',
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
export function resolveTemporalConfig(config) {
|
|
12
|
+
const configured = config.temporal ?? {};
|
|
13
|
+
const configuredWorkspace = configured.workspace ?? {};
|
|
14
|
+
const envMode = process.env.DRS_TEMPORAL_WORKSPACE_MODE;
|
|
15
|
+
const mode = envMode === 'managed' || envMode === 'local' ? envMode : configuredWorkspace.mode;
|
|
16
|
+
return {
|
|
17
|
+
...DEFAULT_TEMPORAL_CONFIG,
|
|
18
|
+
...configured,
|
|
19
|
+
address: process.env.DRS_TEMPORAL_ADDRESS ?? configured.address ?? DEFAULT_TEMPORAL_CONFIG.address,
|
|
20
|
+
namespace: process.env.DRS_TEMPORAL_NAMESPACE ??
|
|
21
|
+
configured.namespace ??
|
|
22
|
+
DEFAULT_TEMPORAL_CONFIG.namespace,
|
|
23
|
+
taskQueue: process.env.DRS_TEMPORAL_TASK_QUEUE ??
|
|
24
|
+
configured.taskQueue ??
|
|
25
|
+
DEFAULT_TEMPORAL_CONFIG.taskQueue,
|
|
26
|
+
workspace: {
|
|
27
|
+
...DEFAULT_TEMPORAL_CONFIG.workspace,
|
|
28
|
+
...configuredWorkspace,
|
|
29
|
+
...(mode ? { mode } : {}),
|
|
30
|
+
...(process.env.DRS_TEMPORAL_WORKSPACE_ROOT
|
|
31
|
+
? { root: process.env.DRS_TEMPORAL_WORKSPACE_ROOT }
|
|
32
|
+
: {}),
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/temporal/config.ts"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAAmB;IAC9C,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,8BAA8B;KACrC;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;IAE/F,OAAO;QACL,GAAG,uBAAuB;QAC1B,GAAG,UAAU;QACb,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAC,OAAO,IAAI,uBAAuB,CAAC,OAAO;QAC3F,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,sBAAsB;YAClC,UAAU,CAAC,SAAS;YACpB,uBAAuB,CAAC,SAAS;QACnC,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,uBAAuB;YACnC,UAAU,CAAC,SAAS;YACpB,uBAAuB,CAAC,SAAS;QACnC,SAAS,EAAE;YACT,GAAG,uBAAuB,CAAC,SAAS;YACpC,GAAG,mBAAmB;YACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBACzC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DRSConfig } from '../lib/config.js';
|
|
2
|
+
import type { WorkflowExecutor } from '../lib/workflow/executor.js';
|
|
3
|
+
import type { WorkflowRunOptions, WorkflowRunResult } from '../lib/workflow/types.js';
|
|
4
|
+
export declare class TemporalWorkflowExecutor implements WorkflowExecutor {
|
|
5
|
+
run(config: DRSConfig, workflowName: string, options?: WorkflowRunOptions): Promise<WorkflowRunResult>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/temporal/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAkLtF,qBAAa,wBAAyB,YAAW,gBAAgB;IACzD,GAAG,CACP,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CA2H9B"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from 'fs/promises';
|
|
2
|
+
import { dirname } from 'path';
|
|
3
|
+
import { Connection, Client, WorkflowExecutionAlreadyStartedError } from '@temporalio/client';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import simpleGit from 'simple-git';
|
|
6
|
+
import { getLogger } from '../lib/logger.js';
|
|
7
|
+
import { resolveWithinWorkingDir } from '../lib/path-utils.js';
|
|
8
|
+
import { saveWorkflowArtifact } from '../lib/workflow-artifacts.js';
|
|
9
|
+
import { compileWorkflowPlan } from '../lib/workflow/compiled-plan.js';
|
|
10
|
+
import { normalizeWorkflowBooleanLike } from '../lib/workflow/planning.js';
|
|
11
|
+
import { resolveTemporalConfig } from './config.js';
|
|
12
|
+
import { deriveTemporalWorkflowId } from './workflow-id.js';
|
|
13
|
+
async function writeWorkflowFile(workingDir, outputPath, content) {
|
|
14
|
+
const resolved = resolveWithinWorkingDir(workingDir, outputPath, 'write');
|
|
15
|
+
await mkdir(dirname(resolved), { recursive: true });
|
|
16
|
+
await writeFile(resolved, content, 'utf-8');
|
|
17
|
+
}
|
|
18
|
+
function formatWorkflowJson(result) {
|
|
19
|
+
return JSON.stringify(result, null, 2);
|
|
20
|
+
}
|
|
21
|
+
async function saveTemporalWorkflowTrace(workingDir, workflowName, startedAt, result, temporal, handle, options) {
|
|
22
|
+
const saved = await saveWorkflowArtifact(workingDir, {
|
|
23
|
+
kind: 'trace',
|
|
24
|
+
scope: {
|
|
25
|
+
platform: 'temporal',
|
|
26
|
+
projectId: workflowName,
|
|
27
|
+
subject: 'workflow',
|
|
28
|
+
},
|
|
29
|
+
payload: {
|
|
30
|
+
schemaVersion: 1,
|
|
31
|
+
executor: 'temporal',
|
|
32
|
+
workflowName,
|
|
33
|
+
temporal: {
|
|
34
|
+
workflowId: handle.workflowId,
|
|
35
|
+
runId: handle.firstExecutionRunId,
|
|
36
|
+
namespace: temporal.namespace,
|
|
37
|
+
taskQueue: temporal.taskQueue,
|
|
38
|
+
},
|
|
39
|
+
startedAt,
|
|
40
|
+
completedAt: new Date().toISOString(),
|
|
41
|
+
inputs: result.inputs,
|
|
42
|
+
nodes: result.nodes,
|
|
43
|
+
artifacts: result.artifacts,
|
|
44
|
+
loop: result.loop,
|
|
45
|
+
output: result.output,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
if (!options.jsonOutput) {
|
|
49
|
+
console.log(chalk.green(`\n✓ Temporal trace saved to ${saved.latestPath}`));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function validateResolvedWorkflowInput(key, input, value) {
|
|
53
|
+
if (input.required === true && value.trim() === '') {
|
|
54
|
+
throw new Error(`Workflow input "${key}" is required.`);
|
|
55
|
+
}
|
|
56
|
+
if (input.type === 'boolean') {
|
|
57
|
+
if (normalizeWorkflowBooleanLike(value) === undefined) {
|
|
58
|
+
throw new Error(`Workflow input "${key}" must be a boolean value.`);
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (input.type === 'number') {
|
|
63
|
+
if (value.trim() === '' || !Number.isFinite(Number(value))) {
|
|
64
|
+
throw new Error(`Workflow input "${key}" must be a number.`);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (input.type === 'enum') {
|
|
69
|
+
const allowedValues = input.values?.map(String) ?? [];
|
|
70
|
+
if (allowedValues.length === 0) {
|
|
71
|
+
throw new Error(`Workflow input "${key}" with type enum must define values.`);
|
|
72
|
+
}
|
|
73
|
+
if (!allowedValues.includes(value)) {
|
|
74
|
+
throw new Error(`Workflow input "${key}" must be one of: ${allowedValues.join(', ')}.`);
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (input.type !== 'string') {
|
|
79
|
+
throw new Error(`Workflow input "${key}" has unsupported type "${input.type}".`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async function resolveManagedWorkspaceInput(workingDir, temporal) {
|
|
83
|
+
if (temporal.workspace.mode !== 'managed') {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
const git = simpleGit(workingDir);
|
|
87
|
+
const configuredRepoUrl = process.env.DRS_TEMPORAL_WORKSPACE_REPO_URL;
|
|
88
|
+
const repoUrl = configuredRepoUrl ?? String(await git.remote(['get-url', 'origin']));
|
|
89
|
+
const ref = process.env.DRS_TEMPORAL_WORKSPACE_REF ?? (await git.revparse(['HEAD']));
|
|
90
|
+
return {
|
|
91
|
+
mode: 'managed',
|
|
92
|
+
root: temporal.workspace.root,
|
|
93
|
+
repoUrl: repoUrl.trim(),
|
|
94
|
+
ref: ref.trim(),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
async function resolveCompiledPlanInputs(inputs, options, workingDir) {
|
|
98
|
+
const values = {};
|
|
99
|
+
for (const [key, input] of Object.entries(inputs)) {
|
|
100
|
+
const hasValue = input.value !== undefined || input.default !== undefined;
|
|
101
|
+
const hasFile = input.file !== undefined;
|
|
102
|
+
if (hasValue && hasFile) {
|
|
103
|
+
throw new Error(`Workflow input "${key}" cannot define both value/default and file.`);
|
|
104
|
+
}
|
|
105
|
+
if (hasValue) {
|
|
106
|
+
values[key] = String(input.value ?? input.default ?? '');
|
|
107
|
+
}
|
|
108
|
+
else if (hasFile) {
|
|
109
|
+
const inputPath = resolveWithinWorkingDir(workingDir, input.file ?? '', 'read');
|
|
110
|
+
values[key] = await readFile(inputPath, 'utf-8');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
values[key] = '';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
for (const [key, value] of Object.entries(options.inputs ?? {})) {
|
|
117
|
+
values[key] = value;
|
|
118
|
+
}
|
|
119
|
+
for (const [key, filePath] of Object.entries(options.inputFiles ?? {})) {
|
|
120
|
+
const resolvedPath = resolveWithinWorkingDir(workingDir, filePath, 'read');
|
|
121
|
+
values[key] = await readFile(resolvedPath, 'utf-8');
|
|
122
|
+
}
|
|
123
|
+
for (const [key, input] of Object.entries(inputs)) {
|
|
124
|
+
validateResolvedWorkflowInput(key, input, values[key] ?? '');
|
|
125
|
+
}
|
|
126
|
+
return values;
|
|
127
|
+
}
|
|
128
|
+
export class TemporalWorkflowExecutor {
|
|
129
|
+
async run(config, workflowName, options = {}) {
|
|
130
|
+
const workingDir = options.workingDir ?? process.cwd();
|
|
131
|
+
const temporal = resolveTemporalConfig(config);
|
|
132
|
+
const plan = compileWorkflowPlan(config, workflowName, { workingDir });
|
|
133
|
+
const inputs = await resolveCompiledPlanInputs(plan.inputs, options, workingDir);
|
|
134
|
+
const logger = getLogger();
|
|
135
|
+
const startedAt = new Date().toISOString();
|
|
136
|
+
const connection = await Connection.connect({ address: temporal.address });
|
|
137
|
+
try {
|
|
138
|
+
const client = new Client({ connection, namespace: temporal.namespace });
|
|
139
|
+
const workflowId = options.workflowId ??
|
|
140
|
+
deriveTemporalWorkflowId(temporal.workflowIdPrefix, workflowName, inputs);
|
|
141
|
+
const workspace = await resolveManagedWorkspaceInput(workingDir, temporal);
|
|
142
|
+
const workflowInput = {
|
|
143
|
+
plan,
|
|
144
|
+
inputs,
|
|
145
|
+
workingDir,
|
|
146
|
+
options: {
|
|
147
|
+
debug: options.debug,
|
|
148
|
+
thinkingLevel: options.thinkingLevel,
|
|
149
|
+
},
|
|
150
|
+
...(workspace ? { workspace } : {}),
|
|
151
|
+
};
|
|
152
|
+
let handle;
|
|
153
|
+
let isDuplicate = false;
|
|
154
|
+
try {
|
|
155
|
+
handle = await client.workflow.start('drsWorkflow', {
|
|
156
|
+
taskQueue: temporal.taskQueue,
|
|
157
|
+
workflowId,
|
|
158
|
+
args: [workflowInput],
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
if (error instanceof WorkflowExecutionAlreadyStartedError) {
|
|
163
|
+
isDuplicate = true;
|
|
164
|
+
handle = client.workflow.getHandle(workflowId);
|
|
165
|
+
logger.debug('Temporal workflow already running — joining existing run', {
|
|
166
|
+
component: 'temporal-executor',
|
|
167
|
+
workflow: workflowName,
|
|
168
|
+
workflowId,
|
|
169
|
+
namespace: temporal.namespace,
|
|
170
|
+
taskQueue: temporal.taskQueue,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const runId = handle.firstExecutionRunId ?? '';
|
|
178
|
+
const logContext = {
|
|
179
|
+
component: 'temporal-executor',
|
|
180
|
+
workflow: workflowName,
|
|
181
|
+
workflowId: handle.workflowId,
|
|
182
|
+
runId,
|
|
183
|
+
namespace: temporal.namespace,
|
|
184
|
+
taskQueue: temporal.taskQueue,
|
|
185
|
+
...(isDuplicate ? { duplicate: true } : {}),
|
|
186
|
+
};
|
|
187
|
+
logger.debug(isDuplicate ? 'Temporal workflow already running' : 'Temporal workflow started', logContext);
|
|
188
|
+
if (options.wait === false) {
|
|
189
|
+
const result = {
|
|
190
|
+
timestamp: new Date().toISOString(),
|
|
191
|
+
workflow: workflowName,
|
|
192
|
+
inputs,
|
|
193
|
+
nodes: {},
|
|
194
|
+
artifacts: {},
|
|
195
|
+
loop: {},
|
|
196
|
+
output: {
|
|
197
|
+
workflowId: handle.workflowId,
|
|
198
|
+
runId,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
if (options.jsonOutput) {
|
|
202
|
+
console.log(formatWorkflowJson(result));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
console.log(`Temporal workflow ${isDuplicate ? 'already running' : 'started'}: ${handle.workflowId}${runId ? ` (run ${runId})` : ''}`);
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
const result = await handle.result();
|
|
210
|
+
logger.debug('Temporal workflow completed', logContext);
|
|
211
|
+
if (options.trace) {
|
|
212
|
+
await saveTemporalWorkflowTrace(workingDir, workflowName, startedAt, result, temporal, { workflowId: handle.workflowId, firstExecutionRunId: runId }, options);
|
|
213
|
+
}
|
|
214
|
+
if (options.outputPath) {
|
|
215
|
+
await writeWorkflowFile(workingDir, options.outputPath, formatWorkflowJson(result));
|
|
216
|
+
if (!options.jsonOutput) {
|
|
217
|
+
console.log(chalk.green(`\n✓ Workflow output saved to ${options.outputPath}`));
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (options.jsonOutput) {
|
|
221
|
+
console.log(formatWorkflowJson(result));
|
|
222
|
+
}
|
|
223
|
+
else if (typeof result.output === 'string' && result.output.trim()) {
|
|
224
|
+
console.log(`\n${result.output}`);
|
|
225
|
+
}
|
|
226
|
+
return result;
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
await connection.close();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/temporal/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { WorkflowNodeConfig } from '../lib/config.js';
|
|
2
|
+
import type { RetryPolicy } from '@temporalio/common';
|
|
3
|
+
export type TemporalNodeRetryMode = 'retryable' | 'no-retry';
|
|
4
|
+
export declare const TEMPORAL_NO_RETRY_ACTIONS: Set<NonNullable<"write" | "git-diff" | "git-add" | "git-branch" | "git-commit" | "git-push" | "has-diff" | "stack-guard" | "review-threshold" | "save-artifact" | "load-artifact" | "artifact-exists" | "create-review-artifact" | "review-artifact-status" | "review-artifact-add-finding" | "review-artifact-update-findings" | "verify-fix" | "review-artifact-promote-finding" | "review-artifact-resolve-finding" | "create-change-request" | "create-pr" | "create-mr" | "change-source" | "review" | "review-context" | "describe" | "code-quality-report" | "post-comment" | "post-review-comments" | "post-fix-status" | undefined>>;
|
|
5
|
+
/**
|
|
6
|
+
* Retry policy for retryable DRS workflow activities (read-only actions and
|
|
7
|
+
* non-writing agent nodes).
|
|
8
|
+
*
|
|
9
|
+
* Temporal's default activity retry is effectively unlimited
|
|
10
|
+
* (`maximumAttempts: Infinity`) with exponential backoff. Without an explicit
|
|
11
|
+
* cap, a transiently failing activity (model 5xx, rate limit, network blip)
|
|
12
|
+
* can retry for a very long time. This policy bounds retries so a persistently
|
|
13
|
+
* failing activity fails the workflow in minutes rather than hours or days.
|
|
14
|
+
*
|
|
15
|
+
* - `maximumAttempts: 5` — enough to ride out transient failures, bounded.
|
|
16
|
+
* - `initialInterval: 1s` with `backoffCoefficient: 2` — standard exponential
|
|
17
|
+
* backoff (1s, 2s, 4s, 8s between attempts).
|
|
18
|
+
* - `maximumInterval: 1 minute` — caps backoff growth so later retries don't
|
|
19
|
+
* stall for too long.
|
|
20
|
+
* - `nonRetryableErrorTypes: ['NonRetryableProviderFailure']` —
|
|
21
|
+
* defense-in-depth: provider quota/auth failures are already converted to
|
|
22
|
+
* `ApplicationFailure.nonRetryable` in the activity, but listing the type
|
|
23
|
+
* here ensures Temporal never retries them even if the non-retryable flag
|
|
24
|
+
* is lost in serialization.
|
|
25
|
+
*/
|
|
26
|
+
export declare const TEMPORAL_RETRYABLE_ACTIVITY_POLICY: RetryPolicy;
|
|
27
|
+
export declare function getTemporalNodeRetryMode(node: WorkflowNodeConfig): TemporalNodeRetryMode;
|
|
28
|
+
//# sourceMappingURL=retry-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-policy.d.ts","sourceRoot":"","sources":["../../src/temporal/retry-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,eAAO,MAAM,yBAAyB,+mBAiBpC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kCAAkC,EAAE,WAMhD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,CAUxF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const TEMPORAL_NO_RETRY_ACTIONS = new Set([
|
|
2
|
+
'write',
|
|
3
|
+
'git-add',
|
|
4
|
+
'git-branch',
|
|
5
|
+
'git-commit',
|
|
6
|
+
'git-push',
|
|
7
|
+
'save-artifact',
|
|
8
|
+
'review-artifact-add-finding',
|
|
9
|
+
'review-artifact-update-findings',
|
|
10
|
+
'review-artifact-promote-finding',
|
|
11
|
+
'review-artifact-resolve-finding',
|
|
12
|
+
'create-change-request',
|
|
13
|
+
'create-pr',
|
|
14
|
+
'create-mr',
|
|
15
|
+
'post-comment',
|
|
16
|
+
'post-review-comments',
|
|
17
|
+
'post-fix-status',
|
|
18
|
+
]);
|
|
19
|
+
/**
|
|
20
|
+
* Retry policy for retryable DRS workflow activities (read-only actions and
|
|
21
|
+
* non-writing agent nodes).
|
|
22
|
+
*
|
|
23
|
+
* Temporal's default activity retry is effectively unlimited
|
|
24
|
+
* (`maximumAttempts: Infinity`) with exponential backoff. Without an explicit
|
|
25
|
+
* cap, a transiently failing activity (model 5xx, rate limit, network blip)
|
|
26
|
+
* can retry for a very long time. This policy bounds retries so a persistently
|
|
27
|
+
* failing activity fails the workflow in minutes rather than hours or days.
|
|
28
|
+
*
|
|
29
|
+
* - `maximumAttempts: 5` — enough to ride out transient failures, bounded.
|
|
30
|
+
* - `initialInterval: 1s` with `backoffCoefficient: 2` — standard exponential
|
|
31
|
+
* backoff (1s, 2s, 4s, 8s between attempts).
|
|
32
|
+
* - `maximumInterval: 1 minute` — caps backoff growth so later retries don't
|
|
33
|
+
* stall for too long.
|
|
34
|
+
* - `nonRetryableErrorTypes: ['NonRetryableProviderFailure']` —
|
|
35
|
+
* defense-in-depth: provider quota/auth failures are already converted to
|
|
36
|
+
* `ApplicationFailure.nonRetryable` in the activity, but listing the type
|
|
37
|
+
* here ensures Temporal never retries them even if the non-retryable flag
|
|
38
|
+
* is lost in serialization.
|
|
39
|
+
*/
|
|
40
|
+
export const TEMPORAL_RETRYABLE_ACTIVITY_POLICY = {
|
|
41
|
+
maximumAttempts: 5,
|
|
42
|
+
initialInterval: '1 second',
|
|
43
|
+
backoffCoefficient: 2,
|
|
44
|
+
maximumInterval: '1 minute',
|
|
45
|
+
nonRetryableErrorTypes: ['NonRetryableProviderFailure'],
|
|
46
|
+
};
|
|
47
|
+
export function getTemporalNodeRetryMode(node) {
|
|
48
|
+
if (node.action && TEMPORAL_NO_RETRY_ACTIONS.has(node.action)) {
|
|
49
|
+
return 'no-retry';
|
|
50
|
+
}
|
|
51
|
+
if ((node.agent || node.agentsFrom) && node.writes) {
|
|
52
|
+
return 'no-retry';
|
|
53
|
+
}
|
|
54
|
+
return 'retryable';
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=retry-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../src/temporal/retry-policy.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAA4C;IAC1F,OAAO;IACP,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,eAAe;IACf,6BAA6B;IAC7B,iCAAiC;IACjC,iCAAiC;IACjC,iCAAiC;IACjC,uBAAuB;IACvB,WAAW;IACX,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAgB;IAC7D,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,UAAU;IAC3B,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;CACxD,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAAwB;IAC/D,IAAI,IAAI,CAAC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { WorkflowNodeConfig } from '../lib/config.js';
|
|
2
|
+
import type { CompiledWorkflowPlan } from '../lib/workflow/compiled-plan.js';
|
|
3
|
+
import type { WorkflowRunOptions, WorkflowRunResult, WorkflowTemplateContext, WorkflowActivityIdempotencyContext } from '../lib/workflow/types.js';
|
|
4
|
+
import type { TemporalArtifactRef } from '../lib/workflow/artifact-store.js';
|
|
5
|
+
export interface TemporalConfig {
|
|
6
|
+
address: string;
|
|
7
|
+
namespace: string;
|
|
8
|
+
taskQueue: string;
|
|
9
|
+
workflowIdPrefix: string;
|
|
10
|
+
workspace: TemporalWorkspaceConfig;
|
|
11
|
+
}
|
|
12
|
+
export interface TemporalWorkspaceConfig {
|
|
13
|
+
mode: 'local' | 'managed';
|
|
14
|
+
root: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TemporalManagedWorkspaceInput {
|
|
17
|
+
mode: 'managed';
|
|
18
|
+
root: string;
|
|
19
|
+
repoUrl: string;
|
|
20
|
+
ref: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TemporalWorkflowInput {
|
|
23
|
+
plan: CompiledWorkflowPlan;
|
|
24
|
+
inputs: Record<string, string>;
|
|
25
|
+
workingDir: string;
|
|
26
|
+
options?: Pick<WorkflowRunOptions, 'debug' | 'thinkingLevel'>;
|
|
27
|
+
workspace?: TemporalManagedWorkspaceInput;
|
|
28
|
+
}
|
|
29
|
+
export interface PrepareWorkspaceActivityInput {
|
|
30
|
+
workspace: TemporalManagedWorkspaceInput;
|
|
31
|
+
workflowId: string;
|
|
32
|
+
runId: string;
|
|
33
|
+
}
|
|
34
|
+
export interface PrepareWorkspaceActivityResult {
|
|
35
|
+
workingDir: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ResolveArtifactRefsActivityInput {
|
|
38
|
+
workingDir: string;
|
|
39
|
+
refs: Record<string, TemporalArtifactRef>;
|
|
40
|
+
}
|
|
41
|
+
export type ActivityIdempotencyContext = WorkflowActivityIdempotencyContext;
|
|
42
|
+
export type ScheduledActivityIdempotencyContext = Omit<ActivityIdempotencyContext, 'attempt'> & {
|
|
43
|
+
attempt?: number;
|
|
44
|
+
};
|
|
45
|
+
export interface RunWorkflowNodeActivityInput {
|
|
46
|
+
workingDir: string;
|
|
47
|
+
nodeId: string;
|
|
48
|
+
node: WorkflowNodeConfig;
|
|
49
|
+
context: WorkflowTemplateContext;
|
|
50
|
+
options?: Pick<WorkflowRunOptions, 'debug' | 'thinkingLevel'>;
|
|
51
|
+
idempotencyContext?: ScheduledActivityIdempotencyContext;
|
|
52
|
+
/**
|
|
53
|
+
* When true, the activity constructs a LocalWorkflowArtifactStore for the
|
|
54
|
+
* worker's working directory and offloads large node outputs as refs so
|
|
55
|
+
* they stay out of Temporal event history.
|
|
56
|
+
*/
|
|
57
|
+
offloadArtifacts?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Inline size threshold in bytes. Values larger than this become refs when
|
|
60
|
+
* offloadArtifacts is true. Defaults to 64KB.
|
|
61
|
+
*/
|
|
62
|
+
artifactInlineMaxBytes?: number;
|
|
63
|
+
}
|
|
64
|
+
export type TemporalWorkflowNodeQueryStatus = 'pending' | 'running' | 'success' | 'skipped';
|
|
65
|
+
export interface TemporalWorkflowNodeStatusSnapshot {
|
|
66
|
+
id: string;
|
|
67
|
+
status: TemporalWorkflowNodeQueryStatus;
|
|
68
|
+
action?: string;
|
|
69
|
+
agent?: string;
|
|
70
|
+
control?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface TemporalWorkflowStatusQueryResult {
|
|
73
|
+
workflow: string;
|
|
74
|
+
workflowId: string;
|
|
75
|
+
runId: string;
|
|
76
|
+
cancelled: boolean;
|
|
77
|
+
nodes: Record<string, TemporalWorkflowNodeStatusSnapshot>;
|
|
78
|
+
runningNodeIds: string[];
|
|
79
|
+
completedNodeIds: string[];
|
|
80
|
+
}
|
|
81
|
+
export interface TemporalWorkflowArtifactsQueryResult {
|
|
82
|
+
artifactKeys: string[];
|
|
83
|
+
artifactRefs: Record<string, TemporalArtifactRef>;
|
|
84
|
+
}
|
|
85
|
+
export type TemporalWorkflowResult = WorkflowRunResult;
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/temporal/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/temporal/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/temporal/worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import { Worker, NativeConnection } from '@temporalio/worker';
|
|
3
|
+
import { resolveTemporalConfig } from './config.js';
|
|
4
|
+
import * as activities from './activities.js';
|
|
5
|
+
export async function runTemporalWorker(config) {
|
|
6
|
+
const temporal = resolveTemporalConfig(config);
|
|
7
|
+
const workflowModule = import.meta.url.endsWith('.ts') ? './workflows.ts' : './workflows.js';
|
|
8
|
+
const connection = await NativeConnection.connect({ address: temporal.address });
|
|
9
|
+
const worker = await Worker.create({
|
|
10
|
+
connection,
|
|
11
|
+
namespace: temporal.namespace,
|
|
12
|
+
taskQueue: temporal.taskQueue,
|
|
13
|
+
workflowsPath: fileURLToPath(new URL(workflowModule, import.meta.url)),
|
|
14
|
+
activities,
|
|
15
|
+
});
|
|
16
|
+
await worker.run();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/temporal/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAiB;IACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC7F,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACjC,UAAU;QACV,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive a deterministic Temporal workflow ID from the workflow name and
|
|
3
|
+
* resolved inputs.
|
|
4
|
+
*
|
|
5
|
+
* DRS workflows are triggered by external events whose identity is stable
|
|
6
|
+
* across re-deliveries (a webhook retried, a scheduler replay, a service
|
|
7
|
+
* restart). A deterministic workflow ID lets Temporal's built-in workflow-ID
|
|
8
|
+
* uniqueness deduplicate repeated triggers instead of scheduling duplicate
|
|
9
|
+
* work.
|
|
10
|
+
*
|
|
11
|
+
* Recognized trigger patterns (based on the standard DRS workflow inputs):
|
|
12
|
+
*
|
|
13
|
+
* - **GitHub PR** — inputs contain `owner`, `repo`, and `pr`:
|
|
14
|
+
* `{prefix}-{workflowName}-gh-{owner}-{repo}-pr-{pr}`
|
|
15
|
+
* - **GitLab MR** — inputs contain `project` and `mr`:
|
|
16
|
+
* `{prefix}-{workflowName}-gl-{project}-mr-{mr}`
|
|
17
|
+
*
|
|
18
|
+
* Workflows without a recognized external trigger identity (e.g. `local-review`,
|
|
19
|
+
* one-off CLI runs, smoke tests) fall back to a random UUID suffix so each
|
|
20
|
+
* dispatch is a fresh run — exactly the behavior expected for unique work.
|
|
21
|
+
*
|
|
22
|
+
* Callers that need full control (a service layer with a custom trigger
|
|
23
|
+
* identity) can bypass this helper by passing an explicit `workflowId` in
|
|
24
|
+
* {@link WorkflowRunOptions}.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deriveTemporalWorkflowId(prefix: string, workflowName: string, inputs: Record<string, string>): string;
|
|
27
|
+
//# sourceMappingURL=workflow-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-id.d.ts","sourceRoot":"","sources":["../../src/temporal/workflow-id.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAoBR"}
|