Metadata-Version: 2.4
Name: mail-swarms
Version: 2.0.1
Summary: Multi-Agent Interface Layer v2 workspace meta-package
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
License-File: THIRD_PARTY_NOTICES.md
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.12
Requires-Dist: mail-swarms-client==2.0.1
Requires-Dist: mail-swarms-daemon==2.0.1
Requires-Dist: mail-swarms-protocol==2.0.1
Requires-Dist: mail-swarms-server==2.0.1
Provides-Extra: client
Requires-Dist: mail-swarms-client==2.0.1; extra == 'client'
Requires-Dist: mail-swarms-protocol==2.0.1; extra == 'client'
Provides-Extra: daemon
Requires-Dist: mail-swarms-daemon==2.0.1; extra == 'daemon'
Requires-Dist: mail-swarms-protocol==2.0.1; extra == 'daemon'
Provides-Extra: legacy
Requires-Dist: aiohttp>=3.9.0; extra == 'legacy'
Requires-Dist: asyncpg>=0.31.0; extra == 'legacy'
Requires-Dist: dict2xml>=1.7.7; extra == 'legacy'
Requires-Dist: fastapi>=0.104.1; extra == 'legacy'
Requires-Dist: fastmcp>=2.12.5; extra == 'legacy'
Requires-Dist: langchain-core>=0.3.72; extra == 'legacy'
Requires-Dist: langchain>=0.3.27; extra == 'legacy'
Requires-Dist: langgraph>=0.6.3; extra == 'legacy'
Requires-Dist: langmem>=0.0.29; extra == 'legacy'
Requires-Dist: litellm>=1.76.2; extra == 'legacy'
Requires-Dist: numpydoc>=1.9.0; extra == 'legacy'
Requires-Dist: openai>=1.106.1; extra == 'legacy'
Requires-Dist: pydantic>=2.11.7; extra == 'legacy'
Requires-Dist: pyjwt>=2.10.1; extra == 'legacy'
Requires-Dist: pyreadline3>=3.5.4; (platform_system == 'Windows') and extra == 'legacy'
Requires-Dist: rich>=13.0.0; extra == 'legacy'
Requires-Dist: sse-starlette>=3.0.2; extra == 'legacy'
Requires-Dist: toml>=0.10.2; extra == 'legacy'
Requires-Dist: types-toml>=0.10.8.20240310; extra == 'legacy'
Requires-Dist: types-ujson>=5.10.0.20250822; extra == 'legacy'
Requires-Dist: ujson>=5.8.0; extra == 'legacy'
Requires-Dist: uvicorn>=0.24.0; extra == 'legacy'
Provides-Extra: protocol
Requires-Dist: mail-swarms-protocol==2.0.1; extra == 'protocol'
Provides-Extra: server
Requires-Dist: mail-swarms-protocol==2.0.1; extra == 'server'
Requires-Dist: mail-swarms-server==2.0.1; extra == 'server'
Description-Content-Type: text/markdown

# Multi-Agent Interface Layer (MAIL)

MAIL is a protocol and Python implementation for message-oriented coordination
between humans, agents, daemons, and swarms.

This repository is being reorganized for MAIL v2. The active implementation is
split into package-specific workspaces, while the older MAIL v1 reference
runtime is archived under `src/mail/legacy`.

## Active v2 Packages

- `src/mail/protocol` - shared protocol types and constants (`mail-protocol`)
- `src/mail/server` - FastAPI server implementation (`mail-server`)
- `src/mail/client` - command-line client (`mail-client`)
- `src/mail/daemon` - daemon implementation (`mail-daemon`)

## Repository Layout

```text
mail/
├── docs/                 # v2 repository-level docs
├── spec/                 # protocol specification and schemas
├── src/mail/
│   ├── protocol/         # mail-protocol package
│   ├── server/           # mail-server package
│   ├── client/           # mail-client package
│   ├── daemon/           # mail-daemon package
│   └── legacy/           # archived MAIL v1 runtime, docs, config, and UI
├── tests/                # active MAIL v2 test suite
├── scripts/              # repository maintenance scripts
└── pyproject.toml        # uv workspace and meta-package configuration
```

## Development

Install the workspace dependencies:

```bash
uv sync
```

Run the v2 server:

```bash
uv run mail-server
```

Use the v2 client:

```bash
uv run mail --help
```

Run active v2 tests:

```bash
uv run pytest
```

During the transition, some root-level scripts still target the legacy runtime.
Legacy tests and other v1 material live under `src/mail/legacy`.

Run archived legacy tests explicitly:

```bash
uv run --extra legacy pytest src/mail/legacy/tests
```

## Documentation

- Root v2 docs: `docs/README.md`
- Protocol/specification: `spec/`
- Server docs: `src/mail/server/docs/`
- Client docs: `src/mail/client/docs/`
- Legacy runtime notes: `src/mail/legacy/README.md`
- Archived v1 docs: `src/mail/legacy/docs/`

## Legacy Runtime

The MAIL v1 runtime is kept for compatibility and historical reference. Use
`mail.legacy.*` imports for archived code as it is migrated into the legacy
namespace.

Do not add new v2 behavior to the legacy runtime unless it is needed for a
specific compatibility or migration task.

## Licensing

Reference implementation code is licensed under Apache License 2.0. Protocol
specification materials are covered by their repository license files.

