Address PR feedback

This commit is contained in:
Michelle Tilley
2026-02-03 14:22:44 -08:00
committed by clawdinator[bot]
parent 5af322f710
commit f04e84f194
4 changed files with 21 additions and 4 deletions

View File

@@ -23,11 +23,12 @@ describe("gateway-registry", () => {
expect(getGateway("account-b")).toBeUndefined();
});
it("uses 'default' key when accountId is undefined", () => {
it("uses collision-safe key when accountId is undefined", () => {
const gateway = fakeGateway();
registerGateway(undefined, gateway);
expect(getGateway(undefined)).toBe(gateway);
expect(getGateway("default")).toBe(gateway);
// "default" as a literal account ID must not collide with the sentinel key
expect(getGateway("default")).toBeUndefined();
});
it("unregisters a gateway", () => {

View File

@@ -8,8 +8,12 @@ import type { GatewayPlugin } from "@buape/carbon/gateway";
*/
const gatewayRegistry = new Map<string, GatewayPlugin>();
// Sentinel key for the default (unnamed) account. Uses a prefix that cannot
// collide with user-configured account IDs.
const DEFAULT_ACCOUNT_KEY = "\0__default__";
function resolveAccountKey(accountId?: string): string {
return accountId ?? "default";
return accountId ?? DEFAULT_ACCOUNT_KEY;
}
/** Register a GatewayPlugin instance for an account. */