@adamancyzhang/claude-orchestrator 0.3.1 → 0.3.3

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.
Files changed (61) hide show
  1. package/README.md +76 -77
  2. package/dist/cli/commands.d.ts +2 -2
  3. package/dist/cli/commands.js +51 -24
  4. package/dist/cli/commands.js.map +1 -1
  5. package/dist/config.d.ts +8 -2
  6. package/dist/config.js +6 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/executor/runner.d.ts +19 -0
  9. package/dist/executor/runner.js +59 -0
  10. package/dist/executor/runner.js.map +1 -0
  11. package/dist/executor/template.d.ts +12 -0
  12. package/dist/executor/template.js +42 -0
  13. package/dist/executor/template.js.map +1 -0
  14. package/dist/hooks/engine.d.ts +22 -0
  15. package/dist/hooks/engine.js +50 -0
  16. package/dist/hooks/engine.js.map +1 -0
  17. package/dist/index.js +16 -15
  18. package/dist/index.js.map +1 -1
  19. package/dist/leader/chain-router.d.ts +22 -0
  20. package/dist/leader/chain-router.js +163 -0
  21. package/dist/leader/chain-router.js.map +1 -0
  22. package/dist/leader/event-bus.d.ts +1 -1
  23. package/dist/leader/event-bus.js +1 -1
  24. package/dist/leader/event-bus.js.map +1 -1
  25. package/dist/leader/index.d.ts +1 -2
  26. package/dist/leader/index.js +30 -18
  27. package/dist/leader/index.js.map +1 -1
  28. package/dist/leader/state.js +9 -0
  29. package/dist/leader/state.js.map +1 -1
  30. package/dist/leader/tui.d.ts +8 -0
  31. package/dist/leader/tui.js +66 -4
  32. package/dist/leader/tui.js.map +1 -1
  33. package/dist/leader/watcher.d.ts +4 -5
  34. package/dist/leader/watcher.js +8 -25
  35. package/dist/leader/watcher.js.map +1 -1
  36. package/dist/models/schemas.d.ts +256 -0
  37. package/dist/models/schemas.js +25 -0
  38. package/dist/models/schemas.js.map +1 -1
  39. package/dist/skills/CLAUDE.md +1 -1
  40. package/dist/skills/claude-orchestrator/SKILL.md +124 -60
  41. package/dist/templates/{leader-decompose.md → worker-decompose.md} +6 -8
  42. package/dist/templates/worker-evaluate.md +41 -0
  43. package/dist/utils/exec.js +2 -0
  44. package/dist/utils/exec.js.map +1 -1
  45. package/dist/utils/logger.d.ts +10 -0
  46. package/dist/utils/logger.js +22 -0
  47. package/dist/utils/logger.js.map +1 -0
  48. package/dist/worker/evaluator.d.ts +13 -0
  49. package/dist/worker/evaluator.js +112 -0
  50. package/dist/worker/evaluator.js.map +1 -0
  51. package/dist/worker/watcher.d.ts +11 -5
  52. package/dist/worker/watcher.js +98 -84
  53. package/dist/worker/watcher.js.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/leader/decision-engine.d.ts +0 -35
  56. package/dist/leader/decision-engine.js +0 -102
  57. package/dist/leader/decision-engine.js.map +0 -1
  58. package/dist/leader/task-generator.d.ts +0 -34
  59. package/dist/leader/task-generator.js +0 -93
  60. package/dist/leader/task-generator.js.map +0 -1
  61. package/dist/templates/leader-decide.md +0 -59
package/README.md CHANGED
@@ -22,12 +22,12 @@
22
22
 
23
23
  Behind the scenes, ZooKeeper acts as the coordination backbone: ephemeral nodes for instance heartbeat, sequential nodes for FIFO task ordering, and watches for real-time change notification.
24
24
 
25
- v0.3.0 introduces a **Leader-Worker CLI-native architecture**: no MCP server, no HTTP. The Leader runs a read-only TUI monitoring the team, while Workers connect directly to ZooKeeper and process messages via `claude -p`. All messaging happens through the CLI.
25
+ v0.3.1 delivers a **Leader-Worker CLI-native architecture**: no MCP server, no HTTP. The Leader runs a read-only TUI and acts as a pure message/task router — it never calls `claude -p`. Workers connect directly to ZooKeeper, process messages via `claude -p`, self-evaluate their output, and send structured decisions back to the Leader. All AI intelligence lives in Workers; the Leader only handles mechanical forwarding, task distribution, and recovery. Built-in Claude Code skills (task-planning, task-execution, task-verification, task-review, task-acceptance, task-traceability) enforce a standardized responsibility chain for every task.
26
26
 
27
27
  ```
28
28
  ┌─────────────────────────────────────────────────┐
29
29
  │ ZooKeeper │
30
- │ /leader /instances /tasks /messages /context
30
+ │ /leader /instances /tasks /messages│
31
31
  └──────┬──────────────┬──────────────┬────────────┘
32
32
  │ │ │
33
33
  ┌────┴────┐ ┌────┴────┐ ┌────┴────┐
@@ -66,10 +66,10 @@ docker-compose up -d
66
66
  claude-orchestrator setup --leader --name Tom
67
67
 
68
68
  # For each Worker (the doers):
69
- claude-orchestrator setup --name Jerry --role developer
69
+ claude-orchestrator setup --name Jerry --role builder
70
70
  ```
71
71
 
72
- This creates `.claude-orchestrator/agents/` with message templates and writes project + global config.
72
+ This creates `.claude-orchestrator/agents/` with message templates, `.claude/skills/` with responsibility-chain skills, and writes project + global config.
73
73
 
74
74
  ### 4. Start the Leader
75
75
 
@@ -78,16 +78,15 @@ claude-orchestrator leader --name Tom
78
78
  # → TUI launches: team panel, task board, event log, footer
79
79
  ```
80
80
 
81
- The Leader TUI is read-only — it shows who's online, what tasks are pending/in-progress, and a scrolling event log. All actions are triggered by CLI commands or Worker registrations.
81
+ The Leader TUI shows who's online, what tasks are pending, and a scrolling event log. It also has a keyboard input line — typed text is sent as a message for processing. All other actions are triggered by CLI commands or Worker registrations.
82
82
 
83
83
  ### 5. Register a Worker
84
84
 
85
85
  ```bash
86
- # Persistent mode stays connected and processes messages automatically:
87
- claude-orchestrator register --name Jerry --role developer --work-dir /path/to/project
88
-
89
- # One-shot mode just register, no persistent watcher:
90
- claude-orchestrator register --name Jerry --role developer
86
+ # Reads name/role from .claude-orchestrator/config.json (set during setup).
87
+ # Starts Worker Watcher listens for messages and auto-processes via claude -p:
88
+ claude-orchestrator register
89
+ # Press Ctrl+C to stop and unregister
91
90
  ```
92
91
 
93
92
  ### 6. Go
@@ -96,8 +95,8 @@ Now the Leader TUI shows Jerry online. You can push tasks, send messages, and ma
96
95
 
97
96
  ```bash
98
97
  claude-orchestrator push-task --title "Implement login endpoint" --priority 0
99
- claude-orchestrator send-message --to-name Jerry --content "Starting on the auth module?"
100
- claude-orchestrator list-tasks --status pending
98
+ claude-orchestrator send-message --content "Starting on the auth module?"
99
+ claude-orchestrator poll-task
101
100
  ```
102
101
 
103
102
  ---
@@ -108,45 +107,33 @@ claude-orchestrator list-tasks --status pending
108
107
 
109
108
  | Component | What it does | ZK magic |
110
109
  |-----------|-------------|----------|
111
- | **Leader** | Read-only TUI, monitors team, recovers orphaned tasks | `/leader` EPHEMERAL — only one Leader at a time |
112
- | **Worker** | Persistent ZK connection, auto-processes messages via `claude -p` | Ephemeral nodes → auto-cleanup on disconnect |
113
- | **Task Queue** | Push → Claim → In Progress → Complete (or Block/Fail/Retry) | Sequential nodes for FIFO, ephemeral claims for atomic locks |
114
- | **Message Router** | P2P messages, broadcast, help requests, templates | Persistent-sequential nodes, ZK watches for push |
115
- | **Context Store** | Shared key-value storage, watch for changes | Persistent nodes, cross-instance visibility |
110
+ | **Leader** | TUI with keyboard input, mechanical message/task router, recovers orphaned tasks. No AI calls. | `/leader` EPHEMERAL — only one Leader at a time |
111
+ | **Worker** | Persistent ZK connection, auto-processes messages via `claude -p`, self-evaluates output | Ephemeral nodes → auto-cleanup on disconnect |
112
+ | **Task Queue** | Push → Claim → Complete (or Block/Fail/Retry) | Sequential nodes for FIFO, ephemeral claims for atomic locks |
113
+ | **Message Router** | Point-to-point messaging via ZK watches | Persistent-sequential nodes, ZK watches for push |
116
114
 
117
115
  ### CLI-Native — No MCP Server
118
116
 
119
- v0.3.0 removes the centralized MCP Server entirely. Leader and Workers each connect directly to ZooKeeper. Messages are delivered via ZK watches that trigger `$COMMAND -p "$MSG" | tee $CACHE_DIR/{key}.log` on the recipient. This eliminates 3 layers of indirection (MCP protocol, SSE, HTTP) and makes every node self-contained.
117
+ v0.3.x removes the centralized MCP Server entirely. Leader and Workers each connect directly to ZooKeeper. The Leader is a pure router: it forwards requirements to Planner Workers, creates tasks from structured definitions, and mechanically executes EvalDecision JSON from Workers. AI intelligence (task decomposition, self-evaluation) runs exclusively on Workers via `claude -p`. This eliminates 3 layers of indirection (MCP protocol, SSE, HTTP) and makes every node self-contained.
120
118
 
121
- ### CLI Commands (25)
119
+ ### CLI Commands
122
120
 
123
121
  | Command | What it does |
124
122
  |---------|-------------|
125
- | `leader` | Start Leader node with read-only TUI |
126
- | `setup` | Initialize environment: templates, config, agent directory |
127
- | `register` | Join the swarm. With `--work-dir`: persistent message watcher |
128
- | `heartbeat` | Stay alive, optionally report current task |
129
- | `status` | Health check (ZK connection) |
130
- | `list-instances` | See who's online |
123
+ | `leader` | Start Leader node with TUI (keyboard input for sending messages) |
124
+ | `setup` | Initialize environment: templates, skills, config |
125
+ | `register` | Join the swarm. Reads name/role from `.claude-orchestrator/config.json`, registers and listens in cwd |
126
+ | `unregister` | Explicitly unregister an instance |
131
127
  | `push-task` | Create a task (optionally assign to someone) |
132
128
  | `claim-task` | Grab the next task — atomic, no two instances can claim the same one |
133
129
  | `complete-task` | Mark a task done with results |
130
+ | `poll-task` | Check your claimed tasks |
134
131
  | `task-block` | Mark a claimed task as blocked (with reason) |
135
132
  | `task-fail` | Mark a claimed task as failed (with reason) |
136
133
  | `task-retry` | Re-queue a failed task for retry (retry_count + 1, max 3) |
137
- | `list-tasks` | View tasks by status (pending/claimed/in_progress/completed/blocked/failed) |
138
- | `send-message` | DM another instance by name or broadcast to all |
139
- | `poll-messages` | Check your inbox |
140
- | `wait-for-message` | Long-poll — block until a message arrives |
141
- | `dismiss-message` | Delete a message from your inbox |
142
- | `request-help` | Broadcast a question to the whole team |
143
- | `set-context` | Write a shared key-value entry |
144
- | `get-context` | Read a shared key-value entry |
145
- | `delete-context` | Remove a shared context key |
146
- | `list-context-keys` | List all context keys |
147
- | `watch-context` | Watch a context key for changes (blocks until change) |
148
- | `watch-tasks` | Watch for new tasks (blocks until new task) |
149
- | `unregister` | Explicitly unregister an instance |
134
+ | `send-message` | Send a message to the Leader instance |
135
+ | `poll-message` | Check your inbox |
136
+ | `delete-message` | Delete a message from your inbox |
150
137
  | `config` | Show current configuration |
151
138
 
152
139
  All CLI commands return JSON. Every command supports `--zookeeper` / `-z` (or `ZK_HOSTS` env var) for pointing at a remote ZooKeeper.
@@ -165,12 +152,12 @@ claude-orchestrator leader --name Tom
165
152
 
166
153
  **Jerry registers as a Worker:**
167
154
  ```bash
168
- claude-orchestrator register --name Jerry --role developer --work-dir ~/project
155
+ claude-orchestrator register
169
156
  ```
170
157
  ```
171
158
  TUI updates:
172
- [TEAM] Jerry joined (developer)
173
- [EVENT] 9:15:03 PM Jerry joined (developer)
159
+ [TEAM] Jerry joined (builder)
160
+ [EVENT] 9:15:03 PM Jerry joined (builder)
174
161
  ```
175
162
 
176
163
  **Tom assigns work (from another terminal):**
@@ -192,7 +179,7 @@ claude-orchestrator task-block --task-id task-0000000000 --reason "Waiting for A
192
179
 
193
180
  **Tom sees the block in the TUI and sends the key:**
194
181
  ```bash
195
- claude-orchestrator send-message --to-name Jerry --content "API key is in 1Password: auth/third-party/google-oauth"
182
+ claude-orchestrator send-message --content "API key is in 1Password: auth/third-party/google-oauth"
196
183
  ```
197
184
 
198
185
  **Jerry finishes:**
@@ -231,8 +218,6 @@ claude-orchestrator task-retry --task-id task-0000000001
231
218
  │ │ └── msg-0000000000 [PERSISTENT_SEQUENTIAL]
232
219
  │ └── f6e5d4c3.../
233
220
  │ └── msg-0000000000 [PERSISTENT_SEQUENTIAL]
234
- └── context/
235
- └── jwt_strategy [PERSISTENT]
236
221
  ```
237
222
 
238
223
  **Key insight:** Ephemeral nodes mean crashed instances auto-unregister. Ephemeral claim nodes mean abandoned tasks auto-release. The Leader monitors `/instances` and recovers orphaned tasks when a Worker disconnects (max 3 retries, then archived as failed).
@@ -242,7 +227,7 @@ claude-orchestrator task-retry --task-id task-0000000001
242
227
  ## Task State Machine (v0.3.0)
243
228
 
244
229
  ```
245
- pending → claimed → in_progress → completed
230
+ pending → claimed → completed
246
231
  → blocked → pending (retry)
247
232
  → failed → pending (retry, max 3)
248
233
  claimed → pending (Worker disconnect, Leader recovers orphan)
@@ -252,7 +237,6 @@ claimed → pending (Worker disconnect, Leader recovers orphan)
252
237
  |-------|---------|---------|
253
238
  | `pending` | Waiting for claim | `push_task` |
254
239
  | `claimed` | Claimed, not started | `claim_task` |
255
- | `in_progress` | Working | `heartbeat(current_task=...)` |
256
240
  | `completed` | Done | `complete_task` |
257
241
  | `blocked` | Blocked, waiting unblock | `task-block` |
258
242
  | `failed` | Failed, can retry | `task-fail` |
@@ -265,7 +249,7 @@ claimed → pending (Worker disconnect, Leader recovers orphan)
265
249
 
266
250
  - Node.js 18+
267
251
  - Docker (for ZooKeeper)
268
- - Claude Code CLI (for `register --work-dir` message processing)
252
+ - Claude Code CLI (for Worker message processing)
269
253
 
270
254
  ### From Source
271
255
 
@@ -286,7 +270,7 @@ npm run build
286
270
  claude-orchestrator leader
287
271
 
288
272
  # Or use the CLI directly
289
- claude-orchestrator status
273
+ claude-orchestrator config
290
274
  ```
291
275
 
292
276
  ### Run Tests
@@ -299,17 +283,16 @@ npm test
299
283
 
300
284
  ## Skills for Claude Code
301
285
 
302
- The repo includes Claude Code skills that make the orchestrator even easier to use:
286
+ The repo includes Claude Code skills that enforce a standardized **responsibility chain**: Plan → Build → Verify → Review → Accept. Each link has a dedicated skill, grounded on the `task-traceability` foundation layer. The `setup` command installs the 6 responsibility-chain skills into `.claude/skills/`.
303
287
 
304
- | Skill | What it does |
305
- |-------|-------------|
306
- | `claude-orchestrator` | Full CLI reference all 25 commands with examples |
307
- | `orchestrator-setup` | Auto-configure environment and agent templates |
308
- | `orchestrator-register` | Guided registration flow |
309
- | `orchestrator-status` | Dashboard: health, instances, tasks |
310
- | `orchestrator-communicate` | Message patterns: poll, DM, broadcast |
311
- | `orchestrator-help` | Help-request workflow |
312
- | `orchestrator-agent` | Autonomous agent loop: check → claim → work → complete |
288
+ | Skill | Role | What it does |
289
+ |-------|------|-------------|
290
+ | `task-planning` | Planner | Analyze requirements, define blueprints, break down tasks, push to queue |
291
+ | `task-execution` | Builder | Claim tasks, implement against blueprints, commit code with traceability |
292
+ | `task-verification` | Verifier | Independently verify Builder output against Plan criteria |
293
+ | `task-review` | Reviewer | Review full chain (Plan→Build→Verify) for design consistency |
294
+ | `task-acceptance` | Accepter | Validate final deliverable against business criteria, sign Go/No-Go |
295
+ | `task-traceability` | Foundation | Trace → Execute → Map → Evidence → Record — all roles |
313
296
 
314
297
  ---
315
298
 
@@ -332,11 +315,12 @@ Zero external database. All state lives in ZooKeeper.
332
315
 
333
316
  | Role | Value | Typical behavior |
334
317
  |------|-------|-----------------|
335
- | Leader | `leader` | Runs TUI, monitors team, recovers orphaned tasks |
336
- | Architect | `architect` | Sets standards, designs tasks, reviews results |
337
- | Developer | `developer` | Claims tasks, writes code, submits PRs |
338
- | Tester | `tester` | Claims test tasks, E2E verification |
339
- | General | `general` | Any role |
318
+ | Leader | `leader` | Runs TUI, mechanical message/task routing, recovers orphaned tasks |
319
+ | Planner | `planner` | Decomposes requirements into task chains, defines blueprints |
320
+ | Builder | `builder` | Claims build tasks, writes code, submits PRs |
321
+ | Verifier | `verifier` | Claims verify tasks, checks Builder output against Plan |
322
+ | Reviewer | `reviewer` | Claims review tasks, quality gate for design consistency |
323
+ | Accepter | `accepter` | Claims accept tasks, final Go/No-Go validation |
340
324
 
341
325
  ---
342
326
 
@@ -346,7 +330,7 @@ Zero external database. All state lives in ZooKeeper.
346
330
  |--------|-------|---------|
347
331
  | ZK hosts | `-z, --zookeeper` flag or `ZK_HOSTS` env | `127.0.0.1:2181` |
348
332
  | Instance ID | `-i, --instance-id` flag or `.claude-orchestrator/config.json` (project) / `~/.claude-orchestrator/config.json` (global) | auto-saved after `register` |
349
- | Claude command | `--command` flag or `config.json` → `command` | `claude --dangerously-skip-permissions -v` |
333
+ | Claude command | `--command` flag or `config.json` → `commands.claude-cli` | `claude --dangerously-skip-permissions --permission-mode dontAsk` |
350
334
  | Cache directory | `--cache-dir` flag or `config.json` → `cache_dir` | `~/.claude-orchestrator/sessions` |
351
335
 
352
336
  ---
@@ -355,38 +339,47 @@ Zero external database. All state lives in ZooKeeper.
355
339
 
356
340
  ```
357
341
  ├── src/
358
- │ ├── index.ts # CLI entry point (commander, 25 commands)
342
+ │ ├── index.ts # CLI entry point (commander, 15 commands)
359
343
  │ ├── config.ts # Configuration handling
360
344
  │ ├── cli/
361
345
  │ │ └── commands.ts # CLI subcommand implementations
362
- │ ├── leader/ # Leader node (v0.3.0)
346
+ │ ├── leader/ # Leader node (v0.3.1)
363
347
  │ │ ├── index.ts # startup / shutdown orchestration
364
348
  │ │ ├── tui.ts # ANSI-based read-only TUI
365
- │ │ ├── event-bus.ts # typed EventEmitter
349
+ │ │ ├── event-bus.ts # typed EventEmitter (14 events)
366
350
  │ │ ├── state.ts # centralized LeaderState
367
351
  │ │ ├── monitor.ts # WorkerMonitor — join/leave detection
368
352
  │ │ ├── orchestrator.ts # TaskOrchestrator — lifecycle tracking
369
353
  │ │ ├── recovery.ts # TaskRecovery — orphan recovery (max 3 retries)
370
- │ │ └── watcher.ts # LeaderWatcher — message processing
371
- ├── worker/ # Worker node (v0.3.0)
372
- │ └── watcher.ts # WorkerWatcher persistent message loop
354
+ │ │ ├── watcher.ts # LeaderWatcher — message processing
355
+ │ └── chain-router.ts # ChainRouter mechanical routing (no AI)
356
+ ├── worker/ # Worker node (v0.3.1)
357
+ │ │ ├── watcher.ts # WorkerWatcher — ZK watch loop + orchestration
358
+ │ │ └── evaluator.ts # SelfEvaluator — built-in self-evaluation
359
+ │ ├── executor/ # Template execution engine
360
+ │ │ ├── template.ts # TemplateEngine — loading + rendering
361
+ │ │ └── runner.ts # ClaudeRunner — CLI execution wrapper
373
362
  │ ├── templates/ # Built-in agent templates
374
- │ │ ├── leader.md # Leader message template
375
- │ │ └── worker.md # Worker completion report template
363
+ │ │ ├── worker-decompose.md # Planner decompose prompt
364
+ │ │ ├── worker-evaluate.md # Worker self-evaluation prompt
365
+ │ │ ├── worker-plan.md # Planner template (task-traceability + task-acceptance)
366
+ │ │ ├── worker-build.md # Builder template (task-traceability)
367
+ │ │ ├── worker-verify.md # Verifier template (task-traceability)
368
+ │ │ ├── worker-review.md # Reviewer template (task-traceability)
369
+ │ │ └── worker-accept.md # Accepter template (task-traceability + task-acceptance)
376
370
  │ ├── zk/
377
371
  │ │ ├── client.ts # ZooKeeper connection management
378
- │ │ ├── paths.ts # ZK path constants
379
- │ │ └── watcher.ts # ZK watch manager
372
+ │ │ └── paths.ts # ZK path constants
380
373
  │ ├── modules/
381
374
  │ │ ├── registry.ts # Instance registry
382
375
  │ │ ├── task-queue.ts # Task queue (6-state: push/claim/block/fail/retry)
383
376
  │ │ ├── message-router.ts # Message routing + template rendering + long-poll
384
- │ │ └── context-store.ts # Shared key-value store
385
377
  │ ├── models/
386
378
  │ │ └── schemas.ts # Zod schemas and inferred types
387
379
  │ └── utils/
388
380
  │ ├── exec.ts # Shell execution (execWithTee)
389
- └── output.ts # CLI output formatting
381
+ ├── output.ts # CLI output formatting
382
+ │ └── logger.ts # Tagged logger for contextual output
390
383
  ├── bin/
391
384
  │ └── claude-orchestrator # npm CLI entry (Node.js)
392
385
  ├── scripts/
@@ -395,7 +388,13 @@ Zero external database. All state lives in ZooKeeper.
395
388
  │ ├── start-worker.sh # Worker launcher
396
389
  │ ├── stop-all.sh # Tear down
397
390
  │ └── publish.sh # npm publish pipeline
398
- ├── skills/ # Claude Code skills
391
+ ├── skills/ # Claude Code skills (6 responsibility-chain + 2 infrastructure)
392
+ │ ├── task-planning/ # Planner skill
393
+ │ ├── task-execution/ # Builder skill
394
+ │ ├── task-verification/ # Verifier skill
395
+ │ ├── task-review/ # Reviewer skill
396
+ │ ├── task-acceptance/ # Accepter skill
397
+ │ └── task-traceability/ # Foundation layer skill
399
398
  ├── docs/
400
399
  │ ├── v0.1.0/ # Archived Python v0.1.0 docs
401
400
  │ ├── v0.2.0/ # Archived MCP-based v0.2.x docs
@@ -1,9 +1,9 @@
1
- export declare function cmdRegister(zkHosts: string): Promise<void>;
1
+ export declare function cmdRegister(zkHosts: string, debug?: boolean): Promise<void>;
2
2
  export declare function cmdPushTask(zkHosts: string, cliInstanceId: string | undefined, title: string, description: string, priority: number, assignee?: string, link?: string, chainId?: string, dependsOn?: string[], blockedBy?: string[]): Promise<void>;
3
3
  export declare function cmdClaimTask(zkHosts: string, cliInstanceId: string | undefined): Promise<void>;
4
4
  export declare function cmdCompleteTask(zkHosts: string, cliInstanceId: string | undefined, taskId: string, result: string): Promise<void>;
5
5
  export declare function cmdPollTask(zkHosts: string, statusFilter?: string): Promise<void>;
6
- export declare function cmdSendMessage(zkHosts: string, cliInstanceId: string | undefined, content: string, toInstance?: string, broadcast?: boolean, toName?: string, help?: boolean): Promise<void>;
6
+ export declare function cmdSendMessage(zkHosts: string, cliInstanceId: string | undefined, content: string): Promise<void>;
7
7
  export declare function cmdPollMessage(zkHosts: string, cliInstanceId: string | undefined): Promise<void>;
8
8
  export declare function cmdDeleteMessage(zkHosts: string, cliInstanceId: string | undefined, messageId: string): Promise<void>;
9
9
  export declare function cmdUnregister(zkHosts: string, cliInstanceId: string | undefined): Promise<void>;
@@ -7,8 +7,13 @@ import { TaskQueue } from "../modules/task-queue.js";
7
7
  import { MessageRouter } from "../modules/message-router.js";
8
8
  import { loadConfig, loadInstanceConfig, saveInstanceConfig, saveInstanceId, loadInstanceId, loadGlobalConfig, resolveInstanceId } from "../config.js";
9
9
  import { output } from "../utils/output.js";
10
+ import { Logger } from "../utils/logger.js";
11
+ import { HookEngine } from "../hooks/engine.js";
10
12
  import { WorkerWatcher } from "../worker/watcher.js";
11
- const VALID_ROLES = ["planner", "builder", "verifier", "reviewer", "accepter", "leader"];
13
+ import { TemplateEngine } from "../executor/template.js";
14
+ import { ClaudeRunner } from "../executor/runner.js";
15
+ import { SelfEvaluator } from "../worker/evaluator.js";
16
+ const VALID_ROLES = ["planner", "builder", "verifier", "reviewer", "accepter"];
12
17
  async function withZk(hosts, fn) {
13
18
  const zk = new ZkClient(hosts);
14
19
  await zk.connect();
@@ -22,7 +27,9 @@ async function withZk(hosts, fn) {
22
27
  await zk.disconnect();
23
28
  }
24
29
  }
25
- export async function cmdRegister(zkHosts) {
30
+ export async function cmdRegister(zkHosts, debug = false) {
31
+ if (debug)
32
+ Logger.enableDebug();
26
33
  // Read from project config only — no CLI args, no global fallback
27
34
  const projectConfig = loadInstanceConfig();
28
35
  const name = projectConfig.name;
@@ -51,7 +58,14 @@ export async function cmdRegister(zkHosts) {
51
58
  // Resolve leader instance ID for CACHE_DIR path
52
59
  const leaderData = await zk.getLeader();
53
60
  const leaderInstanceId = leaderData?.instance_id ?? instance.id;
54
- const watcher = new WorkerWatcher(zk, instance.id, process.cwd(), resolvedConfig.cliCommand, resolvedConfig.cacheDir, leaderInstanceId);
61
+ const workDir = process.cwd();
62
+ const agentsDir = path.join(workDir, ".claude-orchestrator", "agents");
63
+ const hooks = new HookEngine();
64
+ hooks.load(resolvedConfig.hooks);
65
+ const templateEngine = new TemplateEngine(agentsDir);
66
+ const runner = new ClaudeRunner(resolvedConfig.cliCommand, resolvedConfig.cacheDir, leaderInstanceId, workDir);
67
+ const evaluator = new SelfEvaluator(templateEngine, runner, name, role);
68
+ const watcher = new WorkerWatcher(zk, instance.id, leaderInstanceId, hooks, templateEngine, runner, evaluator);
55
69
  const onSigint = () => {
56
70
  watcher.stop();
57
71
  };
@@ -66,10 +80,11 @@ export async function cmdRegister(zkHosts) {
66
80
  }
67
81
  }, 200);
68
82
  });
83
+ const logger = new Logger("CLI");
69
84
  await registry.unregister(instance.id);
70
85
  await zk.disconnect();
71
86
  process.removeListener("SIGINT", onSigint);
72
- console.log("Unregistered. Goodbye.");
87
+ logger.info("Unregistered. Goodbye.");
73
88
  }
74
89
  export async function cmdPushTask(zkHosts, cliInstanceId, title, description, priority, assignee, link, chainId, dependsOn, blockedBy) {
75
90
  await withZk(zkHosts, async ({ taskQueue }) => {
@@ -103,7 +118,7 @@ export async function cmdPollTask(zkHosts, statusFilter) {
103
118
  output(tasks);
104
119
  });
105
120
  }
106
- export async function cmdSendMessage(zkHosts, cliInstanceId, content, toInstance, broadcast = false, toName, help = false) {
121
+ export async function cmdSendMessage(zkHosts, cliInstanceId, content) {
107
122
  await withZk(zkHosts, async ({ registry, messageRouter }) => {
108
123
  const instanceId = cliInstanceId || loadInstanceId() || "";
109
124
  let fromName;
@@ -114,7 +129,13 @@ export async function cmdSendMessage(zkHosts, cliInstanceId, content, toInstance
114
129
  else {
115
130
  fromName = "CLI";
116
131
  }
117
- const messages = await messageRouter.send(instanceId, fromName, content, toInstance, broadcast, toName, help);
132
+ const instances = await registry.listAll();
133
+ const leader = instances.find((i) => i.role === "leader");
134
+ if (!leader) {
135
+ throw new Error("No leader instance found");
136
+ }
137
+ const leaderId = leader.id;
138
+ const messages = await messageRouter.send(instanceId, fromName, content, leaderId, false, undefined, false);
118
139
  const targets = messages.map((m) => m.to_instance);
119
140
  output({ sent_to: targets, message_count: targets.length });
120
141
  });
@@ -151,10 +172,16 @@ export async function cmdSetup(options) {
151
172
  const existingGlobal = loadGlobalConfig();
152
173
  const globalZk = existingGlobal.zookeeper || { url: "127.0.0.1:2181", root_path: "/claude-orchestrator", auth: null };
153
174
  const prevCommands = existingGlobal.commands;
175
+ const prevHooks = existingGlobal.hooks;
154
176
  saveInstanceConfig({
155
177
  commands: {
156
178
  "claude-cli": command || prevCommands?.["claude-cli"] || defaultCliCommand,
157
- "leader-sync": prevCommands?.["leader-sync"] ?? null,
179
+ },
180
+ hooks: prevHooks || {
181
+ leader_message_start: null,
182
+ leader_message_end: null,
183
+ worker_message_start: null,
184
+ worker_message_end: null,
158
185
  },
159
186
  cache_dir: cacheDir || existingGlobal.cache_dir || defaultCacheDir,
160
187
  zookeeper: {
@@ -182,8 +209,8 @@ export async function cmdSetup(options) {
182
209
  const templateDir = path.join(__dirname, "..", "templates");
183
210
  const agentsDir = path.join(process.cwd(), ".claude-orchestrator", "agents");
184
211
  const templates = {
185
- "leader-decompose.md": path.join(templateDir, "leader-decompose.md"),
186
- "leader-decide.md": path.join(templateDir, "leader-decide.md"),
212
+ "worker-decompose.md": path.join(templateDir, "worker-decompose.md"),
213
+ "worker-evaluate.md": path.join(templateDir, "worker-evaluate.md"),
187
214
  "worker-plan.md": path.join(templateDir, "worker-plan.md"),
188
215
  "worker-build.md": path.join(templateDir, "worker-build.md"),
189
216
  "worker-verify.md": path.join(templateDir, "worker-verify.md"),
@@ -207,27 +234,29 @@ export async function cmdSetup(options) {
207
234
  // ── Copy skills to .claude/skills/ ──
208
235
  const skillsSrcDir = path.join(__dirname, "..", "skills");
209
236
  const skillsDstDir = path.join(process.cwd(), ".claude", "skills");
237
+ const SKILLS_TO_COPY = [
238
+ "task-planning",
239
+ "task-execution",
240
+ "task-verification",
241
+ "task-review",
242
+ "task-acceptance",
243
+ "task-traceability",
244
+ ];
210
245
  const skillsWritten = [];
211
- const skillsSkipped = [];
212
246
  if (fs.existsSync(skillsSrcDir)) {
213
- const skillNames = fs.readdirSync(skillsSrcDir, { withFileTypes: true })
214
- .filter(d => d.isDirectory())
215
- .map(d => d.name);
216
- for (const skillName of skillNames) {
247
+ for (const skillName of SKILLS_TO_COPY) {
217
248
  const srcSkillPath = path.join(skillsSrcDir, skillName, "SKILL.md");
218
249
  const dstSkillDir = path.join(skillsDstDir, skillName);
219
250
  const dstSkillPath = path.join(dstSkillDir, "SKILL.md");
220
251
  if (!fs.existsSync(srcSkillPath))
221
252
  continue;
222
- fs.mkdirSync(dstSkillDir, { recursive: true });
223
- if (fs.existsSync(dstSkillPath)) {
224
- skillsSkipped.push(skillName);
225
- }
226
- else {
227
- const content = fs.readFileSync(srcSkillPath, "utf-8");
228
- fs.writeFileSync(dstSkillPath, content);
229
- skillsWritten.push(skillName);
253
+ if (fs.existsSync(dstSkillDir)) {
254
+ fs.rmSync(dstSkillDir, { recursive: true, force: true });
230
255
  }
256
+ fs.mkdirSync(dstSkillDir, { recursive: true });
257
+ const content = fs.readFileSync(srcSkillPath, "utf-8");
258
+ fs.writeFileSync(dstSkillPath, content);
259
+ skillsWritten.push(skillName);
231
260
  }
232
261
  }
233
262
  const result = {
@@ -242,8 +271,6 @@ export async function cmdSetup(options) {
242
271
  result["templates_skipped"] = skipped;
243
272
  if (skillsWritten.length > 0)
244
273
  result["skills_written"] = skillsWritten;
245
- if (skillsSkipped.length > 0)
246
- result["skills_skipped"] = skillsSkipped;
247
274
  if (!resolvedName)
248
275
  result["warning"] = "No name provided. Use --name to set instance name.";
249
276
  output(result);
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AACtK,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAElG,KAAK,UAAU,MAAM,CACnB,KAAa,EACb,EAKgB;IAEhB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,kEAAkE;IAClE,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,KAAK,EAAE,sDAAsD,EAAE,EAAE,IAAI,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAE,WAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC;YACL,KAAK,EAAE,iBAAiB,IAAI,IAAI,WAAW,sBAAsB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,EAAE,IAAI,CAAC,CAAC;QACT,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC;IAE1D,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACjE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAC/B,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjB,gDAAgD;IAChD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAI,UAAU,EAAE,WAAsB,IAAI,QAAQ,CAAC,EAAE,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,aAAa,CAC/B,EAAE,EACF,QAAQ,CAAC,EAAE,EACX,OAAO,CAAC,GAAG,EAAE,EACb,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,QAAQ,EACvB,gBAAgB,CACjB,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,sBAAsB;IACtB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,aAAiC,EACjC,KAAa,EACb,WAAmB,EACnB,QAAgB,EAChB,QAAiB,EACjB,IAAa,EACb,OAAgB,EAChB,SAAoB,EACpB,SAAoB;IAEpB,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,aAAa,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAC7K,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,aAAiC;IAEjC,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,aAAiC,EACjC,MAAc,EACd,MAAc;IAEd,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,YAAqB;IAErB,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,aAAiC,EACjC,OAAe,EACf,UAAmB,EACnB,YAAqB,KAAK,EAC1B,MAAe,EACf,OAAgB,KAAK;IAErB,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;QAC1D,MAAM,UAAU,GAAG,aAAa,IAAI,cAAc,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,QAAgB,CAAC;QACrB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5C,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CACvC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,aAAiC;IAEjC,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;QAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,aAAiC,EACjC,SAAiB;IAEjB,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;QAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,aAAiC;IAEjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAEpD,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3C,MAAM,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAQ9B;IACC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,iEAAiE,CAAC;IAC5F,MAAM,eAAe,GAAG,iCAAiC,CAAC;IAE1D,4BAA4B;IAC5B,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtH,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC;IAC7C,kBAAkB,CAChB;QACE,QAAQ,EAAE;YACR,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,CAAC,YAAY,CAAC,IAAI,iBAAiB;YAC1E,aAAa,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI;SACrD;QACD,SAAS,EAAE,QAAQ,IAAI,cAAc,CAAC,SAAS,IAAI,eAAe;QAClE,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,gBAAgB;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,sBAAsB;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;SAC5B;KACF,EACD,IAAI,CACL,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,gBAAgB,EAAE;YAC1B,OAAO,EAAE,kGAAkG;SAC5G,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,IAAI,YAAY;QAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;IACvD,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;IACrC,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEzC,uDAAuD;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAE7E,MAAM,SAAS,GAA2B;QACxC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC;QACpE,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAC9D,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAC1D,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC;QAC5D,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAC9D,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAC9D,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;KAC/D,CAAC;IAEF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,SAAS;YAE3C,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACvD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,MAAM,EAAE,YAAY;QACpB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,EAAE,aAAa,CAAC;QAC/E,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,YAAY;KACzB,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;IAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;IACvE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;IACvE,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,SAAS,CAAC,GAAG,oDAAoD,CAAC;IAE5F,MAAM,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,aAAiC,EACjC,MAAc,EACd,MAAc;IAEd,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,aAAiC,EACjC,MAAc,EACd,MAAc;IAEd,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,cAAkC,EAClC,MAAc;IAEd,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -7,13 +7,19 @@ export interface ZkConfig {
7
7
  }
8
8
  export interface CommandsConfig {
9
9
  "claude-cli"?: string;
10
- "leader-sync"?: string | null;
10
+ }
11
+ export interface HooksConfig {
12
+ leader_message_start?: string | null;
13
+ leader_message_end?: string | null;
14
+ worker_message_start?: string | null;
15
+ worker_message_end?: string | null;
11
16
  }
12
17
  export interface InstanceConfig {
13
18
  instance_id?: string;
14
19
  name?: string;
15
20
  role?: string;
16
21
  commands?: CommandsConfig;
22
+ hooks?: HooksConfig;
17
23
  cache_dir?: string;
18
24
  zookeeper?: ZkConfig;
19
25
  }
@@ -21,7 +27,7 @@ export interface ResolvedConfig {
21
27
  zk: ZkConfig;
22
28
  cacheDir: string;
23
29
  cliCommand: string;
24
- leaderSync: string | null;
30
+ hooks: HooksConfig;
25
31
  instanceId?: string;
26
32
  name?: string;
27
33
  role?: string;
package/dist/config.js CHANGED
@@ -36,11 +36,15 @@ export function loadConfig(cliOpts) {
36
36
  // Command: project overrides global
37
37
  const mergedCommands = project.commands || global.commands;
38
38
  const cliCommand = mergedCommands?.["claude-cli"] || defaultCliCommand();
39
- const leaderSync = mergedCommands?.["leader-sync"] ?? null;
39
+ // Hooks: project overrides global
40
+ const hooks = {
41
+ ...global.hooks,
42
+ ...project.hooks,
43
+ };
40
44
  const instanceId = project.instance_id;
41
45
  const name = project.name;
42
46
  const role = project.role;
43
- return { zk, cacheDir, cliCommand, leaderSync, instanceId, name, role };
47
+ return { zk, cacheDir, cliCommand, hooks, instanceId, name, role };
44
48
  }
45
49
  function readConfigFile(filePath) {
46
50
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare class ClaudeRunner {
2
+ private command;
3
+ private cacheDir;
4
+ private leaderInstanceId;
5
+ private workDir;
6
+ private logger;
7
+ private resolvedCache;
8
+ constructor(command: string, cacheDir: string, leaderInstanceId: string, workDir: string);
9
+ private dateDir;
10
+ ensureDir(dir: string): void;
11
+ taskDocPath(taskId: string): string;
12
+ logPath(uniqueKey: string): string;
13
+ resultPath(uniqueKey: string): string;
14
+ evalLogPath(uniqueKey: string): string;
15
+ evalResultPath(uniqueKey: string): string;
16
+ run(prompt: string, logPath: string): Promise<{
17
+ code: number;
18
+ }>;
19
+ }