mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
refactor: deprecate AIGatewayRoutingEnabled, remove direct chat routing (#26862)
This PR removes the now-dead direct-routing code: - Deletes the direct routing implementation. - Collapses the resolvedModelRoute discriminated union into aiGatewayModelRoute. - Removes the dead providerKeys cascade. - Deletes the preferredShortTextCandidates quickgen function. - Simplifies the advisor override error handling. - Deprecates the AIGatewayRoutingEnabled deployment option. It is now a no-op so as to not break existing deployments on upgrade. Once direct routing was gone, the AI Gateway became mandatory for chat, which surfaced gaps in how the product behaves with the gateway disabled: - Exposes ai-gateway-enabled to the frontend via embedded page metadata. - Disables the chat composer via the existing AgentSetupNotice when the gateway is disabled, for both new and existing chats. - Fixes nil/typed-nil chatDaemon panics on startup and shutdown when gateway is disabled. - Fixes chat WebSocket from retrying the still-gated stream endpoint forever when the gateway is disabled.
This commit is contained in:
@@ -263,6 +263,29 @@ func TestHealthz(t *testing.T) {
|
||||
assert.Equal(t, "OK", string(body))
|
||||
}
|
||||
|
||||
// TestAIGatewayDisabledStartupAndShutdown verifies the server starts and
|
||||
// shuts down cleanly when the AI Gateway is disabled, leaving api.chatDaemon
|
||||
// nil. It exercises the startup path (git sync worker callback binding, see
|
||||
// chatDaemonPublishDiffStatusChangeFunc) and the shutdown path (Close on a
|
||||
// nil daemon), both of which panicked before the nil guards were added.
|
||||
func TestAIGatewayDisabledStartupAndShutdown(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
dv := coderdtest.DeploymentValues(t)
|
||||
require.NoError(t, dv.AI.BridgeConfig.Enabled.Set("false"))
|
||||
// Constructing the client starts the server; t.Cleanup (registered by
|
||||
// coderdtest.New) closes it at the end of the test, exercising the
|
||||
// shutdown path that used to panic.
|
||||
client := coderdtest.New(t, &coderdtest.Options{
|
||||
DeploymentValues: dv,
|
||||
})
|
||||
|
||||
res, err := client.Request(context.Background(), http.MethodGet, "/healthz", nil)
|
||||
require.NoError(t, err)
|
||||
defer res.Body.Close()
|
||||
require.Equal(t, http.StatusOK, res.StatusCode)
|
||||
}
|
||||
|
||||
func TestSwagger(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user