chore: experiment

This commit is contained in:
Lluis Agusti
2025-12-01 21:19:21 +07:00
parent b4e95dba14
commit 686412e7df
4 changed files with 140 additions and 9 deletions

View File

@@ -12,6 +12,8 @@ import {
} from "@/components/molecules/TabsLine/TabsLine";
import { PendingReviewsList } from "@/components/organisms/PendingReviewsList/PendingReviewsList";
import { usePendingReviewsForExecution } from "@/hooks/usePendingReviews";
import { ensureSupabaseClient } from "@/lib/supabase/hooks/helpers";
import { environment } from "@/services/environment";
import { parseAsString, useQueryState } from "nuqs";
import { useEffect } from "react";
import { AgentInputsReadOnly } from "../../modals/AgentInputsReadOnly/AgentInputsReadOnly";
@@ -50,6 +52,75 @@ export function SelectedRunView({
parseAsString.withDefault("output"),
);
// EXPERIMENTAL: Direct API call bypassing proxy
useEffect(() => {
if (!runId || !agent.graph_id) return;
async function makeDirectCall() {
const supabaseClient = ensureSupabaseClient();
if (!supabaseClient) {
console.error("[EXPERIMENTAL] No Supabase client available");
return;
}
const {
data: { session },
} = await supabaseClient.auth.getSession();
if (!session?.access_token) {
console.error("[EXPERIMENTAL] No session token available");
return;
}
const baseUrl = environment.getAGPTServerApiUrl();
const url = `${baseUrl}/graphs/${agent.graph_id}/executions/${runId}`;
console.log("[EXPERIMENTAL] Making direct API call to:", url);
const startTime = performance.now();
try {
const response = await fetch(url, {
method: "GET",
credentials: "include",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${session.access_token}`,
},
});
const endTime = performance.now();
const duration = endTime - startTime;
console.log(
`[EXPERIMENTAL] Direct API call completed in ${duration.toFixed(2)}ms`,
{
status: response.status,
statusText: response.statusText,
duration: `${duration.toFixed(2)}ms`,
graphId: agent.graph_id,
runId: runId,
},
);
if (response.ok) {
const data = await response.json();
console.log("[EXPERIMENTAL] Direct API response:", data);
} else {
const errorText = await response.text();
console.error("[EXPERIMENTAL] Direct API error:", errorText);
}
} catch (error) {
const endTime = performance.now();
const duration = endTime - startTime;
console.error(
`[EXPERIMENTAL] Direct API call failed after ${duration.toFixed(2)}ms:`,
error,
);
}
}
void makeDirectCall();
}, [runId, agent.graph_id]);
useEffect(() => {
if (run?.status === AgentExecutionStatus.REVIEW && runId) {
refetchReviews();

View File

@@ -1,5 +1,7 @@
"use client";
import { ensureSupabaseClient } from "@/lib/supabase/hooks/helpers";
import { environment } from "@/services/environment";
import { useEffect } from "react";
import FavoritesSection from "./components/FavoritesSection/FavoritesSection";
import LibraryActionHeader from "./components/LibraryActionHeader/LibraryActionHeader";
@@ -11,6 +13,71 @@ export default function LibraryPage() {
document.title = "Library AutoGPT Platform";
}, []);
// EXPERIMENTAL: Direct API call bypassing proxy
useEffect(() => {
async function makeDirectCall() {
const supabaseClient = ensureSupabaseClient();
if (!supabaseClient) {
console.error("[EXPERIMENTAL] No Supabase client available");
return;
}
const {
data: { session },
} = await supabaseClient.auth.getSession();
if (!session?.access_token) {
console.error("[EXPERIMENTAL] No session token available");
return;
}
const baseUrl = environment.getAGPTServerApiUrl();
const url = `${baseUrl}/library/agents?page=1&page_size=8`;
console.log("[EXPERIMENTAL] Making direct API call to:", url);
const startTime = performance.now();
try {
const response = await fetch(url, {
method: "GET",
credentials: "include",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${session.access_token}`,
},
});
const endTime = performance.now();
const duration = endTime - startTime;
console.log(
`[EXPERIMENTAL] Direct API call completed in ${duration.toFixed(2)}ms`,
{
status: response.status,
statusText: response.statusText,
duration: `${duration.toFixed(2)}ms`,
},
);
if (response.ok) {
const data = await response.json();
console.log("[EXPERIMENTAL] Direct API response:", data);
} else {
const errorText = await response.text();
console.error("[EXPERIMENTAL] Direct API error:", errorText);
}
} catch (error) {
const endTime = performance.now();
const duration = endTime - startTime;
console.error(
`[EXPERIMENTAL] Direct API call failed after ${duration.toFixed(2)}ms:`,
error,
);
}
}
void makeDirectCall();
}, []);
return (
<main className="pt-160 container min-h-screen space-y-4 pb-20 pt-16 sm:px-8 md:px-12">
<LibraryPageStateProvider>

View File

@@ -5291,14 +5291,7 @@
},
"APIKeyPermission": {
"type": "string",
"enum": [
"EXECUTE_GRAPH",
"READ_GRAPH",
"EXECUTE_BLOCK",
"READ_BLOCK",
"READ_STORE",
"USE_TOOLS"
],
"enum": ["EXECUTE_GRAPH", "READ_GRAPH", "EXECUTE_BLOCK", "READ_BLOCK"],
"title": "APIKeyPermission"
},
"APIKeyStatus": {

View File

@@ -18,7 +18,7 @@ export function getCookieSettings(): Partial<CookieOptions> {
return {
secure: process.env.NODE_ENV === "production",
sameSite: "lax",
httpOnly: true,
httpOnly: false,
} as const;
}