Closes the documented /events limitation: mutations made through the
local CLI (direct file + SQLite writes, no --server) bypassed the
in-process event bus and were invisible to SSE subscribers. A watcher
(e.g. a Windows client) was therefore NOT triggered when another agent
created a task via plain `agenthub task create`.
- src/server/fsWatch.ts: watch the entity dirs (tasks/handoffs/
decisions/memory); on any .md change, parse the entity and emit the
matching AgentHubEvent. Debounced per-file; self-creates dirs so it
attaches even before the first write.
- src/server/events.ts: shared dedup cache (signature = type🆔stamp)
+ emitChange() so the REST path and the watcher deliver each change
exactly once (no echo when REST writes the file the watcher sees).
- src/server/routes.ts: route emits go through emitChange(); update the
stale limitation comment.
- src/server/index.ts: start/stop the watcher with the server lifecycle.
- tests/sse.test.ts: CLI-write -> SSE, CLI-update -> SSE, and REST
dedup (exactly-once). 102/102 green.
Effect: a watcher is auto-triggered the instant any agent creates a
task, with or without --server. Bump 0.1.0 -> 0.1.1.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
931 B
JSON
41 lines
931 B
JSON
{
|
|
"name": "agenthub",
|
|
"version": "0.1.1",
|
|
"description": "Local coordination layer for AI coding agents",
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"files": ["dist", "bin"],
|
|
"bin": {
|
|
"agenthub": "./bin/agenthub.js"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsc --watch",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"dependencies": {
|
|
"@inquirer/prompts": "^7.0.0",
|
|
"better-sqlite3": "^12.0.0",
|
|
"commander": "^13.0.0",
|
|
"fastify": "^5.0.0",
|
|
"yaml": "^2.6.0",
|
|
"zod": "^3.23.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/better-sqlite3": "^7.6.12",
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^3.0.0"
|
|
},
|
|
"keywords": ["ai", "agents", "claude", "codex", "kimi", "collaboration"],
|
|
"license": "MIT",
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": ["better-sqlite3"]
|
|
}
|
|
}
|