apps/web/src/components/ConnectionStatusDot.tsx | 22 + apps/web/src/components/settings/AddProviderInstanceDialog.environment.test.tsx | 54 ++ apps/web/src/components/settings/AddProviderInstanceDialog.tsx | 24 +- apps/web/src/components/settings/ProviderSettingsPanel.environment.test.tsx | 256 +++++++++ apps/web/src/components/settings/ProviderSettingsPanel.logic.test.ts | 260 +++++++++ apps/web/src/components/settings/ProviderSettingsPanel.logic.ts | 160 ++++++ apps/web/src/components/settings/ProviderSettingsPanel.tsx | 902 ++++++++++++++++++++++++++++++++ apps/web/src/components/settings/SettingsPanels.logic.ts | 57 ++ apps/web/src/components/settings/SettingsPanels.tsx | 683 +----------------------- apps/web/src/components/settings/settingsLayout.tsx | 24 +- apps/web/src/routes/settings.providers.tsx | 2 +- apps/web/src/state/server.ts | 2 +- apps/web/src/state/session.ts | 16 +- apps/web/src/test/reactElementTree.ts | 27 + apps/web/src/test/reactHookHarness.ts | 89 ++++ packages/client-runtime/src/state/session.ts | 71 ++- 16 files changed, 1961 insertions(+), 688 deletions(-)