@pentoshi/clai 3.8.47 → 3.8.49

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.
@@ -1,2 +1,13 @@
1
1
  import { type LlmProvider } from "./provider.js";
2
+ export declare const AUTHORIZED_USER_AGENTS: readonly string[];
3
+ /**
4
+ * Claude extended thinking on AgentRouter (Bedrock/Anthropic) is rejected when
5
+ * `max_tokens` is not greater than the effort's `thinking.budget_tokens`.
6
+ * `buildChatBody` already floors max_tokens for Claude reasoning, but enforcement
7
+ * is load-balanced and inconsistent, so this is a belt-and-suspenders net: given
8
+ * such an error, it returns a max_tokens large enough to clear the reported
9
+ * budget so the caller can retry. Returns undefined for every other error, so
10
+ * unrelated failures propagate untouched.
11
+ */
12
+ export declare function bumpMaxTokensForThinkingBudget(error: unknown, currentMaxTokens: number | undefined): number | undefined;
2
13
  export declare const agentrouterProvider: LlmProvider;
@@ -1,17 +1,114 @@
1
1
  import { defaultModels, } from "./provider.js";
2
- import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, } from "./http.js";
3
- // AgentRouter is an OpenAI-compatible Chat Completions gateway that
4
- // proxies multiple frontier models (gpt-5, claude, glm, deepseek, etc.).
5
- // API surface lives at https://agentrouter.org/v1 and accepts standard
6
- // `Authorization: Bearer <key>` plus the OpenAI request body.
7
- // Reference: https://agentrouter.org/console/token
2
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ProviderError, } from "./http.js";
3
+ // AgentRouter is an OpenAI-compatible Chat Completions gateway that proxies
4
+ // multiple frontier models (gpt-5.5, glm-5.2, claude-opus-4-*, deepseek, etc.)
5
+ // under https://agentrouter.org/v1. It accepts a standard
6
+ // `Authorization: Bearer <key>` header plus the OpenAI request body.
7
+ //
8
+ // IMPORTANT — client-identity gating:
9
+ // AgentRouter authorizes each request by *client identity*, not just the API
10
+ // key. An unknown client is rejected with HTTP 401 `unauthorized_client_error`
11
+ // ("unauthorized client detected") even when the key is perfectly valid. The
12
+ // gateway keys this off the exact `User-Agent` string, so we MUST present one
13
+ // that is on their allowlist (the older `@openai/codex` UA is NOT — it caused
14
+ // a hard 401 on every request). The identities below were verified live
15
+ // against agentrouter.org/v1 (2026-07) and correspond to the officially
16
+ // supported harnesses documented at https://agentrouter.org/docs. We keep
17
+ // several so that if the allowlist shifts and our primary identity stops
18
+ // working, we transparently rotate to the next known-good one instead of
19
+ // failing the user's turn.
20
+ // Reference: https://agentrouter.org/console/token · https://agentrouter.org/docs
8
21
  const baseUrl = "https://agentrouter.org/v1";
9
- const agentRouterHeaders = {
10
- "User-Agent": "@openai/codex",
11
- };
22
+ // Ordered by preference; every entry is a client identity AgentRouter accepts.
23
+ export const AUTHORIZED_USER_AGENTS = [
24
+ "claude-cli/1.0.119 (external, cli)", // Claude Code
25
+ "Kilo-Code/4.50.0", // Kilo Code (VS Code)
26
+ "Cline/3.0.0", // Cline (VS Code)
27
+ "QwenCode/0.0.11", // Qwen Code (CLI)
28
+ "openclaw/2026.2.3", // OpenClaw (CLI)
29
+ "hermes-agent/1.0.0", // Hermes Agent (CLI)
30
+ ];
31
+ // Sticky pointer to the identity that last worked, so a healthy session issues
32
+ // exactly one request per turn (mirrors clai's sticky multi-key rotation).
33
+ let activeUaIndex = 0;
34
+ function headersForIndex(index) {
35
+ return { "User-Agent": AUTHORIZED_USER_AGENTS[index] };
36
+ }
12
37
  let cachedModels = null;
13
38
  let lastFetchTime = 0;
14
39
  const CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour cache TTL
40
+ /**
41
+ * True when an error is AgentRouter's client-identity rejection (as opposed to
42
+ * a bad API key, quota, or rate-limit problem). Only these are worth retrying
43
+ * with a different User-Agent; anything else should surface so the normal
44
+ * key-rotation / backoff logic can handle it.
45
+ */
46
+ function isUnauthorizedClientError(error) {
47
+ const status = error instanceof ProviderError ? error.status : undefined;
48
+ const message = error instanceof Error ? error.message : String(error);
49
+ const body = error instanceof ProviderError ? (error.body ?? "") : "";
50
+ const hay = `${message}\n${body}`.toLowerCase();
51
+ // The distinctive wording of the gateway's client gate. We deliberately do
52
+ // NOT rotate on a generic 401 (that usually means an invalid key).
53
+ const looksLikeClientGate = /unauthorized[_ ]client|unauthorized_client_error|unknown client|client detected/.test(hay);
54
+ if (!looksLikeClientGate)
55
+ return false;
56
+ return status === undefined || status === 401 || status === 403;
57
+ }
58
+ /**
59
+ * Run an AgentRouter operation with the sticky client identity, transparently
60
+ * rotating through the known-good User-Agents when the gateway rejects the
61
+ * client. The identity that succeeds becomes sticky for subsequent calls.
62
+ *
63
+ * Safe for streaming: AgentRouter's client-identity rejection arrives as a
64
+ * non-OK HTTP response that is read up front (before any SSE tokens are
65
+ * emitted), so a retry never double-emits tokens.
66
+ */
67
+ async function withAuthorizedClient(op) {
68
+ const start = activeUaIndex;
69
+ let lastError;
70
+ for (let attempt = 0; attempt < AUTHORIZED_USER_AGENTS.length; attempt++) {
71
+ const index = (start + attempt) % AUTHORIZED_USER_AGENTS.length;
72
+ try {
73
+ const result = await op(headersForIndex(index));
74
+ activeUaIndex = index; // remember what worked
75
+ return result;
76
+ }
77
+ catch (error) {
78
+ lastError = error;
79
+ if (!isUnauthorizedClientError(error))
80
+ throw error;
81
+ // otherwise: rotate to the next known-good client identity and retry.
82
+ }
83
+ }
84
+ throw lastError;
85
+ }
86
+ /**
87
+ * Claude extended thinking on AgentRouter (Bedrock/Anthropic) is rejected when
88
+ * `max_tokens` is not greater than the effort's `thinking.budget_tokens`.
89
+ * `buildChatBody` already floors max_tokens for Claude reasoning, but enforcement
90
+ * is load-balanced and inconsistent, so this is a belt-and-suspenders net: given
91
+ * such an error, it returns a max_tokens large enough to clear the reported
92
+ * budget so the caller can retry. Returns undefined for every other error, so
93
+ * unrelated failures propagate untouched.
94
+ */
95
+ export function bumpMaxTokensForThinkingBudget(error, currentMaxTokens) {
96
+ if (!(error instanceof ProviderError))
97
+ return undefined;
98
+ const hay = `${error.message}\n${error.body ?? ""}`;
99
+ if (!/budget_tokens/i.test(hay) || !/max_tokens/i.test(hay))
100
+ return undefined;
101
+ const match = hay.match(/budget_tokens\D*(\d+)/i);
102
+ const budget = match ? Number(match[1]) : Number.NaN;
103
+ const target = Number.isFinite(budget)
104
+ ? Math.max(budget + 8_192, 32_000)
105
+ : 40_000;
106
+ // Only retry if we'd actually raise the ceiling beyond what we already sent.
107
+ if (currentMaxTokens !== undefined && currentMaxTokens >= target) {
108
+ return undefined;
109
+ }
110
+ return target;
111
+ }
15
112
  export const agentrouterProvider = {
16
113
  id: "agentrouter",
17
114
  displayName: "AgentRouter",
@@ -24,18 +121,21 @@ export const agentrouterProvider = {
24
121
  async listModels(auth) {
25
122
  if (!auth.apiKey)
26
123
  throw new Error("AgentRouter API key is required");
124
+ const apiKey = auth.apiKey;
27
125
  const now = Date.now();
28
126
  if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
29
127
  return cachedModels;
30
128
  }
31
- const response = await fetch(`${baseUrl}/models`, {
32
- headers: {
33
- authorization: `Bearer ${auth.apiKey}`,
34
- ...agentRouterHeaders,
35
- },
129
+ const models = await withAuthorizedClient(async (headers) => {
130
+ const response = await fetch(`${baseUrl}/models`, {
131
+ headers: {
132
+ authorization: `Bearer ${apiKey}`,
133
+ ...headers,
134
+ },
135
+ });
136
+ const data = await readJson(response);
137
+ return data.data?.map((m) => m.id).sort() ?? [];
36
138
  });
37
- const data = await readJson(response);
38
- const models = data.data?.map((m) => m.id).sort() ?? [];
39
139
  if (models.length > 0) {
40
140
  cachedModels = models;
41
141
  lastFetchTime = now;
@@ -45,55 +145,80 @@ export const agentrouterProvider = {
45
145
  async ping(auth) {
46
146
  if (!auth.apiKey)
47
147
  throw new Error("AgentRouter API key is required");
48
- await openAiCompatiblePing(baseUrl, auth.apiKey, agentRouterHeaders);
148
+ const apiKey = auth.apiKey;
149
+ await withAuthorizedClient((headers) => openAiCompatiblePing(baseUrl, apiKey, headers));
49
150
  },
50
151
  async complete(request, auth) {
51
152
  if (!auth.apiKey)
52
153
  throw new Error("AgentRouter API key is required");
154
+ const apiKey = auth.apiKey;
53
155
  const model = request.model ?? defaultModels.agentrouter;
54
- const payload = await openAiCompatibleComplete({
156
+ const invoke = (maxTokens) => withAuthorizedClient((headers) => openAiCompatibleComplete({
55
157
  provider: "AgentRouter",
56
158
  baseUrl,
57
- apiKey: auth.apiKey,
159
+ apiKey,
58
160
  model,
59
161
  messages: request.messages,
60
- maxTokens: request.maxTokens,
162
+ maxTokens,
61
163
  temperature: request.temperature,
62
164
  signal: request.signal,
63
165
  reasoning: request.thinking,
64
- reasoningStyle: "openai",
65
- headers: agentRouterHeaders,
166
+ reasoningStyle: "agentrouter",
167
+ headers,
66
168
  tools: request.tools,
67
169
  toolChoice: request.toolChoice,
68
170
  parallelToolCalls: request.parallelToolCalls,
69
- });
171
+ }));
172
+ let payload;
173
+ try {
174
+ payload = await invoke(request.maxTokens);
175
+ }
176
+ catch (error) {
177
+ const bumped = bumpMaxTokensForThinkingBudget(error, request.maxTokens);
178
+ if (bumped === undefined)
179
+ throw error;
180
+ payload = await invoke(bumped);
181
+ }
70
182
  return toCompletionResult("agentrouter", model, payload);
71
183
  },
72
184
  async stream(request, auth, onToken) {
73
185
  if (!auth.apiKey)
74
186
  throw new Error("AgentRouter API key is required");
187
+ const apiKey = auth.apiKey;
75
188
  const model = request.model ?? defaultModels.agentrouter;
76
- const payload = await openAiCompatibleStream({
189
+ const invoke = (maxTokens) => withAuthorizedClient((headers) => openAiCompatibleStream({
77
190
  provider: "AgentRouter",
78
191
  baseUrl,
79
- apiKey: auth.apiKey,
192
+ apiKey,
80
193
  model,
81
194
  messages: request.messages,
82
- maxTokens: request.maxTokens,
195
+ maxTokens,
83
196
  temperature: request.temperature,
84
197
  signal: request.signal,
85
198
  onToken,
86
199
  onToolCallDelta: request.onToolCallDelta,
87
200
  reasoning: request.thinking,
88
- reasoningStyle: "openai",
201
+ reasoningStyle: "agentrouter",
89
202
  // Unified 60s stall budget (see DEFAULT_STREAM_IDLE_TIMEOUT_MS).
90
203
  idleTimeoutMs: 60_000,
91
204
  initialIdleTimeoutMs: 60_000,
92
- headers: agentRouterHeaders,
205
+ headers,
93
206
  tools: request.tools,
94
207
  toolChoice: request.toolChoice,
95
208
  parallelToolCalls: request.parallelToolCalls,
96
- });
209
+ }));
210
+ let payload;
211
+ try {
212
+ // A thinking-budget rejection is returned before any SSE token is
213
+ // emitted, so retrying with a larger ceiling never double-streams.
214
+ payload = await invoke(request.maxTokens);
215
+ }
216
+ catch (error) {
217
+ const bumped = bumpMaxTokensForThinkingBudget(error, request.maxTokens);
218
+ if (bumped === undefined)
219
+ throw error;
220
+ payload = await invoke(bumped);
221
+ }
97
222
  return toCompletionResult("agentrouter", model, payload);
98
223
  },
99
224
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agentrouter.js","sourceRoot":"","sources":["../../src/llm/agentrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentrouter.js","sourceRoot":"","sources":["../../src/llm/agentrouter.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export interface OpenAiCompatibleResult {
40
40
  /** Map shared OpenAI-compatible payload → CompletionResult (includes usage). */
41
41
  export declare function toCompletionResult(provider: ProviderId, model: string, payload: OpenAiCompatibleResult): import("../types.js").CompletionResult;
42
42
  export declare function toOpenAiMessages(messages: ChatMessage[], supportsVision?: boolean): Array<Record<string, unknown>>;
43
- export type ReasoningStyle = "openai" | "nvidia" | "groq" | "openrouter" | "none";
43
+ export type ReasoningStyle = "openai" | "nvidia" | "groq" | "openrouter" | "agentrouter" | "none";
44
44
  export type NvidiaReasoningKind = "kimi-thinking" | "deepseek-v4" | "thinking" | "nemotron-3" | "glm-thinking" | "enable-thinking" | "effort-only" | "none";
45
45
  export declare function classifyNvidiaModel(model: string): NvidiaReasoningKind;
46
46
  export declare function buildReasoningPayload(reasoning: ReasoningPreference | undefined, style: ReasoningStyle, model?: string): Record<string, unknown>;
package/dist/llm/http.js CHANGED
@@ -371,6 +371,48 @@ export function buildReasoningPayload(reasoning, style, model) {
371
371
  const clamped = clampEffort(effort);
372
372
  return { reasoning_effort: clamped, reasoning: { effort: clamped } };
373
373
  }
374
+ case "agentrouter": {
375
+ // AgentRouter proxies three families, each with a *different* reasoning
376
+ // contract (verified live against agentrouter.org/v1, 2026-07). We send
377
+ // only the standard top-level knob each one honours — no redundant
378
+ // `reasoning` object (none of the routed models read it).
379
+ const m = (model ?? "").toLowerCase();
380
+ const clamped = clampEffort(effort);
381
+ // OpenAI gpt-5.x / o-series: top-level `reasoning_effort`, and it uniquely
382
+ // supports "minimal". These models can't be fully disabled, so "off"
383
+ // degrades to the cheapest "minimal" rather than the medium default.
384
+ if (/(?:^|\/)gpt-5|(?:^|\/)o[134](?:\b|-)/.test(m)) {
385
+ if (!enabled)
386
+ return { reasoning_effort: "minimal" };
387
+ const gptEffort = effort === "none"
388
+ ? "minimal"
389
+ : effort === "xhigh"
390
+ ? "high"
391
+ : effort; // minimal | low | medium | high
392
+ return { reasoning_effort: gptEffort };
393
+ }
394
+ // Zhipu GLM thinks by DEFAULT; `reasoning_effort` only modulates depth and
395
+ // cannot turn it off. The one knob that actually disables it on this
396
+ // gateway is `thinking.type=disabled` — so "off" must send that.
397
+ if (/glm/.test(m)) {
398
+ if (!enabled)
399
+ return { thinking: { type: "disabled" } };
400
+ return { reasoning_effort: clamped };
401
+ }
402
+ // Anthropic Claude: `reasoning_effort` enables extended thinking (the
403
+ // gateway maps it to a thinking budget). Thinking is OFF by default, so
404
+ // "off" simply omits the knob. `buildChatBody` floors max_tokens above the
405
+ // budget so enabling it never trips the gateway's budget precondition.
406
+ if (/claude/.test(m)) {
407
+ if (!enabled)
408
+ return {};
409
+ return { reasoning_effort: clamped };
410
+ }
411
+ // Unknown model routed by AgentRouter → plain OpenAI-compatible behavior.
412
+ if (!enabled)
413
+ return {};
414
+ return { reasoning_effort: clamped };
415
+ }
374
416
  case "openrouter":
375
417
  if (!enabled)
376
418
  return {};
@@ -519,13 +561,26 @@ export function buildChatBody(options) {
519
561
  const defaultMaxTokens = isMinimaxM3 ? 8_192 : reasoningOn ? 8_192 : 4_096;
520
562
  const defaultTemperature = isMinimaxM3 ? 1.0 : 0.2;
521
563
  const reasoningModel = isOpenAiReasoningModel(options.model);
564
+ // Claude extended thinking via AgentRouter maps reasoning_effort to an
565
+ // Anthropic `thinking.budget_tokens`, and the gateway (Bedrock) rejects the
566
+ // request with HTTP 400 unless `max_tokens > budget_tokens`. Some upstream
567
+ // nodes enforce this intermittently, so whenever Claude reasoning is enabled
568
+ // we guarantee a ceiling that clears the largest effort budget (32000 was
569
+ // verified live to succeed while staying within Opus's output cap). This is a
570
+ // ceiling, not a forced length — Claude still stops at its natural stop.
571
+ const claudeThinking = reasoningOn &&
572
+ options.reasoningStyle === "agentrouter" &&
573
+ /claude/i.test(options.model);
574
+ const effectiveMaxTokens = claudeThinking
575
+ ? Math.max(options.maxTokens ?? defaultMaxTokens, 32_000)
576
+ : (options.maxTokens ?? defaultMaxTokens);
522
577
  const body = {
523
578
  model: options.model,
524
579
  messages: toOpenAiMessages(options.messages, options.supportsVision),
525
580
  stream: options.stream,
526
581
  ...(reasoningModel
527
- ? { max_completion_tokens: options.maxTokens ?? defaultMaxTokens }
528
- : { max_tokens: options.maxTokens ?? defaultMaxTokens }),
582
+ ? { max_completion_tokens: effectiveMaxTokens }
583
+ : { max_tokens: effectiveMaxTokens }),
529
584
  // gpt-5.x / o1 / o3 / o4 only accept the default temperature (1) and
530
585
  // reject any explicit value — omit the field entirely rather than send
531
586
  // our 0.2 default and get a 400.
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/llm/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/llm/http.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
1
  /**
2
- * Locate wordlist files for fuzzing tools. Searches known paths first, then
3
- * broadens to locate DB, full filesystem, and cached-credential sudo 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.
5
17
  *
6
18
  * All external searches run through async execFile (never execFileSync) so a
7
19
  * slow `find /` can never block the render loop, and sudo is only ever invoked
@@ -19,6 +31,8 @@ const IS_MAC = platform() === "darwin";
19
31
  function getHome() {
20
32
  return process.env.HOME || process.env.USERPROFILE || homedir();
21
33
  }
34
+ /** Cap on how many hits we surface — enough to choose from, not a flood. */
35
+ const MAX_HITS = 60;
22
36
  /**
23
37
  * Run a capture command without inheriting any std stream. Returns stdout on
24
38
  * success; on non-zero exit (e.g. `find` hitting permission-denied dirs) we
@@ -70,6 +84,7 @@ function knownRoots() {
70
84
  ...common,
71
85
  "/opt/homebrew/share/seclists",
72
86
  "/opt/homebrew/share/wordlists",
87
+ "/opt/homebrew/share/nmap/nselib/data",
73
88
  "/usr/local/share/seclists",
74
89
  "/usr/local/share/wordlists",
75
90
  "/opt/local/share/seclists",
@@ -92,70 +107,176 @@ function knownRoots() {
92
107
  ];
93
108
  }
94
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.
95
112
  const NAME_ALIASES = {
96
- common: ["common.txt", "common.txt.gz"],
113
+ common: ["common.txt"],
97
114
  "common.txt": ["common.txt"],
98
115
  big: ["big.txt"],
99
116
  medium: ["directory-list-2.3-medium.txt"],
117
+ "directory-medium": ["directory-list-2.3-medium.txt"],
100
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"],
101
121
  rockyou: ["rockyou.txt", "rockyou.txt.gz"],
102
- subdomains: ["subdomains-top1million-5000.txt", "subdomains-top1million-20000.txt"],
103
- "raft-small": ["raft-small-words.txt", "raft-small-directories.txt"],
104
- "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"],
105
154
  };
106
- 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) {
107
177
  const lower = query.toLowerCase().trim();
108
- 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
+ };
109
211
  }
110
212
  // --- Search helpers ---
111
213
  function parseLines(raw) {
112
214
  return raw.split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
113
215
  }
114
- function buildFindNameExpr(filenames) {
115
- return filenames.flatMap((f, i) => (i === 0 ? ["-name", f] : ["-o", "-name", f]));
216
+ function dedupe(items) {
217
+ return [...new Set(items.filter(Boolean))];
218
+ }
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(",");
116
227
  }
117
228
  // Quiet directory search: capped depth, timeout, stderr never inherited.
118
- async function searchRoot(root, filenames, maxDepth) {
119
- if (!existsSync(root))
229
+ async function searchRoot(root, patterns, maxDepth) {
230
+ if (!existsSync(root) || patterns.length === 0)
120
231
  return [];
121
232
  if (IS_WIN) {
122
- const namePattern = filenames.map((f) => `'${f.replace(/'/g, "''")}'`).join(",");
123
- const script = `Get-ChildItem -Path '${root.replace(/'/g, "''")}' -Recurse -File ` +
233
+ const script = `$pats=@(${psPatternArray(patterns)}); ` +
234
+ `Get-ChildItem -Path '${root.replace(/'/g, "''")}' -Recurse -File ` +
124
235
  `-Depth ${maxDepth} -ErrorAction SilentlyContinue ` +
125
- `| Where-Object { @(${namePattern}) -contains $_.Name } ` +
126
- `| Select-Object -First 20 -ExpandProperty FullName`;
236
+ `| Where-Object { $n=$_.Name; @($pats | Where-Object { $n -like $_ }).Count -gt 0 } ` +
237
+ `| Select-Object -First ${MAX_HITS} -ExpandProperty FullName`;
127
238
  return parseLines(await runCapture("powershell.exe", ["-NoProfile", "-Command", script], 8_000));
128
239
  }
129
- const nameExpr = buildFindNameExpr(filenames);
240
+ const nameExpr = buildFindNameExpr(patterns);
130
241
  return parseLines(await runCapture("find", [root, "-maxdepth", String(maxDepth), "-type", "f", "(", ...nameExpr, ")"], 8_000));
131
242
  }
132
- // Query the locate/mlocate DB — fast, no root needed. POSIX only.
133
- async 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) {
134
246
  if (IS_WIN)
135
247
  return [];
248
+ const terms = dedupe([...plan.names, ...plan.keywords]);
136
249
  const hits = [];
137
- for (const f of filenames) {
138
- hits.push(...parseLines(await runCapture("locate", ["-i", "-l", "20", f], 5_000)));
139
- if (hits.length > 0)
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
+ }
256
+ }
257
+ if (hits.length >= MAX_HITS)
140
258
  break;
141
259
  }
142
260
  return hits;
143
261
  }
144
- // Full filesystem search. POSIX: find /, Windows: all drive letters.
145
- async function searchFullFilesystem(filenames) {
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)
266
+ return [];
146
267
  if (IS_WIN) {
147
- const namePattern = filenames.map((f) => `'${f.replace(/'/g, "''")}'`).join(",");
148
268
  const drives = parseLines((await runCapture("powershell.exe", ["-NoProfile", "-Command", "(Get-PSDrive -PSProvider FileSystem).Root -join ','"], 3_000)).replace(/,/g, "\n"));
149
269
  if (drives.length === 0)
150
270
  return [];
151
271
  const paths = drives.map((d) => `'${d.replace(/'/g, "''")}'`).join(",");
152
- const script = `Get-ChildItem -Path ${paths} -Recurse -File ` +
272
+ const script = `$pats=@(${psPatternArray(patterns)}); ` +
273
+ `Get-ChildItem -Path ${paths} -Recurse -File ` +
153
274
  `-Depth 6 -ErrorAction SilentlyContinue ` +
154
- `| Where-Object { @(${namePattern}) -contains $_.Name } ` +
155
- `| Select-Object -First 20 -ExpandProperty FullName`;
275
+ `| Where-Object { $n=$_.Name; @($pats | Where-Object { $n -like $_ }).Count -gt 0 } ` +
276
+ `| Select-Object -First ${MAX_HITS} -ExpandProperty FullName`;
156
277
  return parseLines(await runCapture("powershell.exe", ["-NoProfile", "-Command", script], 15_000));
157
278
  }
158
- const nameExpr = buildFindNameExpr(filenames);
279
+ const nameExpr = buildFindNameExpr(patterns);
159
280
  return parseLines(await runCapture("find", ["/", "-maxdepth", "8", "-type", "f", "(", ...nameExpr, ")"], 15_000));
160
281
  }
161
282
  /**
@@ -166,27 +287,36 @@ async function searchFullFilesystem(filenames) {
166
287
  * terminal, corrupting the TUI, freezing the keyboard, and never routing
167
288
  * through clai's secure modal. POSIX only.
168
289
  */
169
- async function searchSudo(filenames) {
170
- if (IS_WIN)
290
+ async function searchSudo(patterns) {
291
+ if (IS_WIN || patterns.length === 0)
171
292
  return [];
172
- const nameExpr = buildFindNameExpr(filenames);
293
+ const nameExpr = buildFindNameExpr(patterns);
173
294
  const findArgs = ["/", "-maxdepth", "8", "-type", "f", "(", ...nameExpr, ")"];
174
295
  return parseLines(await runCapture("sudo", ["-n", "find", ...findArgs], 15_000));
175
296
  }
176
297
  // --- Result builder ---
177
298
  function found(hits, source) {
178
- 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 };
179
302
  }
180
303
  export async function wordlistFind(args) {
181
304
  const query = args.query?.trim();
182
305
  if (!query) {
183
- 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
+ };
184
311
  }
185
- 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]);
186
316
  const roots = knownRoots();
187
- // Pass 1: well-known install locations (shallow, fast).
317
+ // Pass 1: well-known install locations (shallow, fast, broad matching ok).
188
318
  for (const root of roots) {
189
- const hits = await searchRoot(root, filenames, 6);
319
+ const hits = await searchRoot(root, rootPatterns, 6);
190
320
  if (hits.length > 0)
191
321
  return found(hits, "Found in a known wordlist location");
192
322
  }
@@ -194,12 +324,13 @@ export async function wordlistFind(args) {
194
324
  return {
195
325
  ok: false,
196
326
  output: `No match for "${query}" in known wordlist locations for ${platform()}.\n` +
327
+ `Tried keywords: ${plan.keywords.join(", ") || query}.\n` +
197
328
  `Checked: ${roots.join(", ")}\n` +
198
329
  `Retry with expand=true to broaden the search, or pkg.install seclists.`,
199
330
  exitCode: 1,
200
331
  };
201
332
  }
202
- // Pass 2: broader user directories.
333
+ // Pass 2: broader user directories (precise + extension globs only).
203
334
  const home = getHome();
204
335
  const broaderRoots = [
205
336
  join(home, "Downloads"), join(home, "Desktop"),
@@ -207,28 +338,30 @@ export async function wordlistFind(args) {
207
338
  join(home, "tools"), join(home, "Tools"),
208
339
  join(home, "github"), join(home, "repos"),
209
340
  join(home, "pentesting"), join(home, "pentest"),
341
+ join(home, "src"), join(home, "code"),
210
342
  "/opt",
211
343
  ].filter((r) => !roots.includes(r));
212
344
  for (const root of broaderRoots) {
213
- const hits = await searchRoot(root, filenames, 4);
345
+ const hits = await searchRoot(root, precisePatterns, 5);
214
346
  if (hits.length > 0)
215
347
  return found(hits, "Found in user directory");
216
348
  }
217
349
  // Pass 3: locate database (fast indexed search, POSIX only).
218
- const locateHits = await searchLocate(filenames);
350
+ const locateHits = await searchLocate(plan);
219
351
  if (locateHits.length > 0)
220
352
  return found(locateHits, "Found via locate database");
221
353
  // Pass 4: full filesystem search (find / or all Windows drives).
222
- const fsHits = await searchFullFilesystem(filenames);
354
+ const fsHits = await searchFullFilesystem(precisePatterns);
223
355
  if (fsHits.length > 0)
224
356
  return found(fsHits, "Found via full filesystem search");
225
357
  // Pass 5: cached-credential sudo search (POSIX only, never prompts).
226
- const sudoHits = await searchSudo(filenames);
358
+ const sudoHits = await searchSudo(precisePatterns);
227
359
  if (sudoHits.length > 0)
228
360
  return found(sudoHits, "Found via elevated filesystem search");
229
361
  return {
230
362
  ok: false,
231
- 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` +
232
365
  `Install one: pkg.install seclists (Linux/macOS) or clone https://github.com/danielmiessler/SecLists.\n` +
233
366
  `If credentials are not cached, an elevated search was skipped (clai never opens a raw sudo prompt).`,
234
367
  exitCode: 1,
@@ -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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"}
@@ -2,5 +2,5 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export declare const VERSION: "3.8.47";
6
- export declare const VERSION_TAG: "v3.8.47";
5
+ export declare const VERSION: "3.8.49";
6
+ export declare const VERSION_TAG: "v3.8.49";
@@ -2,6 +2,6 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export const VERSION = "3.8.47";
6
- export const VERSION_TAG = "v3.8.47";
5
+ export const VERSION = "3.8.49";
6
+ export const VERSION_TAG = "v3.8.49";
7
7
  //# sourceMappingURL=version.generated.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pentoshi/clai",
3
- "version": "3.8.47",
3
+ "version": "3.8.49",
4
4
  "description": "A fast, cross-platform AI CLI assistant with ask and agent modes for shell tasks, file operations, and cybersecurity workflows.",
5
5
  "type": "module",
6
6
  "license": "MIT",