II.
PackageSurface JSON
Structured · livepackage:a5c-ai-voice-adapter
Media Governance Bridge (audio + video) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "package:a5c-ai-voice-adapter",
"_kind": "PackageSurface",
"_file": "catalog-meta/package-surfaces/voice-adapter.yaml",
"_cluster": "catalog-meta",
"attributes": {
"packageId": "@a5c-ai/voice-adapter",
"packageName": "@a5c-ai/voice-adapter",
"displayName": "Media Governance Bridge (audio + video)",
"description": "PROPOSED (not yet built). Thin TypeScript bridge letting a realtime media agent\ncall babysitter-governed tools over MCP — across both the voice path and the\nanimated-avatar VIDEO path on kradle/Jitsi. Cosmetic animation (expression/\nposture/gaze/visemes) runs on a realtime fast path; consequential visual actions\n(canvas content, screen-share/VNC, external video metadata) are gated like any\nsensitive tool via in-process babysitter runs (createRun -> orchestrateIteration\n-> commitEffectResult) with policy + auth./destroy. breakpoint approval gates and\na replayable journal — all OUT of the audio/animation hot path. Extends the\nexisting kradle CRDs (AgentStack.jitsiConfig, JitsiMeeting, AgentAppearance/\nAgentVoiceProfile) rather than minting a parallel CRD. See\ndocs/research/voice-governance-bridge-spec.md + realtime-agent-gaps.md.\n",
"role": "media-governance-bridge",
"whenToUse": "Use when a realtime voice/video avatar agent must run governed/audited tool workflows mid-conversation without blocking the sub-second audio/animation turn.",
"status": "proposed",
"workspacePath": "packages/adapters/voice",
"moduleType": "typescript",
"surfaceKinds": [
"mcp-server",
"crd-controller",
"channel-bridge"
],
"sourceOfTruthRole": "external",
"publishedTo": "npm",
"versionPolicy": "semver",
"supportedBackends": [
"webrtc",
"sip"
],
"layer": "cross-cutting",
"mux": "voice-adapter"
},
"outgoingEdges": [],
"incomingEdges": []
}