Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion DEVELOPER.md
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,6 @@ When adding or updating a Source page, your markdown file must strictly adhere t
When adding or updating a Tool page, your markdown file must strictly adhere to the following architectural rules:

* **Location:** Native tools must be placed inside a nested `tools/` directory.
* **Frontmatter:** The `title` field must end with the word "Tool" (e.g., `title: "execute-sql Tool"`).
* **No H1 Headings:** Do not use H1 (`#`) tags in the markdown body. The page title is automatically generated from the frontmatter.
* **H2 Heading Hierarchy:** You must use H2 (`##`) headings in a strict, specific order.
* **Required Headings:** `About`, `Example`
Expand Down
7 changes: 3 additions & 4 deletions GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,8 @@ When generating or editing documentation for this repository, you must strictly
##### Tool Page Constraints (`integrations/**/tools/*.md`)

1. **Location:** All native tools must reside inside a nested `tools/` subdirectory. The `tools/` directory must contain an `_index.md` file consisting **strictly of frontmatter**.
2. **Title Convention:** The YAML frontmatter `title` must always end with "Tool" (e.g., `title: "Execute SQL Tool"`).
3. **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.
4. **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.
2. **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.
3. **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.
* `## About` (Required)
* `## Compatible Sources` (Optional)
* `## Requirements` (Optional)
Expand All @@ -214,7 +213,7 @@ When generating or editing documentation for this repository, you must strictly
* `## Advanced Usage` (Optional)
* `## Troubleshooting` (Optional)
* `## Additional Resources` (Optional)
5. **Shortcode Placement:** If you generate the `## Compatible Sources` section, you must include the `{{< compatible-sources >}}` shortcode beneath it.
4. **Shortcode Placement:** If you generate the `## Compatible Sources` section, you must include the `{{< compatible-sources >}}` shortcode beneath it.

##### Samples Architecture Constraints
Sample code is aggregated visually in the UI via the Samples section, but the physical markdown files are distributed logically based on their scope.
Expand Down
5 changes: 5 additions & 0 deletions cmd/internal/imports.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,16 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookeradddashboardelement"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookeradddashboardfilter"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerconversationalanalytics"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookercreateagent"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookercreateprojectdirectory"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookercreateprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookercreateviewfromtable"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdeleteagent"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdeleteprojectdirectory"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdeleteprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdevmode"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergenerateembedurl"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetagent"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetconnectiondatabases"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetconnections"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetconnectionschemas"
Expand All @@ -142,6 +145,7 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthanalyze"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthpulse"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthvacuum"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerlistagents"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookermakedashboard"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookermakelook"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerquery"
Expand All @@ -150,6 +154,7 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerrundashboard"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerrunlook"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerrunlookmltests"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerupdateagent"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerupdateprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookervalidateproject"
_ "github.com/googleapis/genai-toolbox/internal/tools/mindsdb/mindsdbexecutesql"
Expand Down
51 changes: 51 additions & 0 deletions docs/en/integrations/looker/tools/looker-create-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: "looker-create-agent Tool"
type: docs
weight: 1
description: >
"looker-create-agent" creates a Looker Conversation Analytics agent.
---

## About

The `looker-create-agent` tool allows LLMs to create a Looker Agent using the Looker Go SDK.

```json
{
"name": "looker-create-agent",
"parameters": {
"name": "My Agent",
"instructions": "You are a helpful assistant.",
"sources": [{"model": "my_model", "explore": "my_explore"}],
"code_interpreter": true
}
}
```

## Compatible Sources

{{< compatible-sources >}}

## Example

```yaml
kind: tool
name: create_agent
type: looker-create-agent
source: my-looker-instance
description: |
Create a new Looker agent.
- `name` (string): The name of the agent.
- `description` (string): The description of the agent.
- `instructions` (string): The instructions (system prompt) for the agent.
- `sources` (array): Optional. A list of JSON-encoded data sources for the agent (e.g., `[{"model": "my_model", "explore": "my_explore"}]`).
- `code_interpreter` (boolean): Optional. Enables Code Interpreter for this Agent.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| type | string | true | Must be "looker-create-agent". |
| source | string | true | Name of the Looker source. |
| description | string | true | Description of the tool that is passed to the LLM. |
46 changes: 46 additions & 0 deletions docs/en/integrations/looker/tools/looker-delete-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "looker-delete-agent Tool"
type: docs
weight: 1
description: >
"looker-delete-agent" deletes a Looker Conversation Analytics agent.
---

## About

The `looker-delete-agent` tool allows LLMs to delete a Looker Agent using the Looker Go SDK.

```json
{
"name": "looker-delete-agent",
"parameters": {
"agent_id": "123"
}
}
```

## Compatible Sources

{{< compatible-sources >}}

## Example

To use the `looker-delete-agent` tool, you must define it in your `server.yaml` file.

```yaml
kind: tool
name: delete_agent
type: looker-delete-agent
source: my-looker-instance
description: |
Delete a Looker agent.
- `agent_id` (string): The ID of the agent.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| type | string | true | Must be "looker-delete-agent". |
| source | string | true | Name of the Looker source. |
| description | string | true | Description of the tool that is passed to the LLM. |
46 changes: 46 additions & 0 deletions docs/en/integrations/looker/tools/looker-get-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "looker-get-agent Tool"
type: docs
weight: 1
description: >
"looker-get-agent" retrieves a Looker Conversation Analytics agent.
---

## About

The `looker-get-agent` tool allows LLMs to retrieve a specific Looker Agent by ID using the Looker Go SDK.

To use the `looker-get-agent` tool, you must define it in your `server.yaml` file.

```json
{
"name": "looker-get-agent",
"parameters": {
"agent_id": "123"
}
}
```

## Compatible Sources

{{< compatible-sources >}}

## Example

```yaml
kind: tool
name: get_agent
type: looker-get-agent
source: my-looker-instance
description: |
Retrieve a Looker agent.
- `agent_id` (string): The ID of the agent.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| type | string | true | Must be "looker-get-agent". |
| source | string | true | Name of the Looker source. |
| description | string | true | Description of the tool that is passed to the LLM. |
43 changes: 43 additions & 0 deletions docs/en/integrations/looker/tools/looker-list-agents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "looker-list-agents Tool"
type: docs
weight: 1
description: >
"looker-list-agents" retrieves the list of Looker Conversation Analytics agents.
---

## About

The `looker-list-agents` tool allows LLMs to list Looker Agents using the Looker Go SDK.

```json
{
"name": "looker-list-agents"
}
```

## Compatible Sources

{{< compatible-sources >}}

## Example

To use the `looker-list-agents` tool, you must define it in your `server.yaml` file.

```yaml
kind: tool
name: list_agents
type: looker-list-agents
source: my-looker-instance
description: |
List all Looker agents.
This tool takes no parameters.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| type | string | true | Must be "looker-list-agents". |
| source | string | true | Name of the Looker source. |
| description | string | true | Description of the tool that is passed to the LLM. |
52 changes: 52 additions & 0 deletions docs/en/integrations/looker/tools/looker-update-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: "looker-update-agent Tool"
type: docs
weight: 1
description: >
"looker-update-agent" updates a Looker Conversation Analytics agent.
---

## About

The `looker-update-agent` tool allows LLMs to update an existing Looker Agent using the Looker Go SDK.

```json
{
"name": "looker-update-agent",
"parameters": {
"agent_id": "123",
"name": "Updated Agent Name"
}
}
```

## Compatible Sources

{{< compatible-sources >}}

## Example

To use the `looker-update-agent` tool, you must define it in your `server.yaml` file.

```yaml
kind: tool
name: update_agent
type: looker-update-agent
source: my-looker-instance
description: |
Update a Looker agent.
- `agent_id` (string): The ID of the agent.
- `name` (string): The name of the agent.
- `description` (string): The description of the agent.
- `instructions` (string): The instructions (system prompt) for the agent.
- `sources` (array): Optional. A list of JSON-encoded data sources for the agent (e.g., `[{"model": "my_model", "explore": "my_explore"}]`).
- `code_interpreter` (boolean): Optional. Enables Code Interpreter for this Agent.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| type | string | true | Must be "looker-update-agent". |
| source | string | true | Name of the Looker source. |
| description | string | true | Description of the tool that is passed to the LLM. |
Loading
Loading