feat(automation): add BPMN parallel gateway, default flow, boundary event, and wait event semantics#780
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ault flow, boundary events, wait events - Add `parallel_gateway`, `join_gateway`, `boundary_event` node types to FlowNodeAction - Add `isDefault` field and `conditional` edge type to FlowEdgeSchema - Add `waitEventConfig` to FlowNodeSchema for external event wakeup - Add `boundaryConfig` to FlowNodeSchema for BPMN boundary event pattern - Add `parallel_join` and `boundary_event` checkpoint reasons to execution.zod.ts - Add 19 comprehensive tests covering all new BPMN semantics Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Add missing `connector_action` and `screen` to both FlowNodeAction and FlowNodeSchema 'accept all node types' tests for completeness. Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add BPMN key business semantics to automation engine
feat(automation): add BPMN parallel gateway, default flow, boundary event, and wait event semantics
Feb 22, 2026
hotlong
marked this pull request as ready for review
February 22, 2026 02:54
8 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances the ObjectStack automation engine with key BPMN 2.0 business semantics, enabling more sophisticated flow orchestration patterns such as parallel execution, default branching, boundary event handling, and structured wait states. The changes are entirely additive and backward-compatible, extending the existing flow schema without breaking changes.
Changes:
- Added 3 new node types (parallel_gateway, join_gateway, boundary_event) to support BPMN parallel split/join and boundary event patterns
- Introduced waitEventConfig and boundaryConfig as optional node configurations for event-driven flow control
- Enhanced edge schema with isDefault field and conditional edge type for BPMN default sequence flow semantics
- Extended checkpoint reasons to include parallel_join and boundary_event for proper execution state tracking
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/spec/src/automation/flow.zod.ts | Core schema additions: 3 new FlowNodeAction types, waitEventConfig for timer/signal/webhook/manual/condition events, boundaryConfig for error/timer/signal/cancel boundary events, isDefault field and conditional edge type |
| packages/spec/src/automation/flow.test.ts | Comprehensive test coverage with 19 new tests across 5 describe blocks validating parallel gateways, join gateways, default flows, wait events, boundary events, and fault edges |
| packages/spec/src/automation/execution.zod.ts | Added parallel_join and boundary_event to CheckpointSchema.reason enum to support new execution patterns |
| packages/spec/src/automation/execution.test.ts | Updated checkpoint reason validation tests to include new parallel_join and boundary_event reasons |
| ROADMAP.md | Updated flow orchestration count from 14 to 18 node types and added 5 new roadmap items documenting BPMN capabilities |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supplements the automation engine spec with high-value BPMN 2.0 business semantics: parallel split/join, default sequence flows, boundary events, and structured wait events. All additive, backward-compatible.
flow.zod.ts— Node & Edge SchemaFlowNodeAction:parallel_gateway(AND-split),join_gateway(AND-join),boundary_eventwaitEventConfigonFlowNodeSchema— typed event resumption forwaitnodes (timer/signal/webhook/manual/condition), with timeout andonTimeoutbehaviorboundaryConfigonFlowNodeSchema— BPMN boundary event attachment to host nodes (error/timer/signal/cancel), interrupting flagisDefaultonFlowEdgeSchema— marks the fallback edge when no sibling conditions matchconditionaledge type added alongside existingdefault/faultexecution.zod.ts— Checkpoint Reasonsparallel_joinandboundary_eventtoCheckpointSchema.reasonenumExample: Parallel Approval Flow
Tests
19 new tests covering parallel gateway flows, default branch decision routing, wait event configurations, boundary event attachment, and fault edge semantics. Full suite: 215 files, 6140 tests passing.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.