TypeScript SDK Parity Reference
This reference table shows the feature parity status between the Python SDK (stable) and the TypeScript SDK (beta) as of Phase 2 Sprint 3.
Status legend:
- Stable — shipped and fully tested
- Beta — shipped, may have rough edges
- Partial — partially implemented; specific gaps noted
- Planned — on the roadmap, not yet shipped
- N/A — not applicable to this runtime
Bootstrap and Configuration
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
secure() / bootstrap() one-liner | Stable | Beta | Both accept a config object and env vars |
Environment variable config (PAVRI_*) | Stable | Beta | Same variable names |
Explicit PavriConfig object | Stable | Beta | TypeScript uses typed interface |
fail_open semantics | Stable | Beta | Defaults to true in both SDKs |
enforcement_mode option | Stable | Beta | active, shadow, audit supported |
| Governance metadata attachment | Stable | Beta | metadata dict / object at bootstrap |
Multi-org org_id support | Stable | Beta | Passed at bootstrap |
Agent Registration
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Agent fingerprinting | Stable | Beta | Deterministic fingerprint based on agent name, tools, and model |
| Auto-registration on first run | Stable | Beta | |
| Re-registration on fingerprint drift | Stable | Beta | Emits a drift_detected lifecycle event |
| Registration lifecycle event | Stable | Beta | Visible in Sessions timeline |
| Team and environment labelling | Stable | Beta | Passed at bootstrap |
Telemetry and Events
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Session start/end events | Stable | Beta | |
| Tool call events | Stable | Beta | |
| Model invocation events | Stable | Beta | |
| Policy evaluation events | Stable | Beta | |
| Token counting (session-level) | Stable | Beta | |
| Token counting (streaming / incremental) | Stable | Planned | TypeScript SDK reports tokens at session end only |
| Cost estimation | Stable | Planned | |
| Latency measurement | Stable | Beta |
Policy Sync and Enforcement
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Policy snapshot fetch on startup | Stable | Beta | |
| Local policy cache | Stable | Beta | |
| Policy re-sync on cache expiry | Stable | Beta | Configurable TTL |
| Active enforcement mode | Stable | Beta | Throws PolicyDeniedError |
| Shadow mode | Stable | Beta | Records decisions without blocking |
| Audit mode | Stable | Beta | Emits compliance events |
PolicyDeniedError with structured fields | Stable | Beta | Same error shape in both SDKs |
| Attribute-based policy targeting (metadata) | Stable | Beta |
Runtime Log Forwarding
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Structured log forwarding to Pavri backend | Stable | Beta | |
| Log severity levels (trace/debug/info/warn/error) | Stable | Beta | |
| Plugin scope tagging | Stable | Beta | |
| Error code and kind tagging | Stable | Beta | |
| Context fields on log records | Stable | Beta |
Trace Links
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Provider trace link capture | Stable | Beta | |
| Datadog APM link support | Stable | Beta | |
| OpenTelemetry trace propagation | Stable | Planned | |
| Custom trace link providers | Stable | Planned |
Governance Metadata
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| Arbitrary key-value metadata at bootstrap | Stable | Beta | |
| Metadata visible in dashboard | Stable | Beta | |
| Metadata available to policy rules | Stable | Beta | Attribute-based access control |
| Metadata in audit exports | Stable | Beta | |
| Metadata update after bootstrap | Planned | Planned | Runtime metadata updates are a future feature |
Framework Adapters
| Framework | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| LangGraph | Stable | Planned | TypeScript adapter targeted for P2-S4 |
| LangChain | Stable | Planned | |
| AutoGen | Stable | Planned | |
| CrewAI | Stable | Planned | |
Generic object wrap (secure()) | Stable | Beta | Works for any agent object today |
| Vercel AI SDK adapter | N/A | Planned | TypeScript-only, targeted for P2-S4 |
MCP Integration
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| MCP server scanning | Stable | Planned | TypeScript MCP connector not yet shipped |
| MCP tool inventory in fingerprint | Stable | Planned | |
| MCP scope guard policy support | Stable | Planned |
Notes
- The TypeScript SDK uses the same backend API and wire format as the Python SDK. Any feature that is marked Beta is functional but may receive breaking changes before the final stable release.
- The Python SDK remains the primary SDK for production governance. Teams adopting the TypeScript SDK beta should pin to a specific version and monitor the changelog.
- Framework adapter gaps in the TypeScript SDK are the primary remaining parity gap. Generic
secure()wrapping is available today for teams who cannot wait.