refactor: tool plugin registry - each tool in separate file
All checks were successful
Deploy / deploy (push) Successful in 1m25s

This commit is contained in:
Cosmo
2026-04-30 20:58:11 +00:00
parent 4ba1aa43d5
commit 7b5f76576f
9 changed files with 465 additions and 2 deletions

31
lib/tools/weather.ts Normal file
View File

@@ -0,0 +1,31 @@
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)
},
}