ccgateway 0.1.9 → 0.2.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.
package/dist/spawner.js CHANGED
@@ -1,118 +1,170 @@
1
- import { spawn, execSync } from "node:child_process";
2
- import { writeFileSync, mkdirSync } from "node:fs";
3
- import { join } from "node:path";
4
- import { randomBytes } from "node:crypto";
1
+ import { spawn } from "node:child_process";
5
2
  // ── CCSpawner ──────────────────────────────────────────────────────────────
6
3
  const DEFAULT_TIMEOUT_MS = 300_000; // 5 minutes
7
4
  const IMAGE_TIMEOUT_MS = 600_000; // 10 minutes — vision calls on Opus are slower
5
+ /** Inactivity timeout: kill if no stdout data for this long. */
6
+ const INACTIVITY_TIMEOUT_MS = 300_000; // 5 minutes of silence
7
+ /** Absolute safety cap so processes can't run forever. */
8
+ const MAX_ABSOLUTE_TIMEOUT_MS = 1_800_000; // 30 minutes
8
9
  export class CCSpawner {
9
- static TRIAGE_TIMEOUT_MS = 15_000;
10
- static TRIAGE_PROMPT = `Given this user request, will it require intensive coding work (multiple file edits, building features, refactoring, debugging across files) or is it a quick task (answering questions, small edits, short explanations)?
11
-
12
- Respond with ONLY the single word "async" or "sync". Nothing else.
13
-
14
- User request:`;
15
10
  /**
16
- * Run a quick `claude --print` with Sonnet to classify a message as
17
- * "sync" (quick task) or "async" (intensive, long-running).
11
+ * Spawn a `claude --print` invocation (batch mode collects full output).
18
12
  *
19
- * Defaults to "sync" on timeout, unexpected output, or errors.
13
+ * Used by CLI chat. For gateway streaming, use `spawnStreaming()` instead.
20
14
  */
21
- async triage(message, _model) {
22
- const triageModel = "sonnet";
15
+ async spawn(options) {
16
+ const hasImages = options.images && options.images.length > 0;
17
+ return hasImages ? this.spawnStreamJson(options) : this.spawnText(options);
18
+ }
19
+ /**
20
+ * Spawn claude with `--output-format stream-json --include-partial-messages`
21
+ * and relay incremental text to the caller via `onChunk`.
22
+ *
23
+ * Uses an **activity-based timeout**: the process is killed only after
24
+ * `INACTIVITY_TIMEOUT_MS` of silence (no stdout data), not after an
25
+ * absolute duration. A safety cap of `MAX_ABSOLUTE_TIMEOUT_MS` prevents
26
+ * runaway processes.
27
+ */
28
+ async spawnStreaming(options, onChunk) {
29
+ const { workspace, message, systemPrompt, model, images = [], } = options;
30
+ const hasImages = images.length > 0;
23
31
  const args = [
24
32
  "--print",
25
33
  "--dangerously-skip-permissions",
26
- "-p",
27
- `${CCSpawner.TRIAGE_PROMPT} ${message}`,
34
+ "--output-format",
35
+ "stream-json",
36
+ "--verbose",
37
+ "--include-partial-messages",
38
+ "--append-system-prompt",
39
+ systemPrompt,
28
40
  "--model",
29
- triageModel,
30
- "--bare",
41
+ model,
31
42
  ];
43
+ if (hasImages) {
44
+ args.push("--input-format", "stream-json");
45
+ }
46
+ else {
47
+ args.push("-p", message);
48
+ }
32
49
  return new Promise((resolve) => {
33
50
  const child = spawn("claude", args, {
34
- stdio: ["ignore", "pipe", "pipe"],
51
+ cwd: workspace,
52
+ stdio: [hasImages ? "pipe" : "ignore", "pipe", "pipe"],
35
53
  });
36
- let stdout = "";
54
+ let accumulated = "";
55
+ let stderr = "";
56
+ let lastActivity = Date.now();
37
57
  let timedOut = false;
58
+ let lineBuffer = "";
59
+ let finalResult = "";
60
+ // If images, send content via stdin
61
+ if (hasImages && child.stdin) {
62
+ const content = [];
63
+ for (const img of images) {
64
+ content.push({
65
+ type: "image",
66
+ source: {
67
+ type: "base64",
68
+ media_type: img.mediaType,
69
+ data: img.base64,
70
+ },
71
+ });
72
+ }
73
+ content.push({ type: "text", text: message });
74
+ const stdinPayload = JSON.stringify({
75
+ type: "user",
76
+ message: { role: "user", content },
77
+ }) + "\n";
78
+ child.stdin.write(stdinPayload);
79
+ child.stdin.end();
80
+ }
38
81
  child.stdout.on("data", (chunk) => {
39
- stdout += chunk.toString();
82
+ lastActivity = Date.now();
83
+ lineBuffer += chunk.toString();
84
+ // Parse complete JSONL lines
85
+ const lines = lineBuffer.split("\n");
86
+ lineBuffer = lines.pop(); // keep incomplete line in buffer
87
+ for (const line of lines) {
88
+ if (!line.trim())
89
+ continue;
90
+ try {
91
+ const event = JSON.parse(line);
92
+ // Partial text delta — relay to caller
93
+ if (event.type === "stream_event" &&
94
+ event.event?.type === "content_block_delta" &&
95
+ event.event?.delta?.type === "text_delta") {
96
+ accumulated += event.event.delta.text;
97
+ onChunk?.(accumulated);
98
+ }
99
+ // Final result event
100
+ if (event.type === "result" && typeof event.result === "string") {
101
+ finalResult = event.result;
102
+ }
103
+ }
104
+ catch {
105
+ // skip non-JSON lines
106
+ }
107
+ }
40
108
  });
41
- const timer = setTimeout(() => {
42
- timedOut = true;
43
- child.kill("SIGTERM");
44
- }, CCSpawner.TRIAGE_TIMEOUT_MS);
45
- child.on("close", () => {
46
- clearTimeout(timer);
47
- if (timedOut) {
48
- resolve("sync");
49
- return;
109
+ child.stderr.on("data", (chunk) => {
110
+ stderr += chunk.toString();
111
+ });
112
+ // Activity-based timeout: kill only on silence
113
+ const activityCheck = setInterval(() => {
114
+ if (Date.now() - lastActivity > INACTIVITY_TIMEOUT_MS) {
115
+ timedOut = true;
116
+ child.kill("SIGTERM");
117
+ setTimeout(() => {
118
+ if (!child.killed)
119
+ child.kill("SIGKILL");
120
+ }, 5000);
121
+ clearInterval(activityCheck);
122
+ }
123
+ }, 10_000);
124
+ // Absolute safety cap
125
+ const absoluteTimer = setTimeout(() => {
126
+ if (!child.killed) {
127
+ timedOut = true;
128
+ child.kill("SIGTERM");
129
+ setTimeout(() => {
130
+ if (!child.killed)
131
+ child.kill("SIGKILL");
132
+ }, 5000);
50
133
  }
51
- const trimmed = stdout.trim().toLowerCase();
52
- resolve(trimmed === "async" ? "async" : "sync");
134
+ }, MAX_ABSOLUTE_TIMEOUT_MS);
135
+ child.on("close", (code) => {
136
+ clearInterval(activityCheck);
137
+ clearTimeout(absoluteTimer);
138
+ const exitCode = timedOut ? 124 : (code ?? 1);
139
+ const response = finalResult || accumulated || "";
140
+ const inputChars = message.length + systemPrompt.length;
141
+ const outputChars = response.length;
142
+ resolve({
143
+ response,
144
+ stderr,
145
+ exitCode,
146
+ tokensEstimate: {
147
+ in: Math.ceil(inputChars / 4),
148
+ out: Math.ceil(outputChars / 4),
149
+ },
150
+ });
53
151
  });
54
- child.on("error", () => {
55
- clearTimeout(timer);
56
- resolve("sync");
152
+ child.on("error", (err) => {
153
+ clearInterval(activityCheck);
154
+ clearTimeout(absoluteTimer);
155
+ resolve({
156
+ response: "",
157
+ stderr: err.message,
158
+ exitCode: 1,
159
+ tokensEstimate: {
160
+ in: Math.ceil((message.length + systemPrompt.length) / 4),
161
+ out: 0,
162
+ },
163
+ });
57
164
  });
58
165
  });
59
166
  }
60
- /**
61
- * Spawn a `claude --print` invocation.
62
- *
63
- * When `images` are provided, uses `--input-format stream-json` to pass
64
- * image content blocks directly via stdin (avoids the Read-tool
65
- * round-trip). Otherwise falls back to the simpler `-p "<message>"` form
66
- * with stdin closed.
67
- */
68
- async spawn(options) {
69
- const hasImages = options.images && options.images.length > 0;
70
- return hasImages ? this.spawnStreamJson(options) : this.spawnText(options);
71
- }
72
- // ── Multiplexer detection ────────────────────────────────────────────
73
- detectMultiplexer() {
74
- try {
75
- execSync("which tmux", { stdio: "pipe" });
76
- return "tmux";
77
- }
78
- catch {
79
- // tmux not found, try screen
80
- }
81
- try {
82
- execSync("which screen", { stdio: "pipe" });
83
- return "screen";
84
- }
85
- catch {
86
- // screen not found either
87
- }
88
- throw new Error("Neither tmux nor screen is installed. Install one to use async tasks.");
89
- }
90
- // ── Async spawn (background task via tmux/screen) ───────────────────
91
- async spawnAsync(options) {
92
- const { workspace, message, systemPrompt, model, ccgHome, agentId } = options;
93
- const mux = this.detectMultiplexer();
94
- const shortId = randomBytes(2).toString("hex");
95
- const sessionName = `ccg-${agentId}-${shortId}`;
96
- const taskDir = join(ccgHome, "async-tasks", sessionName);
97
- mkdirSync(taskDir, { recursive: true });
98
- // Write system prompt + result instruction
99
- const instructions = `${systemPrompt}\n\nWhen you are completely finished with the task, write a concise summary of what you did to: ${join(taskDir, "RESULT.md")}`;
100
- writeFileSync(join(taskDir, "INSTRUCTIONS.md"), instructions, "utf-8");
101
- const outputLog = join(taskDir, "output.log");
102
- const instructionsFile = join(taskDir, "INSTRUCTIONS.md");
103
- // Escape single quotes in message for shell
104
- const escapedMessage = message.replace(/'/g, "'\\''");
105
- if (mux === "tmux") {
106
- const cmd = `tmux new-session -d -s ${sessionName} -c '${workspace}' "claude --dangerously-skip-permissions --append-system-prompt-file '${instructionsFile}' --model ${model} -p '${escapedMessage}' 2>&1 | tee '${outputLog}'"`;
107
- execSync(cmd, { stdio: "pipe" });
108
- }
109
- else {
110
- const cmd = `screen -dmS ${sessionName} bash -c "cd '${workspace}' && claude --dangerously-skip-permissions --append-system-prompt-file '${instructionsFile}' --model ${model} -p '${escapedMessage}' 2>&1 | tee '${outputLog}'"`;
111
- execSync(cmd, { stdio: "pipe" });
112
- }
113
- return { sessionName, taskDir };
114
- }
115
- // ── Text-only path ────────────────────────────────────────────────────
167
+ // ── Text-only path (batch — used by CLI chat via spawn()) ───────────────
116
168
  spawnText(options) {
117
169
  const { workspace, message, systemPrompt, model, timeoutMs = DEFAULT_TIMEOUT_MS, } = options;
118
170
  const args = [
@@ -176,7 +228,7 @@ User request:`;
176
228
  });
177
229
  });
178
230
  }
179
- // ── Image-aware path (stream-json) ────────────────────────────────────
231
+ // ── Image-aware path (stream-json, batch — used by CLI chat via spawn())
180
232
  spawnStreamJson(options) {
181
233
  const { workspace, message, systemPrompt, model, images = [], timeoutMs = IMAGE_TIMEOUT_MS, } = options;
182
234
  const args = [
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA+B3C,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,YAAY;AAChD,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,+CAA+C;AAEjF,gEAAgE;AAChE,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,uBAAuB;AAE9D,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG,SAAS,CAAC,CAAC,aAAa;AAExD,MAAM,OAAO,SAAS;IACpB;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9D,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,OAAqB,EACrB,OAAwB;QAExB,MAAM,EACJ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,KAAK,EACL,MAAM,GAAG,EAAE,GACZ,GAAG,OAAO,CAAC;QAEZ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAG;YACX,SAAS;YACT,gCAAgC;YAChC,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,4BAA4B;YAC5B,wBAAwB;YACxB,YAAY;YACZ,SAAS;YACT,KAAK;SACN,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAClC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aACvD,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,oCAAoC;YACpC,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAMT,EAAE,CAAC;gBAEP,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,GAAG,CAAC,SAAS;4BACzB,IAAI,EAAE,GAAG,CAAC,MAAM;yBACjB;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE9C,MAAM,YAAY,GAChB,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;iBACnC,CAAC,GAAG,IAAI,CAAC;gBAEZ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YAED,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAE/B,6BAA6B;gBAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC,CAAC,iCAAiC;gBAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAC3B,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAE/B,uCAAuC;wBACvC,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;4BAC7B,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB;4BAC3C,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,YAAY,EACzC,CAAC;4BACD,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;4BACtC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;wBACzB,CAAC;wBAED,qBAAqB;wBACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAChE,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBACrC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,qBAAqB,EAAE,CAAC;oBACtD,QAAQ,GAAG,IAAI,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,KAAK,CAAC,MAAM;4BAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,EAAE,MAAM,CAAC,CAAC;YAEX,sBAAsB;YACtB,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,QAAQ,GAAG,IAAI,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,KAAK,CAAC,MAAM;4BAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAE5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC7B,YAAY,CAAC,aAAa,CAAC,CAAC;gBAE5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,IAAI,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;gBACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAEpC,OAAO,CAAC;oBACN,QAAQ;oBACR,MAAM;oBACN,QAAQ;oBACR,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC7B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC7B,YAAY,CAAC,aAAa,CAAC,CAAC;gBAE5B,OAAO,CAAC;oBACN,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,QAAQ,EAAE,CAAC;oBACX,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACzD,GAAG,EAAE,CAAC;qBACP;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAEnE,SAAS,CAAC,OAAqB;QACrC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,KAAK,EACL,SAAS,GAAG,kBAAkB,GAC/B,GAAG,OAAO,CAAC;QAEZ,MAAM,IAAI,GAAG;YACX,SAAS;YACT,gCAAgC;YAChC,IAAI;YACJ,OAAO;YACP,wBAAwB;YACxB,YAAY;YACZ,SAAS;YACT,KAAK;SACN,CAAC;QAEF,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAClC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;gBACxD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;gBAElC,OAAO,CAAC;oBACN,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;oBACR,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC7B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,OAAO,CAAC;oBACN,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,QAAQ,EAAE,CAAC;oBACX,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACzD,GAAG,EAAE,CAAC;qBACP;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAEpE,eAAe,CAAC,OAAqB;QAC3C,MAAM,EACJ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,KAAK,EACL,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,gBAAgB,GAC7B,GAAG,OAAO,CAAC;QAEZ,MAAM,IAAI,GAAG;YACX,SAAS;YACT,gCAAgC;YAChC,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,wBAAwB;YACxB,YAAY;YACZ,SAAS;YACT,KAAK;SACN,CAAC;QAEF,oDAAoD;QACpD,MAAM,OAAO,GAMT,EAAE,CAAC;QAEP,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,GAAG,CAAC,SAAS;oBACzB,IAAI,EAAE,GAAG,CAAC,MAAM;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9C,MAAM,YAAY,GAChB,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SACnC,CAAC,GAAG,IAAI,CAAC;QAEZ,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAClC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,8DAA8D;YAC9D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAElB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;gBACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAEpC,OAAO,CAAC;oBACN,QAAQ;oBACR,MAAM;oBACN,QAAQ;oBACR,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC7B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,OAAO,CAAC;oBACN,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,QAAQ,EAAE,CAAC;oBACX,cAAc,EAAE;wBACd,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACzD,GAAG,EAAE,CAAC;qBACP;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IACE,KAAK,CAAC,IAAI,KAAK,WAAW;gBAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EACrC,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5D,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,oCAAoC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccgateway",
3
- "version": "0.1.9",
3
+ "version": "0.2.1",
4
4
  "description": "Multi-agent orchestration layer built on Claude Code CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",