{"_id":"@awesome-agent/adapter-anthropic","_rev":"2-08e38a6e871c50a38b0b562f8fb579aa","name":"@awesome-agent/adapter-anthropic","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@awesome-agent/adapter-anthropic","version":"0.1.0","author":{"name":"Kaan Bingol","email":"kaanbingol@outlook.com"},"license":"Apache-2.0","_id":"@awesome-agent/adapter-anthropic@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":"320b7083dce08a28ff7fb3877df667aa3c82d0fe","tarball":"https://registry.npmjs.org/@awesome-agent/adapter-anthropic/-/adapter-anthropic-0.1.0.tgz","fileCount":15,"integrity":"sha512-mWUwahqpsWAw5rZmT9FoxCwvKlBT5EQFnfqfbQumefPVsaKZc7+055LAjAUpAXmetol090l9564I7E54ExVqTQ==","signatures":[{"sig":"MEYCIQCSGrGV1Ewa73c4dNbuj8lROvme8lDV30gjwIQFnrQi5wIhAP1MxSTnaOpI24BfclC3hmK2bEYrHXG4x+PV7c+qxsth","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34697},"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"}},"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-anthropic"},"_npmVersion":"11.8.0","description":"Anthropic Claude adapter for @awesome-agent/agent-core","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","dependencies":{"@anthropic-ai/sdk":"^0.78.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-anthropic_0.1.0_1773575568064_0.8060740303369258","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@awesome-agent/adapter-anthropic","version":"0.1.1","description":"Anthropic Claude adapter for @awesome-agent/agent-core","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"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-anthropic"},"engines":{"node":">=18.0.0"},"sideEffects":false,"dependencies":{"@anthropic-ai/sdk":"^0.78.0"},"peerDependencies":{"@awesome-agent/agent-core":"*"},"devDependencies":{"@awesome-agent/agent-core":"^0.2.0","typescript":"^5.9.3","vitest":"^4.1.0"},"gitHead":"79b02b7e77911de8451b39041d5e1332b1f5cbd5","_id":"@awesome-agent/adapter-anthropic@0.1.1","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-CGbZ5iF6nrPiOptim7zXU8lSccfSLjBMkNVbJmyJlh3H0hxkrLLr1eFVk9kJ9W0mCGEgGDWQmBWkEhXgTYOBzQ==","shasum":"b9fc40868f79f278140d547c38c56d838cc4f098","tarball":"https://registry.npmjs.org/@awesome-agent/adapter-anthropic/-/adapter-anthropic-0.1.1.tgz","fileCount":15,"unpackedSize":34697,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCSMll/UmDtykggL3HoBOK2mRjCIsiTJrY1p97Y67SfjwIgFRxzBcCHqvsChcQwZCJsUQ2X2mwZhl/53rXmr6DirHA="}]},"_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-anthropic_0.1.1_1773730924095_0.05610463841006763"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T11:52:48.007Z","modified":"2026-03-17T07:02:04.385Z","0.1.0":"2026-03-15T11:52:48.214Z","0.1.1":"2026-03-17T07:02:04.249Z"},"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-anthropic"},"description":"Anthropic Claude adapter for @awesome-agent/agent-core","maintainers":[{"name":"kaanbingol","email":"kaanbingol@outlook.com"}],"readme":"# @awesome-agent/adapter-anthropic\r\n\r\nAnthropic Claude adapter for [@awesome-agent/agent-core](../core).\r\n\r\nUses the native [Anthropic Messages API](https://docs.anthropic.com/en/api/messages) — not the OpenAI compatibility layer. Supports streaming, tool use, and all Claude models.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @awesome-agent/agent-core @awesome-agent/adapter-anthropic\r\n```\r\n\r\n## Usage\r\n\r\n```typescript\r\nimport { AnthropicAdapter } from \"@awesome-agent/adapter-anthropic\";\r\n\r\nconst llm = new AnthropicAdapter({\r\n  apiKey: process.env.ANTHROPIC_API_KEY!,\r\n});\r\n```\r\n\r\n### With Custom Base URL (proxy)\r\n\r\n```typescript\r\nconst llm = new AnthropicAdapter({\r\n  apiKey: process.env.ANTHROPIC_API_KEY!,\r\n  baseURL: \"https://my-proxy.com\",\r\n});\r\n```\r\n\r\n### With Retry\r\n\r\n```typescript\r\nimport { RetryLLMAdapter } from \"@awesome-agent/agent-core\";\r\nimport { AnthropicAdapter } from \"@awesome-agent/adapter-anthropic\";\r\n\r\nconst llm = new RetryLLMAdapter(\r\n  new AnthropicAdapter({ apiKey: process.env.ANTHROPIC_API_KEY! }),\r\n  { maxRetries: 3 }\r\n);\r\n```\r\n\r\n## Full Example with AgenticLoop\r\n\r\n```typescript\r\nimport {\r\n  AgenticLoop, DefaultToolRegistry, DefaultToolExecutor,\r\n  DefaultHookManager, DefaultContextBuilder,\r\n} from \"@awesome-agent/agent-core\";\r\nimport { AnthropicAdapter } from \"@awesome-agent/adapter-anthropic\";\r\n\r\nconst llm = new AnthropicAdapter({\r\n  apiKey: process.env.ANTHROPIC_API_KEY!,\r\n});\r\n\r\nconst tools = new DefaultToolRegistry();\r\nconst loop = new AgenticLoop({\r\n  llm,\r\n  agent: {\r\n    id: \"claude-agent\",\r\n    name: \"Claude Agent\",\r\n    prompt: \"You are a helpful assistant.\",\r\n    model: \"claude-sonnet-4-20250514\",\r\n  },\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 Claude!\", \"session-1\");\r\nconsole.log(result.output);\r\n```\r\n\r\n## API Differences from OpenAI\r\n\r\nThis adapter handles Anthropic's unique API format automatically:\r\n\r\n| Feature | OpenAI | Anthropic (handled by adapter) |\r\n|---------|--------|-------------------------------|\r\n| System prompt | Message with `role: \"system\"` | Top-level `system` parameter |\r\n| Tool calls | `function` type | `tool_use` type |\r\n| Tool results | `role: \"tool\"` message | `tool_result` content block in user message |\r\n| Streaming events | `choices[0].delta` | `content_block_delta`, `message_delta` |\r\n| Stop reason | `finish_reason: \"stop\"` | `stop_reason: \"end_turn\"` |\r\n\r\nYou don't need to handle any of this — just use the adapter like any other `LLMAdapter`.\r\n\r\n## Configuration\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| `apiKey` | `string` | (required) | Anthropic API key |\r\n| `baseURL` | `string` | `\"https://api.anthropic.com\"` | API base URL |\r\n| `apiVersion` | `string` | `\"2023-06-01\"` | `anthropic-version` header |\r\n| `defaultHeaders` | `Record<string, string>` | `{}` | Extra headers |\r\n\r\n## Exports\r\n\r\n| Export | Description |\r\n|--------|-------------|\r\n| `AnthropicAdapter` | LLMAdapter implementation for Anthropic Messages API |\r\n| `AnthropicAdapterConfig` | Configuration type |\r\n| `AnthropicStreamParser` | SSE parser for Anthropic stream format (advanced) |\r\n\r\n## License\r\n\r\nApache-2.0\r\n","readmeFilename":"README.md"}