From 240e5912808482644eddff65ad32bab9ff1505c6 Mon Sep 17 00:00:00 2001 From: Kerem Yilmaz Date: Thu, 11 Jul 2024 08:03:18 -0700 Subject: [PATCH] Show steps in task page (#585) --- poetry.lock | 18 ++-- pyproject.toml | 2 +- .../src/hooks/useCostCalculator.ts | 9 ++ .../tasks/detail/StepArtifactsLayout.tsx | 6 +- .../routes/tasks/detail/StepNavigation.tsx | 6 +- .../src/routes/tasks/detail/TaskDetails.tsx | 36 ++------ .../src/routes/tasks/detail/TaskInfo.tsx | 90 +++++++++++++++++++ .../routes/tasks/detail/hooks/useTaskQuery.ts | 33 +++++++ .../src/store/CostCalculatorContext.ts | 8 ++ 9 files changed, 157 insertions(+), 51 deletions(-) create mode 100644 skyvern-frontend/src/hooks/useCostCalculator.ts create mode 100644 skyvern-frontend/src/routes/tasks/detail/TaskInfo.tsx create mode 100644 skyvern-frontend/src/routes/tasks/detail/hooks/useTaskQuery.ts create mode 100644 skyvern-frontend/src/store/CostCalculatorContext.ts diff --git a/poetry.lock b/poetry.lock index 9e714594..e79be490 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2943,13 +2943,13 @@ files = [ [[package]] name = "litellm" -version = "1.41.12" +version = "1.35.35" description = "Library to easily interface with LLM API providers" optional = false python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.41.12-py3-none-any.whl", hash = "sha256:9af8b65ca48f0aa5b8ef10a63c21b00553843aa1e498f2c9308738b97d4a50f3"}, - {file = "litellm-1.41.12.tar.gz", hash = "sha256:f94b5ac8857ea8b98b87f7d3071dbd10e24fe9e0d7831969adafb549688ce0ce"}, + {file = "litellm-1.35.35-py3-none-any.whl", hash = "sha256:9dcf4a1fbdb1864de03f2fbcc26cc19ee83449966ad0b373b1d61f64ade963f7"}, + {file = "litellm-1.35.35.tar.gz", hash = "sha256:f8873892f4a2f082e2f5f4fed5740f341b7d1a7778445785b2af68adbc2793e9"}, ] [package.dependencies] @@ -2957,17 +2957,15 @@ aiohttp = "*" click = "*" importlib-metadata = ">=6.8.0" jinja2 = ">=3.1.2,<4.0.0" -jsonschema = ">=4.22.0,<5.0.0" -openai = ">=1.27.0" -pydantic = ">=2.0.0,<3.0.0" +openai = ">=1.0.0" python-dotenv = ">=0.2.0" requests = ">=2.31.0,<3.0.0" -tiktoken = ">=0.7.0" +tiktoken = ">=0.4.0" tokenizers = "*" [package.extras] -extra-proxy = ["azure-identity (>=1.15.0,<2.0.0)", "azure-keyvault-secrets (>=4.8.0,<5.0.0)", "google-cloud-kms (>=2.21.3,<3.0.0)", "prisma (==0.11.0)", "pynacl (>=1.5.0,<2.0.0)", "resend (>=0.8.0,<0.9.0)"] -proxy = ["PyJWT (>=2.8.0,<3.0.0)", "apscheduler (>=3.10.4,<4.0.0)", "backoff", "cryptography (>=42.0.5,<43.0.0)", "fastapi (>=0.111.0,<0.112.0)", "fastapi-sso (>=0.10.0,<0.11.0)", "gunicorn (>=22.0.0,<23.0.0)", "orjson (>=3.9.7,<4.0.0)", "python-multipart (>=0.0.9,<0.0.10)", "pyyaml (>=6.0.1,<7.0.0)", "rq", "uvicorn (>=0.22.0,<0.23.0)"] +extra-proxy = ["azure-identity (>=1.15.0,<2.0.0)", "azure-keyvault-secrets (>=4.8.0,<5.0.0)", "google-cloud-kms (>=2.21.3,<3.0.0)", "prisma (==0.11.0)", "resend (>=0.8.0,<0.9.0)"] +proxy = ["PyJWT (>=2.8.0,<3.0.0)", "apscheduler (>=3.10.4,<4.0.0)", "backoff", "cryptography (>=42.0.5,<43.0.0)", "fastapi (>=0.109.1,<0.110.0)", "fastapi-sso (>=0.10.0,<0.11.0)", "gunicorn (>=21.2.0,<22.0.0)", "orjson (>=3.9.7,<4.0.0)", "python-multipart (>=0.0.9,<0.0.10)", "pyyaml (>=6.0.1,<7.0.0)", "rq", "uvicorn (>=0.22.0,<0.23.0)"] [[package]] name = "lxml" @@ -7277,4 +7275,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.11,<3.12" -content-hash = "40e1dba8128bed75196f0c8dc21894f1b37f76a16f19b1678697df7563f67a7a" +content-hash = "b3bb150f1811469740857a9bf062345a9597ace0d292b83f08a9f3e0707519d8" diff --git a/pyproject.toml b/pyproject.toml index 835e5ebf..9c5ec0b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ python-multipart = "^0.0.6" toml = "^0.10.2" jinja2 = "^3.1.2" uvicorn = {extras = ["standard"], version = "^0.24.0.post1"} -litellm = "1.41.12" +litellm = "1.35.35" duckduckgo-search = "^3.8.0" selenium = "^4.13.0" bs4 = "^0.0.1" diff --git a/skyvern-frontend/src/hooks/useCostCalculator.ts b/skyvern-frontend/src/hooks/useCostCalculator.ts new file mode 100644 index 00000000..a0582507 --- /dev/null +++ b/skyvern-frontend/src/hooks/useCostCalculator.ts @@ -0,0 +1,9 @@ +import { CostCalculatorContext } from "@/store/CostCalculatorContext"; +import { useContext } from "react"; + +function useCostCalculator() { + const costCalculator = useContext(CostCalculatorContext); + return costCalculator; +} + +export { useCostCalculator }; diff --git a/skyvern-frontend/src/routes/tasks/detail/StepArtifactsLayout.tsx b/skyvern-frontend/src/routes/tasks/detail/StepArtifactsLayout.tsx index a024a8a2..e9addf75 100644 --- a/skyvern-frontend/src/routes/tasks/detail/StepArtifactsLayout.tsx +++ b/skyvern-frontend/src/routes/tasks/detail/StepArtifactsLayout.tsx @@ -30,11 +30,7 @@ function StepArtifactsLayout() { return
Error: {error?.message}
; } - if (!steps) { - return
No steps found
; - } - - const activeStep = steps[activeIndex]; + const activeStep = steps?.[activeIndex]; return (
diff --git a/skyvern-frontend/src/routes/tasks/detail/StepNavigation.tsx b/skyvern-frontend/src/routes/tasks/detail/StepNavigation.tsx index 77b57955..ef6f9f8d 100644 --- a/skyvern-frontend/src/routes/tasks/detail/StepNavigation.tsx +++ b/skyvern-frontend/src/routes/tasks/detail/StepNavigation.tsx @@ -41,13 +41,9 @@ function StepNavigation({ activeIndex, onActiveIndexChange }: Props) { return
Error: {error?.message}
; } - if (!steps) { - return
No steps found
; - } - return (