* feat(runtime): init nodejs runtime
* feat(runtime): init folder struct
* feat(runtime): interface & test
* feat(runtime): basic api & schema interfaces
* feat(runtime): init runtime model framework
* feat(runtime): create document & node entities
* feat(runtime): runtime engine basic execute logic
* feat(runtime): node add variable data
* refactor(runtime): split to sub domains
* test(runtime): document module test
* feat(runtime): variable store
* feat(runtime): workflow runtime executor
* chore(demo): reset initial data
* feat(runtime): workflow runtime branch logic
* feat(runtime): workflow runtime access to ai model
* feat(runtime): workflow runtime data all add to context
* feat(runtime): workflow runtime invoke record snaphots
* feat(runtime): workflow runtime status
* feat(runtime): main api request processing chain
* chore(demo): reset initial data
* refactor(runtime): types move to interface package
* feat(runtime): router access api defines & interfaces
* feat(runtime): standardize api register & gen api docs
* feat(runtime): create snapshot before node execute
* fix(sub-canvas): tips cannot close
* chore(demo): reset initial data
* feat(demo): make node schema runnable
* feat(demo): access test run
* feat(runtime): runtime core can run in both browser & server env
* fix(runtime): condition value empty issue
* feat(runtime): beautify structure data view
* feat(demo): test run sidesheet
* chore(demo): test run sidesheet button fixed
* feat(demo): running node show flowing line
* chore(demo): hide node result overflow
* chore(demo): reset initial data
* feat(runtime): workflow runtime support loop node
* fix(container): sub canvas height issue
* feat(demo): test run multiple result render
* test(runtime): enbale test coverage
* refactor(runtime): interface folders structure
* refactor(runtime): core folders structure
* refactor(runtime): core export apis & access to router
* feat(demo): runtime plugin
* feat(runtime): server add try-catch protection
* fix(runtime): node process reset end time
* chore: format json
* chore: rush update
* refactor(demo): running service move to runtime-plugin as built-in runtime service
* fix(runtime): build error
* test(runtime): disable nodejs test
* fix(demo): test run result key indent width
* feat(demo): create group tool
* feat(demo): create group shortcut
* refactor(core): split group service, controller, utils files
* feat(history): free history add group operations
* feat(demo): group node render
* feat(demo): group node registry
* refactor(stack): remove layer computing config
* feat(stack): line stackIndex cannot be recalculated by default
* feat(demo): group title & color palette acess form
* feat(demo): ungroup button & shortcut
* feat(demo): create group & ungroup operation register to free history service
* refactor(group): group shortcuts move to group-plugin
* refactor(group): group node render move to group-plugin
* fix(group): undo/redo of create node or ungroup not work
* perf(history): free history remove async operation
* feat(group): trigger select box inside group
* fix(group): container inside group
* fix(group): auto layout should not be affected by group node
* feat(container): support multi-layer nested containers
* fix(group): group css variables overwrite each other
* fix(container): node move in or out group shouldn't clear lines
* feat(demo): node should follow mouse after move out container button clicked
* feat(container): disable group move to non-group container node
* fix(container): cross-level node moving causing coord offset
* feat(demo): comment node support more button
* fix(demo): comment in container fromJSON
* feat(container): node into container show move out tips
* feat(group): node into group show move out tips
* feat(group): delete group when blocks is empty
* refactor(group): createFreeGroupPlugin move to container-plugin
* refactor(demo): replace disablePorts with defaultPorts
* fix(demo): react warning
* refactor(group): group plugin built-in GroupNodeRegistry
* refactor(group): create free-group-plugin
* fix(ci): lock & ts-check & test errors
* refactor(free-container-plugin): decoupling workflow node panel service private methods to utils
* fix(free-demo): multi-select style in sub-canvas
* fix(config): enable eslint formatter
* feat(free-container-plugin): call node panel on single select mode
* refactor(free-demo): make methods in onDragLineEnd more atomic and easier understand
* refactor(free-demo): make methods in useAddNode more atomic and easier understand
* refactor(free-demo): make methods in lineAddButton.onClick more atomic and easier understand
* chore(free-demo): default add node to canvas viewport center
* fix(node-panel): resolve promise after panel closed
* chore(free-demo): add comments to node panel related code
* chore(node-panel): clear useless code