Skip to content

Commit bf3d847

Browse files
authored
Merge pull request #1623 from Agenta-AI/issue-1622/-Refactor-API-Endpoints-into-Services-Folder
Refactor API Endpoints into Services Folder
2 parents 8ebcb68 + c5de6f7 commit bf3d847

File tree

44 files changed

+883
-860
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+883
-860
lines changed

agenta-web/src/components/AppSelector/AppCard.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import {Modal, Card, Avatar} from "antd"
22
import {DeleteOutlined} from "@ant-design/icons"
3-
import {removeApp} from "@/lib/services/api"
3+
import {deleteApp} from "@/services/app-selector/api"
44
import {useState} from "react"
55
import Link from "next/link"
66
import {renameVariablesCapitalizeAll} from "@/lib/helpers/utils"
77
import {createUseStyles} from "react-jss"
8-
import {getGradientFromStr} from "@/lib/helpers/colors"
98
import {ListAppsItem} from "@/lib/Types"
109
import {useAppsData} from "@/contexts/app.context"
1110

@@ -87,7 +86,7 @@ const AppCard: React.FC<{
8786
const handleDeleteOk = async () => {
8887
setConfirmLoading(true)
8988
try {
90-
await removeApp(app.app_id)
89+
await deleteApp(app.app_id)
9190
mutate()
9291
} catch (error) {
9392
console.error(error)

agenta-web/src/components/AppSelector/AppSelector.tsx

+5-9
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@ import {useAppTheme} from "../Layout/ThemeContextProvider"
77
import TipsAndFeatures from "./TipsAndFeatures"
88
import Welcome from "./Welcome"
99
import {isAppNameInputValid, isDemo, redirectIfNoLLMKeys} from "@/lib/helpers/utils"
10-
import {
11-
createAndStartTemplate,
12-
getTemplates,
13-
removeApp,
14-
waitForAppToStart,
15-
} from "@/lib/services/api"
10+
import {createAndStartTemplate, fetchAllTemplates, deleteApp} from "@/services/app-selector/api"
11+
import {waitForAppToStart} from "@/services/api"
1612
import AddNewAppModal from "./modals/AddNewAppModal"
1713
import AddAppFromTemplatedModal from "./modals/AddAppFromTemplateModal"
1814
import MaxAppModal from "./modals/MaxAppModal"
@@ -22,7 +18,7 @@ import {useAppsData} from "@/contexts/app.context"
2218
import {useProfileData} from "@/contexts/profile.context"
2319
import CreateAppStatusModal from "./modals/CreateAppStatusModal"
2420
import {usePostHogAg} from "@/hooks/usePostHogAg"
25-
import {LlmProvider, getAllProviderLlmKeys, getApikeys} from "@/lib/helpers/llmProviders"
21+
import {LlmProvider, getAllProviderLlmKeys} from "@/lib/helpers/llmProviders"
2622
import ResultComponent from "../ResultComponent/ResultComponent"
2723
import {dynamicContext} from "@/lib/helpers/dynamic"
2824

@@ -175,7 +171,7 @@ const AppSelector: React.FC = () => {
175171
useEffect(() => {
176172
if (!isLoading) mutate()
177173
const fetchTemplates = async () => {
178-
const data = await getTemplates()
174+
const data = await fetchAllTemplates()
179175
if (typeof data == "object") {
180176
setTemplates(data)
181177
} else {
@@ -226,7 +222,7 @@ const AppSelector: React.FC = () => {
226222
const onErrorRetry = async () => {
227223
if (statusData.appId) {
228224
setStatusData((prev) => ({...prev, status: "cleanup", details: undefined}))
229-
await removeApp(statusData.appId).catch(console.error)
225+
await deleteApp(statusData.appId).catch(console.error)
230226
mutate()
231227
}
232228
handleTemplateCardClick(templateId as string)

agenta-web/src/components/EvaluationTable/ABTestingEvaluationTable.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import {
1515
} from "antd"
1616
import {
1717
updateEvaluationScenario,
18-
callVariant,
1918
fetchEvaluationResults,
2019
updateEvaluation,
21-
} from "@/lib/services/api"
20+
} from "@/services/human-evaluations/api"
21+
import {callVariant} from "@/services/api"
2222
import {useVariants} from "@/lib/hooks/useVariant"
2323
import {useRouter} from "next/router"
2424
import {EvaluationFlow} from "@/lib/enums"

agenta-web/src/components/EvaluationTable/SingleModelEvaluationTable.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {useState, useEffect, useCallback, useMemo} from "react"
1+
import {useState, useEffect, useCallback} from "react"
22
import type {ColumnType} from "antd/es/table"
33
import {CaretRightOutlined} from "@ant-design/icons"
44
import {
@@ -15,7 +15,8 @@ import {
1515
Typography,
1616
message,
1717
} from "antd"
18-
import {updateEvaluationScenario, callVariant, updateEvaluation} from "@/lib/services/api"
18+
import {callVariant} from "@/services/api"
19+
import {updateEvaluationScenario, updateEvaluation} from "@/services/human-evaluations/api"
1920
import {useVariants} from "@/lib/hooks/useVariant"
2021
import {useRouter} from "next/router"
2122
import {EvaluationFlow} from "@/lib/enums"

agenta-web/src/components/Evaluations/AutomaticEvaluationResult.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import {deleteEvaluations, fetchEvaluationResults, loadEvaluations} from "@/lib/services/api"
1+
import {
2+
deleteEvaluations,
3+
fetchEvaluationResults,
4+
fetchAllLoadEvaluations,
5+
} from "@/services/human-evaluations/api"
26
import {Button, Spin, Statistic, Table, Typography} from "antd"
37
import {useRouter} from "next/router"
48
import {useEffect, useState} from "react"
@@ -101,7 +105,7 @@ export default function AutomaticEvaluationResult({
101105
const fetchEvaluations = async () => {
102106
try {
103107
setFetchingEvaluations(true)
104-
const evals: Evaluation[] = (await loadEvaluations(app_id)).map(
108+
const evals: Evaluation[] = (await fetchAllLoadEvaluations(app_id)).map(
105109
fromEvaluationResponseToEvaluation,
106110
)
107111
const results = await Promise.all(evals.map((e) => fetchEvaluationResults(e.id)))

agenta-web/src/components/Evaluations/HumanEvaluationResult.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {deleteEvaluations, fetchData} from "@/lib/services/api"
1+
import {fetchData} from "@/services/api"
2+
import {deleteEvaluations} from "@/services/human-evaluations/api"
23
import {Button, Spin, Statistic, Table, Typography} from "antd"
34
import {useRouter} from "next/router"
45
import {useEffect, useState} from "react"

agenta-web/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, {useEffect, useState} from "react"
22
import {GenericObject, JSSTheme, Parameter, Variant} from "@/lib/Types"
3-
import {createNewEvaluation, fetchVariants, useLoadTestsetsList} from "@/lib/services/api"
3+
import {fetchVariants} from "@/services/api"
4+
import {createNewEvaluation} from "@/services/human-evaluations/api"
45
import {isDemo} from "@/lib/helpers/utils"
56
import {Button, Col, Dropdown, MenuProps, Modal, ModalProps, Row, Spin, message} from "antd"
67
import {getErrorMessage} from "@/lib/helpers/errorHandler"
@@ -11,9 +12,9 @@ import {getAllVariantParameters} from "@/lib/helpers/variantHelper"
1112
import {useRouter} from "next/router"
1213
import {useAppTheme} from "../Layout/ThemeContextProvider"
1314
import {createUseStyles} from "react-jss"
14-
import {getApikeys} from "@/lib/helpers/llmProviders"
1515
import EvaluationErrorModal from "../Evaluations/EvaluationErrorModal"
1616
import {dynamicComponent} from "@/lib/helpers/dynamic"
17+
import {useLoadTestsetsList} from "@/services/testsets/api"
1718

1819
type StyleProps = {
1920
themeMode: "dark" | "light"

agenta-web/src/components/Layout/Layout.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {createUseStyles} from "react-jss"
2020
import NoSSRWrapper from "../NoSSRWrapper/NoSSRWrapper"
2121
import {ErrorBoundary} from "react-error-boundary"
2222
import ErrorFallback from "./ErrorFallback"
23-
import {fetchData} from "@/lib/services/api"
23+
import {fetchData} from "@/services/api"
2424
import {useAppsData} from "@/contexts/app.context"
2525
import {useRouter} from "next/router"
2626
import Image from "next/image"

agenta-web/src/components/Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ import AlertPopup from "@/components/AlertPopup/AlertPopup"
22
import {useAppTheme} from "../../Layout/ThemeContextProvider"
33
import {ChatMessage, ChatRole, GenericObject, testset} from "@/lib/Types"
44
import {removeKeys, renameVariables} from "@/lib/helpers/utils"
5-
import {createNewTestset, loadTestset, updateTestset, useLoadTestsetsList} from "@/lib/services/api"
5+
import {
6+
createNewTestset,
7+
fetchTestset,
8+
updateTestset,
9+
useLoadTestsetsList,
10+
} from "@/services/testsets/api"
611
import {
712
Button,
813
Divider,
@@ -193,7 +198,7 @@ const AddToTestSetDrawer: React.FC<Props> = ({params, isChatVariant, ...props})
193198
if (isNew) {
194199
setNewTestsetModalOpen(true)
195200
} else {
196-
loadTestset(selectedTestset!).then((data) => {
201+
fetchTestset(selectedTestset!).then((data) => {
197202
const testsetCols = Object.keys(data.csvdata?.[0] || {})
198203
const playgroundCols = Object.keys(values[0])
199204
const missingColsTestset = testsetCols.filter(

agenta-web/src/components/Playground/LoadTestsModal.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {loadTestset, useLoadTestsetsList} from "@/lib/services/api"
2-
import {Button, Divider, Dropdown, Modal, Select, Space} from "antd"
1+
import {fetchTestset, useLoadTestsetsList} from "@/services/testsets/api"
2+
import {Button, Divider, Modal, Select} from "antd"
33
import {useRouter} from "next/router"
44
import {PropsWithChildren, useState} from "react"
55
import {createUseStyles} from "react-jss"
@@ -38,7 +38,7 @@ const LoadTestsModal: React.FC<Props> = (props) => {
3838
}))
3939

4040
const handleClick = (shouldReplace: boolean) => {
41-
loadTestset(selectedSet).then((data) => {
41+
fetchTestset(selectedSet).then((data) => {
4242
onLoad(data.csvdata, shouldReplace)
4343
})
4444
setIsOpen(false)

agenta-web/src/components/Playground/Playground.tsx

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import React, {useState, useEffect, useRef} from "react"
22
import {Button, Tabs, message} from "antd"
33
import ViewNavigation from "./ViewNavigation"
44
import NewVariantModal from "./NewVariantModal"
5-
import {fetchEnvironments, fetchVariants, saveNewVariant} from "@/lib/services/api"
5+
import {fetchVariants} from "@/services/api"
6+
import {fetchEnvironments} from "@/services/deployment/api"
67
import {Variant, PlaygroundTabsItem, Environment} from "@/lib/Types"
78
import {AppstoreOutlined, SyncOutlined} from "@ant-design/icons"
89
import {useRouter} from "next/router"
@@ -17,6 +18,7 @@ import {useLocalStorage} from "usehooks-ts"
1718
import TestContextProvider from "./TestContextProvider"
1819
import {checkIfResourceValidForDeletion} from "@/lib/helpers/evaluate"
1920
import ResultComponent from "../ResultComponent/ResultComponent"
21+
import {createNewVariant} from "@/services/playground/api"
2022

2123
const Playground: React.FC = () => {
2224
const router = useRouter()
@@ -78,7 +80,7 @@ const Playground: React.FC = () => {
7880
}
7981

8082
try {
81-
await saveNewVariant(
83+
await createNewVariant(
8284
newVariant.baseId!,
8385
newVariant.variantName!,
8486
newVariant.configName!,

agenta-web/src/components/Playground/ViewNavigation.tsx

+9-9
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ import {useRouter} from "next/router"
88
import {useState} from "react"
99
import axios from "axios"
1010
import {createUseStyles} from "react-jss"
11-
import {
12-
fetchVariantLogs,
13-
getAppContainerURL,
14-
removeVariant,
15-
restartAppVariantContainer,
16-
waitForAppToStart,
17-
} from "@/lib/services/api"
11+
12+
import {fetchAppContainerURL, waitForAppToStart} from "@/services/api"
1813
import {useAppsData} from "@/contexts/app.context"
1914
import {isDemo} from "@/lib/helpers/utils"
2015
import ResultComponent from "../ResultComponent/ResultComponent"
16+
import {
17+
deleteSingleVariant,
18+
fetchVariantLogs,
19+
restartAppVariantContainer,
20+
} from "@/services/playground/api"
2121

2222
const {Text} = Typography
2323

@@ -141,7 +141,7 @@ const ViewNavigation: React.FC<Props> = ({
141141
}
142142

143143
const variantContainerPath = async () => {
144-
const url = await getAppContainerURL(appId, variant.variantId, variant.baseId)
144+
const url = await fetchAppContainerURL(appId, variant.variantId, variant.baseId)
145145
setContainerURI(url)
146146
}
147147
if (!containerURI) {
@@ -231,7 +231,7 @@ const ViewNavigation: React.FC<Props> = ({
231231
type="primary"
232232
danger
233233
onClick={() => {
234-
deleteVariant(() => removeVariant(variant.variantId))
234+
deleteVariant(() => deleteSingleVariant(variant.variantId))
235235
}}
236236
>
237237
<Tooltip placement="bottom" title="Delete the variant permanently">

agenta-web/src/components/Playground/Views/ParametersView.tsx

+11-7
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@ import React, {useEffect, useState} from "react"
55
import {createUseStyles} from "react-jss"
66
import {ModelParameters, ObjectParameters, StringParameters} from "./ParametersCards"
77
import PublishVariantModal from "./PublishVariantModal"
8-
import {promptVersioning, removeVariant} from "@/lib/services/api"
8+
import {deleteSingleVariant} from "@/services/playground/api"
99
import {CloudUploadOutlined, DeleteOutlined, HistoryOutlined, SaveOutlined} from "@ant-design/icons"
1010
import {usePostHogAg} from "@/hooks/usePostHogAg"
1111
import {isDemo} from "@/lib/helpers/utils"
1212
import {useQueryParam} from "@/hooks/useQuery"
13-
import {dynamicComponent} from "@/lib/helpers/dynamic"
13+
import {dynamicComponent, dynamicService} from "@/lib/helpers/dynamic"
1414

1515
const PromptVersioningDrawer: any = dynamicComponent(
1616
`PromptVersioningDrawer/PromptVersioningDrawer`,
1717
)
18+
const promptVersioning: any = dynamicService("promptVersioning/api")
1819

1920
interface Props {
2021
variant: Variant
@@ -133,7 +134,7 @@ const ParametersView: React.FC<Props> = ({
133134
const handleDelete = () => {
134135
deleteVariant(() => {
135136
if (variant.persistent) {
136-
return removeVariant(variant.variantId).then(() => {
137+
return deleteSingleVariant(variant.variantId).then(() => {
137138
onStateChange(false)
138139
})
139140
}
@@ -151,10 +152,13 @@ const ParametersView: React.FC<Props> = ({
151152
setHistoryStatus({loading: true, error: false})
152153
setIsDrawerOpen(true)
153154
try {
154-
if (variant.variantId && isDemo()) {
155-
const revisions = await promptVersioning(variant.variantId)
156-
setPromptRevisions(revisions)
157-
}
155+
await promptVersioning.then(async (module: any) => {
156+
if (!module) return
157+
if (variant.variantId && isDemo()) {
158+
const revisions = await module.fetchAllPromptVersioning(variant.variantId)
159+
setPromptRevisions(revisions)
160+
}
161+
})
158162
setHistoryStatus({loading: false, error: false})
159163
} catch (error) {
160164
setHistoryStatus({loading: false, error: true})

agenta-web/src/components/Playground/Views/PublishVariantModal.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {usePostHogAg} from "@/hooks/usePostHogAg"
22
import {Environment, Variant} from "@/lib/Types"
33
import {variantNameWithRev} from "@/lib/helpers/variantHelper"
4-
import {fetchEnvironments, publishVariant} from "@/lib/services/api"
4+
import {fetchEnvironments, createPublishVariant} from "@/services/deployment/api"
55
import {Button, Checkbox, Modal, Space, Typography, message} from "antd"
66
import type {CheckboxChangeEvent} from "antd/es/checkbox"
77
import {useRouter} from "next/router"
@@ -54,7 +54,7 @@ const PublishVariantModal: React.FC<Props> = ({
5454

5555
const publishVariants = async () => {
5656
selectedEnvs.forEach(async (envName) => {
57-
await publishVariant(variant.variantId, envName)
57+
await createPublishVariant(variant.variantId, envName)
5858
closeModal()
5959
await loadEnvironments()
6060
message.success(`Published ${variant.variantName} to ${envName}`)

0 commit comments

Comments
 (0)