Files
Dorod-Sky/skyvern-frontend/src/routes/workflows/debugger/Debugger.tsx

68 lines
1.9 KiB
TypeScript
Raw Normal View History

import { useEffect } from "react";
2025-08-01 09:16:54 -04:00
import { useParams } from "react-router-dom";
import { ReactFlowProvider } from "@xyflow/react";
2025-07-16 17:39:51 -04:00
import { useWorkflowQuery } from "../hooks/useWorkflowQuery";
import { WorkflowSettings } from "../types/workflowTypes";
import { getElements } from "@/routes/workflows/editor/workflowEditorUtils";
import { getInitialParameters } from "@/routes/workflows/editor/utils";
import { Workspace } from "@/routes/workflows/editor/Workspace";
import { useWorkflowParametersStore } from "@/store/WorkflowParametersStore";
function Debugger() {
2025-08-13 14:13:00 -04:00
const { workflowPermanentId } = useParams();
2025-07-16 17:39:51 -04:00
const { data: workflow } = useWorkflowQuery({
workflowPermanentId,
});
const setParameters = useWorkflowParametersStore(
(state) => state.setParameters,
);
useEffect(() => {
if (workflow) {
const initialParameters = getInitialParameters(workflow);
setParameters(initialParameters);
}
}, [workflow, setParameters]);
2025-07-16 17:39:51 -04:00
if (!workflow) {
return null;
}
const settings: WorkflowSettings = {
persistBrowserSession: workflow.persist_browser_session,
proxyLocation: workflow.proxy_location,
webhookCallbackUrl: workflow.webhook_callback_url,
model: workflow.model,
maxScreenshotScrolls: workflow.max_screenshot_scrolls,
extraHttpHeaders: workflow.extra_http_headers
? JSON.stringify(workflow.extra_http_headers)
: null,
useScriptCache: workflow.generate_script,
scriptCacheKey: workflow.cache_key,
2025-07-16 17:39:51 -04:00
};
const elements = getElements(
workflow.workflow_definition.blocks,
settings,
true,
);
return (
<div className="relative flex h-screen w-full">
<ReactFlowProvider>
2025-08-13 14:13:00 -04:00
<Workspace
2025-07-16 17:39:51 -04:00
initialEdges={elements.edges}
initialNodes={elements.nodes}
initialTitle={workflow.title}
2025-08-13 14:13:00 -04:00
showBrowser={true}
2025-07-16 17:39:51 -04:00
workflow={workflow}
/>
</ReactFlowProvider>
</div>
);
}
export { Debugger };