Files
JARVIS/backend/app/agents/tools/__init__.py

86 lines
1.9 KiB
Python

from app.agents.tools.search import (
search_knowledge, get_knowledge_graph_context,
build_knowledge_graph, hybrid_search, web_search,
)
from app.agents.tools.task import get_tasks, create_task, update_task_status
from app.agents.tools.forum import get_forum_posts, create_forum_post, scan_forum_for_instructions
from app.agents.tools.schedule import (
get_schedule_day,
create_todo,
create_schedule_task,
create_reminder,
create_goal,
)
from app.agents.tools.time_reasoning import resolve_time_expression
TASK_TOOLS = [
get_tasks,
create_task,
update_task_status,
]
SCHEDULE_READ_TOOLS = [
get_schedule_day,
get_tasks,
resolve_time_expression,
]
SCHEDULE_WRITE_TOOLS = [
create_todo,
create_schedule_task,
create_reminder,
create_goal,
]
FORUM_TOOLS = [
get_forum_posts,
create_forum_post,
scan_forum_for_instructions,
]
KNOWLEDGE_RETRIEVAL_TOOLS = [
search_knowledge,
hybrid_search,
web_search,
get_knowledge_graph_context,
]
KNOWLEDGE_GRAPH_TOOLS = [
get_knowledge_graph_context,
build_knowledge_graph,
]
ANALYST_PROGRESS_TOOLS = [
get_tasks,
get_forum_posts,
scan_forum_for_instructions,
]
ANALYST_INSIGHT_TOOLS = [
get_tasks,
get_forum_posts,
search_knowledge,
hybrid_search,
web_search,
]
ALL_TOOLS = [
*KNOWLEDGE_RETRIEVAL_TOOLS,
build_knowledge_graph,
*TASK_TOOLS,
*SCHEDULE_READ_TOOLS,
*SCHEDULE_WRITE_TOOLS,
*FORUM_TOOLS,
]
SUB_COMMANDER_TOOLSETS = {
"schedule_analysis": SCHEDULE_READ_TOOLS,
"schedule_planning": [*SCHEDULE_READ_TOOLS, *SCHEDULE_WRITE_TOOLS],
"executor_tasks": [*TASK_TOOLS, resolve_time_expression, *SCHEDULE_WRITE_TOOLS],
"executor_forum": FORUM_TOOLS,
"librarian_retrieval": KNOWLEDGE_RETRIEVAL_TOOLS,
"librarian_graph": KNOWLEDGE_GRAPH_TOOLS,
"analyst_progress": ANALYST_PROGRESS_TOOLS,
"analyst_insights": ANALYST_INSIGHT_TOOLS,
}