agenticraft-types¶
Shared type definitions, Pydantic models, Protocol classes, and error hierarchy for AgentiCraft packages.
Design Principles¶
- Under 1,000 LOC — focused and auditable
- Zero business logic — pure data contracts
- Single dependency — only
pydantic>=2.0 - Apache 2.0 licensed — use freely in any project
Installation¶
Package Contents¶
| Module | Description |
|---|---|
models |
Pydantic v2 request/response models (CompletionRequest, CompletionResponse, Message, Usage, StreamChunk, ProviderConfig) |
protocols |
Protocol classes for structural typing (Provider, StreamingProvider, Router, CircuitBreakerLike, KeyPoolLike) |
errors |
12-class exception hierarchy with structured error details |
config |
Configuration schemas (RetryConfig, CircuitBreakerConfig, RateLimitConfig) |
enums |
Enumerations (ProviderName, FailureType, RoutingStrategy, MessageRole, CircuitBreakerState) |
Quick Example¶
from agenticraft_types import (
CompletionRequest,
CompletionResponse,
Message,
MessageRole,
ProviderName,
)
# Build a request
request = CompletionRequest(
messages=[
Message(role=MessageRole.USER, content="Hello!"),
],
model="gpt-5-mini",
)
# Type-safe response
response = CompletionResponse(
content="Hi there!",
provider=ProviderName.OPENAI,
model="gpt-5-mini",
)
Compatibility¶
- Python 3.10+
- Pydantic 2.0+
- Tested on 3.10, 3.11, 3.12, 3.13