"""
Tool Filter Data

Contains keyword mappings and category definitions for context-aware tool filtering.
This data is used by tool_filter.py to match user messages to relevant tools.

Separated from tool_filter.py to keep the main module focused on logic.
"""

from __future__ import annotations

import re

# Tool keywords mapping - maps tool names to trigger keywords
# These keywords indicate when a tool should be considered relevant
TOOL_KEYWORDS: dict[str, list[str]] = {
    # Image generation
    "internal_generate_image": [
        "create image",
        "dall-e",
        "draw",
        "generate a picture",
        "generate an image",
        "generate image",
        "gpt-image",
        "image generation",
        "imagen",
        "make a picture",
        "make an image",
        "paint",
        "photo",
        "picture",
        "render",
        "visualize",
    ],
    # Diagram tools
    "internal_generate_diagram": [
        "architecture",
        "data flow",
        "deployment",
        "diagram",
        "draw",
        "er diagram",
        "entity relationship",
        "flowchart",
        "graph",
        "infrastructure",
        "microservices",
        "pipeline",
        "schematic",
        "sequence",
        "state machine",
        "svg",
        "system design",
        "technical drawing",
        "topology",
        "visualize",
    ],
    "internal_generate_quick_diagram": [
        "architecture",
        "diagram",
        "draw",
        "flowchart",
        "graph",
        "quick diagram",
        "simple diagram",
        "svg",
        "visualize",
    ],
    # Add tools
    "internal_add_clickup_comment": [
        "actionable",
        "add",
        "analysis",
        "change",
        "clear",
        "clickup",
        "comment",
        "comments",
        "debugging",
        "edit",
        "insights",
        "issues",
        "modify",
        "provide",
        "task",
        "todo",
        "update",
        "updates",
        "your",
    ],
    "internal_add_jira_comment": [
        "actionable",
        "add",
        "analysis",
        "cause",
        "clear",
        "comment",
        "comments",
        "debugging",
        "findings",
        "fixes",
        "issue",
        "jira",
        "provide",
        "root",
        "sprint",
        "suggested",
        "ticket",
        "your",
    ],
    # Analyze tools
    "analyze_data_statistics": [
        "accepts",
        "analyze",
        "automatically",
        "calculate",
        "comprehensive",
        "contents",
        "csv",
        "data",
        "dataset",
        "detects",
        "dev",
        "distributions",
        "document",
        "file",
        "format",
        "formats",
        "json",
        "mean",
        "median",
        "missing",
        "multiple",
        "parses",
        "patterns",
        "query",
        "read",
        "results",
        "returns",
        "statistics",
        "std",
        "string",
        "summary",
        "text",
        "types",
        "understand",
        "uploaded",
        "values",
        "write",
    ],
    "internal_analyze_contract": ["analyze", "contract"],
    "internal_analyze_relationships": [
        "abstractions",
        "analyze",
        "data",
        "diagram",
        "generates",
        "generation",
        "identified",
        "llm",
        "project",
        "relationship",
        "relationships",
        "step",
        "summary",
        "tutorial",
        "using",
        "workflow",
    ],
    # Browser tools
    "internal_browser_check": [
        "browser",
        "button",
        "check",
        "checkbox",
        "click",
        "navigate",
        "page",
        "radio",
        "uncheck",
        "web",
    ],
    "internal_browser_clear_cookies": [
        "browser",
        "clear",
        "click",
        "cookies",
        "log",
        "navigate",
        "out",
        "page",
        "reset",
        "session",
        "state",
        "web",
    ],
    "internal_browser_click": [
        "browser",
        "click",
        "element",
        "navigate",
        "page",
        "refs",
        "web",
    ],
    "internal_browser_close_page": [
        "browser",
        "click",
        "close",
        "navigate",
        "page",
        "tab",
        "web",
    ],
    "internal_browser_close_session": [
        "automation",
        "browser",
        "call",
        "click",
        "close",
        "done",
        "free",
        "navigate",
        "page",
        "pages",
        "resources",
        "session",
        "web",
    ],
    "internal_browser_fill": [
        "browser",
        "click",
        "content",
        "data",
        "email",
        "entering",
        "etc",
        "existing",
        "field",
        "fill",
        "find",
        "form",
        "inbox",
        "input",
        "look for",
        "mail",
        "navigate",
        "page",
        "password",
        "queries",
        "query",
        "replacing",
        "search",
        "text",
        "web",
    ],
    "internal_browser_fill_form": [
        "browser",
        "checkout",
        "click",
        "etc",
        "fields",
        "fill",
        "form",
        "forms",
        "login",
        "multiple",
        "navigate",
        "optionally",
        "page",
        "perfect",
        "registration",
        "submit",
        "web",
    ],
    "internal_browser_get_console": [
        "browser",
        "chat",
        "click",
        "console",
        "debugging",
        "errors",
        "get",
        "logs",
        "message",
        "messages",
        "msg",
        "navigate",
        "page",
        "useful",
        "warnings",
        "web",
    ],
    "internal_browser_get_cookies": [
        "authentication",
        "browser",
        "checking",
        "click",
        "cookies",
        "get",
        "later",
        "navigate",
        "page",
        "saving",
        "session",
        "state",
        "useful",
        "web",
    ],
    "internal_browser_get_errors": [
        "browser",
        "click",
        "debugging",
        "errors",
        "failed",
        "get",
        "javascript",
        "navigate",
        "page",
        "resources",
        "useful",
        "web",
    ],
    "internal_browser_list_pages": [
        "all",
        "browser",
        "click",
        "get all",
        "list",
        "navigate",
        "open",
        "page",
        "pages",
        "session",
        "show all",
        "tabs",
        "web",
    ],
    "internal_browser_navigate": [
        "across",
        "actions",
        "automation",
        "browser",
        "click",
        "cookies",
        "etc",
        "login",
        "maintain",
        "multi",
        "multiple",
        "navigate",
        "page",
        "persistent",
        "session",
        "sessions",
        "state",
        "step",
        "url",
        "web",
        "you",
    ],
    "internal_browser_new_page": [
        "browser",
        "click",
        "navigate",
        "new",
        "open",
        "page",
        "session",
        "tab",
        "web",
    ],
    "internal_browser_press": [
        "arrow",
        "browser",
        "click",
        "control",
        "enter",
        "escape",
        "etc",
        "key",
        "keyboard",
        "keys",
        "like",
        "navigate",
        "page",
        "press",
        "shortcuts",
        "tab",
        "web",
    ],
    "internal_browser_screenshot": [
        "browser",
        "capture",
        "click",
        "current",
        "element",
        "image",
        "navigate",
        "page",
        "screenshot",
        "session",
        "specific",
        "take",
        "web",
    ],
    "internal_browser_select": [
        "browser",
        "click",
        "dropdown",
        "element",
        "navigate",
        "option",
        "page",
        "select",
        "web",
    ],
    "internal_browser_set_cookies": [
        "authentication",
        "browser",
        "click",
        "cookies",
        "navigate",
        "page",
        "restore",
        "saved",
        "session",
        "sessions",
        "set",
        "web",
    ],
    "internal_browser_snapshot": [
        "all",
        "browser",
        "buttons",
        "click",
        "clickable",
        "element",
        "elements",
        "friendly",
        "get",
        "get all",
        "inputs",
        "interactive",
        "like",
        "links",
        "list",
        "navigate",
        "page",
        "references",
        "refs",
        "returns",
        "show all",
        "snapshot",
        "web",
    ],
    "internal_browser_type": [
        "browser",
        "character",
        "click",
        "doesn",
        "fill",
        "human",
        "navigate",
        "page",
        "real",
        "simulating",
        "text",
        "type",
        "typing",
        "web",
    ],
    "internal_browser_wait": [
        "appearance",
        "browser",
        "change",
        "click",
        "conditions",
        "delay",
        "disappearance",
        "element",
        "load",
        "navigate",
        "page",
        "state",
        "text",
        "time",
        "url",
        "various",
        "visibility",
        "wait",
        "web",
    ],
    # Check tools
    "check_element_exists": [
        "check",
        "css",
        "element",
        "exists",
        "selector",
        "specific",
        "using",
        "webpage",
    ],
    "check_escalation_status": [
        "check",
        "escalation",
        "human",
        "responded",
        "see",
        "status",
        "your",
    ],
    "check_task": ["check", "task"],
    # Close tools
    "internal_close_jira_sprint": [
        "changes",
        "close",
        "complete",
        "issue",
        "jira",
        "sprint",
        "state",
        "ticket",
    ],
    # Combine tools
    "internal_combine_tutorial": [
        "add",
        "aws",
        "bucket",
        "chapter",
        "chapters",
        "combine",
        "create",
        "creates",
        "diagram",
        "directory",
        "document",
        "file",
        "files",
        "final",
        "index",
        "individual",
        "make",
        "mermaid",
        "new",
        "output",
        "read",
        "returns",
        "s3",
        "step",
        "storage",
        "temporary",
        "tutorial",
        "uploaded",
        "using",
        "which",
        "write",
    ],
    # Create tools
    "internal_create_clickup_task": [
        "add",
        "all",
        "bugs",
        "clickup",
        "create",
        "get all",
        "issues",
        "list",
        "make",
        "new",
        "show all",
        "task",
        "tasks",
        "todo",
    ],
    "internal_create_directory": [
        "add",
        "create",
        "directories",
        "directory",
        "make",
        "needed",
        "new",
        "parent",
        "path",
        "secure",
        "uses",
        "validation",
    ],
    "internal_create_followup_item": [
        "action",
        "add",
        "automatically",
        "channel",
        "chat",
        "create",
        "cron",
        "daily",
        "email",
        "follow up",
        "followup",
        "inbox",
        "item",
        "mail",
        "make",
        "mentions",
        "message",
        "msg",
        "new",
        "notice",
        "recurring",
        "reminder",
        "reminders",
        "requires",
        "respond",
        "schedule",
        "scheduler",
        "slack",
        "someone",
        "take",
        "task",
        "them",
        "track",
        "weekly",
        "workspace",
        "you",
    ],
    "internal_create_github_repository": [
        "add",
        "branch",
        "commit",
        "create",
        "git",
        "github",
        "make",
        "new",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
    ],
    "internal_create_jira_issue": [
        "add",
        "bugs",
        "create",
        "create issue",
        "epics",
        "issue",
        "jira",
        "make",
        "new",
        "new issue",
        "project",
        "sprint",
        "stories",
        "tasks",
        "ticket",
    ],
    "internal_create_scheduled_task": [
        "10 am",
        "7 am",
        "8 am",
        "9 am",
        "add",
        "any",
        "at",
        "automatically",
        "automation",
        "create",
        "cron",
        "daily",
        "evening",
        "every",
        "every day",
        "every hour",
        "every week",
        "follow up",
        "followup",
        "hourly",
        "make",
        "monthly",
        "morning",
        "new",
        "night",
        "on",
        "recurring",
        "reminder",
        "reminders",
        "reports",
        "schedule",
        "scheduled",
        "scheduler",
        "task",
        "weekly",
    ],
    "internal_create_cron_scheduled_task": [
        "10 am",
        "10:00",
        "7 am",
        "7:00",
        "8 am",
        "8:00",
        "9 am",
        "9:00",
        "am",
        "at",
        "automation",
        "create",
        "cron",
        "daily",
        "evening",
        "every",
        "every day",
        "every monday",
        "every morning",
        "every week",
        "exact",
        "friday",
        "hourly",
        "midnight",
        "monday",
        "monthly",
        "morning",
        "night",
        "noon",
        "pm",
        "precise",
        "recurring",
        "schedule",
        "scheduled",
        "specific",
        "specific time",
        "sunday",
        "task",
        "time",
        "tuesday",
        "wednesday",
        "weekday",
        "weekly",
    ],
    # Delete tools
    "internal_delete_scheduled_task": [
        "10 am",
        "7 am",
        "8 am",
        "9 am",
        "at",
        "cancel",
        "cron",
        "daily",
        "delete",
        "evening",
        "every",
        "every day",
        "every hour",
        "every week",
        "hourly",
        "longer",
        "monthly",
        "morning",
        "needed",
        "night",
        "on",
        "recurring",
        "reminder",
        "remove",
        "schedule",
        "scheduled",
        "scheduler",
        "task",
        "tasks",
        "weekly",
    ],
    # Deploy tools
    "internal_deploy_blog_to_github": [
        "blog",
        "branch",
        "commit",
        "deploy",
        "git",
        "github",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
    ],
    # Directory tools
    "internal_directory_tree": [
        "command",
        "depth",
        "directories",
        "directory",
        "document",
        "file",
        "files",
        "generate",
        "hierarchical",
        "limiting",
        "optional",
        "read",
        "shows",
        "structure",
        "tree",
        "using",
        "view",
        "write",
    ],
    # Edit tools
    "internal_edit_file": [
        "changes",
        "content",
        "document",
        "edit",
        "existing",
        "file",
        "files",
        "find",
        "look for",
        "making",
        "new",
        "pattern",
        "query",
        "read",
        "replacing",
        "search",
        "searching",
        "targeted",
        "useful",
        "write",
    ],
    # Elasticsearch tools
    "internal_elasticsearch_get_index_stats": [
        "elastic",
        "elasticsearch",
        "es",
        "find",
        "get",
        "index",
        "logs",
        "look for",
        "query",
        "search",
        "stats",
    ],
    "internal_elasticsearch_list_indices": [
        "all",
        "elastic",
        "elasticsearch",
        "es",
        "find",
        "get all",
        "indices",
        "list",
        "logs",
        "look for",
        "query",
        "search",
        "show all",
    ],
    "internal_elasticsearch_search": [
        "elastic",
        "elasticsearch",
        "es",
        "find",
        "logs",
        "look for",
        "query",
        "search",
    ],
    # Enable tools
    "internal_enable_github_pages": [
        "branch",
        "commit",
        "enable",
        "git",
        "github",
        "pages",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
    ],
    # Escalate tools
    "escalate_to_human": ["escalate", "human"],
    "internal_escalate_followup": [
        "about",
        "attempts",
        "channels",
        "escalate",
        "follow up",
        "followup",
        "item",
        "items",
        "leads",
        "managers",
        "maximum",
        "notify",
        "people",
        "reached",
        "reminder",
        "response",
        "specific",
        "task",
        "team",
        "unresolved",
        "without",
    ],
    # Export tools
    "export_data_report": [
        "analysis",
        "csv",
        "data",
        "document",
        "download",
        "excel",
        "export",
        "exported",
        "file",
        "formats",
        "html",
        "json",
        "read",
        "report",
        "results",
        "returns",
        "save",
        "share",
        "supports",
        "url",
        "write",
        "xlsx",
    ],
    # Extract tools
    "extract_links": [
        "extract",
        "hyperlinks",
        "links",
        "text",
        "their",
        "urls",
        "webpage",
    ],
    "extract_structured_data": [
        "css",
        "data",
        "elements",
        "extract",
        "selectors",
        "specific",
        "structured",
        "using",
        "webpage",
    ],
    # Fetch tools
    "internal_fetch_repository_files": [
        "all",
        "content",
        "document",
        "fetch",
        "file",
        "files",
        "filter",
        "generation",
        "get all",
        "list",
        "path",
        "read",
        "repository",
        "returns",
        "scans",
        "show all",
        "step",
        "tuples",
        "tutorial",
        "workflow",
        "write",
    ],
    # Generate tools
    "generate_chart_from_data": [
        "add",
        "analyzed",
        "bar",
        "chart",
        "charts",
        "configuration",
        "create",
        "csv",
        "data",
        "displayed",
        "document",
        "doughnut",
        "file",
        "files",
        "from",
        "generate",
        "graph",
        "json",
        "line",
        "make",
        "new",
        "pie",
        "plot",
        "read",
        "returns",
        "scatter",
        "supports",
        "tool",
        "uploaded",
        "user",
        "visualization",
        "visualize",
        "write",
    ],
    "internal_generate_blog_site": ["blog", "generate", "site"],
    "internal_generate_chart": [
        "accepts",
        "appropriate",
        "automatically",
        "chart",
        "configuration",
        "custom",
        "database",
        "db",
        "detects",
        "generate",
        "graph",
        "plot",
        "query",
        "results",
        "sql",
        "table",
        "type",
        "visualization",
        "visualize",
    ],
    "internal_generate_contract_report": ["contract", "generate", "report"],
    "internal_generate_google_doc": [
        "add",
        "addresses",
        "api",
        "collaboratively",
        "configuration",
        "create",
        "creates",
        "doc",
        "docs",
        "document",
        "edited",
        "email",
        "generate",
        "google",
        "inbox",
        "mail",
        "make",
        "new",
        "note",
        "oauth",
        "optionally",
        "requires",
        "set",
        "shared",
        "shares",
        "specified",
        "you",
    ],
    "internal_generate_google_sheet": [
        "add",
        "addresses",
        "analysis",
        "api",
        "collaboratively",
        "configuration",
        "create",
        "creates",
        "data",
        "edited",
        "email",
        "fetch",
        "generate",
        "get",
        "google",
        "inbox",
        "mail",
        "make",
        "new",
        "note",
        "oauth",
        "optionally",
        "perfect",
        "read",
        "reports",
        "requires",
        "shares",
        "sheet",
        "sheets",
        "show",
        "specified",
        "spreadsheet",
        "structured",
        "tables",
        "tabular",
        "view",
    ],
    "internal_generate_pdf": [
        "all",
        "any",
        "automatically",
        "blocks",
        "bold",
        "code",
        "content",
        "creating",
        "document",
        "documentation",
        "download",
        "formatted",
        "formatting",
        "generate",
        "get all",
        "headers",
        "including",
        "italic",
        "link",
        "list",
        "lists",
        "markdown",
        "pdf",
        "perfect",
        "plain",
        "professional",
        "reports",
        "returned",
        "reviews",
        "show all",
        "storage",
        "supports",
        "text",
        "uploaded",
    ],
    "internal_generate_powerpoint": [
        "automatically",
        "bullet",
        "content",
        "creating",
        "either",
        "generate",
        "multiple",
        "perfect",
        "points",
        "powerpoint",
        "presentation",
        "presentations",
        "professional",
        "reports",
        "slide",
        "slides",
        "storage",
        "summaries",
        "text",
        "title",
        "uploaded",
        "visual",
    ],
    "internal_generate_tutorial_chapter": [
        "add",
        "beginner",
        "called",
        "chapter",
        "code",
        "content",
        "create",
        "creates",
        "diagrams",
        "examples",
        "explanations",
        "friendly",
        "generate",
        "llm",
        "make",
        "markdown",
        "multiple",
        "new",
        "single",
        "step",
        "times",
        "tutorial",
        "using",
    ],
    # Get tools
    "get_my_human_contact": [
        "about",
        "contact",
        "get",
        "human",
        "including",
        "information",
        "linked",
        "method",
        "name",
        "preferred",
        "their",
        "your",
    ],
    "get_my_role": [
        "about",
        "assigned",
        "description",
        "get",
        "including",
        "information",
        "name",
        "role",
        "suggested",
        "tools",
        "type",
        "your",
    ],
    "get_pending_escalations": ["escalations", "get", "haven", "pending", "your"],
    "get_project_agents": [
        "agents",
        "all",
        "assigned",
        "get",
        "get all",
        "including",
        "list",
        "project",
        "roles",
        "show all",
        "their",
    ],
    "get_project_context": [
        "agents",
        "context",
        "fetch",
        "get",
        "project",
        "read",
        "real",
        "shared",
        "show",
        "state",
        "time",
        "view",
        "write",
    ],
    "get_project_info": [
        "about",
        "basic",
        "branch",
        "clickup",
        "commit",
        "description",
        "external",
        "get",
        "git",
        "github",
        "including",
        "info",
        "information",
        "issue",
        "jira",
        "name",
        "pr",
        "project",
        "pull",
        "pull request",
        "push",
        "references",
        "repo",
        "repository",
        "sprint",
        "status",
        "task",
        "ticket",
        "todo",
        "tool",
    ],
    "internal_get_clickup_folders": [
        "all",
        "clickup",
        "contain",
        "find",
        "folders",
        "get",
        "get all",
        "getting",
        "list",
        "lists",
        "show all",
        "space",
        "task",
        "todo",
    ],
    "internal_get_clickup_list_summary": [
        "all",
        "analysis",
        "assignee",
        "clickup",
        "counts",
        "get",
        "get all",
        "list",
        "reports",
        "show all",
        "sprint",
        "status",
        "summary",
        "task",
        "todo",
        "workload",
    ],
    "internal_get_clickup_lists": [
        "all",
        "clickup",
        "contain",
        "creating",
        "find",
        "folder",
        "folderless",
        "get",
        "get all",
        "ids",
        "list",
        "lists",
        "look for",
        "query",
        "search",
        "searching",
        "show all",
        "space",
        "task",
        "tasks",
        "todo",
    ],
    "internal_get_clickup_members": [
        "assigning",
        "clickup",
        "get",
        "ids",
        "members",
        "needed",
        "returns",
        "task",
        "tasks",
        "team",
        "todo",
        "user",
        "workspace",
    ],
    "internal_get_clickup_spaces": [
        "all",
        "clickup",
        "contain",
        "folders",
        "get",
        "get all",
        "hierarchy",
        "list",
        "lists",
        "navigate",
        "show all",
        "spaces",
        "task",
        "team",
        "todo",
        "workspace",
    ],
    "internal_get_clickup_task": [
        "about",
        "assignees",
        "attachments",
        "clickup",
        "comments",
        "context",
        "description",
        "detailed",
        "get",
        "including",
        "information",
        "issue",
        "reported",
        "status",
        "task",
        "todo",
        "understand",
    ],
    "internal_get_clickup_workspace": [
        "available",
        "clickup",
        "get",
        "ids",
        "information",
        "needed",
        "operations",
        "organizational",
        "returns",
        "structure",
        "task",
        "team",
        "teams",
        "todo",
        "understand",
        "workspace",
    ],
    "internal_get_database_schema": [
        "columns",
        "connection",
        "data",
        "database",
        "db",
        "get",
        "help",
        "indices",
        "information",
        "query",
        "returns",
        "schema",
        "sql",
        "structure",
        "table",
        "tables",
        "types",
        "understand",
    ],
    "internal_get_file_info": [
        "about",
        "comprehensive",
        "directory",
        "document",
        "file",
        "get",
        "including",
        "info",
        "information",
        "metadata",
        "permissions",
        "read",
        "size",
        "timestamps",
        "write",
    ],
    "internal_get_followup_history": [
        "attempts",
        "follow up",
        "followup",
        "full",
        "get",
        "history",
        "including",
        "item",
        "made",
        "reminder",
        "task",
        "timeline",
        "tried",
        "understand",
        "what",
    ],
    "internal_get_jira_boards": [
        "board",
        "boards",
        "find",
        "get",
        "ids",
        "issue",
        "jira",
        "kanban",
        "management",
        "project",
        "scrum",
        "sprint",
        "ticket",
    ],
    "internal_get_jira_issue": [
        "about",
        "assignee",
        "attachments",
        "bug",
        "comments",
        "context",
        "description",
        "detailed",
        "get",
        "including",
        "information",
        "issue",
        "jira",
        "priority",
        "reported",
        "sprint",
        "status",
        "summary",
        "task",
        "ticket",
        "understand",
    ],
    "internal_get_jira_project": [
        "available",
        "conventions",
        "description",
        "get",
        "including",
        "information",
        "issue",
        "jira",
        "lead",
        "project",
        "sprint",
        "structure",
        "ticket",
        "types",
        "understand",
    ],
    "internal_get_jira_sprints": [
        "active",
        "board",
        "closed",
        "find",
        "future",
        "get",
        "issue",
        "jira",
        "sprint",
        "sprints",
        "ticket",
    ],
    "internal_get_jira_users": [
        "account",
        "assigned",
        "assigning",
        "get",
        "ids",
        "issue",
        "issues",
        "jira",
        "needed",
        "project",
        "returns",
        "sprint",
        "ticket",
        "users",
        "who",
    ],
    "internal_get_sprint_issues": [
        "assignee",
        "get",
        "grouped",
        "issues",
        "shows",
        "sprint",
        "statistics",
        "status",
        "summary",
    ],
    # Git tools
    "internal_git_add_remote": [
        "add",
        "adding",
        "already",
        "branch",
        "change",
        "commit",
        "edit",
        "exists",
        "fetch",
        "fork",
        "get",
        "git",
        "local",
        "modify",
        "pull",
        "push",
        "read",
        "remote",
        "remotes",
        "repository",
        "show",
        "update",
        "updates",
        "upstream",
        "url",
        "useful",
        "view",
        "workflows",
    ],
    "internal_git_analyze_pr_security": [
        "analyze",
        "branch",
        "command",
        "commit",
        "common",
        "deserialization",
        "findings",
        "git",
        "hardcoded",
        "injection",
        "insecure",
        "issues",
        "levels",
        "like",
        "pull",
        "push",
        "request",
        "returns",
        "risk",
        "score",
        "secrets",
        "security",
        "severity",
        "sql",
        "vulnerabilities",
        "xss",
    ],
    "internal_git_cherry_pick": [
        "another",
        "applies",
        "branch",
        "branches",
        "changes",
        "cherry",
        "commit",
        "current",
        "entire",
        "git",
        "merging",
        "one",
        "pick",
        "pull",
        "push",
        "specific",
        "without",
    ],
    "internal_git_cleanup_repo": [
        "branch",
        "clean",
        "cleanup",
        "cloned",
        "commit",
        "directories",
        "directory",
        "git",
        "pull",
        "push",
        "removing",
        "repo",
        "repository",
        "security",
        "temporary",
        "works",
    ],
    "internal_git_clone_repo": [
        "authentication",
        "both",
        "branch",
        "clone",
        "cloned",
        "commit",
        "configured",
        "directory",
        "git",
        "github",
        "https",
        "oauth",
        "pat",
        "path",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "returns",
        "ssh",
        "supports",
        "temporary",
        "token",
        "urls",
        "uses",
    ],
    "internal_git_commit_and_push": [
        "add",
        "and",
        "automatically",
        "branch",
        "changes",
        "chat",
        "commit",
        "git",
        "message",
        "msg",
        "pull",
        "push",
        "remote",
        "sets",
        "them",
        "tracking",
        "upstream",
    ],
    "internal_git_create_branch": [
        "add",
        "branch",
        "changes",
        "commit",
        "create",
        "creates",
        "fetches",
        "git",
        "latest",
        "local",
        "make",
        "new",
        "pull",
        "push",
        "repository",
        "source",
        "specified",
    ],
    "internal_github_create_pr": [
        "add",
        "api",
        "authentication",
        "branch",
        "commit",
        "configured",
        "create",
        "git",
        "github",
        "instead",
        "make",
        "new",
        "oauth",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "request",
        "token",
        "uses",
        "using",
    ],
    "internal_git_get_commit_history": [
        "analysis",
        "branch",
        "chat",
        "commit",
        "commits",
        "get",
        "git",
        "hashes",
        "history",
        "message",
        "messages",
        "msg",
        "project",
        "pull",
        "push",
        "recent",
        "repository",
        "shows",
    ],
    "internal_git_get_diff": [
        "branch",
        "changed",
        "changes",
        "commit",
        "committing",
        "diff",
        "document",
        "file",
        "files",
        "get",
        "git",
        "modifications",
        "pull",
        "push",
        "read",
        "repository",
        "reviewing",
        "shows",
        "useful",
        "what",
        "write",
    ],
    "internal_git_get_file_content": [
        "around",
        "branch",
        "changes",
        "commit",
        "content",
        "context",
        "document",
        "examining",
        "file",
        "files",
        "get",
        "git",
        "github",
        "pr",
        "pull",
        "pull request",
        "push",
        "read",
        "related",
        "repo",
        "repository",
        "specific",
        "understanding",
        "useful",
        "weren",
        "write",
    ],
    "internal_github_get_pr_details": [
        "about",
        "branch",
        "changed",
        "changes",
        "commit",
        "commits",
        "detailed",
        "details",
        "document",
        "existing",
        "file",
        "files",
        "get",
        "git",
        "github",
        "including",
        "information",
        "made",
        "pr",
        "pull",
        "pull request",
        "push",
        "read",
        "repo",
        "repository",
        "request",
        "reviewing",
        "reviews",
        "statistics",
        "understand",
        "what",
        "write",
    ],
    "internal_github_get_pr_diff": [
        "actual",
        "branch",
        "changes",
        "code",
        "commit",
        "detailed",
        "diff",
        "full",
        "get",
        "git",
        "pull",
        "push",
        "request",
        "review",
        "shows",
        "single",
        "unified",
        "view",
    ],
    "internal_git_get_status": [
        "analysis",
        "branch",
        "commit",
        "detailed",
        "document",
        "file",
        "files",
        "get",
        "git",
        "information",
        "modified",
        "provides",
        "pull",
        "push",
        "read",
        "repository",
        "showing",
        "staged",
        "state",
        "status",
        "untracked",
        "write",
    ],
    "internal_git_list_branches": [
        "all",
        "both",
        "branch",
        "branches",
        "commit",
        "current",
        "get all",
        "git",
        "list",
        "local",
        "navigation",
        "overview",
        "provides",
        "pull",
        "push",
        "remote",
        "repository",
        "show all",
        "shows",
    ],
    "internal_git_post_pr_review": [
        "analyzing",
        "approve",
        "branch",
        "changes",
        "comment",
        "commit",
        "constructive",
        "feedback",
        "git",
        "github",
        "post",
        "pr",
        "provide",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "request",
        "review",
        "specific",
        "you",
        "your",
    ],
    "internal_git_pull_changes": [
        "branch",
        "changes",
        "commit",
        "date",
        "essential",
        "git",
        "keeping",
        "latest",
        "local",
        "pull",
        "push",
        "remote",
        "repositories",
        "repository",
        "sync",
    ],
    "internal_git_revert_commit": [
        "branch",
        "changes",
        "commit",
        "creating",
        "git",
        "history",
        "new",
        "preserving",
        "pull",
        "push",
        "revert",
        "safe",
        "specific",
        "undo",
        "undoes",
        "way",
        "while",
    ],
    "internal_git_switch_branch": [
        "branch",
        "branches",
        "checking",
        "commit",
        "development",
        "different",
        "existing",
        "git",
        "out",
        "pull",
        "push",
        "repository",
        "switch",
        "useful",
        "workflows",
    ],
    # Github tools
    "github_create_issue": [
        "add",
        "authentication",
        "branch",
        "commit",
        "create",
        "create issue",
        "git",
        "github",
        "issue",
        "make",
        "new",
        "new issue",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "requires",
    ],
    "github_get_repo": [
        "about",
        "branch",
        "commit",
        "detailed",
        "get",
        "git",
        "github",
        "information",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "specific",
    ],
    "github_get_user": [
        "about",
        "branch",
        "commit",
        "get",
        "git",
        "github",
        "information",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "user",
    ],
    "github_list_issues": [
        "all",
        "branch",
        "commit",
        "get all",
        "git",
        "github",
        "issues",
        "list",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "show all",
    ],
    "github_list_pull_requests": [
        "all",
        "branch",
        "commit",
        "get all",
        "git",
        "github",
        "list",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "requests",
        "show all",
    ],
    "github_search_repos": [
        "branch",
        "commit",
        "description",
        "find",
        "git",
        "github",
        "including",
        "information",
        "look for",
        "name",
        "pr",
        "pull",
        "pull request",
        "push",
        "query",
        "repo",
        "repos",
        "repositories",
        "repository",
        "returns",
        "search",
        "stars",
        "url",
    ],
    # Gitlab tools
    "internal_gitlab_clone_repo": [
        "add",
        "authenticates",
        "automatically",
        "branch",
        "clone",
        "cloned",
        "cloning",
        "commit",
        "configured",
        "create",
        "directory",
        "etc",
        "git",
        "gitlab",
        "local",
        "make",
        "merge request",
        "mr",
        "new",
        "operations",
        "path",
        "pull",
        "push",
        "repo",
        "repository",
        "returns",
        "temporary",
        "token",
        "tools",
        "using",
    ],
    "internal_gitlab_create_branch": [
        "add",
        "branch",
        "branches",
        "changes",
        "commit",
        "create",
        "feature",
        "git",
        "gitlab",
        "make",
        "making",
        "merge request",
        "mr",
        "new",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
    ],
    "internal_gitlab_create_file": [
        "add",
        "branch",
        "commit",
        "create",
        "document",
        "file",
        "files",
        "git",
        "gitlab",
        "make",
        "merge request",
        "mr",
        "new",
        "pull",
        "push",
        "read",
        "repo",
        "repository",
        "write",
    ],
    "internal_gitlab_create_issue": [
        "add",
        "branch",
        "commit",
        "create",
        "create issue",
        "git",
        "gitlab",
        "issue",
        "make",
        "merge request",
        "mr",
        "new",
        "new issue",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
    ],
    "internal_gitlab_create_merge_request": [
        "add",
        "another",
        "branch",
        "changes",
        "commit",
        "create",
        "git",
        "gitlab",
        "make",
        "merge",
        "merge request",
        "mr",
        "new",
        "one",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
        "request",
    ],
    "internal_gitlab_delete_file": [
        "branch",
        "cancel",
        "commit",
        "delete",
        "deletion",
        "document",
        "file",
        "git",
        "gitlab",
        "merge request",
        "mr",
        "pull",
        "push",
        "read",
        "remove",
        "repo",
        "repository",
        "write",
    ],
    "internal_gitlab_get_file": [
        "branch",
        "commit",
        "document",
        "file",
        "get",
        "git",
        "gitlab",
        "merge request",
        "mr",
        "pull",
        "push",
        "read",
        "repo",
        "repository",
        "write",
    ],
    "internal_gitlab_get_merge_request": [
        "about",
        "branch",
        "changes",
        "commit",
        "conflicts",
        "detailed",
        "get",
        "git",
        "gitlab",
        "including",
        "information",
        "merge",
        "merge request",
        "mr",
        "pull",
        "push",
        "repo",
        "repository",
        "request",
        "specific",
        "status",
    ],
    "internal_gitlab_get_project": [
        "about",
        "branch",
        "branches",
        "commit",
        "detailed",
        "get",
        "git",
        "gitlab",
        "including",
        "information",
        "merge request",
        "mr",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
        "statistics",
        "urls",
    ],
    "internal_gitlab_get_user": [
        "authenticated",
        "branch",
        "commit",
        "get",
        "git",
        "gitlab",
        "merge request",
        "mr",
        "pull",
        "push",
        "repo",
        "repository",
        "user",
    ],
    "internal_gitlab_list_branches": [
        "all",
        "branch",
        "branches",
        "commit",
        "get all",
        "git",
        "gitlab",
        "list",
        "merge request",
        "mr",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
        "show all",
    ],
    "internal_gitlab_list_issues": [
        "all",
        "branch",
        "commit",
        "filter",
        "get all",
        "git",
        "gitlab",
        "issues",
        "labels",
        "list",
        "merge request",
        "mr",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
        "show all",
        "state",
    ],
    "internal_gitlab_list_merge_requests": [
        "all",
        "branch",
        "closed",
        "commit",
        "filter",
        "get all",
        "git",
        "gitlab",
        "list",
        "merge",
        "merge request",
        "merged",
        "mr",
        "opened",
        "project",
        "pull",
        "push",
        "repo",
        "repository",
        "requests",
        "show all",
        "state",
    ],
    "internal_gitlab_list_projects": [
        "accessible",
        "all",
        "authenticated",
        "branch",
        "commit",
        "filter",
        "find",
        "get all",
        "git",
        "gitlab",
        "list",
        "look for",
        "membership",
        "merge request",
        "mr",
        "owned",
        "projects",
        "pull",
        "push",
        "query",
        "repo",
        "repository",
        "search",
        "show all",
        "term",
        "user",
    ],
    "internal_gitlab_update_file": [
        "branch",
        "change",
        "changes",
        "commit",
        "document",
        "edit",
        "existing",
        "file",
        "files",
        "git",
        "gitlab",
        "merge request",
        "modify",
        "mr",
        "pull",
        "push",
        "read",
        "repo",
        "repository",
        "update",
        "write",
    ],
    # Google tools
    "internal_google_calendar_create_event": [
        "add",
        "attendees",
        "calendar",
        "create",
        "cron",
        "daily",
        "event",
        "google",
        "make",
        "meeting",
        "meetings",
        "new",
        "recurring",
        "reminder",
        "schedule",
        "scheduler",
        "weekly",
    ],
    "internal_google_calendar_delete_event": [
        "calendar",
        "cancel",
        "delete",
        "event",
        "google",
        "meeting",
        "remove",
        "schedule",
    ],
    "internal_google_calendar_find_meeting_time": [
        "attendees",
        "available",
        "calendar",
        "event",
        "find",
        "google",
        "meeting",
        "schedule",
        "slots",
        "time",
    ],
    "internal_google_calendar_get_event": [
        "calendar",
        "details",
        "event",
        "get",
        "google",
        "meeting",
        "schedule",
        "specific",
    ],
    "internal_google_calendar_get_free_busy": [
        "availability",
        "busy",
        "calendar",
        "calendars",
        "check",
        "event",
        "free",
        "get",
        "google",
        "meeting",
        "schedule",
    ],
    "internal_google_calendar_list_calendars": [
        "all",
        "available",
        "calendar",
        "calendars",
        "event",
        "get all",
        "google",
        "list",
        "meeting",
        "schedule",
        "show all",
        "user",
    ],
    "internal_google_calendar_list_events": [
        "all",
        "calendar",
        "event",
        "events",
        "get all",
        "google",
        "list",
        "meeting",
        "range",
        "returns",
        "schedule",
        "show all",
        "specified",
        "time",
        "within",
    ],
    "internal_google_calendar_update_event": [
        "calendar",
        "change",
        "edit",
        "event",
        "existing",
        "google",
        "meeting",
        "modify",
        "schedule",
        "update",
    ],
    # Hackernews tools
    "internal_hackernews_get_ask_hn": [
        "about",
        "ask",
        "community",
        "curious",
        "discussions",
        "get",
        "good",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "news",
        "posts",
        "questions",
        "tech news",
        "understanding",
        "what",
    ],
    "internal_hackernews_get_best_stories": [
        "best",
        "content",
        "finding",
        "get",
        "great",
        "hacker",
        "hacker news",
        "hackernews",
        "high",
        "highest",
        "hn",
        "news",
        "over",
        "quality",
        "received",
        "stories",
        "tech news",
        "time",
        "voted",
        "well",
    ],
    "internal_hackernews_get_new_stories": [
        "content",
        "discovering",
        "fresh",
        "get",
        "good",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "new",
        "newest",
        "news",
        "stories",
        "tech news",
        "trends",
    ],
    "internal_hackernews_get_show_hn": [
        "community",
        "creations",
        "discovering",
        "get",
        "good",
        "hacker news",
        "hackernews",
        "hn",
        "new",
        "news",
        "posts",
        "projects",
        "shared",
        "show",
        "side",
        "startups",
        "tech news",
        "tools",
    ],
    "internal_hackernews_get_story_details": [
        "about",
        "comments",
        "detailed",
        "details",
        "get",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "including",
        "information",
        "level",
        "news",
        "optionally",
        "specific",
        "story",
        "tech news",
        "top",
    ],
    "internal_news_search": [
        "articles",
        "breaking news",
        "headlines",
        "latest news",
        "news",
        "news search",
        "newsapi",
        "recent",
        "search",
        "search news",
        "sources",
    ],
    "internal_fetch_rss_feed": [
        "atom",
        "blog",
        "feed",
        "headlines",
        "news feed",
        "parse",
        "rss",
        "rss feed",
        "syndication",
    ],
    "internal_hackernews_get_top_stories": [
        "community",
        "current",
        "front",
        "get",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "news",
        "now",
        "page",
        "popular",
        "right",
        "stories",
        "tech",
        "tech news",
        "top",
    ],
    "internal_hackernews_get_trending_topics": [
        "analyze",
        "current",
        "get",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "identify",
        "news",
        "returns",
        "stories",
        "summary",
        "tech news",
        "top",
        "topics",
        "trending",
        "what",
    ],
    "internal_hackernews_get_user": [
        "about",
        "count",
        "get",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "including",
        "information",
        "karma",
        "news",
        "submission",
        "tech news",
        "their",
        "user",
    ],
    "internal_hackernews_search": [
        "comments",
        "filtering",
        "find",
        "hacker",
        "hacker news",
        "hackernews",
        "hn",
        "look for",
        "matching",
        "news",
        "order",
        "query",
        "range",
        "search",
        "sort",
        "stories",
        "supports",
        "tech news",
        "time",
        "type",
    ],
    # Identify tools
    "internal_identify_abstractions": [
        "abstractions",
        "analysis",
        "codebase",
        "concepts",
        "core",
        "document",
        "file",
        "generation",
        "identify",
        "llm",
        "read",
        "step",
        "takes",
        "tutorial",
        "using",
        "workflow",
        "write",
    ],
    # Linkedin tools
    "internal_linkedin_get_company_info": [
        "about",
        "company",
        "get",
        "info",
        "information",
        "linkedin",
        "organization",
        "professional",
        "social",
    ],
    "internal_linkedin_get_posts": [
        "authenticated",
        "get",
        "linkedin",
        "posts",
        "professional",
        "social",
        "user",
    ],
    "internal_linkedin_get_profile": [
        "authenticated",
        "document",
        "file",
        "get",
        "linkedin",
        "professional",
        "profile",
        "read",
        "social",
        "user",
        "write",
    ],
    "internal_linkedin_post_text": [
        "change",
        "characters",
        "edit",
        "great",
        "insights",
        "linkedin",
        "max",
        "modify",
        "network",
        "post",
        "professional",
        "sharing",
        "social",
        "text",
        "thoughts",
        "update",
        "updates",
        "your",
    ],
    "internal_linkedin_post_with_image": [
        "accessible",
        "image",
        "linkedin",
        "post",
        "professional",
        "publicly",
        "social",
        "text",
        "url",
        "with",
    ],
    "internal_linkedin_share_url": [
        "article",
        "automatically",
        "card",
        "commentary",
        "generate",
        "linkedin",
        "optional",
        "preview",
        "professional",
        "share",
        "social",
        "url",
    ],
    # List tools
    "list_data_sources": [
        "available",
        "data source",
        "data sources",
        "databricks",
        "datadog",
        "docker",
        "find",
        "id",
        "list",
        "monitoring",
        "show",
        "sources",
        "which",
    ],
    "internal_list_database_connections": [
        "active",
        "agent",
        "all",
        "available",
        "connection",
        "connections",
        "database",
        "db",
        "details",
        "get all",
        "host",
        "including",
        "list",
        "name",
        "query",
        "returns",
        "show all",
        "sql",
        "table",
        "type",
    ],
    "internal_list_directory": [
        "all",
        "contents",
        "detailed",
        "directory",
        "document",
        "file",
        "files",
        "filtering",
        "get all",
        "hidden",
        "including",
        "information",
        "list",
        "permissions",
        "read",
        "show all",
        "sizes",
        "supports",
        "timestamps",
        "write",
    ],
    "internal_list_pending_followups": [
        "all",
        "attention",
        "checking",
        "daily",
        "due",
        "follow up",
        "followup",
        "followups",
        "get all",
        "great",
        "items",
        "list",
        "needs",
        "overdue",
        "pending",
        "reminder",
        "see",
        "show all",
        "soon",
        "standup",
        "summaries",
        "task",
        "what",
    ],
    "internal_list_scheduled_tasks": [
        "10 am",
        "7 am",
        "8 am",
        "9 am",
        "all",
        "at",
        "cron",
        "currently",
        "daily",
        "evening",
        "every",
        "every day",
        "every hour",
        "every week",
        "get all",
        "hourly",
        "list",
        "monthly",
        "morning",
        "night",
        "on",
        "recurring",
        "reminder",
        "schedule",
        "scheduled",
        "scheduler",
        "see",
        "show all",
        "status",
        "tasks",
        "their",
        "weekly",
        "what",
    ],
    "list_background_tasks": [
        "all",
        "background",
        "get all",
        "list",
        "show all",
        "tasks",
    ],
    # Mark tools
    "internal_mark_followup_complete": [
        "acknowledges",
        "asks",
        "cancel",
        "close",
        "complete",
        "completed",
        "end",
        "explicitly",
        "follow up",
        "followup",
        "mark",
        "permanently",
        "recurring",
        "reminder",
        "reminders",
        "simply",
        "stop",
        "task",
        "user",
    ],
    # Move tools
    "internal_move_file": [
        "add",
        "create",
        "creates",
        "destination",
        "directories",
        "directory",
        "document",
        "file",
        "make",
        "move",
        "needed",
        "new",
        "path",
        "read",
        "rename",
        "source",
        "write",
    ],
    # Navigate tools
    "navigate_to_url": [
        "automation",
        "browser",
        "click",
        "content",
        "extract",
        "extraction",
        "fetch",
        "get",
        "including",
        "instead",
        "interactive",
        "metadata",
        "navigate",
        "page",
        "read",
        "show",
        "simple",
        "text",
        "title",
        "url",
        "view",
        "web",
    ],
    # Order tools
    "internal_order_chapters": [
        "advanced",
        "chapter",
        "chapters",
        "concepts",
        "determine",
        "foundational",
        "generation",
        "optimal",
        "order",
        "ordering",
        "step",
        "tutorial",
        "workflow",
    ],
    # Other tools
    "github": [
        "access",
        "all",
        "authenticated",
        "branch",
        "commit",
        "creating",
        "find",
        "functionality",
        "get all",
        "getting",
        "git",
        "github",
        "including",
        "info",
        "information",
        "issues",
        "list",
        "listing",
        "look for",
        "pr",
        "prs",
        "pull",
        "pull request",
        "push",
        "query",
        "repo",
        "repositories",
        "repository",
        "search",
        "searching",
        "show all",
        "user",
    ],
    # Query tools
    "internal_query_and_chart": [
        "and",
        "automatically",
        "chart",
        "combines",
        "database",
        "db",
        "execute",
        "execution",
        "generate",
        "graph",
        "one",
        "plot",
        "query",
        "results",
        "sql",
        "step",
        "table",
        "visualization",
        "visualize",
    ],
    "internal_query_database": [
        "column",
        "connected",
        "count",
        "database",
        "databases",
        "db",
        "elastic",
        "elasticsearch",
        "es",
        "execute",
        "find",
        "information",
        "logs",
        "look for",
        "postgresql",
        "queries",
        "query",
        "results",
        "returns",
        "row",
        "search",
        "sql",
        "table",
    ],
    "query_database_connection": [
        "application",
        "connected",
        "connection",
        "data",
        "database",
        "databases",
        "db",
        "elastic",
        "elasticsearch",
        "es",
        "execute",
        "fetch",
        "find",
        "logs",
        "look for",
        "metadata",
        "postgresql",
        "queries",
        "query",
        "results",
        "returns",
        "search",
        "sql",
        "sqlite",
        "table",
        "your",
    ],
    "query_databricks": [
        "aggregate",
        "analyze",
        "columns",
        "complex",
        "data",
        "databricks",
        "datasets",
        "execute",
        "lakehouse",
        "large",
        "queries",
        "query",
        "results",
        "returns",
        "rows",
        "run",
        "sql",
    ],
    "query_datadog_metrics": [
        "analysis",
        "application",
        "custom",
        "data",
        "datadog",
        "fetch",
        "metrics",
        "monitoring",
        "performance",
        "platform",
        "query",
        "returns",
        "series",
        "system",
        "time",
    ],
    "query_datadog_logs": [
        "audit",
        "datadog",
        "error",
        "events",
        "investigation",
        "log",
        "logs",
        "messages",
        "monitoring",
        "query",
        "search",
        "service",
        "status",
        "trail",
    ],
    "query_docker_logs": [
        "activity",
        "analyze",
        "application",
        "container",
        "containers",
        "debug",
        "docker",
        "fetch",
        "issues",
        "lines",
        "log",
        "logs",
        "monitor",
        "query",
        "returns",
        "timestamps",
    ],
    # Read tools
    "internal_read_file": [
        "analyze",
        "capabilities",
        "content",
        "counting",
        "document",
        "documents",
        "encoded",
        "fetch",
        "file",
        "files",
        "get",
        "images",
        "media",
        "metadata",
        "pagination",
        "provides",
        "read",
        "reading",
        "return",
        "show",
        "string",
        "support",
        "text",
        "token",
        "videos",
        "view",
        "write",
    ],
    # Recall tools
    "internal_recall_get_bot_status": [
        "bot",
        "check",
        "codes",
        "current",
        "done",
        "fatal",
        "fetch",
        "finished",
        "get",
        "joined",
        "meeting",
        "read",
        "ready",
        "recall",
        "recording",
        "show",
        "status",
        "transcript",
        "view",
    ],
    "internal_recall_get_recording": [
        "audio",
        "complete",
        "completed",
        "get",
        "meeting",
        "recall",
        "recording",
        "status",
        "transcript",
        "url",
        "video",
    ],
    "internal_recall_get_transcript": [
        "complete",
        "completed",
        "get",
        "identified",
        "meeting",
        "recall",
        "recording",
        "returns",
        "speaker",
        "status",
        "timestamps",
        "transcript",
    ],
    "internal_recall_list_bots": [
        "all",
        "bots",
        "checking",
        "completed",
        "filtering",
        "get all",
        "list",
        "meeting",
        "ongoing",
        "optional",
        "recall",
        "recording",
        "recordings",
        "show all",
        "status",
        "transcript",
        "useful",
    ],
    "internal_recall_remove_bot": [
        "bot",
        "early",
        "ends",
        "leave",
        "making",
        "meeting",
        "recall",
        "recording",
        "remove",
        "stop",
        "transcript",
    ],
    "internal_recall_send_bot": [
        "audio",
        "bot",
        "channel",
        "generate",
        "google",
        "goto",
        "huddles",
        "join",
        "meet",
        "meeting",
        "microsoft",
        "notify",
        "post",
        "recall",
        "record",
        "recording",
        "send",
        "slack",
        "supports",
        "teams",
        "tell",
        "transcript",
        "video",
        "video call",
        "webex",
        "workspace",
        "zoom",
    ],
    "internal_recall_summarize_meeting": [
        "action",
        "base",
        "complete",
        "completed",
        "decisions",
        "get",
        "items",
        "key",
        "knowledge",
        "meeting",
        "optionally",
        "points",
        "prepare",
        "recall",
        "recording",
        "save",
        "summarization",
        "summarize",
        "transcript",
    ],
    # Run tools
    "internal_run_command": [
        "against",
        "all",
        "allowlist",
        "branch",
        "cli",
        "command",
        "commands",
        "commit",
        "container",
        "control",
        "development",
        "docker",
        "execute",
        "execution",
        "get all",
        "git",
        "github",
        "line",
        "list",
        "logs",
        "managers",
        "many",
        "npm",
        "operations",
        "package",
        "pip",
        "pr",
        "pull",
        "pull request",
        "push",
        "repo",
        "repository",
        "run",
        "safe",
        "security",
        "show all",
        "supports",
        "system",
        "tools",
        "utilities",
        "validated",
        "version",
    ],
    # S3 tools
    "internal_s3_delete_file": [
        "aws",
        "bucket",
        "cancel",
        "delete",
        "document",
        "file",
        "read",
        "remove",
        "s3",
        "storage",
        "write",
    ],
    "internal_s3_download_file": [
        "aws",
        "bucket",
        "document",
        "download",
        "file",
        "filesystem",
        "local",
        "read",
        "s3",
        "storage",
        "write",
    ],
    "internal_s3_file_exists": [
        "aws",
        "bucket",
        "check",
        "document",
        "exists",
        "file",
        "read",
        "s3",
        "storage",
        "write",
    ],
    "internal_s3_generate_presigned_url": [
        "access",
        "aws",
        "bucket",
        "document",
        "file",
        "files",
        "generate",
        "object",
        "presigned",
        "read",
        "s3",
        "securely",
        "sharing",
        "storage",
        "temporary",
        "url",
        "useful",
        "write",
    ],
    "internal_s3_get_file_metadata": [
        "aws",
        "bucket",
        "content",
        "date",
        "document",
        "file",
        "get",
        "including",
        "last",
        "metadata",
        "modified",
        "read",
        "s3",
        "size",
        "storage",
        "type",
        "write",
    ],
    "internal_s3_list_files": [
        "all",
        "aws",
        "browsing",
        "bucket",
        "document",
        "file",
        "files",
        "finding",
        "get all",
        "given",
        "list",
        "prefix",
        "read",
        "s3",
        "show all",
        "specific",
        "storage",
        "tutorials",
        "uploaded",
        "useful",
        "write",
    ],
    "internal_s3_upload_directory": [
        "aws",
        "bucket",
        "calling",
        "days",
        "directories",
        "directory",
        "document",
        "entire",
        "file",
        "files",
        "important",
        "including",
        "index",
        "multiple",
        "perfect",
        "presigned",
        "read",
        "returns",
        "s3",
        "share",
        "storage",
        "tool",
        "tutorial",
        "upload",
        "uploaded",
        "uploading",
        "urls",
        "valid",
        "write",
        "you",
    ],
    "internal_s3_upload_file": [
        "access",
        "aws",
        "bucket",
        "document",
        "file",
        "presigned",
        "read",
        "returns",
        "s3",
        "single",
        "storage",
        "upload",
        "url",
        "write",
    ],
    # Search tools
    "internal_search_clickup_tasks": [
        "all",
        "assignees",
        "clickup",
        "criteria",
        "filters",
        "find",
        "get all",
        "issues",
        "list",
        "look for",
        "matching",
        "optional",
        "query",
        "related",
        "search",
        "show all",
        "specific",
        "status",
        "tags",
        "task",
        "tasks",
        "todo",
    ],
    "internal_search_files": [
        "all",
        "directory",
        "document",
        "file",
        "files",
        "find",
        "get all",
        "list",
        "look for",
        "matching",
        "names",
        "paths",
        "pattern",
        "query",
        "read",
        "regex",
        "returns",
        "search",
        "show all",
        "their",
        "write",
    ],
    # Claude Code-style tools
    "internal_glob": [
        "files",
        "find",
        "glob",
        "list",
        "match",
        "matching",
        "pattern",
        "paths",
        "search",
        "wildcard",
        "**",
        "*.py",
        "*.ts",
        "*.js",
    ],
    "internal_grep": [
        "code",
        "content",
        "find",
        "grep",
        "line",
        "match",
        "pattern",
        "regex",
        "ripgrep",
        "search",
        "text",
        "where",
    ],
    "internal_web_fetch": [
        "api",
        "content",
        "docs",
        "documentation",
        "download",
        "fetch",
        "get",
        "html",
        "http",
        "page",
        "read",
        "reference",
        "url",
        "web",
        "website",
    ],
    "internal_notebook_edit": [
        "cell",
        "cells",
        "code",
        "edit",
        "insert",
        "ipynb",
        "jupyter",
        "markdown",
        "notebook",
        "python",
        "replace",
    ],
    "internal_search_jira_issues": [
        "bugs",
        "example",
        "find",
        "issue",
        "issues",
        "jira",
        "jql",
        "language",
        "look for",
        "query",
        "related",
        "search",
        "sprint",
        "tasks",
        "ticket",
        "using",
    ],
    "internal_search_slack_mentions": [
        "automatically",
        "channel",
        "chat",
        "detect",
        "find",
        "follow up",
        "followup",
        "keywords",
        "look for",
        "mention",
        "mentions",
        "message",
        "messages",
        "msg",
        "people",
        "query",
        "reminder",
        "search",
        "slack",
        "specific",
        "task",
        "workspace",
    ],
    # Send tools
    "internal_send_bulk_emails": [
        "announcements",
        "bulk",
        "call",
        "email",
        "emails",
        "inbox",
        "individually",
        "mail",
        "maintain",
        "maximum",
        "multiple",
        "newsletters",
        "notifications",
        "notify",
        "per",
        "post",
        "privacy",
        "recipients",
        "send",
        "sent",
        "tell",
        "useful",
    ],
    "internal_render_newsletter": [
        "design",
        "editorial",
        "email template",
        "format newsletter",
        "generate newsletter",
        "html email",
        "newsletter",
        "render",
        "render newsletter",
        "render template",
        "signal",
        "template",
        "the signal",
    ],
    "internal_send_email": [
        "any",
        "both",
        "change",
        "communication",
        "configured",
        "content",
        "edit",
        "email",
        "html",
        "inbox",
        "integration",
        "mail",
        "mailgun",
        "modify",
        "notifications",
        "notify",
        "plain",
        "post",
        "recipient",
        "send",
        "sendgrid",
        "smtp",
        "supports",
        "tell",
        "text",
        "update",
        "updates",
        "using",
        "via",
        "you",
    ],
    "internal_send_followup_message": [
        "about",
        "action",
        "channel",
        "chat",
        "direct message",
        "dm",
        "fetch",
        "follow up",
        "followup",
        "get",
        "item",
        "items",
        "message",
        "msg",
        "notify",
        "original",
        "pending",
        "politely",
        "post",
        "private",
        "read",
        "remind",
        "reminder",
        "send",
        "send message",
        "sent",
        "show",
        "slack",
        "someone",
        "specific",
        "task",
        "tell",
        "thread",
        "via",
        "view",
        "workspace",
    ],
    # Slack tools
    "internal_slack_add_reaction": [
        "acknowledgment",
        "add",
        "agreement",
        "channel",
        "chat",
        "emoji",
        "human",
        "lightweight",
        "like",
        "message",
        "msg",
        "notify",
        "participate",
        "post",
        "reaction",
        "send",
        "sending",
        "show",
        "slack",
        "tell",
        "verbose",
        "way",
        "without",
        "workspace",
    ],
    "internal_slack_join_channel": [
        "channel",
        "discover",
        "join",
        "slack",
        "workspace",
        "you",
    ],
    "internal_slack_list_channels": [
        "all",
        "channel",
        "channels",
        "discover",
        "get all",
        "join",
        "list",
        "monitor",
        "see",
        "show all",
        "slack",
        "want",
        "workspace",
        "you",
    ],
    "internal_slack_read_channel_messages": [
        "channel",
        "chat",
        "fetch",
        "get",
        "message",
        "messages",
        "msg",
        "read",
        "recent",
        "show",
        "slack",
        "understand",
        "view",
        "what",
        "workspace",
    ],
    "internal_slack_read_thread": [
        "channel",
        "chat",
        "context",
        "conversation",
        "fetch",
        "full",
        "get",
        "message",
        "messages",
        "msg",
        "read",
        "replies",
        "responding",
        "see",
        "show",
        "slack",
        "specific",
        "thread",
        "understand",
        "view",
        "want",
        "workspace",
        "you",
    ],
    "internal_slack_search_messages": [
        "about",
        "across",
        "channel",
        "channels",
        "chat",
        "discussions",
        "features",
        "find",
        "issues",
        "look for",
        "message",
        "messages",
        "msg",
        "query",
        "relevant",
        "search",
        "slack",
        "specific",
        "topics",
        "work",
        "workspace",
        "your",
    ],
    "internal_slack_send_dm": [
        "channel",
        "chat",
        "direct",
        "direct message",
        "directly",
        "dm",
        "individual",
        "message",
        "messages",
        "msg",
        "notify",
        "post",
        "private",
        "provide",
        "send",
        "slack",
        "tell",
        "user",
        "users",
        "workspace",
    ],
    "internal_slack_send_message": [
        "channel",
        "chat",
        "fetch",
        "get",
        "message",
        "msg",
        "notify",
        "post",
        "read",
        "send",
        "send message",
        "show",
        "slack",
        "tell",
        "thread",
        "view",
        "workspace",
        "you",
    ],
    "internal_slack_post_blocks": [
        "block kit",
        "blocks",
        "briefing",
        "channel",
        "chart",
        "image",
        "infographic",
        "png",
        "post",
        "rich",
        "slack",
        "svg",
        "visual",
    ],
    "internal_slack_upload_file": [
        "attach",
        "briefing",
        "channel",
        "csv",
        "file",
        "image",
        "infographic",
        "report",
        "share",
        "slack",
        "svg",
        "upload",
    ],
    # Spawn / remote agent tools
    "spawn_agent": ["agent", "child", "delegate", "spawn", "sub-task"],
    "call_remote_agent": [
        "remote",
        "agent",
        "a2a",
        "delegate",
        "handoff",
        "writer",
        "send",
        "call",
        "external",
        "pipeline",
    ],
    # Start tools
    "internal_start_jira_sprint": [
        "changes",
        "issue",
        "jira",
        "sprint",
        "start",
        "state",
        "ticket",
    ],
    # Test tools
    "internal_test_email_connection": [
        "actual",
        "attempting",
        "configuration",
        "configured",
        "connect",
        "connection",
        "email",
        "emails",
        "inbox",
        "integration",
        "issues",
        "mail",
        "notify",
        "post",
        "properly",
        "provider",
        "send",
        "tell",
        "test",
        "troubleshoot",
        "verify",
    ],
    # Toggle tools
    "internal_toggle_scheduled_task": [
        "10 am",
        "7 am",
        "8 am",
        "9 am",
        "at",
        "cron",
        "daily",
        "evening",
        "every",
        "every day",
        "every hour",
        "every week",
        "hourly",
        "monthly",
        "morning",
        "night",
        "on",
        "recurring",
        "reminder",
        "schedule",
        "scheduled",
        "scheduler",
        "task",
        "toggle",
        "weekly",
    ],
    # Transfer tools
    "transfer_to_agent": [
        "agent",
        "agents",
        "another",
        "based",
        "capabilities",
        "control",
        "delegate",
        "descriptions",
        "specialized",
        "system",
        "tasks",
        "their",
        "transfer",
    ],
    # Transition tools
    "internal_transition_jira_issue": [
        "different",
        "issue",
        "jira",
        "sprint",
        "status",
        "ticket",
        "transition",
    ],
    # Twitter tools
    "internal_twitter_delete_tweet": [
        "cancel",
        "delete",
        "one",
        "remove",
        "social",
        "tweet",
        "tweets",
        "twitter",
        "x",
        "your",
    ],
    "internal_twitter_get_bookmarks": [
        "bookmarked",
        "bookmarks",
        "get",
        "processing",
        "reference",
        "retrieve",
        "saved",
        "social",
        "tweet",
        "tweets",
        "twitter",
        "x",
        "your",
    ],
    "internal_twitter_get_my_profile": [
        "authenticated",
        "document",
        "file",
        "get",
        "profile",
        "read",
        "social",
        "tweet",
        "twitter",
        "user",
        "write",
        "x",
    ],
    "internal_twitter_get_user_by_username": [
        "get",
        "handle",
        "information",
        "social",
        "their",
        "tweet",
        "twitter",
        "user",
        "username",
        "x",
    ],
    "internal_twitter_get_user_timeline": [
        "get",
        "social",
        "timeline",
        "tweet",
        "tweets",
        "twitter",
        "user",
        "x",
    ],
    "internal_twitter_post_tweet": [
        "also",
        "characters",
        "existing",
        "max",
        "new",
        "post",
        "quote",
        "reply",
        "social",
        "tweet",
        "tweets",
        "twitter",
        "x",
    ],
    "internal_twitter_search_tweets": [
        "find",
        "like",
        "look for",
        "matching",
        "operators",
        "query",
        "search",
        "social",
        "supports",
        "tweet",
        "tweets",
        "twitter",
        "x",
    ],
    # Update tools
    "internal_update_clickup_task": [
        "change",
        "clickup",
        "current",
        "debugging",
        "description",
        "edit",
        "etc",
        "like",
        "modify",
        "name",
        "priority",
        "properties",
        "reflect",
        "state",
        "status",
        "task",
        "todo",
        "update",
    ],
    "internal_update_followup_priority": [
        "becomes",
        "change",
        "circumstances",
        "edit",
        "follow up",
        "followup",
        "item",
        "less",
        "modify",
        "priority",
        "reminder",
        "task",
        "update",
        "urgent",
    ],
    "internal_update_jira_issue": [
        "assignee",
        "change",
        "debugging",
        "description",
        "details",
        "edit",
        "etc",
        "fields",
        "issue",
        "jira",
        "like",
        "modify",
        "priority",
        "sprint",
        "status",
        "summary",
        "ticket",
        "update",
    ],
    "update_project_context": [
        "add",
        "agents",
        "change",
        "context",
        "edit",
        "fetch",
        "get",
        "key",
        "modify",
        "pair",
        "project",
        "read",
        "shared",
        "show",
        "update",
        "value",
        "view",
    ],
    # Web tools
    "web_crawl": [
        "content",
        "crawl",
        "extract",
        "main",
        "metadata",
        "page",
        "returns",
        "text",
        "title",
        "web",
    ],
    "web_search": [
        "find",
        "google",
        "look for",
        "query",
        "results",
        "returns",
        "search",
        "snippets",
        "titles",
        "top",
        "urls",
        "using",
        "web",
    ],
    # Write tools
    "internal_write_file": ["document", "file", "read", "write"],
    # Youtube tools
    "internal_youtube_get_transcript": [
        "analysis",
        "captions",
        "content",
        "extract",
        "full",
        "get",
        "languages",
        "multiple",
        "reference",
        "summarization",
        "supports",
        "text",
        "transcript",
        "translation",
        "video",
        "videos",
        "watch",
        "youtube",
    ],
    "internal_youtube_get_transcript_segment": [
        "get",
        "portion",
        "range",
        "segment",
        "specific",
        "time",
        "transcript",
        "video",
        "watch",
        "you",
        "youtube",
    ],
    "internal_youtube_list_transcript_languages": [
        "all",
        "available",
        "discover",
        "fetching",
        "get all",
        "language",
        "languages",
        "list",
        "options",
        "show all",
        "transcript",
        "video",
        "watch",
        "what",
        "youtube",
    ],
    "youtube_get_video_info": [
        "about",
        "detailed",
        "get",
        "info",
        "information",
        "video",
        "watch",
        "youtube",
    ],
    "youtube_search": [
        "counts",
        "descriptions",
        "find",
        "look for",
        "query",
        "returns",
        "search",
        "titles",
        "urls",
        "video",
        "videos",
        "view",
        "watch",
        "youtube",
    ],
    # Zoom tools
    "internal_zoom_create_meeting": [
        "add",
        "create",
        "cron",
        "daily",
        "durations",
        "join",
        "make",
        "meeting",
        "meetings",
        "new",
        "password",
        "recurring",
        "reminder",
        "returns",
        "schedule",
        "scheduler",
        "specific",
        "times",
        "topics",
        "url",
        "video call",
        "weekly",
        "zoom",
    ],
    "internal_zoom_delete_meeting": [
        "cancel",
        "cron",
        "daily",
        "delete",
        "meeting",
        "permanently",
        "recurring",
        "reminder",
        "remove",
        "removes",
        "schedule",
        "scheduler",
        "video call",
        "weekly",
        "zoom",
    ],
    "internal_zoom_get_meeting": [
        "comprehensive",
        "details",
        "get",
        "including",
        "information",
        "join",
        "meeting",
        "password",
        "returns",
        "settings",
        "specific",
        "url",
        "video call",
        "zoom",
    ],
    "internal_zoom_get_meeting_recordings": [
        "all",
        "document",
        "download",
        "file",
        "files",
        "get",
        "get all",
        "list",
        "meeting",
        "play",
        "read",
        "recording",
        "recordings",
        "returns",
        "show all",
        "urls",
        "video call",
        "write",
        "zoom",
    ],
    "internal_zoom_list_meetings": [
        "all",
        "get all",
        "list",
        "meeting",
        "meetings",
        "show all",
        "user",
        "video call",
        "zoom",
    ],
    "internal_zoom_update_meeting": [
        "change",
        "edit",
        "meeting",
        "modify",
        "update",
        "video call",
        "zoom",
    ],
}

# Tool categories - group related tools for broader matching
TOOL_CATEGORIES: dict[str, list[str]] = {
    "communication": ["internal_slack_*", "internal_gmail_*", "internal_email_*", "*send*", "*message*", "*notify*"],
    "calendar": ["internal_google_calendar_*", "internal_zoom_*", "*meeting*", "*schedule*", "*event*"],
    "search": ["web_search", "*search*", "*find*", "internal_*_search*"],
    "data": ["internal_query_*", "internal_*_chart*", "*database*", "analyze_*", "generate_chart*"],
    "files": [
        "internal_read_*",
        "internal_write_*",
        "internal_edit_*",
        "internal_*_file*",
        "internal_*_directory*",
        "internal_glob",
        "internal_grep",
        "internal_notebook_edit",
    ],
    "web": ["internal_web_fetch", "web_search", "*url*", "*fetch*"],
    "git": ["internal_git_*", "internal_github_*"],
    "project_management": ["internal_jira_*", "internal_clickup_*"],
    "social_media": ["internal_twitter_*", "internal_linkedin_*", "*tweet*", "*post*", "*share*"],
    "meeting_recording": ["internal_recall_*", "*meeting*", "*transcript*", "*recording*"],
    "scheduler": ["internal_*_scheduled_task", "*schedule*", "*reminder*", "*daily*", "*weekly*", "*recurring*"],
}

# Common action words that indicate intent
ACTION_KEYWORDS: dict[str, list[str]] = {
    "send": ["send", "post", "notify", "tell", "message", "email", "dm"],
    "read": ["read", "get", "fetch", "check", "see", "view", "show", "what"],
    "search": ["search", "find", "look", "query", "where", "who"],
    "create": ["create", "make", "new", "add", "schedule", "book", "set up"],
    "update": ["update", "change", "modify", "edit", "fix"],
    "delete": ["delete", "remove", "cancel", "unschedule"],
    "list": ["list", "all", "show all", "get all"],
    "analyze": ["analyze", "chart", "graph", "visualize", "report"],
}

# Service indicators for complexity detection
SERVICE_INDICATORS = [
    "youtube",
    "slack",
    "email",
    "calendar",
    "github",
    "jira",
    "hackernews",
    "hacker news",
    "twitter",
    "zoom",
    "telegram",
    "linkedin",
    "drive",
    "gmail",
    "gitlab",
    "clickup",
    "elasticsearch",
    "databricks",
    "datadog",
    "docker",
    "s3",
    "recall",
    "browser",
    "google doc",
    "google sheet",
    "pdf",
    "powerpoint",
    "meeting",
]

# Phrases indicating multi-step workflows
MULTI_STEP_INDICATORS = [
    "and then",
    "after that",
    "also",
    "finally",
    "then",
    "every day",
    "daily",
    "weekly",
    "recurring",
    "every morning",
    "every evening",
    "every hour",
    "schedule",
    "remind me",
    "summarize and",
    "search and",
    "get and",
    "fetch and",
]

# Action verbs pattern for complexity detection
ACTION_VERB_PATTERN = re.compile(
    r"\b(get|search|send|create|schedule|fetch|list|summarize|analyze|"
    r"post|find|read|write|update|delete|monitor|check|export|generate)\b",
    re.IGNORECASE,
)

# Enhanced tool categories with operational groupings (V2)
# When a category is detected, all tools from that category should be included
TOOL_CATEGORIES_V2: dict[str, dict] = {
    "scheduler": {
        "keywords": [
            "schedule",
            "daily",
            "weekly",
            "every",
            "recurring",
            "remind",
            "cron",
            "7 am",
            "8 am",
            "9 am",
            "10 am",
            "morning",
            "evening",
            "night",
            "hourly",
            "monthly",
            "every day",
            "every hour",
            "every week",
        ],
        "tools": [
            "internal_create_scheduled_task",
            "internal_create_cron_scheduled_task",
            "internal_list_scheduled_tasks",
            "internal_delete_scheduled_task",
            "internal_toggle_scheduled_task",
        ],
        # Tools commonly used as outputs for scheduled tasks
        "always_include_with": [
            "internal_send_email",
            "internal_slack_send_message",
            "internal_slack_send_dm",
        ],
    },
    "youtube_research": {
        "keywords": ["youtube", "video", "watch", "transcript", "captions"],
        "tools": [
            "internal_youtube_get_transcript",
            "youtube_search",
            "youtube_get_video_info",
            "internal_youtube_list_transcript_languages",
            "internal_youtube_get_transcript_segment",
        ],
        "always_include_with": [],
    },
    "news": {
        "keywords": ["news", "rss", "rss feed", "atom feed", "newsapi", "headlines", "latest news", "breaking news"],
        "tools": [
            "internal_news_search",
            "internal_fetch_rss_feed",
        ],
        "always_include_with": [],
    },
    "hackernews": {
        "keywords": ["hackernews", "hacker news", "hn", "tech news"],
        "tools": [
            "internal_hackernews_get_top_stories",
            "internal_hackernews_search",
            "internal_hackernews_get_trending_topics",
            "internal_hackernews_get_story_details",
            "internal_hackernews_get_best_stories",
            "internal_hackernews_get_new_stories",
            "internal_hackernews_get_ask_hn",
            "internal_hackernews_get_show_hn",
            "internal_hackernews_get_user",
        ],
        "always_include_with": [],
    },
    "content_output": {
        "keywords": ["summary", "report", "document", "pdf", "email", "send", "notify"],
        "tools": [
            "internal_render_newsletter",
            "internal_send_email",
            "internal_slack_send_message",
            "internal_generate_pdf",
            "internal_generate_google_doc",
            "internal_generate_google_sheet",
            "internal_generate_powerpoint",
        ],
        "always_include_with": [],
    },
    "slack_communication": {
        "keywords": ["slack", "channel", "dm", "direct message", "workspace"],
        "tools": [
            "internal_slack_send_message",
            "internal_slack_send_dm",
            "internal_slack_post_blocks",
            "internal_slack_upload_file",
            "internal_slack_read_channel_messages",
            "internal_slack_read_thread",
            "internal_slack_search_messages",
            "internal_slack_list_channels",
            "internal_slack_join_channel",
            "internal_slack_add_reaction",
        ],
        "always_include_with": [],
    },
    "calendar_meetings": {
        "keywords": ["calendar", "meeting", "event", "schedule meeting", "book", "attendees"],
        "tools": [
            "internal_google_calendar_create_event",
            "internal_google_calendar_list_events",
            "internal_google_calendar_get_event",
            "internal_google_calendar_update_event",
            "internal_google_calendar_delete_event",
            "internal_google_calendar_find_meeting_time",
            "internal_google_calendar_get_free_busy",
            "internal_google_calendar_list_calendars",
            "internal_zoom_create_meeting",
            "internal_zoom_list_meetings",
            "internal_zoom_get_meeting",
        ],
        "always_include_with": [],
    },
    "jira_project_management": {
        "keywords": ["jira", "ticket", "sprint", "issue", "epic", "story", "bug"],
        "tools": [
            "internal_create_jira_issue",
            "internal_get_jira_issue",
            "internal_update_jira_issue",
            "internal_search_jira_issues",
            "internal_add_jira_comment",
            "internal_transition_jira_issue",
            "internal_get_jira_project",
            "internal_get_jira_sprints",
            "internal_get_jira_boards",
            "internal_get_jira_users",
            "internal_start_jira_sprint",
            "internal_close_jira_sprint",
            "internal_get_sprint_issues",
        ],
        "always_include_with": [],
    },
    "github_operations": {
        "keywords": ["github", "repo", "repository", "pr", "pull request", "commit", "branch"],
        "tools": [
            "internal_git_clone_repo",
            "internal_git_create_branch",
            "internal_git_commit_and_push",
            "internal_github_create_pr",
            "internal_github_get_pr_details",
            "internal_github_get_pr_diff",
            "internal_git_get_commit_history",
            "internal_git_get_status",
            "internal_git_get_diff",
            "internal_create_github_repository",
            "github_create_issue",
            "github_list_issues",
            "github_list_pull_requests",
            "github_search_repos",
            "github_get_repo",
        ],
        "always_include_with": [],
    },
    "web_research": {
        "keywords": ["web search", "google", "search online", "find online", "internet"],
        "tools": [
            "web_search",
            "web_crawl",
            "navigate_to_url",
        ],
        "always_include_with": [],
    },
    "browser_automation": {
        "keywords": [
            "browser",
            "screenshot",
            "navigate",
            "webpage",
            "website",
            "web page",
            "click",
            "fill form",
            "web automation",
            "playwright",
            "puppeteer",
            "headless",
            "scrape",
            "crawl",
            "open url",
            "visit url",
            "load page",
            "performance",
            "lighthouse",
            "page speed",
            "web test",
            "e2e",
            "end to end",
            "ui test",
        ],
        "tools": [
            "internal_browser_navigate",
            "internal_browser_snapshot",
            "internal_browser_screenshot",
            "internal_browser_click",
            "internal_browser_fill",
            "internal_browser_fill_form",
            "internal_browser_type",
            "internal_browser_get_console",
            "internal_browser_get_errors",
            "internal_browser_press",
            "internal_browser_wait",
            "internal_browser_list_pages",
            "internal_browser_new_page",
            "internal_browser_close_page",
            "internal_browser_close_session",
            "internal_browser_get_cookies",
            "internal_browser_set_cookies",
            "internal_browser_clear_cookies",
            "internal_browser_select",
            "internal_browser_check",
        ],
        "always_include_with": [],
    },
    "followup_reminders": {
        "keywords": ["follow up", "followup", "reminder", "remind", "pending", "track"],
        "tools": [
            "internal_create_followup_item",
            "internal_list_pending_followups",
            "internal_mark_followup_complete",
            "internal_send_followup_message",
            "internal_get_followup_history",
            "internal_update_followup_priority",
            "internal_escalate_followup",
        ],
        "always_include_with": [],
    },
    "diagram_generation": {
        "keywords": [
            "diagram",
            "architecture",
            "flowchart",
            "sequence",
            "er diagram",
            "entity relationship",
            "state machine",
            "deployment",
            "pipeline",
            "topology",
            "graph",
            "visualize",
            "draw",
            "schematic",
            "infrastructure",
            "system design",
            "svg",
            "technical drawing",
            "data flow",
            "microservices",
        ],
        "tools": [
            "internal_generate_diagram",
            "internal_generate_quick_diagram",
        ],
        "always_include_with": [],
    },
}
