+ {/* Config fields */}
+
+
+ Configuration
+
+
+
+
+
+
+
+
+ setMaxIterations(e.target.value)}
+ placeholder="Optional"
+ />
+
+
+
+
+
+ setMaxConcurrency(e.target.value)}
+ placeholder="Optional"
+ />
+
+
+
+
+
+
+
+
+
+ Prompts are managed in{' '}
+
+ Agent Definitions
+
+
+
+
+
{/* Render triggers by category */}
{(['pm', 'scm', 'internal'] as const).map((category) => {
const categoryTriggers = triggersByCategory[category];
@@ -192,6 +320,37 @@ function DefinitionAgentSection({
No trigger configuration for this agent.
)}
+
+ {/* Footer actions */}
+
+
+
+
+ {saved && Saved}
+
+ {config && (
+
+ )}
+
)}
@@ -202,7 +361,6 @@ function DefinitionAgentSection({
// Main Component
// ============================================================================
-// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: manages multiple mutations + state for agent configs and trigger updates
export function ProjectAgentConfigs({ projectId }: { projectId: string }) {
const queryClient = useQueryClient();
@@ -218,16 +376,12 @@ export function ProjectAgentConfigs({ projectId }: { projectId: string }) {
// Integrations query (for lifecycle triggers)
const integrationsQuery = useQuery(trpc.projects.integrations.list.queryOptions({ projectId }));
- const [dialogOpen, setDialogOpen] = useState(false);
- const [editing, setEditing] = useState