ccgateway 0.1.9 → 0.2.2

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/router.js CHANGED
@@ -1,7 +1,20 @@
1
- import { getCcgHome } from "./config.js";
2
1
  import { writeFile, mkdir, rm } from "node:fs/promises";
3
2
  import { join } from "node:path";
4
3
  import { tmpdir } from "node:os";
4
+ import { getCcgHome } from "./config.js";
5
+ import { logger } from "./logger.js";
6
+ // ── Trivial message short-circuit ─────────────────────────────────────────
7
+ const TRIVIAL_PATTERN = /^(thanks|thank you|ty|thx|ok|okay|k|got it|cool|nice|great|awesome|perfect|sounds good|lgtm|np|no worries|👍|🙏|❤️|💯)[\s!.\-]*$/i;
8
+ const TRIVIAL_REPLIES = [
9
+ "You're welcome!",
10
+ "Anytime!",
11
+ "Happy to help!",
12
+ "No problem!",
13
+ "Glad I could help!",
14
+ ];
15
+ function pickTrivialReply() {
16
+ return TRIVIAL_REPLIES[Math.floor(Math.random() * TRIVIAL_REPLIES.length)];
17
+ }
5
18
  // ── MessageRouter ─────────────────────────────────────────────────────────
6
19
  export class MessageRouter {
7
20
  agents;
@@ -9,13 +22,18 @@ export class MessageRouter {
9
22
  context;
10
23
  spawner;
11
24
  bindings;
12
- watcher;
13
- constructor(agents, sessions, context, spawner, bindings, watcher) {
25
+ watcher = null;
26
+ constructor(agents, sessions, context, spawner, bindings) {
14
27
  this.agents = agents;
15
28
  this.sessions = sessions;
16
29
  this.context = context;
17
30
  this.spawner = spawner;
18
31
  this.bindings = bindings;
32
+ }
33
+ /**
34
+ * Set the async task watcher (called after watcher is created in daemon).
35
+ */
36
+ setWatcher(watcher) {
19
37
  this.watcher = watcher;
20
38
  }
21
39
  /**
@@ -38,24 +56,49 @@ export class MessageRouter {
38
56
  * Full message dispatch pipeline.
39
57
  *
40
58
  * 1. Look up agent config from registry
41
- * 2. Derive session key: {agentId}:{gateway}:{channel}
42
- * 3. Get or create session
43
- * 4. Append user message to session
44
- * 5. Build context
45
- * 6. Spawn claude --print
46
- * 7. Append assistant response to session (or error on failure)
47
- * 8. Return response text
59
+ * 2. Short-circuit trivial messages (thanks, ok, etc.)
60
+ * 3. Derive session key: {agentId}:{gateway}:{channel}
61
+ * 4. Get or create session
62
+ * 5. Append user message to session
63
+ * 6. Build context
64
+ * 7. Spawn claude with streaming (or batch if no onChunk)
65
+ * 8. Append assistant response to session (or error on failure)
66
+ * 9. Return response text
67
+ *
68
+ * When `onChunk` is provided, uses the streaming spawner so callers
69
+ * (Discord, Slack) can relay incremental text to the user in real time.
48
70
  */
49
- async route(message) {
71
+ async route(message, onChunk) {
50
72
  const agentId = message.to.agent;
51
73
  // 1. Get agent config
52
74
  const agent = this.agents.getAgent(agentId);
53
75
  if (!agent) {
54
76
  throw new Error(`Agent "${agentId}" not found in registry`);
55
77
  }
56
- // 2. Derive session key
78
+ // 2. Short-circuit trivial messages
79
+ if (TRIVIAL_PATTERN.test(message.content.trim())) {
80
+ const reply = pickTrivialReply();
81
+ // Still persist to session for continuity
82
+ const sessionKey = this.sessions.getOrCreateSession(agentId, message.from.gateway, message.from.channel);
83
+ await this.sessions.appendMessage(agentId, sessionKey, {
84
+ role: "user",
85
+ content: message.content,
86
+ ts: Date.now(),
87
+ source: message.from.gateway,
88
+ sourceUser: message.from.user,
89
+ sourceMessageId: message.from.messageId,
90
+ });
91
+ await this.sessions.appendMessage(agentId, sessionKey, {
92
+ role: "assistant",
93
+ content: reply,
94
+ ts: Date.now(),
95
+ tokens: { in: 0, out: 0 },
96
+ });
97
+ return reply;
98
+ }
99
+ // 3. Derive session key
57
100
  const sessionKey = this.sessions.getOrCreateSession(agentId, message.from.gateway, message.from.channel);
58
- // 3. Append user message to session
101
+ // 4. Append user message to session
59
102
  await this.sessions.appendMessage(agentId, sessionKey, {
60
103
  role: "user",
61
104
  content: message.content,
@@ -64,7 +107,7 @@ export class MessageRouter {
64
107
  sourceUser: message.from.user,
65
108
  sourceMessageId: message.from.messageId,
66
109
  });
67
- // 4. Download attachments (if any)
110
+ // 5. Download attachments (if any)
68
111
  // Images → base64 in-memory, passed as content blocks (no Read-tool round-trip)
69
112
  // Other → saved to temp dir so Claude can read them via the Read tool
70
113
  let attachmentDir;
@@ -85,67 +128,51 @@ export class MessageRouter {
85
128
  messageContent += `\n\n[Rejected attachments (blocked file type): ${rejectedList}]`;
86
129
  }
87
130
  }
88
- // 5. Build context
131
+ // 6. Build context
89
132
  const systemPrompt = await this.context.build(agentId, sessionKey);
90
- // 5.5 Triage: should this run async?
91
- // Images always go async — they're slow on Opus and the user gets
92
- // instant feedback instead of waiting 10+ minutes.
93
- const mode = this.watcher
94
- ? images.length > 0
95
- ? "async"
96
- : await this.spawner.triage(messageContent, agent.model)
97
- : "sync";
98
- if (mode === "async") {
99
- // For async tasks with images: save images to temp files in the
100
- // workspace so Claude Code can read them via the Read tool.
101
- let asyncMessage = messageContent;
102
- let asyncAttachDir;
103
- if (images.length > 0) {
104
- const dir = join(agent.workspace, `.ccg-attachments-${Date.now()}`);
105
- await mkdir(dir, { recursive: true });
106
- asyncAttachDir = dir;
107
- const paths = [];
108
- for (let i = 0; i < images.length; i++) {
109
- const ext = images[i].mediaType.split("/")[1] || "png";
110
- const filePath = join(dir, `image-${i}.${ext}`);
111
- await writeFile(filePath, Buffer.from(images[i].base64, "base64"));
112
- paths.push(filePath);
133
+ // 7. Triage: sync or async?
134
+ if (this.watcher) {
135
+ const triageResult = await this.spawner.triage(messageContent);
136
+ if (triageResult === "async") {
137
+ logger.info(`router: async triage for agent=${agentId}, dispatching to tmux`);
138
+ const asyncResult = await this.spawner.spawnAsync({
139
+ workspace: agent.workspace,
140
+ message: messageContent,
141
+ systemPrompt,
142
+ model: agent.model,
143
+ agentId,
144
+ ccgHome: getCcgHome(),
145
+ });
146
+ // Find the bot ID from the binding for this agent + gateway
147
+ const binding = this.bindings.find((b) => b.agent === agentId && b.gateway === message.from.gateway);
148
+ const botId = binding?.bot ?? agentId;
149
+ // Register with watcher
150
+ this.watcher.register({
151
+ sessionName: asyncResult.sessionName,
152
+ taskDir: asyncResult.taskDir,
153
+ agentId,
154
+ gateway: message.from.gateway,
155
+ channel: message.from.channel,
156
+ botId,
157
+ startedAt: Date.now(),
158
+ });
159
+ // Append placeholder to session and return immediately
160
+ const placeholder = `[async] Task dispatched to tmux session \`${asyncResult.sessionName}\`. I'll post the result here when done.`;
161
+ await this.sessions.appendMessage(agentId, sessionKey, {
162
+ role: "assistant",
163
+ content: placeholder,
164
+ ts: Date.now(),
165
+ tokens: { in: 0, out: 0 },
166
+ });
167
+ // Clean up attachment temp dir
168
+ if (attachmentDir) {
169
+ rm(attachmentDir, { recursive: true, force: true }).catch(() => { });
113
170
  }
114
- const fileList = paths.map((p) => ` - ${p}`).join("\n");
115
- asyncMessage += `\n\n[Attached images — use the Read tool to view them]\n${fileList}`;
171
+ return placeholder;
116
172
  }
117
- const { sessionName, taskDir } = await this.spawner.spawnAsync({
118
- workspace: agent.workspace,
119
- message: asyncMessage,
120
- systemPrompt,
121
- model: agent.model,
122
- ccgHome: getCcgHome(),
123
- agentId,
124
- });
125
- // Register with watcher
126
- const binding = this.bindings.find((b) => b.agent === agentId);
127
- this.watcher.register({
128
- sessionName,
129
- taskDir,
130
- agentId,
131
- gateway: message.from.gateway,
132
- channel: message.from.channel,
133
- botId: binding?.bot ?? agentId,
134
- sessionKey,
135
- workspace: agent.workspace,
136
- startedAt: Date.now(),
137
- });
138
- const placeholder = `On it — working on this in the background. I'll get back to you when it's done. (tmux: \`${sessionName}\`)`;
139
- await this.sessions.appendMessage(agentId, sessionKey, {
140
- role: "assistant",
141
- content: placeholder,
142
- ts: Date.now(),
143
- tokens: { in: 0, out: 0 },
144
- });
145
- return placeholder;
146
173
  }
147
- // 6. Spawn claude --print (sync path — unchanged)
148
- const result = await this.spawner.spawn({
174
+ // 8. Spawn claude (sync path)
175
+ const spawnOptions = {
149
176
  workspace: agent.workspace,
150
177
  message: messageContent,
151
178
  systemPrompt,
@@ -153,17 +180,20 @@ export class MessageRouter {
153
180
  allowedTools: agent.allowedTools,
154
181
  ...(agent.timeoutMs ? { timeoutMs: agent.timeoutMs } : {}),
155
182
  ...(images.length > 0 ? { images } : {}),
156
- });
157
- // 7. Clean up attachment temp dir
183
+ };
184
+ const result = onChunk
185
+ ? await this.spawner.spawnStreaming(spawnOptions, onChunk)
186
+ : await this.spawner.spawn(spawnOptions);
187
+ // 9. Clean up attachment temp dir
158
188
  if (attachmentDir) {
159
189
  rm(attachmentDir, { recursive: true, force: true }).catch(() => { });
160
190
  }
161
- // 8. Handle failure: append error to session and throw
191
+ // 10. Handle failure: append error to session and throw
162
192
  if (result.exitCode !== 0) {
163
193
  const isTimeout = result.exitCode === 124;
164
194
  const stderrHint = result.stderr ? `\n\nDetails: ${result.stderr.slice(0, 500)}` : "";
165
195
  const errorContent = isTimeout
166
- ? "The task timed out — it took longer than the allowed time. Try breaking it into smaller steps, or increase the agent's `timeoutMs` setting."
196
+ ? "The task timed out — no activity was detected for over 15 minutes. Try breaking it into smaller steps."
167
197
  : (result.response || `Spawner failed with exit code ${result.exitCode}`) + stderrHint;
168
198
  await this.sessions.appendMessage(agentId, sessionKey, {
169
199
  role: "assistant",
@@ -173,14 +203,14 @@ export class MessageRouter {
173
203
  });
174
204
  throw new Error(errorContent);
175
205
  }
176
- // 9. Append assistant response to session
206
+ // 11. Append assistant response to session
177
207
  await this.sessions.appendMessage(agentId, sessionKey, {
178
208
  role: "assistant",
179
209
  content: result.response,
180
210
  ts: Date.now(),
181
211
  tokens: result.tokensEstimate,
182
212
  });
183
- // 10. Return response text (guard against empty responses)
213
+ // 12. Return response text (guard against empty responses)
184
214
  return result.response.trim() || "(no response)";
185
215
  }
186
216
  /**
@@ -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/skills.d.ts CHANGED
@@ -30,7 +30,12 @@ export declare class SkillManager {
30
30
  */
31
31
  readSkill(name: string, agentId?: string): Promise<string | null>;
32
32
  /**
33
- * Build skill index for context injection (name + description per skill).
33
+ * Build skill index for context injection.
34
+ *
35
+ * Includes full skill content inline so the agent has the actual
36
+ * instructions — not just names. Without this, the agent sees skills
37
+ * listed but can't act on them (Claude Code's Skill tool doesn't know
38
+ * about ccgateway's custom skills).
34
39
  */
35
40
  buildSkillIndex(agentId?: string): Promise<string>;
36
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoC9C;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAM3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuBlE;;;OAGG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBzB;;OAEG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjE;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYnE;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAM9D;;OAEG;YACW,iBAAiB;IAiC/B;;;OAGG;YACW,aAAa;CAsB5B"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoC9C;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAM3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuBlE;;;OAGG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBzB;;;;;;;OAOG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBxD;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjE;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYnE;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAM9D;;OAEG;YACW,iBAAiB;IAiC/B;;;OAGG;YACW,aAAa;CAsB5B"}
package/dist/skills.js CHANGED
@@ -94,18 +94,33 @@ export class SkillManager {
94
94
  return null;
95
95
  }
96
96
  /**
97
- * Build skill index for context injection (name + description per skill).
97
+ * Build skill index for context injection.
98
+ *
99
+ * Includes full skill content inline so the agent has the actual
100
+ * instructions — not just names. Without this, the agent sees skills
101
+ * listed but can't act on them (Claude Code's Skill tool doesn't know
102
+ * about ccgateway's custom skills).
98
103
  */
99
104
  async buildSkillIndex(agentId) {
100
105
  const skills = await this.discoverSkills(agentId);
101
106
  if (skills.length === 0) {
102
107
  return "--- Available Skills ---\n(none)";
103
108
  }
104
- const lines = skills.map((s) => {
105
- const tag = s.type === "native" ? " [native]" : "";
106
- return `- ${s.name}: ${s.description}${tag}`;
107
- });
108
- return `--- Available Skills ---\n${lines.join("\n")}`;
109
+ const sections = [];
110
+ for (const skill of skills) {
111
+ const content = await this.readSkill(skill.name, agentId);
112
+ if (content) {
113
+ // Strip frontmatter from content — agent doesn't need YAML metadata
114
+ const body = content.replace(/^---[\s\S]*?---\s*/, "").trim();
115
+ sections.push(`=== Skill: ${skill.name} ===\n${skill.description}\n\n${body}`);
116
+ }
117
+ else {
118
+ // Fallback: just name + description if file can't be read
119
+ const tag = skill.type === "native" ? " [native]" : "";
120
+ sections.push(`=== Skill: ${skill.name} ===\n${skill.description}${tag}`);
121
+ }
122
+ }
123
+ return `--- Available Skills ---\n\n${sections.join("\n\n")}`;
109
124
  }
110
125
  /**
111
126
  * Add a skill (copy .md file to shared or agent-specific directory).
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/spawner.d.ts CHANGED
@@ -11,18 +11,6 @@ export interface ImageInput {
11
11
  base64: string;
12
12
  mediaType: string;
13
13
  }
14
- export interface AsyncSpawnOptions {
15
- workspace: string;
16
- message: string;
17
- systemPrompt: string;
18
- model: string;
19
- ccgHome: string;
20
- agentId: string;
21
- }
22
- export interface AsyncSpawnResult {
23
- sessionName: string;
24
- taskDir: string;
25
- }
26
14
  export interface SpawnOptions {
27
15
  workspace: string;
28
16
  message: string;
@@ -34,27 +22,63 @@ export interface SpawnOptions {
34
22
  * sent as content blocks directly (no Read-tool round-trip). */
35
23
  images?: ImageInput[];
36
24
  }
25
+ export interface AsyncSpawnOptions {
26
+ workspace: string;
27
+ message: string;
28
+ systemPrompt: string;
29
+ model: string;
30
+ agentId: string;
31
+ ccgHome: string;
32
+ }
33
+ export interface AsyncSpawnResult {
34
+ sessionName: string;
35
+ taskDir: string;
36
+ }
37
+ export type TriageResult = "sync" | "async";
38
+ /** Callback fired during streaming with the accumulated text so far. */
39
+ export type StreamCallback = (accumulated: string) => void;
37
40
  export declare class CCSpawner {
38
- private static readonly TRIAGE_TIMEOUT_MS;
39
- private static readonly TRIAGE_PROMPT;
41
+ private _muxBinary;
42
+ /**
43
+ * Quick Sonnet call to classify a message as "sync" or "async".
44
+ * Defaults to "sync" on any failure (timeout, parse error, etc.).
45
+ */
46
+ triage(message: string): Promise<TriageResult>;
40
47
  /**
41
- * Run a quick `claude --print` with Sonnet to classify a message as
42
- * "sync" (quick task) or "async" (intensive, long-running).
48
+ * Launch Claude Code in interactive mode inside a detached tmux session.
43
49
  *
44
- * Defaults to "sync" on timeout, unexpected output, or errors.
50
+ * - No `--print` flag runs the full interactive REPL
51
+ * - `--dangerously-skip-permissions` so it won't block on tool approvals
52
+ * - System prompt injected via `--append-system-prompt-file`
53
+ * - User's message sent via `tmux send-keys` after a short init delay
54
+ * - Returns immediately with the session name and task directory
45
55
  */
46
- triage(message: string, _model: string): Promise<"sync" | "async">;
56
+ spawnAsync(options: AsyncSpawnOptions): Promise<AsyncSpawnResult>;
47
57
  /**
48
- * Spawn a `claude --print` invocation.
58
+ * Detect available terminal multiplexer. Cached after first call.
59
+ * Returns "tmux", "screen", or null.
60
+ */
61
+ detectMux(): Promise<string | null>;
62
+ /**
63
+ * Check if a tmux/screen session is still alive.
64
+ */
65
+ isSessionAlive(sessionName: string): Promise<boolean>;
66
+ /**
67
+ * Spawn a `claude --print` invocation (batch mode — collects full output).
49
68
  *
50
- * When `images` are provided, uses `--input-format stream-json` to pass
51
- * image content blocks directly via stdin (avoids the Read-tool
52
- * round-trip). Otherwise falls back to the simpler `-p "<message>"` form
53
- * with stdin closed.
69
+ * Used by CLI chat. For gateway streaming, use `spawnStreaming()` instead.
54
70
  */
55
71
  spawn(options: SpawnOptions): Promise<SpawnResult>;
56
- private detectMultiplexer;
57
- spawnAsync(options: AsyncSpawnOptions): Promise<AsyncSpawnResult>;
72
+ /**
73
+ * Spawn claude with `--output-format stream-json --include-partial-messages`
74
+ * and relay incremental text to the caller via `onChunk`.
75
+ *
76
+ * Uses an **activity-based timeout**: the process is killed only after
77
+ * `INACTIVITY_TIMEOUT_MS` of silence (no stdout data), not after an
78
+ * absolute duration. A safety cap of `MAX_ABSOLUTE_TIMEOUT_MS` prevents
79
+ * runaway processes.
80
+ */
81
+ spawnStreaming(options: SpawnOptions, onChunk?: StreamCallback): Promise<SpawnResult>;
58
82
  private spawnText;
59
83
  private spawnStreamJson;
60
84
  }
@@ -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,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,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;AAOD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAIxB;IAEb;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;IA8CxE;;;;;;;OAOG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAOxD,OAAO,CAAC,iBAAiB;IAoBnB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCvE,OAAO,CAAC,SAAS;IAkFjB,OAAO,CAAC,eAAe;CAmHxB;AAID;;;;;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;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"}