Supafone Labs · Documentation

Supafone

Supafone Labs#

Production infrastructure for voice agents that need to work after the demo.

Python SDK · TypeScript SDK · GitHub · Developer console · API reference

Why we built it#

A voice demo can be assembled quickly. A dependable voice product cannot. The production agent is split across a realtime model, telephony, TTS, STT, tools, retrieval, state, recordings, compliance, monitoring, and post-call workflows. Every vendor exposes a different event format, and the speaking model is still expected to notice and correct its own mistakes while talking.

Supafone Labs was built around the failures that appear at those boundaries:

Production problemSupafone innovationWhat changes for the developer
The speaking agent must supervise itselfVoice Watcher and SecondMind run beside the call and issue one bounded directive only when evidence is strongAdd supervision without replacing the agent or extending the audio hot path
Every voice platform has different events and controlsCanonical runtime plus 14 audited adapters normalize call events and compile guidance into the control each platform actually supportsKeep the current provider and reuse the same supervision, QA, and telemetry
Prompts make operational claims that tools never confirmedTruth state and guardrail policies track verified bookings, transfers, deliveries, consent, and failures separately from model languagePrevent the agent from claiming an action succeeded before a tool proves it
Every new agent starts as another prompt-engineering projectAgent Factory turns a job description into editable stages, tools, routing, numbers, voices, and artifactsProvision complete inbound, outbound, browser, and campaign agents through one API
Testing is manual role-playAdversarial QA and SSR grading generate scenarios from the agent objective and compare supervised with unsupervised behaviorMeasure regressions and supervision lift before deployment
Calls disappear into provider dashboardsDurable activity APIs retain agents, plans, calls, recordings, transcripts, watcher events, and post-call outcomesBuild one operational console instead of reconciling vendor logs
Multilingual calls lose context or use the wrong voiceLanguage-aware transcription and opt-in language/voice profiles preserve the active workflow while the language changesConfigure multilingual behavior without rewriting the agent graph
Phone, WebRTC, SMS, campaigns, and signing become separate systemsOne SDK and one account model connect managed delivery, messaging, campaigns, artifacts, and writebacksStop rebuilding the surrounding product for every customer

The architecture#

mermaid
flowchart LR
    caller[Caller] --> agent[Speaking agent]
    agent --> tools[Tools and business systems]
    agent -. events .-> runtime[Canonical call state]
    tools -. verified outcomes .-> runtime
    runtime --> watcher[Voice Watcher / SecondMind]
    watcher --> gate[Confidence and policy gate]
    gate --> adapter[Provider adapter]
    adapter -. silent guidance .-> agent
    runtime --> artifacts[Transcripts, recordings, QA, analytics]

The call never waits for the Watcher. If supervision is unavailable, late, or uncertain, the gate emits no directive and the original agent continues.

Two ways to use the package#

Supervise an agent you already run#

python
import supafone_labs

supervisor = supafone_labs.supercharge(my_agent)
result = await supervisor.observe(provider_event)

The package auto-detects supported agents when possible, normalizes their events, and returns the provider-appropriate action. Start with Voice Watcher, then check the framework coverage matrix.

Provision the complete agent#

ts
import { Supafone } from "supafone-labs";

const supafone = new Supafone({
  apiKey: process.env.SUPAFONE_TOKEN!,
  voiceWatcher: true,
});

const agent = await supafone.labs.agents.createInboundWithNumber({
  agentKey: "northline-intake",
  name: "Northline intake",
  description: "Understand the request and book the right next step.",
  number: { search: { areaCode: "415" } },
});

Agent Factory adds the plan, number, voice, stages, tools, call artifacts, and Watcher. Developers can inspect and edit the generated plan before creation.

Framework coverage#

The release gate covers fourteen runtime integrations, not a marketing-only logo list:

Integration depth is different for each provider. The complete framework matrix shows the exact control, acceptance criterion, and managed-delivery status for every runtime.

Package surfaces#

SurfaceUse it for
PythonLocal runtime, adapters, replay, supervision, STT/TTS components, and backend automation
TypeScriptNode, React, browser, Agent Factory, campaigns, activity, and product integrations
REST and WebSocketHosted agents, realtime services, events, recordings, transcripts, and custom clients
MCPAgent creation, calls, QA, logs, and operational workflows from AI development tools

Start here#

  1. Read the production problems.
  2. Follow the quickstart.
  3. Understand Voice Watcher and SecondMind.
  4. Review all supported frameworks.
  5. Install the Python or TypeScript SDK.
  6. Choose managed delivery or BYOK.
  7. Run the voice-agent QA workflow.

Supafone Labs exists so developers can define the caller experience, tools, and safety policy while one framework handles the infrastructure around them.

View raw Markdown