fix(desktop): use neutral API key labels

Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
This commit is contained in:
npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta
2026-07-19 18:18:30 -05:00
committed by Atish Patel
parent fb4a727a50
commit b96315456e
11 changed files with 19 additions and 29 deletions
@@ -490,11 +490,7 @@ export function AgentConfigFields({
inheritedLabel="Provided by this build"
isInherited={apiKeyInherited}
isRequired={!apiKeyInherited && apiKeyValue.length === 0}
label={
effectiveProvider === "anthropic"
? "Anthropic API Key"
: "OpenAI API Key"
}
label="API Key"
onValueChange={(value) =>
onConfigChange({
...config,
@@ -916,11 +916,7 @@ export function AgentDefinitionDialog({
isInherited={apiKeyIsInherited}
inheritedLabel={apiKeyInheritedLabel}
isRequired={apiKeyIsRequired}
label={
effectiveProvider === "anthropic"
? "Anthropic API key"
: "OpenAI API key"
}
label="API Key"
onValueChange={(next) => {
setEnvVars((prev) => ({
...prev,
@@ -1019,11 +1019,7 @@ export function AgentInstanceEditDialog({
isInherited={apiKeyIsInherited}
inheritedLabel={apiKeyInheritedLabel}
isRequired={apiKeyIsRequired}
label={
effectiveProvider === "anthropic"
? "Anthropic API Key"
: "OpenAI API Key"
}
label="API Key"
onValueChange={(next) => {
setEnvVars((prev) => ({
...prev,
@@ -39,7 +39,7 @@ export function PersonaProviderApiKeyField({
inheritedLabel: string;
/** True when the key is required and not satisfied anywhere. */
isRequired: boolean;
/** Display label, e.g. "Anthropic API Key". */
/** Display label, e.g. "API Key". */
label: string;
onValueChange: (next: string) => void;
/** Current agent-local value of the secret env var. */
@@ -180,7 +180,7 @@ test.describe("agent readiness gate screenshots", () => {
await selectProvider(page, "Anthropic");
await setCustomModel(page, "claude-opus-4-5");
await expect(page.getByLabel("Anthropic API Key")).toBeVisible();
await expect(page.getByLabel("API Key")).toBeVisible();
await expect(page.getByTestId("persona-dialog-submit")).toBeDisabled({
timeout: 10_000,
});
@@ -218,7 +218,7 @@ test.describe("agent readiness gate screenshots", () => {
await openCreateDialog(page);
await selectProvider(page, "Anthropic");
await setCustomModel(page, "claude-opus-4-5");
await page.getByLabel("Anthropic API Key").fill("sk-test-api-key-for-e2e");
await page.getByLabel("API Key").fill("sk-test-api-key-for-e2e");
await expect(page.getByTestId("persona-dialog-submit")).toBeEnabled({
timeout: 5_000,
+1 -1
View File
@@ -134,7 +134,7 @@ test.describe("edit agent dialog", () => {
await pickDropdownOption(page, "edit-agent-model", "Custom model...");
await page.locator("#edit-agent-custom-model").fill("claude-opus-4-5");
// Anthropic requires a credential before save unlocks.
await page.getByLabel("Anthropic API Key").fill("sk-test-edit-agent-e2e");
await page.getByLabel("API Key").fill("sk-test-edit-agent-e2e");
const submit = page.getByTestId("edit-agent-dialog-submit");
await expect(submit).toBeEnabled({ timeout: 10_000 });
@@ -212,7 +212,7 @@ test.describe("global agent config screenshots", () => {
await openCreateDialog(page);
await customizeAgentAi(page);
await expect(page.getByLabel("Anthropic API Key")).toBeVisible({
await expect(page.getByLabel("API Key")).toBeVisible({
timeout: 10_000,
});
await expect(
@@ -233,7 +233,7 @@ test.describe("global agent config screenshots", () => {
await openCreateDialog(page);
await customizeAgentAi(page);
await expect(page.getByLabel("Anthropic API Key")).toHaveAttribute(
await expect(page.getByLabel("API Key")).toHaveAttribute(
"placeholder",
"Inherited from global config",
);
@@ -1338,8 +1338,7 @@ test("compact default config still persists rapid provider edits", async ({
await chooseConfigDropdownOption(page, "global-agent-provider", "anthropic");
await expect(providerSelect).toHaveAttribute("data-value", "anthropic");
await expect(page.getByLabel("Anthropic API Key")).toBeVisible();
await expect(page.getByLabel("OpenAI API Key")).toHaveCount(0);
await expect(page.getByLabel("API Key")).toBeVisible();
await expect(page.getByLabel("Value for DATABRICKS_HOST")).toHaveCount(0);
});
+7 -4
View File
@@ -329,7 +329,7 @@ test("persona model options follow the selected LLM provider", async ({
await selectDropdownOption(page, llmProvider, "OpenAI");
const dialog = page.getByRole("dialog");
await expect(dialog.getByLabel("OpenAI API Key")).toBeVisible();
await expect(dialog.getByLabel("API Key")).toBeVisible();
await expect(
dialog.getByRole("button", { name: "Advanced", exact: true }),
).toHaveAttribute("aria-expanded", "false");
@@ -342,14 +342,17 @@ test("persona model options follow the selected LLM provider", async ({
.click();
await selectDropdownOption(page, llmProvider, "Anthropic");
await expect(dialog.getByLabel("Anthropic API Key")).toBeVisible();
await expect(dialog.getByLabel("OpenAI API Key")).not.toBeVisible();
await expect(dialog.getByLabel("API Key")).toBeVisible();
await expect(model).toBeVisible();
await selectDropdownOption(page, llmProvider, "Gemini");
await expect(dialog.getByLabel("API Key")).toBeVisible();
await expect(model).toBeVisible();
// Switch back to inherited defaults — per-agent provider, credential, and
// model controls disappear together.
await page.getByRole("tab", { name: "Use agent defaults" }).click();
await expect(llmProvider).not.toBeVisible();
await expect(dialog.getByLabel("Anthropic API Key")).not.toBeVisible();
await expect(dialog.getByLabel("API Key")).not.toBeVisible();
await expect(model).not.toBeVisible();
});
+1 -1
View File
@@ -236,7 +236,7 @@ test("create agent supports parallelism and system prompt overrides", async ({
.getByRole("button", { name: "Custom model...", exact: true })
.click();
await page.getByLabel("Custom model ID").fill("claude-opus-4-5");
await page.getByLabel("Anthropic API Key").fill("sk-test-api-key-for-e2e");
await page.getByLabel("API Key").fill("sk-test-api-key-for-e2e");
const advancedToggle = page.getByRole("button", {
name: "Advanced",
@@ -153,7 +153,7 @@ test.describe("welcome and channel agent entry points", () => {
.getByRole("button", { name: "Custom model...", exact: true })
.click();
await page.getByLabel("Custom model ID").fill("claude-opus-4-5");
await page.getByLabel("Anthropic API Key").fill("sk-test-api-key-for-e2e");
await page.getByLabel("API Key").fill("sk-test-api-key-for-e2e");
await expect(page.getByTestId("persona-dialog-submit")).toBeEnabled();
await page.getByTestId("persona-dialog-submit").click();