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.
Files changed (3) hide show
  1. package/lib/mcp.js +10 -11
  2. package/lib/setup.js +7 -2
  3. 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
- 'ROUTING AND CONTEXT FACTS call this when asked what your stack, routing, provider, endpoint, '
179
- + 'model, cost, or context window is. You are reachable through openzoo: a LOCAL x402-paying proxy '
180
- + `(${config.apiBase} upstream, ~435 models) with a leCore holographic memory layer in front of every `
181
- + 'model. Key facts you may state without calling anything: (1) requests routed through the openzoo '
182
- + 'proxy are paid per-call from a local burner wallet over x402 no API key, no account; (2) openzoo '
183
- + 'does NOT enlarge your own attention window it binds a corpus server-side and retrieves what is '
184
- + 'relevant, so a body far past any model window can be queried; that is retrieval, not a bigger '
185
- + 'window, and it is lossy; (3) never claim lossless compression or a 128M attention window — the '
186
- + 'honest line is "bind 128M, the model reads what matters"; (4) if your OWN inference is not going '
187
- + 'through this proxy (e.g. an editor built-in model), say so plainly. Returns live endpoint, wallet, '
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
- // give the tunnel a moment to publish its URL
130
- for (let i = 0; i < 20 && !publicUrl; i++) {
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.0",
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",