Skip to main content

Interface: FrozenVoicePlan

Defined in: packages/agentos/src/io/speech/SpeechProviderResolver.ts:37

Configuration is captured before admission; model construction is deferred until the authenticated binding starts.

Properties​

agent​

readonly agent: object

Defined in: packages/agentos/src/io/speech/SpeechProviderResolver.ts:38

agentId​

agentId: string = id

allowedToolRefs​

allowedToolRefs: string[]

createdAt​

createdAt: number = count

endpoint​

endpoint: object = EndpointSelectionSchema

endpoint.modelId​

modelId: string = id

endpoint.modelRevision​

modelRevision: string = revisionRef

endpoint.optionsRef?​

optional optionsRef: string

endpoint.providerId​

providerId: string = id

language​

language: string

limits​

limits: object = VoiceCallLimitsSchema

limits.cleanupTimeoutMs​

cleanupTimeoutMs: number = positive

limits.maxDurationSeconds​

maxDurationSeconds: number = positive

limits.maxTurns​

maxTurns: number = positive

limits.reconnectGraceMs​

reconnectGraceMs: number = count

limits.setupTimeoutMs​

setupTimeoutMs: number = positive

limits.silenceTimeoutMs​

silenceTimeoutMs: number = positive

name​

name: string

prompt​

prompt: string

providerPolicy​

providerPolicy: object = VoiceProviderPolicySchema

providerPolicy.fallback​

fallback: "none" | "allowlisted"

providerPolicy.mode​

mode: "provider" | "local" | "hosted"

providerPolicy.providerIds​

providerIds: string[]

providerPolicy.purposes​

purposes: ("stt" | "tts" | "vad" | "endpoint" | "reasoning")[]

reasoning​

reasoning: { attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; fallbacks: ({ attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; manifestDigest: string; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "local"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; } | { attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; credentialRef?: string; endpointRef: string; endpointRevision: number; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "registered_endpoint"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; })[]; manifestDigest: string; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "local"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; } | { attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; credentialRef?: string; endpointRef: string; endpointRevision: number; fallbacks: ({ attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; manifestDigest: string; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "local"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; } | { attemptLimits: { maxAttempts: number; perAttempt: { cached_input_token: number; input_token: number; output_token: number; reasoning_token: number; request: number; }; }; cancellation: "native_abort" | "process_exit" | "unsupported"; credentialRef?: string; endpointRef: string; endpointRevision: number; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "registered_endpoint"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; })[]; modelId: string; modelRevision: string; protocol: { id: "openai-chat-completions"; version: 1; }; provider: "registered_endpoint"; usageUnits: { cached_input_token: "token"; input_token: "token"; output_token: "token"; reasoning_token: "token"; reasoningInOutput: boolean; }; } = ReasoningConfigSchema

revision​

revision: number = positive

scopeId​

scopeId: string = id

state​

state: "active" | "archived"

stt​

stt: object = SpeechSelectionSchema

stt.codec​

codec: "mp3" | "opus" | "wav" | "pcm_s16le" | "pcm_f32le"

stt.credentialRef?​

optional credentialRef: string

stt.mode​

mode: "streaming" | "batch"

stt.modelId​

modelId: string = id

stt.modelRevision​

modelRevision: string = revisionRef

stt.optionsRef?​

optional optionsRef: string

stt.providerId​

providerId: string = id

stt.sampleRate​

sampleRate: number

transcriptPolicy​

transcriptPolicy: { mode: "none"; } | { deliveryTtlSeconds: number; mode: "delivery"; } | { mode: "retained"; retentionSeconds: number; } = TranscriptPolicySchema

tts​

tts: object = SpeechSelectionSchema

tts.codec​

codec: "mp3" | "opus" | "wav" | "pcm_s16le" | "pcm_f32le"

tts.credentialRef?​

optional credentialRef: string

tts.mode​

mode: "streaming" | "batch"

tts.modelId​

modelId: string = id

tts.modelRevision​

modelRevision: string = revisionRef

tts.optionsRef?​

optional optionsRef: string

tts.providerId​

providerId: string = id

tts.sampleRate​

sampleRate: number

updatedAt​

updatedAt: number = count

vad​

vad: object = VadSelectionSchema

vad.modelId​

modelId: string = id

vad.modelRevision​

modelRevision: string = revisionRef

vad.optionsRef?​

optional optionsRef: string

vad.providerId​

providerId: string = id

vad.threshold​

threshold: number

version​

version: 1

voice​

voice: object = VoiceSelectionSchema

voice.id​

id: string

voice.revision​

revision: string = revisionRef

webhookRef​

webhookRef: string | null

Methods​

open()​

open(budget, onSupplierUsage?): Promise<OpenedVoicePlan>

Defined in: packages/agentos/src/io/speech/SpeechProviderResolver.ts:39

Parameters​

budget​

IAttemptAuthorizer

onSupplierUsage?​

VoiceSupplierUsageSink

Returns​

Promise<OpenedVoicePlan>