From f0995ea60b897e654496c6aaf2eaeb6610c3af95 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Mon, 7 Oct 2024 09:54:54 +0200 Subject: [PATCH] feat(tools): add type coercion to the schema Signed-off-by: Tomas Dvorak --- src/tools/search/duckDuckGoSearch.ts | 2 +- src/tools/weather/openMeteo.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tools/search/duckDuckGoSearch.ts b/src/tools/search/duckDuckGoSearch.ts index edd8501..d1743c3 100644 --- a/src/tools/search/duckDuckGoSearch.ts +++ b/src/tools/search/duckDuckGoSearch.ts @@ -80,7 +80,7 @@ export class DuckDuckGoSearchTool extends Tool< inputSchema() { return z.object({ query: z.string({ description: `Search query` }).min(1).max(128), - page: z + page: z.coerce .number() .int() .min(1) diff --git a/src/tools/weather/openMeteo.ts b/src/tools/weather/openMeteo.ts index 3e2d52d..046cd5a 100644 --- a/src/tools/weather/openMeteo.ts +++ b/src/tools/weather/openMeteo.ts @@ -79,8 +79,8 @@ export class OpenMeteoTool extends Tool< .strip(), z .object({ - latitude: z.number(), - longitude: z.number(), + latitude: z.coerce.number(), + longitude: z.coerce.number(), }) .strip(), ]), @@ -91,7 +91,7 @@ export class OpenMeteoTool extends Tool< .union([z.string().date(), z.string().datetime()]) .describe("End date for the weather forecast in the format YYYY-MM-DD (UTC)") .optional(), - elevation: z.number().nullish(), + elevation: z.coerce.number().nullish(), temperature_unit: z.enum(["celsius", "fahrenheit"]).default("celsius"), }) .strip();