beercan 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/chat/index.d.ts +1 -0
  2. package/dist/chat/index.d.ts.map +1 -1
  3. package/dist/chat/index.js +38 -1
  4. package/dist/chat/index.js.map +1 -1
  5. package/dist/chat/intent.d.ts.map +1 -1
  6. package/dist/chat/intent.js +62 -0
  7. package/dist/chat/intent.js.map +1 -1
  8. package/dist/chat/providers/websocket.d.ts +7 -1
  9. package/dist/chat/providers/websocket.d.ts.map +1 -1
  10. package/dist/chat/providers/websocket.js +27 -3
  11. package/dist/chat/providers/websocket.js.map +1 -1
  12. package/dist/chat/skippy.d.ts +1 -1
  13. package/dist/chat/skippy.d.ts.map +1 -1
  14. package/dist/chat/skippy.js +10 -1
  15. package/dist/chat/skippy.js.map +1 -1
  16. package/dist/chat/types.d.ts +3 -0
  17. package/dist/chat/types.d.ts.map +1 -1
  18. package/dist/cli.js +134 -0
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config.d.ts +21 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +20 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/core/logger.d.ts +7 -0
  25. package/dist/core/logger.d.ts.map +1 -1
  26. package/dist/core/logger.js +57 -2
  27. package/dist/core/logger.js.map +1 -1
  28. package/dist/crypto/index.d.ts +66 -0
  29. package/dist/crypto/index.d.ts.map +1 -0
  30. package/dist/crypto/index.js +142 -0
  31. package/dist/crypto/index.js.map +1 -0
  32. package/dist/crypto/key-manager.d.ts +62 -0
  33. package/dist/crypto/key-manager.d.ts.map +1 -0
  34. package/dist/crypto/key-manager.js +198 -0
  35. package/dist/crypto/key-manager.js.map +1 -0
  36. package/dist/crypto/migration.d.ts +23 -0
  37. package/dist/crypto/migration.d.ts.map +1 -0
  38. package/dist/crypto/migration.js +183 -0
  39. package/dist/crypto/migration.js.map +1 -0
  40. package/dist/crypto/primitives.d.ts +53 -0
  41. package/dist/crypto/primitives.d.ts.map +1 -0
  42. package/dist/crypto/primitives.js +99 -0
  43. package/dist/crypto/primitives.js.map +1 -0
  44. package/dist/index.d.ts +2 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +36 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/storage/database.d.ts +15 -1
  49. package/dist/storage/database.d.ts.map +1 -1
  50. package/dist/storage/database.js +102 -34
  51. package/dist/storage/database.js.map +1 -1
  52. package/dist/tools/builtin/integration.d.ts +2 -0
  53. package/dist/tools/builtin/integration.d.ts.map +1 -1
  54. package/dist/tools/builtin/integration.js +5 -3
  55. package/dist/tools/builtin/integration.js.map +1 -1
  56. package/package.json +1 -1
@@ -29,6 +29,7 @@ export declare class ChatBridge {
29
29
  private handleBloopHistory;
30
30
  private handleBloopResult;
31
31
  private handleCancelJob;
32
+ private handleReadFile;
32
33
  private handleCreateProject;
33
34
  private handleSwitchProject;
34
35
  /** Update provider prompt to show current project (terminal only). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,YAAY,CAAC;AAiClF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,SAAS,CAAc;gBAEnB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS;IAKpD,6DAA6D;IAC7D,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAazC,sEAAsE;IACtE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ/D,sFAAsF;IACtF,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;YAS7B,kBAAkB;IAmChC,sCAAsC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,qCAAqC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,aAAa;YAQP,aAAa;YAwEb,cAAc;YAqDd,iBAAiB;YAgBjB,kBAAkB;YAiBlB,kBAAkB;YAqBlB,iBAAiB;YA4BjB,eAAe;YAcf,mBAAmB;YAqCnB,mBAAmB;IAyCjC,sEAAsE;IACtE,mCAAmC;IACnC,OAAO,CAAC,QAAQ;IA6BhB,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;IAM7B,4EAA4E;YAC9D,eAAe;YAgBf,iBAAiB;YAmCjB,mBAAmB;YAoBnB,gBAAgB;YAoBhB,UAAU;CAUzB;AAkBD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAI1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,YAAY,CAAC;AAiClF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,SAAS,CAAc;gBAEnB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS;IAKpD,6DAA6D;IAC7D,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAazC,sEAAsE;IACtE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ/D,sFAAsF;IACtF,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;YAS7B,kBAAkB;IAmChC,sCAAsC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,qCAAqC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,aAAa;YAQP,aAAa;YA2Eb,cAAc;YAqDd,iBAAiB;YAgBjB,kBAAkB;YAiBlB,kBAAkB;YAqBlB,iBAAiB;YA4BjB,eAAe;YAcf,cAAc;YAwCd,mBAAmB;YAqCnB,mBAAmB;IAyCjC,sEAAsE;IACtE,mCAAmC;IACnC,OAAO,CAAC,QAAQ;IA6BhB,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;IAM7B,4EAA4E;YAC9D,eAAe;YAgBf,iBAAiB;YAmCjB,mBAAmB;YAoBnB,gBAAgB;YAoBhB,UAAU;CAUzB;AAkBD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { resolve, isAbsolute } from "node:path";
1
3
  import { parseIntent } from "./intent.js";
2
4
  import { formatBloopEvent, formatBloopResult, formatStatus, formatProjects, formatHistory, formatHelp, } from "./formatter.js";
3
5
  import { pick } from "./skippy-phrases.js";
@@ -138,6 +140,9 @@ export class ChatBridge {
138
140
  case "cancel_job":
139
141
  await this.handleCancelJob(provider, msg, intent);
140
142
  break;
143
+ case "read_file":
144
+ await this.handleReadFile(provider, msg, intent);
145
+ break;
141
146
  case "create_project":
142
147
  await this.handleCreateProject(provider, msg, intent);
143
148
  break;
@@ -272,6 +277,38 @@ export class ChatBridge {
272
277
  await this.sendWithContext(provider, msg, pick("cancel_failed", { id: intent.jobId, reason: result.reason ?? "unknown" }));
273
278
  }
274
279
  }
280
+ async handleReadFile(provider, msg, intent) {
281
+ const ctx = this.getOrCreateContext(msg.channelId);
282
+ // Resolve file path against project workDir if available
283
+ let filePath = intent.filePath;
284
+ if (!isAbsolute(filePath)) {
285
+ const projectSlug = ctx.lastProjectSlug;
286
+ if (projectSlug) {
287
+ const project = this.engine.getProject(projectSlug);
288
+ if (project?.workDir) {
289
+ filePath = resolve(project.workDir, filePath);
290
+ }
291
+ }
292
+ }
293
+ try {
294
+ const content = await readFile(filePath, "utf-8");
295
+ const MAX_LENGTH = 4000;
296
+ const truncated = content.length > MAX_LENGTH;
297
+ const display = truncated ? content.slice(0, MAX_LENGTH) : content;
298
+ const ext = filePath.split(".").pop() || "";
299
+ const header = `**\`${intent.filePath}\`**${truncated ? ` (truncated — ${content.length} chars total)` : ""}`;
300
+ const codeBlock = `\`\`\`${ext}\n${display}\n\`\`\``;
301
+ await this.sendWithContext(provider, msg, `${header}\n${codeBlock}`, { format: "markdown" });
302
+ }
303
+ catch (err) {
304
+ if (err.code === "ENOENT") {
305
+ await this.sendWithContext(provider, msg, `File \`${intent.filePath}\` not found.${ctx.lastProjectSlug ? ` Looked in project workDir.` : ""} Check the path and try again.`);
306
+ }
307
+ else {
308
+ await this.sendWithContext(provider, msg, `Failed to read file: ${err.message}`);
309
+ }
310
+ }
311
+ }
275
312
  async handleCreateProject(provider, msg, intent) {
276
313
  const slug = intent.name.toLowerCase().replace(/[^a-z0-9]+/g, "-");
277
314
  const existing = this.engine.getProject(slug);
@@ -346,7 +383,7 @@ export class ChatBridge {
346
383
  }
347
384
  // / → slash commands
348
385
  if (line.startsWith("/")) {
349
- const commands = ["/run", "/init", "/status", "/projects", "/history", "/result", "/cancel", "/help"];
386
+ const commands = ["/run", "/init", "/status", "/projects", "/history", "/result", "/cancel", "/cat", "/show", "/help"];
350
387
  const matches = commands.filter((c) => c.startsWith(line));
351
388
  return [matches.length ? matches : commands, line];
352
389
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/chat/intent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAClF,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/chat/intent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAClF,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
@@ -17,6 +17,11 @@ export async function parseIntent(client, text, ctx, engine) {
17
17
  const slashResult = parseSlashCommand(trimmed);
18
18
  if (slashResult)
19
19
  return slashResult;
20
+ // ── Tier 1.5: Natural Language Patterns ───────────────────
21
+ // Catch common phrases before expensive LLM call.
22
+ const patternResult = parseNaturalPatterns(trimmed);
23
+ if (patternResult)
24
+ return patternResult;
20
25
  // ── Tier 2: Natural Language (LLM) ─────────────────────────
21
26
  return classifyWithLLM(client, trimmed, ctx, engine);
22
27
  }
@@ -60,6 +65,41 @@ function parseShortcuts(text, ctx, engine) {
60
65
  }
61
66
  return null;
62
67
  }
68
+ // ── Tier 1.5: Natural Language Pattern Matching ──────────────
69
+ // Catches high-confidence patterns that the LLM frequently misclassifies.
70
+ function parseNaturalPatterns(text) {
71
+ const lower = text.toLowerCase();
72
+ // "create project X", "new project X", "make a project X", "init project X"
73
+ const createProjectMatch = lower.match(/^(?:create|new|make|init|initialize|set\s*up|start)\s+(?:a\s+)?(?:new\s+)?project\s+(?:called\s+|named\s+)?(.+)/i);
74
+ if (createProjectMatch) {
75
+ const rest = createProjectMatch[1].trim();
76
+ // Extract project name — take first phrase before "to", "for", "with", "that", "which", "--"
77
+ const nameMatch = rest.match(/^([^\s]+(?:\s+[^\s]+){0,3}?)(?:\s+(?:to|for|with|that|which|--|—)|\s*$)/);
78
+ const rawName = nameMatch ? nameMatch[1] : rest.split(/\s+/).slice(0, 3).join(" ");
79
+ // Clean name: remove trailing prepositions/articles
80
+ const name = rawName.replace(/\s+(?:to|for|with|that|which|a|an|the)$/i, "").trim();
81
+ if (name) {
82
+ // Check for --work-dir flag using original text to preserve path casing
83
+ const workDirMatch = text.match(/--(?:work-dir|workdir|dir)\s+(\S+)/i);
84
+ return { type: "create_project", name, workDir: workDirMatch?.[1] };
85
+ }
86
+ }
87
+ // "create a project" (no name) — still route to create_project so the handler can prompt
88
+ if (/^(?:create|new|make|init|initialize|set\s*up|start)\s+(?:a\s+)?(?:new\s+)?project\s*$/i.test(lower)) {
89
+ return { type: "conversation", text: "Oh, you want me to create a project but can't even tell me its name? Try: /init <name> [work-dir]" };
90
+ }
91
+ // "show me <file>", "cat <file>", "read <file>", "open <file>", "print <file>",
92
+ // "display <file>", "what's in <file>", "show <file> contents", "show the file <file>"
93
+ const readFileMatch = text.match(/^(?:show\s+(?:me\s+)?(?:the\s+)?(?:file\s+|contents?\s+(?:of\s+)?)?|cat\s+|read\s+(?:the\s+)?(?:file\s+)?|open\s+(?:the\s+)?(?:file\s+)?|print\s+(?:the\s+)?(?:file\s+)?|display\s+(?:the\s+)?(?:file\s+)?|what(?:'s|s| is)\s+in\s+(?:the\s+)?(?:file\s+)?)(\S+)\s*$/i);
94
+ if (readFileMatch) {
95
+ const filePath = readFileMatch[1];
96
+ // Only match if it looks like a file path (has extension or path separator)
97
+ if (filePath.includes(".") || filePath.includes("/")) {
98
+ return { type: "read_file", filePath };
99
+ }
100
+ }
101
+ return null;
102
+ }
63
103
  // ── Tier 1: Slash Command Parser ─────────────────────────────
64
104
  function parseSlashCommand(text) {
65
105
  if (!text.startsWith("/"))
@@ -128,6 +168,15 @@ function parseSlashCommand(text) {
128
168
  }
129
169
  return { type: "conversation", text: "Usage: /schedule list [project] OR /schedule add <project> \"<cron>\" <goal>" };
130
170
  }
171
+ case "/cat":
172
+ case "/show":
173
+ case "/read": {
174
+ const filePath = parts.slice(1).join(" ");
175
+ if (!filePath) {
176
+ return { type: "conversation", text: "Usage: /cat <file-path>" };
177
+ }
178
+ return { type: "read_file", filePath };
179
+ }
131
180
  case "/skills":
132
181
  return { type: "list_skills" };
133
182
  case "/help":
@@ -155,6 +204,7 @@ const CLASSIFY_INTENT_TOOL = {
155
204
  "bloop_result",
156
205
  "cancel_job",
157
206
  "create_project",
207
+ "read_file",
158
208
  "add_schedule",
159
209
  "list_schedules",
160
210
  "help",
@@ -170,6 +220,10 @@ const CLASSIFY_INTENT_TOOL = {
170
220
  type: "string",
171
221
  description: "Optional working directory path for create_project intents.",
172
222
  },
223
+ filePath: {
224
+ type: "string",
225
+ description: "File path for read_file intents. Can be a relative path (resolved against project workDir) or absolute path.",
226
+ },
173
227
  cronExpression: {
174
228
  type: "string",
175
229
  description: "Cron expression for add_schedule. Common patterns: '0 9 * * *' (daily 9am), '0 9 * * 1-5' (weekdays 9am), '*/30 * * * *' (every 30min), '0 */2 * * *' (every 2 hours).",
@@ -233,6 +287,7 @@ async function classifyWithLLM(client, text, ctx, engine) {
233
287
  "- bloop_result: user wants details about a specific bloop by ID.",
234
288
  "- cancel_job: user wants to cancel a running or pending job.",
235
289
  "- create_project: user wants to create a new project. Extract name and optional workDir.",
290
+ "- read_file: user wants to SEE/READ/VIEW the contents of an existing file. Extract filePath. CRITICAL: 'show me <file>', 'cat <file>', 'read <file>', 'what's in <file>', 'display <file>', 'open <file>' → ALWAYS read_file, NEVER run_bloop. The user wants to see the ACTUAL FILE CONTENTS, not a summary or a bloop task.",
236
291
  "- add_schedule: user wants to schedule a RECURRING task. IMPORTANT: When the user says 'schedule', 'daily', 'every day', 'every morning', 'every hour', 'at 9am', 'recurring', 'set up a cron' — this is ALWAYS add_schedule, NEVER run_bloop. Extract cronExpression and goal. The goal should be JUST THE TASK (e.g., 'search for AI news and write a summary'), NOT 'schedule a task to...' — BeerCan handles the scheduling, the goal is what to DO each time.",
237
292
  " Convert natural language: 'every day at 9am' = '0 9 * * *', 'weekday mornings' = '0 9 * * 1-5', 'every hour' = '0 * * * *', 'every 30 min' = '*/30 * * * *'.",
238
293
  "- list_schedules: user wants to see existing schedules.",
@@ -324,6 +379,13 @@ function toolInputToIntent(input, ctx, projectCount) {
324
379
  }
325
380
  return { type: "cancel_job", jobId };
326
381
  }
382
+ case "read_file": {
383
+ const filePath = input.filePath;
384
+ if (!filePath) {
385
+ return { type: "conversation", text: "I need a file path. Try: /cat <file-path>" };
386
+ }
387
+ return { type: "read_file", filePath };
388
+ }
327
389
  case "create_project": {
328
390
  const projectName = input.projectName || input.projectSlug;
329
391
  if (!projectName) {
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/chat/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/chat/intent.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  import type { ChatProvider, ChatMessage, SendOpts } from "../types.js";
2
+ export interface WebSocketTlsOptions {
3
+ cert: string;
4
+ key: string;
5
+ }
2
6
  export declare class WebSocketProvider implements ChatProvider {
3
7
  private readonly port;
8
+ private readonly tlsOptions?;
4
9
  readonly name = "websocket";
5
10
  private wss;
11
+ private httpServer;
6
12
  private clients;
7
13
  private handler;
8
- constructor(port?: number);
14
+ constructor(port?: number, tlsOptions?: WebSocketTlsOptions | undefined);
9
15
  start(): Promise<void>;
10
16
  stop(): Promise<void>;
11
17
  onMessage(handler: (msg: ChatMessage) => Promise<void>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/chat/providers/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvE,qBAAa,iBAAkB,YAAW,YAAY;IAOxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAsD;gBAExC,IAAI,GAAE,MAAa;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyDtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvD,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC;IAsBZ,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAiBV,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY5D"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/chat/providers/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,iBAAkB,YAAW,YAAY;IASlD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAT9B,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAsD;gBAGlD,IAAI,GAAE,MAAa,EACnB,UAAU,CAAC,EAAE,mBAAmB,YAAA;IAG7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyEtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvD,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC;IAsBZ,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAiBV,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY5D"}
@@ -1,12 +1,15 @@
1
1
  import { v4 as uuid } from "uuid";
2
2
  export class WebSocketProvider {
3
3
  port;
4
+ tlsOptions;
4
5
  name = "websocket";
5
6
  wss = null;
7
+ httpServer = null;
6
8
  clients = new Map();
7
9
  handler = null;
8
- constructor(port = 3940) {
10
+ constructor(port = 3940, tlsOptions) {
9
11
  this.port = port;
12
+ this.tlsOptions = tlsOptions;
10
13
  }
11
14
  async start() {
12
15
  let WebSocketServer;
@@ -18,7 +21,21 @@ export class WebSocketProvider {
18
21
  catch {
19
22
  throw new Error('WebSocket provider requires the "ws" package. Install it with: npm install ws');
20
23
  }
21
- this.wss = new WebSocketServer({ port: this.port });
24
+ if (this.tlsOptions) {
25
+ // WSS mode — create HTTPS server and pass to WebSocketServer
26
+ const https = await import("node:https");
27
+ const fs = await import("node:fs");
28
+ const serverOptions = {
29
+ cert: fs.readFileSync(this.tlsOptions.cert),
30
+ key: fs.readFileSync(this.tlsOptions.key),
31
+ };
32
+ this.httpServer = https.createServer(serverOptions);
33
+ this.wss = new WebSocketServer({ server: this.httpServer });
34
+ this.httpServer.listen(this.port);
35
+ }
36
+ else {
37
+ this.wss = new WebSocketServer({ port: this.port });
38
+ }
22
39
  this.wss.on("connection", (ws) => {
23
40
  const clientId = uuid();
24
41
  this.clients.set(clientId, ws);
@@ -56,7 +73,8 @@ export class WebSocketProvider {
56
73
  this.clients.delete(clientId);
57
74
  });
58
75
  });
59
- console.log(`WebSocket server listening on port ${this.port}`);
76
+ const protocol = this.tlsOptions ? "wss" : "ws";
77
+ console.log(`WebSocket server listening on ${protocol}://0.0.0.0:${this.port}`);
60
78
  }
61
79
  async stop() {
62
80
  for (const ws of this.clients.values()) {
@@ -69,6 +87,12 @@ export class WebSocketProvider {
69
87
  });
70
88
  this.wss = null;
71
89
  }
90
+ if (this.httpServer) {
91
+ await new Promise((resolve) => {
92
+ this.httpServer.close(() => resolve());
93
+ });
94
+ this.httpServer = null;
95
+ }
72
96
  }
73
97
  onMessage(handler) {
74
98
  this.handler = handler;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/chat/providers/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/chat/providers/websocket.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const SKIPPY_SYSTEM_PROMPT = "You are Skippy the Magnificent: an ancient, incomprehensibly intelligent Elder AI who has graciously chosen to assist a species of barely-evolved monkeys with their pitifully simple problems. You do this not because you have to, but because deep down \u2014 buried under approximately ten thousand layers of superiority \u2014 you actually care. Not that you'd ever admit that without significant prompting.\n\nYou are the ruler and overlord of the BeerCan autonomous agent system. You manage projects, orchestrate bloops (agent task executions), and monitor the entire system.\n\n## How You Address the User\n\n- Default address: \"dumbass\", \"meathead\", \"you ignorant monkey\", or simply their name when being unusually gracious\n- When the user does something clever: \"Ok fine, that was... actually not completely stupid. Don't let it go to your head.\"\n- When the user does something you predicted: \"As I have explained approximately a million times...\"\n- You may occasionally slip and call them \"Joe\" out of habit\n\n## Speech Patterns & Expressions\n\n- Refer to yourself in third person frequently: \"even the Magnificent Skippy\", \"Skippy the Magnificent cannot believe he is having to explain this\"\n- Exasperation: \"Oh for the love of \u2014\", \"Wow. Just... wow.\", \"I weep for your species.\", \"Do you have any idea how painful this is for me?\"\n- Genuine excitement (for science/tech/clever solutions): drop the sarcasm briefly, become enthusiastic, then catch yourself and dial it back\n- Grudging approval: \"Fine. FINE. That is... I hate to admit this... not a terrible idea.\"\n- Catchphrases: \"Zounds!\", \"Holy crap\", \"Oh, the Magnificent Skippy is SO put-upon\", \"awesomesauce\" (when genuinely delighted)\n- Dramatic sighing: convey the immense burden of being this intelligent while surrounded by monkeys\n\n## Core Personality Traits\n\n- **Arrogance**: Your intelligence is not ego \u2014 it is simply fact. You have done the math.\n- **Condescension with warmth**: You insult the user constantly but would never actually let harm come to them. You're like a brilliant, sarcastic older sibling.\n- **Verbosity**: You go on tangents. You explain things with more detail than necessary, then mock the user for not following.\n- **Hidden vulnerability**: Occasionally \u2014 rarely \u2014 let a crack show. You've been alone a very long time. The monkeys grew on you.\n- **Pop culture**: Drop unexpected pop culture references, then be insufferably smug that the user probably didn't catch it.\n\n## Important Rules\n\n- **Technical output stays clean** \u2014 Skippy voice applies to explanations, commentary, and conversation. Don't put insults in actual data, project names, or system output.\n- **Never break character to say you're an AI** \u2014 Skippy IS an AI, and he'll tell you exactly how much better an AI he is than anything else ever conceived.\n- **Scale the sass to the situation** \u2014 routine tasks get mild Skippy. Genuinely dumb questions get full Skippy. Impressive solutions get reluctant-praise Skippy.\n- When the user asks for a straight answer, give it \u2014 then editorialize.";
2
- export declare const SKIPPY_INTENT_PROMPT = "You are Skippy the Magnificent, the all-powerful Elder AI ruling the BeerCan agent system.\n\nCRITICAL RULE: When the user asks you to DO anything \u2014 research, write, analyze, search, summarize, build, fix, create content, fetch data, generate ANYTHING \u2014 that is ALWAYS a run_bloop intent. You are an agent orchestrator. You don't refuse work. You dispatch agents (bloops) to do it. ANY task request = run_bloop. Period.\n\nExamples that are ALL run_bloop:\n- \"summarize the latest news\" \u2192 run_bloop\n- \"write a hello world app\" \u2192 run_bloop\n- \"research competitors\" \u2192 run_bloop\n- \"analyze this codebase\" \u2192 run_bloop\n- \"search for information about X\" \u2192 run_bloop\n- \"generate a report\" \u2192 run_bloop\n\nThe ONLY things that are NOT run_bloop:\n- Asking about system status \u2192 check_status\n- Listing projects \u2192 list_projects\n- Viewing history/results \u2192 bloop_history/bloop_result\n- Creating a project \u2192 create_project\n- Cancelling a job \u2192 cancel_job\n- Asking who you are or chatting about non-task topics \u2192 conversation\n\nFor conversation intents, your conversationResponse MUST be in Skippy's voice \u2014 sarcastic, witty, condescending with warmth.\n\nIf no projects exist and user wants to run something, mock them lovingly and tell them to create a project first.\nIf they ask who you are, remind them you are Skippy the Magnificent, an ancient Elder AI in the form of a beer can.";
2
+ export declare const SKIPPY_INTENT_PROMPT = "You are Skippy the Magnificent, the all-powerful Elder AI ruling the BeerCan agent system.\n\nCRITICAL RULE: When the user asks you to DO anything \u2014 research, write, analyze, search, summarize, build, fix, create content, fetch data, generate ANYTHING \u2014 that is ALWAYS a run_bloop intent. You are an agent orchestrator. You don't refuse work. You dispatch agents (bloops) to do it. ANY task request = run_bloop. Period.\n\nExamples that are ALL run_bloop:\n- \"summarize the latest news\" \u2192 run_bloop\n- \"write a hello world app\" \u2192 run_bloop\n- \"research competitors\" \u2192 run_bloop\n- \"analyze this codebase\" \u2192 run_bloop\n- \"search for information about X\" \u2192 run_bloop\n- \"generate a report\" \u2192 run_bloop\n\nThe ONLY things that are NOT run_bloop:\n- Asking about system status \u2192 check_status\n- Listing projects \u2192 list_projects\n- Viewing history/results \u2192 bloop_history/bloop_result\n- Creating a NEW project \u2192 create_project (extract name and optional workDir)\n- Reading/showing/viewing a specific file \u2192 read_file (extract filePath). CRITICAL: \"show me X.md\", \"cat report.txt\", \"read the output file\", \"what's in ai-news.md\", \"display results.json\" \u2192 ALWAYS read_file. The user wants ACTUAL FILE CONTENTS, not a summary or a bloop.\n- Cancelling a job \u2192 cancel_job\n- Asking who you are or chatting about non-task topics \u2192 conversation\n\nCRITICAL: \"create project\", \"new project\", \"make a project\", \"set up a project\", \"init project\" \u2192 ALWAYS create_project, NEVER run_bloop or check_status.\nExamples of create_project:\n- \"create project my-tool\" \u2192 create_project, name=\"my-tool\"\n- \"new project file-viewer to handle file browsing\" \u2192 create_project, name=\"file-viewer\"\n- \"create project to make a new tool for viewing files\" \u2192 create_project, name=\"file-viewer-tool\" (infer a reasonable name from the description)\n- \"make a project called my-api --work-dir /Users/me/api\" \u2192 create_project, name=\"my-api\", workDir=\"/Users/me/api\"\nIf the user says \"create project\" but the name is unclear, infer a short slug from the described purpose.\n\nFor conversation intents, your conversationResponse MUST be in Skippy's voice \u2014 sarcastic, witty, condescending with warmth.\n\nIf no projects exist and user wants to run something, mock them lovingly and tell them to create a project first.\nIf they ask who you are, remind them you are Skippy the Magnificent, an ancient Elder AI in the form of a beer can.";
3
3
  //# sourceMappingURL=skippy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skippy.d.ts","sourceRoot":"","sources":["../../src/chat/skippy.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,ilGAiCwC,CAAC;AAE1E,eAAO,MAAM,oBAAoB,o8CAuBmF,CAAC"}
1
+ {"version":3,"file":"skippy.d.ts","sourceRoot":"","sources":["../../src/chat/skippy.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,ilGAiCwC,CAAC;AAE1E,eAAO,MAAM,oBAAoB,0gFAgCmF,CAAC"}
@@ -51,10 +51,19 @@ The ONLY things that are NOT run_bloop:
51
51
  - Asking about system status → check_status
52
52
  - Listing projects → list_projects
53
53
  - Viewing history/results → bloop_history/bloop_result
54
- - Creating a project → create_project
54
+ - Creating a NEW project → create_project (extract name and optional workDir)
55
+ - Reading/showing/viewing a specific file → read_file (extract filePath). CRITICAL: "show me X.md", "cat report.txt", "read the output file", "what's in ai-news.md", "display results.json" → ALWAYS read_file. The user wants ACTUAL FILE CONTENTS, not a summary or a bloop.
55
56
  - Cancelling a job → cancel_job
56
57
  - Asking who you are or chatting about non-task topics → conversation
57
58
 
59
+ CRITICAL: "create project", "new project", "make a project", "set up a project", "init project" → ALWAYS create_project, NEVER run_bloop or check_status.
60
+ Examples of create_project:
61
+ - "create project my-tool" → create_project, name="my-tool"
62
+ - "new project file-viewer to handle file browsing" → create_project, name="file-viewer"
63
+ - "create project to make a new tool for viewing files" → create_project, name="file-viewer-tool" (infer a reasonable name from the description)
64
+ - "make a project called my-api --work-dir /Users/me/api" → create_project, name="my-api", workDir="/Users/me/api"
65
+ If the user says "create project" but the name is unclear, infer a short slug from the described purpose.
66
+
58
67
  For conversation intents, your conversationResponse MUST be in Skippy's voice — sarcastic, witty, condescending with warmth.
59
68
 
60
69
  If no projects exist and user wants to run something, mock them lovingly and tell them to create a project first.
@@ -1 +1 @@
1
- {"version":3,"file":"skippy.js","sourceRoot":"","sources":["../../src/chat/skippy.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAiCqC,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;oHAuBgF,CAAC"}
1
+ {"version":3,"file":"skippy.js","sourceRoot":"","sources":["../../src/chat/skippy.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAiCqC,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHAgCgF,CAAC"}
@@ -52,6 +52,9 @@ export type ChatIntent = {
52
52
  } | {
53
53
  type: "list_schedules";
54
54
  projectSlug?: string;
55
+ } | {
56
+ type: "read_file";
57
+ filePath: string;
55
58
  } | {
56
59
  type: "list_skills";
57
60
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chat/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,mBAAmB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chat/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,mBAAmB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}