import { z } from 'zod'; /** * Feed tokens (issue #149): read-only secrets (`dt_feed_…`) carried as a * query parameter in Atom feed URLs, so feed readers can subscribe to * non-public ponds and pages. Managed in the user settings; deliberately * narrower than API tokens — they only ever authenticate the feed endpoints. */ export const FEED_TOKEN_PREFIX = 'dt_feed_'; export interface FeedTokenView { id: string; name: string; lastUsedAt: string | null; createdAt: string; } /** Returned once at creation — the secret is never shown again. */ export interface FeedTokenCreatedView extends FeedTokenView { token: string; } export const createFeedTokenInputSchema = z.object({ name: z.string().trim().min(1, 'validation.required').max(80, 'validation.tooLong'), }); export type CreateFeedTokenInput = z.infer;