Files
2026-04-25 06:45:36 +09:00

28 lines
792 B
TypeScript

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<typeof PolicyLimitsResponseSchema>
>
/**
* 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)
}