Metadata-Version: 2.5
Name: chp-adapter-composition
Version: 0.53.0
Summary: CHP capability adapter — compose capabilities into named reusable workflows
Author: Auxo
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: adapter,capability-host-protocol,chp,composition,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
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 :: Python Modules
Requires-Python: >=3.10
Requires-Dist: chp-core>=0.7.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# chp-adapter-composition

**Define and run multi-capability compositions as CHP capabilities — chain governed capabilities
into one, with the whole run admission-gated and recorded as signed, replayable evidence.**

```bash
pip install chp-adapter-composition
```

Compose it onto any CHP host, or onto [`chp-server`](https://pypi.org/project/chp-server/):

```python
from chp_server import CapabilityServer
from chp_adapter_composition import CompositionAdapter, CompositionConfig

app = CapabilityServer("my-host")
app.compose(CompositionAdapter())
app.run(port=8800)
```

## Capabilities

- **`chp.adapters.composition.define`** — declare a composition of capabilities.
- **`chp.adapters.composition.run`** — run it; each step passes the full pipeline and is evidenced.
- **`chp.adapters.composition.get`** / **`list`** — inspect defined compositions.

A composition is itself a governed capability — the evidence chain spans every step.

---

Part of the [Capability Host Protocol](https://github.com/capabilityhostprotocol/chp-core) — one
governed implementation of a capability, consumed everywhere. Apache-2.0.
