Settings UI tweaks (#22547)

* fix genai settings ui

- add roles widget to select roles for genai providers
- add dropdown in semantic search to allow selection of embeddings genai provider

* tweak grouping to prioritize fieldOrder before groups

previously, groups were always rendered first. now fieldOrder is respected, and any fields in a group will cause the group and all the fields in that group to be rendered in order. this allows moving the enabled switches to the top of the section

* mobile tweaks

stack buttons, add more space on profiles pane, and move the overridden badge beneath the description

* language consistency

* prevent camera config sections from being regenerated for profiles

* conditionally import axengine module

to match other detectors

* i18n

* update vscode launch.json for new integrated browser

* formatting
This commit is contained in:
Josh Hawkins
2026-03-20 07:24:34 -06:00
committed by GitHub
parent cedcbdba07
commit 68de18f10d
26 changed files with 552 additions and 138 deletions
@@ -4,39 +4,50 @@ const genai: SectionConfigOverrides = {
base: {
sectionDocs: "/configuration/genai/config",
restartRequired: [
"provider",
"api_key",
"base_url",
"model",
"provider_options",
"runtime_options",
"*.provider",
"*.api_key",
"*.base_url",
"*.model",
"*.provider_options",
"*.runtime_options",
],
fieldOrder: [
"provider",
"api_key",
"base_url",
"model",
"provider_options",
"runtime_options",
],
advancedFields: ["base_url", "provider_options", "runtime_options"],
advancedFields: ["*.base_url", "*.provider_options", "*.runtime_options"],
hiddenFields: ["genai.enabled_in_config"],
uiSchema: {
api_key: {
"ui:options": { size: "md" },
"ui:options": { disableNestedCard: true },
"*": {
"ui:options": { disableNestedCard: true },
"ui:order": [
"provider",
"api_key",
"base_url",
"model",
"provider_options",
"runtime_options",
"*",
],
},
base_url: {
"*.roles": {
"ui:widget": "genaiRoles",
},
"*.api_key": {
"ui:options": { size: "lg" },
},
model: {
"ui:options": { size: "md" },
"*.base_url": {
"ui:options": { size: "lg" },
},
provider_options: {
"*.model": {
"ui:options": { size: "xs" },
},
"*.provider": {
"ui:options": { size: "xs" },
},
"*.provider_options": {
additionalProperties: {
"ui:options": { size: "lg" },
},
},
runtime_options: {
"*.runtime_options": {
additionalProperties: {
"ui:options": { size: "lg" },
},