Skip to content

Commit

Permalink
Revert "Add ability to use observer in the prompt section (#3194)" (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
wintonzheng authored Dec 17, 2024
1 parent b705593 commit 56ff9d1
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 141 deletions.
12 changes: 0 additions & 12 deletions skyvern-frontend/src/api/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -233,15 +233,3 @@ export type ActionsApiResponse = {
intention: string | null;
response: string | null;
};

export type ObserverCruise = {
observer_cruise_id: string;
status: Status;
workflow_run_id: string | null;
workflow_id: string | null;
workflow_permanent_id: string | null;
prompt: string | null;
url: string | null;
created_at: string;
modified_at: string;
};
26 changes: 0 additions & 26 deletions skyvern-frontend/src/components/ui/select.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -114,30 +114,6 @@ const SelectLabel = React.forwardRef<
));
SelectLabel.displayName = SelectPrimitive.Label.displayName;

const CustomSelectItem = React.forwardRef<
React.ElementRef<typeof SelectPrimitive.Item>,
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
>(({ className, children, ...props }, ref) => (
<SelectPrimitive.Item
ref={ref}
className={cn(
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
className,
)}
{...props}
>
<span className="absolute right-2 flex h-3.5 w-3.5 items-center justify-center">
<SelectPrimitive.ItemIndicator>
<CheckIcon className="h-4 w-4" />
</SelectPrimitive.ItemIndicator>
</span>
{children}
</SelectPrimitive.Item>
));
CustomSelectItem.displayName = SelectPrimitive.Item.displayName;

const SelectItemText = SelectPrimitive.ItemText;

const SelectItem = React.forwardRef<
React.ElementRef<typeof SelectPrimitive.Item>,
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
Expand Down Expand Up @@ -183,6 +159,4 @@ export {
SelectSeparator,
SelectScrollUpButton,
SelectScrollDownButton,
CustomSelectItem,
SelectItemText,
};
97 changes: 4 additions & 93 deletions skyvern-frontend/src/routes/tasks/create/PromptBox.tsx
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
import { getClient } from "@/api/AxiosClient";
import { ObserverCruise, TaskGenerationApiResponse } from "@/api/types";
import { TaskGenerationApiResponse } from "@/api/types";
import img from "@/assets/promptBoxBg.png";
import { CartIcon } from "@/components/icons/CartIcon";
import { GraphIcon } from "@/components/icons/GraphIcon";
import { InboxIcon } from "@/components/icons/InboxIcon";
import { MessageIcon } from "@/components/icons/MessageIcon";
import { TranslateIcon } from "@/components/icons/TranslateIcon";
import { TrophyIcon } from "@/components/icons/TrophyIcon";
import { Button } from "@/components/ui/button";
import {
CustomSelectItem,
Select,
SelectContent,
SelectItemText,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
import { toast } from "@/components/ui/use-toast";
import { useCredentialGetter } from "@/hooks/useCredentialGetter";
import { observerFeatureEnabled } from "@/util/env";
import {
FileTextIcon,
GearIcon,
Expand All @@ -28,11 +18,10 @@ import {
PlusIcon,
ReloadIcon,
} from "@radix-ui/react-icons";
import { ToastAction } from "@radix-ui/react-toast";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { AxiosError } from "axios";
import { useState } from "react";
import { Link, useNavigate } from "react-router-dom";
import { useNavigate } from "react-router-dom";
import { stringify as convertToYAML } from "yaml";

function createTemplateTaskFromTaskGenerationParameters(
Expand Down Expand Up @@ -123,53 +112,9 @@ const exampleCases = [
function PromptBox() {
const navigate = useNavigate();
const [prompt, setPrompt] = useState<string>("");
const [selectValue, setSelectValue] = useState(
observerFeatureEnabled ? "v2" : "v1",
);
const credentialGetter = useCredentialGetter();
const queryClient = useQueryClient();

const startObserverCruiseMutation = useMutation({
mutationFn: async (prompt: string) => {
const client = await getClient(credentialGetter);
return client.post<{ user_prompt: string }, { data: ObserverCruise }>(
"/cruise",
{ user_prompt: prompt },
);
},
onSuccess: (response) => {
toast({
variant: "success",
title: "Workflow Run Created",
description: `Workflow run created successfully.`,
action: (
<ToastAction altText="View">
<Button asChild>
<Link
to={`/workflows/${response.data.workflow_permanent_id}/${response.data.workflow_run_id}`}
>
View
</Link>
</Button>
</ToastAction>
),
});
queryClient.invalidateQueries({
queryKey: ["workflowRuns"],
});
queryClient.invalidateQueries({
queryKey: ["workflows"],
});
},
onError: (error: AxiosError) => {
toast({
variant: "destructive",
title: "Error creating workflow run from prompt",
description: error.message,
});
},
});

const getTaskFromPromptMutation = useMutation({
mutationFn: async (prompt: string) => {
const client = await getClient(credentialGetter);
Expand Down Expand Up @@ -235,48 +180,14 @@ function PromptBox() {
placeholder="Enter your prompt..."
rows={1}
/>
{observerFeatureEnabled && (
<Select value={selectValue} onValueChange={setSelectValue}>
<SelectTrigger className="w-32 focus:ring-0">
<SelectValue />
</SelectTrigger>
<SelectContent className="border-slate-500 bg-slate-elevation3">
<CustomSelectItem value="v2" className="hover:bg-slate-800">
<div className="space-y-2">
<div>
<SelectItemText>Observer</SelectItemText>
</div>
<div className="text-xs text-slate-400">
best for complex tasks
</div>
</div>
</CustomSelectItem>
<CustomSelectItem value="v1">
<div className="space-y-2">
<div>
<SelectItemText>Task</SelectItemText>
</div>
<div className="text-xs text-slate-400">
best for simple tasks
</div>
</div>
</CustomSelectItem>
</SelectContent>
</Select>
)}
<div className="flex items-center">
{startObserverCruiseMutation.isPending ||
getTaskFromPromptMutation.isPending ||
<div className="h-full">
{getTaskFromPromptMutation.isPending ||
saveTaskMutation.isPending ? (
<ReloadIcon className="h-6 w-6 animate-spin" />
) : (
<PaperPlaneIcon
className="h-6 w-6 cursor-pointer"
onClick={async () => {
if (observerFeatureEnabled && selectValue === "v2") {
startObserverCruiseMutation.mutate(prompt);
return;
}
const taskGenerationResponse =
await getTaskFromPromptMutation.mutateAsync(prompt);
await saveTaskMutation.mutateAsync(taskGenerationResponse);
Expand Down
11 changes: 1 addition & 10 deletions skyvern-frontend/src/util/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,4 @@ if (!artifactApiBaseUrl) {
console.warn("artifactApiBaseUrl environment variable was not set");
}

const observerEnabled = import.meta.env.VITE_OBSERVER_ENABLED as string;
const observerFeatureEnabled = observerEnabled === "true";

export {
apiBaseUrl,
environment,
envCredential,
artifactApiBaseUrl,
observerFeatureEnabled,
};
export { apiBaseUrl, environment, envCredential, artifactApiBaseUrl };

0 comments on commit 56ff9d1

Please sign in to comment.