diff --git a/skyvern-frontend/src/routes/tasks/create/CreateNewTaskFormPage.tsx b/skyvern-frontend/src/routes/tasks/create/CreateNewTaskFormPage.tsx
index 75e2f441..5733f7d2 100644
--- a/skyvern-frontend/src/routes/tasks/create/CreateNewTaskFormPage.tsx
+++ b/skyvern-frontend/src/routes/tasks/create/CreateNewTaskFormPage.tsx
@@ -1,16 +1,17 @@
import { getClient } from "@/api/AxiosClient";
import { useCredentialGetter } from "@/hooks/useCredentialGetter";
import { useQuery } from "@tanstack/react-query";
-import { useParams } from "react-router-dom";
+import { useLocation, useParams } from "react-router-dom";
import { getSampleForInitialFormValues } from "../data/sampleTaskData";
import { SampleCase, sampleCases } from "../types";
import { CreateNewTaskForm } from "./CreateNewTaskForm";
import { SavedTaskForm } from "./SavedTaskForm";
-import { WorkflowParameter } from "@/api/types";
+import { TaskGenerationApiResponse, WorkflowParameter } from "@/api/types";
function CreateNewTaskFormPage() {
const { template } = useParams();
const credentialGetter = useCredentialGetter();
+ const location = useLocation();
const { data, isFetching } = useQuery({
queryKey: ["savedTask", template],
@@ -29,6 +30,41 @@ function CreateNewTaskFormPage() {
return
Invalid template
;
}
+ if (template === "from-prompt") {
+ const data = location.state?.data as TaskGenerationApiResponse;
+ if (!data.url) {
+ return Something went wrong, please try again
; // this should never happen
+ }
+ return (
+
+
+
+
+ );
+ }
+
if (sampleCases.includes(template as SampleCase)) {
return (
diff --git a/skyvern-frontend/src/routes/tasks/create/PromptBox.tsx b/skyvern-frontend/src/routes/tasks/create/PromptBox.tsx
index 2b5662b4..10571600 100644
--- a/skyvern-frontend/src/routes/tasks/create/PromptBox.tsx
+++ b/skyvern-frontend/src/routes/tasks/create/PromptBox.tsx
@@ -16,19 +16,6 @@ import {
ScrollBar,
} from "@/components/ui/scroll-area";
-function createTaskFromTaskGenerationParameters(
- values: TaskGenerationApiResponse,
-) {
- return {
- url: values.url,
- navigation_goal: values.navigation_goal,
- data_extraction_goal: values.data_extraction_goal,
- proxy_location: "RESIDENTIAL",
- navigation_payload: values.navigation_payload,
- extracted_information_schema: values.extracted_information_schema,
- };
-}
-
function createTemplateTaskFromTaskGenerationParameters(
values: TaskGenerationApiResponse,
) {
@@ -120,27 +107,6 @@ function PromptBox() {
},
});
- const runTaskMutation = useMutation({
- mutationFn: async (params: TaskGenerationApiResponse) => {
- const client = await getClient(credentialGetter);
- const data = createTaskFromTaskGenerationParameters(params);
- return client.post<
- ReturnType
,
- { data: { task_id: string } }
- >("/tasks", data);
- },
- onSuccess: (response) => {
- navigate(`/tasks/${response.data.task_id}/actions`);
- },
- onError: (error: AxiosError) => {
- toast({
- variant: "destructive",
- title: "Error running task",
- description: error.message,
- });
- },
- });
-
return (
{getTaskFromPromptMutation.isPending ||
- saveTaskMutation.isPending ||
- runTaskMutation.isPending ? (
+ saveTaskMutation.isPending ? (
) : (
)}