v1.3.1
Agent-node selector fields now mirror the openclaw agent CLI flags 1:1 and are all template-resolvable.
- CLI-aligned naming:
agentId→agent,session→sessionKey. Old names kept as deprecated aliases (still work; non-blocking validator warning). Existing flows run unchanged. - New selectors:
sessionId(--session-id),channel(--channel). - Dynamic targets:
agent/sessionKey/sessionId/channelare interpolated, so a prior node can compute the target (e.g.agent: "{{ route.slug }}") — closes the gap whereagentId/sessionreached the CLI un-interpolated. - Internals: new declarative
NODE_FIELD_MODESregistry (single source of truth for field resolution, compile-time exhaustiveness-checked) read by both the runner and validator.
Full diff: #47