import { z } from 'zod/v4' import { lazySchema } from '../../utils/lazySchema.js' /** * Schema for the policy limits API response * Only blocked policies are included. If a policy key is absent, it's allowed. */ export const PolicyLimitsResponseSchema = lazySchema(() => z.object({ restrictions: z.record(z.string(), z.object({ allowed: z.boolean() })), }), ) export type PolicyLimitsResponse = z.infer< ReturnType > /** * Result of fetching policy limits */ export type PolicyLimitsFetchResult = { success: boolean restrictions?: PolicyLimitsResponse['restrictions'] | null // null means 304 Not Modified (cache is valid) etag?: string error?: string skipRetry?: boolean // If true, don't retry on failure (e.g., auth errors) }