From 8c41dcd383c7359d4ee7c11776b5746ab47bd64c Mon Sep 17 00:00:00 2001 From: Cliff Hall Date: Thu, 23 Jul 2026 18:21:53 -0400 Subject: [PATCH] web+tui: honor enumNames in enum forms (#1750) * web+tui: honor enumNames in enum forms (#1691) Legacy titled enums (`enum` + non-standard `enumNames`) rendered their raw wire values instead of the human-readable titles in both the web SchemaForm and the TUI schemaToForm builder, so a user picking "pet-1" had no idea it meant "Cats". Web (SchemaForm.tsx): extract a `toEnumData` helper that zips `enum` with `enumNames` into `{ value, label }[]` when the lengths match, falling back to bare values otherwise. Use it in both the string-enum and array multi-select branches (the latter previously inlined the same zip). TUI (schemaToForm.ts): add `enumNames` / `items.enumNames` to the property interface and a `toSelectOptions` helper used by the single-select and array-of-enum branches, labeling by `enumNames[i]` when length-matched and falling back to `String(val)`. Both guard on the arrays being the same length: a wrong-length zip would mislabel options, which is worse than showing raw values. Raw values are always submitted; only the display label changes. Closes #1691 Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01XNdjEPKLG637X8YmhDiEk5 * docs(pr-screenshots): TUI enumNames before/after proof shots (#1691) Before/after captures of the TUI tool-test form (schemaToForm -> ink-form) against a legacy titled enum: with the fix the field resolves pet-1 -> "Cats"; before, it showed the raw "pet-1". Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01XNdjEPKLG637X8YmhDiEk5 --------- Co-authored-by: Claude Opus 4.8 (1M context) --- clients/tui/__tests__/schemaToForm.test.ts | 88 ++++++++++++++++++ clients/tui/src/utils/schemaToForm.ts | 34 +++++-- .../groups/SchemaForm/SchemaForm.test.tsx | 77 +++++++++++++++ .../groups/SchemaForm/SchemaForm.tsx | 31 ++++-- pr-screenshots/README.md | 29 ++++++ pr-screenshots/tui-enumnames-after-cats.png | Bin 0 -> 38726 bytes pr-screenshots/tui-enumnames-before-raw.png | Bin 0 -> 38834 bytes 7 files changed, 240 insertions(+), 19 deletions(-) create mode 100644 pr-screenshots/tui-enumnames-after-cats.png create mode 100644 pr-screenshots/tui-enumnames-before-raw.png diff --git a/clients/tui/__tests__/schemaToForm.test.ts b/clients/tui/__tests__/schemaToForm.test.ts index 8574872d..5ade85ae 100644 --- a/clients/tui/__tests__/schemaToForm.test.ts +++ b/clients/tui/__tests__/schemaToForm.test.ts @@ -82,6 +82,94 @@ describe("schemaToForm", () => { }); }); + it("uses enumNames as single-select labels while keeping raw values", () => { + const form = schemaToForm( + { + properties: { + pet: { + type: "string", + enum: ["pet-1", "pet-2"], + enumNames: ["Cats", "Dogs"], + }, + }, + }, + "titledEnum", + ); + expect(form.sections[0]!.fields[0]).toMatchObject({ + type: "select", + options: [ + { label: "Cats", value: "pet-1" }, + { label: "Dogs", value: "pet-2" }, + ], + }); + }); + + it("falls back to raw single-select labels when enumNames length mismatches", () => { + const form = schemaToForm( + { + properties: { + pet: { + type: "string", + enum: ["pet-1", "pet-2"], + // Only one name for two values — a wrong-length zip would + // mislabel, so the raw values are used as labels. + enumNames: ["Cats"], + }, + }, + }, + "mismatchedEnum", + ); + expect(form.sections[0]!.fields[0]).toMatchObject({ + options: [ + { label: "pet-1", value: "pet-1" }, + { label: "pet-2", value: "pet-2" }, + ], + }); + }); + + it("uses items.enumNames as array-of-enum labels while keeping raw values", () => { + const form = schemaToForm( + { + properties: { + pets: { + type: "array", + enum: ["pet-1", "pet-2"], + items: { enum: ["pet-1", "pet-2"], enumNames: ["Cats", "Dogs"] }, + }, + }, + }, + "titledArrayEnum", + ); + expect(form.sections[0]!.fields[0]).toMatchObject({ + type: "select", + options: [ + { label: "Cats", value: "pet-1" }, + { label: "Dogs", value: "pet-2" }, + ], + }); + }); + + it("falls back to raw array-of-enum labels when items.enumNames length mismatches", () => { + const form = schemaToForm( + { + properties: { + pets: { + type: "array", + enum: ["pet-1", "pet-2"], + items: { enum: ["pet-1", "pet-2"], enumNames: ["Cats"] }, + }, + }, + }, + "mismatchedArrayEnum", + ); + expect(form.sections[0]!.fields[0]).toMatchObject({ + options: [ + { label: "pet-1", value: "pet-1" }, + { label: "pet-2", value: "pet-2" }, + ], + }); + }); + it("carries a JSON Schema default through as the field's initialValue", () => { const form = schemaToForm( { properties: { greeting: { type: "string", default: "hi" } } }, diff --git a/clients/tui/src/utils/schemaToForm.ts b/clients/tui/src/utils/schemaToForm.ts index c85bbff9..fae70066 100644 --- a/clients/tui/src/utils/schemaToForm.ts +++ b/clients/tui/src/utils/schemaToForm.ts @@ -9,12 +9,31 @@ interface JsonSchemaProperty { type?: string; title?: string; enum?: unknown[]; - items?: { enum?: unknown[] }; + /** Non-standard legacy support: titles for enum values */ + enumNames?: string[]; + items?: { enum?: unknown[]; enumNames?: string[] }; minimum?: number; maximum?: number; default?: unknown; } +/** + * Build ink-form select options from enum values, using their non-standard + * `enumNames` titles as labels when present and length-matched. Falls back to + * the stringified value as the label otherwise, since a wrong-length zip would + * mislabel options — worse than showing raw values. + */ +function toSelectOptions( + values: unknown[], + names: string[] | undefined, +): { label: string; value: string }[] { + const useNames = names !== undefined && names.length === values.length; + return values.map((val, index) => ({ + label: useNames ? names[index] : String(val), + value: String(val), + })); +} + /** Minimal JSON Schema object shape (properties + required) */ interface JsonSchemaObject { properties?: Record; @@ -58,20 +77,17 @@ export function schemaToForm( field = { type: "select", ...baseField, - options: property.items.enum.map((val: unknown) => ({ - label: String(val), - value: String(val), - })), + options: toSelectOptions( + property.items.enum, + property.items.enumNames, + ), } as FormField; } else { // Single select field = { type: "select", ...baseField, - options: property.enum.map((val: unknown) => ({ - label: String(val), - value: String(val), - })), + options: toSelectOptions(property.enum, property.enumNames), } as FormField; } } else { diff --git a/clients/web/src/components/groups/SchemaForm/SchemaForm.test.tsx b/clients/web/src/components/groups/SchemaForm/SchemaForm.test.tsx index 9d383594..c534fb29 100644 --- a/clients/web/src/components/groups/SchemaForm/SchemaForm.test.tsx +++ b/clients/web/src/components/groups/SchemaForm/SchemaForm.test.tsx @@ -109,6 +109,83 @@ describe("SchemaForm", () => { expect(onChange).toHaveBeenCalledWith({ format: "csv" }); }); + it("uses enumNames for string-enum option labels while submitting the raw value", async () => { + const user = userEvent.setup(); + const onChange = vi.fn(); + const schema: InspectorFormSchema = { + type: "object", + properties: { + pet: { + type: "string", + title: "Pet", + enum: ["pet-1", "pet-2", "pet-3"], + enumNames: ["Cats", "Dogs", "Birds"], + }, + }, + }; + renderWithMantine( + , + ); + await user.click(screen.getByRole("textbox", { name: "Pet" })); + // The option shows the enumNames label... + const option = await screen.findByRole("option", { + name: "Dogs", + hidden: true, + }); + await user.click(option); + // ...but the value persisted is the raw enum value. + expect(onChange).toHaveBeenCalledWith({ pet: "pet-2" }); + }); + + it("preselects a default string-enum value showing its enumNames label", () => { + const onChange = vi.fn(); + const schema: InspectorFormSchema = { + type: "object", + properties: { + pet: { + type: "string", + title: "Pet", + enum: ["pet-1", "pet-2", "pet-3"], + enumNames: ["Cats", "Dogs", "Birds"], + default: "pet-1", + }, + }, + }; + renderWithMantine( + , + ); + // Default pet-1 preselects and shows its human-readable label. + expect(screen.getByDisplayValue("Cats")).toBeInTheDocument(); + }); + + it("falls back to raw string-enum values when enumNames length mismatches", async () => { + const user = userEvent.setup(); + const onChange = vi.fn(); + const schema: InspectorFormSchema = { + type: "object", + properties: { + pet: { + type: "string", + title: "Pet", + enum: ["pet-1", "pet-2", "pet-3"], + // Only two names for three values — a wrong-length zip would + // mislabel, so the raw values are shown instead. + enumNames: ["Cats", "Dogs"], + }, + }, + }; + renderWithMantine( + , + ); + await user.click(screen.getByRole("textbox", { name: "Pet" })); + const option = await screen.findByRole("option", { + name: "pet-2", + hidden: true, + }); + await user.click(option); + expect(onChange).toHaveBeenCalledWith({ pet: "pet-2" }); + }); + it("clears a string field via its Clear button", async () => { const user = userEvent.setup(); const onChange = vi.fn(); diff --git a/clients/web/src/components/groups/SchemaForm/SchemaForm.tsx b/clients/web/src/components/groups/SchemaForm/SchemaForm.tsx index b7f75021..fd199904 100644 --- a/clients/web/src/components/groups/SchemaForm/SchemaForm.tsx +++ b/clients/web/src/components/groups/SchemaForm/SchemaForm.tsx @@ -25,6 +25,22 @@ function serializeJson(value: unknown): string { return JSON.stringify(value, null, 2); } +/** + * Pair enum values with their non-standard `enumNames` titles into Mantine + * `{ value, label }[]` option data. Falls back to bare enum values when + * `enumNames` is absent or its length does not match `enum`, since a wrong-length + * zip would mislabel options — worse than showing the raw values. + */ +function toEnumData( + values: string[], + names: string[] | undefined, +): string[] | { value: string; label: string }[] { + if (names && names.length === values.length) { + return values.map((value, index) => ({ value, label: names[index] })); + } + return values; +} + export interface SchemaFormProps { schema: InspectorFormSchema; values: Record; @@ -77,7 +93,7 @@ export function SchemaForm({ description={description} withAsterisk={isRequired} disabled={disabled} - data={fieldSchema.enum} + data={toEnumData(fieldSchema.enum, fieldSchema.enumNames)} value={(rawValue as string) ?? null} onChange={(val) => handleFieldChange(fieldName, val)} /> @@ -167,15 +183,10 @@ export function SchemaForm({ // array of enum values (multi-select) if (fieldSchema.type === "array" && fieldSchema.items?.enum) { - const itemEnum = fieldSchema.items.enum; - const itemEnumNames = fieldSchema.items.enumNames; - const data = - itemEnumNames && itemEnumNames.length === itemEnum.length - ? itemEnum.map((value, index) => ({ - value, - label: itemEnumNames[index], - })) - : itemEnum; + const data = toEnumData( + fieldSchema.items.enum, + fieldSchema.items.enumNames, + ); return ( pet-1 … Reptiles=>pet-5`; +array-of-enum `sizes` → `Small=>s | Medium=>m | Large=>l`; a mismatched-length +`enumNames` (2 names, 3 values) falls back to raw `a=>a | b=>b | c=>c`. The web +side of this fix is covered by `SchemaForm.test.tsx`. + +--- + # Server Settings OAuth field disambiguation under EMA (#1692) — proof screenshots The **Server Settings → OAuth Settings** fields, rendered from the diff --git a/pr-screenshots/tui-enumnames-after-cats.png b/pr-screenshots/tui-enumnames-after-cats.png new file mode 100644 index 0000000000000000000000000000000000000000..37d970becfc34574e7f1c0560ffe8f921b0c0520 GIT binary patch literal 38726 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®E?C^V`ZM{U$+!iS8wcEQYSLzhv5IDzJl95^0O? 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 literal 0 HcmV?d00001 diff --git a/pr-screenshots/tui-enumnames-before-raw.png b/pr-screenshots/tui-enumnames-before-raw.png new file mode 100644 index 0000000000000000000000000000000000000000..7cb6c55fce229f9c4b59195906125627c1cf4708 GIT binary patch literal 38834 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