import { Data, ServiceMap } from "effect"; import type { Effect } from "effect"; export class SecretStoreError extends Data.TaggedError("SecretStoreError")<{ readonly message: string; readonly cause?: unknown; }> {} export interface ServerSecretStoreShape { readonly get: (name: string) => Effect.Effect; readonly set: (name: string, value: Uint8Array) => Effect.Effect; readonly getOrCreateRandom: ( name: string, bytes: number, ) => Effect.Effect; readonly remove: (name: string) => Effect.Effect; } export class ServerSecretStore extends ServiceMap.Service< ServerSecretStore, ServerSecretStoreShape >()("t3/auth/Services/ServerSecretStore") {}