@contextvm/ctxcn
Version:
A command-line utility inspired by shadcn that streamlines the integration of ContextVM (CVM) servers into your TypeScript projects
31 lines • 1.08 kB
JavaScript
import { Client } from "@modelcontextprotocol/sdk/client";
import { ApplesauceRelayPool, NostrClientTransport, PrivateKeySigner, } from "@contextvm/sdk";
export async function createCvmConnection(pubkey, config, clientName = "ctxcn-client") {
const client = new Client({
name: clientName,
version: "1.0.0",
});
const transport = new NostrClientTransport({
signer: config.privateKey
? new PrivateKeySigner(config.privateKey)
: new PrivateKeySigner(""),
relayHandler: new ApplesauceRelayPool(config.relays),
serverPubkey: pubkey,
});
try {
await client.connect(transport);
const serverDetails = client.getServerVersion();
const toolListResult = await client.listTools();
await transport.close();
return {
client,
serverDetails,
toolListResult,
};
}
catch (error) {
await transport.close().catch(() => { }); // Ignore close errors
throw error;
}
}
//# sourceMappingURL=cvm-client.js.map