ccgateway 0.2.2 → 0.3.0

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 (43) hide show
  1. package/README.md +122 -176
  2. package/dist/async-watcher.d.ts +6 -0
  3. package/dist/async-watcher.d.ts.map +1 -1
  4. package/dist/async-watcher.js +32 -0
  5. package/dist/async-watcher.js.map +1 -1
  6. package/dist/cli.js +28 -87
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.d.ts +5 -6
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +0 -2
  11. package/dist/config.js.map +1 -1
  12. package/dist/context.d.ts.map +1 -1
  13. package/dist/context.js +11 -1
  14. package/dist/context.js.map +1 -1
  15. package/dist/messaging.d.ts.map +1 -1
  16. package/dist/messaging.js +12 -0
  17. package/dist/messaging.js.map +1 -1
  18. package/dist/migrate.d.ts +9 -0
  19. package/dist/migrate.d.ts.map +1 -1
  20. package/dist/migrate.js +64 -40
  21. package/dist/migrate.js.map +1 -1
  22. package/dist/plugin.d.ts +5 -1
  23. package/dist/plugin.d.ts.map +1 -1
  24. package/dist/plugin.js +1 -1
  25. package/dist/plugin.js.map +1 -1
  26. package/dist/plugins/discord-gateway.d.ts.map +1 -1
  27. package/dist/plugins/discord-gateway.js +168 -88
  28. package/dist/plugins/discord-gateway.js.map +1 -1
  29. package/dist/plugins/slack-gateway.d.ts.map +1 -1
  30. package/dist/plugins/slack-gateway.js +36 -0
  31. package/dist/plugins/slack-gateway.js.map +1 -1
  32. package/dist/router.d.ts +10 -0
  33. package/dist/router.d.ts.map +1 -1
  34. package/dist/router.js +41 -8
  35. package/dist/router.js.map +1 -1
  36. package/dist/spawner.d.ts +16 -0
  37. package/dist/spawner.d.ts.map +1 -1
  38. package/dist/spawner.js +109 -4
  39. package/dist/spawner.js.map +1 -1
  40. package/dist/types.d.ts +1 -1
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +2 -1
  43. package/skills/talk/SKILL.md +53 -0
package/dist/router.js CHANGED
@@ -131,7 +131,12 @@ export class MessageRouter {
131
131
  // 6. Build context
132
132
  const systemPrompt = await this.context.build(agentId, sessionKey);
133
133
  // 7. Triage: sync or async?
134
- if (this.watcher) {
134
+ // Skip async triage for non-interactive gateways (bitbucket, jira)
135
+ // tmux interactive mode requires a trusted workspace prompt which
136
+ // cannot be answered in headless mode. Use sync + long timeout instead.
137
+ const interactiveGateways = new Set(["slack", "discord"]);
138
+ const allowAsync = interactiveGateways.has(message.from.gateway);
139
+ if (this.watcher && allowAsync) {
135
140
  const triageResult = await this.spawner.triage(messageContent);
136
141
  if (triageResult === "async") {
137
142
  logger.info(`router: async triage for agent=${agentId}, dispatching to tmux`);
@@ -172,12 +177,14 @@ export class MessageRouter {
172
177
  }
173
178
  }
174
179
  // 8. Spawn claude (sync path)
180
+ const spawnKey = `${agentId}:${message.from.gateway}:${message.from.channel}`;
175
181
  const spawnOptions = {
176
182
  workspace: agent.workspace,
177
183
  message: messageContent,
178
184
  systemPrompt,
179
185
  model: agent.model,
180
186
  allowedTools: agent.allowedTools,
187
+ spawnKey,
181
188
  ...(agent.timeoutMs ? { timeoutMs: agent.timeoutMs } : {}),
182
189
  ...(images.length > 0 ? { images } : {}),
183
190
  };
@@ -188,19 +195,15 @@ export class MessageRouter {
188
195
  if (attachmentDir) {
189
196
  rm(attachmentDir, { recursive: true, force: true }).catch(() => { });
190
197
  }
191
- // 10. Handle failure: append error to session and throw
198
+ // 10. Handle failure: throw without persisting errors to session history.
199
+ // Error responses pollute conversation context and waste tokens on
200
+ // subsequent requests — the user already sees the error in Discord/Slack.
192
201
  if (result.exitCode !== 0) {
193
202
  const isTimeout = result.exitCode === 124;
194
203
  const stderrHint = result.stderr ? `\n\nDetails: ${result.stderr.slice(0, 500)}` : "";
195
204
  const errorContent = isTimeout
196
205
  ? "The task timed out — no activity was detected for over 15 minutes. Try breaking it into smaller steps."
197
206
  : (result.response || `Spawner failed with exit code ${result.exitCode}`) + stderrHint;
198
- await this.sessions.appendMessage(agentId, sessionKey, {
199
- role: "assistant",
200
- content: `[error] ${errorContent}`,
201
- ts: Date.now(),
202
- tokens: result.tokensEstimate,
203
- });
204
207
  throw new Error(errorContent);
205
208
  }
206
209
  // 11. Append assistant response to session
@@ -213,6 +216,36 @@ export class MessageRouter {
213
216
  // 12. Return response text (guard against empty responses)
214
217
  return result.response.trim() || "(no response)";
215
218
  }
219
+ /**
220
+ * Cancel any in-flight work (sync spawn and/or async tmux task) for a given
221
+ * (agent, gateway, channel). Used by the `/stop` slash command.
222
+ *
223
+ * Returns a summary describing what was cancelled.
224
+ */
225
+ async cancel(agentId, gateway, channel) {
226
+ const spawnKey = `${agentId}:${gateway}:${channel}`;
227
+ const syncCancelled = this.spawner.cancel(spawnKey);
228
+ let asyncCancelled = 0;
229
+ if (this.watcher) {
230
+ asyncCancelled = await this.watcher.cancelForChannel(agentId, gateway, channel);
231
+ }
232
+ if (syncCancelled || asyncCancelled > 0) {
233
+ // Record the cancellation in session history so context stays accurate.
234
+ try {
235
+ const sessionKey = this.sessions.getOrCreateSession(agentId, gateway, channel);
236
+ await this.sessions.appendMessage(agentId, sessionKey, {
237
+ role: "assistant",
238
+ content: "[cancelled by /stop]",
239
+ ts: Date.now(),
240
+ tokens: { in: 0, out: 0 },
241
+ });
242
+ }
243
+ catch (err) {
244
+ logger.warn(`router.cancel: failed to record cancellation: ${err.message}`);
245
+ }
246
+ }
247
+ return { syncCancelled, asyncCancelled };
248
+ }
216
249
  /**
217
250
  * Add a binding at runtime.
218
251
  */
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/spawner.d.ts CHANGED
@@ -21,6 +21,8 @@ export interface SpawnOptions {
21
21
  /** When provided, switches to --input-format stream-json so images are
22
22
  * sent as content blocks directly (no Read-tool round-trip). */
23
23
  images?: ImageInput[];
24
+ /** Optional key used to register the spawn for external cancellation via `cancel(key)`. */
25
+ spawnKey?: string;
24
26
  }
25
27
  export interface AsyncSpawnOptions {
26
28
  workspace: string;
@@ -39,6 +41,18 @@ export type TriageResult = "sync" | "async";
39
41
  export type StreamCallback = (accumulated: string) => void;
40
42
  export declare class CCSpawner {
41
43
  private _muxBinary;
44
+ /** Active sync spawns keyed by `spawnKey` for external cancellation. */
45
+ private activeSpawns;
46
+ /**
47
+ * Cancel an in-flight sync spawn by its registered key.
48
+ * Sends SIGTERM, then SIGKILL after 2s if still alive.
49
+ * Returns true if a spawn was found and killed.
50
+ */
51
+ cancel(key: string): boolean;
52
+ /** Check if a spawn key currently has an active process. */
53
+ isActive(key: string): boolean;
54
+ private registerSpawn;
55
+ private unregisterSpawn;
42
56
  /**
43
57
  * Quick Sonnet call to classify a message as "sync" or "async".
44
58
  * Defaults to "sync" on any failure (timeout, parse error, etc.).
@@ -81,6 +95,8 @@ export declare class CCSpawner {
81
95
  spawnStreaming(options: SpawnOptions, onChunk?: StreamCallback): Promise<SpawnResult>;
82
96
  private spawnText;
83
97
  private spawnStreamJson;
98
+ /** Kill a tmux/screen async session (used by /stop to cancel async tasks). */
99
+ killSession(sessionName: string): Promise<boolean>;
84
100
  }
85
101
  /**
86
102
  * Extract the assistant's text response from stream-json JSONL output.
@@ -1 +1 @@
1
- {"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAa3D,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAwC;IAI1D;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BpD;;;;;;;;OAQG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8EvE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzC;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAKxD;;;;;;;;OAQG;IACG,cAAc,CAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IA8KvB,OAAO,CAAC,SAAS;IAkFjB,OAAO,CAAC,eAAe;CAmHxB;AA8BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAyCxD"}
1
+ {"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAsC3D,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAwC;IAE1D,wEAAwE;IACxE,OAAO,CAAC,YAAY,CAAmC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAkB5B,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IASvB;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BpD;;;;;;;;OAQG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmFvE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzC;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAKxD;;;;;;;;OAQG;IACG,cAAc,CAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IAuLvB,OAAO,CAAC,SAAS;IAuFjB,OAAO,CAAC,eAAe;IAyHvB,8EAA8E;IACxE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAezD;AA8BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAyCxD"}
package/dist/spawner.js CHANGED
@@ -9,8 +9,77 @@ const IMAGE_TIMEOUT_MS = 600_000; // 10 minutes — vision calls on Opus are slo
9
9
  const INACTIVITY_TIMEOUT_MS = 900_000; // 15 minutes of silence
10
10
  /** Absolute safety cap so processes can't run forever. */
11
11
  const MAX_ABSOLUTE_TIMEOUT_MS = 1_800_000; // 30 minutes
12
+ /**
13
+ * Build a clean environment for spawned `claude` child processes.
14
+ * Strips inherited Claude Code env vars (CLAUDECODE, CLAUDE_CODE_ENTRYPOINT,
15
+ * CLAUDE_CODE_EXECPATH, CLAUDE_CODE_HIDE_ACCOUNT_INFO) so the child process
16
+ * doesn't think it's a nested Claude Code session, which can cause different
17
+ * rate-limit handling or feature restrictions.
18
+ */
19
+ function cleanEnv() {
20
+ const env = { ...process.env };
21
+ // Strip Claude Code nesting indicators
22
+ delete env.CLAUDECODE;
23
+ delete env.CLAUDE_CODE_ENTRYPOINT;
24
+ delete env.CLAUDE_CODE_EXECPATH;
25
+ delete env.CLAUDE_CODE_HIDE_ACCOUNT_INFO;
26
+ // Strip npm/node env vars inherited from `npx tsx` that may confuse
27
+ // the child `claude` process into thinking it's part of an npm script
28
+ for (const key of Object.keys(env)) {
29
+ if (key.startsWith("npm_"))
30
+ delete env[key];
31
+ }
32
+ delete env.INIT_CWD;
33
+ delete env.COLOR;
34
+ delete env.NODE;
35
+ return env;
36
+ }
12
37
  export class CCSpawner {
13
38
  _muxBinary = undefined; // undefined = not detected yet
39
+ /** Active sync spawns keyed by `spawnKey` for external cancellation. */
40
+ activeSpawns = new Map();
41
+ /**
42
+ * Cancel an in-flight sync spawn by its registered key.
43
+ * Sends SIGTERM, then SIGKILL after 2s if still alive.
44
+ * Returns true if a spawn was found and killed.
45
+ */
46
+ cancel(key) {
47
+ const child = this.activeSpawns.get(key);
48
+ if (!child)
49
+ return false;
50
+ try {
51
+ child.kill("SIGTERM");
52
+ setTimeout(() => {
53
+ if (!child.killed) {
54
+ try {
55
+ child.kill("SIGKILL");
56
+ }
57
+ catch { /* ignore */ }
58
+ }
59
+ }, 2000);
60
+ }
61
+ catch {
62
+ // ignore
63
+ }
64
+ this.activeSpawns.delete(key);
65
+ return true;
66
+ }
67
+ /** Check if a spawn key currently has an active process. */
68
+ isActive(key) {
69
+ return this.activeSpawns.has(key);
70
+ }
71
+ registerSpawn(key, child) {
72
+ if (!key)
73
+ return;
74
+ this.activeSpawns.set(key, child);
75
+ }
76
+ unregisterSpawn(key, child) {
77
+ if (!key)
78
+ return;
79
+ if (this.activeSpawns.get(key) === child) {
80
+ this.activeSpawns.delete(key);
81
+ }
82
+ }
14
83
  // ── Triage ───────────────────────────────────────────────────────────────
15
84
  /**
16
85
  * Quick Sonnet call to classify a message as "sync" or "async".
@@ -72,12 +141,11 @@ export class CCSpawner {
72
141
  const outputLog = join(taskDir, "output.log");
73
142
  const instructionsFile = join(taskDir, "INSTRUCTIONS.md");
74
143
  if (mux === "tmux") {
75
- // Launch tmux session with claude in interactive mode
144
+ // Launch tmux session with claude in interactive mode (no pipe — preserves TTY)
76
145
  const tmuxCmd = [
77
146
  `claude --dangerously-skip-permissions`,
78
147
  `--append-system-prompt-file ${instructionsFile}`,
79
148
  `--model ${model}`,
80
- `2>&1 | tee ${outputLog}`,
81
149
  ].join(" ");
82
150
  await execAsync("tmux", [
83
151
  "new-session", "-d",
@@ -85,6 +153,11 @@ export class CCSpawner {
85
153
  "-c", workspace,
86
154
  tmuxCmd,
87
155
  ]);
156
+ // Pipe output to log file while preserving TTY
157
+ await execAsync("tmux", [
158
+ "pipe-pane", "-t", sessionName,
159
+ `cat >> ${outputLog}`,
160
+ ]);
88
161
  // Wait for claude to initialize, then send the prompt + Enter
89
162
  await sleep(3000);
90
163
  // Use tmux load-buffer + paste-buffer for reliable long message delivery
@@ -93,16 +166,16 @@ export class CCSpawner {
93
166
  await execAsync("tmux", ["send-keys", "-t", sessionName, "Enter"]);
94
167
  }
95
168
  else {
96
- // screen fallback
169
+ // screen fallback (no pipe — preserves TTY)
97
170
  const screenCmd = [
98
171
  `cd ${workspace} &&`,
99
172
  `claude --dangerously-skip-permissions`,
100
173
  `--append-system-prompt-file ${instructionsFile}`,
101
174
  `--model ${model}`,
102
- `2>&1 | tee ${outputLog}`,
103
175
  ].join(" ");
104
176
  await execAsync("screen", [
105
177
  "-dmS", sessionName,
178
+ "-L", "-Logfile", outputLog,
106
179
  "bash", "-c", screenCmd,
107
180
  ]);
108
181
  // Wait for claude to initialize, then stuff the prompt
@@ -188,6 +261,7 @@ export class CCSpawner {
188
261
  const args = [
189
262
  "--print",
190
263
  "--dangerously-skip-permissions",
264
+ "--no-session-persistence",
191
265
  "--output-format",
192
266
  "stream-json",
193
267
  "--verbose",
@@ -203,11 +277,14 @@ export class CCSpawner {
203
277
  else {
204
278
  args.push("-p", message);
205
279
  }
280
+ const env = cleanEnv();
206
281
  return new Promise((resolve) => {
207
282
  const child = spawn("claude", args, {
208
283
  cwd: workspace,
284
+ env,
209
285
  stdio: [hasImages ? "pipe" : "ignore", "pipe", "pipe"],
210
286
  });
287
+ this.registerSpawn(options.spawnKey, child);
211
288
  let accumulated = "";
212
289
  let stderr = "";
213
290
  let lastActivity = Date.now();
@@ -292,6 +369,7 @@ export class CCSpawner {
292
369
  child.on("close", (code) => {
293
370
  clearInterval(activityCheck);
294
371
  clearTimeout(absoluteTimer);
372
+ this.unregisterSpawn(options.spawnKey, child);
295
373
  const exitCode = timedOut ? 124 : (code ?? 1);
296
374
  const response = finalResult || accumulated || "";
297
375
  const inputChars = message.length + systemPrompt.length;
@@ -309,6 +387,7 @@ export class CCSpawner {
309
387
  child.on("error", (err) => {
310
388
  clearInterval(activityCheck);
311
389
  clearTimeout(absoluteTimer);
390
+ this.unregisterSpawn(options.spawnKey, child);
312
391
  resolve({
313
392
  response: "",
314
393
  stderr: err.message,
@@ -337,8 +416,10 @@ export class CCSpawner {
337
416
  return new Promise((resolve) => {
338
417
  const child = spawn("claude", args, {
339
418
  cwd: workspace,
419
+ env: cleanEnv(),
340
420
  stdio: ["ignore", "pipe", "pipe"],
341
421
  });
422
+ this.registerSpawn(options.spawnKey, child);
342
423
  let stdout = "";
343
424
  let stderr = "";
344
425
  let timedOut = false;
@@ -358,6 +439,7 @@ export class CCSpawner {
358
439
  }, timeoutMs);
359
440
  child.on("close", (code) => {
360
441
  clearTimeout(timer);
442
+ this.unregisterSpawn(options.spawnKey, child);
361
443
  const exitCode = timedOut ? 124 : (code ?? 1);
362
444
  const inputChars = message.length + systemPrompt.length;
363
445
  const outputChars = stdout.length;
@@ -373,6 +455,7 @@ export class CCSpawner {
373
455
  });
374
456
  child.on("error", (err) => {
375
457
  clearTimeout(timer);
458
+ this.unregisterSpawn(options.spawnKey, child);
376
459
  resolve({
377
460
  response: "",
378
461
  stderr: err.message,
@@ -421,8 +504,10 @@ export class CCSpawner {
421
504
  return new Promise((resolve) => {
422
505
  const child = spawn("claude", args, {
423
506
  cwd: workspace,
507
+ env: cleanEnv(),
424
508
  stdio: ["pipe", "pipe", "pipe"],
425
509
  });
510
+ this.registerSpawn(options.spawnKey, child);
426
511
  let stdout = "";
427
512
  let stderr = "";
428
513
  let timedOut = false;
@@ -445,6 +530,7 @@ export class CCSpawner {
445
530
  }, timeoutMs);
446
531
  child.on("close", (code) => {
447
532
  clearTimeout(timer);
533
+ this.unregisterSpawn(options.spawnKey, child);
448
534
  const exitCode = timedOut ? 124 : (code ?? 1);
449
535
  const response = parseStreamOutput(stdout);
450
536
  const inputChars = message.length + systemPrompt.length;
@@ -461,6 +547,7 @@ export class CCSpawner {
461
547
  });
462
548
  child.on("error", (err) => {
463
549
  clearTimeout(timer);
550
+ this.unregisterSpawn(options.spawnKey, child);
464
551
  resolve({
465
552
  response: "",
466
553
  stderr: err.message,
@@ -473,6 +560,24 @@ export class CCSpawner {
473
560
  });
474
561
  });
475
562
  }
563
+ /** Kill a tmux/screen async session (used by /stop to cancel async tasks). */
564
+ async killSession(sessionName) {
565
+ const mux = await this.detectMux();
566
+ if (!mux)
567
+ return false;
568
+ try {
569
+ if (mux === "tmux") {
570
+ await execAsync("tmux", ["kill-session", "-t", sessionName]);
571
+ }
572
+ else {
573
+ await execAsync("screen", ["-S", sessionName, "-X", "quit"]);
574
+ }
575
+ return true;
576
+ }
577
+ catch {
578
+ return false;
579
+ }
580
+ }
476
581
  }
477
582
  // ── Utility functions ─────────────────────────────────────────────────────
478
583
  /** Promise wrapper around execFile. */
@@ -1 +1 @@
1
- {"version":3,"file":"spawner.js","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawner.js","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { CcgConfig, AgentConfig, BindingConfig, PluginEntry, HeartbeatConfig, } from "./config.js";
1
+ export type { CcgConfig, AgentConfig, BindingConfig, PluginEntry, } from "./config.js";
2
2
  export interface Attachment {
3
3
  type: string;
4
4
  url?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccgateway",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Multi-agent orchestration layer built on Claude Code CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,6 +31,7 @@
31
31
  "files": [
32
32
  "dist",
33
33
  "bin",
34
+ "skills",
34
35
  "README.md"
35
36
  ],
36
37
  "bin": {
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: talk
3
+ description: Talk to a ccgateway agent directly from Claude Code. Spawns an isolated subagent session with the agent's full identity (CLAUDE.md, SOUL.md, IDENTITY.md, AGENTS.md) and ccgateway skills injected. Usage: /talk <agentId> <message>
4
+ ---
5
+
6
+ You are being invoked as the `/talk` skill for ccgateway. Your job is to spawn a subagent that assumes the identity of a ccgateway agent.
7
+
8
+ ## Instructions
9
+
10
+ 1. **Parse the argument.** The user invoked `/talk <agentId> <optional message>`. Extract the agent ID (first word) and the remaining text as the user's message/task.
11
+
12
+ 2. **Read the ccgateway config.** Use the Read tool to read the config file. Try these paths in order:
13
+ - `$CCG_HOME/config.json` (if CCG_HOME env var is set)
14
+ - `~/.ccgateway/config.json` (default)
15
+
16
+ If neither exists, tell the user: "No ccgateway config found. Run `ccg init` first."
17
+
18
+ 3. **Find the agent.** Parse the JSON config and find the agent whose `id` matches the argument. If not found, list all available agent IDs from the config and ask the user to pick one. Stop here until they respond.
19
+
20
+ 4. **Read identity files.** From the agent's `workspace` directory, read these files (skip any that don't exist):
21
+ - `CLAUDE.md`
22
+ - `SOUL.md`
23
+ - `IDENTITY.md`
24
+ - `AGENTS.md`
25
+
26
+ Concatenate the contents of all files that exist, separated by a blank line. This is the agent's **identity block**.
27
+
28
+ 5. **Read ccgateway skills.** Read all `.md` files from these directories (skip directories that don't exist):
29
+ - `~/.ccgateway/skills/` (shared skills)
30
+ - `~/.ccgateway/agents/<agentId>/skills/` (agent-specific skills, override shared skills with the same name)
31
+
32
+ For each `.md` file: strip the YAML frontmatter (everything between the opening `---` and closing `---`), keep the body. This is the **skills block**.
33
+
34
+ 6. **Spawn the subagent.** Use the Agent tool with:
35
+ - **prompt:** Compose as follows:
36
+ ```
37
+ You are <agent name>. Below is your identity and skills. Follow them exactly.
38
+
39
+ === IDENTITY ===
40
+ <identity block from step 4>
41
+
42
+ === SKILLS ===
43
+ <skills block from step 5>
44
+
45
+ === TASK ===
46
+ <the user's message/task from step 1>
47
+ ```
48
+ - **description:** `Talk to <agent name>`
49
+
50
+ The subagent will work in the agent's workspace directory. Include the workspace path in the prompt:
51
+ `Your working directory is: <agent.workspace>`
52
+
53
+ 7. **Return the result.** Relay the subagent's response back to the user.