Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/api/generated/data-contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -964,6 +964,15 @@ export type ServerVadConfig = (
) & {
/** Optional Smart Turn endpoint detection configuration. Runs after VAD silence detection to verify turn completion. */
smartTurn?: SmartTurnConfig;
/**
* Duration in milliseconds to wait for the user to continue speaking after a barge-in interrupt. If silence is detected for this duration, ASR is stopped. Default: 3000.
* @min 500
* @max 10000
* @default 3000
*/
bargeInSilenceTimeout?: number;
/** Optional placeholder text fed to the AI as user input when the user barge-ins but then stops speaking before the bargeInSilenceTimeout. The AI generates a response based on this prompt (e.g. "[you misheard something the user said]"). Default: [repeat after interruption]. */
bargeInSilencePlaceholder?: string;
};

export interface LegacyVadConfig {
Expand Down
11 changes: 11 additions & 0 deletions src/api/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1557,6 +1557,17 @@
"properties": {
"smartTurn": {
"$ref": "#/components/schemas/SmartTurnConfig"
},
"bargeInSilenceTimeout": {
"type": "integer",
"minimum": 500,
"maximum": 10000,
"default": 3000,
"description": "Duration in milliseconds to wait for the user to continue speaking after a barge-in interrupt. If silence is detected for this duration, ASR is stopped. Default: 3000."
},
"bargeInSilencePlaceholder": {
"type": "string",
"description": "Optional placeholder text fed to the AI as user input when the user barge-ins but then stops speaking before the bargeInSilenceTimeout. The AI generates a response based on this prompt (e.g. \"[you misheard something the user said]\"). Default: [repeat after interruption]."
}
}
}
Expand Down
11 changes: 11 additions & 0 deletions src/api/websocket/websocket-contracts.json
Original file line number Diff line number Diff line change
Expand Up @@ -778,6 +778,17 @@
"properties": {
"smartTurn": {
"$ref": "#/definitions/SmartTurnConfig"
},
"bargeInSilenceTimeout": {
"type": "integer",
"minimum": 500,
"maximum": 10000,
"default": 3000,
"description": "Duration in milliseconds to wait for the user to continue speaking after a barge-in interrupt. If silence is detected for this duration, ASR is stopped. Default: 3000."
},
"bargeInSilencePlaceholder": {
"type": "string",
"description": "Optional placeholder text fed to the AI as user input when the user barge-ins but then stops speaking before the bargeInSilenceTimeout. The AI generates a response based on this prompt (e.g. \"[you misheard something the user said]\"). Default: [repeat after interruption]."
}
}
}
Expand Down
8 changes: 8 additions & 0 deletions src/api/websocket/websocket-contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,14 @@ export interface SmartTurnConfig {
*/
export type ServerVadConfig = (LegacyVadConfig | SileroVadConfig | FireRedVadConfig) & {
smartTurn?: SmartTurnConfig;
/**
* Duration in milliseconds to wait for the user to continue speaking after a barge-in interrupt. If silence is detected for this duration, ASR is stopped. Default: 3000.
*/
bargeInSilenceTimeout?: number;
/**
* Optional placeholder text fed to the AI as user input when the user barge-ins but then stops speaking before the bargeInSilenceTimeout. The AI generates a response based on this prompt (e.g. "[you misheard something the user said]"). Default: [repeat after interruption].
*/
bargeInSilencePlaceholder?: string;
};


Expand Down
Loading
Loading