Skip to content

Documentation / Reference / Configuration and policy

Configuration, deadlines, and policies

Use this page to find the right public value. Use contracts/public/v1/vectors/construction.json and src/vaani/_model.py in the source repository for exact fields and defaults.

CallSetup map

Field Type Owner
prompt str consumer
mode CascadeMode consumer route/fallback selection
greeting GreetingPolicy consumer wording/failure choice
language LanguagePolicy consumer enabled languages
conversation ConversationPolicy consumer behavior/profile
ending EndingPolicy consumer terminal media + lifecycle budgets
measurement MeasurementPolicy consumer capture/usage requirements
recording RecordingPolicy consumer legal/business choice
transfer TransferPolicy consumer allowed routes
tools tuple of RuntimeTool consumer business capabilities
judge optional JudgeSetup consumer evaluation definition

All are immutable once supplied. Build a new setup with dataclasses.replace or use CallUpdate for a running call.

Lifecycle deadlines

LifecycleDeadlinePolicy covers connection, readiness, greeting preparation and playout, terminal media, work drain, teardown, base finalization, Judge, and total startup/closure.

These are absolute phase budgets, not per-retry waits. Defaults are public contract values, not a production sizing recommendation.

Operation deadlines

OperationDeadlinePolicy covers provider operations, tools, update preparation, retired resources, blind transfer, recording start/stop, and result publication.

Keep the total consistent with lifecycle budgets. For example, a terminal-media provider retry must still finish within the terminal-media phase cutoff.

Conversation policy

Choose either:

ConversationPolicy.from_profile("vertex-v42@1")

or explicit ConversationPolicyValues. Compatibility profiles are revisioned behavior bundles, not global defaults and never include business wording.

Measurement and privacy

TranscriptCapturePolicy is FULL, REDACTED, or OMITTED. MeasurementPolicy can require usage dimensions and known estimated cost. Unmet required evidence affects validated behavior/failure rather than being silently guessed.

Updates

CallUpdate always requires:

  • expected_revision;
  • reason;
  • boundary;
  • interrupted-reply handling when required.

The six optional change fields default to UNCHANGED: prompt, language, tools, STT, reasoning, and TTS.

Next: public API map or live update semantics.