{
  "format": 1,
  "name": "tool-agent",
  "nodes": [
    {
      "id": "Message",
      "type": "core.trigger.chat",
      "config": {
        "placeholder": "What time is it? How is the weather in Paris?"
      },
      "pos": [
        0,
        0
      ]
    },
    {
      "id": "Prompt",
      "type": "core.data.template",
      "config": {
        "template": "You are a helpful assistant. Use your tools when they help.\n\nUser: {message}"
      },
      "pos": [
        880,
        160
      ]
    },
    {
      "id": "LLM",
      "type": "core.ai.llm",
      "config": {},
      "pos": [
        1320,
        360
      ]
    },
    {
      "id": "Chat",
      "type": "core.output.chat",
      "config": {},
      "pos": [
        1760,
        0
      ]
    },
    {
      "id": "get_time",
      "type": "core.ai.tool",
      "config": {
        "name": "get_time",
        "description": "Returns the current date and time on this computer.",
        "schema_mode": "auto"
      },
      "pos": [
        0,
        480
      ]
    },
    {
      "id": "get_time args",
      "type": "core.ai.tool_args",
      "config": {
        "fields": ""
      },
      "pos": [
        440,
        960
      ]
    },
    {
      "id": "Now",
      "type": "core.sensor.clock",
      "config": {
        "format": "Monday 08 Jun, 02:30 PM",
        "timezone": "Local"
      },
      "pos": [
        440,
        1150
      ]
    },
    {
      "id": "Time answer",
      "type": "core.data.template",
      "config": {
        "template": "It is {now}."
      },
      "pos": [
        880,
        960
      ]
    },
    {
      "id": "get_weather",
      "type": "core.ai.tool",
      "config": {
        "name": "get_weather",
        "description": "Returns the current weather for a city, in one line.",
        "schema_mode": "auto"
      },
      "pos": [
        0,
        820
      ]
    },
    {
      "id": "City",
      "type": "core.ai.tool_args",
      "config": {
        "fields": "city"
      },
      "pos": [
        440,
        1400
      ]
    },
    {
      "id": "Weather API",
      "type": "core.net.http",
      "config": {
        "method": "GET",
        "url": "https://wttr.in/{city}?format=3",
        "response_type": "text"
      },
      "pos": [
        880,
        1400
      ]
    }
  ],
  "edges": [
    {
      "src": "Message",
      "src_port": "trigger",
      "dst": "Prompt",
      "dst_port": "trigger"
    },
    {
      "src": "Message",
      "src_port": "text",
      "dst": "Prompt",
      "dst_port": "message"
    },
    {
      "src": "Prompt",
      "src_port": "trigger",
      "dst": "LLM",
      "dst_port": "trigger"
    },
    {
      "src": "Prompt",
      "src_port": "out",
      "dst": "LLM",
      "dst_port": "prompt"
    },
    {
      "src": "Message",
      "src_port": "trigger",
      "dst": "Chat",
      "dst_port": "user_trigger"
    },
    {
      "src": "Message",
      "src_port": "text",
      "dst": "Chat",
      "dst_port": "user"
    },
    {
      "src": "LLM",
      "src_port": "trigger",
      "dst": "Chat",
      "dst_port": "reply_trigger"
    },
    {
      "src": "LLM",
      "src_port": "response",
      "dst": "Chat",
      "dst_port": "reply"
    },
    {
      "src": "get_time",
      "src_port": "call",
      "dst": "LLM",
      "dst_port": "tool0"
    },
    {
      "src": "get_time",
      "src_port": "call",
      "dst": "get_time args",
      "dst_port": "call"
    },
    {
      "src": "get_time args",
      "src_port": "trigger",
      "dst": "Time answer",
      "dst_port": "trigger"
    },
    {
      "src": "Now",
      "src_port": "out",
      "dst": "Time answer",
      "dst_port": "now"
    },
    {
      "src": "Time answer",
      "src_port": "out",
      "dst": "get_time",
      "dst_port": "result"
    },
    {
      "src": "get_weather",
      "src_port": "call",
      "dst": "LLM",
      "dst_port": "tool1"
    },
    {
      "src": "get_weather",
      "src_port": "call",
      "dst": "City",
      "dst_port": "call"
    },
    {
      "src": "City",
      "src_port": "trigger",
      "dst": "Weather API",
      "dst_port": "trigger"
    },
    {
      "src": "City",
      "src_port": "city",
      "dst": "Weather API",
      "dst_port": "city"
    },
    {
      "src": "Weather API",
      "src_port": "body",
      "dst": "get_weather",
      "dst_port": "result"
    }
  ]
}
