Metadata-Version: 2.4
Name: empowernow-acp-core
Version: 0.1.0
Summary: Agent Control Plane core orchestration (RDCP v1) — transport-agnostic spawn logic
Author-email: EmpowerNow <support@empowernow.io>
License: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: empowernow-common>=3.13
Requires-Dist: pydantic<3.0,~=2.5
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"

# empowernow-acp-core

Agent Control Plane (ACP) **core orchestration** for RDCP v1 — the transport-agnostic
"spawn a child agent" logic, extracted as a library so it can run **behind the `acp`
service** (HTTP adapters) or **in-process** (e.g. inside CRUDService) with no network hop.

`acp_core` depends only on `empowernow-common` (for the RDCP schemas, the authority
intersection engine, and the error taxonomy). It talks to the PDP, Delegation Service,
STS, a nonce store, and crypto via **injected `Protocol` ports** — no HTTP/IdP/Membership
dependencies of its own. See `enow_docs_source/RDCP/RDCP_v1_Implementation_Plan_2026-06-02.md`
(Phase 4).

```python
from acp_core import AgentControlPlane

acp = AgentControlPlane(
    pdp=..., ds=..., sts=..., nonce=..., crypto=...,
    acp_audience="https://acp.empowernow.local/spawn",
    gateway_audience="https://mcp-gateway.empowernow.local",
)
resp = await acp.spawn(intent_jws=jws, bearer=bearer, dpop=dpop)
```
