openzoo 0.50.79 → 0.50.80
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/lib/cursorbackend.js +5 -1
- package/package.json +1 -1
package/lib/cursorbackend.js
CHANGED
|
@@ -1634,8 +1634,12 @@ function entryPlainText(v) {
|
|
|
1634
1634
|
*/
|
|
1635
1635
|
export function foldSameRole(messages) {
|
|
1636
1636
|
const out = [];
|
|
1637
|
+
// An assistant entry with no content and no tool_calls (a failed/empty turn
|
|
1638
|
+
// recorded on the canvas) is invalid for every OpenAI-compatible provider:
|
|
1639
|
+
// measured 2026-09-02 as `400 Invalid model provider request` param=messages.
|
|
1640
|
+
messages = (messages || []).filter((m) => !(m && m.role === 'assistant' && (m.content == null || m.content === '') && !m.tool_calls));
|
|
1637
1641
|
const foldable = (m) => m && (m.role === 'user' || m.role === 'assistant') && !m.tool_calls && !m.tool_call_id;
|
|
1638
|
-
for (const m of messages
|
|
1642
|
+
for (const m of messages) {
|
|
1639
1643
|
const last = out[out.length - 1];
|
|
1640
1644
|
if (last && foldable(last) && foldable(m) && last.role === m.role) {
|
|
1641
1645
|
const a = last.content; const b = m.content;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openzoo",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.80",
|
|
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",
|