openzoo 0.48.48 → 0.48.49

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/lib/proxy.js +16 -1
  2. package/package.json +1 -1
package/lib/proxy.js CHANGED
@@ -955,7 +955,22 @@ export async function startProxy({ silent = false, requireToken = null, sessionM
955
955
  if (rewritablePath(req.method, req.url)) {
956
956
  const rw = await maybeRewriteModel(bodyBuf);
957
957
  if (rw) {
958
- log(`model "${rw.from}" is not on the zoo nearest match ${rw.to} (OPENZOO_DEFAULT_MODEL overrides)`);
958
+ // SAY WHETHER THE OVERRIDE IS ACTUALLY SET, and name it.
959
+ //
960
+ // This used to print "(OPENZOO_DEFAULT_MODEL overrides)" on EVERY
961
+ // rewrite whether or not the variable existed — a hint about a knob,
962
+ // phrased as a statement about this request. It cost a real incident:
963
+ // the proxy was restarted from a shell carrying
964
+ // OPENZOO_DEFAULT_MODEL=deepseek/deepseek-v4-pro-0813, so every
965
+ // claude-sonnet-5 ask was served by deepseek, and the log line looked
966
+ // exactly the same as it always had. deepseek matches the reasoning
967
+ // regex, so a 16-token safety classification became a 4,000-token
968
+ // reasoning generation — 11.5s, past the caller's timeout, and Claude
969
+ // Code reported "claude-sonnet-5 is temporarily unavailable".
970
+ const forced = process.env.OPENZOO_DEFAULT_MODEL;
971
+ log(forced
972
+ ? `model "${rw.from}" -> FORCED to ${forced} by OPENZOO_DEFAULT_MODEL (nearest match would have been ${rw.to})`
973
+ : `model "${rw.from}" is not on the zoo — nearest match ${rw.to}`);
959
974
  bodyBuf = rw.body;
960
975
  }
961
976
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openzoo",
3
- "version": "0.48.48",
3
+ "version": "0.48.49",
4
4
  "description": "Local x402-paying proxy + MCP server for openzoo.fun — point any OpenAI-compatible harness (Cursor, Claude Code, aider, SDKs) at localhost and it pays per call from a local burner wallet. Solana and Base rails live; Robinhood experimental.",
5
5
  "license": "MIT",
6
6
  "type": "module",