Uh oh!
There was an error while loading. Please reload this page.
feat: Studio Flow Builder, Wait NodeExecutor, BPMN Interop protocols - #783
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ols and update ROADMAP - Add studio/flow-builder.zod.ts: canvas node shapes, edge styles, layout algorithms, BPMN node descriptors, FlowBuilderConfigSchema (23 tests) - Add automation/node-executor.zod.ts: WaitExecutorConfig, WaitResumePayload, NodeExecutorDescriptor for wait pause/resume (19 tests) - Add automation/bpmn-interop.zod.ts: BPMN XML import/export options, element mappings, diagnostics, BUILT_IN_BPMN_MAPPINGS (20 tests) - Update studio/index.ts and automation/index.ts with new exports - Update ROADMAP.md with BPMN enhancement tracking and updated metrics Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
…d use fixed timestamp Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Pull request overview
This PR completes the BPMN semantic enhancement initiative (#771, #780, #781) by adding three critical protocol layers that bridge the gap between specification and runtime implementation:
Purpose: Defines the complete protocol specification for Studio Flow Builder canvas rendering, Wait node executor plugins, and BPMN XML interoperability—enabling visual flow editing, workflow pause/resume capabilities, and external BPM tool integration.
Changes:
- Adds Studio Flow Builder protocol with comprehensive canvas rendering specifications (shapes, icons, colors, layout algorithms) for all 18 FlowNodeAction types
- Adds Wait NodeExecutor plugin protocol defining pause/resume lifecycle, event types (timer/signal/webhook/manual/condition), and timeout behaviors
- Adds BPMN XML interop protocol with import/export options and 11 built-in element mappings for BPMN 2.0 compatibility
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
packages/spec/src/studio/flow-builder.zod.ts | New protocol defining FlowNodeRenderDescriptor (shape/icon/size/color), FlowCanvasNode/Edge (positions/waypoints/animation), FlowBuilderConfig (snap/zoom/layout/palette), and BUILT_IN_NODE_DESCRIPTORS for all 18 node types |
packages/spec/src/studio/flow-builder.test.ts | 23 comprehensive tests covering node shapes, render descriptors, canvas nodes/edges, layout algorithms, builder config, and BPMN parallel/boundary scenarios |
packages/spec/src/automation/node-executor.zod.ts | New protocol defining WaitResumePayload (executionId/checkpointId/eventType/webhookPayload), WaitExecutorConfig (timeout/polling/persistence), NodeExecutorDescriptor, and WAIT_EXECUTOR_DESCRIPTOR |
packages/spec/src/automation/node-executor.test.ts | 19 tests covering wait event types, resume payloads (timer/signal/webhook/manual/condition), executor config, and pause/resume lifecycle |
packages/spec/src/automation/bpmn-interop.zod.ts | New protocol defining BpmnElementMapping, BpmnImportOptions (unmapped strategy/layout/validation), BpmnExportOptions (version/extensions/pretty-print), BpmnInteropResult (diagnostics), and BUILT_IN_BPMN_MAPPINGS (11 element mappings) |
packages/spec/src/automation/bpmn-interop.test.ts | 20 tests covering BPMN element mappings, import/export options, version schema, diagnostics, interop results, and built-in mappings validation |
packages/spec/src/studio/index.ts | Exports all Flow Builder schemas, types, and helper function (defineFlowBuilderConfig) |
packages/spec/src/automation/index.ts | Exports node-executor and bpmn-interop modules |
ROADMAP.md | Updates metrics (193 schemas, 8,425+ descriptions, 218 test files, 6,202 tests), adds completion markers for Flow Builder/Wait Executor/BPMN Interop protocols, and tracks remaining runtime implementation tasks |
Adds the three missing protocol layers from the BPMN semantic enhancement (#771/#780): canvas rendering descriptors for the Studio flow editor, wait node pause/resume executor plugin schema, and BPMN XML import/export interop spec. Updates ROADMAP.md to reflect completed/remaining items.
Studio Flow Builder (
studio/flow-builder.zod.ts)FlowNodeRenderDescriptorSchema— shape, icon, size, color, palette category per node typeFlowCanvasNodeSchema/FlowCanvasEdgeSchema— position, visual overrides, waypoints, animationFlowBuilderConfigSchema— snap grid, zoom, layout algorithm (dagre/elk/force/manual), minimap, paletteBUILT_IN_NODE_DESCRIPTORS— pre-configured for all 18FlowNodeActiontypes includingparallel_gateway,join_gateway,boundary_event,waitWait Node Executor (
automation/node-executor.zod.ts)WaitResumePayloadSchema— typed resume for timer/signal/webhook/manual/condition events with variable injectionWaitExecutorConfigSchema— timeout behavior, condition polling, webhook URL pattern, checkpoint persistenceNodeExecutorDescriptorSchema— generic executor plugin descriptor with pause/cancel/retry capabilitiesWAIT_EXECUTOR_DESCRIPTOR— built-in wait executor registrationBPMN XML Interop (
automation/bpmn-interop.zod.ts)BpmnImportOptionsSchema/BpmnExportOptionsSchema— unmapped element strategy, layout import, BPMN version targeting, extension elementsBpmnInteropResultSchema— success/diagnostics/mapped countsBUILT_IN_BPMN_MAPPINGS— 11 bidirectional mappings (startEvent↔start, parallelGateway↔parallel_gateway, boundaryEvent↔boundary_event, etc.)ROADMAP.md
.describe()annotations, 218 test files, 6,202 testsOriginal prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.