homaruscc 0.2.0 → 0.3.0

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/README.md CHANGED
@@ -154,6 +154,7 @@ Restart Claude Code. HomarUScc's tools will appear automatically. The proxy auto
154
154
  |------|-------------|
155
155
  | `telegram_send` | Send a message to a Telegram chat |
156
156
  | `telegram_read` | Read recent incoming messages |
157
+ | `telegram_typing` | Send a typing indicator |
157
158
  | `memory_search` | Hybrid vector + full-text search over stored content |
158
159
  | `memory_store` | Store and index content for later retrieval |
159
160
  | `timer_schedule` | Schedule cron, interval, or one-shot timers |
@@ -190,6 +191,19 @@ When enabled, the dashboard runs on `http://localhost:3120` with:
190
191
  - System status panel
191
192
  - Memory search browser
192
193
 
194
+ The dashboard is responsive — on mobile devices the sidebar collapses into a hamburger menu. Accessible remotely over Tailscale at `http://<your-tailscale-ip>:3120`.
195
+
196
+ ### Apps Platform (planned)
197
+
198
+ The dashboard supports a pluggable apps system. The agent can build mini web apps on request (budget trackers, reading lists, dashboards) that live inside the dashboard UI:
199
+
200
+ - Apps live at `~/.homaruscc/apps/{slug}/` with a manifest, React component, and JSON data store
201
+ - Each app declares hooks (`read`, `write`, `describe`) exposed via a single `app_invoke` MCP tool
202
+ - The agent can query and update app state through hooks — "what's on my reading list?" triggers `app_invoke(slug=reading-list, hook=describe)`
203
+ - Apps are created by the agent via filesystem tools and auto-discovered on manifest scan
204
+
205
+ See `specs/apps-platform.md` and `design/crc-App*.md` for the full design.
206
+
193
207
  ### Dashboard Development
194
208
 
195
209
  ```bash
@@ -269,7 +283,7 @@ For tasks that would consume significant context (research, multi-file processin
269
283
 
270
284
  Max concurrent agents is configurable via `agents.maxConcurrent` in config (default 3). The agent registry tracks running/completed/failed agents and includes them in post-compaction context so background work isn't lost across compaction boundaries.
271
285
 
272
- **Completion detection:** The backend polls output files of registered agents every 5 seconds. When it detects a completion marker (stable file mtime for 10+ seconds, or `"stop_reason":"end_turn"` in the output), it emits an `agent_completed` event that wakes the main event loop. No manual checking needed — results arrive as events.
286
+ **Completion detection:** Agents signal completion by calling `POST /api/agents/:id/complete` with a result summary. This emits an `agent_completed` event that wakes the main event loop. A 30-minute timeout fallback catches agents that fail to call back. No polling needed — results arrive as events.
273
287
 
274
288
  ## Architecture
275
289
 
@@ -286,13 +300,13 @@ Key source files:
286
300
  | `src/mcp-tools.ts` | MCP tool definitions |
287
301
  | `src/mcp-resources.ts` | MCP resource definitions |
288
302
  | `src/config.ts` | Config loader with env var resolution and hot-reload |
289
- | `src/telegram-adapter.ts` | Telegram long-polling adapter |
303
+ | `src/telegram-adapter.ts` | Telegram long-polling adapter (text, photos, documents) |
290
304
  | `src/dashboard-server.ts` | Express + WebSocket dashboard server |
291
305
  | `src/dashboard-adapter.ts` | Dashboard channel adapter |
292
306
  | `src/memory-index.ts` | SQLite + sqlite-vec hybrid search with dream-aware scoring |
293
307
  | `src/compaction-manager.ts` | Auto-flush memory before context compaction |
294
308
  | `src/session-checkpoint.ts` | Save/restore task context across compaction |
295
- | `src/agent-registry.ts` | Track background agents with capacity limits |
309
+ | `src/agent-registry.ts` | Track background agents with callback completion and timeout fallback |
296
310
  | `src/transcript-logger.ts` | Session transcript capture and indexing |
297
311
  | `src/identity-manager.ts` | Identity loader (soul.md, user.md, state.md) |
298
312
  | `src/timer-service.ts` | Cron, interval, and one-shot timers |