claudish 6.7.0 → 6.8.1

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/dist/index.js CHANGED
@@ -23256,16 +23256,19 @@ var init_provider_definitions = __esm(() => {
23256
23256
  name: "deepseek",
23257
23257
  displayName: "DeepSeek",
23258
23258
  transport: "openai",
23259
- baseUrl: "",
23260
- apiPath: "",
23261
- apiKeyEnvVar: "",
23262
- apiKeyDescription: "DeepSeek (auto-routed via OpenRouter)",
23263
- apiKeyUrl: "",
23259
+ tokenStrategy: "delta-aware",
23260
+ baseUrl: "https://api.deepseek.com",
23261
+ baseUrlEnvVars: ["DEEPSEEK_BASE_URL"],
23262
+ apiPath: "/v1/chat/completions",
23263
+ apiKeyEnvVar: "DEEPSEEK_API_KEY",
23264
+ apiKeyDescription: "DeepSeek API Key",
23265
+ apiKeyUrl: "https://platform.deepseek.com/api_keys",
23264
23266
  shortcuts: ["ds"],
23265
23267
  shortestPrefix: "ds",
23266
- legacyPrefixes: [],
23268
+ legacyPrefixes: [{ prefix: "ds/", stripPrefix: true }],
23267
23269
  nativeModelPatterns: [{ pattern: /^deepseek\//i }, { pattern: /^deepseek-/i }],
23268
- description: "DeepSeek (auto-routed via OpenRouter)"
23270
+ isDirectApi: true,
23271
+ description: "DeepSeek API (ds@)"
23269
23272
  },
23270
23273
  {
23271
23274
  name: "qwen",
@@ -25306,7 +25309,7 @@ function getFallbackChain(modelName, nativeProvider) {
25306
25309
  displayName: sub.displayName
25307
25310
  });
25308
25311
  }
25309
- if (nativeProvider !== "unknown" && nativeProvider !== "qwen" && nativeProvider !== "deepseek" && nativeProvider !== "native-anthropic") {
25312
+ if (nativeProvider !== "unknown" && nativeProvider !== "qwen" && nativeProvider !== "native-anthropic") {
25310
25313
  if (hasProviderCredentials(nativeProvider)) {
25311
25314
  const prefix = PROVIDER_TO_PREFIX[nativeProvider] || nativeProvider;
25312
25315
  routes.push({
@@ -25343,6 +25346,7 @@ var init_auto_route = __esm(() => {
25343
25346
  "minimax-coding": { apiKeyEnvVar: "MINIMAX_CODING_API_KEY" },
25344
25347
  glm: { apiKeyEnvVar: "ZHIPU_API_KEY" },
25345
25348
  "glm-coding": { apiKeyEnvVar: "GLM_CODING_API_KEY" },
25349
+ deepseek: { apiKeyEnvVar: "DEEPSEEK_API_KEY" },
25346
25350
  ollamacloud: { apiKeyEnvVar: "OLLAMA_API_KEY" }
25347
25351
  };
25348
25352
  PROVIDER_TO_PREFIX = (() => {
@@ -28949,6 +28953,7 @@ var init_provider_profiles = __esm(() => {
28949
28953
  "glm-coding": glmProfile,
28950
28954
  "opencode-zen": openCodeZenProfile,
28951
28955
  "opencode-zen-go": openCodeZenProfile,
28956
+ deepseek: openaiProfile,
28952
28957
  ollamacloud: ollamaCloudProfile,
28953
28958
  litellm: litellmProfile,
28954
28959
  vertex: vertexProfile
@@ -33059,6 +33064,16 @@ async function parseArgs(args) {
33059
33064
  if (["auto", "logfile", "off"].includes(mode)) {
33060
33065
  config3.diagMode = mode;
33061
33066
  }
33067
+ } else if (arg === "--team" && i + 1 < args.length) {
33068
+ const models = args[++i].split(",").map((m) => m.trim()).filter(Boolean);
33069
+ config3.team = models;
33070
+ } else if (arg === "--mode" && i + 1 < args.length) {
33071
+ const mode = args[++i].toLowerCase();
33072
+ if (["default", "interactive", "json"].includes(mode)) {
33073
+ config3.teamMode = mode;
33074
+ }
33075
+ } else if ((arg === "-f" || arg === "--file") && i + 1 < args.length) {
33076
+ config3.inputFile = args[++i];
33062
33077
  } else if (arg === "--") {
33063
33078
  config3.claudeArgs.push(...args.slice(i + 1));
33064
33079
  break;
@@ -33936,6 +33951,8 @@ claudish - Run Claude Code with any AI model (OpenRouter, Gemini, OpenAI, MiniMa
33936
33951
  USAGE:
33937
33952
  claudish # Interactive mode (default, shows model selector)
33938
33953
  claudish [OPTIONS] <claude-args...> # Single-shot mode (requires --model)
33954
+ claudish --team a,b,c "prompt" # Run models in parallel (magmux grid)
33955
+ claudish --team a,b,c -f input.md # Team mode with file input
33939
33956
 
33940
33957
  MODEL ROUTING:
33941
33958
  New syntax: provider@model[:concurrency]
@@ -34008,6 +34025,10 @@ OPTIONS:
34008
34025
  --models List ALL models (OpenRouter + OpenCode Zen + Ollama)
34009
34026
  --models <query> Fuzzy search all models by name, ID, or description
34010
34027
  --top-models List recommended/top programming models (curated)
34028
+ --team <models> Run multiple models in parallel (comma-separated)
34029
+ Example: --team minimax-m2.5,kimi-k2.5 "prompt"
34030
+ --mode <mode> Team mode: default (grid), interactive, json
34031
+ -f, --file <path> Read prompt from file (use with --team or single-shot)
34011
34032
  --probe <models...> Show fallback chain for each model (diagnostic)
34012
34033
  --json Output in JSON format (use with --models, --top-models, --probe)
34013
34034
  --force-update Force refresh model cache from OpenRouter API
@@ -34469,7 +34490,7 @@ async function fetchGLMCodingModels() {
34469
34490
  return [];
34470
34491
  }
34471
34492
  }
34472
- var __filename4, __dirname4, VERSION = "6.7.0", CACHE_MAX_AGE_DAYS2 = 2, CLAUDISH_CACHE_DIR2, BUNDLED_MODELS_PATH, CACHED_MODELS_PATH, ALL_MODELS_JSON_PATH;
34493
+ var __filename4, __dirname4, VERSION = "6.8.1", CACHE_MAX_AGE_DAYS2 = 2, CLAUDISH_CACHE_DIR2, BUNDLED_MODELS_PATH, CACHED_MODELS_PATH, ALL_MODELS_JSON_PATH;
34473
34494
  var init_cli = __esm(() => {
34474
34495
  init_config();
34475
34496
  init_model_loader();
@@ -95682,6 +95703,19 @@ function findMagmuxBinary() {
95682
95703
  const bundledMagmux = join27(pkgRoot, "native", "magmux", `magmux-${platform3}-${arch}`);
95683
95704
  if (existsSync26(bundledMagmux))
95684
95705
  return bundledMagmux;
95706
+ try {
95707
+ const pkgName = `@claudish/magmux-${platform3}-${arch}`;
95708
+ let searchDir = pkgRoot;
95709
+ for (let i = 0;i < 5; i++) {
95710
+ const candidate = join27(searchDir, "node_modules", pkgName, "bin", "magmux");
95711
+ if (existsSync26(candidate))
95712
+ return candidate;
95713
+ const parent = dirname6(searchDir);
95714
+ if (parent === searchDir)
95715
+ break;
95716
+ searchDir = parent;
95717
+ }
95718
+ } catch {}
95685
95719
  try {
95686
95720
  const result = execSync3("which magmux", { encoding: "utf-8" }).trim();
95687
95721
  if (result)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudish",
3
- "version": "6.7.0",
3
+ "version": "6.8.1",
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",
@@ -39,7 +39,6 @@
39
39
  },
40
40
  "files": [
41
41
  "dist/",
42
- "native/magmux/magmux-*",
43
42
  "AI_AGENT_GUIDE.md",
44
43
  "recommended-models.json",
45
44
  "skills/"
@@ -59,6 +58,12 @@
59
58
  "model-context-protocol",
60
59
  "ai"
61
60
  ],
61
+ "optionalDependencies": {
62
+ "@claudish/magmux-darwin-arm64": "6.8.1",
63
+ "@claudish/magmux-darwin-x64": "6.8.1",
64
+ "@claudish/magmux-linux-arm64": "6.8.1",
65
+ "@claudish/magmux-linux-x64": "6.8.1"
66
+ },
62
67
  "author": "Jack Rudenko <i@madappgang.com>",
63
68
  "license": "MIT",
64
69
  "repository": {
Binary file
Binary file
Binary file
Binary file