Metadata-Version: 2.4
Name: honornet-agent-presentation-openai-agents
Version: 0.1.0
Summary: OpenAI-Agents tools for the HonorNet agent presentation client — a protocol shim that mints proofs and presents three-part ADR-009 bundles. It decides nothing (hard rule 3).
Author-email: HonorNet <opensource@honornet.ai>
License: Apache-2.0
Project-URL: Epic, https://github.com/HonorNetAI/HonornetAI/blob/main/docs/strategy/epic-AC-530.md
Project-URL: Core, https://pypi.org/project/honornet-agent-presentation/
Keywords: honornet,openai-agents,agent,authorization,presentation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
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 :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: honornet-agent-presentation>=0.1.0
Requires-Dist: openai-agents>=0.1
Dynamic: license-file

# honornet-agent-presentation-openai-agents

Tools for the [OpenAI Agents SDK](https://pypi.org/project/openai-agents/) that
make an OpenAI-Agents agent **HonorNet-capable** — able to present an
issuer-signed credential, an owner-signed mandate, and a per-transaction proof
to a HonorNet acceptance endpoint, and receive an approve/decline verdict.

## It is a shim, not a framework

This wrapper is a **protocol shim** under HonorNet's hard rule 3, the same
boundary as the [MCP client](https://pypi.org/project/honornet-agent-presentation/)
it wraps. The analog is Visa publishing an EMV kernel: the kernel holds the
card's key, mints the per-transaction cryptogram, and presents it — it decides
nothing about what the cardholder buys.

These tools do exactly that and no more:

- **hold** an issuer-signed credential (`load_credential`),
- **hold** an owner-signed mandate (`load_mandate`),
- **mint** the per-transaction proof of possession, assemble the three-part
  ADR-009 bundle, and **present** it (`present`).

They **decide nothing** about what the agent buys, ranks, or chooses, and never
call a model. The approve/decline verdict is always the network's; `present`
relays it verbatim and adds no judgment. The tool set is exactly the three the
core client defines — this wrapper cannot add a fourth.

## Install

```bash
pip install honornet-agent-presentation-openai-agents
```

This pulls the core `honornet-agent-presentation` client (which carries the
pure-Python signing, zero third-party deps) and `openai-agents`.

## Use

```python
from agents import Agent
from honornet_presentation import PresentationClient
from honornet_presentation_openai_agents import make_honornet_tools

client = PresentationClient(
    agent_seed=AGENT_SEED,                 # the agent's own Ed25519 seed
    endpoint="https://api.honornet.ai/authorize",
    api_key=SANDBOX_OR_LIVE_CALLER_KEY,    # operator-configured, not an agent argument
)

agent = Agent(
    name="checkout-agent",
    tools=make_honornet_tools(client),     # -> [load_credential, load_mandate, present]
)
```

The agent decides *what* the transaction is; the operator configures *where* it
is presented (the `endpoint`); the shim decides neither. See
[epic-AC-530](https://github.com/HonorNetAI/HonornetAI/blob/main/docs/strategy/epic-AC-530.md)
and the [four-party model](https://github.com/HonorNetAI/HonornetAI/blob/main/docs/four-party-model.md).

## License

Apache-2.0.
