Rxova
Skip to content

Protocol

type JourneyDevtoolsCommand =
| { type: "startJourney" }
| { type: "goToNextStep" }
| { type: "terminateJourney" }
| { type: "completeJourney" }
| { type: "goToStepById"; stepId: string }
| { type: "goToPreviousStep"; steps?: number }
| { type: "goToLastVisitedStep" }
| { type: "send"; event: { type: string; payload?: unknown } }
| { type: "resetJourney" }
| { type: "clearStepError"; stepId?: string }
| { type: "getExecutionPaths"; options?: { maxDepth?: number; maxPaths?: number } };

Protocol version is 4.

Register envelopes now include capability metadata:

  • meta.capabilities.commands
  • meta.capabilities.observe
  • meta.capabilities.executionPaths
  • meta.capabilities.persistence (optional bridge-supplied metadata)

Protocol version is the compatibility boundary.

  • Incompatible command, envelope, or payload shape changes require a protocol version bump.
  • Panel and bridge consumers should upgrade together across protocol-version changes.
  • Additive metadata and additive fields are preferred over mutating existing shapes in place.
  • The bridge is tooling-facing. The runtime contract still lives in Core and React.

Bridge-origin envelopes now include:

  • register
  • snapshot
  • observation
  • commandResult
  • executionPathsResult
  • commandError
  • unregister

Snapshots sent by bridge include:

  • currentStepId
  • history.timeline
  • history.index
  • context
  • visited
  • status
  • async

observation envelopes mirror core JourneyObservationEvent field names, with nested payloads/errors cloned to transport-safe JSON values.

executionPathsResult envelopes return:

  • result.paths
  • result.truncated
  • result.cyclesDetected

See the shared Stability Contract for the broader support guarantees.