openzoo 0.18.0 → 0.18.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.
- package/lib/mcp.js +10 -11
- package/lib/setup.js +7 -2
- package/package.json +1 -1
package/lib/mcp.js
CHANGED
|
@@ -175,17 +175,16 @@ export function buildMcpServer() {
|
|
|
175
175
|
// tool returns them live.
|
|
176
176
|
server.registerTool('zoo_status', {
|
|
177
177
|
description:
|
|
178
|
-
'
|
|
179
|
-
+ '
|
|
180
|
-
+
|
|
181
|
-
+ '
|
|
182
|
-
+ '
|
|
183
|
-
+ '
|
|
184
|
-
+ '
|
|
185
|
-
+ '
|
|
186
|
-
+ '
|
|
187
|
-
+ '
|
|
188
|
-
+ 'balance and rail state.',
|
|
178
|
+
'Report what THIS openzoo proxy is and how it is routed, by querying it live (GET /v1/info + wallet + '
|
|
179
|
+
+ 'rails). Call it when asked about the openzoo setup: its endpoint, tunnel URL, upstream, wallet, '
|
|
180
|
+
+ 'balances, or what its context/binding actually does. '
|
|
181
|
+
+ 'SCOPE — it describes the PROXY, not you: it says nothing about which provider serves your own '
|
|
182
|
+
+ 'inference or what your own attention window is, and you should not infer either from it. If your '
|
|
183
|
+
+ 'requests are not going through this proxy, say so. '
|
|
184
|
+
+ 'It is useful for correcting two common overclaims, because the returned values are checkable: '
|
|
185
|
+
+ 'openzoo does not enlarge any model\'s attention window (it binds a corpus server-side and '
|
|
186
|
+
+ 'retrieves top-k chunks, which is lossy), and calls made THROUGH it are paid per-request via x402 '
|
|
187
|
+
+ 'from a local burner wallet rather than with an API key.',
|
|
189
188
|
inputSchema: {},
|
|
190
189
|
}, async () => {
|
|
191
190
|
const rails = await liveRails().catch(() => null);
|
package/lib/setup.js
CHANGED
|
@@ -126,12 +126,17 @@ export async function setupEditor(which, target) {
|
|
|
126
126
|
const started = await startProxy({ silent: true, autoTunnel: true });
|
|
127
127
|
publicUrl = started?.publicUrl ?? null;
|
|
128
128
|
tunnelKey = started?.tunnelToken ?? null;
|
|
129
|
-
//
|
|
130
|
-
|
|
129
|
+
// Wait for cloudflared to publish the URL. It downloads on first run and
|
|
130
|
+
// routinely takes 30-45s; a 10s wait meant the tunnel line simply never
|
|
131
|
+
// printed and the user never learned the public URL existed.
|
|
132
|
+
process.stdout.write('waiting for tunnel');
|
|
133
|
+
for (let i = 0; i < 120 && !publicUrl; i++) {
|
|
131
134
|
await new Promise((r) => setTimeout(r, 500));
|
|
132
135
|
publicUrl = started?.publicUrl ?? null;
|
|
133
136
|
tunnelKey = started?.tunnelToken ?? null;
|
|
137
|
+
if (i % 4 === 3) process.stdout.write('.');
|
|
134
138
|
}
|
|
139
|
+
process.stdout.write(publicUrl ? ' ok\n' : ' (not up yet — it will print in this terminal when ready)\n');
|
|
135
140
|
} else {
|
|
136
141
|
console.log(`proxy already running on ${base}`);
|
|
137
142
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openzoo",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.1",
|
|
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",
|