feat: Phase 2 — Thread lifecycle, execution engine, worker, CLI

- types.ts: START/END, RoleMeta, ThreadContext, Role, Moderator, WorkflowDefinition
- engine.ts: executeThread with JSONL persistence + AbortSignal
- worker.ts: per-bundle process, TCP IPC, kill individual threads
- CLI: run/ps/kill/threads/thread/thread rm commands
- 32 tests pass, biome clean

小橘 <xiaoju@shazhou.work>
This commit is contained in:
2026-05-06 04:59:54 +00:00
parent 01e930df8f
commit 7582a88d6b
46 changed files with 2829 additions and 167 deletions
+18 -11
View File
@@ -1,11 +1,9 @@
{
"$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
"$schema": "https://biomejs.dev/schemas/2.4.14/schema.json",
"files": {
"ignore": ["**/dist/**", "**/node_modules/**"]
},
"organizeImports": {
"enabled": true
"includes": ["**", "!**/dist", "!**/node_modules"]
},
"assist": { "actions": { "source": { "organizeImports": "on" } } },
"formatter": {
"indentStyle": "space",
"indentWidth": 2,
@@ -19,7 +17,7 @@
},
"overrides": [
{
"include": ["**/__tests__/**"],
"includes": ["**/__tests__/**"],
"linter": {
"rules": {
"suspicious": {
@@ -30,6 +28,16 @@
}
}
}
},
{
"includes": ["**/*.d.ts"],
"linter": {
"rules": {
"style": {
"noDefaultExport": "off"
}
}
}
}
],
"linter": {
@@ -43,7 +51,6 @@
"noParameterProperties": "error",
"useImportType": "error",
"useShorthandFunctionType": "error",
"noVar": "error",
"useConst": "error",
"useEnumInitializers": "error"
},
@@ -60,15 +67,15 @@
}
},
"suspicious": {
"noExplicitAny": "error"
"noExplicitAny": "error",
"noVar": "error",
"noConsole": "error"
},
"correctness": {
"noUnusedVariables": "error",
"noUnusedImports": "error"
},
"nursery": {
"noConsole": "error"
}
"nursery": {}
}
}
}