Overview
TheloadNavaiFunctions function dynamically loads frontend functions from module loaders, extracts callable exports, and builds a registry for the voice agent.
Import
Type Signature
Parameters
Map of module paths to dynamic import functionsExample:
Return Value
Function Definition
Function Context
Supported Export Types
1. Named Functions
- Name:
search - Description:
Call exported function search. - Source:
./functions/search.ts#search
2. Default Functions
- Name:
get_user_profile(normalized from file name) - Description:
Call exported function default. - Source:
./functions/getUserProfile.ts#default
3. Classes
- Name:
analytics_track- Description:
Call class method Analytics.track(). - Source:
./functions/analytics.ts#Analytics.track
- Description:
- Name:
analytics_identify- Description:
Call class method Analytics.identify(). - Source:
./functions/analytics.ts#Analytics.identify
- Description:
4. Object Exports
- Name:
api_fetch_user- Description:
Call exported object member api.fetchUser(). - Source:
./functions/api.ts#api.fetchUser
- Description:
- Name:
api_create_post- Description:
Call exported object member api.createPost(). - Source:
./functions/api.ts#api.createPost
- Description:
Name Normalization
Function names are normalized to lowercase with underscores:- Convert camelCase to snake_case
- Replace non-alphanumeric characters with
_ - Remove leading/trailing underscores
- Convert to lowercase
Payload Handling
Function Arguments
Class Methods
Single Value
Full Payload
Context Injection
If a function has more parameters than provided arguments, the context is automatically injected:Examples
Basic Loading
With Warnings
Executing Functions
With Classes
Complete Example
Warnings
The function emits warnings for:File Filtering
TypeScript declaration files are automatically skipped:Types
Related
- buildNavaiAgent - Uses function registry
- useWebVoiceAgent - Loads functions
- Types - Type definitions