clauderipple 0.8.5 → 0.8.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.6 — 2026-10-07
4
+
5
+ ### Fixed
6
+
7
+ - **Web search works with a ChatGPT model on the small/fast slot.** With that slot on a ChatGPT
8
+ model (Luna, say) and no web-search provider set, every `WebSearch` failed as "unavailable",
9
+ while the Clients screen called ChatGPT searchable. A search sent to a ChatGPT model is now
10
+ answered by your ChatGPT subscription's own search.
11
+
3
12
  ## 0.8.5 — 2026-10-07
4
13
 
5
14
  ### Fixed
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "private": true,
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "type": "commonjs"
5
5
  }
@@ -717,6 +717,14 @@ export class Proxy {
717
717
  // Say so in the shape the CLI prints. A search that fails visibly can be retried by a human;
718
718
  // one that returns prose shaped like an answer cannot.
719
719
  if (search && route && json && !this.canRunServerTools(route.provider, cfg)) {
720
+ // A ChatGPT provider has a search of its own — the backend `webSearch` names — so a search
721
+ // routed there is served by it, not refused. Requiring `webSearch` as well refused every
722
+ // search of a `smallFast` slot pointed at Luna while the Clients screen called that provider
723
+ // searchable (2026-10-07: 41 searches failed with nothing on screen to say why). A configured
724
+ // backend on this same provider has already had its try above.
725
+ const own = cfg.providers[route.provider]?.type === "chatgpt" && cfg.webSearch?.provider !== route.provider;
726
+ if (own && (await this.serveWebSearch(res, json, search, { provider: route.provider, model: route.model }, record, finish)))
727
+ return;
720
728
  const blocks = webSearchErrorBlocks(search, "unavailable");
721
729
  const model = typeof json.model === "string" ? json.model : "unknown";
722
730
  const wantStream = json.stream === true;
@@ -5,4 +5,4 @@
5
5
  // from the manifests. Until 0.1.1 the router and the CLI each carried their own literal, and both
6
6
  // still said "0.1.0" in the 0.1.1 release: after an update nobody could tell which router was
7
7
  // running, and the tray app had nothing to compare (2026-09-15, reported from a Windows install).
8
- export const VERSION = "0.8.5";
8
+ export const VERSION = "0.8.6";
@@ -541,9 +541,12 @@ request went, and a `Pane` holds the request log.
541
541
  `response.completed.response.tool_usage.web_search.num_requests`. The adapter requires both
542
542
  a real search count and at least one citation; it never turns uncited prose into a successful
543
543
  result. `allowed_domains` becomes `filters.allowed_domains`. Codex exposes no corresponding
544
- exclusion filter, so `blocked_domains` is refused rather than ignored. This path is opt-in
545
- through `webSearch: {provider, model}`; with no setting, Claude Code's existing Haiku search
546
- path is unchanged.
544
+ exclusion filter, so `blocked_domains` is refused rather than ignored. `webSearch:
545
+ {provider, model}` sends every search here. With no setting, a search Claude Code sends to a
546
+ model the router places on a `chatgpt` provider (a `smallFast` slot on Luna) is served the
547
+ same way, by that model; one left on Haiku is unchanged. Before 2026-10-07 the routed case
548
+ fell to the guard below and was refused, while the Clients screen called ChatGPT searchable:
549
+ 41 searches of a Luna `smallFast` slot failed in a day with no warning anywhere.
547
550
  - The reply is assembled as `server_tool_use` + `web_search_tool_result` + `text`, with
548
551
  `usage.server_tool_use.web_search_requests` — the field the CLI turns into "Did N searches".
549
552
  - A provider that runs the tool itself is asked in Anthropic's own shape instead
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clauderipple",
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "description": "Use GPT (any ChatGPT plan with Codex), DeepSeek and 400+ other models in the Claude Desktop Code tab and Claude Code while staying signed in to your Claude subscription — no third-party gateway mode. Several ChatGPT accounts that take over when one runs out, in Codex too.",
5
5
  "license": "GPL-3.0-only",
6
6
  "workspaces": [