claudish 6.12.1 → 6.12.3

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
@@ -22367,7 +22367,7 @@ var init_profile_config = __esm(() => {
22367
22367
  });
22368
22368
 
22369
22369
  // src/version.ts
22370
- var VERSION = "6.12.1";
22370
+ var VERSION = "6.12.3";
22371
22371
 
22372
22372
  // src/telemetry.ts
22373
22373
  var exports_telemetry = {};
@@ -106649,10 +106649,7 @@ function findMagmuxBinary() {
106649
106649
  const pkgRoot = join30(thisDir, "..");
106650
106650
  const platform3 = process.platform;
106651
106651
  const arch = process.arch;
106652
- const builtMagmux = join30(pkgRoot, "native", "magmux", "magmux");
106653
- if (existsSync29(builtMagmux))
106654
- return builtMagmux;
106655
- const bundledMagmux = join30(pkgRoot, "native", "magmux", `magmux-${platform3}-${arch}`);
106652
+ const bundledMagmux = join30(pkgRoot, "native", `magmux-${platform3}-${arch}`);
106656
106653
  if (existsSync29(bundledMagmux))
106657
106654
  return bundledMagmux;
106658
106655
  try {
@@ -106676,7 +106673,7 @@ function findMagmuxBinary() {
106676
106673
  throw new Error(`magmux not found. Install it:
106677
106674
  brew install MadAppGang/tap/magmux`);
106678
106675
  }
106679
- function finalizeStatus(statusPath, sessionPath, anonIds) {
106676
+ function finalizeStatus(statusPath, sessionPath, anonIds, mode) {
106680
106677
  const statusCache = JSON.parse(readFileSync24(statusPath, "utf-8"));
106681
106678
  for (const anonId of anonIds) {
106682
106679
  const current = statusCache.models[anonId];
@@ -106692,6 +106689,14 @@ function finalizeStatus(statusPath, sessionPath, anonIds) {
106692
106689
  startedAt: current.startedAt ?? statusCache.startedAt,
106693
106690
  completedAt: new Date().toISOString()
106694
106691
  };
106692
+ } else if (mode === "interactive") {
106693
+ statusCache.models[anonId] = {
106694
+ ...current,
106695
+ state: "COMPLETED",
106696
+ exitCode: 0,
106697
+ startedAt: current.startedAt ?? statusCache.startedAt,
106698
+ completedAt: new Date().toISOString()
106699
+ };
106695
106700
  } else {
106696
106701
  statusCache.models[anonId] = { ...current, state: "TIMEOUT" };
106697
106702
  }
@@ -106713,6 +106718,23 @@ async function runWithGrid(sessionPath, models, input, opts) {
106713
106718
  const prompt = readFileSync24(join30(sessionPath, "input.md"), "utf-8").replace(/'/g, "'\\''").replace(/\n/g, " ");
106714
106719
  const totalPanes = Object.keys(manifest.models).length;
106715
106720
  const workDir = join30(sessionPath, "work");
106721
+ const statusJsonAllDone = JSON.stringify({
106722
+ cmd: "status",
106723
+ text: `C: claudish team G: ${totalPanes} done G: complete D: __TS__ D: ctrl-g q to quit`
106724
+ });
106725
+ const statusJsonWithFails = JSON.stringify({
106726
+ cmd: "status",
106727
+ text: `C: claudish team G: __D__ done R: __F__ failed D: __TS__ D: ctrl-g q to quit`
106728
+ });
106729
+ const statusJsonRunning = JSON.stringify({
106730
+ cmd: "status",
106731
+ text: `C: claudish team G: __D__ done C: __R__ running R: __F__ failed D: __TS__`
106732
+ });
106733
+ const tplDir = join30(sessionPath, "status-tpl");
106734
+ mkdirSync16(tplDir, { recursive: true });
106735
+ writeFileSync18(join30(tplDir, "all-done.json"), statusJsonAllDone);
106736
+ writeFileSync18(join30(tplDir, "with-fails.json"), statusJsonWithFails);
106737
+ writeFileSync18(join30(tplDir, "running.json"), statusJsonRunning);
106716
106738
  const statusFunc = [
106717
106739
  `_update_bar() {`,
106718
106740
  `_d=0; _f=0;`,
@@ -106724,14 +106746,12 @@ async function runWithGrid(sessionPath, models, input, opts) {
106724
106746
  `_e=$SECONDS;`,
106725
106747
  `if [ $_e -ge 60 ]; then _ts="$((_e/60))m $((_e%60))s"; else _ts="\${_e}s"; fi;`,
106726
106748
  `if [ $_r -eq 0 ] && [ $_f -eq 0 ]; then`,
106727
- `_t="C: claudish team G: ${totalPanes} done G: complete D: \${_ts} D: ctrl-g q to quit";`,
106749
+ `sed "s/__TS__/\${_ts}/" ${tplDir}/all-done.json | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null;`,
106728
106750
  `elif [ $_r -eq 0 ] && [ $_f -gt 0 ]; then`,
106729
- `_t="C: claudish team G: \${_d} done R: \${_f} failed D: \${_ts} D: ctrl-g q to quit";`,
106751
+ `sed -e "s/__D__/\${_d}/" -e "s/__F__/\${_f}/" -e "s/__TS__/\${_ts}/" ${tplDir}/with-fails.json | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null;`,
106730
106752
  `else`,
106731
- `_t="C: claudish team G: \${_d} done C: \${_r} running R: \${_f} failed D: \${_ts}";`,
106753
+ `sed -e "s/__D__/\${_d}/" -e "s/__R__/\${_r}/" -e "s/__F__/\${_f}/" -e "s/__TS__/\${_ts}/" ${tplDir}/running.json | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null;`,
106732
106754
  `fi;`,
106733
- `_j=$(printf '%s' "$_t" | sed 's/ /\\\\t/g');`,
106734
- `printf '{"cmd":"status","text":"%s"}' "$_j" | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null;`,
106735
106755
  `};`
106736
106756
  ].join(" ");
106737
106757
  const rawPrompt = readFileSync24(join30(sessionPath, "input.md"), "utf-8");
@@ -106742,10 +106762,14 @@ async function runWithGrid(sessionPath, models, input, opts) {
106742
106762
  const paneIndex = Object.keys(manifest.models).indexOf(anonId);
106743
106763
  if (mode === "interactive") {
106744
106764
  const modelList = Object.values(manifest.models).map((m2) => m2.model).join(", ");
106745
- const interactiveStatus = `C: claudish team D: ${modelList} D: ctrl-g Tab switch D: ctrl-g q quit`;
106746
- const interactiveStatusEsc = interactiveStatus.replace(/\t/g, "\\\\t");
106765
+ const interactiveJson = JSON.stringify({
106766
+ cmd: "status",
106767
+ text: `C: claudish team W: ${modelList} D: ctrl-g Tab switch D: ctrl-g q quit`
106768
+ });
106769
+ const interactiveJsonFile = join30(tplDir, "interactive.json");
106770
+ writeFileSync18(interactiveJsonFile, interactiveJson);
106747
106771
  return [
106748
- `if [ -n "$MAGMUX_SOCK" ]; then printf '{"cmd":"status","text":"%s"}' '${interactiveStatusEsc}' | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null; fi;`,
106772
+ `if [ -n "$MAGMUX_SOCK" ]; then cat ${interactiveJsonFile} | nc -U "$MAGMUX_SOCK" -w 1 2>/dev/null; fi;`,
106749
106773
  `claudish --model ${model} -i --dangerously-skip-permissions '${prompt}' 2>${errorLog};`,
106750
106774
  `_ec=$?; echo $_ec > ${exitCodeFile}`
106751
106775
  ].join(" ");
@@ -106788,7 +106812,7 @@ async function runWithGrid(sessionPath, models, input, opts) {
106788
106812
  proc.on("exit", () => resolve4());
106789
106813
  proc.on("error", () => resolve4());
106790
106814
  });
106791
- finalizeStatus(statusPath, sessionPath, anonIds);
106815
+ finalizeStatus(statusPath, sessionPath, anonIds, mode);
106792
106816
  return JSON.parse(readFileSync24(statusPath, "utf-8"));
106793
106817
  }
106794
106818
  var init_team_grid = __esm(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudish",
3
- "version": "6.12.1",
3
+ "version": "6.12.3",
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",
@@ -59,10 +59,10 @@
59
59
  "ai"
60
60
  ],
61
61
  "optionalDependencies": {
62
- "@claudish/magmux-darwin-arm64": "6.12.1",
63
- "@claudish/magmux-darwin-x64": "6.12.1",
64
- "@claudish/magmux-linux-arm64": "6.12.1",
65
- "@claudish/magmux-linux-x64": "6.12.1"
62
+ "@claudish/magmux-darwin-arm64": "6.12.3",
63
+ "@claudish/magmux-darwin-x64": "6.12.3",
64
+ "@claudish/magmux-linux-arm64": "6.12.3",
65
+ "@claudish/magmux-linux-x64": "6.12.3"
66
66
  },
67
67
  "author": "Jack Rudenko <i@madappgang.com>",
68
68
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.2.0",
3
- "lastUpdated": "2026-04-10",
3
+ "lastUpdated": "2026-04-11",
4
4
  "source": "https://openrouter.ai/models?categories=programming&fmt=cards&order=top-weekly",
5
5
  "models": [
6
6
  {