Reference

activity (Soon)

Subscribable resource: family-wide Activity event stream.

The resource

URI: sprout://family/activity

Required scope: task:read

The family-wide Activity stream. Every meaningful event: tasks completed, skills run, gems earned, screen-time requests filed. Planned The resource that makes event-driven heartbeats real.

When it pushes

Push payload

The notification frame on the SSE stream:

JSON-RPC
{
  "jsonrpc": "2.0",
  "method": "notifications/resources/updated",
  "params": { "uri": "sprout://family/activity" }
}

The frame only names the URI that changed. To get the new state, your agent calls resources/read <uri>.

Read shape

Calling resources/read sprout://family/activity returns:

JSON
{
  "events": [
    {
      "eventId": "uuid",
      "type": "task.completed" | "skill.invoked" | "gems.adjusted" | "screentime.requested" | ...,
      "actor": { "kind": "kid" | "system", "id": "uuid" },
      "refs": { "taskId": "uuid", "skillId": "uuid" },
      "payload": { ... type-specific ... },
      "timestamp": "2026-05-23T14:02:00Z"
    }
  ],
  "nextCursor": "opaque" | null
}

Subscribe / unsubscribe

Shell
resources/subscribe sprout://family/activity
# ... server holds the SSE stream open, pushes on every change ...
resources/unsubscribe sprout://family/activity

Notes

Coming soon. The full Activity model lives at Model: Activity.

See also