Skip to content

Data flow

End-to-end path through the system (the spine of every Omega feature):

  1. UI → emits an OmegaIntent (e.g. login) via handleIntent or handleTypedIntent (or occasionally the channel, for global intents).
  2. Flow (when running) receives it in onIntent; may emit OmegaEvents on the channel (e.g. auth.login.request).
  3. Agent listens; behavior picks a reaction (e.g. doLogin); agent emits success / failure events.
  4. Flow handles events in onEvent; emits expressions for the UI and/or navigation events / intents.
  5. UI rebuilds from expressions or OmegaBuilder; OmegaNavigator resolves navigation to routes.
mermaid
sequenceDiagram
  participant UI as Widget
  participant FM as OmegaFlowManager
  participant F as OmegaFlow
  participant CH as OmegaChannel
  participant A as OmegaAgent
  participant NAV as OmegaNavigator
  UI->>FM: handleIntent / handleTypedIntent(login)
  FM->>F: onIntent
  F->>CH: emit auth.login.request
  CH->>A: events
  A->>CH: emit auth.login.success
  CH->>F: onEvent
  F->>CH: emitExpression / navigate.home
  CH->>NAV: navigation
  NAV-->>UI: new route

Where to read code

Follow example/lib/auth/ on GitHub after reading Channel & events and Intents, flows & manager.


Next