Some checks failed
CI / lint-and-test (push) Has been cancelled
Move content to correct locations: - AGENTS.md → .agents/AGENTS.md (with orchestrator reference update) - third_party/docs/ (8 reference docs) → wiki/concepts/ - manuals/ (12 Node-RED docs) → wiki/manuals/ Delete 23 unreferenced one-off scripts from scripts/ (keeping 5 active). Delete stale Dockerfile.e2e, docker-compose.e2e.yml, test/e2e/. Remove empty third_party/ directory. Root is now: README, CLAUDE.md, LICENSE, package.json, Makefile, Dockerfile, docker-compose.yml, docker/, scripts/ (5), nodes/, wiki/, plus dotfiles (.agents, .claude, .gitea). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# Node-RED Messages and Editor/Runtime Structure (EVOLV Summary)
|
|
|
|
Sources:
|
|
- Messages: https://nodered.org/docs/user-guide/messages
|
|
- Edit dialog and node definition: https://nodered.org/docs/creating-nodes/edit-dialog
|
|
|
|
## Message Shape
|
|
|
|
- Standard message object is usually `msg`.
|
|
- `msg.payload` is the default value channel.
|
|
- `msg.topic` is used for routing/intent labeling.
|
|
|
|
## EVOLV Topic Routing
|
|
|
|
- EVOLV runtime wrappers route commands by `msg.topic` in `src/nodeClass.js`.
|
|
- Keep topic names stable unless a migration is defined (flow compatibility).
|
|
|
|
## Editor/Runtime Parity
|
|
|
|
- In `.html`, `RED.nodes.registerType(... defaults ...)` defines persisted config fields.
|
|
- Runtime parser in `src/nodeClass.js` must read and normalize the same fields.
|
|
- If a field is added/renamed in editor defaults, update runtime mapping and tests in the same change.
|
|
|
|
## Multi-Output Node Rule
|
|
|
|
- Runtime `node.send([out1, out2, out3])` must align with declared `outputs` in `.html`.
|
|
- If output meaning is `process`, `dbase`, `parent`, maintain stable index mapping across all message paths.
|