claudish 9.0.6 → 9.0.7

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 (2) hide show
  1. package/dist/index.js +22 -2
  2. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -715,7 +715,7 @@ var init_onepassword_config = __esm(() => {
715
715
  });
716
716
 
717
717
  // src/version.ts
718
- var VERSION = "9.0.6";
718
+ var VERSION = "9.0.7";
719
719
 
720
720
  // src/logger.ts
721
721
  import { appendFile, existsSync as existsSync2, mkdirSync, readdirSync, unlinkSync, writeFileSync as writeFileSync2 } from "fs";
@@ -18330,6 +18330,9 @@ function lookupModelCapabilities(modelId, cachePath) {
18330
18330
  return;
18331
18331
  return { supportsTools: entry.supportsTools, supportsThinking: entry.supportsThinking };
18332
18332
  }
18333
+ function lookupModelEndpoint(modelId, transport, cachePath) {
18334
+ return findCacheEntry(modelId, cachePath)?.endpoints?.[transport];
18335
+ }
18333
18336
  function lookupModelForProvider(modelId, provider, cachePath) {
18334
18337
  const entry = findCacheEntry(modelId, cachePath);
18335
18338
  if (!entry)
@@ -32089,6 +32092,14 @@ var init_model_unsupported = __esm(() => {
32089
32092
  ];
32090
32093
  });
32091
32094
 
32095
+ // src/handlers/shared/request-shape.ts
32096
+ function isRequestShapeError(errorBody) {
32097
+ if (!errorBody)
32098
+ return false;
32099
+ const lower = errorBody.toLowerCase();
32100
+ return lower.includes("unknown_parameter") || lower.includes("unsupported_parameter") || lower.includes("invalid_parameter") || lower.includes("unknown parameter:") || lower.includes("unsupported parameter:") || lower.includes("invalid parameter:");
32101
+ }
32102
+
32092
32103
  // src/handlers/shared/stream-head-sniffer.ts
32093
32104
  function isRetryableStreamError(code, type, message) {
32094
32105
  if (RETRYABLE_ERROR_CODES.has(code))
@@ -35011,6 +35022,9 @@ function getRecoveryHint(status, errorText, providerName, transportTerminal429)
35011
35022
  if (lower.includes("unsupported content type") || lower.includes("unsupported_content_type")) {
35012
35023
  return "Model doesn't support this content format. Try a different model.";
35013
35024
  }
35025
+ if (isRequestShapeError(errorText)) {
35026
+ return "Wrong request shape for this endpoint \u2014 the provider named the parameter it rejected (see the message below). Nothing was too large; a shorter prompt will not help.";
35027
+ }
35014
35028
  if (lower.includes("context") || lower.includes("too long") || lower.includes("token")) {
35015
35029
  return "Input too large. Reduce message history or use a larger-context model.";
35016
35030
  }
@@ -35749,9 +35763,14 @@ __export(exports_provider_profiles, {
35749
35763
  openCodeZenProfile: () => openCodeZenProfile,
35750
35764
  openaiCodexProfile: () => openaiCodexProfile,
35751
35765
  openaiProfile: () => openaiProfile,
35766
+ requiresResponsesApi: () => requiresResponsesApi,
35752
35767
  vertexProfile: () => vertexProfile
35753
35768
  });
35754
- function requiresResponsesApi(modelName) {
35769
+ function requiresResponsesApi(modelName, cachePath) {
35770
+ const endpoint = lookupModelEndpoint(modelName, "openai", cachePath);
35771
+ if (endpoint?.api === "responses" || endpoint?.toolsWithReasoning === "requires-responses") {
35772
+ return true;
35773
+ }
35755
35774
  const name = modelName.toLowerCase();
35756
35775
  return /^gpt-5\.6/.test(name) || name.includes("codex");
35757
35776
  }
@@ -35780,6 +35799,7 @@ var init_provider_profiles = __esm(() => {
35780
35799
  init_devin_api_format();
35781
35800
  init_gemini_api_format();
35782
35801
  init_litellm_api_format();
35802
+ init_model_catalog();
35783
35803
  init_ollama_api_format();
35784
35804
  init_openai_api_format();
35785
35805
  init_vertex_auth();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudish",
3
- "version": "9.0.6",
3
+ "version": "9.0.7",
4
4
  "description": "Run Claude Code with any model - OpenRouter, Ollama, LM Studio & local models",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -60,10 +60,10 @@
60
60
  "ai"
61
61
  ],
62
62
  "optionalDependencies": {
63
- "@claudish/magmux-darwin-arm64": "9.0.6",
64
- "@claudish/magmux-darwin-x64": "9.0.6",
65
- "@claudish/magmux-linux-arm64": "9.0.6",
66
- "@claudish/magmux-linux-x64": "9.0.6"
63
+ "@claudish/magmux-darwin-arm64": "9.0.7",
64
+ "@claudish/magmux-darwin-x64": "9.0.7",
65
+ "@claudish/magmux-linux-arm64": "9.0.7",
66
+ "@claudish/magmux-linux-x64": "9.0.7"
67
67
  },
68
68
  "author": "Jack Rudenko <i@madappgang.com>",
69
69
  "license": "MIT",