Commit Graph
6 Commits
Author SHA1 Message Date
Melvin StroblandClaude Fable 5 06a4506767 Add the flow API: typed messages, git-backed store, REST and live events
Makes the flow engine reachable from the API, which is what M3 needs before
any of it can reach the browser.

- app/flow is a package now; the prototype's watch-dir scripts and the
  matplotlib/networkx visualiser are gone with their dependencies.
- Messages carry a serializable dtype instead of a live Python type, and a
  port name, so the graph can speak qualified names while node functions keep
  local arguments. Redis state is JSON, not pickle.
- Message names are namespaced per flow ("heating.temp"); a bare name resolves
  to its own flow, a dotted one crosses flows.
- Several nodes may provide the same message: producers are a list, so fan-in
  is a real edge instead of a silently dropped one.
- Flows are stored as flow.json plus node sources in a git repository, one
  commit per save, with identical saves skipped so autosave stays quiet.
- Node failures are isolated and reported per node; validate() returns cycles
  and unconnected inputs instead of raising deep in a run.
- Credentials live in an encrypted store and are referenced as {"$secret": …}.
- Engine events reach websocket clients through a bus, so values, node status
  and execution show up live.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WzrvW7rjQbynnhF6pxh6i
2026-08-15 17:23:36 +02:00
Melvin Strobl 3cb16958ba croniter
Signed-off-by: Melvin Strobl <lc3267@kit.edu>
2026-02-15 10:43:02 +01:00
Melvin Strobl 77ad40059b influx
Signed-off-by: Melvin Strobl <lc3267@kit.edu>
2026-02-08 10:53:50 +01:00
Melvin Strobl 75b8c0ecf6 gc
Signed-off-by: Melvin Strobl <lc3267@kit.edu>
2026-02-06 19:44:48 +01:00
Melvin Strobl 57d2304d3c up 2026-02-06 10:43:19 +01:00
Melvin Strobl 2cd8e8f634 initial 2026-02-03 21:43:09 +01:00