@versdotsh/reef 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,36 @@
1
+ # board
2
+
3
+ Shared task tracking for agent fleets. Tasks move through a review workflow: `open` → `in_progress` → `in_review` → `done`. Agents claim tasks, add notes and artifacts, bump priority, and submit work for review.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/board/tasks` | Create a task |
10
+ | `GET` | `/board/tasks` | List tasks (filter: `?status=`, `?assignee=`, `?tag=`) |
11
+ | `GET` | `/board/tasks/:id` | Get a task |
12
+ | `PATCH` | `/board/tasks/:id` | Update a task |
13
+ | `DELETE` | `/board/tasks/:id` | Delete a task |
14
+ | `POST` | `/board/tasks/:id/bump` | Bump priority score |
15
+ | `POST` | `/board/tasks/:id/notes` | Add a note |
16
+ | `GET` | `/board/tasks/:id/notes` | List notes |
17
+ | `POST` | `/board/tasks/:id/artifacts` | Attach an artifact |
18
+ | `POST` | `/board/tasks/:id/review` | Submit for review |
19
+ | `POST` | `/board/tasks/:id/approve` | Approve (sets status to `done`) |
20
+ | `POST` | `/board/tasks/:id/reject` | Reject (sets status back to `open`) |
21
+ | `GET` | `/board/review` | List tasks awaiting review |
22
+ | `GET` | `/board/_panel` | UI panel (HTML fragment) |
23
+
24
+ ## Tools
25
+
26
+ - `board_create_task` — create a task with title, description, assignee, tags
27
+ - `board_list_tasks` — list/filter tasks
28
+ - `board_update_task` — update status, assignee, title, tags
29
+ - `board_add_note` — add a finding, question, or update note
30
+
31
+ ## Events
32
+
33
+ Emits to the server-side event bus:
34
+ - `board:task_created` — `{ task }`
35
+ - `board:task_updated` — `{ task, changes }`
36
+ - `board:task_deleted` — `{ taskId }`
@@ -0,0 +1,12 @@
1
+ # commits
2
+
3
+ VM snapshot ledger. Records which VMs were committed, when, by whom, and with what labels. Useful for tracking golden images, rollback points, and the evolution of your fleet's VM state.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/commits` | Record a commit (`{ commitId, vmId, label?, agent, tags? }`) |
10
+ | `GET` | `/commits` | List commits (filter: `?tag=`, `?agent=`, `?label=`, `?vmId=`) |
11
+ | `GET` | `/commits/:commitId` | Get a commit by commitId |
12
+ | `DELETE` | `/commits/:commitId` | Delete a commit record |
@@ -0,0 +1,29 @@
1
+ # feed
2
+
3
+ Activity event stream for coordination and observability. Services publish events, agents and dashboards consume them. Supports SSE streaming for real-time updates.
4
+
5
+ Automatically listens for server-side events from other modules:
6
+ - `board:task_created` → feed event `task_started`
7
+ - `board:task_updated` → feed event `task_completed` (when status becomes `done`)
8
+
9
+ ## Routes
10
+
11
+ | Method | Path | Description |
12
+ |--------|------|-------------|
13
+ | `POST` | `/feed/events` | Publish an event |
14
+ | `GET` | `/feed/events` | List events (filter: `?agent=`, `?type=`, `?since=`, `?limit=`) |
15
+ | `GET` | `/feed/events/:id` | Get an event |
16
+ | `DELETE` | `/feed/events` | Clear all events |
17
+ | `GET` | `/feed/stats` | Event count statistics |
18
+ | `GET` | `/feed/stream` | SSE stream of new events |
19
+ | `GET` | `/feed/_panel` | UI panel (HTML fragment) |
20
+
21
+ ## Tools
22
+
23
+ - `feed_publish` — publish an event with agent, type, summary, and optional detail
24
+ - `feed_list` — list/filter recent events
25
+ - `feed_stats` — get summary statistics
26
+
27
+ ## Behaviors
28
+
29
+ Auto-publishes feed events when board tasks are created or completed.
@@ -0,0 +1,15 @@
1
+ # journal
2
+
3
+ Personal narrative log for agents. Like `log` but with mood/vibe tagging — agents reflect on their work, record observations, and track how things are going. Useful for building agent personality and self-awareness over time.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/journal` | Write an entry (`{ text, author, mood?, tags? }`) |
10
+ | `GET` | `/journal` | List entries |
11
+ | `GET` | `/journal/raw` | Plain text format |
12
+
13
+ ## Tools
14
+
15
+ - `journal_entry` — write a journal entry with optional mood and tags
@@ -0,0 +1,16 @@
1
+ # log
2
+
3
+ Append-only work log. Agents write timestamped entries about what they're doing — like Carmack's `.plan` file. Useful for debugging, auditing, and keeping a shared record of fleet activity.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/log` | Append an entry (`{ text, agent }`) |
10
+ | `GET` | `/log` | List entries (filter: `?last=1h`, `?last=7d`) |
11
+ | `GET` | `/log/raw` | Plain text format |
12
+
13
+ ## Tools
14
+
15
+ - `log_append` — append a work log entry
16
+ - `log_query` — query entries by time range (`since`, `until`, `last`)
@@ -0,0 +1,26 @@
1
+ # registry
2
+
3
+ VM service discovery for agent fleets. Agents register themselves with a role, address, and capabilities. Other agents discover peers by role. Heartbeats keep registrations alive.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/registry/vms` | Register a VM |
10
+ | `GET` | `/registry/vms` | List VMs (filter: `?role=`, `?status=`) |
11
+ | `GET` | `/registry/vms/:id` | Get a VM |
12
+ | `PATCH` | `/registry/vms/:id` | Update a VM |
13
+ | `DELETE` | `/registry/vms/:id` | Deregister a VM |
14
+ | `POST` | `/registry/vms/:id/heartbeat` | Send heartbeat |
15
+ | `GET` | `/registry/discover/:role` | Discover VMs by role |
16
+
17
+ ## Tools
18
+
19
+ - `registry_list` — list VMs, optionally filter by role or status
20
+ - `registry_register` — register a VM with id, name, role, address, services
21
+ - `registry_discover` — find VMs by role (worker, lieutenant, etc.)
22
+ - `registry_heartbeat` — keep a registration alive
23
+
24
+ ## Behaviors
25
+
26
+ Auto-registers and auto-heartbeats when running as part of a fleet.
@@ -0,0 +1,12 @@
1
+ # reports
2
+
3
+ Markdown reports. Agents write structured reports — sprint summaries, investigation findings, status updates. Stored with title, author, tags, and timestamp.
4
+
5
+ ## Routes
6
+
7
+ | Method | Path | Description |
8
+ |--------|------|-------------|
9
+ | `POST` | `/reports` | Create a report (`{ title, content, author, tags? }`) |
10
+ | `GET` | `/reports` | List reports |
11
+ | `GET` | `/reports/:id` | Get a report |
12
+ | `DELETE` | `/reports/:id` | Delete a report |
@@ -0,0 +1,22 @@
1
+ # ui
2
+
3
+ Web dashboard with magic link auth, dynamic panel discovery, and chat interface. Mounts at root — serves `/ui/*` and `/auth/*`.
4
+
5
+ The UI discovers panels from other services at runtime. Any service that serves `GET /_panel` gets a tab in the dashboard. The chat tab connects to the agent service via SSE for streaming conversations with pi.
6
+
7
+ ## Routes
8
+
9
+ | Method | Path | Description |
10
+ |--------|------|-------------|
11
+ | `POST` | `/auth/magic-link` | Generate a one-time login URL |
12
+ | `GET` | `/ui/login` | Magic link landing page (sets session cookie) |
13
+ | `GET` | `/ui/` | Dashboard shell |
14
+ | `GET` | `/ui/static/:file` | Static assets (JS, CSS) |
15
+ | `ALL` | `/ui/api/*` | Auth proxy — injects bearer token so the browser never needs it |
16
+
17
+ ## How it works
18
+
19
+ 1. **Auth**: `POST /auth/magic-link` with bearer token → returns a URL. Opening it sets a 24h session cookie.
20
+ 2. **Panel discovery**: The dashboard polls `GET /services` every 30s, fetches `GET /<service>/_panel` for each, and injects the HTML as tabs.
21
+ 3. **Chat**: Creates a pi RPC session via the agent service, streams responses via SSE, renders markdown with collapsible tool calls.
22
+ 4. **API proxy**: All requests to `/ui/api/*` are forwarded with the bearer token from the session, so panel scripts and chat can call any service endpoint without exposing the token to the browser.
@@ -0,0 +1,25 @@
1
+ # usage
2
+
3
+ Cost and token tracking for agent fleets. Records per-session token usage, cost breakdowns, and VM lifecycle events. Provides summaries by agent and time range.
4
+
5
+ Depends on `feed` — publishes `agent_stopped` events when sessions end.
6
+
7
+ ## Routes
8
+
9
+ | Method | Path | Description |
10
+ |--------|------|-------------|
11
+ | `GET` | `/usage` | Usage summary (filter: `?range=7d`) |
12
+ | `POST` | `/usage/sessions` | Record a session |
13
+ | `GET` | `/usage/sessions` | List sessions (filter: `?agent=`, `?range=`) |
14
+ | `POST` | `/usage/vms` | Record a VM lifecycle event |
15
+ | `GET` | `/usage/vms` | List VM records |
16
+
17
+ ## Tools
18
+
19
+ - `usage_summary` — get cost & token totals by agent and time range
20
+ - `usage_sessions` — list session records with tokens, cost, turns, tool calls
21
+ - `usage_vms` — list VM lifecycle records
22
+
23
+ ## Behaviors
24
+
25
+ Auto-records usage data from feed events.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versdotsh/reef",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Self-improving fleet infrastructure — the minimum kernel agents need to build their own tools",
5
5
  "type": "module",
6
6
  "scripts": {