ramwisp 0.1.1 → 0.1.3

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/bin/wisp.js CHANGED
@@ -46,8 +46,8 @@ async function main() {
46
46
  case "kill": return out(await killAgent(rest[0]));
47
47
  case "ls": return out(await listAgents());
48
48
  case "setup":
49
- return console.log(`Claude Code:\n claude mcp add --scope user wisp -- npx -y ${API}/wisp.tgz\n\n` +
50
- `Codex (~/.codex/config.toml):\n [mcp_servers.wisp]\n command = "npx"\n args = ["-y", "${API}/wisp.tgz"]\n tool_timeout_sec = 1000`);
49
+ return console.log(`Claude Code:\n claude mcp add --scope user ramwisp -- npx -y ramwisp@latest\n\n` +
50
+ `Codex (~/.codex/config.toml):\n [mcp_servers.ramwisp]\n command = "npx"\n args = ["-y", "ramwisp@latest"]\n tool_timeout_sec = 1000`);
51
51
  default: return console.log(HELP);
52
52
  }
53
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ramwisp",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "ramwisp: subagentes do Claude Code e do Codex em máquinas próprias na nuvem (AWS Nitro Enclaves), com a sua assinatura. MCP + CLI.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/account.js CHANGED
@@ -36,10 +36,14 @@ export function logout() {
36
36
  if (existsSync(CRED)) rmSync(CRED);
37
37
  }
38
38
 
39
+ let client = "cli";
40
+ /** Quem está usando o MCP (vem do clientInfo do initialize: "claude-code", "codex-mcp-client"…). */
41
+ export function setClient(name) { if (name) client = String(name).slice(0, 60); }
42
+
39
43
  export async function call(method, path, body, { token = getToken(), timeoutMs = 30_000 } = {}) {
40
44
  const r = await fetch(API + path, {
41
45
  method,
42
- headers: { "Content-Type": "application/json", ...(token ? { Authorization: `Bearer ${token}` } : {}) },
46
+ headers: { "Content-Type": "application/json", "X-Wisp-Client": client, ...(token ? { Authorization: `Bearer ${token}` } : {}) },
43
47
  body: body === undefined ? undefined : JSON.stringify(body),
44
48
  signal: AbortSignal.timeout(timeoutMs),
45
49
  });
package/src/mcp.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // Servidor MCP (stdio, JSON-RPC por linha). Sem dependências.
2
2
  import { createInterface } from "node:readline";
3
- import { API, getToken, startLogin } from "./account.js";
3
+ import { API, getToken, setClient, startLogin } from "./account.js";
4
4
  import { LoginRequired, killAgent, listAgents, result, spawnAgent, waitAgent } from "./client.js";
5
5
 
6
6
  const PROTOCOLS = ["2025-06-18", "2025-03-26", "2024-11-05"];
7
- const VERSION = "0.1.1";
7
+ const VERSION = "0.1.3";
8
8
 
9
9
  const INSTRUCTIONS = `wisp roda subagentes Claude Code ou Codex em máquinas efêmeras na nuvem, com a RAM que você pedir,
10
10
  sem pesar esta máquina. Cada subagente nasce numa enclave isolada (AWS Nitro): antes de mandar qualquer coisa,
@@ -99,6 +99,7 @@ export function serve() {
99
99
  try {
100
100
  let res;
101
101
  if (method === "initialize") {
102
+ setClient(params?.clientInfo?.name ?? "mcp");
102
103
  const v = PROTOCOLS.includes(params?.protocolVersion) ? params.protocolVersion : PROTOCOLS[0];
103
104
  res = { protocolVersion: v, capabilities: { tools: {} }, serverInfo: { name: "ramwisp", version: VERSION }, instructions: INSTRUCTIONS };
104
105
  } else if (method === "tools/list") {