import { Data, Context } 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 Context.Service()( "t3/auth/Services/ServerSecretStore", ) {}