326 Commits

Author SHA1 Message Date
root
c32871d9d0 fix(ui): no-cache static assets (stop stale CSS/JS after deploys); live nav-active sync; breadcrumb sized+themed to match back button
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:23:00 +10:00
root
261ca6ba9e feat(ui): breadcrumb (Space › parent › page) + export menu (md/txt/html/pdf) on pages & spaces
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:12:57 +10:00
root
8ed3c5deb4 feat(ui): Terminal tab — embedded blackflame ttyd to CT300 (claude in persistent tmux)
ttyd on CT300 (:7681, firewalled to Traefik) behind same-origin /terminal via
Traefik + CF Access; iframe view + nav entry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:09:35 +10:00
root
16f2083253 feat(ui): blackflame theming pass — edit toggle, md tables, back button, Little Blue action cards
- markdown_editor Edit toggle uses themed ghost button
- .md-preview gets full blackflame styling incl. tables (migrated BookStack tables now render as tables)
- reusable back button on page/reference/project/resource reading views
- Little Blue actions regrouped into themed cards, pairing Start/Stop per guest

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:02:32 +10:00
root
f5c7b24d81 feat(ui): page editor — single rendered pane with Edit/Preview toggle
Replaces the always-on split Edit|Preview (page shown twice) with a rendered
preview by default + an Edit toggle that swaps the pane to a textarea in place.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:53:56 +10:00
root
2ec6dd336d feat(ui): Space view — Projects + Open tasks side-by-side; full pages & refs table
Was capped at 6 pages/refs; now lists all pages + refs (≤200) in a table below.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:48:30 +10:00
root
332a0158a0 feat(migrate): CLI dispatch + verify
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:21:48 +10:00
root
718f92676d feat(migrate): BookStack importer
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:21:03 +10:00
root
b0d87fe5bf feat(migrate): Karakeep bookmarks importer
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:21:03 +10:00
root
af2dacbc00 feat(migrate): Void 1 SQLite importer
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:19:32 +10:00
root
485589a488 feat(migrate): plans importer
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:18:44 +10:00
root
1a10bfea0d feat(migrate): ensureSpace helper
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:18:44 +10:00
root
681b091e4a feat(migrate): migration_map idempotency ledger
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:18:05 +10:00
root
bbb90c12c6 docs: void-migrate implementation plan
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:17:32 +10:00
root
feb700e3f6 docs: void-migrate (Plan 8a) design spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:14:29 +10:00
root
cea2442c4f fix(actions): ssh channel pins known_hosts beside key (no HOME dependency)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:00:52 +10:00
root
169e3b6d5c feat(actions): configurable SSH user + insecure-TLS for PVE; real action whitelist + Z wrapper
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:56:33 +10:00
root
80ad482d82 chore: release 2.0.0-alpha.16 (Little Blue + action framework)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:48:15 +10:00
root
8dfb56d2ac feat(ui): Little Blue view — caretaker chat + actions panel
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:44:35 +10:00
root
b064f7f1a9 feat(littleblue): agent seed + persona + chat route
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:43:34 +10:00
root
ff681847ed feat(littleblue): blue tool registry (list/propose action via local API) + run_turn extraEnv
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:42:27 +10:00
root
3aa8dc578b feat(actions): /api/actions routes (run/pending/approve/reject)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:41:29 +10:00
root
62113f37e6 feat(actions): tiered action service (safe-run / risky-queue / approve)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:40:50 +10:00
root
a186116c4d feat(actions): SSH forced-command service-restart channel + host wrapper
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:40:20 +10:00
root
c9268f8792 feat(actions): scoped Proxmox power channel
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:40:20 +10:00
root
2c3d78c99b feat(actions): config-driven action whitelist registry
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:40:20 +10:00
root
135244cb13 feat(actions): agent_actions table + repo
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:39:05 +10:00
root
d500b6fa00 docs: Little Blue implementation plan
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:38:28 +10:00
root
e58090e607 docs: Little Blue (Plan 7 brick 2) design spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:33:01 +10:00
root
6ceb27fa2f chore: release 2.0.0-alpha.15 (Yerin online)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:14:38 +10:00
root
eb33bd8604 feat(ui): Sentinel view — Yerin global security chat
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:11:11 +10:00
root
423cbd342a refactor(ui): Dross rail uses agent_chat
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:11:11 +10:00
root
1aebdfe317 feat(ui): extract reusable agent_chat panel
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:11:11 +10:00
root
79b8197c99 feat(yerin): global security chat endpoint /api/security/yerin
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:09:12 +10:00
root
d480d79843 refactor(companion): ride on shared runAgentTurn + personas
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:08:05 +10:00
root
01c6594bfb feat(agents): shared runAgentTurn turn-runner
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:06:56 +10:00
root
1a28742536 feat(agents): personas module (Dross + Yerin), keyed by slug
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:06:56 +10:00
root
e8dfc8f392 feat(agents): conversations.findOrCreateGlobal for space-less agents
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:04:31 +10:00
root
92299548ee docs: Yerin online implementation plan
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:03:57 +10:00
root
84bb2739e1 docs: Yerin online (Plan 7 brick 1) design spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:59:12 +10:00
root
6b26b79a84 chore: release 2.0.0-alpha.14 (MCP HTTP transport)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:13:20 +10:00
root
6041f845e9 feat(mcp): mount /mcp Streamable HTTP endpoint
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:09:30 +10:00
root
0b29b8c2f3 feat(mcp): mcpAuth middleware — agent bearer + space scope + rate limit
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:08:45 +10:00
root
185a4f3c96 feat(mcp): external registry + agent ctx + Streamable HTTP server
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:08:14 +10:00
root
c955f1eaaf feat(mcp): space-scope the read tool for bound callers
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:07:22 +10:00
root
99b1fa445a docs: MCP HTTP/SSE transport implementation plan
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 20:06:32 +10:00
root
858ef53eea docs: MCP HTTP/SSE transport design spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 19:59:39 +10:00
root
f780043f2d feat(ui): 2.0.0-alpha.13 — finer per-card width scaling (12-col grid + -/+ stepper)
clock/weather etc. default to 1/6 width; sizes store an integer span 1-12
(legacy s/m/l still accepted by /api/dashboard/layout).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 18:23:37 +10:00
root
ae3a45251d feat(ui): 2.0.0-alpha.12 — editable Sacred Valley layout
Edit-layout mode: per-card resize (S/M/L), show/hide with a hidden-cards tray,
drag-to-reorder via a dedicated grip handle, and reset-to-default. Persists via
the existing /api/dashboard/layout (order/sizes/hidden) — no backend change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 18:15:08 +10:00
root
ce26895d8e feat: 2.0.0-alpha.11 — DB-backed service registry + LAN auto-discovery
- monitored_services table (mig 015) replaces config/services.json (now a boot seed)
- owner CRUD over /api/health/services; GET is DB-backed; cron+worker read the DB
- discover.lan worker: pure-Node TCP sweep + HTTP-title probe -> disabled 'discovered'
  candidates (never clobbers curated entries); POST /api/health/discover + GET .../discovered
- dashboard: Scan button + Discovered(N) section with one-click promote

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 07:55:08 +10:00