# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

sources:
    looker-source:
        kind: looker
        base_url: ${LOOKER_BASE_URL}
        client_id: ${LOOKER_CLIENT_ID:}
        client_secret: ${LOOKER_CLIENT_SECRET:}
        verify_ssl: ${LOOKER_VERIFY_SSL:true}
        timeout: 600s
        use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
        project: ${LOOKER_PROJECT:}
        location: ${LOOKER_LOCATION:}

tools:
    ask_data_insights:
        kind: looker-conversational-analytics
        source: looker-source
        description: |
          Use this tool to ask questions about your data using the Looker Conversational
          Analytics API. You must provide a natural language query and a list of
          1 to 5 model and explore combinations (e.g. [{'model': 'the_model', 'explore': 'the_explore'}]).
          Use the 'get_models' and 'get_explores' tools to discover available models and explores.

    get_models:
        kind: looker-get-models
        source: looker-source
        description: |
          get_models Tool

          This tool retrieves a list of available LookML models in the Looker instance.
          LookML models define the data structure and relationships that users can query.
          The output includes details like the model's `name` and `label`, which are
          essential for subsequent calls to tools like `get_explores` or `query`.

          This tool takes no parameters.

    get_explores:
        kind: looker-get-explores
        source: looker-source
        description: |
          get_explores Tool

          This tool retrieves a list of explores defined within a specific LookML model.
          Explores represent a curated view of your data, typically joining several
          tables together to allow for focused analysis on a particular subject area.
          The output provides details like the explore's `name` and `label`.

          Parameters:
          - model_name (required): The name of the LookML model, obtained from `get_models`.

toolsets:
    looker_conversational_analytics_tools:
        - ask_data_insights
        - get_models
        - get_explores