feat: Phase1 核心——模型/状态机 + SQLite Store(守卫+审批闸) + REST/WS API + daemon

- src/model: 复杂度分级、16 状态状态机、实体类型
- src/store: better-sqlite3 接 schema,transition 受 canTransition 守卫,
  decide 审批闸(reject 必带改进意见),事件订阅广播,nextExecutable
- src/api: Fastify REST + ws 事件广播(/ws)
- src/daemon: maestrod 入口(env 配置,默认 ~/.maestro :4517)
- test: 9 个生命周期单测全过;typecheck/build 干净;REST+WS 端到端实跑验证

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-12 20:44:45 +08:00
commit 3172718a94
18 changed files with 2757 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
{
"name": "maestro",
"version": "0.1.0",
"private": true,
"type": "module",
"description": "多项目 TODO 管理与 Agent 执行系统(本地优先 daemon",
"engines": { "node": ">=20" },
"bin": { "maestro": "dist/cli/index.js" },
"scripts": {
"build": "tsc -p tsconfig.json && cp src/store/schema.sql dist/store/schema.sql",
"typecheck": "tsc -p tsconfig.json --noEmit",
"dev": "tsx src/daemon/index.ts",
"test": "tsx --test test/*.test.ts"
},
"dependencies": {
"better-sqlite3": "^11.3.0",
"fastify": "^4.28.1",
"ws": "^8.18.0",
"nanoid": "^5.0.7"
},
"devDependencies": {
"typescript": "^5.5.4",
"tsx": "^4.16.5",
"@types/node": "^20.14.0",
"@types/better-sqlite3": "^7.6.11",
"@types/ws": "^8.5.12"
}
}