Skip to main content

SDK Overview

The Waxell SDK provides intent-only definitions for building AI agents. It defines what your agent does, not how it executes.

Core Principle

The SDK deliberately separates intent from execution:

# SDK: Defines WHAT the agent does (intent)
from waxell_sdk import agent, workflow, decision

@agent(name="my-agent")
class MyAgent:
@workflow
def process(self, ctx):
result = ctx.call(self.decide)
return result

# Runtime: Handles HOW it executes
from waxell_runtime import RuntimeConfig
config = RuntimeConfig.get()

Key Abstractions

ConceptDecoratorPurpose
Agent@agentTop-level container for capabilities
Workflow@workflowMulti-step execution flow
Decision@decisionLLM-powered decision point
Tool@toolExternal system integration
Capability@capabilityReusable behavior bundle

Dependency Rules

The SDK has strict import boundaries:

  • MUST NOT import runtime, controlplane, Django, or perform I/O
  • MAY depend on: stdlib, typing, pydantic, attrs, dataclasses

This ensures your agent definitions remain pure and testable.

Next Steps