@pentoshi/clai 3.8.39 → 3.8.40

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.
@@ -19,7 +19,6 @@
19
19
  */
20
20
  import { auditLog } from "../../store/logs.js";
21
21
  import { getActiveSearchProvider } from "../../store/config.js";
22
- import { getSearchProviderKey } from "../../store/keys.js";
23
22
  import { buildSearchAuditPayload } from "./audit.js";
24
23
  import { searchProviders, } from "./providers/provider.js";
25
24
  // Importing the provider modules below ensures their side-effect
@@ -77,55 +76,43 @@ export async function webSearch(args, options = {}) {
77
76
  void emitAudit(outcome, trimmedQuery.length);
78
77
  return errorResult(outcome);
79
78
  }
80
- // Resolve API key (env > keychain > fallback file).
81
- let apiKey;
82
- if (provider.needsApiKey) {
83
- apiKey = await (options.resolveKey
84
- ? options.resolveKey(providerId)
85
- : (await getSearchProviderKey(providerId)).value);
86
- if (!apiKey || apiKey.length === 0) {
87
- const outcome = {
88
- ok: false,
79
+ const primaryKeys = await resolveSearchKeySet(providerId, options.resolveKey);
80
+ if (provider.needsApiKey && primaryKeys.keys.length === 0) {
81
+ const outcome = {
82
+ ok: false,
83
+ provider: providerId,
84
+ results: [],
85
+ error: {
86
+ kind: "missing-key",
89
87
  provider: providerId,
90
- results: [],
91
- error: {
92
- kind: "missing-key",
93
- provider: providerId,
94
- message: `${provider.displayName} requires an API key. Run \`clai set ${providerId} <KEY>\`.`,
95
- },
96
- };
97
- void emitAudit(outcome, trimmedQuery.length);
98
- return errorResult(outcome);
99
- }
100
- }
101
- // Primary attempt against the active provider. Per Requirement 6.7
102
- // this is exactly one outbound request with no retry of the *same*
103
- // provider.
104
- const primaryBudgetMs = remainingMs();
105
- if (primaryBudgetMs <= 0) {
106
- const outcome = buildTimeoutOutcome(provider.id, timeoutMs);
88
+ message: `${provider.displayName} requires an API key. Run \`clai set ${providerId} <KEY>\`.`,
89
+ },
90
+ };
107
91
  void emitAudit(outcome, trimmedQuery.length);
108
92
  return errorResult(outcome);
109
93
  }
110
- const primaryOutcome = await attemptProvider(provider, apiKey, trimmedQuery, maxResults, primaryBudgetMs, options.signal);
111
- void emitAudit(primaryOutcome, trimmedQuery.length);
94
+ const auditAttempt = (outcome) => {
95
+ void emitAudit(outcome, trimmedQuery.length);
96
+ };
97
+ const primaryOutcome = await attemptProviderWithKeyRotation({
98
+ provider,
99
+ keys: primaryKeys,
100
+ query: trimmedQuery,
101
+ maxResults,
102
+ timeoutMs,
103
+ remainingMs,
104
+ signal: options.signal,
105
+ retrySameKey: options.providerOverride === undefined && options.resolveKey === undefined,
106
+ onOutcome: auditAttempt,
107
+ });
112
108
  if (primaryOutcome.ok)
113
109
  return successResult(primaryOutcome);
114
- // A timeout consumed the shared deadline; never retry another provider.
115
110
  if (primaryOutcome.error?.kind === "timeout" || remainingMs() <= 0) {
116
111
  return errorResult(primaryOutcome);
117
112
  }
118
- // DuckDuckGo is the keyless default and is prone to anti-bot
119
- // challenges (HTTP 202) and upstream 502/5xx responses on shared or
120
- // rate-limited networks. When DDG fails and a keyed provider is
121
- // configured, transparently fall back to it — Tavily first, then
122
- // Brave — so the agent still receives results instead of a hard
123
- // failure. Each fallback is a single attempt against a *different*
124
- // provider, so the per-provider single-attempt invariant is kept.
125
- //
126
- // Fallback is skipped when the caller injected a `providerOverride`
127
- // (unit tests and explicit single-provider dispatch), preserving the
128
- // single-attempt behavior those paths assert on.
113
+ // DuckDuckGo is keyless and remains the default. When it fails, try a
114
+ // configured keyed provider; each keyed provider applies the same circular
115
+ // key rotation as a directly selected search provider.
129
116
  const fallbackAllowed = options.providerOverride === undefined;
130
117
  if (fallbackAllowed && provider.id === "duckduckgo") {
131
118
  const fallbackNotes = [];
@@ -136,35 +123,32 @@ export async function webSearch(args, options = {}) {
136
123
  const candidate = searchProviders[candidateId];
137
124
  if (!candidate)
138
125
  continue;
139
- const candidateKey = options.resolveKey
140
- ? await options.resolveKey(candidateId)
141
- : (await getSearchProviderKey(candidateId)).value;
142
- // No key configured for this candidate → skip silently and try
143
- // the next one.
144
- if (!candidateKey || candidateKey.length === 0)
126
+ const candidateKeys = await resolveSearchKeySet(candidateId, options.resolveKey);
127
+ if (candidateKeys.keys.length === 0)
145
128
  continue;
146
129
  anyKeyConfigured = true;
147
- const fallbackBudgetMs = remainingMs();
148
- if (fallbackBudgetMs <= 0 || options.signal?.aborted)
149
- break;
150
- const fbOutcome = await attemptProvider(candidate, candidateKey, trimmedQuery, maxResults, fallbackBudgetMs, options.signal);
151
- void emitAudit(fbOutcome, trimmedQuery.length);
152
- if (fbOutcome.ok)
153
- return successResult(fbOutcome);
154
- fallbackNotes.push(`${candidate.displayName}: ${fbOutcome.error?.kind ?? "failed"}`);
155
- if (fbOutcome.error?.kind === "timeout" || remainingMs() <= 0)
130
+ const fallbackOutcome = await attemptProviderWithKeyRotation({
131
+ provider: candidate,
132
+ keys: candidateKeys,
133
+ query: trimmedQuery,
134
+ maxResults,
135
+ timeoutMs,
136
+ remainingMs,
137
+ signal: options.signal,
138
+ retrySameKey: options.providerOverride === undefined && options.resolveKey === undefined,
139
+ onOutcome: auditAttempt,
140
+ });
141
+ if (fallbackOutcome.ok)
142
+ return successResult(fallbackOutcome);
143
+ fallbackNotes.push(`${candidate.displayName}: ${fallbackOutcome.error?.kind ?? "failed"}`);
144
+ if (fallbackOutcome.error?.kind === "timeout" || remainingMs() <= 0)
156
145
  break;
157
146
  }
158
147
  if (primaryOutcome.error) {
159
148
  if (fallbackNotes.length > 0) {
160
- // Every configured fallback also failed — keep DuckDuckGo's
161
- // error as the primary signal but note the fallback attempts.
162
149
  primaryOutcome.error.message += ` Fallback also failed (${fallbackNotes.join("; ")}).`;
163
150
  }
164
151
  else if (!anyKeyConfigured) {
165
- // DDG failed and no keyed provider is configured to fall back
166
- // to. Make the failure actionable (the user's network is
167
- // likely anti-bot-challenging or rate-limiting DuckDuckGo).
168
152
  primaryOutcome.error.message += ` No keyed fallback provider is configured; set one so web.search can recover automatically, e.g. \`clai search-provider tavily\` then \`clai set tavily <KEY>\` (Brave also supported).`;
169
153
  }
170
154
  }
@@ -172,24 +156,116 @@ export async function webSearch(args, options = {}) {
172
156
  return errorResult(primaryOutcome);
173
157
  }
174
158
  // ---------------------------------------------------------------------------
175
- // Per-provider attempt
159
+ // Per-provider attempt and API-key rotation
176
160
  // ---------------------------------------------------------------------------
177
- /**
178
- * Ordered list of keyed providers `web.search` falls back to when the
179
- * keyless DuckDuckGo default fails. Tavily is preferred over Brave per
180
- * the operator request; a provider is only attempted when a key is
181
- * actually configured for it.
182
- */
161
+ /** Ordered fallback after a keyless DuckDuckGo failure. */
183
162
  const DDG_FALLBACK_ORDER = ["tavily", "brave"];
163
+ const MAX_SEARCH_RETRIES = 6;
164
+ const MAX_SEARCH_RETRY_WAIT_MS = 120_000;
165
+ async function resolveSearchKeySet(id, resolveKey) {
166
+ if (resolveKey) {
167
+ const value = await resolveKey(id);
168
+ return {
169
+ keys: value ? [{ value }] : [],
170
+ activeIndex: 0,
171
+ source: "injected",
172
+ };
173
+ }
174
+ const { getSearchProviderKeys } = await import("../../store/keys.js");
175
+ return getSearchProviderKeys(id);
176
+ }
177
+ function searchKeyAttemptPlan(keyCount, activeIndex) {
178
+ if (keyCount <= 0)
179
+ return [];
180
+ const start = ((activeIndex % keyCount) + keyCount) % keyCount;
181
+ return Array.from({ length: keyCount }, (_, offset) => (start + offset) % keyCount);
182
+ }
183
+ function searchAttemptsPerKey(keyCount) {
184
+ return keyCount <= 1 ? MAX_SEARCH_RETRIES + 1 : 2;
185
+ }
186
+ function shouldStopSearchKeyCircle(outcome) {
187
+ const status = outcome.error?.status;
188
+ return status === 404 || status === 422;
189
+ }
190
+ function shouldSwitchSearchKeyImmediately(outcome) {
191
+ return outcome.error?.kind === "auth" || outcome.error?.status === 402;
192
+ }
193
+ function isRetriableSearchKeyFailure(outcome) {
194
+ return ["rate-limit", "network", "server"].includes(outcome.error?.kind ?? "");
195
+ }
196
+ function searchRetryWaitMs(outcome, attempt) {
197
+ return outcome.error?.kind === "rate-limit"
198
+ ? Math.pow(3, attempt) * 2_000
199
+ : Math.pow(2, attempt) * 1_000;
200
+ }
201
+ async function waitForSearchRetry(ms, signal) {
202
+ if (signal?.aborted)
203
+ throw signal.reason ?? new Error("Aborted");
204
+ await new Promise((resolve, reject) => {
205
+ const abort = () => {
206
+ clearTimeout(timer);
207
+ signal?.removeEventListener("abort", abort);
208
+ reject(signal?.reason ?? new Error("Aborted"));
209
+ };
210
+ const timer = setTimeout(() => {
211
+ signal?.removeEventListener("abort", abort);
212
+ resolve();
213
+ }, ms);
214
+ signal?.addEventListener("abort", abort, { once: true });
215
+ });
216
+ }
217
+ async function attemptProviderWithKeyRotation(opts) {
218
+ const { provider, keys } = opts;
219
+ const keyCount = keys.keys.length;
220
+ const plan = provider.needsApiKey
221
+ ? searchKeyAttemptPlan(keyCount, keys.activeIndex)
222
+ : [0];
223
+ let lastOutcome;
224
+ for (const keyIndex of plan) {
225
+ const apiKey = provider.needsApiKey ? keys.keys[keyIndex]?.value : undefined;
226
+ const attempts = opts.retrySameKey && provider.needsApiKey ? searchAttemptsPerKey(keyCount) : 1;
227
+ for (let attempt = 0; attempt < attempts; attempt++) {
228
+ const budgetMs = opts.remainingMs();
229
+ if (budgetMs <= 0 || opts.signal?.aborted) {
230
+ return buildTimeoutOutcome(provider.id, opts.timeoutMs);
231
+ }
232
+ const outcome = await attemptProvider(provider, apiKey, opts.query, opts.maxResults, budgetMs, opts.signal);
233
+ opts.onOutcome(outcome);
234
+ if (outcome.ok) {
235
+ if (provider.needsApiKey && keys.source !== "env" && keys.source !== "injected") {
236
+ const { markSearchProviderKeySuccess } = await import("../../store/keys.js");
237
+ void markSearchProviderKeySuccess(provider.id, keyIndex).catch(() => { });
238
+ }
239
+ return outcome;
240
+ }
241
+ lastOutcome = outcome;
242
+ if (outcome.error?.kind === "timeout" || shouldStopSearchKeyCircle(outcome)) {
243
+ return outcome;
244
+ }
245
+ if (shouldSwitchSearchKeyImmediately(outcome))
246
+ break;
247
+ if (!isRetriableSearchKeyFailure(outcome))
248
+ return outcome;
249
+ if (!opts.retrySameKey || attempt + 1 >= attempts)
250
+ break;
251
+ const wait = searchRetryWaitMs(outcome, attempt);
252
+ if (wait > MAX_SEARCH_RETRY_WAIT_MS || wait >= opts.remainingMs()) {
253
+ break;
254
+ }
255
+ try {
256
+ await waitForSearchRetry(wait, opts.signal);
257
+ }
258
+ catch {
259
+ return buildTimeoutOutcome(provider.id, opts.timeoutMs);
260
+ }
261
+ }
262
+ }
263
+ return lastOutcome ?? buildTimeoutOutcome(provider.id, opts.timeoutMs);
264
+ }
184
265
  /**
185
266
  * Dispatch a single search request against one provider, arming the
186
- * per-invocation timeout and propagating any caller-supplied
187
- * `AbortSignal`. Never throws — every failure mode is mapped to a
188
- * `WebSearchOutcome` with `ok=false` and a categorical `error.kind`.
189
- *
190
- * This is the unit of "exactly one outbound request" (Requirement 6.7);
191
- * cross-provider fallback in {@link webSearch} composes multiple
192
- * single-attempt calls against *different* providers.
267
+ * per-attempt timeout and propagating any caller-supplied `AbortSignal`.
268
+ * Never throws — every failure mode is mapped to `WebSearchOutcome`.
193
269
  */
194
270
  async function attemptProvider(provider, apiKey, query, maxResults, timeoutMs, callerSignal) {
195
271
  const controller = new AbortController();
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/web/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/web/search.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export interface SearchKeyStatus {
5
5
  configured: boolean;
6
6
  source: string;
7
7
  maskedKey?: string | undefined;
8
+ keyCount?: number | undefined;
9
+ maskedKeys?: readonly string[] | undefined;
10
+ activeMaskedKey?: string | undefined;
8
11
  }
9
12
  /** Render credential metadata without ever including an unmasked secret. */
10
13
  export declare function formatKeyStatus(llm: ProviderStatus[], search: SearchKeyStatus[]): string;
@@ -29,19 +29,32 @@ export function formatKeyStatus(llm, search) {
29
29
  });
30
30
  }
31
31
  }
32
- const searchRows = search.map((s) => {
32
+ const searchRows = [];
33
+ for (const s of search) {
33
34
  const mark = s.configured ? "✓" : "✗";
34
35
  const tag = s.active ? " ◀" : "";
35
- const key = s.maskedKey || (s.configured ? "••••••••" : "—");
36
- return ` ${mark} ${s.provider.padEnd(13)} ${(s.source === "missing" ? "no key" : s.source).padEnd(9)} ${key}${tag}`;
37
- });
36
+ const count = s.keyCount ?? (s.maskedKey ? 1 : 0);
37
+ const keySummary = count === 0 ? "" : count === 1 ? s.maskedKey || "••••••••" : `${count} keys`;
38
+ searchRows.push(` ${mark} ${s.provider.padEnd(13)} ${(s.source === "missing" ? "no key" : s.source).padEnd(9)} ${keySummary}${tag}`);
39
+ if (s.maskedKeys && s.maskedKeys.length > 1) {
40
+ let activeIdx = 0;
41
+ if (s.activeMaskedKey) {
42
+ const found = s.maskedKeys.indexOf(s.activeMaskedKey);
43
+ if (found >= 0)
44
+ activeIdx = found;
45
+ }
46
+ s.maskedKeys.forEach((masked, index) => {
47
+ searchRows.push(` [${index + 1}] ${masked}${index === activeIdx ? " ★ active" : ""}`);
48
+ });
49
+ }
50
+ }
38
51
  return [
39
52
  "LLM PROVIDERS",
40
53
  header,
41
54
  ...llmRows,
42
55
  "",
43
56
  "SEARCH PROVIDERS",
44
- " PROVIDER SOURCE KEY",
57
+ " PROVIDER SOURCE KEYS",
45
58
  ...searchRows,
46
59
  "",
47
60
  "◀ = active provider · ★ = sticky key used first on the next request",
@@ -1 +1 @@
1
- {"version":3,"file":"format-keys.js","sourceRoot":"","sources":["../../src/tui/format-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-keys.js","sourceRoot":"","sources":["../../src/tui/format-keys.ts"],"names":[],"mappings":"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"}