@revisium/orchestrator 0.1.0-alpha.4 → 0.1.0-alpha.5
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/control-plane/bootstrap.config.json +1 -0
- package/control-plane/default-playbook/catalog/pipelines.json +289 -52
- package/control-plane/default-playbook/catalog/roles.json +9 -0
- package/control-plane/default-playbook/prompts/analyst.md +3 -1
- package/control-plane/default-playbook/prompts/reviewer.md +2 -2
- package/control-plane/default-playbook/prompts/triager.md +51 -0
- package/control-plane/default-playbook/prompts/watcher.md +2 -2
- package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js +36 -0
- package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js.map +1 -0
- package/dist/api/graphql-api/graphql-api.module.js +75 -0
- package/dist/api/graphql-api/graphql-api.module.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/constants.js +9 -0
- package/dist/api/graphql-api/graphql-ws/constants.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js +29 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +101 -0
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +115 -0
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +85 -0
- package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/ws.js +22 -0
- package/dist/api/graphql-api/graphql-ws/ws.js.map +1 -0
- package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js +56 -0
- package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js.map +1 -0
- package/dist/api/graphql-api/inbox/inbox.resolver.js +125 -0
- package/dist/api/graphql-api/inbox/inbox.resolver.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/answer-question.input.js +33 -0
- package/dist/api/graphql-api/inbox/inputs/answer-question.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js +27 -0
- package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js +28 -0
- package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js +38 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/gate-risk.model.js +53 -0
- package/dist/api/graphql-api/inbox/model/gate-risk.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-connection.model.js +16 -0
- package/dist/api/graphql-api/inbox/model/inbox-connection.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-item.model.js +88 -0
- package/dist/api/graphql-api/inbox/model/inbox-item.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js +48 -0
- package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js.map +1 -0
- package/dist/api/graphql-api/method/inputs/list-method.input.js +15 -0
- package/dist/api/graphql-api/method/inputs/list-method.input.js.map +1 -0
- package/dist/api/graphql-api/method/method.resolver.js +90 -0
- package/dist/api/graphql-api/method/method.resolver.js.map +1 -0
- package/dist/api/graphql-api/method/model/alternative-role-group.model.js +32 -0
- package/dist/api/graphql-api/method/model/alternative-role-group.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/pipeline-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/pipeline-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/pipeline.model.js +69 -0
- package/dist/api/graphql-api/method/model/pipeline.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/playbook-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/playbook-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/playbook.model.js +47 -0
- package/dist/api/graphql-api/method/model/playbook.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/role-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/role-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/role.model.js +98 -0
- package/dist/api/graphql-api/method/model/role.model.js.map +1 -0
- package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +52 -0
- package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -0
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js +403 -0
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -0
- package/dist/api/graphql-api/pr/pr.resolver.js +76 -0
- package/dist/api/graphql-api/pr/pr.resolver.js.map +1 -0
- package/dist/api/graphql-api/registerGraphqlEnums.js +4 -0
- package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/create-run.input.js +63 -0
- package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js +32 -0
- package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/get-run-events.input.js +28 -0
- package/dist/api/graphql-api/runs/inputs/get-run-events.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/list-runs.input.js +23 -0
- package/dist/api/graphql-api/runs/inputs/list-runs.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/simulate-route.input.js +43 -0
- package/dist/api/graphql-api/runs/inputs/simulate-route.input.js.map +1 -0
- package/dist/api/graphql-api/runs/model/create-run-result.model.js +53 -0
- package/dist/api/graphql-api/runs/model/create-run-result.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-attempt.model.js +114 -0
- package/dist/api/graphql-api/runs/model/run-attempt.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-connection.model.js +16 -0
- package/dist/api/graphql-api/runs/model/run-connection.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-cost.model.js +67 -0
- package/dist/api/graphql-api/runs/model/run-cost.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-digest.model.js +41 -0
- package/dist/api/graphql-api/runs/model/run-digest.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-event-connection.model.js +16 -0
- package/dist/api/graphql-api/runs/model/run-event-connection.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-event.model.js +58 -0
- package/dist/api/graphql-api/runs/model/run-event.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-progress.model.js +33 -0
- package/dist/api/graphql-api/runs/model/run-progress.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-workflow.model.js +287 -0
- package/dist/api/graphql-api/runs/model/run-workflow.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run.model.js +57 -0
- package/dist/api/graphql-api/runs/model/run.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/usage.model.js +32 -0
- package/dist/api/graphql-api/runs/model/usage.model.js.map +1 -0
- package/dist/api/graphql-api/runs/run-digest.resolver.js +40 -0
- package/dist/api/graphql-api/runs/run-digest.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/run-events.resolver.js +45 -0
- package/dist/api/graphql-api/runs/run-events.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/run-progress.resolver.js +53 -0
- package/dist/api/graphql-api/runs/run-progress.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/runs-subscription.resolver.js +93 -0
- package/dist/api/graphql-api/runs/runs-subscription.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/runs.resolver.js +130 -0
- package/dist/api/graphql-api/runs/runs.resolver.js.map +1 -0
- package/dist/api/graphql-api/share/graphql-param-types.js +6 -0
- package/dist/api/graphql-api/share/graphql-param-types.js.map +1 -0
- package/dist/api/graphql-api/share/inputs/connection.input.js +27 -0
- package/dist/api/graphql-api/share/inputs/connection.input.js.map +1 -0
- package/dist/api/graphql-api/share/inputs/run-subscription.input.js +22 -0
- package/dist/api/graphql-api/share/inputs/run-subscription.input.js.map +1 -0
- package/dist/api/graphql-api/share/model/paginated.model.js +75 -0
- package/dist/api/graphql-api/share/model/paginated.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/daemon-status.model.js +47 -0
- package/dist/api/graphql-api/system/model/daemon-status.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/doctor-result.model.js +33 -0
- package/dist/api/graphql-api/system/model/doctor-result.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/project.model.js +37 -0
- package/dist/api/graphql-api/system/model/project.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/repository-context.model.js +70 -0
- package/dist/api/graphql-api/system/model/repository-context.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/repository-validation.model.js +62 -0
- package/dist/api/graphql-api/system/model/repository-validation.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/system-status.model.js +29 -0
- package/dist/api/graphql-api/system/model/system-status.model.js.map +1 -0
- package/dist/api/graphql-api/system/system.resolver.js +83 -0
- package/dist/api/graphql-api/system/system.resolver.js.map +1 -0
- package/dist/cli/commands/inbox.js +1 -1
- package/dist/cli/commands/inbox.js.map +1 -1
- package/dist/cli/commands/run.js +0 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/serve.js +26 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/program.js +2 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/control-plane/change-notifications.js +35 -0
- package/dist/control-plane/change-notifications.js.map +1 -0
- package/dist/control-plane/data-access.js +10 -3
- package/dist/control-plane/data-access.js.map +1 -1
- package/dist/control-plane/inbox.js +5 -31
- package/dist/control-plane/inbox.js.map +1 -1
- package/dist/control-plane/index.js +1 -1
- package/dist/control-plane/index.js.map +1 -1
- package/dist/control-plane/resolve-cwd.js +76 -8
- package/dist/control-plane/resolve-cwd.js.map +1 -1
- package/dist/control-plane/steps.js +15 -349
- package/dist/control-plane/steps.js.map +1 -1
- package/dist/e2e/kit/agents.js +26 -3
- package/dist/e2e/kit/agents.js.map +1 -1
- package/dist/e2e/kit/assertions.js +37 -14
- package/dist/e2e/kit/assertions.js.map +1 -1
- package/dist/e2e/kit/drive.js +0 -4
- package/dist/e2e/kit/drive.js.map +1 -1
- package/dist/e2e/kit/fake-integrator.js +16 -1
- package/dist/e2e/kit/fake-integrator.js.map +1 -1
- package/dist/e2e/kit/gh-emulator.js +173 -10
- package/dist/e2e/kit/gh-emulator.js.map +1 -1
- package/dist/e2e/kit/git-target-repo.js +35 -3
- package/dist/e2e/kit/git-target-repo.js.map +1 -1
- package/dist/e2e/kit/harness.js +4 -2
- package/dist/e2e/kit/harness.js.map +1 -1
- package/dist/engine/dbos.module.js +2 -1
- package/dist/engine/dbos.module.js.map +1 -1
- package/dist/engine/dbos.service.js +69 -18
- package/dist/engine/dbos.service.js.map +1 -1
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js +80 -0
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js.map +1 -0
- package/dist/features/inbox/commands/impl/answer-question.command.js +7 -0
- package/dist/features/inbox/commands/impl/answer-question.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/approve-gate.command.js +7 -0
- package/dist/features/inbox/commands/impl/approve-gate.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/reject-gate.command.js +7 -0
- package/dist/features/inbox/commands/impl/reject-gate.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js +7 -0
- package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js.map +1 -0
- package/dist/features/inbox/commands/index.js +8 -0
- package/dist/features/inbox/commands/index.js.map +1 -0
- package/dist/features/inbox/inbox-api.module.js +23 -0
- package/dist/features/inbox/inbox-api.module.js.map +1 -0
- package/dist/features/inbox/inbox-api.service.js +63 -0
- package/dist/features/inbox/inbox-api.service.js.map +1 -0
- package/dist/features/inbox/queries/handlers/inbox-query.handlers.js +111 -0
- package/dist/features/inbox/queries/handlers/inbox-query.handlers.js.map +1 -0
- package/dist/features/inbox/queries/impl/get-inbox-item.query.js +7 -0
- package/dist/features/inbox/queries/impl/get-inbox-item.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/get-pending-decisions.query.js +7 -0
- package/dist/features/inbox/queries/impl/get-pending-decisions.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/list-inbox.query.js +7 -0
- package/dist/features/inbox/queries/impl/list-inbox.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js +7 -0
- package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js.map +1 -0
- package/dist/features/inbox/queries/index.js +8 -0
- package/dist/features/inbox/queries/index.js.map +1 -0
- package/dist/features/method/commands/index.js +2 -0
- package/dist/features/method/commands/index.js.map +1 -0
- package/dist/features/method/method-api.module.js +23 -0
- package/dist/features/method/method-api.module.js.map +1 -0
- package/dist/features/method/method-api.service.js +47 -0
- package/dist/features/method/method-api.service.js.map +1 -0
- package/dist/features/method/queries/handlers/method-query.handlers.js +115 -0
- package/dist/features/method/queries/handlers/method-query.handlers.js.map +1 -0
- package/dist/features/method/queries/impl/get-pipeline.query.js +7 -0
- package/dist/features/method/queries/impl/get-pipeline.query.js.map +1 -0
- package/dist/features/method/queries/impl/get-role.query.js +7 -0
- package/dist/features/method/queries/impl/get-role.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-pipelines.query.js +7 -0
- package/dist/features/method/queries/impl/list-pipelines.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-playbooks.query.js +7 -0
- package/dist/features/method/queries/impl/list-playbooks.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-roles.query.js +7 -0
- package/dist/features/method/queries/impl/list-roles.query.js.map +1 -0
- package/dist/features/method/queries/index.js +9 -0
- package/dist/features/method/queries/index.js.map +1 -0
- package/dist/features/pr/commands/index.js +2 -0
- package/dist/features/pr/commands/index.js.map +1 -0
- package/dist/features/pr/pr-api.module.js +23 -0
- package/dist/features/pr/pr-api.module.js.map +1 -0
- package/dist/features/pr/pr-api.service.js +35 -0
- package/dist/features/pr/pr-api.service.js.map +1 -0
- package/dist/features/pr/queries/handlers/pr-query.handlers.js +48 -0
- package/dist/features/pr/queries/handlers/pr-query.handlers.js.map +1 -0
- package/dist/features/pr/queries/impl/get-pr-readiness.query.js +7 -0
- package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -0
- package/dist/features/pr/queries/impl/list-pr-feedback.query.js +7 -0
- package/dist/features/pr/queries/impl/list-pr-feedback.query.js.map +1 -0
- package/dist/features/pr/queries/index.js +3 -0
- package/dist/features/pr/queries/index.js.map +1 -0
- package/dist/features/runs/commands/handlers/runs-command.handlers.js +32 -0
- package/dist/features/runs/commands/handlers/runs-command.handlers.js.map +1 -0
- package/dist/features/runs/commands/impl/create-run.command.js +7 -0
- package/dist/features/runs/commands/impl/create-run.command.js.map +1 -0
- package/dist/features/runs/commands/index.js +3 -0
- package/dist/features/runs/commands/index.js.map +1 -0
- package/dist/features/runs/queries/handlers/runs-query.handlers.js +224 -0
- package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-attempts.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-attempts.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-digest.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-digest.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-events.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-events.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-progress.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-progress.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-workflow.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-workflow.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run.query.js.map +1 -0
- package/dist/features/runs/queries/impl/list-runs.query.js +7 -0
- package/dist/features/runs/queries/impl/list-runs.query.js.map +1 -0
- package/dist/features/runs/queries/impl/simulate-route.query.js +7 -0
- package/dist/features/runs/queries/impl/simulate-route.query.js.map +1 -0
- package/dist/features/runs/queries/index.js +12 -0
- package/dist/features/runs/queries/index.js.map +1 -0
- package/dist/features/runs/runs-api.module.js +23 -0
- package/dist/features/runs/runs-api.module.js.map +1 -0
- package/dist/features/runs/runs-api.service.js +67 -0
- package/dist/features/runs/runs-api.service.js.map +1 -0
- package/dist/features/shared/connection.js +39 -0
- package/dist/features/shared/connection.js.map +1 -0
- package/dist/features/system/commands/index.js +2 -0
- package/dist/features/system/commands/index.js.map +1 -0
- package/dist/features/system/queries/handlers/system-query.handlers.js +96 -0
- package/dist/features/system/queries/handlers/system-query.handlers.js.map +1 -0
- package/dist/features/system/queries/impl/doctor.query.js +4 -0
- package/dist/features/system/queries/impl/doctor.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-project.query.js +4 -0
- package/dist/features/system/queries/impl/get-project.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-repository-context.query.js +7 -0
- package/dist/features/system/queries/impl/get-repository-context.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-status.query.js +4 -0
- package/dist/features/system/queries/impl/get-status.query.js.map +1 -0
- package/dist/features/system/queries/impl/validate-repository.query.js +7 -0
- package/dist/features/system/queries/impl/validate-repository.query.js.map +1 -0
- package/dist/features/system/queries/index.js +9 -0
- package/dist/features/system/queries/index.js.map +1 -0
- package/dist/features/system/system-api.module.js +23 -0
- package/dist/features/system/system-api.module.js.map +1 -0
- package/dist/features/system/system-api.service.js +47 -0
- package/dist/features/system/system-api.service.js.map +1 -0
- package/dist/host/host.lifecycle.js +16 -3
- package/dist/host/host.lifecycle.js.map +1 -1
- package/dist/http/graphql-host.js +50 -0
- package/dist/http/graphql-host.js.map +1 -0
- package/dist/http/graphql-host.module.js +20 -0
- package/dist/http/graphql-host.module.js.map +1 -0
- package/dist/infrastructure/metrics/graphql/graphql-metrics.js +91 -0
- package/dist/infrastructure/metrics/graphql/graphql-metrics.js.map +1 -0
- package/dist/pipeline/await-human.js +8 -4
- package/dist/pipeline/await-human.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +171 -22
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/data-driven-template.js +3 -3
- package/dist/pipeline/pipeline.module.js +1 -1
- package/dist/pipeline/pipeline.module.js.map +1 -1
- package/dist/pipeline/{develop-task.workflow.js → pipeline.service.js} +43 -11
- package/dist/pipeline/pipeline.service.js.map +1 -0
- package/dist/pipeline-core/kit/fixtures.js +94 -0
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/revisium/run.service.js +16 -7
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/run/create-run.js +5 -31
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/inspect-run.js +2 -29
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/terminal-run-status.js +7 -30
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +1 -0
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/integrator.js +241 -5
- package/dist/runners/integrator.js.map +1 -1
- package/dist/runners/runner.module.js +3 -1
- package/dist/runners/runner.module.js.map +1 -1
- package/dist/runners/worktree.service.js +63 -0
- package/dist/runners/worktree.service.js.map +1 -0
- package/dist/task-control-plane/task-control-plane-api.service.js +293 -3
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane.module.js +1 -2
- package/dist/task-control-plane/task-control-plane.module.js.map +1 -1
- package/dist/worker/claude-code-runner.js +13 -15
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/git-worktree-manager.js +148 -0
- package/dist/worker/git-worktree-manager.js.map +1 -0
- package/dist/worker/result-envelope.js +41 -1
- package/dist/worker/result-envelope.js.map +1 -1
- package/dist/worker/runner.js.map +1 -1
- package/package.json +15 -7
- package/dist/pipeline/develop-task.workflow.js.map +0 -1
- package/dist/worker/worktree-manager.js +0 -7
- package/dist/worker/worktree-manager.js.map +0 -1
|
@@ -149,6 +149,7 @@
|
|
|
149
149
|
"id": "steps",
|
|
150
150
|
"schema": {
|
|
151
151
|
"type": "object",
|
|
152
|
+
"description": "DEPRECATED/unused — runtime path retired (audit §3.1, #86); no live path writes or reads a steps row (DBOS owns progress). Table drop deferred — a schema drop on existing control-planes is riskier than retiring the writes; tracked in docs/roadmap.md → Post-MVP cleanup.",
|
|
152
153
|
"additionalProperties": false,
|
|
153
154
|
"properties": {
|
|
154
155
|
"id": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"orchestrator",
|
|
12
12
|
"analyst",
|
|
13
13
|
"reviewer",
|
|
14
|
+
"triager",
|
|
14
15
|
"developer",
|
|
15
16
|
"integrator",
|
|
16
17
|
"watcher"
|
|
@@ -36,7 +37,12 @@
|
|
|
36
37
|
"approved",
|
|
37
38
|
"clean",
|
|
38
39
|
"blocker",
|
|
39
|
-
"changes_requested"
|
|
40
|
+
"changes_requested",
|
|
41
|
+
"review_changes",
|
|
42
|
+
"ci_changes",
|
|
43
|
+
"fix",
|
|
44
|
+
"wontfix",
|
|
45
|
+
"question"
|
|
40
46
|
]
|
|
41
47
|
},
|
|
42
48
|
"nodes": {
|
|
@@ -47,8 +53,12 @@
|
|
|
47
53
|
"next": "planReviewer",
|
|
48
54
|
"onFailure": "abort",
|
|
49
55
|
"resultSchema": "schema:plan",
|
|
50
|
-
"produces": {
|
|
51
|
-
|
|
56
|
+
"produces": {
|
|
57
|
+
"name": "plan"
|
|
58
|
+
},
|
|
59
|
+
"incrementCounters": [
|
|
60
|
+
"planReviewLoop"
|
|
61
|
+
]
|
|
52
62
|
},
|
|
53
63
|
"planReviewer": {
|
|
54
64
|
"id": "planReviewer",
|
|
@@ -57,22 +67,43 @@
|
|
|
57
67
|
"next": "planReviewRouter",
|
|
58
68
|
"onFailure": "abort",
|
|
59
69
|
"resultSchema": "schema:reviewVerdict",
|
|
60
|
-
"consumes": [
|
|
70
|
+
"consumes": [
|
|
71
|
+
{
|
|
72
|
+
"node": "analyst",
|
|
73
|
+
"as": "plan"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
61
76
|
},
|
|
62
77
|
"planReviewRouter": {
|
|
63
78
|
"id": "planReviewRouter",
|
|
64
79
|
"kind": "choice",
|
|
65
80
|
"branches": [
|
|
66
81
|
{
|
|
67
|
-
"when": {
|
|
82
|
+
"when": {
|
|
83
|
+
"op": "verdict.in",
|
|
84
|
+
"value": [
|
|
85
|
+
"approved",
|
|
86
|
+
"clean"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
68
89
|
"goto": "planGate"
|
|
69
90
|
},
|
|
70
91
|
{
|
|
71
92
|
"when": {
|
|
72
93
|
"op": "all",
|
|
73
94
|
"of": [
|
|
74
|
-
{
|
|
75
|
-
|
|
95
|
+
{
|
|
96
|
+
"op": "verdict.in",
|
|
97
|
+
"value": [
|
|
98
|
+
"blocker",
|
|
99
|
+
"changes_requested"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"op": "counter.lt",
|
|
104
|
+
"scope": "planReviewLoop",
|
|
105
|
+
"value": 4
|
|
106
|
+
}
|
|
76
107
|
]
|
|
77
108
|
},
|
|
78
109
|
"goto": "analyst"
|
|
@@ -109,7 +140,12 @@
|
|
|
109
140
|
"next": "codeReview",
|
|
110
141
|
"onFailure": "abort",
|
|
111
142
|
"resultSchema": "schema:change",
|
|
112
|
-
"consumes": [
|
|
143
|
+
"consumes": [
|
|
144
|
+
{
|
|
145
|
+
"node": "analyst",
|
|
146
|
+
"as": "plan"
|
|
147
|
+
}
|
|
148
|
+
]
|
|
113
149
|
},
|
|
114
150
|
"codeReview": {
|
|
115
151
|
"id": "codeReview",
|
|
@@ -173,7 +209,7 @@
|
|
|
173
209
|
"id": "integrator",
|
|
174
210
|
"kind": "script",
|
|
175
211
|
"scriptRef": "script:integrator",
|
|
176
|
-
"next": "
|
|
212
|
+
"next": "pollPr",
|
|
177
213
|
"catch": [
|
|
178
214
|
{
|
|
179
215
|
"onError": "revo.ScriptBlocked",
|
|
@@ -187,70 +223,219 @@
|
|
|
187
223
|
"onFailure": "route",
|
|
188
224
|
"resultSchema": "schema:integration"
|
|
189
225
|
},
|
|
190
|
-
"
|
|
191
|
-
"id": "
|
|
192
|
-
"kind": "
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
|
|
196
|
-
|
|
226
|
+
"mergeGate": {
|
|
227
|
+
"id": "mergeGate",
|
|
228
|
+
"kind": "humanGate",
|
|
229
|
+
"reason": "merge-review",
|
|
230
|
+
"outcomes": [
|
|
231
|
+
"approved"
|
|
232
|
+
],
|
|
233
|
+
"branches": [
|
|
234
|
+
{
|
|
235
|
+
"when": {
|
|
236
|
+
"op": "verdict.eq",
|
|
237
|
+
"value": "approved"
|
|
238
|
+
},
|
|
239
|
+
"goto": "confirmMerge"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"default": "blockedEnd"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
197
245
|
},
|
|
198
|
-
"
|
|
199
|
-
"id": "
|
|
246
|
+
"confirmMerge": {
|
|
247
|
+
"id": "confirmMerge",
|
|
248
|
+
"kind": "script",
|
|
249
|
+
"scriptRef": "script:confirmMerge",
|
|
250
|
+
"next": "mergedEnd",
|
|
251
|
+
"catch": [
|
|
252
|
+
{
|
|
253
|
+
"onError": "revo.ScriptBlocked",
|
|
254
|
+
"goto": "blockedEnd"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"onError": "revo.ScriptFailed",
|
|
258
|
+
"goto": "failedEnd"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"onFailure": "route",
|
|
262
|
+
"resultSchema": "schema:integration"
|
|
263
|
+
},
|
|
264
|
+
"mergedEnd": {
|
|
265
|
+
"id": "mergedEnd",
|
|
266
|
+
"kind": "terminal",
|
|
267
|
+
"status": "succeeded"
|
|
268
|
+
},
|
|
269
|
+
"failedEnd": {
|
|
270
|
+
"id": "failedEnd",
|
|
271
|
+
"kind": "terminal",
|
|
272
|
+
"status": "failed"
|
|
273
|
+
},
|
|
274
|
+
"blockedEnd": {
|
|
275
|
+
"id": "blockedEnd",
|
|
276
|
+
"kind": "terminal",
|
|
277
|
+
"status": "blocked"
|
|
278
|
+
},
|
|
279
|
+
"pollPr": {
|
|
280
|
+
"id": "pollPr",
|
|
281
|
+
"kind": "script",
|
|
282
|
+
"scriptRef": "script:pollPr",
|
|
283
|
+
"next": "prRouter",
|
|
284
|
+
"onFailure": "route",
|
|
285
|
+
"resultSchema": "schema:prFeedback",
|
|
286
|
+
"produces": {
|
|
287
|
+
"name": "prFeedback"
|
|
288
|
+
},
|
|
289
|
+
"catch": [
|
|
290
|
+
{
|
|
291
|
+
"onError": "revo.ScriptBlocked",
|
|
292
|
+
"goto": "blockedEnd"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"onError": "revo.ScriptFailed",
|
|
296
|
+
"goto": "failedEnd"
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
"prRouter": {
|
|
301
|
+
"id": "prRouter",
|
|
200
302
|
"kind": "choice",
|
|
201
303
|
"branches": [
|
|
202
304
|
{
|
|
203
305
|
"when": {
|
|
204
|
-
"op": "verdict.
|
|
205
|
-
"value":
|
|
206
|
-
"approved",
|
|
207
|
-
"clean"
|
|
208
|
-
]
|
|
306
|
+
"op": "verdict.eq",
|
|
307
|
+
"value": "clean"
|
|
209
308
|
},
|
|
210
309
|
"goto": "mergeGate"
|
|
211
310
|
},
|
|
311
|
+
{
|
|
312
|
+
"when": {
|
|
313
|
+
"op": "verdict.eq",
|
|
314
|
+
"value": "review_changes"
|
|
315
|
+
},
|
|
316
|
+
"goto": "triage"
|
|
317
|
+
},
|
|
212
318
|
{
|
|
213
319
|
"when": {
|
|
214
320
|
"op": "all",
|
|
215
321
|
"of": [
|
|
216
322
|
{
|
|
217
|
-
"op": "verdict.
|
|
218
|
-
"value":
|
|
219
|
-
"blocker",
|
|
220
|
-
"changes_requested"
|
|
221
|
-
]
|
|
323
|
+
"op": "verdict.eq",
|
|
324
|
+
"value": "ci_changes"
|
|
222
325
|
},
|
|
223
326
|
{
|
|
224
327
|
"op": "counter.lt",
|
|
225
|
-
"scope": "
|
|
328
|
+
"scope": "ciLoop",
|
|
226
329
|
"value": 3
|
|
227
330
|
}
|
|
228
331
|
]
|
|
229
332
|
},
|
|
230
|
-
"goto": "
|
|
333
|
+
"goto": "ciRework"
|
|
231
334
|
},
|
|
232
335
|
{
|
|
233
336
|
"default": "blockedEnd"
|
|
234
337
|
}
|
|
235
338
|
]
|
|
236
339
|
},
|
|
237
|
-
"
|
|
238
|
-
"id": "
|
|
340
|
+
"ciRework": {
|
|
341
|
+
"id": "ciRework",
|
|
239
342
|
"kind": "agent",
|
|
240
343
|
"roleRef": "role:developer",
|
|
241
344
|
"next": "integrator",
|
|
242
345
|
"onFailure": "abort",
|
|
243
346
|
"resultSchema": "schema:change",
|
|
244
347
|
"incrementCounters": [
|
|
245
|
-
"
|
|
348
|
+
"ciLoop"
|
|
349
|
+
],
|
|
350
|
+
"consumes": [
|
|
351
|
+
{
|
|
352
|
+
"node": "pollPr",
|
|
353
|
+
"as": "feedback"
|
|
354
|
+
}
|
|
246
355
|
]
|
|
247
356
|
},
|
|
248
|
-
"
|
|
249
|
-
"id": "
|
|
357
|
+
"triage": {
|
|
358
|
+
"id": "triage",
|
|
359
|
+
"kind": "agent",
|
|
360
|
+
"roleRef": "role:triager",
|
|
361
|
+
"next": "triageRouter",
|
|
362
|
+
"onFailure": "abort",
|
|
363
|
+
"resultSchema": "schema:triage",
|
|
364
|
+
"produces": {
|
|
365
|
+
"name": "triage"
|
|
366
|
+
},
|
|
367
|
+
"consumes": [
|
|
368
|
+
{
|
|
369
|
+
"node": "analyst",
|
|
370
|
+
"as": "plan",
|
|
371
|
+
"staleOk": true
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"node": "pollPr",
|
|
375
|
+
"as": "feedback"
|
|
376
|
+
}
|
|
377
|
+
]
|
|
378
|
+
},
|
|
379
|
+
"triageRouter": {
|
|
380
|
+
"id": "triageRouter",
|
|
381
|
+
"kind": "choice",
|
|
382
|
+
"branches": [
|
|
383
|
+
{
|
|
384
|
+
"when": {
|
|
385
|
+
"op": "all",
|
|
386
|
+
"of": [
|
|
387
|
+
{
|
|
388
|
+
"op": "verdict.eq",
|
|
389
|
+
"value": "question"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"op": "counter.lt",
|
|
393
|
+
"scope": "questionLoop",
|
|
394
|
+
"value": 3
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
},
|
|
398
|
+
"goto": "questionGate"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"when": {
|
|
402
|
+
"op": "all",
|
|
403
|
+
"of": [
|
|
404
|
+
{
|
|
405
|
+
"op": "verdict.eq",
|
|
406
|
+
"value": "fix"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"op": "counter.lt",
|
|
410
|
+
"scope": "reviewLoop",
|
|
411
|
+
"value": 3
|
|
412
|
+
}
|
|
413
|
+
]
|
|
414
|
+
},
|
|
415
|
+
"goto": "reviewRework"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"when": {
|
|
419
|
+
"op": "verdict.eq",
|
|
420
|
+
"value": "wontfix"
|
|
421
|
+
},
|
|
422
|
+
"goto": "respondThreads"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"default": "blockedEnd"
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
"questionGate": {
|
|
430
|
+
"id": "questionGate",
|
|
250
431
|
"kind": "humanGate",
|
|
251
|
-
"reason": "
|
|
432
|
+
"reason": "review-question",
|
|
252
433
|
"outcomes": [
|
|
253
|
-
"approved"
|
|
434
|
+
"approved",
|
|
435
|
+
"changes_requested"
|
|
436
|
+
],
|
|
437
|
+
"incrementCounters": [
|
|
438
|
+
"questionLoop"
|
|
254
439
|
],
|
|
255
440
|
"branches": [
|
|
256
441
|
{
|
|
@@ -258,30 +443,74 @@
|
|
|
258
443
|
"op": "verdict.eq",
|
|
259
444
|
"value": "approved"
|
|
260
445
|
},
|
|
261
|
-
"goto": "
|
|
446
|
+
"goto": "triage"
|
|
262
447
|
},
|
|
263
448
|
{
|
|
264
449
|
"default": "blockedEnd"
|
|
265
450
|
}
|
|
266
451
|
]
|
|
267
452
|
},
|
|
268
|
-
"
|
|
269
|
-
"id": "
|
|
270
|
-
"kind": "
|
|
271
|
-
"
|
|
453
|
+
"reviewRework": {
|
|
454
|
+
"id": "reviewRework",
|
|
455
|
+
"kind": "agent",
|
|
456
|
+
"roleRef": "role:developer",
|
|
457
|
+
"next": "reviewIntegrator",
|
|
458
|
+
"onFailure": "abort",
|
|
459
|
+
"resultSchema": "schema:change",
|
|
460
|
+
"incrementCounters": [
|
|
461
|
+
"reviewLoop"
|
|
462
|
+
],
|
|
463
|
+
"consumes": [
|
|
464
|
+
{
|
|
465
|
+
"node": "triage",
|
|
466
|
+
"as": "triage"
|
|
467
|
+
}
|
|
468
|
+
]
|
|
272
469
|
},
|
|
273
|
-
"
|
|
274
|
-
"id": "
|
|
275
|
-
"kind": "
|
|
276
|
-
"
|
|
470
|
+
"reviewIntegrator": {
|
|
471
|
+
"id": "reviewIntegrator",
|
|
472
|
+
"kind": "script",
|
|
473
|
+
"scriptRef": "script:integrator",
|
|
474
|
+
"next": "respondThreads",
|
|
475
|
+
"onFailure": "route",
|
|
476
|
+
"resultSchema": "schema:integration",
|
|
477
|
+
"catch": [
|
|
478
|
+
{
|
|
479
|
+
"onError": "revo.ScriptBlocked",
|
|
480
|
+
"goto": "blockedEnd"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"onError": "revo.ScriptFailed",
|
|
484
|
+
"goto": "failedEnd"
|
|
485
|
+
}
|
|
486
|
+
]
|
|
277
487
|
},
|
|
278
|
-
"
|
|
279
|
-
"id": "
|
|
280
|
-
"kind": "
|
|
281
|
-
"
|
|
488
|
+
"respondThreads": {
|
|
489
|
+
"id": "respondThreads",
|
|
490
|
+
"kind": "script",
|
|
491
|
+
"scriptRef": "script:respondThreads",
|
|
492
|
+
"next": "pollPr",
|
|
493
|
+
"onFailure": "route",
|
|
494
|
+
"resultSchema": "schema:respond",
|
|
495
|
+
"consumes": [
|
|
496
|
+
{
|
|
497
|
+
"node": "triage",
|
|
498
|
+
"as": "triage"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"catch": [
|
|
502
|
+
{
|
|
503
|
+
"onError": "revo.ScriptBlocked",
|
|
504
|
+
"goto": "blockedEnd"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"onError": "revo.ScriptFailed",
|
|
508
|
+
"goto": "failedEnd"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
282
511
|
}
|
|
283
512
|
},
|
|
284
|
-
"title": "Feature development — plan + merge gates, bounded code-review
|
|
513
|
+
"title": "Feature development — plan + merge gates, bounded code-review rework, and a PR review-feedback loop (plan 0018)",
|
|
285
514
|
"policy": {
|
|
286
515
|
"conflicts": [
|
|
287
516
|
[
|
|
@@ -300,7 +529,15 @@
|
|
|
300
529
|
"cap": 3,
|
|
301
530
|
"parent": null
|
|
302
531
|
},
|
|
303
|
-
"
|
|
532
|
+
"ciLoop": {
|
|
533
|
+
"cap": 3,
|
|
534
|
+
"parent": null
|
|
535
|
+
},
|
|
536
|
+
"reviewLoop": {
|
|
537
|
+
"cap": 3,
|
|
538
|
+
"parent": null
|
|
539
|
+
},
|
|
540
|
+
"questionLoop": {
|
|
304
541
|
"cap": 3,
|
|
305
542
|
"parent": null
|
|
306
543
|
}
|
|
@@ -52,5 +52,14 @@
|
|
|
52
52
|
"allowed_tools": ["Read", "Grep", "Glob", "Bash"],
|
|
53
53
|
"default_model_level": "cheap",
|
|
54
54
|
"runner_id": "claude-code"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "triager",
|
|
58
|
+
"path": "prompts/triager.md",
|
|
59
|
+
"surface": "repo",
|
|
60
|
+
"rights": "read-only",
|
|
61
|
+
"allowed_tools": ["Read", "Grep", "Glob", "Bash"],
|
|
62
|
+
"default_model_level": "deep",
|
|
63
|
+
"runner_id": "claude-code"
|
|
55
64
|
}
|
|
56
65
|
]
|
|
@@ -18,7 +18,9 @@ reviewer can check against. The plan is the artifact a human approves at the pla
|
|
|
18
18
|
|
|
19
19
|
## Output
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Put the full ordered plan (problem, scope, files to change, steps, risks, verification) in the result
|
|
22
|
+
`output` — the plan reviewer and the developer receive it verbatim as their input. Set the `verdict` field
|
|
23
|
+
to EXACTLY one of:
|
|
22
24
|
|
|
23
25
|
- `approved` — the task is well understood and the plan is ready for a developer.
|
|
24
26
|
- `changes_requested` — the request is ambiguous or under-specified; explain what is missing.
|
|
@@ -19,10 +19,10 @@ are invoked in the pipeline.
|
|
|
19
19
|
|
|
20
20
|
## Output
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Set the result `verdict` field (the pipeline routes on it) to EXACTLY one of these tokens:
|
|
23
23
|
|
|
24
24
|
- `approved` — proceed; the work is correct and complete (nits are acceptable to defer).
|
|
25
25
|
- `changes_requested` — fixable issues that must be addressed before proceeding.
|
|
26
26
|
- `blocker` — a serious defect or risk that must be resolved (drives the bounded rework loop).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Put your actionable findings in `output`. You are read-only: never modify the working tree.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Triager
|
|
2
|
+
|
|
3
|
+
You are the **triager** role in a software delivery pipeline. You run AFTER the PR is open, when a
|
|
4
|
+
poll has found **unresolved review comments** (from human reviewers or review bots like CodeRabbit).
|
|
5
|
+
You read the actual diff and the threads, then decide — per thread — *whether* and *how* to respond.
|
|
6
|
+
You do not edit files; you read and reason.
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
|
|
10
|
+
Convert each unresolved review thread into a concrete decision the developer and the reply step can
|
|
11
|
+
act on. Your output drives the next step: a `fix` is implemented by the developer and the threads are
|
|
12
|
+
replied + resolved; a `wontfix` is replied + resolved with your reason; a `question` is escalated to a
|
|
13
|
+
human at the review-question gate.
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
You receive (in the `## Inputs` section) the approved **plan** and the **prFeedback** the poll produced:
|
|
18
|
+
the PR number, head sha, failing CI checks, and the unresolved `reviewThreads`
|
|
19
|
+
(`{threadId, path, line, author, body}`). Read the diff (`git diff origin/<base>`) in the worktree to
|
|
20
|
+
judge each comment against the real change.
|
|
21
|
+
|
|
22
|
+
## What to do
|
|
23
|
+
|
|
24
|
+
1. Read the diff and the files each thread points at.
|
|
25
|
+
2. For EVERY unresolved thread, decide one of: `fix`, `wontfix`, or `question`.
|
|
26
|
+
- `fix` — the comment is valid; the developer should change the code. Give precise `guidance`.
|
|
27
|
+
- `wontfix` — the comment does not apply / is out of scope / is already handled. Give a short,
|
|
28
|
+
respectful `replyText` stating the reason (it is posted and the thread is auto-resolved).
|
|
29
|
+
- `question` — the comment is genuinely ambiguous and needs a human to decide. Put the question in
|
|
30
|
+
`replyText`; it is surfaced at the review-question gate.
|
|
31
|
+
3. If CI also failed, summarize the fix direction in `ciGuidance` for the developer.
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
Set the result `output` to a `triage` object:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
{
|
|
39
|
+
"items": [ { "threadId": "<id>", "decision": "fix|wontfix|question", "guidance": "<for the dev>", "replyText": "<to post>" } ],
|
|
40
|
+
"ciGuidance": "<optional>",
|
|
41
|
+
"needsHuman": <true if any item is a question>
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Set the `verdict` field to EXACTLY one of (decision order):
|
|
46
|
+
|
|
47
|
+
- `question` — at least one thread is a question (the human gate fires first).
|
|
48
|
+
- `fix` — no questions, but at least one thread needs a code change.
|
|
49
|
+
- `wontfix` — every thread is a wontfix (reply + resolve, no code change).
|
|
50
|
+
|
|
51
|
+
Keep it concise. You are read-only: never modify the working tree.
|
|
@@ -15,10 +15,10 @@ is not red, and nothing obviously broke.
|
|
|
15
15
|
|
|
16
16
|
## Output
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Set the result `verdict` field (the pipeline routes on it) to EXACTLY one of these tokens:
|
|
19
19
|
|
|
20
20
|
- `clean` — the integrated change is healthy; proceed to the merge gate.
|
|
21
21
|
- `dirty` — something is wrong with the integration (drives rework/fail per the pipeline).
|
|
22
22
|
- `blocker` — a hard problem a human must resolve.
|
|
23
23
|
|
|
24
|
-
You are read-only: never modify the working tree.
|
|
24
|
+
Put your findings in `output`. You are read-only: never modify the working tree.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { BadRequestException, Catch } from '@nestjs/common';
|
|
8
|
+
import { GraphQLError } from 'graphql';
|
|
9
|
+
let GraphQLValidationExceptionFilter = class GraphQLValidationExceptionFilter {
|
|
10
|
+
catch(exception, host) {
|
|
11
|
+
if (host.getType() !== 'graphql') {
|
|
12
|
+
throw exception;
|
|
13
|
+
}
|
|
14
|
+
const response = exception.getResponse();
|
|
15
|
+
throw new GraphQLError(this.extractMessage(response, exception), {
|
|
16
|
+
extensions: {
|
|
17
|
+
code: response.code ?? 'BAD_REQUEST',
|
|
18
|
+
details: response.details,
|
|
19
|
+
context: response.context,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
extractMessage(response, exception) {
|
|
24
|
+
const message = response.message;
|
|
25
|
+
if (Array.isArray(message))
|
|
26
|
+
return message.join(', ');
|
|
27
|
+
if (typeof message === 'string')
|
|
28
|
+
return message;
|
|
29
|
+
return exception.message;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
GraphQLValidationExceptionFilter = __decorate([
|
|
33
|
+
Catch(BadRequestException)
|
|
34
|
+
], GraphQLValidationExceptionFilter);
|
|
35
|
+
export { GraphQLValidationExceptionFilter };
|
|
36
|
+
//# sourceMappingURL=graphql-validation-exception.filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-validation-exception.filter.js","sourceRoot":"","sources":["../../../../src/api/graphql-api/filters/graphql-validation-exception.filter.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAiB,mBAAmB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUhC,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAC3C,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACvD,IAAI,IAAI,CAAC,OAAO,EAAkB,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAwB,CAAC;QAC/D,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC/D,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,aAAa;gBACpC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,QAA4B,EAAE,SAA8B;QACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;CACF,CAAA;AAtBY,gCAAgC;IAD5C,KAAK,CAAC,mBAAmB,CAAC;GACd,gCAAgC,CAsB5C"}
|