{"_id":"@ai-ide-bridge/core","_rev":"12-8516c9a69136335249fc9ca375bce2fe","name":"@ai-ide-bridge/core","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.1":{"name":"@ai-ide-bridge/core","version":"1.0.1","_id":"@ai-ide-bridge/core@1.0.1","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"84432972d92d931dd0e5b9745ee184c7e3269b0d","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.0.1.tgz","fileCount":43,"integrity":"sha512-6i4JLrQTYneGXfleOsaHi/XVtp8rtSHuzb8dIv6fRXr7MaovfNwLVamqRD31wpKaI7oBhC8O20JeA9U61lijig==","signatures":[{"sig":"MEYCIQDCoNZ1JUyOPTgaTMKjuc2sOCeAwO2wHwgKWKwwdlvH4AIhAKTEKZ40vrL2ARPSxcUJNWOfIvYC/kDRDN8VLjFRsOxE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"2758b54e6e9918eaa2fe64faada4f012501cc5a2","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.1_1779057866406_0.7726335739992032","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ai-ide-bridge/core","version":"1.0.2","_id":"@ai-ide-bridge/core@1.0.2","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"7407d33b7e8d118382d1a76d81972c47f0cdc57b","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.0.2.tgz","fileCount":43,"integrity":"sha512-SEAuehApPy603Jlf63+XEvqDpR4oSTIWVhl9+4rlmFXEbov95ffNmRqSHADBgAosWBYXiIETwD0DiGPlDu3o3Q==","signatures":[{"sig":"MEUCIQCZZmm1VxkKtp694yrApOlvPDNhIZgT1m81jVHiMT036gIgIz7GQpP5IUiBIIAFFAGp88JGC/Aas5ff2YkzsZvciQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5cf2b1f21833c9a3a36dcae48f29d161c0297b8e","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.2_1779058283161_0.5214913591951456","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ai-ide-bridge/core","version":"1.0.3","_id":"@ai-ide-bridge/core@1.0.3","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"7606d65088ae52cc2826cca9d87dd30d69f7a30b","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.0.3.tgz","fileCount":43,"integrity":"sha512-XDb3kvnQp8NF9Qd1T/aBIUdoAI9LtZh1xqQ/6hsPmEEQJiD8/L5qsJRK4L/UOMpBfnRlqqlcFE4oFmNZpVQFNw==","signatures":[{"sig":"MEYCIQC4i6L202Y7v0kwrjkbOW3ASGMNosIpx3lYpQUFLybB3AIhAOCGjOtfEXIrOEZe0xV0w9s1/4mXZgixZCKz0XWgXcy0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"219e260d079b694109ee09f8e3c2b28caccb2daa","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.3_1779058645174_0.19874606871078138","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ai-ide-bridge/core","version":"1.0.4","_id":"@ai-ide-bridge/core@1.0.4","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"2ff64cf4f691982d785fdb4221da287e6477deb7","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.0.4.tgz","fileCount":43,"integrity":"sha512-E2VVl9iAtT/moiVsP8rFWf9yGUpz3UaJjU72Y1v5Dy6PVIFmucrPblz86+OXqBoTNAiaXl119im4yxM0hSG8sw==","signatures":[{"sig":"MEUCIQC1GzuyyM5qfaqTU/9MHz3hYQT0MEK7Zs2AWs68o15dHwIgZ4N9M48s5+8aM+sD4SILH2j6C9hcAg+ZgBeNW7aqHqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e3b54e64e15bddc75d68821e81686fb9549b4d15","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.4_1779059343616_0.037573189532980056","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ai-ide-bridge/core","version":"1.0.5","_id":"@ai-ide-bridge/core@1.0.5","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"758fcfcdfbcf8ede39788110fc44cf317229d6ef","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.0.5.tgz","fileCount":43,"integrity":"sha512-bacoiHQFe/+1W3jkuPazG5gMqvTRhVfiYx5NsWcydMU8vpjvjNX2ksT8/qiYkwunNcMnW+puvoixvyRyDOry0w==","signatures":[{"sig":"MEUCIFxTH3yK7vkQ+Lnku+4v0sY/sDWlD1zH2Cut6KpqyHKhAiEA6IGC/E99+oAZkOwwxOO3XCGzGxFNloC8RPXI8TjNfCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4f8f40b05e5b84ca80c274952f2826808abfc9a1","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.5_1779078352916_0.8535067161588497","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ai-ide-bridge/core","version":"1.1.0","_id":"@ai-ide-bridge/core@1.1.0","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"aed7362e2f2a91abe5ed25590c80fc524fa4f302","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.1.0.tgz","fileCount":43,"integrity":"sha512-z6hvk+VKRvE8B1Lxfc44VseR0ZXwF1xNmULtDwGjbTNHoRS5z67cinjUv4I4oiFZ9Gx6TaabKHhsAPXWx0BPdQ==","signatures":[{"sig":"MEUCIQCrZvEaciaX+SzPaPro5uBZAEBsBuCL4umd2G+Q0pK0hQIgWErSjqaHKE53u4cZbfZb9RtszCfOeOUiP8qSEFi/phQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9f9490c4f0333b7164c7f60e24f691adf71febda","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.0_1779299392072_0.06778529100036912","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ai-ide-bridge/core","version":"1.1.1","_id":"@ai-ide-bridge/core@1.1.1","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"c6898b0791f110c9e75a8c378d0bb1a1467a0c4b","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.1.1.tgz","fileCount":43,"integrity":"sha512-N8DqwipIIebtY2mAngbLjt7HDeQ7TlKvvGsc8VVhzGZCdl6MT7cpm4q0jOxxsquxtmbr8xsCocm++B33H8NbuQ==","signatures":[{"sig":"MEUCIQCYx0iNntM1a5HQaVArifPGjN1PBF1U2tRXFQZC2aBVWQIgbnUpiRT7YfCVWZWvmIjvya+ZZ95cTe/tCuF2sWK942Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5c1def9f7e088625dbf7e5b35a5203947aa0f366","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.1_1779305506507_0.8160592130536377","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ai-ide-bridge/core","version":"1.1.2","_id":"@ai-ide-bridge/core@1.1.2","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"dist":{"shasum":"c2d961a5d254b7bc51551a4e577862933b1ed1b0","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.1.2.tgz","fileCount":43,"integrity":"sha512-Q+HNLW5gbywx1ASdnDYhC9zLu0qcNb1zE3vJ/73MgN1+8CKFKz4ZKW6oIk0QGABFXtkTe1gA2iWjvsl+Wl1UZg==","signatures":[{"sig":"MEUCIHQA4lI8SY0CVrx7jIjddhFkaHFpWvz+3nY8h4VWyr0/AiEAwEgZQUpeNa28ILlWoYKWZQejE3QDhBQSxCdAy7bR+o8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123960},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f5d32b9cf804a7e4845c226c8bca38922d6fedee","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"_npmVersion":"10.8.2","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","@ai-ide-bridge/oauth":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.2_1779336732967_0.08852059947014634","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ai-ide-bridge/core","version":"1.2.0","type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"vitest run","lint":"tsc --noEmit","typecheck":"tsc --noEmit","dev":"tsc --watch"},"dependencies":{"@ai-ide-bridge/oauth":"workspace:*","zod":"^3.25.76"},"devDependencies":{"@types/node":"^22.15.0","vitest":"^2.0.0"},"_id":"@ai-ide-bridge/core@1.2.0","gitHead":"2666a621c6966bca51df41f8ec9a5ad936ee21bc","description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-DG/JVa3QnTCGItTWkDv6F8B2p+gCh+XRzVw8hwo8YZTWkOFEeqBJZk8gy0LT6R4DDoz9MQmsCV95KDQkr6QOjg==","shasum":"fead3bea4cabc3b7f534be754cd6861294d75767","tarball":"https://registry.npmjs.org/@ai-ide-bridge/core/-/core-1.2.0.tgz","fileCount":58,"unpackedSize":150564,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB5IpgUFFZRnHU5VJbqeGmAwLRWAp+r0onNL8wLDmaJLAiBv9TtFJzSOZdtEDXdTOFkD10qyNFflCX8U31CDrFL+fQ=="}]},"_npmUser":{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"},"directories":{},"maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_1.2.0_1779385556915_0.12749989166583497"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-17T22:44:26.338Z","modified":"2026-05-21T17:45:57.166Z","1.0.0":"2026-05-17T22:09:09.302Z","1.0.1":"2026-05-17T22:44:26.538Z","1.0.2":"2026-05-17T22:51:23.326Z","1.0.3":"2026-05-17T22:57:25.306Z","1.0.4":"2026-05-17T23:09:03.757Z","1.0.5":"2026-05-18T04:25:53.053Z","1.1.0":"2026-05-20T17:49:52.213Z","1.1.1":"2026-05-20T19:31:46.655Z","1.1.2":"2026-05-21T04:12:13.109Z","1.2.0":"2026-05-21T17:45:57.053Z"},"description":"The core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.","maintainers":[{"name":"aeswibon","email":"gupta.abhiuday@icloud.com"}],"readme":"# @ai-ide-bridge/core\n\nThe core HTTP server, session management, and shared infrastructure for **AI IDE Bridge**.\n\nAI IDE Bridge is a local HTTP server that translates OpenAI-compatible API requests into provider-specific calls (Cursor SDK, GitHub Copilot, Windsurf), enabling any OpenAI-format client to use any AI IDE's model catalog.\n\n## Overview\n\n`@ai-ide-bridge/core` provides the foundational building blocks for creating AI IDE bridge plugins:\n\n- **HTTP Server**: Native Node.js server handling `/health`, `/v1/models`, and `/v1/chat/completions`.\n- **OpenAI Parser & Formatter**: Zod-based request validation and SSE stream formatting.\n- **Plugin Registry & Model Router**: Manages active plugins and routes requests by model ID prefixes.\n- **Session Management**: In-memory session tracking with TTL cleanup.\n- **Daemon Manager**: Infrastructure for managing local daemon binaries (stdio/JSON-RPC communication).\n\n## Installation\n\n```bash\nnpm install @ai-ide-bridge/core\n```\n\n## Creating a Plugin\n\nPlugins implement the `BridgePlugin` interface:\n\n```typescript\nimport type {\n  BridgePlugin,\n  BridgeSession,\n  ModelInfo,\n  Message,\n  ToolDefinition,\n  StreamChunk,\n} from '@ai-ide-bridge/core';\n\nexport class MyBridgePlugin implements BridgePlugin {\n  name = 'my-provider';\n  version = '1.0.0';\n\n  async authenticate(config: Record<string, string>): Promise<boolean> {\n    // Validate credentials\n    return true;\n  }\n\n  async listModels(config: Record<string, string>): Promise<ModelInfo[]> {\n    // Return available models\n    return [];\n  }\n\n  async createSession(config: Record<string, string>, model: string): Promise<BridgeSession> {\n    // Return a streaming session\n    return new MyBridgeSession();\n  }\n}\n```\n\n## Documentation\n\nFor full documentation, plugin development guides, and architecture details, please visit the main repository: [https://github.com/aeswibon/llm-bridge](https://github.com/aeswibon/llm-bridge).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}