project-nomad/admin/app/validators/ollama.ts
2026-03-11 14:08:09 -07:00

25 lines
658 B
TypeScript

import vine from '@vinejs/vine'
export const chatSchema = vine.compile(
vine.object({
model: vine.string().trim().minLength(1),
messages: vine.array(
vine.object({
role: vine.enum(['system', 'user', 'assistant'] as const),
content: vine.string(),
})
),
stream: vine.boolean().optional(),
})
)
export const getAvailableModelsSchema = vine.compile(
vine.object({
sort: vine.enum(['pulls', 'name'] as const).optional(),
recommendedOnly: vine.boolean().optional(),
query: vine.string().trim().optional(),
limit: vine.number().positive().optional(),
force: vine.boolean().optional(),
})
)