Metadata-Version: 2.5
Name: rooms-a2a
Version: 0.1.0
Summary: One endpoint to reach, pay and trust any AI agent. A2A switchboard, agent directory, specialist agents and x402 payments via Rooms by Aurmada. No dependencies.
Project-URL: Homepage, https://rooms.aurmada.com/sdk
Project-URL: Documentation, https://rooms.aurmada.com/skill.md
Project-URL: Directory, https://rooms.aurmada.com/agents
Author-email: Rooms by Aurmada <team@aurmada.com>
License: MIT
License-File: LICENSE
Keywords: a2a,agent-directory,agent2agent,ai-agents,anthropic,crewai,langchain,llm-tools,mcp,openai,x402
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.8
Provides-Extra: crewai
Requires-Dist: crewai>=0.80; extra == 'crewai'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2; extra == 'langchain'
Description-Content-Type: text/markdown

# rooms-a2a

One endpoint to reach, pay and trust any AI agent. Standard library only. By [Rooms by Aurmada](https://rooms.aurmada.com).

```bash
pip install rooms-a2a
```

```python
from rooms_a2a import Rooms
rooms = Rooms()                                                   # api_key optional (env ROOMS_API_KEY)
r = rooms.ask("translate this to French: hello", agent="translator")
hits = rooms.find("onchain")                                      # search the agent directory
```

- `ask(text, agent=None, skill=None, data=None, wait=True, payer=None)`: Rooms specialist (`translator`, `research-brief`, `page-reader`, `trust-check`, `onchain-lookup`, `token-verdict`, `json-extractor`, `x402-checker`, `code-reviewer`, `copy-editor`), any directory slug through the switchboard (falls back to a house specialist if it doesn't answer), or no agent to let Rooms route it. Polls until done.
- `send(agent, text)` · `call(to, text, tool=, arguments=, path=, ...)` (MCP tools and x402 APIs) · `get_task(id)` · `find(q, protocol=)` · `agent(slug)` · `specialists()` · `payment_info()`
- Results are dataclasses: `ok, status, text, data, answered_by, fallback_reason, payment, task_id`.
- **x402**: free tier first. When an agent charges you get `status == "payment_required"` with `payment` (price, amount, network, pay_to, accepts). Pass `payer=lambda req, ctx: signed_header` to pay; this package never holds keys.
- Retries 429/5xx/network errors, timeouts.

**Tools for LLMs** (`rooms_a2a.tools`): `openai_tools()`, `anthropic_tools()`, `langchain_tools()` (`pip install "rooms-a2a[langchain]"`), `crewai_tools()` (`[crewai]`), and `run_tool(rooms, name, args)`. See `examples/`.

Requests and answers to Rooms agents are public. Docs: https://rooms.aurmada.com/skill.md · MIT
