@simonyea/holysheep-cli 2.1.41 → 2.1.42

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.
@@ -1810,7 +1810,26 @@ var require_opencode = __commonJS({
1810
1810
  apiKey
1811
1811
  }
1812
1812
  };
1813
- config.model = "openai/gpt-5.4";
1813
+ const DEFAULT_MODEL = "openai/gpt-5.4";
1814
+ const MODEL_WHITELIST = /^(openai\/)?gpt-[\w][\w.\-]*$/i;
1815
+ let resolvedModel = DEFAULT_MODEL;
1816
+ const envOverride = (process.env.HOLYSHEEP_OPENCODE_MODEL || "").trim();
1817
+ if (envOverride) {
1818
+ if (MODEL_WHITELIST.test(envOverride)) {
1819
+ resolvedModel = /^openai\//i.test(envOverride) ? envOverride : `openai/${envOverride}`;
1820
+ } else {
1821
+ console.error(
1822
+ `[opencode] HOLYSHEEP_OPENCODE_MODEL="${envOverride}" rejected \u2014 must match openai/gpt-* or gpt-* (non-empty suffix). falling back to ${DEFAULT_MODEL}.`
1823
+ );
1824
+ }
1825
+ }
1826
+ const previousModel = typeof config.model === "string" ? config.model : "";
1827
+ if (previousModel && /^(anthropic\/|claude-)/i.test(previousModel) && previousModel !== resolvedModel) {
1828
+ console.error(
1829
+ `[opencode] migrated ${previousModel} \u2192 ${resolvedModel} (hs28 body-size fix: claude-* trips 40KB plan-limit via relay)`
1830
+ );
1831
+ }
1832
+ config.model = resolvedModel;
1814
1833
  void primaryModel;
1815
1834
  if (!process.env.HOLYSHEEP_OPENCODE_KEEP_ALL_TOOLS) {
1816
1835
  const tools = { ...config.tools || {} };
@@ -3912,7 +3931,7 @@ var require_package = __commonJS({
3912
3931
  "package.json"(exports2, module2) {
3913
3932
  module2.exports = {
3914
3933
  name: "@simonyea/holysheep-cli",
3915
- version: "2.1.41",
3934
+ version: "2.1.42",
3916
3935
  description: "Claude Code/Cursor/Cline API relay for China \u2014 \xA51=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
3917
3936
  scripts: {
3918
3937
  build: "node scripts/build.mjs",
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ var require_package = __commonJS({
12
12
  "package.json"(exports2, module2) {
13
13
  module2.exports = {
14
14
  name: "@simonyea/holysheep-cli",
15
- version: "2.1.41",
15
+ version: "2.1.42",
16
16
  description: "Claude Code/Cursor/Cline API relay for China \u2014 \xA51=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
17
17
  scripts: {
18
18
  build: "node scripts/build.mjs",
@@ -2355,7 +2355,26 @@ var require_opencode = __commonJS({
2355
2355
  apiKey
2356
2356
  }
2357
2357
  };
2358
- config.model = "openai/gpt-5.4";
2358
+ const DEFAULT_MODEL = "openai/gpt-5.4";
2359
+ const MODEL_WHITELIST = /^(openai\/)?gpt-[\w][\w.\-]*$/i;
2360
+ let resolvedModel = DEFAULT_MODEL;
2361
+ const envOverride = (process.env.HOLYSHEEP_OPENCODE_MODEL || "").trim();
2362
+ if (envOverride) {
2363
+ if (MODEL_WHITELIST.test(envOverride)) {
2364
+ resolvedModel = /^openai\//i.test(envOverride) ? envOverride : `openai/${envOverride}`;
2365
+ } else {
2366
+ console.error(
2367
+ `[opencode] HOLYSHEEP_OPENCODE_MODEL="${envOverride}" rejected \u2014 must match openai/gpt-* or gpt-* (non-empty suffix). falling back to ${DEFAULT_MODEL}.`
2368
+ );
2369
+ }
2370
+ }
2371
+ const previousModel = typeof config.model === "string" ? config.model : "";
2372
+ if (previousModel && /^(anthropic\/|claude-)/i.test(previousModel) && previousModel !== resolvedModel) {
2373
+ console.error(
2374
+ `[opencode] migrated ${previousModel} \u2192 ${resolvedModel} (hs28 body-size fix: claude-* trips 40KB plan-limit via relay)`
2375
+ );
2376
+ }
2377
+ config.model = resolvedModel;
2359
2378
  void primaryModel;
2360
2379
  if (!process.env.HOLYSHEEP_OPENCODE_KEEP_ALL_TOOLS) {
2361
2380
  const tools = { ...config.tools || {} };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simonyea/holysheep-cli",
3
- "version": "2.1.41",
4
- "description": "Claude Code/Cursor/Cline API relay for China \u2014 \u00a51=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
3
+ "version": "2.1.42",
4
+ "description": "Claude Code/Cursor/Cline API relay for China ¥1=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
5
5
  "scripts": {
6
6
  "build": "node scripts/build.mjs",
7
7
  "test": "node tests/droid.test.js && node tests/workspace-store.test.js && node tests/runtime-stale-upgrade.test.js && node tests/hermes.test.js && node tests/preflight.test.js && node tests/opencode-auth-purge.test.js && node tests/shell-winpath.test.js && node tests/openclaw-atomic-write.test.js && node tests/opencode-default-model.test.js && node tests/paths-bundled.test.js",