TypeScript SDK Support Matrix
This reference table compares the Python SDK and the TypeScript SDK at the document verification date above. The TypeScript SDK is in beta; use this matrix to select supported capabilities for your deployment.
Status legend:
- Stable — shipped and fully tested
- Beta — shipped, may have rough edges
- Partial — partially implemented; specific gaps noted
- Not available — not supported by that SDK
- 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 | Not available | TypeScript SDK reports tokens at session end only |
| Cost estimation | Stable | Not available | |
| 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 | Not available | |
| Custom trace link providers | Stable | Not available |
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 | Not available | Not available | Runtime metadata is set at bootstrap |
Framework Adapters
| Framework | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| LangGraph | Stable | Not available | |
| LangChain | Stable | Not available | |
| AutoGen | Stable | Not available | |
| CrewAI | Stable | Not available | |
Generic object wrap (secure()) | Stable | Beta | Works for any agent object today |
| Vercel AI SDK adapter | N/A | Not available |
MCP Integration
| Feature | Python SDK | TypeScript SDK | Notes |
|---|---|---|---|
| MCP server scanning | Stable | Not available | |
| MCP tool inventory in fingerprint | Stable | Not available | |
| MCP scope guard policy support | Stable | Not available |
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.