Skip to content

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

Open
hila-f-qodo wants to merge 6 commits intodevin_pr_code_review_bench_100_devin_base_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433from
devin_pr_code_review_bench_100_devin_head_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433
Open

refactor(workflow): add Jinja2 renderer abstraction for template transform#3
hila-f-qodo wants to merge 6 commits intodevin_pr_code_review_bench_100_devin_base_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433from
devin_pr_code_review_bench_100_devin_head_refactorworkflow_add_jinja2_renderer_abstraction_for_template_transform_pr433

Conversation

@hila-f-qodo
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.

3 participants

Comments