Metadata-Version: 2.5
Name: coactra
Version: 0.7.0
Summary: Composable libraries for AI agent fleets — model calls, memory, workspace, team, and agent composition in one package.
Project-URL: Homepage, https://github.com/DataOpsFusion/coactra
Project-URL: Repository, https://github.com/DataOpsFusion/coactra
Project-URL: Documentation, https://dataopsfusion.github.io/coactra/
Project-URL: Changelog, https://github.com/DataOpsFusion/coactra/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/DataOpsFusion/coactra/issues
Author: coactra authors
License: MIT
License-File: LICENSE
Keywords: agent-framework,agents,llm,multi-agent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: pydantic<3,>=2.7
Provides-Extra: a2a
Requires-Dist: a2a-sdk<2.0,>=1.0; extra == 'a2a'
Requires-Dist: sse-starlette>=2.0; extra == 'a2a'
Requires-Dist: starlette>=0.37; extra == 'a2a'
Provides-Extra: agent
Requires-Dist: pydantic-ai-slim<2,>=1.0; extra == 'agent'
Provides-Extra: agent-gateway
Requires-Dist: httpx>=0.27; extra == 'agent-gateway'
Requires-Dist: mcp>=1.24; extra == 'agent-gateway'
Requires-Dist: pydantic-ai-slim[mcp]<2,>=1.0; extra == 'agent-gateway'
Provides-Extra: all
Requires-Dist: pydantic-ai-slim<2,>=1.0; extra == 'all'
Requires-Dist: sqlmodel>=0.0.21; extra == 'all'
Provides-Extra: dev
Requires-Dist: fastmcp-slim[server]>=3.3.0; extra == 'dev'
Requires-Dist: mkdocs-material>=9; extra == 'dev'
Requires-Dist: mkdocs>=1.6; extra == 'dev'
Requires-Dist: pyright>=1.1; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Provides-Extra: graphiti
Requires-Dist: graphiti-core>=0.3; extra == 'graphiti'
Provides-Extra: mem0
Requires-Dist: mem0ai<1,>=0.1; extra == 'mem0'
Provides-Extra: memory
Provides-Extra: oauth
Requires-Dist: authlib>=1.3; extra == 'oauth'
Requires-Dist: httpx>=0.27; extra == 'oauth'
Provides-Extra: openfga
Requires-Dist: openfga-sdk<1,>=0.9; extra == 'openfga'
Provides-Extra: team
Requires-Dist: sqlmodel>=0.0.21; extra == 'team'
Provides-Extra: workspace
Description-Content-Type: text/markdown

# Coactra

Policy-aware composition for AI agents.

```bash
pip install "coactra[agent]"
```

```python
import asyncio

from pydantic_ai.models.test import TestModel

from coactra import Team


async def main() -> None:
    team = Team.local(model=TestModel())
    agent = await team.add_agent(name="helper")
    try:
        print(await agent.run("Say hello"))
    finally:
        await agent.aclose()


asyncio.run(main())
```

`Team` is the application assembly root. It owns policy, scope, model routes,
skills, and registered agents. Optional integrations remain replaceable:

```bash
pip install "coactra[agent-gateway,oauth]"
pip install "coactra[mem0]"
pip install "coactra[graphiti]"
```

Use root imports for application code. Deep imports under `coactra.agent`,
`coactra.memory`, `coactra.workspace`, and `coactra.team.directory` are backend
or runtime seams and may change during alpha.

Important behavior:

- tool, model, and peer actions are policy-aware;
- tenant scope crosses every state boundary;
- memory is optional, bounded, low-authority context;
- memory and thread persistence are explicit host actions;
- local command execution is disabled by default.

The repository's source and tests are authoritative. Runnable acceptance
examples live in `examples/acceptance/`.
