billing integration into ai workflow
This commit is contained in:
parent
919f6e4b7d
commit
46e58bf019
2 changed files with 11 additions and 7 deletions
|
|
@ -30,6 +30,7 @@ export function useDashboardInputForm(instanceId: string) {
|
||||||
const [optimisticMessage, setOptimisticMessage] = useState<WorkflowMessage | null>(null);
|
const [optimisticMessage, setOptimisticMessage] = useState<WorkflowMessage | null>(null);
|
||||||
const [selectedPromptId, setSelectedPromptId] = useState<string | null>(null);
|
const [selectedPromptId, setSelectedPromptId] = useState<string | null>(null);
|
||||||
const [workflowMode, setWorkflowMode] = useState<'Dynamic' | 'Automation' | null>(null);
|
const [workflowMode, setWorkflowMode] = useState<'Dynamic' | 'Automation' | null>(null);
|
||||||
|
const [selectedProvider, setSelectedProvider] = useState<string>(''); // AI provider selection
|
||||||
|
|
||||||
const { checkPermission, canView } = usePermissions();
|
const { checkPermission, canView } = usePermissions();
|
||||||
const [playgroundUIPermission, setPlaygroundUIPermission] = useState<boolean>(false);
|
const [playgroundUIPermission, setPlaygroundUIPermission] = useState<boolean>(false);
|
||||||
|
|
@ -594,7 +595,8 @@ export function useDashboardInputForm(instanceId: string) {
|
||||||
const requestBody = {
|
const requestBody = {
|
||||||
prompt: trimmedInput,
|
prompt: trimmedInput,
|
||||||
listFileId: fileIdsToSend.length > 0 ? fileIdsToSend : undefined,
|
listFileId: fileIdsToSend.length > 0 ? fileIdsToSend : undefined,
|
||||||
userLanguage: 'en'
|
userLanguage: 'en',
|
||||||
|
preferredProvider: selectedProvider || undefined // AI provider selection
|
||||||
};
|
};
|
||||||
|
|
||||||
const result = await startWorkflow(requestBody, workflowOptions);
|
const result = await startWorkflow(requestBody, workflowOptions);
|
||||||
|
|
@ -636,7 +638,7 @@ export function useDashboardInputForm(instanceId: string) {
|
||||||
setWorkflowStatusOptimistic('idle');
|
setWorkflowStatusOptimistic('idle');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [inputValue, pendingFiles, isRunning, workflowId, startingWorkflow, startWorkflow, stopWorkflow, resetWorkflow, refetchWorkflows, selectWorkflowFromContext, selectWorkflow, chatWorkflowPermission, workflowMode, setWorkflowStatusOptimistic]);
|
}, [inputValue, pendingFiles, isRunning, workflowId, startingWorkflow, startWorkflow, stopWorkflow, resetWorkflow, refetchWorkflows, selectWorkflowFromContext, selectWorkflow, chatWorkflowPermission, workflowMode, selectedProvider, setWorkflowStatusOptimistic]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleWorkflowCleared = () => {
|
const handleWorkflowCleared = () => {
|
||||||
|
|
@ -820,7 +822,10 @@ export function useDashboardInputForm(instanceId: string) {
|
||||||
allUserFiles: fileContext.files || [],
|
allUserFiles: fileContext.files || [],
|
||||||
handleFileAttach,
|
handleFileAttach,
|
||||||
handleFileUploadAndAttach,
|
handleFileUploadAndAttach,
|
||||||
latestStats
|
latestStats,
|
||||||
|
// AI Provider selection
|
||||||
|
selectedProvider,
|
||||||
|
onProviderSelect: setSelectedProvider
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,8 @@ export const PlaygroundPage: React.FC = () => {
|
||||||
deletingFiles,
|
deletingFiles,
|
||||||
previewingFiles,
|
previewingFiles,
|
||||||
downloadingFiles,
|
downloadingFiles,
|
||||||
|
selectedProvider,
|
||||||
|
onProviderSelect,
|
||||||
} = hookData;
|
} = hookData;
|
||||||
|
|
||||||
const { prompts, refetch: refetchPrompts } = usePrompts();
|
const { prompts, refetch: refetchPrompts } = usePrompts();
|
||||||
|
|
@ -93,9 +95,6 @@ export const PlaygroundPage: React.FC = () => {
|
||||||
// Prompts dropdown state
|
// Prompts dropdown state
|
||||||
const [selectedPromptId, setSelectedPromptId] = useState<string>('');
|
const [selectedPromptId, setSelectedPromptId] = useState<string>('');
|
||||||
|
|
||||||
// AI Provider selection state
|
|
||||||
const [selectedProvider, setSelectedProvider] = useState<string>('');
|
|
||||||
|
|
||||||
// Load prompts on mount
|
// Load prompts on mount
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
refetchPrompts();
|
refetchPrompts();
|
||||||
|
|
@ -788,7 +787,7 @@ export const PlaygroundPage: React.FC = () => {
|
||||||
</button>
|
</button>
|
||||||
<ProviderSelect
|
<ProviderSelect
|
||||||
value={selectedProvider}
|
value={selectedProvider}
|
||||||
onChange={setSelectedProvider}
|
onChange={onProviderSelect}
|
||||||
showLabel={false}
|
showLabel={false}
|
||||||
/>
|
/>
|
||||||
<VoiceLanguageSelect
|
<VoiceLanguageSelect
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue