[NO-TICKET] Bump + test deps (#5443)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aaron Perez 2026-04-09 20:08:55 -05:00 committed by GitHub
parent cdfc20159d
commit 893177fce6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
35 changed files with 71 additions and 65 deletions

View file

@ -85,7 +85,7 @@
"eslint-plugin-react-refresh": "^0.4.5",
"lint-staged": "^15.5.2",
"postcss": "^8.4.37",
"prettier": "^3.2.5",
"prettier": "^3.8.1",
"prettier-plugin-tailwindcss": "^0.6.5",
"tailwindcss": "^3.4.17",
"typescript": "^5.5.3",
@ -7640,10 +7640,11 @@
}
},
"node_modules/prettier": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
"dev": true,
"license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},

View file

@ -96,7 +96,7 @@
"eslint-plugin-react-refresh": "^0.4.5",
"lint-staged": "^15.5.2",
"postcss": "^8.4.37",
"prettier": "^3.2.5",
"prettier": "^3.8.1",
"prettier-plugin-tailwindcss": "^0.6.5",
"tailwindcss": "^3.4.17",
"typescript": "^5.5.3",

View file

@ -239,7 +239,7 @@ function BrowserStream({
useEffect(() => {
settingsStore.setIsUsingABrowser(isReady);
settingsStore.setBrowserSessionId(
isReady ? browserSessionId ?? null : null,
isReady ? (browserSessionId ?? null) : null,
);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isReady, browserSessionId]);

View file

@ -566,7 +566,7 @@ function FloatingWindow({
onStart={() => setIsDragging(true)}
onDrag={(_, data) => onDrag(data)}
onStop={() => setIsDragging(false)}
bounds={bounded ?? true ? "parent" : undefined}
bounds={(bounded ?? true) ? "parent" : undefined}
disabled={isResizing}
>
<Resizable

View file

@ -72,7 +72,7 @@ function ModelSelector({
const labels = Object.keys(reverseMap);
const chosen = value
? models[value.model_name] ?? constants.SkyvernOptimized
? (models[value.model_name] ?? constants.SkyvernOptimized)
: constants.SkyvernOptimized;
const choices = [constants.SkyvernOptimized, ...labels];

View file

@ -38,8 +38,8 @@ function TriggerTypeFilterDropdown({ values, onChange }: Props) {
values.length === 0
? "All Runs"
: values.length === 1
? triggerTypeDropdownItems.find((i) => i.value === values[0])?.label ??
"All Runs"
? (triggerTypeDropdownItems.find((i) => i.value === values[0])?.label ??
"All Runs")
: `${values.length} types`;
return (

View file

@ -5,7 +5,8 @@ import { cn } from "@/util/utils";
import { badgeVariants } from "./badge-variants";
export interface BadgeProps
extends React.HTMLAttributes<HTMLDivElement>,
extends
React.HTMLAttributes<HTMLDivElement>,
VariantProps<typeof badgeVariants> {}
function Badge({ className, variant, ...props }: BadgeProps) {

View file

@ -6,7 +6,8 @@ import { cn } from "@/util/utils";
import { buttonVariants } from "./button-variants";
export interface ButtonProps
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
extends
React.ButtonHTMLAttributes<HTMLButtonElement>,
VariantProps<typeof buttonVariants> {
asChild?: boolean;
}

View file

@ -2,8 +2,7 @@ import * as React from "react";
import { cn } from "@/util/utils";
export interface InputProps
extends React.InputHTMLAttributes<HTMLInputElement> {}
export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {}
const Input = React.forwardRef<HTMLInputElement, InputProps>(
({ className, type, ...props }, ref) => {

View file

@ -51,7 +51,8 @@ const multiSelectVariants = cva("m-1", {
* Props for MultiSelect component
*/
interface MultiSelectProps
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
extends
React.ButtonHTMLAttributes<HTMLButtonElement>,
VariantProps<typeof multiSelectVariants> {
/**
* An array of option objects to be displayed in the multi-select component.

View file

@ -2,8 +2,7 @@ import * as React from "react";
import { cn } from "@/util/utils";
export interface TextareaProps
extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
({ className, ...props }, ref) => {

View file

@ -15,6 +15,6 @@ export function useLocalStorageFormDefault(
return useMemo(() => {
if (typeof window === "undefined") return fallback ?? null;
const value = localStorage.getItem(storageKey);
return value !== null ? value : fallback ?? null;
return value !== null ? value : (fallback ?? null);
}, [storageKey, fallback]);
}

View file

@ -193,7 +193,7 @@ function RunHistory() {
<span>{run.title ?? ""}</span>
</div>
) : (
run.title ?? ""
(run.title ?? "")
);
return (

View file

@ -74,7 +74,7 @@ function TaskParameters() {
value={
typeof task.request.navigation_payload === "object"
? JSON.stringify(task.request.navigation_payload, null, 2)
: task.request.navigation_payload ?? ""
: (task.request.navigation_payload ?? "")
}
readOnly
minHeight="96px"
@ -110,7 +110,7 @@ function TaskParameters() {
null,
2,
)
: task.request.extracted_information_schema ?? ""
: (task.request.extracted_information_schema ?? "")
}
readOnly
minHeight="96px"

View file

@ -225,7 +225,7 @@ function WorkflowPage() {
<span>{workflowRun.workflow_run_id ?? ""}</span>
</div>
) : (
workflowRun.workflow_run_id ?? ""
(workflowRun.workflow_run_id ?? "")
);
const isExpanded = expandedRows.has(

View file

@ -602,7 +602,7 @@ function Workflows() {
key: param.key,
value:
param.parameter_type === "workflow"
? param.default_value ?? ""
? (param.default_value ?? "")
: "",
description: param.description ?? null,
}));

View file

@ -31,7 +31,7 @@ function BlockOutputs({
const [overrideHasError, setOverrideHasError] = useState(false);
const useOverride = useBlockOutputStore((state) =>
workflowPermanentId
? state.useOverrides[workflowPermanentId]?.[blockLabel] ?? false
? (state.useOverrides[workflowPermanentId]?.[blockLabel] ?? false)
: false,
);
@ -158,7 +158,7 @@ function BlockOutputs({
fullHeight
onChange={(value) => {
try {
JSON.parse(value), setOverrideHasError(false);
(JSON.parse(value), setOverrideHasError(false));
} catch {
setOverrideHasError(true);
return;

View file

@ -456,7 +456,7 @@ export function WorkflowCopilotChat({
ai_fallback: saveData.settings.aiFallback ?? true,
code_version:
saveData.settings.runWith === "code"
? saveData.settings.codeVersion ?? 2
? (saveData.settings.codeVersion ?? 2)
: undefined,
workflow_definition: {
version: saveData.workflowDefinitionVersion,

View file

@ -1981,7 +1981,7 @@ function Workspace({
adaptive_caching: false,
code_version:
saveData.settings.runWith === "code"
? saveData.settings.codeVersion ?? 2
? (saveData.settings.codeVersion ?? 2)
: null,
run_sequentially: saveData.settings.runSequentially,
sequential_key: saveData.settings.sequentialKey,

View file

@ -408,7 +408,7 @@ function ConditionalNodeComponent({ id, data }: NodeProps<ConditionalNode>) {
// If the deleted branch was active, switch to the first branch
const newActiveBranchId =
data.activeBranchId === branchId
? updatedBranches[0]?.id ?? null
? (updatedBranches[0]?.id ?? null)
: data.activeBranchId;
update({
@ -789,7 +789,7 @@ function ConditionalNodeComponent({ id, data }: NodeProps<ConditionalNode>) {
value={
activeBranch.is_default
? "Executed when no other condition matches"
: activeBranch.criteria?.expression ?? ""
: (activeBranch.criteria?.expression ?? "")
}
disabled={!data.editable || activeBranch.is_default}
onChange={(value) => {

View file

@ -29,7 +29,7 @@ export function createBranchCondition(
return {
id: overrides.id ?? nanoid(),
criteria:
overrides.is_default ?? false
(overrides.is_default ?? false)
? null
: overrides.criteria
? {

View file

@ -140,7 +140,7 @@ function LoginBlockCredentialSelector({
totpIdentifier:
credential.credential_type === "password" &&
"totp_identifier" in credential.credential
? credential.credential.totp_identifier ?? null
? (credential.credential.totp_identifier ?? null)
: null,
}));
@ -171,7 +171,9 @@ function LoginBlockCredentialSelector({
<>
<Select
key={value ?? "no-credential"}
value={isCredentialMissing ? undefined : selectedCredentialId ?? value}
value={
isCredentialMissing ? undefined : (selectedCredentialId ?? value)
}
onValueChange={(newValue) => {
if (newValue === "new") {
setIsOpen(true);

View file

@ -405,7 +405,7 @@ function StartNode({ id, data, parentId }: NodeProps<StartNode>) {
data.extraHttpHeaders &&
typeof data.extraHttpHeaders === "object"
? JSON.stringify(data.extraHttpHeaders)
: data.extraHttpHeaders ?? null
: (data.extraHttpHeaders ?? null)
}
onChange={(val) => {
const v =

View file

@ -239,7 +239,7 @@ function WorkflowParameterEditPanel({
);
const [urlParameterKey, setUrlParameterKey] = useState(
isBitwardenCredential ? initialValues?.urlParameterKey ?? "" : "",
isBitwardenCredential ? (initialValues?.urlParameterKey ?? "") : "",
);
const [description, setDescription] = useState(
initialValues?.description ?? "",
@ -248,7 +248,7 @@ function WorkflowParameterEditPanel({
isBitwardenCredential ||
initialValues?.parameterType === "secret" ||
initialValues?.parameterType === "creditCardData"
? initialValues?.collectionId ?? ""
? (initialValues?.collectionId ?? "")
: "",
);
const [parameterType, setParameterType] = useState<ParameterTypeSelection>(
@ -309,7 +309,7 @@ function WorkflowParameterEditPanel({
);
const [bitwardenLoginCredentialItemId, setBitwardenLoginCredentialItemId] =
useState(isBitwardenCredential ? initialValues?.itemId ?? "" : "");
useState(isBitwardenCredential ? (initialValues?.itemId ?? "") : "");
const [azureVaultName, setAzureVaultName] = useState(
isAzureVaultCredential ? initialValues.vaultName : "",
@ -321,7 +321,7 @@ function WorkflowParameterEditPanel({
isAzureVaultCredential ? initialValues.passwordKey : "",
);
const [azureTotpSecretKey, setAzureTotpKey] = useState(
isAzureVaultCredential ? initialValues.totpSecretKey ?? "" : "",
isAzureVaultCredential ? (initialValues.totpSecretKey ?? "") : "",
);
// Handle credential data type change - reset source to first available

View file

@ -127,7 +127,7 @@ const constructCacheKeyValue = (opts: {
}
const workflowParameters = workflowRun
? workflowRun?.parameters ?? {}
? (workflowRun?.parameters ?? {})
: getInitialParameters(workflow)
.filter((p) => p.parameterType === "workflow")
.reduce(

View file

@ -385,7 +385,7 @@ function layout(
...childNodes.map((child) =>
child.type === "loop"
? getLoopNodeWidth(child, nodes)
: child.measured?.width ?? 0,
: (child.measured?.width ?? 0),
),
);
const conditionalNodeWidth = getLoopNodeWidth(node, nodes);
@ -682,9 +682,9 @@ function convertToNode(
includeActionHistoryInVerification:
block.include_action_history_in_verification ?? false,
// When engine is SkyvernV2, use navigation_goal as the prompt
prompt: isV2Engine ? block.navigation_goal ?? "" : "",
prompt: isV2Engine ? (block.navigation_goal ?? "") : "",
maxSteps: isV2Engine
? block.max_steps_per_run ?? MAX_STEPS_DEFAULT
? (block.max_steps_per_run ?? MAX_STEPS_DEFAULT)
: MAX_STEPS_DEFAULT,
},
};
@ -833,7 +833,7 @@ function convertToNode(
const loopVariableReference =
block.loop_variable_reference !== null
? block.loop_variable_reference
: block.loop_over?.key ?? "";
: (block.loop_over?.key ?? "");
return {
...identifiers,
...common,
@ -1813,9 +1813,9 @@ function getElements(
const branchHidden =
Boolean(
conditionalNodeId &&
conditionalBranchId &&
activeBranchId &&
conditionalBranchId !== activeBranchId,
conditionalBranchId &&
activeBranchId &&
conditionalBranchId !== activeBranchId,
) ?? false;
const nodeHidden =

View file

@ -61,7 +61,7 @@ function useBrowserSessionRateLimit(
): RateLimitState {
const storeAttempts = useRateLimitStore((state) =>
workflowPermanentId
? state.attemptsByWorkflow[workflowPermanentId] ?? null
? (state.attemptsByWorkflow[workflowPermanentId] ?? null)
: null,
);
const setAttempts = useRateLimitStore((state) => state.setAttempts);

View file

@ -79,7 +79,7 @@ function ActionCard({ action, onClick, active, index, cardClassName }: Props) {
<div className="text-xs text-slate-400">
Input:{" "}
{action.action_type === "input_text"
? action.text ?? action.response
? (action.text ?? action.response)
: action.response}
</div>
</>

View file

@ -57,8 +57,8 @@ export function RunParametersDialog({
).map(([key, value]) => {
const def = defByKey.get(key);
const description =
def && "description" in def ? def.description ?? undefined : undefined;
const type = def ? def.parameter_type ?? undefined : undefined;
def && "description" in def ? (def.description ?? undefined) : undefined;
const type = def ? (def.parameter_type ?? undefined) : undefined;
const displayValue =
value === null || value === undefined
? ""

View file

@ -68,16 +68,16 @@ function WorkflowPostRunParameters() {
const isTaskV2 = Boolean(workflowRun?.task_v2);
const webhookCallbackUrl = isTaskV2
? workflowRun?.task_v2?.webhook_callback_url ?? null
: workflowRun?.webhook_callback_url ?? null;
? (workflowRun?.task_v2?.webhook_callback_url ?? null)
: (workflowRun?.webhook_callback_url ?? null);
const proxyLocation = isTaskV2
? workflowRun?.task_v2?.proxy_location ?? null
: workflowRun?.proxy_location ?? null;
? (workflowRun?.task_v2?.proxy_location ?? null)
: (workflowRun?.proxy_location ?? null);
const extraHttpHeaders = isTaskV2
? workflowRun?.task_v2?.extra_http_headers ?? null
: workflowRun?.extra_http_headers ?? null;
? (workflowRun?.task_v2?.extra_http_headers ?? null)
: (workflowRun?.extra_http_headers ?? null);
if (workflowRunIsLoading || workflowRunTimelineIsLoading) {
return <div>Loading workflow parameters...</div>;
@ -209,7 +209,7 @@ function WorkflowPostRunParameters() {
waitSec={
activeBlock.wait_sec ??
(isBlockOfType(definitionBlock, WorkflowBlockTypes.Wait)
? definitionBlock.wait_sec ?? null
? (definitionBlock.wait_sec ?? null)
: null)
}
/>
@ -409,7 +409,7 @@ function WorkflowPostRunParameters() {
<Input value={workflowRun.browser_session_id} readOnly />
</div>
) : null}
{workflowRun.run_with ?? workflow?.run_with ? (
{(workflowRun.run_with ?? workflow?.run_with) ? (
<div className="flex gap-16">
<div className="w-80">
<h1 className="text-lg">Run With</h1>

View file

@ -294,10 +294,10 @@ function WorkflowRunCode(props?: Props) {
// "Used" = the version that existed before this run created new ones,
// OR the currentVersion if the run didn't generate anything (just used cache)
const usedVersion = didGenerate
? versions.find(
? (versions.find(
(v) =>
v.version < earliestGeneratedVersion! && v.run_id !== workflowRunId,
)?.version ?? null
)?.version ?? null)
: currentVersion;
// Edit button shown when not in edit mode and there's a script to edit

View file

@ -86,7 +86,7 @@ function WorkflowRunOutput() {
value={
activeBlock.status === "canceled"
? "This block was cancelled"
: activeBlock.failure_reason ?? ""
: (activeBlock.failure_reason ?? "")
}
readOnly
/>

View file

@ -666,7 +666,9 @@ function WorkflowRunTimelineBlockItem({
<div className="space-y-2">
{loopIterationGroups.map((group, groupIndex) => {
const loopValueFromIterable =
group.index !== null ? loopValues[group.index] ?? null : null;
group.index !== null
? (loopValues[group.index] ?? null)
: null;
const iterationNumber =
group.index !== null ? group.index + 1 : groupIndex + 1;
const currentValuePreview = truncateValue(

View file

@ -124,7 +124,7 @@ function WorkflowRunTimelineItemInfoSection({ activeItem }: Props) {
value={
item.status === "canceled"
? "This block was cancelled"
: item.failure_reason ?? ""
: (item.failure_reason ?? "")
}
readOnly
/>
@ -232,7 +232,7 @@ function WorkflowRunTimelineItemInfoSection({ activeItem }: Props) {
value={
item.status === "canceled"
? "This block was cancelled"
: item.failure_reason ?? ""
: (item.failure_reason ?? "")
}
readOnly
/>

View file

@ -157,7 +157,7 @@ const useWorkflowSave = (opts?: WorkflowSaveOpts) => {
ai_fallback: saveData.settings.aiFallback ?? true,
code_version:
saveData.settings.runWith === "code"
? saveData.settings.codeVersion ?? 2
? (saveData.settings.codeVersion ?? 2)
: undefined,
workflow_definition: {
version: saveData.workflowDefinitionVersion,
@ -255,7 +255,7 @@ const useWorkflowSave = (opts?: WorkflowSaveOpts) => {
const loc = err.loc
?.filter((part) => part !== "body" && part !== "__root__")
.join(" -> ");
return loc ? `${loc}: ${err.msg}` : err.msg ?? "Unknown error";
return loc ? `${loc}: ${err.msg}` : (err.msg ?? "Unknown error");
})
.join("; ");
} else {