Metadata-Version: 2.4
Name: swarmkit-runtime
Version: 1.0.0
Summary: SwarmKit runtime: topology interpreter, LangGraph compiler, AGT-backed governance, CLI and HTTP server.
Author: Srijith Kartha
License: MIT
Keywords: agents,agt,langgraph,mcp,multi-agent,swarm
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: agent-os-kernel<4.0,>=3.2.0
Requires-Dist: agent-sre<4.0,>=3.2.0
Requires-Dist: agentmesh-platform<4.0,>=3.2.0
Requires-Dist: anthropic>=0.39
Requires-Dist: anyio>=4.4
Requires-Dist: fastapi>=0.115
Requires-Dist: google-genai>=1.0
Requires-Dist: httpx>=0.27
Requires-Dist: langchain-core>=0.3
Requires-Dist: langgraph>=0.2
Requires-Dist: mcp>=1.0
Requires-Dist: openai>=1.50
Requires-Dist: pydantic>=2.8
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.7
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: swarmkit-schema
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Provides-Extra: dev
Requires-Dist: mypy>=1.11; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: types-pyyaml; extra == 'dev'
Description-Content-Type: text/markdown

# swarmkit-runtime

Python runtime for SwarmKit. Interprets topology files, compiles them into LangGraph `StateGraph`s, enforces governance via the `GovernanceProvider` abstraction (AGT-backed in v1.0), and exposes the `swarmkit` CLI plus a persistent HTTP server.

## Layout

```
src/swarmkit_runtime/
├── cli/                 # Typer-based CLI: init, author, run, serve, eject
├── topology/            # Topology loader, validator, resolver (archetype + skill refs)
├── skills/              # Skill registry, category-specific semantics, composition
├── archetypes/          # Archetype registry and instantiation
├── governance/          # GovernanceProvider interface + AGTGovernanceProvider impl
├── langgraph_compiler/  # Topology → StateGraph compilation (design §14.3)
├── mcp/                 # MCP client, server lifecycle, sandbox supervision
└── audit/               # Append-only audit log adapters, skill gap log surfacing
```

## Design references

- §7 Architectural Principles — `topology as data`, `eject, never lock-in`
- §8 Separation of Powers — `governance/` module is the SwarmKit side; AGT is the implementation
- §9 System Architecture — this package is component #1 of 3
- §14 Runtime Architecture — three execution modes (one-shot, persistent, scheduled)

## Entry points (design §14.2)

| Command | What it does |
| --- | --- |
| `swarmkit init` | Launch Workspace Authoring Swarm in terminal chat mode |
| `swarmkit author topology [name]` | Launch Topology Authoring variant |
| `swarmkit author skill [name]` | Launch Skill Authoring Swarm |
| `swarmkit author archetype [name]` | Launch Archetype Authoring variant |
| `swarmkit run topology.yaml` | One-shot execution |
| `swarmkit serve workspace/` | Persistent / scheduled mode |
| `swarmkit eject topology.yaml` | Export LangGraph code |

## Development

```bash
uv sync --package swarmkit-runtime
uv run pytest packages/runtime/tests
uv run swarmkit --help
```
