Skip to content

feat: interactive web UI for Toolbox #1065

Merged
AlexTalreja merged 10 commits intomainfrom
toolbox-ui
Aug 4, 2025
Merged

feat: interactive web UI for Toolbox #1065
AlexTalreja merged 10 commits intomainfrom
toolbox-ui

Conversation

@AlexTalreja
Copy link
Contributor

Introduce Toolbox UI, which can be launched with the --ui flag.

This initial version of Toolbox UI allows users to test Toolbox by inspecting tools/toolsets, modifying parameters, managing headers, and executing API calls.

@AlexTalreja AlexTalreja self-assigned this Aug 4, 2025
@AlexTalreja AlexTalreja requested a review from a team August 4, 2025 18:06
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2025

Add a flag `--ui` which will launch the Toolbox UI web server and
a skeleton HTML page.

The web server is on the same port as Toolbox and will serve HTML pages
from `static/`
Add tool inspect functionality to Toolbox UI. 

Selecting the tools tab will open popup for specific tools, and
selecting a specific tools populates name, description, and parameters.
Update `web_test` to verify linked resources such as the `style.css`
file and `.js` components are accessible.

Also added test cases to check URLs with and without a trailing slash
(ex: `/ui` and `/ui/`).
Add `Run` button and functionality to modify parameters + test tools.

This currently supports both standard and optional params, but not auth.
Allows users to edit request header to support `AuthServices` for
Toolbox UI.
Add instructions for obtaining a valid id_token to include in the
request header for auth params.

Uses a drop-down menu with two separate tabs to distinguish between
users with a standard account and service account, defaulting to
standard account.
Move `loadTools()` and helper functions from `tools.js` to
`loadTools.js` to allow reuse from within future `toolset.js`, which
will use similar logic.

Slightly modify `loadTools()` to accept a toolset name to allow
filtering. When called from `tools.js` it will take an empty string to
maintain existing behavior (fetch all tools).
Add toolsets page, which allows searching for specific toolsets and
displaying respective tools.
Remove links for `sources` and `authServices` tab from navbar.

Inspecting sources and auth services will not be allowed through
 Toolbox UI due to lack of existing endpoints, proper handling is
awaiting Toolbox Control Plane implementation.
Add docs for using Toolbox UI effectively.
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2025

@Yuan325 Yuan325 changed the title feat: Add interactive web UI for Toolbox feat: interactive web UI for Toolbox Aug 4, 2025
@AlexTalreja AlexTalreja merged commit 8749b03 into main Aug 4, 2025
9 checks passed
@AlexTalreja AlexTalreja deleted the toolbox-ui branch August 4, 2025 18:47
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2025

🧨 Preview deployments removed.

github-actions bot pushed a commit that referenced this pull request Aug 4, 2025
Introduce Toolbox UI, which can be launched with the `--ui` flag.

This initial version of Toolbox UI allows users to test Toolbox by
inspecting tools/toolsets, modifying parameters, managing headers, and
executing API calls. 8749b03
github-actions bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Aug 4, 2025
Introduce Toolbox UI, which can be launched with the `--ui` flag.

This initial version of Toolbox UI allows users to test Toolbox by
inspecting tools/toolsets, modifying parameters, managing headers, and
executing API calls. 8749b03
github-actions bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Aug 4, 2025
Introduce Toolbox UI, which can be launched with the `--ui` flag.

This initial version of Toolbox UI allows users to test Toolbox by
inspecting tools/toolsets, modifying parameters, managing headers, and
executing API calls. 8749b03
Yuan325 added a commit that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](v0.10.0...v0.11.0)
(2025-08-04)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](#1020))
([9af55b6](9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](#1034))
([051e686](051e686))

### Features

* Add DuckDB source and tool
([#879](#879))
([fd14933](fd14933))
* Add TiDB source and tool
([#829](#829))
([6eaf36a](6eaf36a))
* Interactive web UI for Toolbox
([#1065](#1065))
([8749b03](8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](#1015))
([327ddf0](327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](#1009))
([5fa1660](5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
github-actions bot pushed a commit that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](v0.10.0...v0.11.0)
(2025-08-04)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](#1020))
([9af55b6](9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](#1034))
([051e686](051e686))

### Features

* Add DuckDB source and tool
([#879](#879))
([fd14933](fd14933))
* Add TiDB source and tool
([#829](#829))
([6eaf36a](6eaf36a))
* Interactive web UI for Toolbox
([#1065](#1065))
([8749b03](8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](#1015))
([327ddf0](327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](#1009))
([5fa1660](5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 8d0fa67
github-actions bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](googleapis/genai-toolbox@v0.10.0...v0.11.0)
(2025-08-04)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add DuckDB source and tool
([googleapis#879](googleapis#879))
([fd14933](googleapis@fd14933))
* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 8d0fa67
github-actions bot pushed a commit to bpranava/genai-toolbox that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](googleapis/genai-toolbox@v0.10.0...v0.11.0)
(2025-08-04)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add DuckDB source and tool
([googleapis#879](googleapis#879))
([fd14933](googleapis@fd14933))
* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 8d0fa67
github-actions bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](googleapis/genai-toolbox@v0.10.0...v0.11.0)
(2025-08-04)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add DuckDB source and tool
([googleapis#879](googleapis#879))
([fd14933](googleapis@fd14933))
* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 8d0fa67
Yuan325 added a commit that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](v0.11.0...v0.11.0)
(2025-08-05)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](#1020))
([9af55b6](9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](#1034))
([051e686](051e686))

### Features

* Add TiDB source and tool
([#829](#829))
([6eaf36a](6eaf36a))
* Interactive web UI for Toolbox
([#1065](#1065))
([8749b03](8749b03))
* **prebuiltconfigs/cloud-sql-postgres:** Introduce additional parameter
to limit context in list tables
([#1062](#1062))
([c3a58e1](c3a58e1))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](#1015))
([327ddf0](327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](#1009))
([5fa1660](5fa1660))

### Bug Fixes

* **tools/bigquery,mssql,mysql,postgres,spanner,tidb:** Add query
logging to execute-sql tools
([#1069](#1069))
([0527532]([0527532))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
github-actions bot pushed a commit that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](v0.11.0...v0.11.0)
(2025-08-05)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](#1020))
([9af55b6](9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](#1034))
([051e686](051e686))

### Features

* Add TiDB source and tool
([#829](#829))
([6eaf36a](6eaf36a))
* Interactive web UI for Toolbox
([#1065](#1065))
([8749b03](8749b03))
* **prebuiltconfigs/cloud-sql-postgres:** Introduce additional parameter
to limit context in list tables
([#1062](#1062))
([c3a58e1](c3a58e1))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](#1015))
([327ddf0](327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](#1009))
([5fa1660](5fa1660))

### Bug Fixes

* **tools/bigquery,mssql,mysql,postgres,spanner,tidb:** Add query
logging to execute-sql tools
([#1069](#1069))
([0527532]([0527532))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> a09f628
github-actions bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Aug 5, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.11.0](googleapis/genai-toolbox@v0.11.0...v0.11.0)
(2025-08-05)

### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **prebuiltconfigs/cloud-sql-postgres:** Introduce additional parameter
to limit context in list tables
([googleapis#1062](googleapis#1062))
([c3a58e1](googleapis@c3a58e1))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

### Bug Fixes

* **tools/bigquery,mssql,mysql,postgres,spanner,tidb:** Add query
logging to execute-sql tools
([googleapis#1069](googleapis#1069))
([0527532]([googleapis@0527532))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> a09f628
SaxenaAnushka102 pushed a commit to SaxenaAnushka102/genai-toolbox that referenced this pull request Aug 14, 2025
Introduce Toolbox UI, which can be launched with the `--ui` flag. 

This initial version of Toolbox UI allows users to test Toolbox by
inspecting tools/toolsets, modifying parameters, managing headers, and
executing API calls.
SaxenaAnushka102 pushed a commit to SaxenaAnushka102/genai-toolbox that referenced this pull request Aug 14, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](googleapis/genai-toolbox@v0.10.0...v0.11.0)
(2025-08-04)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add DuckDB source and tool
([googleapis#879](googleapis#879))
([fd14933](googleapis@fd14933))
* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
SaxenaAnushka102 pushed a commit to SaxenaAnushka102/genai-toolbox that referenced this pull request Aug 14, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](googleapis/genai-toolbox@v0.11.0...v0.11.0)
(2025-08-05)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([googleapis#1020](googleapis#1020))
([9af55b6](googleapis@9af55b6))
* **tools/bigquery-execute-sql:** Update the return messages
([googleapis#1034](googleapis#1034))
([051e686](googleapis@051e686))

### Features

* Add TiDB source and tool
([googleapis#829](googleapis#829))
([6eaf36a](googleapis@6eaf36a))
* Interactive web UI for Toolbox
([googleapis#1065](googleapis#1065))
([8749b03](googleapis@8749b03))
* **prebuiltconfigs/cloud-sql-postgres:** Introduce additional parameter
to limit context in list tables
([googleapis#1062](googleapis#1062))
([c3a58e1](googleapis@c3a58e1))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([googleapis#1015](googleapis#1015))
([327ddf0](googleapis@327ddf0))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([googleapis#1009](googleapis#1009))
([5fa1660](googleapis@5fa1660))

### Bug Fixes

* **tools/bigquery,mssql,mysql,postgres,spanner,tidb:** Add query
logging to execute-sql tools
([googleapis#1069](googleapis#1069))
([0527532]([googleapis@0527532))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants