diff --git a/agentex-ui/components/primary-content/prompt-input.tsx b/agentex-ui/components/primary-content/prompt-input.tsx index 5d872c4..45f0f9d 100644 --- a/agentex-ui/components/primary-content/prompt-input.tsx +++ b/agentex-ui/components/primary-content/prompt-input.tsx @@ -49,6 +49,9 @@ export function PromptInput({ prompt, setPrompt }: PromptInputProps) { const { taskID, agentName, updateParams } = useSafeSearchParams(); const [isClient, setIsClient] = useState(false); const [isSendingJSON, setIsSendingJSON] = useState(false); + const [isTaskParamsOpen, setIsTaskParamsOpen] = useState(false); + const [taskParams, setTaskParams] = useState(''); + const taskParamsViewRef = useRef(null); const { agentexClient } = useAgentexClient(); @@ -119,9 +122,20 @@ export function PromptInput({ prompt, setPrompt }: PromptInputProps) { setPrompt(''); if (!currentTaskId) { + let extraTaskParams: Record = {}; + if (taskParams.trim()) { + try { + extraTaskParams = JSON.parse(taskParams); + } catch { + toast.error('Invalid Task Parameters JSON'); + return; + } + } + const task = await createTaskMutation.mutateAsync({ agentName: agentName, params: { + ...extraTaskParams, description: prompt, content: currentPrompt, }, @@ -159,10 +173,32 @@ export function PromptInput({ prompt, setPrompt }: PromptInputProps) { sendMessageMutation, setPrompt, isSendingJSON, + taskParams, ]); return (
+ {!taskID && !isDisabled && ( +
+ + {isTaskParamsOpen && ( + + )} +
+ )}