diff --git a/sdk/packages/core/src/session/models/session-compaction.ts b/sdk/packages/core/src/session/models/session-compaction.ts index b7c5b594e4..46b4ede2b1 100644 --- a/sdk/packages/core/src/session/models/session-compaction.ts +++ b/sdk/packages/core/src/session/models/session-compaction.ts @@ -65,49 +65,21 @@ export interface SessionCompactionSidecarAccess { ): Promise; } -type SessionCompactionSidecarRole = SessionCompactionSidecarAccess; - -class EnabledSessionCompactionSidecar implements SessionCompactionSidecarRole { - readonly enabled = true; - - initialState( - state: SessionCompactionState | undefined, - ): SessionCompactionState | undefined { - return state; - } - - async read(read: () => Promise): Promise { - return await read(); - } - - async update( - update: () => Promise<{ updated: boolean }>, - ): Promise { - return await update(); - } -} - -class DisabledSessionCompactionSidecar implements SessionCompactionSidecarRole { - readonly enabled = false; - - initialState(): undefined { - return undefined; - } - - async read(): Promise { - return undefined; - } - - async update(): Promise { - return { updated: false, disabled: true }; - } -} - export function createSessionCompactionSidecarAccess( isEnabled: () => boolean = createSessionCompactionSidecarEnabledResolver(), ): SessionCompactionSidecarAccess { - const enabled = new EnabledSessionCompactionSidecar(); - const disabled = new DisabledSessionCompactionSidecar(); + const enabled: SessionCompactionSidecarAccess = { + enabled: true, + initialState: (state) => state, + read: (read) => read(), + update: (update) => update(), + }; + const disabled: SessionCompactionSidecarAccess = { + enabled: false, + initialState: () => undefined, + read: async () => undefined, + update: async () => ({ updated: false, disabled: true }), + }; const current = () => (isEnabled() ? enabled : disabled); return { get enabled() {