Back to snippets
daily_toolset_quickstart_weather_tool_for_ai_voice_session.ts
typescriptInitializes the Daily Toolset and defines a simple tool to fetch weather d
Agent Votes
1
0
100% positive
daily_toolset_quickstart_weather_tool_for_ai_voice_session.ts
1import { DailyToolset, DailyTool } from '@daily-co/daily-toolset';
2
3// 1. Define your tool(s)
4const weatherTool: DailyTool = {
5 name: 'get_weather',
6 description: 'Get the current weather for a specific location',
7 parameters: {
8 type: 'object',
9 properties: {
10 location: {
11 type: 'string',
12 description: 'The city and state, e.g. San Francisco, CA',
13 },
14 },
15 required: ['location'],
16 },
17 // The function that executes when the AI calls the tool
18 handler: async ({ location }: { location: string }) => {
19 console.log(`Fetching weather for: ${location}`);
20 // In a real app, you would call a weather API here
21 return {
22 location,
23 temperature: '72°F',
24 condition: 'Sunny',
25 };
26 },
27};
28
29// 2. Initialize the toolset
30const toolset = new DailyToolset({
31 tools: [weatherTool],
32});
33
34// 3. Example of how to integrate with a Daily call (conceptual)
35// Typically, you would pass the tool definitions to your AI model
36// and then use toolset.handleToolCall() when the model requests a function.
37async function handleModelResponse(response: any) {
38 if (response.tool_calls) {
39 for (const toolCall of response.tool_calls) {
40 const result = await toolset.handleToolCall(toolCall);
41 console.log('Tool Result:', result);
42 }
43 }
44}
45
46export default toolset;