@pentoshi/clai 3.8.46 → 3.8.48

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 (96) hide show
  1. package/dist/agent/compaction-summary.js +1 -1
  2. package/dist/agent/compaction-summary.js.map +1 -1
  3. package/dist/agent/plan-tool.js +110 -14
  4. package/dist/agent/plan-tool.js.map +1 -1
  5. package/dist/agent/reliability-policy.d.ts +4 -3
  6. package/dist/agent/reliability-policy.js +4 -3
  7. package/dist/agent/reliability-policy.js.map +1 -1
  8. package/dist/agent/responder-context.d.ts +10 -0
  9. package/dist/agent/responder-context.js +50 -0
  10. package/dist/agent/responder-context.js.map +1 -0
  11. package/dist/agent/runner.js +160 -12
  12. package/dist/agent/runner.js.map +1 -1
  13. package/dist/agent/task-plan.d.ts +4 -0
  14. package/dist/agent/task-plan.js.map +1 -1
  15. package/dist/app/adapters/current-jobs-adapter.js +7 -0
  16. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  17. package/dist/app/controllers/job-controller.d.ts +9 -6
  18. package/dist/app/controllers/job-controller.js +21 -0
  19. package/dist/app/controllers/job-controller.js.map +1 -1
  20. package/dist/app/controllers/session-controller.d.ts +14 -33
  21. package/dist/app/controllers/session-controller.js +71 -132
  22. package/dist/app/controllers/session-controller.js.map +1 -1
  23. package/dist/app/controllers/session-prompt-queue.d.ts +34 -0
  24. package/dist/app/controllers/session-prompt-queue.js +141 -0
  25. package/dist/app/controllers/session-prompt-queue.js.map +1 -0
  26. package/dist/app/controllers/session-responder.d.ts +49 -0
  27. package/dist/app/controllers/session-responder.js +311 -0
  28. package/dist/app/controllers/session-responder.js.map +1 -0
  29. package/dist/app/ports/jobs-port.d.ts +10 -7
  30. package/dist/prompts/embedded.js +1 -1
  31. package/dist/prompts/embedded.js.map +1 -1
  32. package/dist/prompts/system.agent.md +14 -9
  33. package/dist/repl.js +24 -14
  34. package/dist/repl.js.map +1 -1
  35. package/dist/safety/engagement-policy.js +39 -7
  36. package/dist/safety/engagement-policy.js.map +1 -1
  37. package/dist/store/config.js +1 -1
  38. package/dist/store/config.js.map +1 -1
  39. package/dist/store/plan.d.ts +11 -0
  40. package/dist/store/plan.js +66 -3
  41. package/dist/store/plan.js.map +1 -1
  42. package/dist/tools/definitions.js +35 -4
  43. package/dist/tools/definitions.js.map +1 -1
  44. package/dist/tools/jobs.d.ts +72 -3
  45. package/dist/tools/jobs.js +743 -121
  46. package/dist/tools/jobs.js.map +1 -1
  47. package/dist/tools/pentest-workflows.js +80 -4
  48. package/dist/tools/pentest-workflows.js.map +1 -1
  49. package/dist/tools/registry.js +60 -19
  50. package/dist/tools/registry.js.map +1 -1
  51. package/dist/tools/tool-types.d.ts +5 -0
  52. package/dist/tools/wordlists.js +228 -108
  53. package/dist/tools/wordlists.js.map +1 -1
  54. package/dist/tui-v2/actions/action-id.js +1 -1
  55. package/dist/tui-v2/actions/action-id.js.map +1 -1
  56. package/dist/tui-v2/actions/keymap.js +1 -1
  57. package/dist/tui-v2/actions/keymap.js.map +1 -1
  58. package/dist/tui-v2/app/App.js +82 -12
  59. package/dist/tui-v2/app/App.js.map +1 -1
  60. package/dist/tui-v2/app/commands/session-commands.js +0 -5
  61. package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
  62. package/dist/tui-v2/bootstrap/composition-root.js +2 -0
  63. package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
  64. package/dist/tui-v2/components/jobs/jobs-panel.d.ts +12 -0
  65. package/dist/tui-v2/components/jobs/jobs-panel.js +184 -14
  66. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  67. package/dist/tui-v2/components/plan/plan-view.js +7 -3
  68. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  69. package/dist/tui-v2/components/status/status-line.js +2 -3
  70. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  71. package/dist/tui-v2/components/toast/toast-host.js +16 -1
  72. package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
  73. package/dist/tui-v2/components/transcript/tool-card.d.ts +3 -0
  74. package/dist/tui-v2/components/transcript/tool-card.js +12 -2
  75. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  76. package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
  77. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  78. package/dist/tui-v2/composer/composer-editor.d.ts +6 -0
  79. package/dist/tui-v2/composer/composer-editor.js +10 -17
  80. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  81. package/dist/tui-v2/composer/composer-image-paste.d.ts +1 -0
  82. package/dist/tui-v2/composer/composer-image-paste.js +22 -1
  83. package/dist/tui-v2/composer/composer-image-paste.js.map +1 -1
  84. package/dist/tui-v2/state/transcript-store.d.ts +4 -0
  85. package/dist/tui-v2/state/transcript-store.js +13 -0
  86. package/dist/tui-v2/state/transcript-store.js.map +1 -1
  87. package/dist/ui/intro-card.js +3 -3
  88. package/dist/ui/intro-card.js.map +1 -1
  89. package/dist/ui/mentions.d.ts +11 -13
  90. package/dist/ui/mentions.js +67 -26
  91. package/dist/ui/mentions.js.map +1 -1
  92. package/dist/ui/plan-pane.js +6 -2
  93. package/dist/ui/plan-pane.js.map +1 -1
  94. package/dist/version.generated.d.ts +2 -2
  95. package/dist/version.generated.js +2 -2
  96. package/package.json +1 -1
@@ -1,17 +1,59 @@
1
1
  /**
2
- * Locate wordlist files for fuzzing tools. Searches known paths first, then
3
- * broadens to locate DB, full filesystem, and sudo-elevated search so
4
- * wordlists are found regardless of install location or OS.
2
+ * Locate wordlist files for fuzzing tools. The goal is simple: if a wordlist
3
+ * exists anywhere reasonable on disk, find it regardless of how the model
4
+ * phrased the query.
5
+ *
6
+ * Models rarely pass an exact filename. They pass things like
7
+ * "directory common medium", "rockyou password list", or "medium directory
8
+ * wordlist for fuzzing". So instead of a naive exact `-name` match we:
9
+ * 1. Tokenize the query into keywords (dropping noise words like "wordlist").
10
+ * 2. Expand well-known aliases (common → common.txt, medium →
11
+ * directory-list-2.3-medium.txt, rockyou → rockyou.txt/.gz, …).
12
+ * 3. Build case-insensitive substring globs (`*keyword*.txt`) so partial and
13
+ * differently-cased names still match.
14
+ * 4. Search progressively wider: known install roots → broader user dirs →
15
+ * locate DB → full filesystem → cached-credential sudo — stopping at the
16
+ * first pass that yields hits.
17
+ *
18
+ * All external searches run through async execFile (never execFileSync) so a
19
+ * slow `find /` can never block the render loop, and sudo is only ever invoked
20
+ * with `-n` (cached credentials) — it must NEVER inherit the TTY to prompt for
21
+ * a password, which corrupts the OpenTUI screen and steals the keyboard.
5
22
  */
6
- import { execFileSync } from "node:child_process";
23
+ import { execFile } from "node:child_process";
24
+ import { promisify } from "node:util";
7
25
  import { existsSync } from "node:fs";
8
26
  import { homedir, platform } from "node:os";
9
27
  import { join } from "node:path";
28
+ const execFileAsync = promisify(execFile);
10
29
  const IS_WIN = platform() === "win32";
11
30
  const IS_MAC = platform() === "darwin";
12
31
  function getHome() {
13
32
  return process.env.HOME || process.env.USERPROFILE || homedir();
14
33
  }
34
+ /** Cap on how many hits we surface — enough to choose from, not a flood. */
35
+ const MAX_HITS = 60;
36
+ /**
37
+ * Run a capture command without inheriting any std stream. Returns stdout on
38
+ * success; on non-zero exit (e.g. `find` hitting permission-denied dirs) we
39
+ * still recover whatever stdout was produced. Never throws.
40
+ */
41
+ async function runCapture(command, argv, timeoutMs) {
42
+ try {
43
+ const { stdout } = await execFileAsync(command, argv, {
44
+ timeout: timeoutMs,
45
+ encoding: "utf8",
46
+ maxBuffer: 8 * 1024 * 1024,
47
+ killSignal: "SIGKILL",
48
+ windowsHide: true,
49
+ });
50
+ return stdout ?? "";
51
+ }
52
+ catch (error) {
53
+ const stdout = error?.stdout;
54
+ return typeof stdout === "string" ? stdout : "";
55
+ }
56
+ }
15
57
  // --- Known roots per OS ---
16
58
  function knownRoots() {
17
59
  const home = getHome();
@@ -42,6 +84,7 @@ function knownRoots() {
42
84
  ...common,
43
85
  "/opt/homebrew/share/seclists",
44
86
  "/opt/homebrew/share/wordlists",
87
+ "/opt/homebrew/share/nmap/nselib/data",
45
88
  "/usr/local/share/seclists",
46
89
  "/usr/local/share/wordlists",
47
90
  "/opt/local/share/seclists",
@@ -64,142 +107,216 @@ function knownRoots() {
64
107
  ];
65
108
  }
66
109
  // --- Aliases ---
110
+ // Maps a human keyword (or full query) to the real filenames it usually means.
111
+ // Keys are matched case-insensitively against the whole query AND each token.
67
112
  const NAME_ALIASES = {
68
- common: ["common.txt", "common.txt.gz"],
113
+ common: ["common.txt"],
69
114
  "common.txt": ["common.txt"],
70
115
  big: ["big.txt"],
71
116
  medium: ["directory-list-2.3-medium.txt"],
117
+ "directory-medium": ["directory-list-2.3-medium.txt"],
72
118
  small: ["directory-list-2.3-small.txt"],
119
+ "directory-small": ["directory-list-2.3-small.txt"],
120
+ directories: ["directory-list-2.3-medium.txt", "raft-medium-directories.txt"],
73
121
  rockyou: ["rockyou.txt", "rockyou.txt.gz"],
74
- subdomains: ["subdomains-top1million-5000.txt", "subdomains-top1million-20000.txt"],
75
- "raft-small": ["raft-small-words.txt", "raft-small-directories.txt"],
76
- "raft-medium": ["raft-medium-words.txt", "raft-medium-directories.txt"],
122
+ passwords: ["rockyou.txt", "rockyou.txt.gz"],
123
+ password: ["rockyou.txt", "rockyou.txt.gz"],
124
+ subdomains: [
125
+ "subdomains-top1million-5000.txt",
126
+ "subdomains-top1million-20000.txt",
127
+ "subdomains-top1million-110000.txt",
128
+ ],
129
+ subdomain: ["subdomains-top1million-5000.txt"],
130
+ dns: ["subdomains-top1million-5000.txt"],
131
+ vhosts: ["subdomains-top1million-5000.txt"],
132
+ "raft-small": [
133
+ "raft-small-words.txt",
134
+ "raft-small-directories.txt",
135
+ "raft-small-files.txt",
136
+ ],
137
+ "raft-medium": [
138
+ "raft-medium-words.txt",
139
+ "raft-medium-directories.txt",
140
+ "raft-medium-files.txt",
141
+ ],
142
+ "raft-large": [
143
+ "raft-large-words.txt",
144
+ "raft-large-directories.txt",
145
+ "raft-large-files.txt",
146
+ ],
147
+ quickhits: ["quickhits.txt"],
148
+ api: ["api-endpoints.txt", "actions-lowercase.txt"],
149
+ usernames: ["top-usernames-shortlist.txt", "xato-net-10-million-usernames.txt"],
150
+ users: ["top-usernames-shortlist.txt"],
151
+ fuzz: ["fuzz-Bo0oM.txt"],
152
+ fuzzing: ["fuzz-Bo0oM.txt"],
153
+ lfi: ["LFI-Jhaddix.txt"],
77
154
  };
78
- function candidateFilenames(query) {
155
+ // Extensions that identify wordlist-ish files. Substring globs are restricted
156
+ // to these so a broad `find /` doesn't drown us in unrelated files.
157
+ const WL_EXTS = ["txt", "lst", "dic", "words", "wordlist", "list", "gz"];
158
+ const WL_FILE_RE = /\.(txt|lst|dic|words|wordlist|list|gz)$/i;
159
+ // Words that carry no signal as a filename keyword.
160
+ const STOPWORDS = new Set([
161
+ "wordlist", "wordlists", "list", "lists", "the", "a", "an", "and", "or",
162
+ "for", "of", "to", "in", "on", "find", "search", "locate", "please", "get",
163
+ "me", "with", "some", "any", "best", "top", "file", "files", "txt", "using",
164
+ "use", "used", "need", "want", "looking", "look", "good", "default", "path",
165
+ "scan", "scanning", "fuzzing",
166
+ ]);
167
+ function looksLikeFilename(s) {
168
+ return !/\s/.test(s) && /\.[a-z0-9]{1,8}(\.[a-z0-9]{1,4})?$/i.test(s);
169
+ }
170
+ function tokenize(query) {
171
+ return query
172
+ .toLowerCase()
173
+ .split(/[^a-z0-9]+/i)
174
+ .filter(Boolean);
175
+ }
176
+ function buildSearchPlan(query) {
79
177
  const lower = query.toLowerCase().trim();
80
- return NAME_ALIASES[lower] ?? [query];
178
+ const names = new Set();
179
+ const globs = new Set();
180
+ const broad = new Set();
181
+ // Exact literal query when it is already filename-shaped (e.g. "common.txt").
182
+ if (looksLikeFilename(lower))
183
+ names.add(lower);
184
+ // Whole-query alias (e.g. "raft-medium", "directory-small").
185
+ for (const a of NAME_ALIASES[lower] ?? [])
186
+ names.add(a);
187
+ // Keyword extraction with graceful fallback so we never end up with nothing.
188
+ const rawTokens = tokenize(query);
189
+ let keywords = rawTokens.filter((t) => t.length >= 3 && !STOPWORDS.has(t));
190
+ if (keywords.length === 0)
191
+ keywords = rawTokens.filter((t) => t.length >= 3);
192
+ if (keywords.length === 0)
193
+ keywords = rawTokens.slice();
194
+ keywords = [...new Set(keywords)].slice(0, 6);
195
+ for (const kw of keywords) {
196
+ for (const a of NAME_ALIASES[kw] ?? [])
197
+ names.add(a);
198
+ for (const ext of WL_EXTS)
199
+ globs.add(`*${kw}*.${ext}`);
200
+ broad.add(`*${kw}*`);
201
+ }
202
+ // Absolute last resort: search for the raw query verbatim.
203
+ if (names.size === 0 && globs.size === 0)
204
+ names.add(query);
205
+ return {
206
+ names: [...names],
207
+ globs: [...globs],
208
+ broad: [...broad],
209
+ keywords,
210
+ };
81
211
  }
82
212
  // --- Search helpers ---
83
213
  function parseLines(raw) {
84
214
  return raw.split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
85
215
  }
86
- function buildFindNameExpr(filenames) {
87
- return filenames.flatMap((f, i) => (i === 0 ? ["-name", f] : ["-o", "-name", f]));
216
+ function dedupe(items) {
217
+ return [...new Set(items.filter(Boolean))];
88
218
  }
89
- // Quiet directory search: capped depth, timeout, stderr suppressed.
90
- function searchRoot(root, filenames, maxDepth) {
91
- if (!existsSync(root))
92
- return [];
93
- try {
94
- if (IS_WIN) {
95
- const namePattern = filenames.map((f) => `'${f.replace(/'/g, "''")}'`).join(",");
96
- const script = `Get-ChildItem -Path '${root.replace(/'/g, "''")}' -Recurse -File ` +
97
- `-Depth ${maxDepth} -ErrorAction SilentlyContinue ` +
98
- `| Where-Object { @(${namePattern}) -contains $_.Name } ` +
99
- `| Select-Object -First 20 -ExpandProperty FullName`;
100
- const out = execFileSync("powershell.exe", ["-NoProfile", "-Command", script], {
101
- timeout: 8_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"],
102
- });
103
- return parseLines(out);
104
- }
105
- const nameExpr = buildFindNameExpr(filenames);
106
- const out = execFileSync("find", [root, "-maxdepth", String(maxDepth), "-type", "f", "(", ...nameExpr, ")"], { timeout: 8_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
107
- return parseLines(out);
108
- }
109
- catch {
219
+ // POSIX `find` name expression from a list of literal names / globs. Uses
220
+ // -iname throughout so matching is always case-insensitive.
221
+ function buildFindNameExpr(patterns) {
222
+ return patterns.flatMap((p, i) => (i === 0 ? ["-iname", p] : ["-o", "-iname", p]));
223
+ }
224
+ // PowerShell array literal of quoted patterns for -like matching.
225
+ function psPatternArray(patterns) {
226
+ return patterns.map((p) => `'${p.replace(/'/g, "''")}'`).join(",");
227
+ }
228
+ // Quiet directory search: capped depth, timeout, stderr never inherited.
229
+ async function searchRoot(root, patterns, maxDepth) {
230
+ if (!existsSync(root) || patterns.length === 0)
110
231
  return [];
232
+ if (IS_WIN) {
233
+ const script = `$pats=@(${psPatternArray(patterns)}); ` +
234
+ `Get-ChildItem -Path '${root.replace(/'/g, "''")}' -Recurse -File ` +
235
+ `-Depth ${maxDepth} -ErrorAction SilentlyContinue ` +
236
+ `| Where-Object { $n=$_.Name; @($pats | Where-Object { $n -like $_ }).Count -gt 0 } ` +
237
+ `| Select-Object -First ${MAX_HITS} -ExpandProperty FullName`;
238
+ return parseLines(await runCapture("powershell.exe", ["-NoProfile", "-Command", script], 8_000));
111
239
  }
240
+ const nameExpr = buildFindNameExpr(patterns);
241
+ return parseLines(await runCapture("find", [root, "-maxdepth", String(maxDepth), "-type", "f", "(", ...nameExpr, ")"], 8_000));
112
242
  }
113
- // Query the locate/mlocate DB — fast, no root needed. POSIX only.
114
- function searchLocate(filenames) {
243
+ // Query the locate/mlocate DB — fast, no root needed. POSIX only. Matches on
244
+ // keywords/names as substrings, then keeps only wordlist-ish files.
245
+ async function searchLocate(plan) {
115
246
  if (IS_WIN)
116
247
  return [];
248
+ const terms = dedupe([...plan.names, ...plan.keywords]);
117
249
  const hits = [];
118
- for (const f of filenames) {
119
- try {
120
- const out = execFileSync("locate", ["-i", "-l", "20", f], {
121
- timeout: 5_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"],
122
- });
123
- hits.push(...parseLines(out));
250
+ for (const term of terms) {
251
+ const lines = parseLines(await runCapture("locate", ["-i", "-l", String(MAX_HITS), term], 5_000));
252
+ for (const line of lines) {
253
+ if (WL_FILE_RE.test(line) || plan.names.some((n) => line.toLowerCase().endsWith(n.toLowerCase()))) {
254
+ hits.push(line);
255
+ }
124
256
  }
125
- catch {
126
- // locate not installed or DB not built — skip silently.
127
- }
128
- if (hits.length > 0)
257
+ if (hits.length >= MAX_HITS)
129
258
  break;
130
259
  }
131
260
  return hits;
132
261
  }
133
- // Full filesystem search. POSIX: find /, Windows: all drive letters.
134
- function searchFullFilesystem(filenames) {
135
- try {
136
- if (IS_WIN) {
137
- const namePattern = filenames.map((f) => `'${f.replace(/'/g, "''")}'`).join(",");
138
- // Discover available drive letters
139
- const drivesRaw = execFileSync("powershell.exe", ["-NoProfile", "-Command", "(Get-PSDrive -PSProvider FileSystem).Root -join ','"], { timeout: 3_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
140
- const drives = parseLines(drivesRaw.replace(/,/g, "\n"));
141
- if (drives.length === 0)
142
- return [];
143
- const paths = drives.map((d) => `'${d.replace(/'/g, "''")}'`).join(",");
144
- const script = `Get-ChildItem -Path ${paths} -Recurse -File ` +
145
- `-Depth 6 -ErrorAction SilentlyContinue ` +
146
- `| Where-Object { @(${namePattern}) -contains $_.Name } ` +
147
- `| Select-Object -First 20 -ExpandProperty FullName`;
148
- const out = execFileSync("powershell.exe", ["-NoProfile", "-Command", script], {
149
- timeout: 15_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"],
150
- });
151
- return parseLines(out);
152
- }
153
- const nameExpr = buildFindNameExpr(filenames);
154
- const out = execFileSync("find", ["/", "-maxdepth", "8", "-type", "f", "(", ...nameExpr, ")"], { timeout: 15_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
155
- return parseLines(out);
156
- }
157
- catch {
262
+ // Full filesystem search. POSIX: find /, Windows: all drive letters. Uses only
263
+ // precise names + extension-restricted globs to keep the result set relevant.
264
+ async function searchFullFilesystem(patterns) {
265
+ if (patterns.length === 0)
158
266
  return [];
267
+ if (IS_WIN) {
268
+ const drives = parseLines((await runCapture("powershell.exe", ["-NoProfile", "-Command", "(Get-PSDrive -PSProvider FileSystem).Root -join ','"], 3_000)).replace(/,/g, "\n"));
269
+ if (drives.length === 0)
270
+ return [];
271
+ const paths = drives.map((d) => `'${d.replace(/'/g, "''")}'`).join(",");
272
+ const script = `$pats=@(${psPatternArray(patterns)}); ` +
273
+ `Get-ChildItem -Path ${paths} -Recurse -File ` +
274
+ `-Depth 6 -ErrorAction SilentlyContinue ` +
275
+ `| Where-Object { $n=$_.Name; @($pats | Where-Object { $n -like $_ }).Count -gt 0 } ` +
276
+ `| Select-Object -First ${MAX_HITS} -ExpandProperty FullName`;
277
+ return parseLines(await runCapture("powershell.exe", ["-NoProfile", "-Command", script], 15_000));
159
278
  }
279
+ const nameExpr = buildFindNameExpr(patterns);
280
+ return parseLines(await runCapture("find", ["/", "-maxdepth", "8", "-type", "f", "(", ...nameExpr, ")"], 15_000));
160
281
  }
161
- // Sudo-elevated find /. Tries non-interactive first (cached creds), then
162
- // interactive (prompts for password via terminal). POSIX only.
163
- function searchSudo(filenames) {
164
- if (IS_WIN)
282
+ /**
283
+ * Cached-credential sudo search only. We try `sudo -n find /` which succeeds
284
+ * silently when a sudo timestamp is already valid and fails instantly (no
285
+ * prompt) otherwise. We deliberately do NOT fall back to an interactive
286
+ * `sudo find`: inheriting the TTY makes sudo print "Password:" straight to the
287
+ * terminal, corrupting the TUI, freezing the keyboard, and never routing
288
+ * through clai's secure modal. POSIX only.
289
+ */
290
+ async function searchSudo(patterns) {
291
+ if (IS_WIN || patterns.length === 0)
165
292
  return [];
166
- const nameExpr = buildFindNameExpr(filenames);
293
+ const nameExpr = buildFindNameExpr(patterns);
167
294
  const findArgs = ["/", "-maxdepth", "8", "-type", "f", "(", ...nameExpr, ")"];
168
- // Try non-interactive sudo first (succeeds if creds are cached).
169
- try {
170
- const out = execFileSync("sudo", ["-n", "find", ...findArgs], {
171
- timeout: 15_000, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"],
172
- });
173
- const hits = parseLines(out);
174
- if (hits.length > 0)
175
- return hits;
176
- }
177
- catch { /* creds not cached — fall through to interactive */ }
178
- // Interactive sudo: inherit stdin so the terminal can prompt for password.
179
- try {
180
- const out = execFileSync("sudo", ["find", ...findArgs], {
181
- timeout: 30_000, encoding: "utf8", stdio: ["inherit", "pipe", "ignore"],
182
- });
183
- return parseLines(out);
184
- }
185
- catch {
186
- return [];
187
- }
295
+ return parseLines(await runCapture("sudo", ["-n", "find", ...findArgs], 15_000));
188
296
  }
189
297
  // --- Result builder ---
190
298
  function found(hits, source) {
191
- return { ok: true, output: `${source}:\n${hits.join("\n")}`, exitCode: 0 };
299
+ const uniq = dedupe(hits).slice(0, MAX_HITS);
300
+ const label = `${source} (${uniq.length} match${uniq.length === 1 ? "" : "es"})`;
301
+ return { ok: true, output: `${label}:\n${uniq.join("\n")}`, exitCode: 0 };
192
302
  }
193
303
  export async function wordlistFind(args) {
194
304
  const query = args.query?.trim();
195
305
  if (!query) {
196
- return { ok: false, output: "wordlist.find requires a query, e.g. \"common.txt\" or \"rockyou\".", exitCode: 1 };
306
+ return {
307
+ ok: false,
308
+ output: 'wordlist.find requires a query, e.g. "common.txt", "rockyou", or "medium directory list".',
309
+ exitCode: 1,
310
+ };
197
311
  }
198
- const filenames = candidateFilenames(query);
312
+ const plan = buildSearchPlan(query);
313
+ const precisePatterns = dedupe([...plan.names, ...plan.globs]);
314
+ // Inside wordlist-dedicated roots we can afford broad substring globs too.
315
+ const rootPatterns = dedupe([...plan.names, ...plan.globs, ...plan.broad]);
199
316
  const roots = knownRoots();
200
- // Pass 1: well-known install locations (shallow, fast).
317
+ // Pass 1: well-known install locations (shallow, fast, broad matching ok).
201
318
  for (const root of roots) {
202
- const hits = searchRoot(root, filenames, 6);
319
+ const hits = await searchRoot(root, rootPatterns, 6);
203
320
  if (hits.length > 0)
204
321
  return found(hits, "Found in a known wordlist location");
205
322
  }
@@ -207,12 +324,13 @@ export async function wordlistFind(args) {
207
324
  return {
208
325
  ok: false,
209
326
  output: `No match for "${query}" in known wordlist locations for ${platform()}.\n` +
327
+ `Tried keywords: ${plan.keywords.join(", ") || query}.\n` +
210
328
  `Checked: ${roots.join(", ")}\n` +
211
329
  `Retry with expand=true to broaden the search, or pkg.install seclists.`,
212
330
  exitCode: 1,
213
331
  };
214
332
  }
215
- // Pass 2: broader user directories.
333
+ // Pass 2: broader user directories (precise + extension globs only).
216
334
  const home = getHome();
217
335
  const broaderRoots = [
218
336
  join(home, "Downloads"), join(home, "Desktop"),
@@ -220,30 +338,32 @@ export async function wordlistFind(args) {
220
338
  join(home, "tools"), join(home, "Tools"),
221
339
  join(home, "github"), join(home, "repos"),
222
340
  join(home, "pentesting"), join(home, "pentest"),
341
+ join(home, "src"), join(home, "code"),
223
342
  "/opt",
224
343
  ].filter((r) => !roots.includes(r));
225
344
  for (const root of broaderRoots) {
226
- const hits = searchRoot(root, filenames, 4);
345
+ const hits = await searchRoot(root, precisePatterns, 5);
227
346
  if (hits.length > 0)
228
347
  return found(hits, "Found in user directory");
229
348
  }
230
349
  // Pass 3: locate database (fast indexed search, POSIX only).
231
- const locateHits = searchLocate(filenames);
350
+ const locateHits = await searchLocate(plan);
232
351
  if (locateHits.length > 0)
233
352
  return found(locateHits, "Found via locate database");
234
353
  // Pass 4: full filesystem search (find / or all Windows drives).
235
- const fsHits = searchFullFilesystem(filenames);
354
+ const fsHits = await searchFullFilesystem(precisePatterns);
236
355
  if (fsHits.length > 0)
237
356
  return found(fsHits, "Found via full filesystem search");
238
- // Pass 5: sudo-elevated search (POSIX only, non-interactive).
239
- const sudoHits = searchSudo(filenames);
357
+ // Pass 5: cached-credential sudo search (POSIX only, never prompts).
358
+ const sudoHits = await searchSudo(precisePatterns);
240
359
  if (sudoHits.length > 0)
241
360
  return found(sudoHits, "Found via elevated filesystem search");
242
361
  return {
243
362
  ok: false,
244
- output: `No wordlist matching "${query}" found after searching the entire filesystem.\n` +
363
+ output: `No wordlist matching "${query}" found after searching known locations, ` +
364
+ `the locate database, and the filesystem (keywords: ${plan.keywords.join(", ") || query}).\n` +
245
365
  `Install one: pkg.install seclists (Linux/macOS) or clone https://github.com/danielmiessler/SecLists.\n` +
246
- `If running without root, try: sudo clai`,
366
+ `If credentials are not cached, an elevated search was skipped (clai never opens a raw sudo prompt).`,
247
367
  exitCode: 1,
248
368
  };
249
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wordlists.js","sourceRoot":"","sources":["../../src/tools/wordlists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wordlists.js","sourceRoot":"","sources":["../../src/tools/wordlists.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const ACTION_CONTEXTS = [
21
21
  export const ACTION_IDS = [
22
22
  // global
23
23
  "app.quit",
24
- /** Esc: abort a running turn / dismiss never exits the process. */
24
+ /** Esc arms/dismisses; a second press cancels turn, queue, and session jobs. */
25
25
  "app.cancel",
26
26
  /**
27
27
  * Ctrl+C: first press aborts a running turn (or arms quit); second press
@@ -1 +1 @@
1
- {"version":3,"file":"action-id.js","sourceRoot":"","sources":["../../../src/tui-v2/actions/action-id.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,mBAAmB;IACnB,OAAO;IACP,MAAM;CACE,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,UAAU;IACV,qEAAqE;IACrE,YAAY;IACZ;;;OAGG;IACH,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,yBAAyB;IACzB,sBAAsB;IACtB,wBAAwB;IACxB,oBAAoB;IACpB,sBAAsB;IACtB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,0BAA0B;IAC1B,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,6BAA6B;IAC7B,6BAA6B;IAC7B,2BAA2B;IAC3B,SAAS;IACT,WAAW;IACX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,eAAe;IACf,OAAO;IACP,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,QAAQ;IACR,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,WAAW;IACX,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,YAAY;IACZ,2CAA2C;IAC3C,cAAc;IACd,mCAAmC;IACnC,WAAW;IACX,aAAa;IACb,OAAO;IACP,SAAS;IACT,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;CACJ,CAAC;AAIX,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"action-id.js","sourceRoot":"","sources":["../../../src/tui-v2/actions/action-id.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,mBAAmB;IACnB,OAAO;IACP,MAAM;CACE,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,UAAU;IACV,gFAAgF;IAChF,YAAY;IACZ;;;OAGG;IACH,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,yBAAyB;IACzB,sBAAsB;IACtB,wBAAwB;IACxB,oBAAoB;IACpB,sBAAsB;IACtB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,0BAA0B;IAC1B,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,6BAA6B;IAC7B,6BAA6B;IAC7B,2BAA2B;IAC3B,SAAS;IACT,WAAW;IACX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,eAAe;IACf,OAAO;IACP,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,QAAQ;IACR,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,WAAW;IACX,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,YAAY;IACZ,2CAA2C;IAC3C,cAAc;IACd,mCAAmC;IACnC,WAAW;IACX,aAAa;IACb,OAAO;IACP,SAAS;IACT,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;CACJ,CAAC;AAIX,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
@@ -25,7 +25,7 @@ function binding(chord, action, context) {
25
25
  }
26
26
  export const defaultKeymap = [
27
27
  // global
28
- // Ctrl+C: abort-then-quit (double press). Esc: abort/dismiss only never quit.
28
+ // Ctrl+C: abort-then-quit (double press). Esc: dismiss/arm, then cancel all.
29
29
  // Exit: double Ctrl+C or /exit. (Ctrl+D is chat jump-to-bottom, not quit.)
30
30
  binding("ctrl+c", "app.interrupt", "global"),
31
31
  binding("escape", "app.cancel", "global"),
@@ -1 +1 @@
1
- {"version":3,"file":"keymap.js","sourceRoot":"","sources":["../../../src/tui-v2/actions/keymap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keymap.js","sourceRoot":"","sources":["../../../src/tui-v2/actions/keymap.ts"],"names":[],"mappings":"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"}