import * as Data from "effect/Data"; import * as Context from "effect/Context"; import type * as Effect from "effect/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", ) {}