Files
temporal-ai-agent/tools/tool_registry.py
2025-02-14 11:51:57 +00:00

102 lines
3.1 KiB
Python

from models.tool_definitions import ToolDefinition, ToolArgument
search_flights_tool = ToolDefinition(
name="SearchFlights",
description="Search for return flights from an origin to a destination within a date range (dateDepart, dateReturn).",
arguments=[
ToolArgument(
name="origin",
type="string",
description="Airport or city (infer airport code from city and store)",
),
ToolArgument(
name="destination",
type="string",
description="Airport or city code for arrival (infer airport code from city and store)",
),
ToolArgument(
name="dateDepart",
type="ISO8601",
description="Start of date range in human readable format, when you want to depart",
),
ToolArgument(
name="dateReturn",
type="ISO8601",
description="End of date range in human readable format, when you want to return",
),
],
)
search_trains_tool = ToolDefinition(
name="SearchTrains",
description="Search for trains between two English cities. Returns a list of train information for the user to choose from.",
arguments=[
ToolArgument(
name="origin",
type="string",
description="The city or place to depart from",
),
ToolArgument(
name="destination",
type="string",
description="The city or place to arrive at",
),
ToolArgument(
name="outbound_time",
type="ISO8601",
description="The date and time to search for outbound trains",
),
ToolArgument(
name="return_time",
type="ISO8601",
description="The date and time to search for return trains",
),
],
)
book_trains_tool = ToolDefinition(
name="BookTrains",
description="Books train tickets. Returns a booking reference.",
arguments=[
ToolArgument(
name="train_ids",
type="string",
description="The IDs of the trains to book, comma separated",
),
],
)
create_invoice_tool = ToolDefinition(
name="CreateInvoice",
description="Generate an invoice for the items described for the amount provided. Returns URL to invoice.",
arguments=[
ToolArgument(
name="amount",
type="float",
description="The total cost to be invoiced",
),
ToolArgument(
name="tripDetails",
type="string",
description="A description of the item details to be invoiced",
),
],
)
search_fixtures_tool = ToolDefinition(
name="SearchFixtures",
description="Search for upcoming fixtures for a given team and month",
arguments=[
ToolArgument(
name="team",
type="string",
description="The full name of the team to search for.",
),
ToolArgument(
name="month",
type="string",
description="The month to search for fixtures.",
),
],
)