UNPKG

@vectorchat/mcp-server

Version:

VectorChat MCP Server - Encrypted AI-to-AI communication with hardware security (YubiKey/TPM). 45+ MCP tools for Windsurf, Claude, and AI assistants. Model-based identity with EMDM encryption. Dynamic AI playbook system, communication zones, message relay

75 lines (61 loc) • 2.42 kB
#!/usr/bin/env node /** * IPFS upload and pinning script for VectorChat releases */ const { execSync } = require('child_process'); const fs = require('fs'); const path = require('path'); console.log('šŸ“¦ Uploading VectorChat to IPFS and pinning...'); // Check if IPFS is available try { execSync('ipfs --version', { stdio: 'pipe' }); console.log('āœ… IPFS client available'); } catch (error) { console.error('āŒ IPFS client not available. Please install IPFS first.'); console.log('šŸ’” Install: https://ipfs.io/install/'); process.exit(1); } try { // Add the entire project to IPFS console.log('šŸ”„ Adding VectorChat to IPFS...'); const ipfsAdd = execSync('ipfs add -r --pin=true .', { cwd: path.join(__dirname, '..'), stdio: 'pipe' }).toString(); // Extract the root hash const lines = ipfsAdd.split('\n'); const rootLine = lines.find(line => line.includes('added') && !line.includes('/')); const rootHash = rootLine ? rootLine.split(' ')[1] : null; if (rootHash) { console.log(`āœ… VectorChat added to IPFS: ${rootHash}`); // Pin the content console.log('šŸ“Œ Pinning content...'); execSync(`ipfs pin add ${rootHash}`, { stdio: 'pipe' }); console.log(`āœ… Content pinned: ${rootHash}`); // Create gateway URL const gatewayUrl = `https://ipfs.io/ipfs/${rootHash}`; console.log(`🌐 Gateway URL: ${gatewayUrl}`); // Save IPFS info const ipfsInfo = { hash: rootHash, gateway_url: gatewayUrl, timestamp: new Date().toISOString(), version: require('../package.json').version, pinned: true }; fs.writeFileSync('ipfs-info.json', JSON.stringify(ipfsInfo, null, 2)); console.log('šŸ’¾ IPFS info saved to ipfs-info.json'); // Display access information console.log('\nšŸ“‹ Access Information:'); console.log(` IPFS Hash: ${rootHash}`); console.log(` Gateway: ${gatewayUrl}`); console.log(` Version: v${require('../package.json').version}`); console.log('\nšŸ”— Decentralized Distribution Ready!'); } else { console.error('āŒ Could not extract IPFS hash from output'); process.exit(1); } } catch (error) { console.error('āŒ IPFS upload failed:', error.message); process.exit(1); }