From 777ac44226150db7eedbc82e54000a16376d1b73 Mon Sep 17 00:00:00 2001 From: Susana Ferreira Date: Tue, 9 Jun 2026 15:11:27 +0100 Subject: [PATCH] refactor: rename "AI Bridge" to "AI Gateway" in the UI (#26161) Renames all user-visible "AI Bridge" strings to "AI Gateway" in the browser UI as part of the AI Bridge to AI Gateway rebrand (AIGOV-233). Changes: - Page titles and headings ("AI Bridge Logs" to "AI Gateway Logs", `pageTitle` calls) - Help popover title, description, and doc link - Setup alert title, description, and doc link - Back-link tooltip on session threads page - AI add-on help popover text - License entitlement warning shown in the dashboard banner Doc links updated from `/ai-coder/ai-bridge` to `/ai-coder/ai-gateway` (directory already exists). This PR intentionally does not rename internal identifiers, file/directory names, API endpoints, routes, CLI help, deployment config options, or generated types. Those will be tracked separately. Related to: https://linear.app/codercom/issue/AIGOV-233 > Generated by Coder Agents on behalf of @ssncferreira --- enterprise/coderd/license/license.go | 2 +- enterprise/coderd/license/license_test.go | 4 ++-- site/src/modules/users/UserHelpPopovers.tsx | 2 +- site/src/pages/AIBridgePage/AIBridgeHelpPopover.tsx | 6 +++--- site/src/pages/AIBridgePage/AIBridgeLayout.tsx | 2 +- site/src/pages/AIBridgePage/AIBridgeSetupAlert.tsx | 6 +++--- .../AIBridgePage/ListSessionsPage/ListSessionsPage.tsx | 2 +- .../pages/AIBridgePage/RequestLogsPage/RequestLogsPage.tsx | 2 +- .../AIBridgePage/SessionThreadsPage/SessionThreadsPage.tsx | 2 +- .../SessionThreadsPage/SessionThreadsPageView.tsx | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/enterprise/coderd/license/license.go b/enterprise/coderd/license/license.go index 713637bdfca..8092e5f6258 100644 --- a/enterprise/coderd/license/license.go +++ b/enterprise/coderd/license/license.go @@ -566,7 +566,7 @@ func LicensesEntitlements( aiBridgeFeature := entitlements.Features[codersdk.FeatureAIBridge] if aiBridgeFeature.Enabled && aiBridgeFeature.Entitlement.Entitled() && !hasExplicitAIBridgeEntitlement { entitlements.Warnings = append(entitlements.Warnings, - "The AI Governance add-on is required to use AI Bridge. Please reach out to your account team or sales@coder.com to learn more.") + "The AI Governance add-on is required to use AI Gateway. Please reach out to your account team or sales@coder.com to learn more.") } } diff --git a/enterprise/coderd/license/license_test.go b/enterprise/coderd/license/license_test.go index 0a19250c93a..10dea231cd8 100644 --- a/enterprise/coderd/license/license_test.go +++ b/enterprise/coderd/license/license_test.go @@ -1590,7 +1590,7 @@ func TestAIBridgeSoftWarning(t *testing.T) { codersdk.FeatureAIBridge: false, } - aiBridgeWarningMessage := "The AI Governance add-on is required to use AI Bridge. Please reach out to your account team or sales@coder.com to learn more." + aiBridgeWarningMessage := "The AI Governance add-on is required to use AI Gateway. Please reach out to your account team or sales@coder.com to learn more." t.Run("NoAddon_AIBridgeOff", func(t *testing.T) { t.Parallel() @@ -2170,7 +2170,7 @@ func TestAIGovernanceAddon(t *testing.T) { // AI Bridge should be enabled without warning when addon is present. aibridgeFeature := entitlements.Features[codersdk.FeatureAIBridge] require.True(t, aibridgeFeature.Enabled, "AI Bridge should be enabled when addon is present and enablements are set") - aiBridgeWarningMessage := "The AI Governance add-on is required to use AI Bridge. Please reach out to your account team or sales@coder.com to learn more." + aiBridgeWarningMessage := "The AI Governance add-on is required to use AI Gateway. Please reach out to your account team or sales@coder.com to learn more." require.NotContains(t, entitlements.Warnings, aiBridgeWarningMessage, "AI Bridge warning should not appear when AI Governance addon is present") // require.Equal(t, codersdk.EntitlementEntitled, aibridgeFeature.Entitlement, "AI Bridge should be entitled when addon is present") diff --git a/site/src/modules/users/UserHelpPopovers.tsx b/site/src/modules/users/UserHelpPopovers.tsx index 3b798050f9a..ddc63635038 100644 --- a/site/src/modules/users/UserHelpPopovers.tsx +++ b/site/src/modules/users/UserHelpPopovers.tsx @@ -57,7 +57,7 @@ export const AiAddonHelpPopover: FC = () => { What is the AI add-on? - Users with access to AI features like AI Bridge or Tasks who are + Users with access to AI features like AI Gateway or Tasks who are actively consuming a seat. diff --git a/site/src/pages/AIBridgePage/AIBridgeHelpPopover.tsx b/site/src/pages/AIBridgePage/AIBridgeHelpPopover.tsx index 9c8acbbca73..db4e27ac115 100644 --- a/site/src/pages/AIBridgePage/AIBridgeHelpPopover.tsx +++ b/site/src/pages/AIBridgePage/AIBridgeHelpPopover.tsx @@ -16,13 +16,13 @@ export const AIBridgeHelpPopover: FC = () => { - What is AI Bridge? + What is AI Gateway? - AI Bridge is a smart gateway for AI that provides centralized + AI Gateway is a smart gateway for AI that provides centralized management, auditing, and attribution for LLM usage. - + Read the docs diff --git a/site/src/pages/AIBridgePage/AIBridgeLayout.tsx b/site/src/pages/AIBridgePage/AIBridgeLayout.tsx index a392509b90b..3a8ce20728c 100644 --- a/site/src/pages/AIBridgePage/AIBridgeLayout.tsx +++ b/site/src/pages/AIBridgePage/AIBridgeLayout.tsx @@ -14,7 +14,7 @@ const AIBridgeLayout: FC = () => {
- AI Bridge Logs + AI Gateway Logs
diff --git a/site/src/pages/AIBridgePage/AIBridgeSetupAlert.tsx b/site/src/pages/AIBridgePage/AIBridgeSetupAlert.tsx index 2f0ccbdfb20..30715e3ff7c 100644 --- a/site/src/pages/AIBridgePage/AIBridgeSetupAlert.tsx +++ b/site/src/pages/AIBridgePage/AIBridgeSetupAlert.tsx @@ -7,13 +7,13 @@ export const AIBridgeSetupAlert: FC = () => { return ( - AI Bridge is included in your license, but not set up yet. + AI Gateway is included in your license, but not set up yet. You have access to AI Governance, but it still needs to be setup. Check out the{" "} - - AI Bridge + + AI Gateway {" "} documentation to get started. diff --git a/site/src/pages/AIBridgePage/ListSessionsPage/ListSessionsPage.tsx b/site/src/pages/AIBridgePage/ListSessionsPage/ListSessionsPage.tsx index c6f3ed344ab..b12fd6a4919 100644 --- a/site/src/pages/AIBridgePage/ListSessionsPage/ListSessionsPage.tsx +++ b/site/src/pages/AIBridgePage/ListSessionsPage/ListSessionsPage.tsx @@ -76,7 +76,7 @@ const AISessionListPage: FC = () => { return ( - {pageTitle("Sessions", "AI Bridge")} + {pageTitle("Sessions", "AI Gateway")} { return ( - {pageTitle("Request Logs", "AI Bridge")} + {pageTitle("Request Logs", "AI Gateway")} { return ( - {pageTitle("Session Threads", "AI Bridge")} + {pageTitle("Session Threads", "AI Gateway")} = ({ asChild variant="outline" size="lg" - title="Back to AI Bridge sessions list" + title="Back to AI Gateway sessions list" onClick={onBackClicked} >