Real-Time Mission Events
missionEvents() returns an async generator that yields AuraSseEvent objects as the agent works through each step. Each event has three fields:
id— a monotonically increasing string identifier you can use to resume the stream after a reconnectevent— the event type string (see table below)data— a JSON value with event-specific payload
mission.completed, mission.failed, and mission.cancelled are terminal events — the generator closes automatically after emitting one of them.
To reconnect and continue from a specific point in the stream, pass
{ lastEventId } as the second argument. The gateway replays all events
with IDs greater than the one you supply.Polling Mission Status
When you need a point-in-time snapshot rather than a continuous stream — for example in a background worker that checks missions on a schedule — callgetMission() with the run identifier.
getMission() returns a MissionProjection with these fields:
Use
status === "running" or status === "waiting" to determine whether a mission is still in progress, and status === "succeeded" to confirm a clean completion. The sequence field increments with every mutation — if a re-polled mission has the same sequence as your cached copy, nothing has changed.
Inspecting Execution Traces
Traces record the causal sequence of operations the agent performed: tool calls, model turns, decisions, and their timings. CallgetTrace() with the trace identifier found in mission step data.
- Operation sequence — each discrete action taken, in causal order
- Timing — start and end timestamps for every operation
- Tool invocations — which tools the agent called, with inputs and outputs (redacted where policy requires)
- Step linkage — how each trace span maps back to the corresponding step in the mission projection
Retrieving Skill Details
Skills are versioned, reusable agent capabilities registered in the Praxa Integration Gateway — analogous to functions or plugins. CallgetSkill() to retrieve the definition and evidence state for a skill your agent used.
Reference Coverage
getReferenceCoverage() returns an object describing which portions of the Integration Gateway API surface your gateway deployment supports. This is useful for detecting whether a newly released endpoint is available in your environment before building a dependency on it.
Coverage is reference evidence, not a production readiness guarantee. An
endpoint appearing in the coverage report means it is part of the API
contract your gateway is registered against — it does not mean the endpoint
will succeed for every input under all conditions.
Building a Dashboard
You have two options for powering a live mission dashboard: streaming events viamissionEvents() or polling via getMission(). Use streaming when you want the lowest latency; use polling when you need a simple periodic refresh without managing an open connection.
- Streaming (SSE)
- Polling
Forward the server-sent event stream from your backend to the browser using
an SSE or WebSocket relay.
Real-Time Events
Use
missionEvents() for the lowest latency. Events arrive as soon as they
are emitted by the gateway — ideal for live progress bars and step-by-step
logs.Periodic Polling
Use
getMission() in a polling loop for dashboards that refresh on a timer.
Simpler to implement and robust to transient connection issues.Execution Traces
Use
getTrace() after a mission completes to reconstruct the exact causal
sequence of operations for auditing or debugging.Skill Inspection
Use
getSkill() to verify which capability version and evidence state the
agent used — essential for compliance and reproducibility.