* feat(free-container-plugin): add sub-canvas background support with inversify
- Add inversify dependency injection support for sub-canvas background
- Use useService to get BackgroundConfig from IoC container
- Support all background options: backgroundColor, dotColor, dotSize, etc.
- Add graceful fallback when BackgroundConfig is not registered
- Generate unique SVG pattern IDs to avoid conflicts
- Remove hardcoded background color from styles
- Add @flowgram.ai/background-plugin dependency
The sub-canvas now automatically inherits background configuration
from the main canvas.
* feat(background-plugin): export BackgroundConfig and bind to IoC container
- Export BackgroundConfig symbol for use by other plugins
- Add onBind method to register BackgroundConfig in IoC container
- Enable dependency injection pattern for background configuration access
This allows sub-canvas components to access background configuration
through inversify container.
* chore: update pnpm-lock.yaml after adding background-plugin dependency
- Update lock file to include @flowgram.ai/background-plugin dependency
- Ensures consistent dependency versions across environments
---------
Co-authored-by: husky-dot <xiaozhi@172-0-8-36.lightspeed.rcsntx.sbcglobal.net>
* 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(material): Add default value editing function
* style(json-schema-editor): Remove the console.log statements for debugging
* refactor(form-materials): Optimize the export methods of interfaces and utility functions
* refactor(material): Refactor the JSONSchemaEditor's default value input component to use common constant input
* chore: Update dependencies @types/inquirer and @types/node
* 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