32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import type { VoiceTool } from './_types'
|
|
import { tabletGet } from './_http'
|
|
|
|
export const tool: VoiceTool = {
|
|
schema: {
|
|
type: 'function',
|
|
function: {
|
|
name: 'get_weather',
|
|
description:
|
|
'Получить текущую погоду и короткий прогноз для города. ' +
|
|
'Для вопросов вроде «какая сегодня погода», «холодно ли на улице», «нужен ли зонт». ' +
|
|
'По умолчанию — Санкт-Петербург.',
|
|
parameters: {
|
|
type: 'object',
|
|
properties: {
|
|
city: {
|
|
type: 'string',
|
|
description:
|
|
'Город на русском или шорткод (spb, msk, sochi, ekb, kzn, nsk, krd). ' +
|
|
'По умолчанию Санкт-Петербург.',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
async execute(args) {
|
|
const city = (args?.city as string) || ''
|
|
return tabletGet('/api/voice/tools/weather', city ? { city } : undefined)
|
|
},
|
|
}
|