What this is
A strategic gap identified during an ecosystem audit (2026-07-18). Tracked here as an org-level reminder so it is not forgotten.
The gap
The WasmAgent ecosystem's runtime protection layer (mcp-firewall, taint tracking, policy enforcement, ApprovalPolicy) is entirely TypeScript/JS. It targets the JS/TS AI agent stack: Vercel AI SDK, Mastra, Cloudflare Agents SDK, bscode.
The dominant enterprise Python agent frameworks — LangChain, LlamaIndex, AutoGen, CrewAI — have no equivalent runtime protection. The only Python surface in the current ecosystem is a handful of AEP emitter example scripts. Python agents can use AEP for post-hoc auditing via open-agent-audit, but there is no equivalent of mcp-firewall (runtime interception, taint tracking, tool call policy enforcement) available to Python runtimes.
Why it is deferred
This is not a missing feature in the current scope — it is a strategic question about which user population to target:
- If WasmAgent's primary positioning is as the trust layer for the JS/TS AI SDK ecosystem (Cloudflare Workers, Mastra, bscode pattern), Python coverage is out of scope and this remains a known gap.
- If WasmAgent intends to expand to enterprise Python agent users (LangChain/AutoGen shops), a
wasmagent-py project would need to be built from scratch. There is no Rust core to bind against (wasmagent-js is pure TypeScript); the implementation would need to be independent.
What wasmagent-py would need to do
To reach feature parity with the JS-side runtime layer:
- MCP firewall equivalent — intercept tool calls and return values, run prompt-injection detection, enforce consent/capability policy
- Taint tracking — propagate taint labels through tool return values into agent reasoning context
- ApprovalPolicy — gate high-risk tool calls (file write, delete, shell exec) pending human review, emit
ApprovalRequest records to a shared store
- AEP emission — emit structured
AEPEvent records compatible with @openagentaudit/schema so audit trail is unified across JS and Python agents
- Framework adapters — LangChain tool wrapper, LlamaIndex tool spec wrapper, AutoGen function call hook, CrewAI tool decorator
Implementation note
There is no shortcut via FFI or Wasm binding — wasmagent-js has no compiled native core. A wasmagent-py project would be a ground-up Python implementation sharing only the AEP JSON schema contract with the existing ecosystem.
Decision needed before starting
Status
Deferred — no timeline. Revisit when strategic positioning is clarified.
What this is
A strategic gap identified during an ecosystem audit (2026-07-18). Tracked here as an org-level reminder so it is not forgotten.
The gap
The WasmAgent ecosystem's runtime protection layer (
mcp-firewall, taint tracking, policy enforcement,ApprovalPolicy) is entirely TypeScript/JS. It targets the JS/TS AI agent stack: Vercel AI SDK, Mastra, Cloudflare Agents SDK, bscode.The dominant enterprise Python agent frameworks — LangChain, LlamaIndex, AutoGen, CrewAI — have no equivalent runtime protection. The only Python surface in the current ecosystem is a handful of AEP emitter example scripts. Python agents can use AEP for post-hoc auditing via
open-agent-audit, but there is no equivalent ofmcp-firewall(runtime interception, taint tracking, tool call policy enforcement) available to Python runtimes.Why it is deferred
This is not a missing feature in the current scope — it is a strategic question about which user population to target:
wasmagent-pyproject would need to be built from scratch. There is no Rust core to bind against (wasmagent-js is pure TypeScript); the implementation would need to be independent.What
wasmagent-pywould need to doTo reach feature parity with the JS-side runtime layer:
ApprovalRequestrecords to a shared storeAEPEventrecords compatible with@openagentaudit/schemaso audit trail is unified across JS and Python agentsImplementation note
There is no shortcut via FFI or Wasm binding — wasmagent-js has no compiled native core. A
wasmagent-pyproject would be a ground-up Python implementation sharing only the AEP JSON schema contract with the existing ecosystem.Decision needed before starting
WasmAgent/wasmagent-py) or apackages/pysubdirectory in wasmagent-jsStatus
Deferred — no timeline. Revisit when strategic positioning is clarified.