@vertikon/wasm-kit
v0.1.0
Published
Developer kit (SDK + CLI + MCP) do wasm-bridge — a IA embarcada WASM do Vertikon (OpenAI-compat, roteia local WASM × nuvem).
Readme
@vertikon/wasm-kit
Kit dev TypeScript/Node do wasm-bridge — a IA embarcada WASM do Vertikon. SDK fino + CLI + servidor MCP.
O bridge é OpenAI-compat e roteia LOCAL (WASM on-device, custo zero) × NUVEM (Vertikon IA) de forma transparente pela regra de domínio — chamar é idêntico nos dois casos. Este pacote é o wrapper fino (fetch nativo + Bearer) do ecossistema.
Drop-in OpenAI: se você já usa o SDK OpenAI, basta trocar a
baseURLparahttps://wasm.vertikon.com.bre usar aWASM_API_KEYcomo key. Este kit é o atalho fino + CLI + MCP.
Instalar
npm i @vertikon/wasm-kit
# opcional, só para o servidor MCP:
npm i @modelcontextprotocol/sdkUsar (SDK)
import { WasmClient } from "@vertikon/wasm-kit";
const wasm = new WasmClient({
baseUrl: "https://wasm.vertikon.com.br", // default
apiKey: process.env.WASM_API_KEY, // Authorization: Bearer
});
await wasm.models(); // { object, data:[{id,...}] }
await wasm.embeddings({ model: "wasm/embed-small", input: "olá mundo" });
await wasm.chat({ model: "wasm/tiny", messages: [{ role: "user", content: "oi" }] });
await wasm.healthy(); // boolean
// forçar inferência local (offline / on-device):
new WasmClient({ offline: true }); // header X-Vertikon-Offline: 1Erros de API viram WasmApiError (com status + body).
CLI
export WASM_URL=https://wasm.vertikon.com.br
export WASM_API_KEY=sk-...
vtk-wasm models
vtk-wasm embed --model wasm/embed-small --text "olá mundo"
vtk-wasm chat --model wasm/tiny --user "resuma isto"
vtk-wasm health
# flags: --url --key --offlineMCP
Servidor stdio com as tools wasm_embed, wasm_chat, wasm_models:
{ "mcpServers": { "vtk-wasm": {
"command": "vtk-wasm-mcp",
"env": { "WASM_URL": "https://wasm.vertikon.com.br", "WASM_API_KEY": "sk-..." }
} } }Contrato
POST /v1/embeddings{model, input}→{object, data:[{embedding,index}], model, usage}POST /v1/chat/completions{model, messages:[{role,content}]}→{choices:[{message:{content}}], usage}GET /v1/models→{data:[{id,...}]}GET /healthz(aberto)- Auth:
Authorization: Bearer <WASM_API_KEYS>nos/v1/*. Fonte canônica dos shapes:service/internal/bridge/bridge.go.
Build / teste
npm install --no-audit --no-fund && npm run build && npm test