Skip to content

refactor(workflow): add Jinja2 renderer abstraction for template transform#29

Open
tomerqodo wants to merge 6 commits intosentry_combined_20260121_augment_sentry_coderabbit_1_base_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433from
sentry_combined_20260121_augment_sentry_coderabbit_1_head_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433
Open

refactor(workflow): add Jinja2 renderer abstraction for template transform#29
tomerqodo wants to merge 6 commits intosentry_combined_20260121_augment_sentry_coderabbit_1_base_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433from
sentry_combined_20260121_augment_sentry_coderabbit_1_head_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433

Conversation

@tomerqodo
Copy link

Benchmark PR from qodo-benchmark#433

laipz8200 and others added 6 commits January 21, 2026 15:54
…de and threaded it through DifyNodeFactory so TemplateTransform nodes receive the dependency by default, keeping behavior unchanged unless an override is provided. Changes are in `api/core/workflow/nodes/template_transform/template_transform_node.py` and `api/core/workflow/nodes/node_factory.py`.

**Commits**
- chore(workflow): identify TemplateTransform dependency on CodeExecutor
- feat(workflow): add CodeExecutor constructor injection to TemplateTransformNode (defaulting to current behavior)
- feat(workflow): inject CodeExecutor from DifyNodeFactory when creating TemplateTransform nodes

**Tests**
- Not run (not requested)

Next step: run `make lint` and `make type-check` if you want to validate the backend checks.
…Transform to use it, keeping CodeExecutor as the default adapter while preserving current behavior. Updates are in `api/core/workflow/nodes/template_transform/template_renderer.py`, `api/core/workflow/nodes/template_transform/template_transform_node.py`, `api/core/workflow/nodes/node_factory.py`, and `api/tests/unit_tests/core/workflow/nodes/template_transform/template_transform_node_spec.py`.

Commit-style summary:
- feat(template-transform): add Jinja2 template renderer abstraction with CodeExecutor adapter
- refactor(template-transform): use renderer in node/factory and update unit test patches

Tests not run (not requested).
…ode creation to return TemplateTransformNode directly for template-transform nodes in `api/core/workflow/nodes/node_factory.py`.

Commit-style summary:
- refactor(template-transform): derive TemplateRenderError from ValueError
- refactor(node-factory): instantiate TemplateTransformNode directly with injected renderer

Tests not run (not requested).
…ts/core/workflow/nodes/template_transform/template_transform_node_spec.py`)

chore(type-check): ran `make type-check` (basedpyright clean, 0 errors)

No errors reported.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants