@polderlabs/bizar 3.13.0 → 3.14.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.
@@ -314,14 +314,14 @@
314
314
  "interleaved": { "field": "reasoning_details" },
315
315
  "reasoning": true,
316
316
  "options": {
317
- "thinking": "adaptive"
317
+ "thinking": { "type": "enabled" }
318
318
  }
319
319
  },
320
320
  "MiniMax-M2.7": {
321
321
  "interleaved": { "field": "reasoning_details" },
322
322
  "reasoning": true,
323
323
  "options": {
324
- "thinking": "adaptive"
324
+ "thinking": { "type": "enabled" }
325
325
  }
326
326
  }
327
327
  }
@@ -106,6 +106,35 @@ permission:
106
106
 
107
107
  When using the `minimax/MiniMax-M3` or `minimax/MiniMax-M2.7` model ids, do NOT set a custom `baseURL` on the `minimax` provider — opencode ships a built-in MiniMax provider that resolves the correct API endpoint. Adding an explicit baseURL is a common cause of 404s.
108
108
 
109
+ ### MiniMax rate-limit / quota failures
110
+
111
+ **Symptoms:** A session dies with HTTP 429, 402, or 5xx from the MiniMax API. The user has multiple MiniMax accounts and wants them to share the load.
112
+
113
+ **Cause:** opencode has no built-in multi-key rotation; it reads one key from `auth.json` and uses it for the entire session. Hitting that key's rate limit or quota is fatal.
114
+
115
+ **Fix:** Set additional keys via env vars. The `bizar` plugin rotates through them on 429/402/5xx automatically.
116
+
117
+ ```bash
118
+ # Option A — single comma-separated env var
119
+ export MINIMAX_API_KEYS="key1,key2,key3"
120
+
121
+ # Option B — numbered env vars (read in order, gaps skipped)
122
+ export MINIMAX_API_KEY="primary-key"
123
+ export MINIMAX_API_KEY_2="second-key"
124
+ export MINIMAX_API_KEY_3="third-key"
125
+ ```
126
+
127
+ Rotation policy:
128
+ - Triggers on 429 (rate limit), 402 (quota exhausted), 500/502/503/504 (server error)
129
+ - Does NOT trigger on 401 (unauthorized — your key is wrong; fix the key, don't rotate)
130
+ - Does NOT trigger on other 4xx (client error — the request itself is bad)
131
+ - Network errors (ECONNRESET etc.) DO trigger rotation
132
+ - Caps at N attempts where N = number of configured keys (try each once)
133
+ - If all keys fail, the last error response is returned so opencode surfaces it normally
134
+ - Round-robin on success: the next request starts on the next key, spreading load across accounts
135
+
136
+ Single-key mode is unchanged — if only `MINIMAX_API_KEY` is set (or no key rotation env vars at all), the plugin works exactly as before.
137
+
109
138
  ### Forseti Rejects Every Plan
110
139
 
111
140
  **Symptoms:** Forseti always returns "CHANGES REQUIRED" or "REJECTED".
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polderlabs/bizar",
3
- "version": "3.13.0",
3
+ "version": "3.14.1",
4
4
  "description": "Norse-pantheon multi-agent system for opencode — 13 agents across 4 cost tiers with cost-aware routing, plans, and a configurable agent harness.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -19,7 +19,7 @@
19
19
  "build:sdk": "npm run build -w @polderlabs/bizar-sdk",
20
20
  "test:sdk": "npm run test -w @polderlabs/bizar-sdk",
21
21
  "test:sdk:watch": "npm run test:watch -w @polderlabs/bizar-sdk",
22
- "test": "npm run typecheck && npm run test:sdk && (cd plugins/bizar && bun test tests/loop.test.ts tests/block.test.ts tests/tools/bg-get-comments.test.ts tests/settings.test.ts tests/tools/plan-action.test.ts tests/tools/wait-for-feedback.test.ts) && node bizar-dash/tests/smoke-v2.mjs && node --test bizar-dash/tests/path-safe.test.mjs bizar-dash/tests/tmux-wrap.test.mjs bizar-dash/tests/opencode-runner.test.mjs",
22
+ "test": "npm run typecheck && npm run test:sdk && (cd plugins/bizar && bun test tests/loop.test.ts tests/block.test.ts tests/stall-think.test.ts tests/tools/bg-get-comments.test.ts tests/tools/bg-spawn-delegation.test.ts tests/tools/opencode-runner.test.ts tests/settings.test.ts tests/commands.test.ts tests/commands-impl.test.ts tests/tools/plan-action.test.ts tests/tools/wait-for-feedback.test.ts tests/reasoning-clean.test.ts tests/key-rotation.test.ts) && node bizar-dash/tests/smoke-v2.mjs && node --test bizar-dash/tests/path-safe.test.mjs bizar-dash/tests/tmux-wrap.test.mjs bizar-dash/tests/opencode-runner.test.mjs",
23
23
  "build": "npm run build:sdk"
24
24
  },
25
25
  "keywords": [