25 lines
677 B
TypeScript
25 lines
677 B
TypeScript
type ResolveIframeAssistantIdInput = {
|
|
selectedAgentId: string | null;
|
|
threadMetadataAgentId: string | null;
|
|
preferDefaultAssistant?: boolean;
|
|
};
|
|
|
|
function normalizeAgentId(agentId: string | null | undefined): string | undefined {
|
|
const trimmed = agentId?.trim();
|
|
return trimmed ? trimmed : undefined;
|
|
}
|
|
|
|
export function resolveIframeAssistantId({
|
|
selectedAgentId,
|
|
threadMetadataAgentId,
|
|
preferDefaultAssistant = false,
|
|
}: ResolveIframeAssistantIdInput): string | undefined {
|
|
if (preferDefaultAssistant) {
|
|
return normalizeAgentId(selectedAgentId);
|
|
}
|
|
return (
|
|
normalizeAgentId(selectedAgentId) ??
|
|
normalizeAgentId(threadMetadataAgentId)
|
|
);
|
|
}
|