This commit is contained in:
2026-05-13 12:05:55 +03:00
parent c5b61ee3d8
commit 674c3cbd44
43 changed files with 382 additions and 639 deletions
+9 -4
View File
@@ -1,4 +1,7 @@
import axios from "axios";
import {toolsLogger} from "./tool-logger";
const logger = toolsLogger.child("weather");
import {Environment} from "../../common/environment";
import {logError} from "../../util/utils";
import {AiTool} from "../tool-types";
@@ -43,7 +46,8 @@ export const weatherToolPrompt = [
].join("\n");
export async function getWeather(args?: Record<string, unknown>): Promise<Record<string, unknown> | null> {
console.log("getWeather()");
const startedAt = Date.now();
logger.info("start", {args});
try {
const city = asNonEmptyString(args?.city);
const lang = asNonEmptyString(args?.lang);
@@ -61,7 +65,7 @@ export async function getWeather(args?: Record<string, unknown>): Promise<Record
appid: apiKey,
},
})).data[0];
console.log("GEOCODE_RESPONSE", geocodeResponse);
logger.debug("geocode.done", {city, country: geocodeResponse?.country, hasResult: !!geocodeResponse, geocodeResponse});
if (!geocodeResponse) {
return {
ok: false,
@@ -83,7 +87,7 @@ export async function getWeather(args?: Record<string, unknown>): Promise<Record
...(lang ? {lang} : {}),
},
})).data;
console.log("RESPONSE: getWeather(lang=" + lang + "): ", response);
logger.debug("weather_api.done", {city, country: geocodeResponse.country, lang, units: "metric", hasResponse: !!response});
const main = response.main;
const sys = response.sys;
@@ -138,9 +142,10 @@ export async function getWeather(args?: Record<string, unknown>): Promise<Record
},
};
} catch (e: unknown) {
logger.error("failed", {duration: logger.duration(startedAt), error: e});
logError(e);
return null;
} finally {
console.log("END: getWeather()");
logger.debug("done", {duration: logger.duration(startedAt)});
}
}