Metadata-Version: 2.4
Name: agentmark-claude-agent-sdk
Version: 0.1.0
Summary: Claude Agent SDK adapter for AgentMark - integrate AgentMark prompts with Claude Agent SDK
Project-URL: Homepage, https://github.com/agentmark/agentmark
Project-URL: Documentation, https://github.com/agentmark/agentmark#readme
Project-URL: Repository, https://github.com/agentmark/agentmark
Author: AgentMark Team
License-Expression: MIT
Keywords: agent-sdk,agentmark,ai,anthropic,claude,llm
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: agentmark-prompt-core>=0.1.0
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: claude-agent-sdk>=0.1.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest-mock>=3.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20; extra == 'otel'
Description-Content-Type: text/markdown

# AgentMark Claude Agent SDK Adapter

Python adapter for integrating AgentMark prompts with Claude Agent SDK.

## Installation

```bash
pip install agentmark-claude-agent-sdk
```

## Usage

```python
from agentmark_claude_agent_sdk import (
    create_claude_agent_client,
    ClaudeAgentModelRegistry,
    ClaudeAgentAdapterOptions,
)

# Create a client with default settings
client = create_claude_agent_client()

# Or with custom configuration
client = create_claude_agent_client(
    model_registry=ClaudeAgentModelRegistry.create_default(),
    adapter_options=ClaudeAgentAdapterOptions(
        permission_mode="bypassPermissions",
        max_turns=10,
    ),
)

# Load and format a prompt
prompt = await client.load_text_prompt(ast)
adapted = await prompt.format(props={"task": "Help me write code"})

# Execute with Claude Agent SDK
from claude_agent_sdk import query

async for message in query(prompt=adapted.query.prompt, options=...):
    print(message)
```

## Features

- Full integration with AgentMark prompt framework
- Model registry for custom model configurations
- Tool registry for custom tool definitions
- MCP server bridging for tool execution
- OpenTelemetry tracing support
- Webhook handler for HTTP-based prompt execution

## License

MIT
