{"_id":"@bernierllc/neverhub","_rev":"3-0caee75a203b0d0aabe920b231944e22","name":"@bernierllc/neverhub","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@bernierllc/neverhub","version":"1.0.0","keywords":["service-discovery","package-management","microservices","integration-hub","webhooks","api-management"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/neverhub@1.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/neverhub#readme","bugs":{"url":"https://github.com/bernierllc/neverhub/issues"},"bin":{"neverhub":"cli/index.js"},"dist":{"shasum":"333ca2ecc682038c688899c9dab4bf912705bab9","tarball":"https://registry.npmjs.org/@bernierllc/neverhub/-/neverhub-1.0.0.tgz","fileCount":63,"integrity":"sha512-uUrNLqQaTCiVcgFm6DNujATeL3grGn1gV07trwClciieIF9TyHtTykouM6Myd+EDau6vhlGC9OVBeItPrtdg/A==","signatures":[{"sig":"MEYCIQCQDkiz/FQW7zRvDSD55g0TSeMRsxx8gSy7Zmc0L4Qr2QIhAJAN8u2M0s1ewyJS4pGAKMyJ7m7dkmRCpFtvbm/i+sz8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373175},"main":"index.js","types":"index.d.ts","engines":{"npm":">=8.0.0","node":">=18.0.0"},"gitHead":"e79197299796026c68f6e7a94072a2bb9d58d027","scripts":{"dev":"next dev --turbopack --port 3536","lint":"next lint","test":"jest","build":"next build","start":"next start --port 3536","migrate":"prisma migrate deploy","test:all":"jest --coverage --verbose","db:studio":"prisma studio","db:generate":"prisma generate","migrate:dev":"prisma migrate dev","postinstall":"node scripts/postinstall.js","generate:schema":"node scripts/generate-prisma-schema.js"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernierllc/neverhub.git","type":"git"},"_npmVersion":"11.4.2","description":"NeverHub - Service Discovery and Package Management Platform","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"3.25.76","clsx":"^2.1.1","next":"^15.4.3","chalk":"^5.4.1","react":"19.1.0","dotenv":"^17.2.0","amqplib":"^0.10.8","ioredis":"^5.6.1","commander":"^14.0.0","react-dom":"19.1.0","mcp-handler":"1.0.2","jsonwebtoken":"^9.0.2","lucide-react":"^0.525.0","@prisma/client":"^6.12.0","@types/amqplib":"^0.10.7","tailwind-merge":"^3.3.1","@bernierllc/logging":"^0.1.10","@types/jsonwebtoken":"^9.0.10","tailwindcss-animate":"^1.0.7","@radix-ui/react-tabs":"^1.1.12","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.5","eslint":"^9.34.0","prisma":"^6.12.0","ts-jest":"^29.4.0","supertest":"^7.1.4","typescript":"^5","@types/jest":"^30.0.0","@types/node":"^20","@types/chalk":"^0.4.31","@types/react":"19.1.8","@types/react-dom":"^19","@types/supertest":"^6.0.3","eslint-config-next":"^15.5.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.5","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/neverhub_1.0.0_1756785066144_0.33014526349845386","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bernierllc/neverhub","version":"1.0.1","keywords":["service-discovery","package-management","microservices","integration-hub","webhooks","api-management"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/neverhub@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/neverhub#readme","bugs":{"url":"https://github.com/bernierllc/neverhub/issues"},"bin":{"neverhub":"cli/index.js"},"dist":{"shasum":"afc409f0e8f3fec56a4d29b52990d1a59967957a","tarball":"https://registry.npmjs.org/@bernierllc/neverhub/-/neverhub-1.0.1.tgz","fileCount":63,"integrity":"sha512-U55Tl5yYyKSw9i+emcJUT+9sQI021dv+0+yellajHcOfgA9k449wku890nl0BBLSKA3GeTnyYxsSFol9t2RWnA==","signatures":[{"sig":"MEUCIHINutXX4mMyaimtk66WyN9kjKCP5kt8rcJfQo++ySUoAiEAmgb/qdDRHkLYcSzaXCoNTq/ios7CkZtfzGIlq/RFIhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373674},"main":"index.js","types":"index.d.ts","engines":{"npm":">=8.0.0","node":">=18.0.0"},"gitHead":"bc8fea34a9f4069330ccdba6f06235468aac2f8e","scripts":{"dev":"next dev --turbopack --port 3536","lint":"next lint","test":"jest","build":"next build","start":"next start --port 3536","migrate":"prisma migrate deploy","test:all":"jest --coverage --verbose","db:studio":"prisma studio","db:generate":"prisma generate","migrate:dev":"prisma migrate dev","postinstall":"node scripts/postinstall.js","generate:schema":"node scripts/generate-prisma-schema.js"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernierllc/neverhub.git","type":"git"},"_npmVersion":"11.4.2","description":"NeverHub - Service Discovery and Package Management Platform","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"3.25.76","clsx":"^2.1.1","next":"^15.4.3","chalk":"^5.4.1","react":"19.1.0","dotenv":"^17.2.0","amqplib":"^0.10.8","ioredis":"^5.6.1","commander":"^14.0.0","react-dom":"19.1.0","mcp-handler":"1.0.2","jsonwebtoken":"^9.0.2","lucide-react":"^0.525.0","@prisma/client":"^6.12.0","@types/amqplib":"^0.10.7","tailwind-merge":"^3.3.1","@bernierllc/logging":"^0.1.10","@types/jsonwebtoken":"^9.0.10","tailwindcss-animate":"^1.0.7","@radix-ui/react-tabs":"^1.1.12","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.5","eslint":"^9.34.0","prisma":"^6.12.0","ts-jest":"^29.4.0","supertest":"^7.1.4","typescript":"^5","@types/jest":"^30.0.0","@types/node":"^20","@types/chalk":"^0.4.31","@types/react":"19.1.8","@types/react-dom":"^19","@types/supertest":"^6.0.3","eslint-config-next":"^15.5.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.5","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/neverhub_1.0.1_1756787861621_0.8081433533614664","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bernierllc/neverhub","version":"1.1.0","description":"NeverHub - Service Discovery and Package Management Platform","main":"index.js","types":"index.d.ts","bin":{"neverhub":"cli/index.js"},"scripts":{"postinstall":"node scripts/postinstall.js","generate:schema":"node scripts/generate-prisma-schema.js","migrate":"prisma migrate deploy","migrate:dev":"prisma migrate dev","db:generate":"prisma generate","db:studio":"prisma studio","dev":"next dev --turbopack --port 3536","build":"next build","start":"next start --port 3536","lint":"next lint","test":"jest","test:all":"jest --coverage --verbose"},"keywords":["service-discovery","package-management","microservices","integration-hub","webhooks","api-management"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","repository":{"type":"git","url":"git+https://github.com/bernierllc/neverhub.git"},"engines":{"node":">=18.0.0","npm":">=8.0.0"},"dependencies":{"@bernierllc/logging":"^0.1.10","@modelcontextprotocol/sdk":"1.17.4","@prisma/client":"^6.12.0","@radix-ui/react-tabs":"^1.1.12","@types/amqplib":"^0.10.7","@types/jsonwebtoken":"^9.0.10","amqplib":"^0.10.8","chalk":"^5.4.1","class-variance-authority":"^0.7.1","clsx":"^2.1.1","commander":"^14.0.0","dotenv":"^17.2.0","ioredis":"^5.6.1","jsonwebtoken":"^9.0.2","lucide-react":"^0.525.0","mcp-handler":"1.0.2","next":"^15.4.3","react":"19.1.0","react-dom":"19.1.0","tailwind-merge":"^3.3.1","tailwindcss-animate":"^1.0.7","zod":"3.25.76"},"devDependencies":{"@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","@types/chalk":"^0.4.31","@types/jest":"^30.0.0","@types/node":"^20","@types/react":"19.1.8","@types/react-dom":"^19","@types/supertest":"^6.0.3","eslint":"^9.34.0","eslint-config-next":"^15.5.2","jest":"^30.0.5","jest-environment-jsdom":"^30.0.5","prisma":"^6.12.0","supertest":"^7.1.4","ts-jest":"^29.4.0","tsx":"^4.20.3","typescript":"^5"},"_id":"@bernierllc/neverhub@1.1.0","gitHead":"da5096c0aff1178b55fd3582c4bb319f36809c21","bugs":{"url":"https://github.com/bernierllc/neverhub/issues"},"homepage":"https://github.com/bernierllc/neverhub#readme","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-Xj7aHsOzWUAtsqUFoYKirEJJ9QoQZEChle2h7kJ0H2FlPyktgfec7zpXS9ZxvOQGmZ6I8FIly8VhsfRbCPnlAQ==","shasum":"bde1b42e9990b77f47d274ae42f0533451dfd4cb","tarball":"https://registry.npmjs.org/@bernierllc/neverhub/-/neverhub-1.1.0.tgz","fileCount":100,"unpackedSize":1091102,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBHUoYWNkQyoVaTFbP3GL6Sf6aIyQrJjCtAGBBfQvdP3AiBYWmLwJpFlsmWtwjxsa8RdDz7eCfhN6raevjy89DhFnA=="}]},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/neverhub_1.1.0_1762036963834_0.5696268823655153"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-02T03:51:05.671Z","modified":"2025-11-01T22:42:44.312Z","1.0.0":"2025-09-02T03:51:06.352Z","1.0.1":"2025-09-02T04:37:41.798Z","1.1.0":"2025-11-01T22:42:44.073Z"},"bugs":{"url":"https://github.com/bernierllc/neverhub/issues"},"author":{"name":"Bernier LLC"},"license":"UNLICENSED","homepage":"https://github.com/bernierllc/neverhub#readme","keywords":["service-discovery","package-management","microservices","integration-hub","webhooks","api-management"],"repository":{"type":"git","url":"git+https://github.com/bernierllc/neverhub.git"},"description":"NeverHub - Service Discovery and Package Management Platform","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# NeverHub\n\n**Service Discovery and Package Management Platform**\n\nNeverHub is a powerful platform for service discovery, package management, and integration orchestration. It enables packages to discover other packages, receive real-time notifications when dependencies become available, and supports advanced integrations like auto-discovery.\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install @bernierllc/neverhub\n```\n\n### Setup\n\n1. **Copy environment template:**\n   ```bash\n   cp env.neverhub.example .env.neverhub\n   ```\n\n2. **Configure your environment:**\n   ```bash\n   nano .env.neverhub\n   ```\n\n3. **Generate database schema:**\n   ```bash\n   npx neverhub generate:schema\n   ```\n\n4. **Run database migrations:**\n   ```bash\n   npx neverhub migrate\n   ```\n\n5. **Start NeverHub:**\n   ```bash\n   npx neverhub dev\n   ```\n\n## 📚 Available Commands\n\n```bash\n# Database Operations\nnpx neverhub generate:schema  # Generate Prisma schema\nnpx neverhub migrate          # Run database migrations\nnpx neverhub db:studio        # Open Prisma Studio\n\n# Development\nnpx neverhub dev              # Start development server\nnpx neverhub build            # Build for production\nnpx neverhub start            # Start production server\n\n# API Key Management\nnpx neverhub keys:generate    # Generate API keys\n\n# Health & Testing\nnpx neverhub health           # Check system health\nnpx neverhub test             # Run tests\nnpx neverhub test --coverage  # Run tests with coverage\n```\n\n## 🔧 Environment Configuration\n\n### Required Variables\n\n```bash\nDATABASE_URL=\"postgresql://username:password@localhost:5432/neverhub\"\nJWT_SECRET=\"your-neverhub-jwt-secret-here\"\nINTERNAL_API_KEY=\"your-neverhub-internal-api-key-here\"\n```\n\n### Optional Variables\n\n```bash\nNEVERHUB_DB_PREFIX=\"\"                    # Table prefix (optional)\nREDIS_URL=\"redis://localhost:6379\"       # Redis connection (optional)\nNEVERHUB_PORT=\"3536\"                     # Server port\nNEVERHUB_WEBHOOK_BASE_URL=\"http://localhost:3536\"\n```\n\n## 💡 Integration Options\n\n### Standalone Service\n\nRun NeverHub as a separate service:\n\n```bash\nnpx neverhub dev\n```\n\n### Next.js Integration\n\n```typescript\n// pages/api/neverhub/[...path].ts\nimport { createNeverHubHandler } from '@bernierllc/neverhub/nextjs';\n\nexport default createNeverHubHandler({\n  databaseUrl: process.env.NEVERHUB_DATABASE_URL,\n  redisUrl: process.env.NEVERHUB_REDIS_URL,\n  tablePrefix: process.env.NEVERHUB_DB_PREFIX,\n});\n```\n\n### Express.js Integration\n\n```typescript\n// app.js\nconst express = require('express');\nconst { createNeverHubMiddleware } = require('@bernierllc/neverhub/express');\n\nconst app = express();\n\napp.use('/neverhub', createNeverHubMiddleware({\n  databaseUrl: process.env.NEVERHUB_DATABASE_URL,\n  redisUrl: process.env.NEVERHUB_REDIS_URL,\n  tablePrefix: process.env.NEVERHUB_DB_PREFIX,\n}));\n```\n\n### Library Integration\n\n```typescript\nimport { createNeverHub } from '@bernierllc/neverhub';\n\nconst neverhub = createNeverHub({\n  databaseUrl: process.env.DATABASE_URL,\n  redisUrl: process.env.REDIS_URL,\n  tablePrefix: process.env.NEVERHUB_DB_PREFIX,\n});\n\nawait neverhub.initialize();\n\n// Register a package\nconst packageId = await neverhub.registerPackage({\n  type: 'messaging',\n  name: 'user-messaging',\n  version: '1.0.0',\n  capabilities: [\n    {\n      type: 'messaging',\n      name: 'user-to-user-messaging',\n      version: '1.0.0'\n    }\n  ],\n  dependencies: [\n    {\n      type: 'notifications',\n      required: false\n    }\n  ]\n});\n\n// Discover services\nconst services = await neverhub.discoverServices({\n  capabilityType: 'messaging'\n});\n```\n\n## 🏗️ Architecture\n\nNeverHub provides:\n\n- **Service Discovery**: Automatic discovery of available services and capabilities\n- **Package Management**: Registration and management of packages with dependencies\n- **Real-time Notifications**: Webhook-based notifications when dependencies become available\n- **API Management**: Secure API key management and authentication\n- **Metrics & Monitoring**: Built-in metrics collection and health monitoring\n- **Database Flexibility**: Support for table prefixing and multi-tenant deployments\n\n## 🔒 Security\n\n- JWT-based API authentication\n- Secure webhook delivery with HMAC signatures\n- Rate limiting on all endpoints\n- Capability-based access control\n- Audit logging of all operations\n\n## 📊 Features\n\n### Service Discovery\n- Discover packages by type, capability, or metadata\n- Real-time notifications when services become available\n- Dependency resolution and conflict detection\n- Capability-based service matching\n\n### Package Management\n- Enhanced package registration with capabilities\n- Dependency tracking and resolution\n- Version management and compatibility checking\n- Service metadata and configuration\n\n### Integration Hub\n- Event bus integration\n- Webhook delivery system\n- API key management\n- Health monitoring and metrics\n\n### Database Management\n- Table prefixing for multi-tenant deployments\n- Automated schema generation\n- Migration tools and rollback support\n- Prisma ORM integration\n\n## 🛠️ Development\n\n### Prerequisites\n\n- Node.js 18+\n- PostgreSQL 12+\n- Redis (optional)\n\n### Local Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/bernierllc/neverhub.git\ncd neverhub\n\n# Install dependencies\nnpm install\n\n# Set up environment\ncp env.neverhub.example .env.neverhub\n# Configure .env.neverhub\n\n# Generate schema and run migrations\nnpm run generate:schema\nnpm run db:migrate\n\n# Start development server\nnpm run dev\n```\n\n### Testing\n\n```bash\n# Run all tests\nnpm run test:all\n\n# Run specific test suites\nnpm run test:contracts\nnpm run test:functionality\nnpm run test:integration\nnpm run test:e2e\n```\n\n## 📖 Documentation\n\n- [Installation Guide](docs/customer/installation.md)\n- [API Reference](docs/customer/openapi.yaml)\n- [Integration Guide](docs/customer/integrating-your-app.md)\n- [Security Guide](docs/customer/security.md)\n- [Operations Guide](docs/customer/operations-monitoring.md)\n\n## 🤝 Support\n\n- **Documentation**: https://docs.neverhub.com\n- **Support**: https://support.neverhub.com\n- **GitHub**: https://github.com/bernierllc/neverhub\n\n## 📄 License\n\nCopyright © 2024 Bernier LLC. All rights reserved.\n\n---\n\n**NeverHub** - Empowering service discovery and package management for modern applications.\n","readmeFilename":"README.md"}