diff --git a/apps/web/src/components/gits/GitsCockpit.tsx b/apps/web/src/components/gits/GitsCockpit.tsx index 254f3ec4621..15845df9cea 100644 --- a/apps/web/src/components/gits/GitsCockpit.tsx +++ b/apps/web/src/components/gits/GitsCockpit.tsx @@ -4264,6 +4264,8 @@ function AutomodePanel({ requireIntegrateApproval, requireDestructiveApproval, autoEnqueueProposals, + nightlyProposalSweep, + proposalRepos, goalTitle, goalRepo, goalModel, @@ -4281,6 +4283,8 @@ function AutomodePanel({ onRequireIntegrateApprovalChange, onRequireDestructiveApprovalChange, onAutoEnqueueProposalsChange, + onNightlyProposalSweepChange, + onProposalReposChange, onGoalTitleChange, onGoalRepoChange, onGoalModelChange, @@ -4313,6 +4317,8 @@ function AutomodePanel({ requireIntegrateApproval: boolean; requireDestructiveApproval: boolean; autoEnqueueProposals: boolean; + nightlyProposalSweep: boolean; + proposalRepos: string; goalTitle: string; goalRepo: string; goalModel: string; @@ -4330,6 +4336,8 @@ function AutomodePanel({ onRequireIntegrateApprovalChange: (value: boolean) => void; onRequireDestructiveApprovalChange: (value: boolean) => void; onAutoEnqueueProposalsChange: (value: boolean) => void; + onNightlyProposalSweepChange: (value: boolean) => void; + onProposalReposChange: (value: string) => void; onGoalTitleChange: (value: string) => void; onGoalRepoChange: (value: string) => void; onGoalModelChange: (value: string) => void; @@ -4365,6 +4373,12 @@ function AutomodePanel({ : actionError instanceof Error ? actionError.message : null; + const proposalRepoList = parseLines(proposalRepos); + const allowedRepoList = parseLines(allowedRepos); + const proposalReposNotAllowed = proposalRepoList.filter( + (repo) => + !allowedRepoList.some((a) => repo === a || repo.startsWith(a.endsWith("/") ? a : a + "/")), + ); return (
@@ -4619,6 +4633,38 @@ function AutomodePanel({ +
+ +

+ Proposes from 20:00 London ·{" "} + {nightlyProposalSweep + ? `${formatCount(proposalRepoList.length)} repos opted in` + : "sweep disabled"} +

+