import type { Effect, NonEmptyReadonlyArray, Scope } from "effect-app" import { RequestContext } from "../RequestContext.js" export interface QueueBase { drain: ( makeHandleEvent: (ks: DrainEvt) => Effect.Effect, sessionId?: string ) => Effect.Effect publish: ( ...messages: NonEmptyReadonlyArray ) => Effect.Effect } export interface QueueMakerOps {} export const QueueMaker: QueueMakerOps = {} export const QueueMeta = RequestContext