Notifications
The NotificationService provides real-time event delivery via server-sent events (SSE). Clients subscribe to a stream and receive notifications as they are published.
Service: firetiger.notifications.v1.NotificationService
Access: Read-write
Methods
| Method | Description |
|---|---|
| Subscribe | Open a server-streaming subscription for real-time notifications |
| Publish | Publish a notification to all active subscribers |
Subscribe
Open a long-lived server-streaming connection to receive notifications in real time. The server sends events as they arrive; the stream stays open until the client disconnects or the server closes it.
POST /firetiger.notifications.v1.NotificationService/Subscribe
REST alternative (SSE stream):
POST /v1/notifications:subscribe
| Field | Type | Required | Description |
|---|---|---|---|
organization_id |
string | No | Filter notifications to a specific organization. Defaults to the authenticated caller’s organization. |
curl -X POST "https://api.cloud.firetiger.com/firetiger.notifications.v1.NotificationService/Subscribe" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{}'
Publish
Publish a notification. All active subscribers receive the event.
POST /firetiger.notifications.v1.NotificationService/Publish
REST alternative:
POST /v1/notifications:publish
| Field | Type | Required | Description |
|---|---|---|---|
notification |
object | Yes | The notification to publish |
curl -X POST "https://api.cloud.firetiger.com/firetiger.notifications.v1.NotificationService/Publish" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"notification": {"payload": "{}"}}'
Agent session stream payloads
Agent sessions publish several payload types on the topic
agents/{agent}/sessions/{session}. Subscribe to that topic to tail a
session in real time; each Notification.value is a
google.protobuf.Any carrying one of the types below.
| Type URL | Purpose |
|---|---|
type.googleapis.com/firetiger.nxagent.v1.ActivityNotification |
A committed session message, wrapped with its 0-based sessionOffset so clients can reconcile against the authoritative ordering returned by Read. The inner activity is a google.protobuf.Any holding a firetiger.nxagent.v1.Activity. |
type.googleapis.com/firetiger.nxagent.v1.Activity |
The same activity as above, without the offset wrapper. Emitted for back-compat with subscribers that do not track offsets. |
type.googleapis.com/firetiger.nxagent.v1.AssistantThinking |
Sent once per LLM call, immediately before the first AssistantOutput. Signals that the model has begun generating a response but no tokens have arrived yet. |
type.googleapis.com/firetiger.nxagent.v1.AssistantOutput |
Streams LLM text deltas during response generation. Each delta carries a monotonic seq so clients can stitch them in order; seq resets per assistant turn and starts at 0. |
type.googleapis.com/firetiger.nxagent.v1.ToolOutput |
Streams incremental output during tool execution. Addressed by tool_call_id; may be text, JSON bytes, or OTLP traces. |
ActivityNotification is the authoritative shape — clients that need
ordered reconciliation should filter for it and ignore the bare
Activity notifications. The streaming payloads
(AssistantThinking, AssistantOutput, ToolOutput) are ephemeral and
are not replayed on reconnect; use Read to recover
state after a gap.