From 2910ea45de5672dc07e716864419dea7c1914b26 Mon Sep 17 00:00:00 2001 From: morgmart <98432065+morgmart@users.noreply.github.com> Date: Wed, 15 Jul 2026 21:08:47 -0700 Subject: [PATCH] Redesign agent AI configuration and defaults (#1935) Signed-off-by: npub1d6t84ajeg9skp2609l2k6axgcme8x7g7u7luj352r03hcwreg7lqnxcsex <6e967af659416160ab4f2fd56d74c8c6f273791ee7bfc9468a1be37c387947be@sprout-oss.stage.blox.sqprod.co> Signed-off-by: npub1s654z6utm59mkg4tjdqw69tlen05y2hrrwajlck4n2ar0jyx7hfsmp60kf <86a9516b8bdd0bbb22ab9340ed157fccdf422ae31bbb2fe2d59aba37c886f5d3@sprout-oss.stage.blox.sqprod.co> Co-authored-by: npub1d6t84ajeg9skp2609l2k6axgcme8x7g7u7luj352r03hcwreg7lqnxcsex <6e967af659416160ab4f2fd56d74c8c6f273791ee7bfc9468a1be37c387947be@sprout-oss.stage.blox.sqprod.co> Co-authored-by: npub1s654z6utm59mkg4tjdqw69tlen05y2hrrwajlck4n2ar0jyx7hfsmp60kf <86a9516b8bdd0bbb22ab9340ed157fccdf422ae31bbb2fe2d59aba37c886f5d3@sprout-oss.stage.blox.sqprod.co> --- .../agents/ui/AgentAiConfigurationMode.tsx | 34 +++ .../features/agents/ui/AgentAiDefaults.tsx | 79 ++---- .../agents/ui/AgentAiDefaultsDialog.tsx | 157 ++++++++++++ .../agents/ui/AgentDefinitionDialog.tsx | 139 +++++++---- .../features/agents/ui/AgentIdentityCard.tsx | 2 +- .../agents/ui/AgentInstanceEditDialog.tsx | 19 +- desktop/src/features/agents/ui/AgentsView.tsx | 55 ++++- .../agents/ui/GlobalAgentConfigEditor.tsx | 230 ++++++++++++++++++ .../agents/ui/GlobalAgentConfigFields.tsx | 27 +- .../agents/ui/UnifiedAgentsSection.tsx | 144 +++-------- .../ui/agentAiConfigurationPolicy.test.mjs | 73 ++++++ .../agents/ui/agentAiConfigurationPolicy.ts | 41 ++++ .../ui/agentDefinitionSubmitPayload.test.mjs | 8 +- .../src/features/agents/ui/bakedEnvHelpers.ts | 63 ++++- .../ui/createAgentLocalModeGate.test.mjs | 52 ++++ .../agents/ui/personaProviderModelFields.tsx | 29 ++- .../agents/ui/useAgentDialogDefaults.ts | 15 +- .../ui/GlobalAgentConfigSettingsCard.tsx | 188 +------------- .../features/settings/ui/SettingsPanels.tsx | 2 +- .../src/features/settings/ui/SettingsView.tsx | 2 +- .../e2e/agent-lifecycle-feedback.spec.ts | 51 +++- .../e2e/agent-provider-dropdowns.spec.ts | 2 + .../e2e/agent-readiness-screenshots.spec.ts | 71 +++--- desktop/tests/e2e/agents.spec.ts | 4 - desktop/tests/e2e/edit-agent.spec.ts | 14 +- .../global-agent-config-screenshots.spec.ts | 36 +-- desktop/tests/e2e/persona-env-vars.spec.ts | 18 +- ...persona-model-combobox-screenshots.spec.ts | 1 + desktop/tests/e2e/smoke.spec.ts | 19 +- .../welcome-agent-modal-screenshots.spec.ts | 1 + 30 files changed, 1041 insertions(+), 535 deletions(-) create mode 100644 desktop/src/features/agents/ui/AgentAiConfigurationMode.tsx create mode 100644 desktop/src/features/agents/ui/AgentAiDefaultsDialog.tsx create mode 100644 desktop/src/features/agents/ui/GlobalAgentConfigEditor.tsx create mode 100644 desktop/src/features/agents/ui/agentAiConfigurationPolicy.test.mjs create mode 100644 desktop/src/features/agents/ui/agentAiConfigurationPolicy.ts diff --git a/desktop/src/features/agents/ui/AgentAiConfigurationMode.tsx b/desktop/src/features/agents/ui/AgentAiConfigurationMode.tsx new file mode 100644 index 000000000..fc29078c5 --- /dev/null +++ b/desktop/src/features/agents/ui/AgentAiConfigurationMode.tsx @@ -0,0 +1,34 @@ +import { Tabs, TabsList, TabsTrigger } from "@/shared/ui/tabs"; +import type { AgentAiConfigurationMode } from "./agentAiConfigurationPolicy"; + +export type { AgentAiConfigurationMode } from "./agentAiConfigurationPolicy"; + +export function AgentAiConfigurationModeField({ + mode, + onModeChange, +}: { + mode: AgentAiConfigurationMode; + onModeChange: (mode: AgentAiConfigurationMode) => void; +}) { + return ( +
AI configuration
++ Provider and model changes apply only to this agent. +
+ ) : null} +- {usesCustomConfig - ? "Custom AI configuration" - : requiredProviderMissing - ? "AI defaults aren’t configured" - : inheritsProvider && inheritsModel - ? "Uses AI defaults" - : "Partially uses AI defaults"} -
-- {usesCustomConfig - ? "This agent won’t follow provider or model default changes." - : requiredProviderMissing - ? "Choose a provider in AI defaults to use this agent." - : `${inheritedParts.join(" · ")}. Inherited fields follow future changes.`} -
-- {advancedInheritedSummary} -
- ) : null} -- {advancedInheritedSummary} -
- ) : null} -