codewhale 0.8.46 → 0.8.48

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/README.md CHANGED
@@ -35,10 +35,12 @@ codewhale doctor
35
35
  codewhale
36
36
  ```
37
37
 
38
- The `codewhale` facade and `codewhale-tui` binary share `~/.deepseek/config.toml`
39
- for DeepSeek auth and default model settings. Common TUI commands are available
40
- directly through the facade, including `codewhale doctor`, `codewhale models`,
41
- `codewhale sessions`, and `codewhale resume --last`.
38
+ The `codewhale` facade and `codewhale-tui` binary share
39
+ `~/.codewhale/config.toml` for DeepSeek auth and default model settings. Legacy
40
+ `~/.deepseek/config.toml` installs are still read as a compatibility fallback.
41
+ Common TUI commands are available directly through the facade, including
42
+ `codewhale doctor`, `codewhale models`, `codewhale sessions`, and
43
+ `codewhale resume --last`.
42
44
 
43
45
  The app talks to DeepSeek's documented OpenAI-compatible Chat Completions API.
44
46
  Set `DEEPSEEK_BASE_URL` only if you need the China endpoint or DeepSeek beta
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codewhale",
3
- "version": "0.8.46",
4
- "codewhaleBinaryVersion": "0.8.46",
3
+ "version": "0.8.48",
4
+ "codewhaleBinaryVersion": "0.8.48",
5
5
  "description": "Install and run CodeWhale, the agentic terminal for open-source and open-weight coding models, from GitHub release artifacts.",
6
6
  "author": "Hmbown",
7
7
  "license": "MIT",
@@ -7,13 +7,14 @@ const ASSET_MATRIX = {
7
7
  linux: {
8
8
  x64: ["codewhale-linux-x64", "codewhale-tui-linux-x64"],
9
9
  arm64: ["codewhale-linux-arm64", "codewhale-tui-linux-arm64"],
10
+ riscv64: ["codewhale-linux-riscv64", "codewhale-tui-linux-riscv64"],
10
11
  },
11
12
  darwin: {
12
13
  x64: ["codewhale-macos-x64", "codewhale-tui-macos-x64"],
13
14
  arm64: ["codewhale-macos-arm64", "codewhale-tui-macos-arm64"],
14
15
  },
15
16
  win32: {
16
- x64: ["codewhale-windows-x64.exe", "codewhale-tui-windows-x64.exe"],
17
+ x64: ["codewhale-windows-x64.exe", "codewhale-tui-windows-x64.exe", "codewhale.bat"],
17
18
  },
18
19
  };
19
20
 
@@ -78,12 +79,21 @@ function executableName(base, platform) {
78
79
  }
79
80
 
80
81
  function releaseBaseUrl(version, repo = "Hmbown/CodeWhale") {
82
+ // CODEWHALE_RELEASE_BASE_URL is the canonical override.
83
+ // DEEPSEEK_TUI_RELEASE_BASE_URL / DEEPSEEK_RELEASE_BASE_URL are legacy aliases.
81
84
  const override =
82
- process.env.DEEPSEEK_TUI_RELEASE_BASE_URL || process.env.DEEPSEEK_RELEASE_BASE_URL;
85
+ process.env.CODEWHALE_RELEASE_BASE_URL ||
86
+ process.env.DEEPSEEK_TUI_RELEASE_BASE_URL ||
87
+ process.env.DEEPSEEK_RELEASE_BASE_URL;
83
88
  if (override) {
84
89
  const trimmed = String(override).trim();
85
90
  return trimmed.endsWith("/") ? trimmed : `${trimmed}/`;
86
91
  }
92
+ // When CODEWHALE_USE_CNB_MIRROR is set, use the CNB (China-friendly)
93
+ // mirror that already builds and publishes binary release assets.
94
+ if (process.env.CODEWHALE_USE_CNB_MIRROR) {
95
+ return `https://cnb.cool/Hmbown/CodeWhale/-/releases/v${version}/`;
96
+ }
87
97
  return `https://github.com/${repo}/releases/download/v${version}/`;
88
98
  }
89
99
 
@@ -102,8 +112,8 @@ function releaseBinaryDirectory() {
102
112
  function allAssetNames() {
103
113
  const names = [];
104
114
  for (const platformAssets of Object.values(ASSET_MATRIX)) {
105
- for (const pair of Object.values(platformAssets)) {
106
- names.push(pair[0], pair[1]);
115
+ for (const assets of Object.values(platformAssets)) {
116
+ names.push(...assets);
107
117
  }
108
118
  }
109
119
  return Array.from(new Set(names));
@@ -55,6 +55,7 @@ test("known platforms are unaffected by alias map", () => {
55
55
  for (const [platform, arch, expectedCodeWhale] of [
56
56
  ["linux", "x64", "codewhale-linux-x64"],
57
57
  ["darwin", "arm64", "codewhale-macos-arm64"],
58
+ ["linux", "riscv64", "codewhale-linux-riscv64"],
58
59
  ["win32", "x64", "codewhale-windows-x64.exe"],
59
60
  ]) {
60
61
  withMockedOs(platform, arch, () => {
@@ -64,3 +65,12 @@ test("known platforms are unaffected by alias map", () => {
64
65
  });
65
66
  }
66
67
  });
68
+
69
+ test("allAssetNames includes every matrix entry", () => {
70
+ const { allAssetNames, allReleaseAssetNames } = require(ARTIFACTS_PATH);
71
+ const assetNames = allAssetNames();
72
+ assert.ok(assetNames.includes("codewhale-windows-x64.exe"));
73
+ assert.ok(assetNames.includes("codewhale-tui-windows-x64.exe"));
74
+ assert.ok(assetNames.includes("codewhale.bat"));
75
+ assert.ok(allReleaseAssetNames().includes("codewhale.bat"));
76
+ });