Skip to content

feat(dsl): plan remaining DSL import node support #154

@WH-2099

Description

@WH-2099

Summary

Follow-up plan after the Slim LLM, Tool, and Code DSL import work. Current default DSL loading supports start, end, answer, if-else, template-transform, code, llm, and tool. This issue tracks the remaining node coverage by implementation shape.

Category 1: local node factory support

These nodes are mostly Graphon-local and should be the first expansion target:

  • http-request
  • variable-aggregator
  • assigner
  • list-operator

Goal: add DSL factory creation, payload normalization only where needed, and focused load/run tests.

Category 2: Slim LLM-backed nodes

These nodes can reuse the existing Slim LLM runtime path, but need node-specific wiring:

  • question-classifier
  • parameter-extractor

Goal: resolve model provider credentials through the same DSL Slim path as LLM nodes, then add import and execution tests.

Category 3: container nodes

These need recursive graph import and nested execution semantics before they can be considered loadable:

  • iteration
  • iteration-start
  • loop
  • loop-start
  • loop-end

Goal: define child graph normalization, internal start/end handling, variable scope, and error handling before enabling them in the default import whitelist.

Out of scope for now

These nodes do not have a clear support plan yet:

  • knowledge-retrieval
  • datasource
  • agent
  • human-input
  • document-extractor
  • variable-assigner

Their runtime boundaries are still unclear or their implementation is incomplete in Graphon. More specifically, the node logic has not yet been consolidated into Graphon and mostly still remains in Dify, so this issue does not schedule support for them.

Acceptance criteria

  • The default DSL import plan reports unsupported node types accurately.
  • New node support is added incrementally with import tests and at least one execution-path test per node family.
  • Documentation or examples are updated when a newly supported node changes the public DSL import surface.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions