@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.
- package/examples/services/board/README.md +36 -0
- package/examples/services/commits/README.md +12 -0
- package/examples/services/feed/README.md +29 -0
- package/examples/services/journal/README.md +15 -0
- package/examples/services/log/README.md +16 -0
- package/examples/services/registry/README.md +26 -0
- package/examples/services/reports/README.md +12 -0
- package/examples/services/ui/README.md +22 -0
- package/examples/services/usage/README.md +25 -0
- package/package.json +1 -1
|
@@ -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.
|