@adamancyzhang/claude-orchestrator 0.2.8 → 0.3.1

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 (91) hide show
  1. package/README.md +179 -186
  2. package/dist/cli/commands.d.ts +13 -20
  3. package/dist/cli/commands.js +171 -288
  4. package/dist/cli/commands.js.map +1 -1
  5. package/dist/config.d.ts +25 -11
  6. package/dist/config.js +49 -13
  7. package/dist/config.js.map +1 -1
  8. package/dist/index.js +122 -215
  9. package/dist/index.js.map +1 -1
  10. package/dist/leader/decision-engine.d.ts +35 -0
  11. package/dist/leader/decision-engine.js +102 -0
  12. package/dist/leader/decision-engine.js.map +1 -0
  13. package/dist/leader/event-bus.d.ts +11 -0
  14. package/dist/leader/event-bus.js +21 -0
  15. package/dist/leader/event-bus.js.map +1 -0
  16. package/dist/leader/index.d.ts +7 -0
  17. package/dist/leader/index.js +96 -0
  18. package/dist/leader/index.js.map +1 -0
  19. package/dist/leader/monitor.d.ts +14 -0
  20. package/dist/leader/monitor.js +55 -0
  21. package/dist/leader/monitor.js.map +1 -0
  22. package/dist/leader/orchestrator.d.ts +14 -0
  23. package/dist/leader/orchestrator.js +83 -0
  24. package/dist/leader/orchestrator.js.map +1 -0
  25. package/dist/leader/recovery.d.ts +11 -0
  26. package/dist/leader/recovery.js +61 -0
  27. package/dist/leader/recovery.js.map +1 -0
  28. package/dist/leader/state.d.ts +24 -0
  29. package/dist/leader/state.js +122 -0
  30. package/dist/leader/state.js.map +1 -0
  31. package/dist/leader/task-generator.d.ts +34 -0
  32. package/dist/leader/task-generator.js +93 -0
  33. package/dist/leader/task-generator.js.map +1 -0
  34. package/dist/leader/tui.d.ts +5 -0
  35. package/dist/leader/tui.js +136 -0
  36. package/dist/leader/tui.js.map +1 -0
  37. package/dist/leader/watcher.d.ts +18 -0
  38. package/dist/leader/watcher.js +89 -0
  39. package/dist/leader/watcher.js.map +1 -0
  40. package/dist/models/schemas.d.ts +111 -100
  41. package/dist/models/schemas.js +54 -45
  42. package/dist/models/schemas.js.map +1 -1
  43. package/dist/modules/message-router.d.ts +2 -2
  44. package/dist/modules/message-router.js +10 -16
  45. package/dist/modules/message-router.js.map +1 -1
  46. package/dist/modules/registry.js +3 -3
  47. package/dist/modules/registry.js.map +1 -1
  48. package/dist/modules/task-queue.d.ts +4 -1
  49. package/dist/modules/task-queue.js +114 -10
  50. package/dist/modules/task-queue.js.map +1 -1
  51. package/dist/skills/CLAUDE.md +155 -0
  52. package/dist/skills/claude-code-developer/SKILL.md +325 -0
  53. package/dist/skills/claude-orchestrator/SKILL.md +180 -0
  54. package/dist/skills/task-acceptance/SKILL.md +201 -0
  55. package/dist/skills/task-execution/SKILL.md +142 -0
  56. package/dist/skills/task-planning/SKILL.md +188 -0
  57. package/dist/skills/task-review/SKILL.md +220 -0
  58. package/dist/skills/task-traceability/SKILL.md +154 -0
  59. package/dist/skills/task-verification/SKILL.md +194 -0
  60. package/dist/templates/leader-decide.md +59 -0
  61. package/dist/templates/leader-decompose.md +69 -0
  62. package/dist/templates/worker-accept.md +46 -0
  63. package/dist/templates/worker-build.md +45 -0
  64. package/dist/templates/worker-plan.md +43 -0
  65. package/dist/templates/worker-review.md +46 -0
  66. package/dist/templates/worker-verify.md +47 -0
  67. package/dist/utils/exec.d.ts +8 -0
  68. package/dist/utils/exec.js +45 -0
  69. package/dist/utils/exec.js.map +1 -0
  70. package/dist/worker/watcher.d.ts +19 -0
  71. package/dist/worker/watcher.js +152 -0
  72. package/dist/worker/watcher.js.map +1 -0
  73. package/dist/zk/client.d.ts +5 -5
  74. package/dist/zk/client.js +16 -26
  75. package/dist/zk/client.js.map +1 -1
  76. package/dist/zk/paths.d.ts +9 -9
  77. package/dist/zk/paths.js +4 -5
  78. package/dist/zk/paths.js.map +1 -1
  79. package/dist/zk/watcher.d.ts +0 -2
  80. package/dist/zk/watcher.js +0 -3
  81. package/dist/zk/watcher.js.map +1 -1
  82. package/package.json +3 -6
  83. package/dist/modules/context-store.d.ts +0 -10
  84. package/dist/modules/context-store.js +0 -25
  85. package/dist/modules/context-store.js.map +0 -1
  86. package/dist/modules/message-watcher.d.ts +0 -12
  87. package/dist/modules/message-watcher.js +0 -133
  88. package/dist/modules/message-watcher.js.map +0 -1
  89. package/dist/server.d.ts +0 -2
  90. package/dist/server.js +0 -490
  91. package/dist/server.js.map +0 -1
@@ -1,156 +1,80 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import * as os from "node:os";
4
- import * as http from "node:http";
3
+ import { fileURLToPath } from "node:url";
5
4
  import { ZkClient } from "../zk/client.js";
6
5
  import { InstanceRegistry } from "../modules/registry.js";
7
6
  import { TaskQueue } from "../modules/task-queue.js";
8
7
  import { MessageRouter } from "../modules/message-router.js";
9
- import { ContextStore } from "../modules/context-store.js";
10
- import { resolveInstanceId, saveInstanceId, saveInstanceConfig, loadInstanceConfig, loadInstanceId } from "../config.js";
8
+ import { loadConfig, loadInstanceConfig, saveInstanceConfig, saveInstanceId, loadInstanceId, loadGlobalConfig, resolveInstanceId } from "../config.js";
11
9
  import { output } from "../utils/output.js";
10
+ import { WorkerWatcher } from "../worker/watcher.js";
11
+ const VALID_ROLES = ["planner", "builder", "verifier", "reviewer", "accepter", "leader"];
12
12
  async function withZk(hosts, fn) {
13
13
  const zk = new ZkClient(hosts);
14
14
  await zk.connect();
15
15
  const registry = new InstanceRegistry(zk);
16
16
  const taskQueue = new TaskQueue(zk);
17
17
  const messageRouter = new MessageRouter(zk);
18
- const contextStore = new ContextStore(zk);
19
18
  try {
20
- return await fn({ zk, registry, taskQueue, messageRouter, contextStore });
19
+ return await fn({ zk, registry, taskQueue, messageRouter });
21
20
  }
22
21
  finally {
23
22
  await zk.disconnect();
24
23
  }
25
24
  }
26
- function registerViaHttp(host, port, name, role, instanceId) {
27
- const body = JSON.stringify({ name, role, instance_id: instanceId });
28
- return new Promise((resolve, reject) => {
29
- const req = http.request({
30
- hostname: host,
31
- port: parseInt(port, 10),
32
- path: "/register",
33
- method: "POST",
34
- headers: {
35
- "Content-Type": "application/json",
36
- "Content-Length": Buffer.byteLength(body),
37
- },
38
- timeout: 5000,
39
- }, (res) => {
40
- let data = "";
41
- res.on("data", (chunk) => (data += chunk));
42
- res.on("end", () => {
43
- if (res.statusCode === 200) {
44
- try {
45
- resolve(JSON.parse(data));
46
- }
47
- catch {
48
- reject(new Error(`Invalid JSON response: ${data}`));
49
- }
50
- }
51
- else {
52
- reject(new Error(`HTTP ${res.statusCode}: ${data}`));
53
- }
54
- });
55
- });
56
- req.on("error", reject);
57
- req.on("timeout", () => {
58
- req.destroy();
59
- reject(new Error("timeout"));
60
- });
61
- req.write(body);
62
- req.end();
63
- });
64
- }
65
- function unregisterViaHttp(host, port, instanceId) {
66
- const body = JSON.stringify({ instance_id: instanceId });
67
- return new Promise((resolve, reject) => {
68
- const req = http.request({
69
- hostname: host,
70
- port: parseInt(port, 10),
71
- path: "/unregister",
72
- method: "POST",
73
- headers: {
74
- "Content-Type": "application/json",
75
- "Content-Length": Buffer.byteLength(body),
76
- },
77
- timeout: 5000,
78
- }, (res) => {
79
- if (res.statusCode === 200) {
80
- resolve();
81
- }
82
- else {
83
- let data = "";
84
- res.on("data", (chunk) => (data += chunk));
85
- res.on("end", () => reject(new Error(`HTTP ${res.statusCode}: ${data}`)));
86
- }
87
- });
88
- req.on("error", reject);
89
- req.on("timeout", () => {
90
- req.destroy();
91
- reject(new Error("timeout"));
92
- });
93
- req.write(body);
94
- req.end();
95
- });
96
- }
97
- export async function cmdStatus(zkHosts) {
98
- await withZk(zkHosts, async ({ zk, registry }) => {
99
- const connected = zk.connected;
100
- const instances = await registry.listAll();
101
- output({
102
- status: connected ? "healthy" : "degraded",
103
- zookeeper: connected ? "connected" : "disconnected",
104
- instances_online: instances.length,
105
- });
106
- });
107
- }
108
- export async function cmdRegister(zkHosts, instanceId, name, role) {
109
- const config = loadInstanceConfig();
110
- const resolvedName = name || config.name;
111
- if (!resolvedName) {
112
- output({ error: "No instance name provided. Use --name or run 'claude-orchestrator setup --name <name>' first." }, true);
25
+ export async function cmdRegister(zkHosts) {
26
+ // Read from project config only — no CLI args, no global fallback
27
+ const projectConfig = loadInstanceConfig();
28
+ const name = projectConfig.name;
29
+ const role = projectConfig.role;
30
+ if (!name) {
31
+ output({ error: "name is required in .claude-orchestrator/config.json" }, true);
113
32
  return;
114
33
  }
115
- const resolvedRole = role || config.role || "general";
116
- const resolvedId = instanceId || loadInstanceId() || undefined;
117
- // Try MCP server REST endpoint first (uses server's persistent ZK connection)
118
- const host = config.host || "127.0.0.1";
119
- const port = config.port || "3100";
120
- try {
121
- const instance = await registerViaHttp(host, port, resolvedName, resolvedRole, resolvedId);
122
- saveInstanceId(instance.id);
123
- saveInstanceConfig({ name: resolvedName, role: resolvedRole });
124
- output(instance);
34
+ if (!role || !VALID_ROLES.includes(role)) {
35
+ output({
36
+ error: `invalid role '${role || "(missing)"}', must be one of: ${VALID_ROLES.join(", ")}`,
37
+ }, true);
125
38
  return;
126
39
  }
127
- catch {
128
- // Server not reachable fall back to direct ZK
40
+ const resolvedConfig = loadConfig({});
41
+ const instanceId = projectConfig.instance_id || undefined;
42
+ const zk = new ZkClient(zkHosts);
43
+ await zk.connect();
44
+ const registry = new InstanceRegistry(zk);
45
+ const instance = await registry.register(name, role, instanceId);
46
+ saveInstanceId(instance.id);
47
+ if (!projectConfig.instance_id) {
48
+ saveInstanceConfig({ name, role, instance_id: instance.id });
129
49
  }
130
- await withZk(zkHosts, async ({ registry }) => {
131
- const instance = await registry.register(resolvedName, resolvedRole, resolvedId);
132
- saveInstanceId(instance.id);
133
- saveInstanceConfig({ name: resolvedName, role: resolvedRole });
134
- output(instance);
135
- });
136
- }
137
- export async function cmdHeartbeat(zkHosts, cliInstanceId, currentTask) {
138
- await withZk(zkHosts, async ({ registry }) => {
139
- const instanceId = resolveInstanceId(cliInstanceId);
140
- await registry.heartbeat(instanceId, currentTask);
141
- output({ status: "ok", instance_id: instanceId });
142
- });
143
- }
144
- export async function cmdListInstances(zkHosts) {
145
- await withZk(zkHosts, async ({ registry }) => {
146
- const instances = await registry.listAll();
147
- output(instances);
50
+ output(instance);
51
+ // Resolve leader instance ID for CACHE_DIR path
52
+ const leaderData = await zk.getLeader();
53
+ const leaderInstanceId = leaderData?.instance_id ?? instance.id;
54
+ const watcher = new WorkerWatcher(zk, instance.id, process.cwd(), resolvedConfig.cliCommand, resolvedConfig.cacheDir, leaderInstanceId);
55
+ const onSigint = () => {
56
+ watcher.stop();
57
+ };
58
+ process.on("SIGINT", onSigint);
59
+ await watcher.start();
60
+ // Block until stopped
61
+ await new Promise((resolve) => {
62
+ const check = setInterval(() => {
63
+ if (watcher.stopped) {
64
+ clearInterval(check);
65
+ resolve();
66
+ }
67
+ }, 200);
148
68
  });
69
+ await registry.unregister(instance.id);
70
+ await zk.disconnect();
71
+ process.removeListener("SIGINT", onSigint);
72
+ console.log("Unregistered. Goodbye.");
149
73
  }
150
- export async function cmdPushTask(zkHosts, cliInstanceId, title, description, priority, assignee) {
74
+ export async function cmdPushTask(zkHosts, cliInstanceId, title, description, priority, assignee, link, chainId, dependsOn, blockedBy) {
151
75
  await withZk(zkHosts, async ({ taskQueue }) => {
152
76
  const instanceId = cliInstanceId ?? "";
153
- const task = await taskQueue.push(title, description, priority, instanceId, assignee);
77
+ const task = await taskQueue.push(title, description, priority, instanceId, assignee, undefined, undefined, link ?? null, chainId ?? null, dependsOn ?? [], blockedBy ?? []);
154
78
  output(task);
155
79
  });
156
80
  }
@@ -173,13 +97,13 @@ export async function cmdCompleteTask(zkHosts, cliInstanceId, taskId, result) {
173
97
  output(task);
174
98
  });
175
99
  }
176
- export async function cmdListTasks(zkHosts, statusFilter) {
100
+ export async function cmdPollTask(zkHosts, statusFilter) {
177
101
  await withZk(zkHosts, async ({ taskQueue }) => {
178
102
  const tasks = await taskQueue.listTasks(statusFilter);
179
103
  output(tasks);
180
104
  });
181
105
  }
182
- export async function cmdSendMessage(zkHosts, cliInstanceId, content, toInstance, broadcast = false, toName) {
106
+ export async function cmdSendMessage(zkHosts, cliInstanceId, content, toInstance, broadcast = false, toName, help = false) {
183
107
  await withZk(zkHosts, async ({ registry, messageRouter }) => {
184
108
  const instanceId = cliInstanceId || loadInstanceId() || "";
185
109
  let fromName;
@@ -190,199 +114,158 @@ export async function cmdSendMessage(zkHosts, cliInstanceId, content, toInstance
190
114
  else {
191
115
  fromName = "CLI";
192
116
  }
193
- const messages = await messageRouter.send(instanceId, fromName, content, toInstance, broadcast, toName);
117
+ const messages = await messageRouter.send(instanceId, fromName, content, toInstance, broadcast, toName, help);
194
118
  const targets = messages.map((m) => m.to_instance);
195
119
  output({ sent_to: targets, message_count: targets.length });
196
120
  });
197
121
  }
198
- export async function cmdPollMessages(zkHosts, cliInstanceId) {
122
+ export async function cmdPollMessage(zkHosts, cliInstanceId) {
199
123
  await withZk(zkHosts, async ({ messageRouter }) => {
200
124
  const instanceId = resolveInstanceId(cliInstanceId);
201
125
  const messages = await messageRouter.poll(instanceId);
202
126
  output(messages);
203
127
  });
204
128
  }
205
- export async function cmdWaitForMessage(zkHosts, cliInstanceId, timeout) {
206
- await withZk(zkHosts, async ({ messageRouter }) => {
207
- const instanceId = resolveInstanceId(cliInstanceId);
208
- const messages = await messageRouter.waitForMessage(instanceId, timeout);
209
- output(messages.length > 0 ? messages : { status: "timeout", message: "No messages received." });
210
- });
211
- }
212
- export async function cmdDismissMessage(zkHosts, cliInstanceId, messageId) {
129
+ export async function cmdDeleteMessage(zkHosts, cliInstanceId, messageId) {
213
130
  await withZk(zkHosts, async ({ messageRouter }) => {
214
131
  const instanceId = resolveInstanceId(cliInstanceId);
215
132
  await messageRouter.dismissMessage(instanceId, messageId);
216
- output({ status: "dismissed", message_id: messageId });
217
- });
218
- }
219
- export async function cmdRequestHelp(zkHosts, cliInstanceId, question, ctx) {
220
- await withZk(zkHosts, async ({ registry, messageRouter }) => {
221
- const instanceId = cliInstanceId || loadInstanceId() || "";
222
- let fromName;
223
- if (instanceId) {
224
- const inst = await registry.get(instanceId);
225
- fromName = inst?.name ?? instanceId.slice(0, 8);
226
- }
227
- else {
228
- fromName = "CLI";
229
- }
230
- const messages = await messageRouter.requestHelp(instanceId, fromName, question, ctx);
231
- const targets = messages.map((m) => m.to_instance);
232
- output({ sent_to: targets, message_count: targets.length });
233
- });
234
- }
235
- export async function cmdSetContext(zkHosts, cliInstanceId, key, value) {
236
- await withZk(zkHosts, async ({ contextStore }) => {
237
- const instanceId = cliInstanceId ?? "";
238
- const entry = await contextStore.set(key, value, instanceId);
239
- output(entry);
240
- });
241
- }
242
- export async function cmdGetContext(zkHosts, key) {
243
- await withZk(zkHosts, async ({ contextStore }) => {
244
- const value = await contextStore.get(key);
245
- if (value === null) {
246
- output({ key, value: null, status: "not_found" });
247
- }
248
- else {
249
- output({ key, value });
250
- }
251
- });
252
- }
253
- export async function cmdDeleteContext(zkHosts, key) {
254
- await withZk(zkHosts, async ({ contextStore }) => {
255
- await contextStore.delete(key);
256
- output({ key, status: "deleted" });
257
- });
258
- }
259
- export async function cmdListContextKeys(zkHosts) {
260
- await withZk(zkHosts, async ({ contextStore }) => {
261
- const keys = await contextStore.listKeys();
262
- output({ keys, count: keys.length });
263
- });
264
- }
265
- export async function cmdWatchContext(zkHosts, key) {
266
- await withZk(zkHosts, async ({ zk }) => {
267
- const value = await zk.watchContextKey(key, (newData) => {
268
- output({ key, value: newData?.value ?? null, event: "changed" });
269
- process.exit(0);
270
- });
271
- if (value === null) {
272
- output({ key, value: null, message: `Watching key '${key}' for changes... (Ctrl+C to stop)` });
273
- }
274
- else {
275
- output({ key, value: value.value, message: `Watching key '${key}' for changes... (Ctrl+C to stop)` });
276
- }
277
- // Keep process alive waiting for watch callback
278
- await new Promise(() => { });
279
- });
280
- }
281
- export async function cmdWatchTasks(zkHosts) {
282
- await withZk(zkHosts, async ({ zk }) => {
283
- const children = await zk.watchPendingTasks((newChildren) => {
284
- output({ event: "tasks_changed", pending_count: newChildren.length, tasks: newChildren });
285
- process.exit(0);
286
- });
287
- output({
288
- pending_count: children.length,
289
- message: "Watching for new tasks... (Ctrl+C to stop)",
290
- });
291
- await new Promise(() => { });
133
+ output({ status: "deleted", message_id: messageId });
292
134
  });
293
135
  }
294
136
  export async function cmdUnregister(zkHosts, cliInstanceId) {
295
137
  const instanceId = resolveInstanceId(cliInstanceId);
296
- // Try MCP server REST endpoint first
297
- const config = loadInstanceConfig();
298
- const host = config.host || "127.0.0.1";
299
- const port = config.port || "3100";
300
- try {
301
- await unregisterViaHttp(host, port, instanceId);
302
- output({ status: "unregistered", instance_id: instanceId });
303
- return;
304
- }
305
- catch {
306
- // Server not reachable — fall back to direct ZK
307
- }
308
138
  await withZk(zkHosts, async ({ registry }) => {
309
139
  await registry.unregister(instanceId);
310
140
  output({ status: "unregistered", instance_id: instanceId });
311
141
  });
312
142
  }
143
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
313
144
  export async function cmdSetup(options) {
314
- const { port, host, name, role, global: isGlobal, withHook } = options;
315
- const claudeDir = isGlobal
316
- ? path.join(os.homedir(), ".claude")
317
- : path.join(process.cwd(), ".claude");
318
- const mcpFile = path.join(claudeDir, "mcp.json");
319
- const entry = {
320
- type: "http",
321
- url: `http://${host}:${port}/mcp`,
322
- };
323
- if (name) {
324
- const headers = {
325
- "X-Instance-Name": name,
326
- };
327
- if (role) {
328
- headers["X-Instance-Role"] = role;
329
- }
330
- entry["headers"] = headers;
145
+ const { leader, name, role, cacheDir, command, global: isGlobal } = options;
146
+ const resolvedRole = leader ? "leader" : (role || "builder");
147
+ const resolvedName = name || (leader ? "Leader" : undefined);
148
+ const defaultCliCommand = "claude --dangerously-skip-permissions --permission-mode dontAsk";
149
+ const defaultCacheDir = "~/.claude-orchestrator/sessions";
150
+ // ── Write global config ──
151
+ const existingGlobal = loadGlobalConfig();
152
+ const globalZk = existingGlobal.zookeeper || { url: "127.0.0.1:2181", root_path: "/claude-orchestrator", auth: null };
153
+ const prevCommands = existingGlobal.commands;
154
+ saveInstanceConfig({
155
+ commands: {
156
+ "claude-cli": command || prevCommands?.["claude-cli"] || defaultCliCommand,
157
+ "leader-sync": prevCommands?.["leader-sync"] ?? null,
158
+ },
159
+ cache_dir: cacheDir || existingGlobal.cache_dir || defaultCacheDir,
160
+ zookeeper: {
161
+ url: globalZk.url || "127.0.0.1:2181",
162
+ root_path: globalZk.root_path || "/claude-orchestrator",
163
+ auth: globalZk.auth ?? null,
164
+ },
165
+ }, true);
166
+ if (isGlobal) {
167
+ output({
168
+ status: "configured",
169
+ global: true,
170
+ config: loadGlobalConfig(),
171
+ message: "Global config written. Run with --leader or in a project to create templates and project config.",
172
+ });
173
+ return;
331
174
  }
332
- // Write .claude/mcp.json
333
- let mcpConfig = {};
334
- if (fs.existsSync(mcpFile)) {
335
- try {
336
- mcpConfig = JSON.parse(fs.readFileSync(mcpFile, "utf-8"));
175
+ // ── Write project config ──
176
+ const projectConfig = {};
177
+ if (resolvedName)
178
+ projectConfig["name"] = resolvedName;
179
+ projectConfig["role"] = resolvedRole;
180
+ saveInstanceConfig(projectConfig, false);
181
+ // ── Copy templates to .claude-orchestrator/agents/ ──
182
+ const templateDir = path.join(__dirname, "..", "templates");
183
+ const agentsDir = path.join(process.cwd(), ".claude-orchestrator", "agents");
184
+ const templates = {
185
+ "leader-decompose.md": path.join(templateDir, "leader-decompose.md"),
186
+ "leader-decide.md": path.join(templateDir, "leader-decide.md"),
187
+ "worker-plan.md": path.join(templateDir, "worker-plan.md"),
188
+ "worker-build.md": path.join(templateDir, "worker-build.md"),
189
+ "worker-verify.md": path.join(templateDir, "worker-verify.md"),
190
+ "worker-review.md": path.join(templateDir, "worker-review.md"),
191
+ "worker-accept.md": path.join(templateDir, "worker-accept.md"),
192
+ };
193
+ const written = [];
194
+ const skipped = [];
195
+ for (const [filename, srcPath] of Object.entries(templates)) {
196
+ const destPath = path.join(agentsDir, filename);
197
+ fs.mkdirSync(agentsDir, { recursive: true });
198
+ if (fs.existsSync(destPath)) {
199
+ skipped.push(filename);
337
200
  }
338
- catch {
339
- output({ error: `Failed to parse existing ${mcpFile}` }, true);
340
- return;
201
+ else {
202
+ const content = fs.readFileSync(srcPath, "utf-8");
203
+ fs.writeFileSync(destPath, content);
204
+ written.push(filename);
341
205
  }
342
206
  }
343
- mcpConfig.mcpServers = mcpConfig.mcpServers || {};
344
- mcpConfig.mcpServers["orchestrator"] = entry;
345
- fs.mkdirSync(claudeDir, { recursive: true });
346
- fs.writeFileSync(mcpFile, JSON.stringify(mcpConfig, null, 2) + "\n");
347
- // Save instance config for auto-registration
348
- if (name || role) {
349
- saveInstanceConfig({ name, role, port, host }, isGlobal);
350
- }
351
- // Optionally create SessionStart + Stop hooks
352
- if (withHook) {
353
- const settingsFile = path.join(claudeDir, "settings.json");
354
- let settings = {};
355
- if (fs.existsSync(settingsFile)) {
356
- try {
357
- settings = JSON.parse(fs.readFileSync(settingsFile, "utf-8"));
207
+ // ── Copy skills to .claude/skills/ ──
208
+ const skillsSrcDir = path.join(__dirname, "..", "skills");
209
+ const skillsDstDir = path.join(process.cwd(), ".claude", "skills");
210
+ const skillsWritten = [];
211
+ const skillsSkipped = [];
212
+ 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) {
217
+ const srcSkillPath = path.join(skillsSrcDir, skillName, "SKILL.md");
218
+ const dstSkillDir = path.join(skillsDstDir, skillName);
219
+ const dstSkillPath = path.join(dstSkillDir, "SKILL.md");
220
+ if (!fs.existsSync(srcSkillPath))
221
+ continue;
222
+ fs.mkdirSync(dstSkillDir, { recursive: true });
223
+ if (fs.existsSync(dstSkillPath)) {
224
+ skillsSkipped.push(skillName);
358
225
  }
359
- catch {
360
- output({ error: `Failed to parse existing ${settingsFile}` }, true);
361
- return;
226
+ else {
227
+ const content = fs.readFileSync(srcSkillPath, "utf-8");
228
+ fs.writeFileSync(dstSkillPath, content);
229
+ skillsWritten.push(skillName);
362
230
  }
363
231
  }
364
- settings.hooks = settings.hooks || {};
365
- const addHook = (hookType, command) => {
366
- const existing = (settings.hooks[hookType] || []);
367
- const alreadyExists = existing.some((h) => {
368
- const hooks = h?.hooks;
369
- return hooks?.[0]?.command === command;
370
- });
371
- if (!alreadyExists) {
372
- existing.push({ matcher: "", hooks: [{ type: "command", command }] });
373
- settings.hooks[hookType] = existing;
374
- }
375
- };
376
- addHook("SessionStart", "claude-orchestrator register");
377
- addHook("SessionEnd", "claude-orchestrator unregister");
378
- fs.writeFileSync(settingsFile, JSON.stringify(settings, null, 2) + "\n");
379
232
  }
380
- output({
233
+ const result = {
381
234
  status: "configured",
382
- file: mcpFile,
383
- entry,
384
- ...(withHook ? { hooks: ["SessionStart: claude-orchestrator register", "SessionEnd: claude-orchestrator unregister"] } : {}),
385
- ...(name ? { instance_config: `saved to ${isGlobal ? "~/.claude-orchestrator" : ".claude-orchestrator"}/config.json` } : {}),
235
+ project_config: path.join(process.cwd(), ".claude-orchestrator", "config.json"),
236
+ templates_dir: agentsDir,
237
+ skills_dir: skillsDstDir,
238
+ };
239
+ if (written.length > 0)
240
+ result["templates_written"] = written;
241
+ if (skipped.length > 0)
242
+ result["templates_skipped"] = skipped;
243
+ if (skillsWritten.length > 0)
244
+ result["skills_written"] = skillsWritten;
245
+ if (skillsSkipped.length > 0)
246
+ result["skills_skipped"] = skillsSkipped;
247
+ if (!resolvedName)
248
+ result["warning"] = "No name provided. Use --name to set instance name.";
249
+ output(result);
250
+ }
251
+ export async function cmdTaskBlock(zkHosts, cliInstanceId, taskId, reason) {
252
+ await withZk(zkHosts, async ({ taskQueue }) => {
253
+ const instanceId = resolveInstanceId(cliInstanceId);
254
+ const task = await taskQueue.block(instanceId, taskId, reason);
255
+ output(task);
256
+ });
257
+ }
258
+ export async function cmdTaskFail(zkHosts, cliInstanceId, taskId, reason) {
259
+ await withZk(zkHosts, async ({ taskQueue }) => {
260
+ const instanceId = resolveInstanceId(cliInstanceId);
261
+ const task = await taskQueue.fail(instanceId, taskId, reason);
262
+ output(task);
263
+ });
264
+ }
265
+ export async function cmdTaskRetry(zkHosts, _cliInstanceId, taskId) {
266
+ await withZk(zkHosts, async ({ taskQueue }) => {
267
+ const task = await taskQueue.retry(taskId);
268
+ output(task);
386
269
  });
387
270
  }
388
271
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,24 +1,38 @@
1
+ export declare const GLOBAL_CONFIG_DIR: string;
2
+ export declare const GLOBAL_CONFIG_FILE: string;
3
+ export interface ZkConfig {
4
+ url: string;
5
+ root_path: string;
6
+ auth: string | null;
7
+ }
8
+ export interface CommandsConfig {
9
+ "claude-cli"?: string;
10
+ "leader-sync"?: string | null;
11
+ }
1
12
  export interface InstanceConfig {
2
13
  instance_id?: string;
3
14
  name?: string;
4
15
  role?: string;
5
- port?: string;
6
- host?: string;
16
+ commands?: CommandsConfig;
17
+ cache_dir?: string;
18
+ zookeeper?: ZkConfig;
7
19
  }
8
- export interface Config {
9
- zkHosts: string;
10
- port: number;
11
- host: string;
20
+ export interface ResolvedConfig {
21
+ zk: ZkConfig;
22
+ cacheDir: string;
23
+ cliCommand: string;
24
+ leaderSync: string | null;
12
25
  instanceId?: string;
26
+ name?: string;
27
+ role?: string;
13
28
  }
14
29
  export declare function loadConfig(cliOpts: {
15
30
  zookeeper?: string;
16
- port?: string;
17
- host?: string;
18
- instanceId?: string;
19
- }): Config;
31
+ }): ResolvedConfig;
20
32
  export declare function saveInstanceConfig(config: InstanceConfig, global?: boolean): void;
21
33
  export declare function loadInstanceConfig(): InstanceConfig;
22
- export declare function saveInstanceId(instanceId: string, global?: boolean): void;
34
+ export declare function loadGlobalConfig(): InstanceConfig;
35
+ export declare function saveInstanceId(instanceId: string): void;
23
36
  export declare function loadInstanceId(): string | null;
24
37
  export declare function resolveInstanceId(cliInstanceId?: string): string;
38
+ export declare function expandHomeDir(p: string): string;