@pentoshi/clai 0.13.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/bin/clai.mjs +25 -0
  2. package/dist/agent/runner.d.ts +38 -1
  3. package/dist/agent/runner.js +472 -31
  4. package/dist/agent/runner.js.map +1 -1
  5. package/dist/commands/update.js +1 -1
  6. package/dist/commands/update.js.map +1 -1
  7. package/dist/llm/anthropic.js +31 -12
  8. package/dist/llm/anthropic.js.map +1 -1
  9. package/dist/llm/capabilities.d.ts +13 -0
  10. package/dist/llm/capabilities.js +107 -24
  11. package/dist/llm/capabilities.js.map +1 -1
  12. package/dist/llm/gemini.js +17 -4
  13. package/dist/llm/gemini.js.map +1 -1
  14. package/dist/llm/http.d.ts +12 -1
  15. package/dist/llm/http.js +50 -25
  16. package/dist/llm/http.js.map +1 -1
  17. package/dist/llm/ollama.js +16 -8
  18. package/dist/llm/ollama.js.map +1 -1
  19. package/dist/modes/agent.d.ts +2 -1
  20. package/dist/modes/agent.js.map +1 -1
  21. package/dist/modes/ask.d.ts +2 -1
  22. package/dist/modes/ask.js +5 -1
  23. package/dist/modes/ask.js.map +1 -1
  24. package/dist/os/cwd.d.ts +30 -0
  25. package/dist/os/cwd.js +76 -0
  26. package/dist/os/cwd.js.map +1 -0
  27. package/dist/os/detect.js +2 -1
  28. package/dist/os/detect.js.map +1 -1
  29. package/dist/prompts/index.d.ts +1 -1
  30. package/dist/prompts/index.js +66 -21
  31. package/dist/prompts/index.js.map +1 -1
  32. package/dist/repl.d.ts +10 -0
  33. package/dist/repl.js +260 -28
  34. package/dist/repl.js.map +1 -1
  35. package/dist/safety/classifier.js +121 -26
  36. package/dist/safety/classifier.js.map +1 -1
  37. package/dist/safety/patterns.d.ts +26 -0
  38. package/dist/safety/patterns.js +167 -0
  39. package/dist/safety/patterns.js.map +1 -1
  40. package/dist/store/config.js +2 -1
  41. package/dist/store/config.js.map +1 -1
  42. package/dist/store/history.js +19 -5
  43. package/dist/store/history.js.map +1 -1
  44. package/dist/store/plan.d.ts +43 -0
  45. package/dist/store/plan.js +201 -0
  46. package/dist/store/plan.js.map +1 -0
  47. package/dist/store/project.js +3 -2
  48. package/dist/store/project.js.map +1 -1
  49. package/dist/tools/capabilities.js +6 -1
  50. package/dist/tools/capabilities.js.map +1 -1
  51. package/dist/tools/fs.js +3 -2
  52. package/dist/tools/fs.js.map +1 -1
  53. package/dist/tools/image.d.ts +13 -0
  54. package/dist/tools/image.js +81 -0
  55. package/dist/tools/image.js.map +1 -0
  56. package/dist/tools/jobs.js +2 -1
  57. package/dist/tools/jobs.js.map +1 -1
  58. package/dist/tools/pdf.d.ts +18 -0
  59. package/dist/tools/pdf.js +200 -0
  60. package/dist/tools/pdf.js.map +1 -0
  61. package/dist/tools/registry.js +79 -7
  62. package/dist/tools/registry.js.map +1 -1
  63. package/dist/tools/shell.js +3 -2
  64. package/dist/tools/shell.js.map +1 -1
  65. package/dist/types.d.ts +16 -0
  66. package/dist/ui/keys.d.ts +1 -0
  67. package/dist/ui/keys.js +4 -0
  68. package/dist/ui/keys.js.map +1 -1
  69. package/dist/ui/mentions.d.ts +32 -1
  70. package/dist/ui/mentions.js +304 -27
  71. package/dist/ui/mentions.js.map +1 -1
  72. package/dist/ui/output-pane.js +11 -2
  73. package/dist/ui/output-pane.js.map +1 -1
  74. package/dist/ui/plan-pane.d.ts +19 -0
  75. package/dist/ui/plan-pane.js +101 -0
  76. package/dist/ui/plan-pane.js.map +1 -0
  77. package/package.json +4 -1
@@ -0,0 +1,200 @@
1
+ import { mkdtemp, readdir, rm, stat } from "node:fs/promises";
2
+ import { homedir, tmpdir } from "node:os";
3
+ import { join, resolve } from "node:path";
4
+ import { commandAvailable } from "../os/pkgmgr.js";
5
+ import { spawnArgv } from "./shell.js";
6
+ function expandHome(path) {
7
+ if (path === "~")
8
+ return homedir();
9
+ if (path.startsWith("~/") || path.startsWith("~\\")) {
10
+ return resolve(homedir(), path.slice(2));
11
+ }
12
+ return path;
13
+ }
14
+ function optionalString(args, key) {
15
+ const value = args[key];
16
+ return typeof value === "string" && value.length > 0 ? value : undefined;
17
+ }
18
+ function optionalNumber(args, key) {
19
+ const value = args[key];
20
+ return typeof value === "number" ? value : undefined;
21
+ }
22
+ /**
23
+ * Count the "meaningful" characters in extracted text — letters and digits
24
+ * only. A text PDF returns hundreds; a scanned (image-only) PDF returns a
25
+ * handful of stray glyphs or nothing. We use this to decide whether to fall
26
+ * back to rendering pages and OCR-ing them.
27
+ */
28
+ function meaningfulCharCount(text) {
29
+ const matches = text.match(/[A-Za-z0-9]/g);
30
+ return matches ? matches.length : 0;
31
+ }
32
+ // Below this many meaningful characters we treat pdftotext's output as
33
+ // "empty" and switch to the render-then-OCR fallback. Tuned low so a PDF
34
+ // with a tiny bit of real text (a cover page) still triggers OCR when the
35
+ // body is scanned.
36
+ const MIN_MEANINGFUL_CHARS = 16;
37
+ /**
38
+ * Read a PDF as text.
39
+ *
40
+ * Strategy (mirrors what a human would do):
41
+ * 1. Run `pdftotext -layout <pdf> -` — fast and exact for born-digital PDFs.
42
+ * 2. If that yields little/no real text the PDF is scanned (image-only), so
43
+ * render every page to a PNG with `pdftoppm` and OCR each one with
44
+ * `tesseract`, concatenating the results page by page.
45
+ *
46
+ * Auto-executes (read-only). Returns a helpful error naming the missing
47
+ * binary so the agent can pkg.install it and retry.
48
+ */
49
+ export async function pdfRead(args, options = {}) {
50
+ const rawPath = optionalString(args, "path");
51
+ if (!rawPath) {
52
+ return {
53
+ ok: false,
54
+ output: 'pdf.read expects { "path": "/path/to/file.pdf" }',
55
+ exitCode: 1,
56
+ };
57
+ }
58
+ const lang = optionalString(args, "lang") ?? "eng";
59
+ if (!/^[A-Za-z0-9_+-]+$/.test(lang)) {
60
+ return {
61
+ ok: false,
62
+ output: "pdf.read: lang may contain only letters, digits, _, +, or -",
63
+ exitCode: 1,
64
+ };
65
+ }
66
+ const dpiRaw = optionalNumber(args, "dpi") ?? 200;
67
+ const dpi = Math.floor(dpiRaw);
68
+ if (!Number.isFinite(dpiRaw) || dpi < 72 || dpi > 600) {
69
+ return {
70
+ ok: false,
71
+ output: "pdf.read: dpi must be an integer from 72 to 600",
72
+ exitCode: 1,
73
+ };
74
+ }
75
+ const path = resolve(expandHome(rawPath));
76
+ try {
77
+ const info = await stat(path);
78
+ if (!info.isFile()) {
79
+ return {
80
+ ok: false,
81
+ output: `pdf.read: not a regular file: ${path}`,
82
+ exitCode: 1,
83
+ };
84
+ }
85
+ }
86
+ catch (error) {
87
+ return {
88
+ ok: false,
89
+ output: `pdf.read: cannot read ${path}: ${error instanceof Error ? error.message : String(error)}`,
90
+ exitCode: 1,
91
+ };
92
+ }
93
+ // ── Step 1: fast text extraction for born-digital PDFs ────────────────
94
+ let textLayerOutput = "";
95
+ if (await commandAvailable("pdftotext")) {
96
+ const direct = await spawnArgv({
97
+ command: "pdftotext",
98
+ argv: ["-layout", path, "-"],
99
+ timeoutMs: 120_000,
100
+ signal: options.signal,
101
+ onOutput: options.onOutput,
102
+ noArtifact: true,
103
+ maxModelBytes: 200_000,
104
+ });
105
+ // spawnArgv prefixes the output with a "$ pdftotext …" command echo; strip
106
+ // that first line so the meaningful-char heuristic sees only PDF content.
107
+ textLayerOutput = direct.output.replace(/^\$ pdftotext[^\n]*\n?/, "");
108
+ if (meaningfulCharCount(textLayerOutput) >= MIN_MEANINGFUL_CHARS) {
109
+ return {
110
+ ok: true,
111
+ output: textLayerOutput.trim(),
112
+ };
113
+ }
114
+ }
115
+ if (options.signal?.aborted) {
116
+ return { ok: false, output: "pdf.read aborted.", exitCode: 130 };
117
+ }
118
+ // ── Step 2: scanned PDF → render pages then OCR each one ──────────────
119
+ const missing = [];
120
+ if (!(await commandAvailable("pdftoppm")))
121
+ missing.push("pdftoppm (poppler)");
122
+ if (!(await commandAvailable("tesseract")))
123
+ missing.push("tesseract");
124
+ if (missing.length > 0) {
125
+ const hint = textLayerOutput.trim().length > 0
126
+ ? `\n\nPartial text-layer extraction:\n${textLayerOutput.trim()}`
127
+ : "";
128
+ return {
129
+ ok: false,
130
+ output: `pdf.read: the PDF has no extractable text layer (it is scanned), and OCR fallback needs: ${missing.join(", ")}. ` +
131
+ `Install the missing tool(s) (e.g. poppler for pdftoppm, tesseract for OCR) and retry.${hint}`,
132
+ exitCode: 1,
133
+ };
134
+ }
135
+ const workDir = await mkdtemp(join(tmpdir(), "clai-pdfocr-"));
136
+ try {
137
+ const prefix = join(workDir, "page");
138
+ options.onOutput?.("\n text layer empty — rendering pages for OCR…\n", "stdout");
139
+ const render = await spawnArgv({
140
+ command: "pdftoppm",
141
+ argv: ["-png", "-r", String(dpi), path, prefix],
142
+ timeoutMs: 300_000,
143
+ signal: options.signal,
144
+ onOutput: options.onOutput,
145
+ noArtifact: true,
146
+ });
147
+ if (!render.ok && !options.signal?.aborted) {
148
+ return {
149
+ ok: false,
150
+ output: `pdf.read: failed to render PDF pages with pdftoppm.\n${render.output}`,
151
+ exitCode: render.exitCode ?? 1,
152
+ };
153
+ }
154
+ const entries = (await readdir(workDir))
155
+ .filter((name) => name.toLowerCase().endsWith(".png"))
156
+ .sort((a, b) => a.localeCompare(b, undefined, { numeric: true }));
157
+ if (entries.length === 0) {
158
+ return {
159
+ ok: false,
160
+ output: "pdf.read: no pages were rendered from the PDF — it may be empty or corrupt.",
161
+ exitCode: 1,
162
+ };
163
+ }
164
+ const pageTexts = [];
165
+ for (let i = 0; i < entries.length; i += 1) {
166
+ if (options.signal?.aborted) {
167
+ return { ok: false, output: "pdf.read aborted.", exitCode: 130 };
168
+ }
169
+ const imagePath = join(workDir, entries[i]);
170
+ options.onOutput?.(` OCR page ${i + 1}/${entries.length}…\n`, "stdout");
171
+ const ocr = await spawnArgv({
172
+ command: "tesseract",
173
+ argv: [imagePath, "stdout", "-l", lang, "--psm", "6"],
174
+ timeoutMs: 120_000,
175
+ signal: options.signal,
176
+ noArtifact: true,
177
+ maxModelBytes: 200_000,
178
+ });
179
+ // Strip spawnArgv's "$ tesseract …" command echo from each page.
180
+ const body = ocr.output.replace(/^\$ tesseract[^\n]*\n?/, "").trim();
181
+ pageTexts.push(`----- page ${i + 1} -----\n${body || "(no text recognized on this page)"}`);
182
+ }
183
+ const combined = pageTexts.join("\n\n").trim();
184
+ if (meaningfulCharCount(combined) === 0) {
185
+ return {
186
+ ok: false,
187
+ output: "pdf.read: OCR ran on all pages but recognized no text. The scan may be too low quality — try a higher dpi.",
188
+ exitCode: 1,
189
+ };
190
+ }
191
+ return {
192
+ ok: true,
193
+ output: `[scanned PDF — text recovered via OCR of ${entries.length} page(s)]\n\n${combined}`,
194
+ };
195
+ }
196
+ finally {
197
+ await rm(workDir, { recursive: true, force: true }).catch(() => undefined);
198
+ }
199
+ }
200
+ //# sourceMappingURL=pdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/tools/pdf.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { detectSystem } from "../os/detect.js";
2
- import { detectPackageManager, assertSafePackageName } from "../os/pkgmgr.js";
3
- import { fsEdit, fsDelete, fsList, fsRead, fsSearch, fsWrite, fsWriteMany } from "./fs.js";
2
+ import { detectPackageManager, assertSafePackageName, commandAvailable, } from "../os/pkgmgr.js";
3
+ import { safeCwd } from "../os/cwd.js";
4
+ import { fsEdit, fsDelete, fsList, fsRead, fsSearch, fsWrite, fsWriteMany, } from "./fs.js";
4
5
  import { httpFetch } from "./http.js";
5
6
  import { shellExec, spawnArgv } from "./shell.js";
7
+ import { imageOcr } from "./image.js";
8
+ import { pdfRead } from "./pdf.js";
6
9
  import { webFetch } from "./web/fetch.js";
7
10
  import { webSearch } from "./web/search.js";
8
11
  import { RESPONSE_MODES } from "./web/types.js";
@@ -34,11 +37,41 @@ function optionalBoolean(args, key) {
34
37
  }
35
38
  function optionalResponseMode(args, key) {
36
39
  const value = args[key];
37
- if (typeof value === "string" && RESPONSE_MODES.includes(value)) {
40
+ if (typeof value === "string" &&
41
+ RESPONSE_MODES.includes(value)) {
38
42
  return value;
39
43
  }
40
44
  return undefined;
41
45
  }
46
+ /**
47
+ * Map a package name to the executable it installs, when they differ. Used
48
+ * by pkg.install to check whether the tool already exists before installing.
49
+ * Most packages share their binary name, so this only lists the exceptions.
50
+ */
51
+ const PACKAGE_BINARY_ALIASES = {
52
+ ripgrep: "rg",
53
+ dnsutils: "dig",
54
+ "bind-utils": "dig",
55
+ "bind9-dnsutils": "dig",
56
+ "python3-pip": "pip3",
57
+ "build-essential": "gcc",
58
+ nodejs: "node",
59
+ golang: "go",
60
+ "g++": "g++",
61
+ imagemagick: "magick",
62
+ "netcat-openbsd": "nc",
63
+ "net-tools": "ifconfig",
64
+ coreutils: "ls",
65
+ };
66
+ function packageBinaryName(pkg) {
67
+ const lower = pkg.toLowerCase();
68
+ if (PACKAGE_BINARY_ALIASES[lower])
69
+ return PACKAGE_BINARY_ALIASES[lower];
70
+ // Strip a tap/cask prefix (homebrew "owner/tap/name" → "name") and any
71
+ // version suffix (apt "pkg=1.2" → "pkg") so the binary guess is sane.
72
+ const noTap = pkg.includes("/") ? pkg.slice(pkg.lastIndexOf("/") + 1) : pkg;
73
+ return noTap.split(/[=@:]/)[0] ?? noTap;
74
+ }
42
75
  export const toolRegistry = {
43
76
  async "shell.exec"(args, options) {
44
77
  return shellExec({
@@ -66,7 +99,7 @@ export const toolRegistry = {
66
99
  return fsWriteMany(files);
67
100
  },
68
101
  async "fs.list"(args) {
69
- return fsList(optionalString(args, "path") ?? process.cwd(), {
102
+ return fsList(optionalString(args, "path") ?? safeCwd(), {
70
103
  maxEntries: optionalNumber(args, "maxEntries"),
71
104
  });
72
105
  },
@@ -75,6 +108,19 @@ export const toolRegistry = {
75
108
  },
76
109
  async "pkg.install"(args, options) {
77
110
  const tool = assertSafePackageName(requireString(args, "tool"));
111
+ // Skip the install entirely if the tool is already on PATH. The executable
112
+ // a package provides isn't always its package name (ripgrep→rg,
113
+ // dnsutils→dig), so check the known binary alias too. This makes the
114
+ // model's "check-then-install" intent cheap and idempotent.
115
+ const checkArg = optionalString(args, "checkBinary");
116
+ const binary = checkArg ?? packageBinaryName(tool);
117
+ if (await commandAvailable(binary)) {
118
+ return {
119
+ ok: true,
120
+ output: `${binary} is already installed and on PATH — skipping install.`,
121
+ exitCode: 0,
122
+ };
123
+ }
78
124
  const pkgmgr = await detectPackageManager();
79
125
  const spec = pkgmgr.installArgv(tool);
80
126
  if (!spec) {
@@ -180,7 +226,17 @@ export const toolRegistry = {
180
226
  const host = parseHost(requireString(args, "target"));
181
227
  const recordRaw = (optionalString(args, "record") ?? "A").toUpperCase();
182
228
  const allowed = new Set([
183
- "A", "AAAA", "ANY", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT",
229
+ "A",
230
+ "AAAA",
231
+ "ANY",
232
+ "CAA",
233
+ "CNAME",
234
+ "MX",
235
+ "NS",
236
+ "PTR",
237
+ "SOA",
238
+ "SRV",
239
+ "TXT",
184
240
  ]);
185
241
  if (!allowed.has(recordRaw)) {
186
242
  throw new Error(`dns.lookup: unsupported record type "${recordRaw}". Allowed: ${[...allowed].join(", ")}`);
@@ -218,8 +274,16 @@ export const toolRegistry = {
218
274
  const wantNmap = args.nmap !== false;
219
275
  const allSteps = [
220
276
  { key: "whois", command: "whois", argv: [host.value] },
221
- { key: "dns", command: "dig", argv: [host.value, "ANY", "+noall", "+answer"] },
222
- { key: "nmap", command: "nmap", argv: ["-sV", "--top-ports", "100", host.value] },
277
+ {
278
+ key: "dns",
279
+ command: "dig",
280
+ argv: [host.value, "ANY", "+noall", "+answer"],
281
+ },
282
+ {
283
+ key: "nmap",
284
+ command: "nmap",
285
+ argv: ["-sV", "--top-ports", "100", host.value],
286
+ },
223
287
  ];
224
288
  const steps = allSteps.filter((step) => {
225
289
  if (step.key === "whois")
@@ -312,6 +376,12 @@ export const toolRegistry = {
312
376
  async "tool.check"(args) {
313
377
  return toolCheckHandler(args);
314
378
  },
379
+ async "image.ocr"(args, options) {
380
+ return imageOcr(args, options);
381
+ },
382
+ async "pdf.read"(args, options) {
383
+ return pdfRead(args, options);
384
+ },
315
385
  async "shell.start"(args) {
316
386
  const command = requireString(args, "command");
317
387
  return jobManager.startJob(command, {
@@ -362,6 +432,8 @@ const BATCH_SAFE_TOOLS = new Set([
362
432
  "whois.lookup",
363
433
  "net.context",
364
434
  "tool.check",
435
+ "image.ocr",
436
+ "pdf.read",
365
437
  "web.search",
366
438
  "web.fetch",
367
439
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAavC,SAAS,aAAa,CAAC,IAA6B,EAAE,GAAW;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,8BAA8B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,IAA6B,EAC7B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CACrB,IAA6B,EAC7B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CACtB,IAA6B,EAC7B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAA6B,EAC7B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvF,OAAO,KAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO;QAC9B,OAAO,SAAS,CAAC;YACf,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;YACvC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YAChC,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;YAC5C,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAI;QAClB,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACzC,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAI;QACnB,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,IAAI;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,GAAkB,CAAC;QACjC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAI;QAClB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE;YAC3D,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAI;QACpB,OAAO,QAAQ,CACb,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAC9B,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO;QAC/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,oEAAoE;YACpE,sCAAsC;YACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QACD,OAAO,SAAS,CAAC;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;YACZ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAE,IAAI,CAAC,OAAuB;YAC/B,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,qEAAqE;QACrE,MAAM,cAAc,GAClB,KAAK,IAAI,OAAO,EAAE,QAAQ;YACxB,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;YACrC,CAAC,CAAC,OAAO,CAAC;QACd,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;YACf,OAAO,EAAE,MAAM;YACf,IAAI;YACJ,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;YACZ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAE,IAAI,CAAC,OAAkC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3C,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YACtC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;YAClC,OAAO;YACP,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;SACtD,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO;QAC9B,OAAO,SAAS,CACd;YACE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YACnC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,CAAW,EAAE;gBAC9D,CAAC,CAAC,EAAE,CAAC;SACR,EACD,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO;QAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GAAmC,EAAE,GAAG,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,SAAS;YAAE,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;QAC5E,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;QAChE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC7D,IAAI,aAAa,KAAK,SAAS;YAAE,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;QACzE,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC3E,IAAI,oBAAoB,KAAK,SAAS;YACpC,SAAS,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACxD,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,YAAY,KAAK,SAAS;YAAE,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;QACtE,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACjE,IAAI,eAAe,KAAK,SAAS;YAC/B,SAAS,CAAC,eAAe,GAAG,eAAe,CAAC;QAC9C,OAAO,QAAQ,CAAC,SAAS,EAAE;YACzB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;YACtB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;SAC3E,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,wCAAwC,SAAS,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;YACf,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC5D,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;YACf,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAClB,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;QACrC,MAAM,QAAQ,GAA8E;YAC1F,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACtD,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC9E,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;SAClF,CAAC;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM;gBAAE,OAAO,QAAQ,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EACJ,mHAAmH;gBACrH,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,YAAgC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAC5D,YAAY,GAAG,IAAI,CACjB,WAAW,EACX,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,QAAQ,MAAM,CAC1E,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;YAChE,oDAAoD;YACpD,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;gBAAE,MAAM;YACpC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAChC,oEAAoE;YACpE,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,OAAO,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,OAAO;gBAClB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;gBAAE,MAAM;QACtC,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO;YAC7B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;gBAC9B,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE;gBACtD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO;QAC9B,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,aAAa;QACjB,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,IAAI;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;YACf,MAAM;YACN,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAmD;YACxF,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAI;QACtB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE;YAClC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YAChC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,OAAO,UAAU,CAAC,OAAO,CACvB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EACzB,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAC9B,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAI;QAClB,OAAO,MAAM,CACX,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAC3B,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAC9B,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAC9B,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAC7C,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAI;QACpB,OAAO,QAAQ,CACb,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAC3B,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAc,EACd,UAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAOhC,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,8BAA8B,eAAe,uBAAuB,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,IACE,CAAC,KAAK;YACN,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACtD,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACrD,KAA4B,CAAC,IAAI,KAAK,IAAI,EAC3C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,yCAAyC,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAGtB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,yCAAyC,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/G,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAU,EACV,KAAa,EACb,MAAiD;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,IAAI,EAAE;YACV,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAWD,KAAK,UAAU,YAAY,CACzB,IAA6B,EAC7B,OAAwB;IAExB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACpC,EAAE,KAAK,EAAE,CACV,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,0DAA0D,CAC9G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,CAAC,EACD,IAAI,CAAC,GAAG,CACN,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAC,yBAAyB,EAC7B,qBAAqB,CACtB,CACF,CAAC;IACF,MAAM,QAAQ,GAAmB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3D,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAChB,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,2BAA2B;gBACnC,QAAQ,EAAE,GAAG;aACd,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACpC,kEAAkE;YAClE,sDAAsD;YACtD,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,CAAC;YACF,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAChB,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAChB,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACxI,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;YACxB,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE;YAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
4
4
  import { join } from "node:path";
5
5
  import { homedir } from "node:os";
6
6
  import { redactSecrets } from "../llm/provider.js";
7
+ import { safeCwd } from "../os/cwd.js";
7
8
  const DEFAULT_MAX_MODEL_BYTES = 12_000;
8
9
  const DEFAULT_MAX_CAPTURE_BYTES = 500 * 1024 * 1024;
9
10
  const DEFAULT_TIMEOUT_MS = 180_000;
@@ -247,7 +248,7 @@ export async function shellExec(args) {
247
248
  ? takeOverCookedStdin()
248
249
  : () => { };
249
250
  const child = spawn(args.command, {
250
- cwd: args.cwd ?? process.cwd(),
251
+ cwd: args.cwd ?? safeCwd(),
251
252
  detached: detached && !usingInteractiveStdin,
252
253
  shell: true,
253
254
  stdio,
@@ -491,7 +492,7 @@ export async function spawnArgv(args) {
491
492
  ? takeOverCookedStdin()
492
493
  : () => { };
493
494
  const child = spawn(args.command, args.argv, {
494
- cwd: args.cwd ?? process.cwd(),
495
+ cwd: args.cwd ?? safeCwd(),
495
496
  detached: detached && !usingInteractiveStdin,
496
497
  shell: false,
497
498
  stdio,
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,9 +7,25 @@ export interface ReasoningPreference {
7
7
  enabled: boolean;
8
8
  effort: ReasoningEffort;
9
9
  }
10
+ export interface ChatImage {
11
+ /** MIME type, e.g. "image/png", "image/jpeg". */
12
+ mediaType: string;
13
+ /** Base64-encoded image bytes (no data: prefix). */
14
+ dataBase64: string;
15
+ /** Original path, for display/debugging. */
16
+ path?: string | undefined;
17
+ }
10
18
  export interface ChatMessage {
11
19
  role: "system" | "user" | "assistant" | "tool";
12
20
  content: string;
21
+ /**
22
+ * Optional image attachments for this message. Only populated for user
23
+ * turns when the active model supports vision; providers that understand
24
+ * images serialize these into their multimodal message format, and
25
+ * providers/models without vision ignore them (the text content still
26
+ * carries a note so the agent can fall back to OCR tools).
27
+ */
28
+ images?: ChatImage[] | undefined;
13
29
  }
14
30
  export interface CompletionRequest {
15
31
  provider?: ProviderId | undefined;
package/dist/ui/keys.d.ts CHANGED
@@ -18,4 +18,5 @@ export interface Keypress {
18
18
  export declare function isCtrlC(key: Keypress): boolean;
19
19
  export declare function isCtrlT(key: Keypress): boolean;
20
20
  export declare function isCtrlO(key: Keypress): boolean;
21
+ export declare function isCtrlP(key: Keypress): boolean;
21
22
  export declare function isEscape(key: Keypress): boolean;
package/dist/ui/keys.js CHANGED
@@ -9,6 +9,10 @@ export function isCtrlO(key) {
9
9
  return ((Boolean(key.ctrl) && key.name?.toLowerCase() === "o") ||
10
10
  key.sequence === "\x0f");
11
11
  }
12
+ export function isCtrlP(key) {
13
+ return ((Boolean(key.ctrl) && key.name?.toLowerCase() === "p") ||
14
+ key.sequence === "\x10");
15
+ }
12
16
  export function isEscape(key) {
13
17
  return key.name === "escape" || key.sequence === "\x1b";
14
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/ui/keys.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAa;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/ui/keys.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAa;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC1D,CAAC"}