chore: version 2.0.0-alpha.5 + plan-5 completion doc
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
32
CHANGELOG.md
32
CHANGELOG.md
@@ -3,6 +3,38 @@
|
||||
All notable changes to Void 2.0 are documented here.
|
||||
Format: [Keep a Changelog](https://keepachangelog.com).
|
||||
|
||||
## [2.0.0-alpha.5] — 2026-06-01
|
||||
|
||||
### Added (Plan 5: Companion chat)
|
||||
|
||||
- **Right-rail companion chat** — an always-visible, per-Space AI assistant.
|
||||
Label-led turns (YOU / Companion) with left/right alignment, live
|
||||
tool-activity chips, streamed answers (markdown via DOMPurify), and inline
|
||||
approve/reject draft cards. Loads its space's history on first paint via the
|
||||
`space-active` state event.
|
||||
- **Lean agent runtime** (`lib/ai/agent/runtime.js`) on the Anthropic SDK
|
||||
directly — no Mastra. `runTurn` drives a tool-use loop (max-iteration
|
||||
guarded), streams text deltas, and emits `tool` / `delta` / `draft` events.
|
||||
`callModel` is injectable (the SSE endpoint takes a fake in tests, so the
|
||||
suite never hits the network).
|
||||
- **Extensible shared tool registry** (`lib/ai/agent/registry.js`) with four
|
||||
v1 tools: `search` (hybrid FTS), `read`, `context` (resolves the active
|
||||
view), and `propose_change`. Adding a tool is a one-line `registerTool`;
|
||||
a future MCP server re-exposes the same defs.
|
||||
- **`propose_change` never applies** — it only writes a `pending_changes` row,
|
||||
capability-gated via `canAct` (default `suggest`). Prompt-injection
|
||||
containment is structural: a poisoned document can at most produce a draft
|
||||
the owner must approve. Drafts render inline in chat AND in the Inbox (same
|
||||
row; approving from either flips it).
|
||||
- **Companion API** — `GET /api/spaces/:id/companion` (history) and
|
||||
`POST /api/spaces/:id/companion/turn` (SSE). One ambient conversation per
|
||||
Space (`conversations.space_id` via migration 007); one assistant message
|
||||
per turn with the tool trace + draft ids in `metadata`.
|
||||
- **`@anthropic-ai/sdk`** dependency; key resolved via the `env:`/`file:`
|
||||
`vault_path` resolver (`lib/ai/secret.js`) — Vaultwarden swap still deferred.
|
||||
- Default model `claude-sonnet-4-6`, overridable per-agent (`agents.model`)
|
||||
and via `ANTHROPIC_MODEL` — the seam for scope-C local personas.
|
||||
|
||||
## [2.0.0-alpha.4] — 2026-06-01
|
||||
|
||||
### Added (Plan 4: Python void-workers)
|
||||
|
||||
Reference in New Issue
Block a user