{"_id":"@awesome-agent/adapter-openai","_rev":"3-0cf52516954d28721c623b863f9189dc","name":"@awesome-agent/adapter-openai","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@awesome-agent/adapter-openai","version":"0.1.0","author":{"name":"Kaan Bingol","email":"kaanbingol@outlook.com"},"license":"Apache-2.0","_id":"@awesome-agent/adapter-openai@0.1.0","maintainers":[{"name":"kaanbingol","email":"kaanbingol@outlook.com"}],"homepage":"https://github.com/awesome-agent/awesome-agent-sdk#readme","bugs":{"url":"https://github.com/awesome-agent/awesome-agent-sdk/issues"},"dist":{"shasum":"0642c6ff0f9a80178fb68ae731ccf96a34787247","tarball":"https://registry.npmjs.org/@awesome-agent/adapter-openai/-/adapter-openai-0.1.0.tgz","fileCount":15,"integrity":"sha512-KZA6BzJ2ZXg7P4XUEP4bR5sAom+xsOj06TnH9qUISnc7OdiYyMMWeCfbYFyhRu8dAUw/DHNze/29uBz4sV2ogQ==","signatures":[{"sig":"MEUCIH+/Ka4yIrrsPn3+drMPQDqmEQHYpX+zl8ihsb9kyUnhAiEAsaEtNRuWNCmWsI4m34JtaEJp1OBOl7/d3ZITKeWw20E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5253cbc5cd51ec012d1382391cd112c86e19f562","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"kaanbingol","email":"kaanbingol@outlook.com"},"repository":{"url":"git+https://github.com/awesome-agent/awesome-agent-sdk.git","type":"git","directory":"packages/adapter-openai"},"_npmVersion":"11.8.0","description":"OpenAI-compatible adapter for @awesome-agent/agent-core (OpenAI, OpenRouter, Groq, Ollama, Together)","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","typescript":"^5.9.3","@awesome-agent/agent-core":"^0.1.0"},"peerDependencies":{"@awesome-agent/agent-core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-openai_0.1.0_1773575549884_0.39807784333834606","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@awesome-agent/adapter-openai","version":"0.1.1","author":{"name":"Kaan Bingol","email":"kaanbingol@outlook.com"},"license":"Apache-2.0","_id":"@awesome-agent/adapter-openai@0.1.1","maintainers":[{"name":"kaanbingol","email":"kaanbingol@outlook.com"}],"homepage":"https://github.com/awesome-agent/awesome-agent-sdk#readme","bugs":{"url":"https://github.com/awesome-agent/awesome-agent-sdk/issues"},"dist":{"shasum":"390073607249e05a6c2d0aaf931ad91cf5126695","tarball":"https://registry.npmjs.org/@awesome-agent/adapter-openai/-/adapter-openai-0.1.1.tgz","fileCount":15,"integrity":"sha512-VnJTXUkyBYkM49wzAT+XIT6p02H6rMjUY+DMYN+d3rbJOZsD/JrHib4JyPj4SqMJLV1o2oURmTl2OiprzcrEaw==","signatures":[{"sig":"MEUCIQDgwm0sEPT7C5fU7gsWg8/yMD2/fKa2JJCRzEXf5it3tAIgA60eKIB8tb013PzBBmbPiMGsDbC9/u8aLcIFjJ0/Fv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"79b02b7e77911de8451b39041d5e1332b1f5cbd5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"kaanbingol","email":"kaanbingol@outlook.com"},"repository":{"url":"git+https://github.com/awesome-agent/awesome-agent-sdk.git","type":"git","directory":"packages/adapter-openai"},"_npmVersion":"11.8.0","description":"OpenAI-compatible adapter for @awesome-agent/agent-core (OpenAI, OpenRouter, Groq, Ollama, Together)","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","typescript":"^5.9.3","@awesome-agent/agent-core":"^0.2.0"},"peerDependencies":{"@awesome-agent/agent-core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-openai_0.1.1_1773730918982_0.10099312995792364","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@awesome-agent/adapter-openai","version":"0.1.2","description":"OpenAI-compatible adapter for @awesome-agent/agent-core (OpenAI, OpenRouter, Groq, Ollama, Together)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","clean":"rm -rf dist","prepublishOnly":"npm run build"},"author":{"name":"Kaan Bingol","email":"kaanbingol@outlook.com"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/awesome-agent/awesome-agent-sdk.git","directory":"packages/adapter-openai"},"engines":{"node":">=18.0.0"},"sideEffects":false,"peerDependencies":{"@awesome-agent/agent-core":"*"},"devDependencies":{"@awesome-agent/agent-core":"^0.2.0","typescript":"^5.9.3","vitest":"^4.1.0"},"gitHead":"6fb431013a9c819bf958447b6621596c8bb37a3d","_id":"@awesome-agent/adapter-openai@0.1.2","bugs":{"url":"https://github.com/awesome-agent/awesome-agent-sdk/issues"},"homepage":"https://github.com/awesome-agent/awesome-agent-sdk#readme","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-XXHbKb5I/UEMIb1zINuunvsgd+6kZmm4Nw7FqJ16ggX9FZp8qiFB7H1KOlqVyG81bKlwGN8jhcRAMjzpvdv7Rw==","shasum":"39bca010a0160836d50d775370ea49c99d3c080e","tarball":"https://registry.npmjs.org/@awesome-agent/adapter-openai/-/adapter-openai-0.1.2.tgz","fileCount":15,"unpackedSize":32942,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDb2vOyJ0aq4mQP8pjqdMu4cpnAUod7CtZrqbjaGU+hMwIhAM6kYYbIHCc/6unoCcFZGvTEpH+Sms8OuKSQkdp8bJZU"}]},"_npmUser":{"name":"kaanbingol","email":"kaanbingol@outlook.com"},"directories":{},"maintainers":[{"name":"kaanbingol","email":"kaanbingol@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapter-openai_0.1.2_1776292287845_0.5027211392156707"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T11:52:29.787Z","modified":"2026-04-15T22:31:28.106Z","0.1.0":"2026-03-15T11:52:30.041Z","0.1.1":"2026-03-17T07:01:59.139Z","0.1.2":"2026-04-15T22:31:27.985Z"},"bugs":{"url":"https://github.com/awesome-agent/awesome-agent-sdk/issues"},"author":{"name":"Kaan Bingol","email":"kaanbingol@outlook.com"},"license":"Apache-2.0","homepage":"https://github.com/awesome-agent/awesome-agent-sdk#readme","repository":{"type":"git","url":"git+https://github.com/awesome-agent/awesome-agent-sdk.git","directory":"packages/adapter-openai"},"description":"OpenAI-compatible adapter for @awesome-agent/agent-core (OpenAI, OpenRouter, Groq, Ollama, Together)","maintainers":[{"name":"kaanbingol","email":"kaanbingol@outlook.com"}],"readme":"# @awesome-agent/adapter-openai\r\n\r\nOpenAI-compatible LLM adapter for [@awesome-agent/agent-core](../core).\r\n\r\nWorks with **any provider** that speaks the OpenAI chat completions protocol: OpenAI, OpenRouter, Groq, Ollama, Together, and more.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @awesome-agent/agent-core @awesome-agent/adapter-openai\r\n```\r\n\r\n## Usage\r\n\r\n```typescript\r\nimport { OpenAIAdapter } from \"@awesome-agent/adapter-openai\";\r\n\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"https://api.openai.com/v1\",\r\n  apiKey: process.env.OPENAI_API_KEY,\r\n});\r\n```\r\n\r\n### With OpenRouter\r\n\r\n```typescript\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"https://openrouter.ai/api/v1\",\r\n  apiKey: process.env.OPENROUTER_API_KEY,\r\n});\r\n```\r\n\r\n### With Groq\r\n\r\n```typescript\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"https://api.groq.com/openai/v1\",\r\n  apiKey: process.env.GROQ_API_KEY,\r\n});\r\n```\r\n\r\n### With Ollama (local)\r\n\r\n```typescript\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"http://localhost:11434/v1\",\r\n});\r\n```\r\n\r\n### With Retry\r\n\r\nWrap with `RetryLLMAdapter` for automatic retry on 429/500/503:\r\n\r\n```typescript\r\nimport { RetryLLMAdapter } from \"@awesome-agent/agent-core\";\r\nimport { OpenAIAdapter } from \"@awesome-agent/adapter-openai\";\r\n\r\nconst llm = new RetryLLMAdapter(\r\n  new OpenAIAdapter({\r\n    baseURL: \"https://api.openai.com/v1\",\r\n    apiKey: process.env.OPENAI_API_KEY,\r\n  }),\r\n  { maxRetries: 3, baseDelay: 1000 }\r\n);\r\n```\r\n\r\n### Custom Headers\r\n\r\n```typescript\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"https://your-proxy.com/v1\",\r\n  apiKey: \"your-key\",\r\n  defaultHeaders: {\r\n    \"X-Custom-Header\": \"value\",\r\n  },\r\n});\r\n```\r\n\r\n## Full Example with AgenticLoop\r\n\r\n```typescript\r\nimport {\r\n  AgenticLoop,\r\n  DefaultToolRegistry,\r\n  DefaultToolExecutor,\r\n  DefaultHookManager,\r\n  DefaultContextBuilder,\r\n} from \"@awesome-agent/agent-core\";\r\nimport { OpenAIAdapter } from \"@awesome-agent/adapter-openai\";\r\n\r\nconst llm = new OpenAIAdapter({\r\n  baseURL: \"https://openrouter.ai/api/v1\",\r\n  apiKey: process.env.OPENROUTER_API_KEY,\r\n});\r\n\r\nconst tools = new DefaultToolRegistry();\r\nconst loop = new AgenticLoop({\r\n  llm,\r\n  agent: { id: \"my-agent\", name: \"Agent\", prompt: \"You are helpful.\" },\r\n  tools,\r\n  executor: new DefaultToolExecutor(tools),\r\n  hooks: new DefaultHookManager(),\r\n  context: new DefaultContextBuilder(),\r\n});\r\n\r\nconst result = await loop.run(\"Hello!\", \"session-1\");\r\nconsole.log(result.output);\r\n```\r\n\r\n## Exports\r\n\r\n| Export | Description |\r\n|--------|-------------|\r\n| `OpenAIAdapter` | LLMAdapter implementation for OpenAI-compatible APIs |\r\n| `OpenAIAdapterConfig` | Configuration type (baseURL, apiKey, defaultHeaders) |\r\n| `OpenAIStreamParser` | SSE stream parser (advanced: use directly for custom streaming) |\r\n\r\n## License\r\n\r\nApache-2.0\r\n","readmeFilename":"README.md"}