Backend Options
NavaiVoiceBackendOptions
Configuration options for backend initialization. Source:packages/voice-backend/src/index.ts:30
Your OpenAI API key. If not provided,
allowApiKeyFromRequest must be enabledDefault OpenAI Realtime model
Default voice for audio output
Default system instructions
Default response language (e.g., “Spanish”, “French”)
Default voice accent (e.g., “neutral Latin American Spanish”)
Default voice tone (e.g., “friendly and professional”)
Time-to-live for client secrets in seconds. Must be between 10 and 7200
Whether to allow API keys from client requests. Auto-enabled if
openaiApiKey is not setCreateClientSecretRequest
Request body for creating a client secret. Source:packages/voice-backend/src/index.ts:42
Override default model for this session
Override default voice for this session
Override default instructions for this session
Override default language for this session
Override default voice accent for this session
Override default voice tone for this session
Client-provided API key (only used if allowed)
OpenAIRealtimeClientSecretResponse
Response from OpenAI Realtime client secret endpoint. Source:packages/voice-backend/src/index.ts:52
The ephemeral client secret token (starts with
ek_)Unix timestamp when the token expires
Optional session metadata from OpenAI
RegisterNavaiExpressRoutesOptions
Options for registering Express routes. Source:packages/voice-backend/src/index.ts:58
Environment variables object
Backend configuration. Defaults to loading from environment
Whether to register function routes
Custom path for client secret endpoint
Custom path for functions list endpoint
Custom path for function execution endpoint
Base directory for function scanning
Comma-separated patterns for function discovery
File extensions to include
Glob patterns to exclude
Runtime Configuration
ResolveNavaiBackendRuntimeConfigOptions
Options for resolving runtime configuration. Source:packages/voice-backend/src/runtime.ts:9
Environment variables object
Comma-separated patterns for function discovery
Fallback folder when no matches found
Base directory for scanning
File extensions to include
Glob patterns to exclude
ResolveNavaiBackendRuntimeConfigResult
Result from runtime configuration resolution. Source:packages/voice-backend/src/runtime.ts:18
Record of file paths to module loader functions
Array of warning messages from scanning
Function Types
NavaiFunctionPayload
Payload passed to function execution. Source:packages/voice-backend/src/functions.ts:1
argsorarguments: Array of function argumentsvalue: Single value argumentconstructorArgs: Constructor arguments for class instantiationmethodArgs: Method arguments for class methods- Any other properties: Passed as first argument if
argsnot provided
NavaiFunctionContext
Context passed to function execution. Source:packages/voice-backend/src/functions.ts:3
req: Express Request object when called from/navai/functions/execute
NavaiFunctionDefinition
Normalized function definition. Source:packages/voice-backend/src/functions.ts:5
Normalized function name (snake_case)
Human-readable description of what the function does
Source location in format
path#exportName or path#exportName.methodrun
(payload: NavaiFunctionPayload, context: NavaiFunctionContext) => Promise<unknown> | unknown
required
Async function that executes the tool with given payload and context
NavaiFunctionsRegistry
Registry of loaded functions. Source:packages/voice-backend/src/functions.ts:12
Map of function names to definitions for O(1) lookup
Array of all function definitions in discovery order
Array of warning messages from loading process
NavaiFunctionModuleLoaders
Record of module loaders. Source:packages/voice-backend/src/functions.ts:18
Usage Examples
Type-Safe Backend Configuration
Type-Safe Client Secret Request
Type-Safe Function Definition
Type-Safe Registry Usage
Related APIs
- registerNavaiExpressRoutes - Uses these types
- createRealtimeClientSecret - Uses client secret types
- loadNavaiFunctions - Uses function types