// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// THIS FILE IS GENERATED FROM tools/*_tools.mojom. DO NOT EDIT.
/**
 * Returns the built-in tool definitions for the Gemini Live API based on the
 * AiOverlayTools mojom interfaces.
 */
export const kBuiltInToolDefinitions = JSON.stringify([
    {
        "functionDeclarations": [
            {
                "name": "open_url",
                "description": "Open a URL. Use when the user wants to go to a page by providing the URL directly.\n\nUse FollowLink to navigate when the link is visible on the current page.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "url": {
                            "type": "STRING",
                            "description": "Exact URL. Use PerformSearch to find a page instead of guessing a URL."
                        },
                        "new_tab": {
                            "type": "BOOLEAN"
                        }
                    },
                    "required": [
                        "url",
                        "new_tab"
                    ]
                }
            },
            {
                "name": "follow_link",
                "description": "Follow/click a link by its ID.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "id": {
                            "type": "STRING",
                            "description": "The ID of the link to follow, as represented in the markdown (e.g. `{#9821}`)."
                        }
                    },
                    "required": [
                        "id"
                    ]
                }
            },
            {
                "name": "perform_search",
                "description": "Search using the default search engine.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "query": {
                            "type": "STRING"
                        },
                        "new_tab": {
                            "type": "BOOLEAN"
                        }
                    },
                    "required": [
                        "query",
                        "new_tab"
                    ]
                }
            },
            {
                "name": "switch_tab",
                "description": "Switch to another open tab by fuzzy matching name or URL.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "query": {
                            "type": "STRING",
                            "description": "keyword from the tab name or URL."
                        }
                    },
                    "required": [
                        "query"
                    ]
                }
            },
            {
                "name": "close_current_tab",
                "description": "Close the current browser tab."
            },
            {
                "name": "go_back",
                "description": "Go back to the previous page in history."
            },
            {
                "name": "go_forward",
                "description": "Go forward to the next page in history."
            },
            {
                "name": "reload_page",
                "description": "Refresh the current page."
            },
            {
                "name": "find_and_highlight",
                "description": "Highlight and scroll to specific text on the page.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "query": {
                            "type": "STRING",
                            "description": "A short phrase copied exactly as it appears in the page content."
                        }
                    },
                    "required": [
                        "query"
                    ]
                }
            },
            {
                "name": "scroll",
                "description": "Scroll the viewport in a specific direction.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "granularity": {
                            "type": "STRING",
                            "enum": [
                                "document",
                                "page"
                            ],
                            "description": "The units of the `magnitude` param. \"document\" scrolls to the start or end of the document."
                        },
                        "magnitude": {
                            "type": "NUMBER",
                            "description": "the distance to scroll. Positive is down, negative is up."
                        }
                    },
                    "required": [
                        "granularity",
                        "magnitude"
                    ]
                }
            },
            {
                "name": "play_video",
                "description": "Resume video playback."
            },
            {
                "name": "pause_video",
                "description": "Pause video playback."
            },
            {
                "name": "seek_to_timestamp",
                "description": "Jump the video to a specific timecode.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "timecode": {
                            "type": "STRING",
                            "description": "from the video transcript. Format: \"1:45\", \"0:30\", \"1:02:15\""
                        }
                    },
                    "required": [
                        "timecode"
                    ]
                }
            },
            {
                "name": "translate_page",
                "description": "Translate the current page.",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "target_language": {
                            "type": "STRING",
                            "description": "Target language code (e.g. \"en\", \"es\", \"fr\"). If empty, translates to the user's default language."
                        }
                    },
                    "required": [
                        "target_language"
                    ]
                }
            },
            {
                "name": "invoke_glic",
                "description": "Use for tasks taking >1s to process, email, or to generate images, audio, video, or long text. Prefer direct voice replies for quick (<1s) tasks.",
                "behavior": "NON_BLOCKING",
                "parameters": {
                    "type": "OBJECT",
                    "properties": {
                        "prompt": {
                            "type": "STRING",
                            "description": "The request to send to Gemini in the side panel."
                        }
                    },
                    "required": [
                        "prompt"
                    ]
                }
            }
        ]
    }
]);
