Files
Dorod-Sky/skyvern-frontend/src/store/WorkflowSettingsStore.ts
2025-07-07 22:30:33 -04:00

41 lines
1.1 KiB
TypeScript

import { create } from "zustand";
import { ProxyLocation } from "@/api/types";
export interface WorkflowModel {
model_name: string;
}
export interface WorkflowSettingsState {
webhookCallbackUrl: string;
proxyLocation: ProxyLocation;
persistBrowserSession: boolean;
model: WorkflowModel | null;
maxScreenshotScrollingTimes: number | null;
extraHttpHeaders: string | null;
setWorkflowSettings: (
settings: Partial<Omit<WorkflowSettingsState, "setWorkflowSettings">>,
) => void;
resetWorkflowSettings: () => void;
}
const defaultState: Omit<
WorkflowSettingsState,
"setWorkflowSettings" | "resetWorkflowSettings"
> = {
webhookCallbackUrl: "",
proxyLocation: ProxyLocation.Residential,
persistBrowserSession: false,
model: null,
maxScreenshotScrollingTimes: null,
extraHttpHeaders: null,
};
export const useWorkflowSettingsStore = create<WorkflowSettingsState>(
(set) => ({
...defaultState,
setWorkflowSettings: (settings) =>
set((state) => ({ ...state, ...settings })),
resetWorkflowSettings: () => set({ ...defaultState }),
}),
);