-LAN-
04bbf540d9
chore: code format
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-04 02:33:53 +08:00
-LAN-
657c27ec75
feat(graph_engine): make runtime state read-only in layer
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-04 02:30:40 +08:00
-LAN-
8332472944
refactor(graph_engine): rename Layer to GraphEngineLayer
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-04 02:11:31 +08:00
-LAN-
fe3f03e50a
feat: add property-based access control to GraphRuntimeState
...
- Replace direct field access with private attributes and property decorators
- Implement deep copy protection for mutable objects (dict, LLMUsage)
- Add helper methods: set_output(), get_output(), update_outputs()
- Add increment_node_run_steps() and add_tokens() convenience methods
- Update loop_node and event_handlers to use new accessor methods
- Add comprehensive unit tests for immutability and validation
- Ensure backward compatibility with existing property access patterns
2025-09-04 02:08:58 +08:00
-LAN-
1770b93e5b
chore(graph_engine): Add a TODO commment in `_update_response_outputs` in event_handlers
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-02 15:20:03 +08:00
-LAN-
d8ff4aa9ba
feat(graph_engine): Handle NodeRunAgentLogEvent
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-02 15:02:07 +08:00
-LAN-
9f8f21bf87
chore: remove backup files
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-02 15:01:58 +08:00
-LAN-
0b0dc63f29
Merge remote-tracking branch 'origin/main' into feat/queue-based-graph-engine
2025-09-02 11:52:25 +08:00
willzhao
ffba341258
[CHORE]: remove redundant-cast ( #24807 )
2025-09-01 14:05:32 +08:00
-LAN-
8433cf4437
refactor(graph_engine): Merge event_collector and event_emitter into event_manager
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 13:15:58 +08:00
-LAN-
bb5d52539c
refactor(graph_engine): Merge branch_handler into edge_processor
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 12:53:06 +08:00
-LAN-
88622f70fb
refactor(graph_engine): Move setup methods into `__init__`
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 12:08:03 +08:00
-LAN-
0fdb1b2bc9
refactor(graph_engine): Correct private attributes and private methods naming
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 04:37:23 +08:00
-LAN-
a5cb9d2b73
refactor(graph_engine): inline output_registry into response_coordinator
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 03:59:53 +08:00
-LAN-
64c1234724
refactor(graph_engine): Merge worker management into one WorkerPool
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 03:23:47 +08:00
-LAN-
202fdfcb81
refactor(graph_engine): Remove backward compatibility code
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 02:41:16 +08:00
-LAN-
e2f4c9ba8d
refactor(graph_engine): Merge state managers into unified_state_manager
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-01 02:08:08 +08:00
-LAN-
82193580de
chore: improve typing
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-30 16:35:57 +08:00
-LAN-
c396788128
chore(graph_engine): add final mark to classes
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 15:38:35 +08:00
湛露先生
5c01dd97e8
clean typos words. ( #24667 )
...
Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
2025-08-28 15:23:59 +08:00
-LAN-
e3a7b1f691
fix: type hints
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 05:24:18 +08:00
-LAN-
8aab7f49c3
chore(graph_engine): Use `XXX | None` instead of `Optional[XXX]`
2025-08-28 05:09:33 +08:00
autofix-ci[bot]
1e12c1cbf2
[autofix.ci] apply automated fixes
2025-08-27 21:00:36 +00:00
-LAN-
affedd6ce4
chore(graph_engine): Use `XXX | None` instead of `Optional[XXX]`
2025-08-28 04:59:49 +08:00
-LAN-
ef21097774
refactor(graph_engine): Remove unnecessary check from SkipPropagator
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:45:26 +08:00
-LAN-
1d377fe994
refactor(graph_engine): Use _ to mark unused variable in BranchHandler
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:44:45 +08:00
-LAN-
c82697f267
refactor(graph_engine): Remove `node_id` from SkipPropagator.skip_branch_paths
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:43:56 +08:00
-LAN-
98b25c0bbc
refactor(graph_engine): Convert attrs to private in error_handler
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:42:37 +08:00
-LAN-
1cd0792606
chore(graph_events): Improve type hints
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:41:48 +08:00
-LAN-
7cbf4093f4
chore(graph_engine): Use `TYPE | None` instead of `Optional`
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:30:50 +08:00
-LAN-
8129ca7c05
chore(graph_engine): Move error_strategy.py to protocols/
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 04:29:32 +08:00
-LAN-
65617f000d
feat(event_collector): Update to use ReadWriteLock
2025-08-28 03:26:42 +08:00
-LAN-
55085a9ca2
chore(graph_engine): add type hint for event_queue
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-28 02:38:56 +08:00
autofix-ci[bot]
48cbf4c78f
[autofix.ci] apply automated fixes
2025-08-27 15:33:30 +08:00
-LAN-
8c35663220
feat: queue-based graph engine
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-27 15:33:28 +08:00
-LAN-
da9af7b547
[Chore/Refactor] Use centralized naive_utc_now for UTC datetime operations ( #24352 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-22 23:53:05 +08:00
Yongtao Huang
106ab7f2a8
Fix: safe defaults for BaseModel dict fields ( #24098 )
...
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-21 21:38:55 +08:00
-LAN-
577062b93a
refactor: simplify variable pool key structure and improve type safety ( #23732 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-11 18:10:04 +08:00
Asuka Minato
a189d293f8
make logging not use f-str, change others to f-str ( #22882 )
2025-07-25 10:32:48 +08:00
-LAN-
460a825ef1
refactor: decouple Node and NodeData ( #22581 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
2025-07-18 10:08:51 +08:00
QuantumGhost
2c1ab4879f
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization ( #22025 )
...
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025 )
This PR addresses serialization issues in the VariablePool model by separating the `value_type` tags for `IntegerSegment`/`FloatSegment` and `IntegerVariable`/`FloatVariable`. Previously, both Integer and Float types shared the same `SegmentType.NUMBER` tag, causing conflicts during serialization.
Key changes:
- Introduce distinct `value_type` tags for Integer and Float segments/variables
- Add `VariableUnion` and `SegmentUnion` types for proper type discrimination
- Leverage Pydantic's discriminated union feature for seamless serialization/deserialization
- Enable accurate serialization of data structures containing these types
Closes #22024 .
2025-07-16 12:31:37 +08:00
湛露先生
edf5fd28c9
update worklow events logs. ( #19871 )
...
Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
2025-07-10 14:21:34 +08:00
-LAN-
8f723697ef
refactor(graph_engine): Take GraphRuntimeState out of GraphEngine ( #21882 )
2025-07-07 13:15:18 +08:00
QuantumGhost
268da31332
fix(api): adding variable to variable pool recursively while loading draft variables. ( #21478 )
...
This PR fix the issue that `ObjectSegment` are not recursively added to the draft variable pool while loading draft variables from database. It also fixes an issue about loading variables with more than two elements in the its selector.
Enhances #19735 .
Closes #21477 .
2025-06-25 12:39:22 +08:00
QuantumGhost
10b738a296
feat: Persist Variables for Enhanced Debugging Workflow ( #20699 )
...
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.
By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.
Key highlights of this change:
- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.
Closes #19735 .
2025-06-24 09:05:29 +08:00
-LAN-
879f839d75
refactor(graph_engine): Merge duplicated if block ( #20784 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-06-18 14:33:29 +08:00
-LAN-
0dcacdf83d
feat: add a flask_context_manager. ( #21061 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-06-17 16:31:29 +08:00
-LAN-
72fdafc180
refactor: Replaces direct DB session usage with context managers ( #20569 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-06-03 16:16:06 +08:00
-LAN-
a6ea15e63c
Refactor/message cycle manage and knowledge retrieval ( #20460 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-30 14:36:44 +08:00
-LAN-
32e779eef3
refactor(workflow): Rename NodeRunMetadataKey to WorkflowNodeExecutionMetadataKey ( #20457 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-30 04:47:56 +08:00