Metadata-Version: 2.4
Name: bonafide-raas-cli
Version: 0.1.0
Summary: Command-line client for Bonafide RaaS (retrieval-as-a-service): cited answers, agents, skills and MCP tools.
License-Expression: Apache-2.0
Project-URL: Documentation, https://github.com/skyeglobal-ai/bonafide-raas/tree/main/clients
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3,>=2.31
Provides-Extra: aws
Requires-Dist: boto3>=1.34; extra == "aws"
Dynamic: license-file

# bonafide-raas-cli

Command-line client for Bonafide RaaS (retrieval-as-a-service). It returns cited answers from the Bonafide
catalog, runs the multi-agent answer path, runs named skills, and calls the MCP tools. The CLI is a thin
client over the REST API, so it holds no secrets of its own.

## Install

```bash
pipx install bonafide-raas-cli          # or: pip install bonafide-raas-cli
raas --help
```

Add the AWS extra only if you use `RAAS_CREDENTIALS_SECRET`:

```bash
pipx install "bonafide-raas-cli[aws]"
```

## Configure

Set the API base URL and sign in. Your administrator provides the URL and the credentials.

| Variable | Purpose |
|---|---|
| `RAAS_URL` | API base URL (required) |
| `RAAS_API_KEY` | API key sent as `x-api-key` |
| `RAAS_TOKEN` | Bearer token sent as `Authorization: Bearer` |
| `RAAS_ISSUER`, `RAAS_CLIENT_ID`, `RAAS_CLIENT_SECRET` | Client-credentials sign-in for automation |
| `RAAS_CREDENTIALS_SECRET` | A secret name or ARN holding the client settings (needs the `aws` extra) |

For a person signing in interactively, use device-code login: `raas login`. The token is cached locally.

## Use

```bash
raas health                                            # no credentials needed
raas retrieve "Which hotels are in New York City?"     # cited answer
raas retrieve "..." --mode sources                     # full source records
raas agent "..."                                       # multi-agent answer; read misalignment_flags
raas skills list
raas skills run facts "..."
raas mcp tools
raas mcp call retrieval_search --args '{"query": "..."}'
raas job <job_id>
```

Output is JSON on stdout. Exit codes: `0` success, `1` API error (details on stderr), `2` usage error,
`3` missing configuration.

## Compatibility

The version follows semantic versioning. A breaking change to the API contract is released as a new major
version. Before 1.0, minor versions may still include breaking changes; each release notes them.

## Support

Report problems with the command, its version (`raas --version`), and the exit code. Do not send API keys,
tokens or secret names.

## License

Apache License 2.0. See `LICENSE`. This license covers the CLI code only; use of the RaaS service and its data is governed by your service agreement.
