feat(pr): pr-create/pr-respond/pr-merge node kinds + handlers (U3)

Adds the three first-class PR workflow node kinds and their handlers via
createPrNodeHandlers(deps), registered in createDefaultNodeHandlers
(fail-closed pr-nodes-unwired when absent). GitHub ops are injected as
callbacks (PrNodeGithubOps) at all three CLI sites (daemon/serve/dashboard)
so the engine never imports the dashboard client (FN-3049). pr-create
routes open/failed as outcomes; pr-merge passes expectedHeadOid and never
writes 'merged' (reconcile corroborates); pr-respond delegates to an
injected respond callback (U5 fills the body). 10 tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-06-05 19:55:31 -07:00
parent b871046ad2
commit 4e16145aab
17 changed files with 750 additions and 13 deletions

View File

@@ -46,6 +46,20 @@ export {
type CodeNodeRunner,
type DefaultNodeHandlerDeps,
} from "./workflow-node-handlers.js";
export {
createPrNodeHandlers,
buildPrNodeDeps,
type PrNodeDeps,
type PrNodeGithubOps,
type PrNodeStore,
type PrSourceDescriptor,
type PrCreateCallInput,
type PrCreateCallResult,
type PrMergeCallInput,
type PrMergeCallResult,
type PrRespondCallInput,
type PrRespondCallResult,
} from "./pr-nodes.js";
export {
WorkflowGraphTaskRunner,
type WorkflowGraphRunDisposition,