Metadata-Version: 2.4
Name: inter-agent-core
Version: 0.2.0
Summary: Local authenticated message bus runtime and command-line tools
Author-email: Nicholas Moen <arcanemachine@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/arcanemachine/inter-agent-core
Project-URL: Repository, https://github.com/arcanemachine/inter-agent-core
Project-URL: Issues, https://github.com/arcanemachine/inter-agent-core/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Communications
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: cryptography==46.0.3
Requires-Dist: websockets==16.0
Dynamic: license-file

# inter-agent-core

This project provides a way for agentic applications (e.g. coding harnesses) to talk to each other.

`inter-agent-core` is a host-neutral Python runtime for a local, authenticated message bus. It provides the server, generic clients and commands, protocol contract, shared endpoint/secret state, routing, TLS, and lifecycle controls used by host extensions.

Pi and Claude Code integrations are separate repositories:

- [inter-agent-pi](https://github.com/arcanemachine/inter-agent-pi)
- [inter-agent-claude-code](https://github.com/arcanemachine/inter-agent-claude-code)

## Source checkout quick start

```bash
git clone https://github.com/arcanemachine/inter-agent-core.git
cd inter-agent-core
uv sync --locked
uv run inter-agent-server
```

In another terminal, inspect the local bus:

```bash
uv run inter-agent-status
uv run inter-agent-list
```

The default endpoint is `127.0.0.1:16837`. Local clients share endpoint and secret discovery through the same configuration/state rules. Use `inter-agent-shutdown` only when you intend to stop the shared server; it affects every connected client.

## Generic commands

```text
inter-agent-server
inter-agent-connect
inter-agent-send
inter-agent-list
inter-agent-status
inter-agent-shutdown
inter-agent-kick
inter-agent-publish
inter-agent-channels
```

Use `--help` on a command for its options. Host-specific setup and session UX belong to the extension repositories.

## Security

The default design is one user on one machine. Connections authenticate with a shared secret. Loopback connections default to plaintext WebSockets; non-loopback connections default to TLS. TLS encrypts transport but does not protect against hostile code running as the same operating-system user.

See [SECURITY.md](SECURITY.md) for the full model and [ARCHITECTURE.md](ARCHITECTURE.md) for protocol/runtime details.

## Development

```bash
./run-checks.sh
```

Protocol schemas, examples, and canonical error codes are in [spec/](spec/).

## License

MIT
