diff --git a/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/AgentVersionChangelog.tsx b/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/AgentVersionChangelog.tsx index 79dc9b5f8a..5ac9f960fe 100644 --- a/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/AgentVersionChangelog.tsx +++ b/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/AgentVersionChangelog.tsx @@ -5,6 +5,8 @@ import { Dialog } from "@/components/molecules/Dialog/Dialog"; import { Skeleton } from "@/components/__legacy__/ui/skeleton"; import { useGetV2GetSpecificAgent } from "@/app/api/__generated__/endpoints/store/store"; import { LibraryAgent } from "@/app/api/__generated__/models/libraryAgent"; +import { okData } from "@/app/api/helpers"; +import type { StoreAgentDetails } from "@/app/api/__generated__/models/storeAgentDetails"; import React from "react"; interface AgentVersionChangelogProps { @@ -39,18 +41,16 @@ export function AgentVersionChangelog({ ); // Create version info from available graph versions - const agentVersions: VersionInfo[] = - storeAgentData?.data && - storeAgentData.status === 200 && - storeAgentData.data.agentGraphVersions - ? storeAgentData.data.agentGraphVersions - .map((versionStr: string) => parseInt(versionStr, 10)) - .sort((a: number, b: number) => b - a) // Sort descending (newest first) - .map((version: number) => ({ - version, - isCurrentVersion: version === agent.graph_version, - })) - : []; + const storeData = okData(storeAgentData); + const agentVersions: VersionInfo[] = storeData?.agentGraphVersions + ? storeData.agentGraphVersions + .map((versionStr: string) => parseInt(versionStr, 10)) + .sort((a: number, b: number) => b - a) // Sort descending (newest first) + .map((version: number) => ({ + version, + isCurrentVersion: version === agent.graph_version, + })) + : []; const renderVersionItem = (versionInfo: VersionInfo) => { return ( diff --git a/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/hooks/useMarketplaceUpdate.ts b/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/hooks/useMarketplaceUpdate.ts index 572b85dc94..2ee3a9efa4 100644 --- a/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/hooks/useMarketplaceUpdate.ts +++ b/autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/hooks/useMarketplaceUpdate.ts @@ -10,6 +10,7 @@ import { useToast } from "@/components/molecules/Toast/use-toast"; import type { LibraryAgent } from "@/app/api/__generated__/models/libraryAgent"; import { useQueryClient } from "@tanstack/react-query"; import { useSupabaseStore } from "@/lib/supabase/hooks/useSupabaseStore"; +import { okData } from "@/app/api/helpers"; import * as React from "react"; import { useState } from "react"; @@ -98,11 +99,11 @@ export function useMarketplaceUpdate({ agent }: UseMarketplaceUpdateProps) { user?.id && agent.marketplace_listing?.creator.id === user.id; // Check if there's a pending submission for this specific agent version + const submissionsResponse = okData(submissionsData) as any; const hasPendingSubmissionForCurrentVersion = isUserCreator && - submissionsData?.status === 200 && - submissionsData.data.submissions.some( - (submission) => + submissionsResponse?.submissions?.some( + (submission: any) => submission.agent_id === agent.graph_id && submission.agent_version === agent.graph_version && submission.status === "PENDING", diff --git a/autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts b/autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts index 84b2f0e2fd..8be81436b4 100644 --- a/autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts +++ b/autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts @@ -3,6 +3,7 @@ import { useGetV2GetMyAgents, useGetV2ListMySubmissions, } from "@/app/api/__generated__/endpoints/store/store"; +import { okData } from "@/app/api/helpers"; export interface Agent { name: string; @@ -56,10 +57,9 @@ export function useAgentSelectStep({ const error = agentsError || submissionsError; const agents: Agent[] = React.useMemo(() => { - // Properly handle API responses with status checks - const agentsData = myAgents?.status === 200 ? myAgents.data.agents : []; - const submissionsData = - mySubmissions?.status === 200 ? mySubmissions.data.submissions : []; + // Properly handle API responses with okData helper + const agentsData = (okData(myAgents) as any)?.agents || []; + const submissionsData = (okData(mySubmissions) as any)?.submissions || []; if (agentsData.length === 0) { return []; @@ -101,17 +101,16 @@ export function useAgentSelectStep({ isMarketplaceUpdate, }; }) - .filter((agent): agent is Agent => agent !== null) + .filter((agent: any): agent is Agent => agent !== null) .sort( - (a: Agent, b: Agent) => + (a: any, b: any) => new Date(b.lastEdited).getTime() - new Date(a.lastEdited).getTime(), ); }, [myAgents, mySubmissions]); // Function to get published submission data for pre-filling updates const getPublishedSubmissionData = (agentId: string) => { - const submissionsData = - mySubmissions?.status === 200 ? mySubmissions.data.submissions : []; + const submissionsData = (okData(mySubmissions) as any)?.submissions || []; const approvedSubmissions = submissionsData .filter( @@ -161,8 +160,7 @@ export function useAgentSelectStep({ // Helper to get published version for an agent const getPublishedVersion = (agentId: string): number | undefined => { - const submissionsData = - mySubmissions?.status === 200 ? mySubmissions.data.submissions : []; + const submissionsData = (okData(mySubmissions) as any)?.submissions || []; return submissionsData .filter((s: any) => s.status === "APPROVED" && s.agent_id === agentId)