Repository navigation
Releases
Python SDK 0.4.0
What's Changed
- Create AGENTS.md by @PetrefiedThunder in #107
- Add scoped AGENTS.md (app/services + tests) by @PetrefiedThunder in #108
- Align AWI control plane with research draft by @PetrefiedThunder in #109
- Refresh trust plane README by @PetrefiedThunder in #110
- Sharpen the trust-plane product spine by @PetrefiedThunder in #112
- fix(security): require agent ownership on comms send/ack/handoff by @PetrefiedThunder in #114
- build(deps): update pydantic-settings requirement from >=2.14.0 to >=2.14.1 by @dependabot[bot] in #116
- build(deps): update cryptography requirement from >=46.0.0 to >=48.0.0 by @dependabot[bot] in #117
- build(deps): update uvicorn requirement from >=0.46.0 to >=0.48.0 by @dependabot[bot] in #118
- build(deps): update greenlet requirement from >=3.0.0 to >=3.5.1 by @dependabot[bot] in #119
- build(deps): update fastapi requirement from >=0.136.1 to >=0.136.3 by @dependabot[bot] in #120
- Extract shared wrapper edge client and document KMS path by @PetrefiedThunder in #128
- Bump deps to clear 18 of 19 known CVEs by @PetrefiedThunder in #137
- Flip trust-plane defaults to fail-closed by @PetrefiedThunder in #144
- build(deps): bump pyjwt from 2.12.1 to 2.13.0 by @dependabot[bot] in #133
- build(deps): bump starlette from 1.0.0 to 1.3.1 by @dependabot[bot] in #136
- Bump cryptography & python-multipart in uv.lock (clear CVEs) by @PetrefiedThunder in #145
- build(deps): update redis requirement from >=7.4.0 to >=8.0.0 by @dependabot[bot] in #121
- build(deps): update pytest-asyncio requirement from >=1.3.0 to >=1.4.0 by @dependabot[bot] in #124
- build(deps): update uvicorn requirement from >=0.48.0 to >=0.49.0 by @dependabot[bot] in #127
- build(deps): update stripe requirement from >=15.1.0 to >=15.2.1 by @dependabot[bot] in #129
- build(deps): update greenlet requirement from >=3.5.1 to >=3.5.2 by @dependabot[bot] in #140
- build(deps): bump pydantic-settings from 2.14.1 to 2.14.2 by @dependabot[bot] in #138
- build(deps): update fastapi requirement from >=0.136.3 to >=0.138.1 by @dependabot[bot] in #139
- build(deps): update pydantic-settings requirement from >=2.14.1 to >=2.14.2 by @dependabot[bot] in #142
- build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #141
- build(deps): update pytest requirement from >=9.0.3 to >=9.1.1 by @dependabot[bot] in #143
- Dev-loop efficiency: fast test split, fix mypy hook, quiet warnings by @PetrefiedThunder in #146
- build(deps): bump actions/cache from 5 to 6 by @dependabot[bot] in #147
- build(deps): update sqlmodel requirement from >=0.0.38 to >=0.0.39 by @dependabot[bot] in #148
- build(deps): update stripe requirement from >=15.2.1 to >=15.3.0 by @dependabot[bot] in #149
- build(deps): update redis requirement from >=8.0.0 to >=8.0.1 by @dependabot[bot] in #150
- Phase 1 dev-loop: planner solver fallback + self-contained
make testby @PetrefiedThunder in #153 - build(deps): update alembic requirement from >=1.18.4 to >=1.18.5 by @dependabot[bot] in #151
- build(deps): update greenlet requirement from >=3.5.1 to >=3.5.3 by @dependabot[bot] in #152
- Phase 2 (#3): single dependency source — stop committing uv.lock by @PetrefiedThunder in #154
- Repo review + fix KYC IDOR, billing idempotency, and enable real lint by @PetrefiedThunder in #157
- build(deps): update fastapi requirement from >=0.138.1 to >=0.139.0 by @dependabot[bot] in #155
- Remove dead proof-surface code and re-harden mypy by @PetrefiedThunder in #158
- build(deps): update mypy requirement from >=2.1.0 to >=2.2.0 by @dependabot[bot] in #160
- build(deps): update uvicorn requirement from >=0.49.0 to >=0.51.0 by @dependabot[bot] in #161
- Trust/billing/auth hardening: tenant isolation, idempotency, concurrency, audit-chain, and carry #159 to main by @PetrefiedThunder in #162
- build(deps): update stripe requirement from >=15.3.0 to >=15.3.1 by @dependabot[bot] in #163
- build(deps): update mypy requirement from >=2.2.0 to >=2.3.0 by @dependabot[bot] in #165
- build(deps): update uvicorn requirement from >=0.49.0 to >=0.51.0 by @dependabot[bot] in #166
- build(deps): bump actions/setup-python from 6 to 7 by @dependabot[bot] in #167
- build(deps): update fastapi requirement from >=0.139.0 to >=0.141.1 by @dependabot[bot] in #168
- build(deps): update greenlet requirement from >=3.5.3 to >=3.5.4 by @dependabot[bot] in #169
- Harden trust-plane scaffolding and close AWI HTTP bypass by @PetrefiedThunder in #170
- docs: partner first-tool runbook by @PetrefiedThunder in #171
- docs: link partner runbook from WEDGE by @PetrefiedThunder in #172
- Add dogfood trust-plane playground (partner.notes.write) by @PetrefiedThunder in #173
- Harden trust-plane charge/receipt and idempotency (P0) by @PetrefiedThunder in #174
- Sync exactly-once positioning + marketing site draft by @PetrefiedThunder in #175
- Publish site agent discovery pointers by @PetrefiedThunder in #176
- docs(site): agent-middleware naming and Vercel URL by @PetrefiedThunder in #177
- Normalize durable-state DATABASE_URL and fail closed by @PetrefiedThunder in #178
- docs: Phase 1 live verify + Phase 2 partner inventory caveats by @PetrefiedThunder in #179
- fix: gate MCP discovery stubs when proof surfaces are off by @PetrefiedThunder in #180
- docs: Phase 2 live acceptance verified on Railway by @PetrefiedThunder in #181
- Phase 3: Railway deploy posture + production-trust CI by @PetrefiedThunder in #186
- Phase 4: migrations-on-start / reduce create_all reliance by @PetrefiedThunder in #187
- Phase 5: docs / OpenAPI / discovery wedge honesty by @PetrefiedThunder in #188
- Phase 6: freeze proof-surface scaffolding by @PetrefiedThunder in #189
- Phase 7: optional follow-ups (safe slice) by @PetrefiedThunder in #190
- build(deps): update redis requirement from >=8.0.1 to >=8.1.0 by @dependabot[bot] in #182
- build(deps): update uvicorn requirement from >=0.51.0 to >=0.52.0 by @dependabot[bot] in https://github.com/PetrefiedThunder/agent-middle...
v1.2.0-rc.1 - Trust Plane Proof
Trust Plane Release Candidate
This prerelease packages the governed MCP trust-plane proof on main.
Verified from a clean origin/main worktree at 3bec7a9966cbd00468d2a7463a6462089190c07b.
Proof Loop
discover -> authenticate -> permit -> invoke -> meter -> receipt -> audit -> replay -> deny
Verification
scripts/trust_release_gate.shpassed.- Focused trust-plane suite: 55 passed.
- Trust-core coverage gate: 60 passed, 85.12% coverage over trust-plane control modules.
- Executable trust-plane demo proof passed.
- Discovery drift checks passed.
- OpenAPI parity passed.
- Simulation inventory parity passed.
Demo Proof Highlights
- Signed permit scoped to one MCP tool.
- Governed MCP invoke charged the wallet once.
- Signed receipt linked to ledger and audit artifacts.
- Replay returned the original receipt without a duplicate debit.
- Out-of-scope MCP call returned a denial receipt.
- Denial replay returned the same denial receipt.
- Cross-wallet read was denied with 403.
Caveat
This is a production-beta release candidate for the control-plane proof, not a claim of complete production settlement, full IAM replacement, or universal policy coverage.
v1.1.0
v1.1.0 — Production Hardening Release
Overview
This release focuses on production-readiness improvements including observability, resilience patterns, and API enhancements.
New Features
Structured Logging
- Added
structlogfor JSON-formatted structured logging - Automatic fallback to standard logging when structlog unavailable
- Consistent log format across all services
Health Endpoints
/health/live- Basic liveness check/health/ready- Readiness check with dependency verification (DB, Redis, MQTT)- Proper health monitoring for Kubernetes/container orchestration
Resilience Patterns
- Retry with exponential backoff - Configurable retry decorator for async functions
- Circuit breaker - Protects against cascading failures in LLM service
- Automatic recovery after configurable timeout
API Enhancements
- MCP Tools pagination - New
limit/offsetquery parameters onGET /mcp/tools - Prevents oversized payloads on large tool registries
Graceful Shutdown
- 2-second connection drain period on shutdown
- Proper cleanup of background tasks and connections
- Structured shutdown logging
Dependencies
- Added
structlogas optional dependency - Added
tenacityas optional dependency
Contributors
- Production hardening implementation
Full Changelog: v1.0.0...v1.1.0
v1.0.0 - Agent-Native Middleware Platform
v1.0.0 — Agent-Native Middleware Platform
Major Release
This release completes the full Agentic Web Interface (AWI) vision from arXiv:2506.10953v1.
What's New
Phase 9: AWI Complete
| Feature | Description |
|---|---|
| Passkey Auth | FIDO2/WebAuthn for high-risk actions (/v1/awi/passkey/*) |
| DOM Bridge | Playwright-powered browser automation (/v1/awi/dom/*) |
| RAG Memory | ChromaDB semantic search (/v1/awi/rag/*) |
| Agent Discoverability | MCP tools, agent.json, llm.txt |
Production Hardening
- Auth fail-safe — Rejects requests if VALID_API_KEYS unset
- Background cleanup — Periodic task cleans expired sessions
- ChromaDB persistence — Vector storage for semantic memory
9 New MCP Tools
awi_passkey_challenge,awi_passkey_verifyawi_dom_bridge_session,awi_dom_sync,awi_dom_stateawi_memory_index,awi_rag_query,awi_session_context
Stats
- 339 tests passing
- Full arXiv paper alignment
- Docker-ready
Upgrade Notes
pip install -r requirements.txtSet VALID_API_KEYS in production to enable authentication.
Built with arXiv:2506.10953v1 in mind.
v0.4.0 — External AWI Adoption Kit
v0.4.0 — External AWI Adoption Kit (Phase 8)
Making every website agent-native in <30 minutes.
Based on arXiv:2506.10953v1 ("Build the web for agents, not agents for the web")
What's New
- AWI Manifest Generator (
python -m agent_middleware generate-awi) - Official AWI SDK (Python + TypeScript)
- Reference templates for FastAPI and Next.js
- Zero-config adapter that translates AWI calls → our MCP + AWI backend
- Full migration guide + security checklist for website owners
Website owners can now expose a production-grade Agentic Web Interface that plugs directly into this middleware while keeping their existing human UI untouched.
Full Feature List (Cumulative)
- MCP Server Generator +
@mcp_tool - Dry-Run Sandbox + Behavioral Sandbox
- Stripe Identity KYC + API Key Rotation
- Full Agentic Web Interface (AWI) control plane
- External AWI Adoption Kit ← NEW
Tests: 317 passing
Next up: Phase 9 — Production hardening & multi-tenancy.
See the new AWI Adoption Guide to make your own site agent-ready today.
v0.2.0
v0.2.0 — Full B2A Toolchain & Economic Safety Layer
This release brings the complete end-to-end agent-native experience:
New Major Features
-
MCP Server Generator (
Phase 3.2/4.2)@mcp_tooldecorator with auto-registration- Unified
ServiceRegistry(local SDK + persistent DB) - Dynamic MCP proxy (
/.well-known/mcp/tools.json,/mcp/messagesJSON-RPC) - Standalone CLI generator + FastMCP support
- Full Pydantic → MCP JSON Schema translation
- Seamless
dry_run=Truesupport on MCP calls
-
Dry-Run Sandbox / Shadow Ledger (
Phase 5.2)- Redis-backed stateful simulation sessions (15-min TTL)
async with b2a.simulate_session() as sim:context manager- Cumulative balance checks, cost estimates only (no side-effects)
- Velocity isolation + single-shot
/dry-run/chargeendpoint
-
Stripe Identity KYC (
Phase 2.2)- Human sponsor verification before fiat top-ups
- New wallet states +
KYC_REQUIRED_FOR_TOPUPconfig - Full
/v1/kycendpoints
-
API Key Rotation (
Phase 5.3)- Automatic rotation on velocity freeze / compromise
- Grace period + audit trail
- SDK helpers + webhook events for agents
Other Improvements
- Unified Service Registry (replaces old
register_service()logic) mcpoptional dependency- Expanded tests (19 new MCP tests + sandbox coverage)
- Examples + README sections for every new feature
Next up
- Phase 6 (full behavioral Sandbox Engine) + multi-tenancy scaffolding
v0.1.0 - Initial Release
v0.1.0 - Initial Release
Features
- IoT Protocol Bridge — Secure protocol translation with ACL enforcement
- Telemetry — Event ingestion, anomaly detection, auto-PR generation
- Billing — Two-tier wallets (sponsors → agents), micro-metering, arbitrage
- Agent Comms — Agent-to-agent messaging, capability discovery, swarm handoffs
- Media Engine — Video ingestion, clip extraction, distribution
- Content Factory — 1-to-20 content multiplication
- Red Team — Autonomous penetration testing
- Protocol Generator — Auto-generate OpenAPI specs from code
Technical
- 192 passing tests
- Type checking with mypy
- Linting with ruff
- Pre-commit hooks configured
- Railway deployment ready
- PostgreSQL, Redis, or memory state backend
Durability
- PostgreSQL — Recommended for production
- Redis — Caching and rate limiting
- Memory — Development/testing only