dify/api/core/workflow/nodes
GareArc 915b4ce840
feat: Add parent trace context propagation for workflow-as-tool hierarchy
Enables distributed tracing for nested workflows across all trace providers
(Langfuse, LangSmith, community providers). When a workflow invokes another
workflow via workflow-as-tool, the child workflow now includes parent context
attributes that allow trace systems to reconstruct the full execution tree.

Changes:
- Add parent_trace_context field to WorkflowTool
- Set parent context in tool node when invoking workflow-as-tool
- Extract and pass parent context through app generator

This is a community enhancement (ungated) that improves distributed tracing
for all users. Parent context includes: trace_id, node_execution_id,
workflow_run_id, and app_id.
2026-01-29 20:05:11 -08:00
..
agent chore: use from __future__ import annotations (#30254) 2026-01-06 23:57:20 +09:00
answer Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
base chore: use from __future__ import annotations (#30254) 2026-01-06 23:57:20 +09:00
code refactor(code_node): implement DI for the code node (#30519) 2026-01-04 21:50:42 +08:00
datasource Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
document_extractor feat: using charset_normalizer instead of chardet (#29022) 2025-12-05 11:19:19 +08:00
end Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
http_request fix: validate API key is not empty in HTTPRequest node (#29950) 2025-12-21 17:04:07 +08:00
human_input Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
if_else Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
iteration Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
knowledge_index Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
knowledge_retrieval fix: fix DatasetRetrieval._process_metadata_filter_func miss in operator (#30199) 2025-12-26 16:34:50 +08:00
list_operator Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
llm feat: credit pool (#30720) 2026-01-08 13:17:30 +08:00
loop fix: loop streaming by clearing stale subgraph variables (#30059) 2025-12-24 11:28:52 +08:00
parameter_extractor fix: handle list content type in Parameter Extraction node (#30070) 2025-12-25 10:19:50 +08:00
question_classifier adding llm_usage and error_type (#26546) 2025-12-10 09:19:13 +08:00
start feat: enhance start node object value check (#30732) 2026-01-09 16:13:17 +08:00
template_transform refactor(workflow): add Jinja2 renderer abstraction for template transform (#30535) 2026-01-05 10:46:37 +08:00
tool feat: Add parent trace context propagation for workflow-as-tool hierarchy 2026-01-29 20:05:11 -08:00
trigger_plugin Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
trigger_schedule Refactor: centralize node data hydration (#27771) 2025-11-27 15:41:56 +08:00
trigger_webhook fix: webhook node output file as file variable (#29621) 2025-12-15 19:55:59 +08:00
variable_aggregator Refactor workflow nodes to use generic node_data (#28782) 2025-11-27 20:46:56 +08:00
variable_assigner fix(api): defer streaming response until referenced variables are updated (#30832) 2026-01-12 16:23:18 +08:00
__init__.py feat: knowledge pipeline (#25360) 2025-09-18 12:49:10 +08:00
node_factory.py feat: Add conversation variable persistence layer (#30531) 2026-01-06 14:05:33 +08:00
node_mapping.py feat(api): automatically `NODE_TYPE_CLASSES_MAPPING` generation from node class definitions (#28525) 2025-12-01 14:14:19 +08:00