Skip to content

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

uv add agenticraft-types

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