diff --git a/src/gateway/config-reload.test.ts b/src/gateway/config-reload.test.ts index 3ad545855..913a92324 100644 --- a/src/gateway/config-reload.test.ts +++ b/src/gateway/config-reload.test.ts @@ -85,6 +85,12 @@ describe("buildGatewayReloadPlan", () => { expect(plan.reloadHooks).toBe(true); }); + it("restarts heartbeat when agents.list changes", () => { + const plan = buildGatewayReloadPlan(["agents.list"]); + expect(plan.restartGateway).toBe(false); + expect(plan.restartHeartbeat).toBe(true); + }); + it("restarts providers when provider config prefixes change", () => { const changedPaths = ["web.enabled", "channels.telegram.botToken"]; const plan = buildGatewayReloadPlan(changedPaths); diff --git a/src/gateway/config-reload.ts b/src/gateway/config-reload.ts index 8579dc4a0..75cca3983 100644 --- a/src/gateway/config-reload.ts +++ b/src/gateway/config-reload.ts @@ -53,6 +53,7 @@ const BASE_RELOAD_RULES: ReloadRule[] = [ kind: "hot", actions: ["restart-heartbeat"], }, + { prefix: "agents.list", kind: "hot", actions: ["restart-heartbeat"] }, { prefix: "agent.heartbeat", kind: "hot", actions: ["restart-heartbeat"] }, { prefix: "cron", kind: "hot", actions: ["restart-cron"] }, {