mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-03-28 03:29:25 +01:00
25 lines
658 B
TypeScript
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(),
|
|
})
|
|
)
|