Skip to content

DAG Nodes Specification

Scope

  • Node package layout and node definition delivery conventions.
  • Per-node packages export IDagNodeDefinition implementations.

Naming

  • Folder: packages/dag-nodes/<slug>
  • Package: @robota-sdk/dag-node-<slug>

Class Contract Registry

Inheritance Chains

All node definitions extend AbstractNodeDefinition from @robota-sdk/dag-node (previously in dag-core):

Base (Owner)DerivedLocation
AbstractNodeDefinition (dag-node)ImageLoaderNodeDefinitionsrc/image-loader/
AbstractNodeDefinition (dag-node)ImageSourceNodeDefinitionsrc/image-source/
AbstractNodeDefinition (dag-node)InputNodeDefinitionsrc/input/
AbstractNodeDefinition (dag-node)TextOutputNodeDefinitionsrc/text-output/
AbstractNodeDefinition (dag-node)TextTemplateNodeDefinitionsrc/text-template/
AbstractNodeDefinition (dag-node)TransformNodeDefinitionsrc/transform/
AbstractNodeDefinition (dag-node)LlmTextOpenAiNodeDefinitionsrc/llm-text-openai/
AbstractNodeDefinition (dag-node)OkEmitterNodeDefinitionsrc/ok-emitter/
AbstractNodeDefinition (dag-node)GeminiImageEditNodeDefinitionsrc/gemini-image-edit/
AbstractNodeDefinition (dag-node)GeminiImageComposeNodeDefinitionsrc/gemini-image-compose/
AbstractNodeDefinition (dag-node)SeedanceVideoNodeDefinitionsrc/seedance-video/

Cross-Package Port Consumers

Port (Owner)ConsumerNotes
AbstractNodeDefinition (dag-node)All 11 node definitionsEach implements executeWithConfig and estimateCostWithConfig
NodeIoAccessor (dag-node)All 11 node definitionsUsed for input reading and output assembly

Released under the MIT License.