{"_id":"@anygpt/router","_rev":"8-116deda5af6cd3bd6384841dedb2d9e0","name":"@anygpt/router","dist-tags":{"latest":"0.6.1"},"versions":{"0.1.0":{"name":"@anygpt/router","version":"0.1.0","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.1.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"0aa3a2742ce78b244d685262864abf9e280bdc85","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.1.0.tgz","fileCount":10,"integrity":"sha512-NyAwsfBQpycWKvIUYOUkA9Ak5HvaAfod3cLCm2TkuXqPVCa3HPWf9uWQKRr2rVnOXauVCoiZA1CKaj1TIvHW2Q==","signatures":[{"sig":"MEQCIFb2pzhAaBgLBBkZ/3nllB1MhRtHLr92RQkUV7GltP/6AiB0N9dGIbRzBi3qUBjYogMGJUMtXHu8U48ZTCJvgEjvHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anygpt%2frouter@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"2fd94ce4107cbaaec0807d0e6afac3c1da845b07","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"10.9.3","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"22.20.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.1.0_1759608701395_0.10010037268410388","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@anygpt/router","version":"0.2.2","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.2.2","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"c54765e4095a2d732b54c251b7d5bdf8a3ba20fe","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.2.2.tgz","fileCount":10,"integrity":"sha512-0U4qHNS6PBvWr48XTeRYsWqMrjHJLPrCjjz5BQJf4gXqztoVWNSylIREp5fm8BWAokN6KKKCjU7WTa/dGkpmyg==","signatures":[{"sig":"MEUCIQC3LRCyeW8P3SiKh98hEdxCV8PsJm4SneYp1PtBmPmZXwIgTpzdnYHG7Bqkax/7yKM/ldw6Q3kL2tfFXA6I2Xa8RZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anygpt%2frouter@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7afca831e7f4bc95133539e174c81f7003db1f8a","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"10.9.3","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"22.20.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.2.2_1759619525474_0.9660558687115981","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@anygpt/router","version":"0.2.3","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.2.3","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"e088243413e1793b54616918974aea9f3ee63147","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.2.3.tgz","fileCount":10,"integrity":"sha512-x/lzoM0ZPeKKhLO0HbWz2C1HUE/XKrTccXROtxJ8v2IbkqOffOE6LLQrbvPo/loLo4pEbMOiT5d+fkozUX7hwA==","signatures":[{"sig":"MEUCIEwJP616Ldar2ddQUeXF/819L8M1z51DWq2NsQ2rT6HVAiEA2j+UgpKxySoh9um67bb/nlXYdup0/9DNEvtNoR8Bzgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"d7cf5764e5689d60076447b0f9234b0649c989be","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"11.6.0","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"24.9.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.2.3_1759754267526_0.1471872754945993","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anygpt/router","version":"0.3.0","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.3.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"3c8d8e8725e32d00dd974de98b97166a5085bf96","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.3.0.tgz","fileCount":10,"integrity":"sha512-vPLot1BxiofoqH0E7I/MgnRP7oAmsRHAYC2q4fXlLqhgVYi5Fse95pVbnJdUfYFme9O+5J5A7WuiUcvd1ZxW+A==","signatures":[{"sig":"MEYCIQCLwD5hymGs6cco2tvPffv2Ikg4hZdG+AyRhIQFlCUCggIhAMGIgNCd5Gdq5FJUPwi1ZC+AVKK6y6pMLcP/S4st9p3e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88504},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"ad7eeecae0068b43d2f7e702bd88a65d1cfbfc03","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"11.6.0","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"24.9.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.3.0_1759769366791_0.7216616560786722","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@anygpt/router","version":"0.3.1","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.3.1","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"fef44ac6298b558721d3d4d36ee50da178ba25f7","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.3.1.tgz","fileCount":10,"integrity":"sha512-8br4A8Wxs9q07dTPKNb1HQMjUGu4bwsDGMXodhdngHZgm4RYQzkKnl/rYcWQOpFNz+jCtCcpEEzNM4JSndHA9Q==","signatures":[{"sig":"MEYCIQCnb6ynI9P6gacIVm53h4DiPyClEb2O+EXE1X6rtGE1zAIhAO6vUfH5QidZb8fecLjUPvdrmoSy13O+hUruou+im6HN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88504},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"23f2c0034f0e09fcced1adcc0a354a4bf03bb9ba","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"11.6.0","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"24.9.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.3.1_1760004022048_0.4652992497829387","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anygpt/router","version":"0.4.0","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.4.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"a95a45e10b3d5bc072ab5593928fd1f21074daf6","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.4.0.tgz","fileCount":11,"integrity":"sha512-nTPPGmgBfoVfVqA2B8eOhhrI/Ve0lLq1zFoZaD/rW2idaBdIEsH+7feh7aISCpFUfhuLohl3lE+YIEOOM+fHow==","signatures":[{"sig":"MEYCIQCVkue5AJDHd0NGpGLhbYxj3t9++aU1TQvMtPzn39JhdgIhAII6jvkL6nz/x8xtZAoPpCAG7L2gFRTDhzrVYq5brY7/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"a6449019274244c118f478b3c2e182e9a3503d02","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"11.6.0","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@anygpt/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.4.0_1760222993156_0.7479333261837229","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anygpt/router","version":"0.5.0","keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","_id":"@anygpt/router@0.5.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/genai-tools/anygpt#readme","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"dist":{"shasum":"5eca99fabad81916fde815b088bfeaf547c29a4a","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.5.0.tgz","fileCount":11,"integrity":"sha512-PGM0lmxLENBVeZK8/cfIdeuLoLlFNRpY7o2P6lfC//rli0gn/h9QO2U9AIkZmfDSIGQw/3Uk322/CurW+zrmAA==","signatures":[{"sig":"MEQCIAtztsgbMM+JPX/pJdt6tBqonaqkLOkSmURn9vJGG1ooAiBuBDL/QnkYC+G+rWFFAmFigU1XUUGu3934Kqr0hMsWFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113835},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"6cd81e0e51813dca22fe3fd30f707d7b42a52e15","_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"repository":{"url":"git+https://github.com/genai-tools/anygpt.git","type":"git","directory":"packages/router"},"_npmVersion":"11.6.1","description":"Core router for AnyGPT - routes requests to multiple AI providers","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@anygpt/types":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/router_0.5.0_1760436823014_0.08210148639264547","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@anygpt/router","version":"0.6.1","description":"Core router for AnyGPT - routes requests to multiple AI providers","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/genai-tools/anygpt.git","directory":"packages/router"},"keywords":["ai","gpt","openai","router","gateway","llm"],"author":{"name":"AnyGPT Contributors"},"license":"MIT","bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"homepage":"https://github.com/genai-tools/anygpt#readme","publishConfig":{"access":"public"},"dependencies":{"@anygpt/types":"2.0.1"},"gitHead":"694856d0f9aa5bafc05fbf934367a8add2fddb59","_id":"@anygpt/router@0.6.1","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-qx8mJpJRZw87utjipG8LKbfzaExSgwTDdtgASG6jPLTZKNjI1wun3vMhG/HNX5wyqRWJ8+CMDDsBvV5qNrUFnw==","shasum":"f27a0ba8249bf99b2a509d0e62460bb6853463e1","tarball":"https://registry.npmjs.org/@anygpt/router/-/router-0.6.1.tgz","fileCount":11,"unpackedSize":116736,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGjL1IBZRoI4rzWE0muZDBwsDsHY3vphEeH/RpLWRPkDAiBh7Kn4/3G3kDxcxM0aC2362SLzplmvE8lr+KVHVzemQw=="}]},"_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"directories":{},"maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/router_0.6.1_1761046510693_0.8864492301567768"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-04T20:11:41.297Z","modified":"2025-10-21T11:35:11.085Z","0.1.0":"2025-10-04T20:11:41.606Z","0.2.2":"2025-10-04T23:12:05.667Z","0.2.3":"2025-10-06T12:37:47.696Z","0.3.0":"2025-10-06T16:49:26.990Z","0.3.1":"2025-10-09T10:00:22.236Z","0.4.0":"2025-10-11T22:49:53.328Z","0.5.0":"2025-10-14T10:13:43.198Z","0.6.1":"2025-10-21T11:35:10.883Z"},"bugs":{"url":"https://github.com/genai-tools/anygpt/issues"},"author":{"name":"AnyGPT Contributors"},"license":"MIT","homepage":"https://github.com/genai-tools/anygpt#readme","keywords":["ai","gpt","openai","router","gateway","llm"],"repository":{"type":"git","url":"git+https://github.com/genai-tools/anygpt.git","directory":"packages/router"},"description":"Core router for AnyGPT - routes requests to multiple AI providers","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"readme":"# AnyGPT Router\n\n> **⚠️ WORK IN PROGRESS**: This package is under active development. APIs and routing mechanisms may change significantly. Use at your own risk in production environments.\n\nA secure, enterprise-ready router for AI providers with flexible configuration and MCP protocol support.\n\n## 🎯 **Overview**\n\nThe AnyGPT Router provides a unified interface to AI providers with:\n\n- **🔧 Flexible configuration** - Provider-based configuration system\n- **🔒 Enterprise security** - Secure credential management and proxy support\n- **🎭 Provider abstraction** - Consistent API across different AI providers\n- **📊 MCP compliance** - Seamless integration with MCP clients\n- **🧪 Test-driven** - Comprehensive test coverage\n- **⚡ TypeScript-first** - Full type safety and IntelliSense\n\n## 🚀 **Quick Start**\n\n### **Installation**\n\n```bash\nnpm install @anygpt/router\n```\n\n### Basic Usage\n\n```typescript\nimport { GenAIRouter } from '@anygpt/router';\nimport { OpenAIConnectorFactory } from '@anygpt/openai';\n\n// Create router and register connector factory\nconst router = new GenAIRouter();\nrouter.registerConnector(new OpenAIConnectorFactory());\n\n// Create connector instance\nconst connector = router.createConnector('openai', {\n  apiKey: process.env.OPENAI_API_KEY,\n  baseURL: 'https://api.openai.com/v1',\n});\n\n// Make request\nconst response = await connector.chatCompletion({\n  messages: [{ role: 'user', content: 'Hello!' }],\n  model: 'gpt-4o',\n});\n```\n\n### Configuration-Driven Approach\n\n```typescript\nimport { defineConfig, createRouter } from '@anygpt/router';\n\n// Define configuration\nconst config = defineConfig({\n  providers: {\n    openai: {\n      type: 'openai',\n      apiKey: process.env.OPENAI_API_KEY,\n      baseURL: 'https://api.company.com/openai/v1',\n    },\n  },\n});\n\n// Create router with config\nconst router = createRouter(config);\n```\n\n## Documentation\n\n| Document                                       | Description                                                     |\n| ---------------------------------------------- | --------------------------------------------------------------- |\n| **[Configuration Guide](docs/CONFIG.md)**      | Provider configuration system, environment setup, customization |\n| **[API Reference](docs/API.md)**               | Complete API documentation, types, and examples                 |\n| **[Architecture](docs/ARCHITECTURE.md)**       | System design, patterns, and extension points                   |\n| **[Connector Usage](docs/CONNECTOR_USAGE.md)** | Provider-specific usage and best practices                      |\n| **[Logging Guide](docs/LOGGING.md)**           | Logger integration, custom loggers, and best practices          |\n\n## Supported Providers\n\n| Provider      | Models                     | Features                                  |\n| ------------- | -------------------------- | ----------------------------------------- |\n| **OpenAI**    | GPT-4o, GPT-4, GPT-3.5, o1 | Chat completion, function calling, vision |\n| **Anthropic** | Claude Sonnet, Opus, Haiku | Native API, function calling              |\n| **Mock**      | test-model                 | Development and testing                   |\n\n## Configuration Examples\n\n### Environment-Based\n\n```bash\nexport OPENAI_API_KEY=sk-your-key\nexport ANYGPT_LOG_LEVEL=info\n```\n\n### Company Proxy\n\n```typescript\nimport { defineConfig } from '@anygpt/router';\n\nconst config = defineConfig({\n  providers: {\n    openai: {\n      type: 'openai',\n      apiKey: process.env.OPENAI_API_KEY,\n      baseURL: 'https://api.company.com/openai/v1',\n      headers: { 'X-Company-ID': 'engineering' },\n    },\n  },\n});\n```\n\n### Azure OpenAI\n\n```typescript\nimport { defineConfig } from '@anygpt/router';\n\nconst config = defineConfig({\n  providers: {\n    azure: {\n      type: 'openai',\n      apiKey: process.env.AZURE_OPENAI_API_KEY,\n      baseURL: 'https://resource.openai.azure.com/openai/deployments/gpt-4o',\n      headers: { 'api-version': '2024-02-15-preview' },\n    },\n  },\n});\n```\n\n## Architecture\n\n```\nMCP Client → @anygpt/mcp → @anygpt/router → AI Provider APIs\n```\n\n- **Router Layer** (this package): Provider abstraction, routing, security\n- **MCP Layer** (separate package): MCP protocol implementation\n- **Connector Pattern**: Extensible provider implementations\n- **Configuration System**: Flexible provider-based configuration\n\n## Development\n\n### Setup\n\n```bash\nnpm install\nnpm test          # Run tests\nnpm run build     # Build package\n```\n\n### Testing\n\n- **Comprehensive test coverage** for all functionality\n- **Mock connector** for development and testing\n- **Type-safe** test utilities and fixtures\n\n### Project Structure\n\n```\nsrc/\n├── types/           # Core type definitions\n├── connectors/      # Provider implementations\n│   ├── base/        # Base connector interface\n│   ├── openai/      # OpenAI connector implementation\n│   └── registry.ts  # Connector registry\n├── lib/             # Core router implementation\n└── config.ts        # Configuration system\n```\n\n## Key Features\n\n### **Flexible Configuration**\n\n- Provider-based configuration system\n- Easy customization and extension\n- Environment variable support\n- Company-specific configurations\n\n### **Enterprise-Ready**\n\n- Secure credential management\n- Proxy and custom header support\n- Comprehensive error handling\n- Production-tested patterns\n\n### **Developer Experience**\n\n- Full TypeScript support\n- Comprehensive documentation\n- Test-driven development\n- Clear error messages\n\n## 🔮 **Roadmap**\n\n- **Additional Providers**: Anthropic, Google, local models, custom endpoints\n- **Advanced Features**: Request middleware, multi-provider fallback\n- **Monitoring**: Metrics, logging, cost tracking\n- **Enhanced MCP Integration**: Advanced MCP server features\n\n## License\n\nMIT - See [LICENSE](LICENSE) for details.\n\n---\n\n**Built with ❤️ for the MCP ecosystem** | [Documentation](docs/) | [API Reference](docs/API.md) | [Architecture](docs/ARCHITECTURE.md)\n","readmeFilename":"README.md"}