Metadata-Version: 2.5
Name: airprompter-agent-runtime
Version: 0.5.0
Summary: Serve a verified AirPrompter agent release: slot resolution under the ramp and any retreat, rendered text with run references, provider wrappers, and the hosted-execution client. Renders and assigns over a bundle the customer loads with no store, daemon or network.
Project-URL: Homepage, https://github.com/airprompter/airprompter-agent-sdk
Project-URL: Source, https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python/packages/runtime
Project-URL: Protocol, https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol
Project-URL: Changelog, https://github.com/airprompter/airprompter-agent-sdk/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/airprompter/airprompter-agent-sdk/issues
Author: AirPrompter
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: agent,airprompter,governance,llm,prompts
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: airprompter-agent-core==0.5.0
Requires-Dist: httpx>=0.27
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.40; extra == 'anthropic'
Provides-Extra: litellm
Requires-Dist: litellm>=1.50; extra == 'litellm'
Provides-Extra: openai
Requires-Dist: openai>=1.40; extra == 'openai'
Description-Content-Type: text/markdown

# airprompter-agent-runtime

Serve a verified AirPrompter agent release you already hold: `ReleaseResolver`
decides which slot a subject gets under which arm — the signed ramp plan
walked on this host's clock, a retreat honoured, a disabled agent or slot
refused — and renders the text with its run reference; `wrap_client` and
`observe_call` attribute a model call to a render and classify what came
back; `ManagedAgent` is the hosted-execution client. No store, no daemon,
no network of its own.

```python
from airprompter_agent_core import BundleRelease, trusted_root_from_pinned_key
from airprompter_agent_runtime import ReleaseResolver

loaded = BundleRelease.load(bundle=bundle, root=trusted_root_from_pinned_key(purpose="platform", environment="prod", pinned_root=pinned), scope=scope, now=now)
runtime = ReleaseResolver(release=loaded.current(), run_ref_key=key, agent_id=agent_id, target="prod", instance_id=instance_id, now_ms=now_ms)
outcome = runtime.resolve("support.triage", user_id)
if outcome.ok:
    r = runtime.render(outcome.slot, {"ticket": ticket_text})
```

One of five distributions released in lockstep — `airprompter-agent-core`,
`-sync`, `-runtime`, `-telemetry` and the facade `airprompter-agent` — one
version, exact-pinned siblings, mirroring the TypeScript packages one for
one. The full README and the parity matrix are in
[`sdk-python/README.md`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python);
the protocol is in [`protocol/`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol).
BSD-3-Clause.
