Skip to main content

Module types

Module types 

Source
Expand description

Core Binding Types

Foundational types for the binding system redesign:

  • BindingPath: Parsed path like $step1.data.items[0].name
  • BindingSource: Where data comes from (Task, Context, Input, Env, LoopVar)
  • PathSegment: Individual path segment (field name or array index)
  • BindingType: Type constraint on binding values (7 variants)

§Path Syntax

All binding paths start with $:

PatternSourceExample
$task_idTask output$step1, $step1.data.name
$context.*Context file/session$context.files.brand
$inputs.*Workflow inputs$inputs.locale
$env.*Environment variable$env.API_URL
$itemLoop variable (for_each)$item, $item.name

Array indexing uses brackets: $data.items[0].name

§Design Notes

  • Arc<str> for identifiers: cheap clones, no lifetime issues
  • BindingPath is Hash + Eq for use as map keys
  • BindingType has serde support for YAML deserialization
  • Parse errors use NIKA-150 error code

Structs§

BindingPath
Source path for a binding – parsed from “$task_id.field.path”
BindingPathError
Error type for binding path parsing (NIKA-150)

Enums§

BindingSource
Where data originates
BindingType
Type constraint on a binding value (optional, defaults to Any)
PathSegment
Single segment in a property path