@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
JavaScript
/**
* 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);
}