AlexTalreja
be31376212
feat: LLM testing playground for UI
2025-08-05 00:36:36 -07:00
Alex Talreja
db8473263e
feat: add login with google button for automatic id token retrieval
2025-07-28 21:22:07 +00:00
Alex Talreja
2680864dca
feat: search and inspect toolsets
2025-07-24 21:14:36 +00:00
Alex Talreja
010037af19
refactor: export function to loadTools into navbar
2025-07-24 18:18:25 +00:00
Alex Talreja
f69ec70eaf
feat: add token instructions to header modal
2025-07-23 21:06:22 +00:00
Alex Talreja
187fe69a8b
feat: allow users to edit headers when running tools
2025-07-23 19:13:29 +00:00
Alex Talreja
45de436118
resolve comments
2025-07-22 21:49:38 +00:00
Alex Talreja
1598e32e34
fix handling of boolean params
2025-07-21 21:26:46 +00:00
Alex Talreja
ae68aa58bd
feat: invoke tools from Toolbox UI
2025-07-21 21:26:45 +00:00
AlexTalreja
7fa8633a20
test(internal/server): update web tests to verify resource paths ( #934 )
...
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/`).
2025-07-21 14:21:38 -07:00
AlexTalreja
615e6e76d9
feat: inspect tools from Toolbox UI ( #887 )
...
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.
2025-07-21 10:49:38 -07:00
AlexTalreja
9624d845f2
feat: launch web server with --ui flag ( #780 )
...
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/`
2025-07-15 14:12:27 -07:00
Anubhav Dhawan
72a7282797
docs: Add Toolbox SDKs repo links to relevant doc snippets ( #828 )
...
This PR adds Toolbox SDK github repo links to the relevant parts where
these SDKs are introduced in the `README` for additional context.
2025-07-09 16:34:57 +05:30
Anmol Shukla
29fe3b93cd
docs: fix copy to clipboard button visibility in light mode ( #826 )
...
This PR fixes the issue #791 and updated the info box color so that tags
are visible in dark mode as well in docsite.
2025-07-09 14:13:12 +05:30
Anubhav Dhawan
fb3f66acf4
docs: Correct link for Cloud Run datasource setup ( #794 )
...
Updated the link in the Cloud Run deployment guide for `tools.yaml`
setup. The previous link incorrectly pointed to a `localhost` source
example, which causes confusion and deployment failures. The new link
directs users to the guide for configuring cloud-based sources, ensuring
a correct setup.
2025-07-09 06:11:18 +00:00
Yuan Teoh
1f95eb134b
test: add more time to spanner integration test ctx ( #819 )
...
Occasionally the Spanner integration test's `context` timeout before the
`DROP` operation could finish.
2025-07-09 01:21:22 +00:00
AlexTalreja
4c240ac3c9
feat: dynamic reloading for toolbox config ( #800 )
...
Allow Toolbox server to automatically update when users modify their
tool configuration file(s), instead of requiring a restart.
This feature is automatically enabled, but can be turned off with the
flag `--disable-reload`.
2025-07-08 17:28:12 -07:00
Huan Chen
c6ab74c5da
feat: add optional projectID parameter to bigquery tools ( #799 )
...
Optional projectID parameter enables dynamic, cross-project resource
access in BigQuery tools.
This allows a single tool configuration to target different projects at
runtime, rather than being fixed to the project in its source
configuration.
---------
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com >
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com >
2025-07-08 18:02:42 -04:00
Yuan Teoh
04e2529ba9
test: add null column test case ( #768 )
...
Add integration tests to check for `null` columns. ref #757
2025-07-08 20:20:16 +00:00
Mend Renovate
53dd247e6e
chore(deps): update module google.golang.org/api to v0.240.0 ( #778 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
|
[google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client )
| `v0.239.0` -> `v0.240.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>
###
[`v0.240.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.240.0 )
[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.239.0...v0.240.0 )
##### Features
- **all:** Auto-regenerate discovery clients
([#​3210](https://redirect.github.com/googleapis/google-api-go-client/issues/3210 ))
([c0efdb5](c0efdb50d5 ))
- **all:** Auto-regenerate discovery clients
([#​3212](https://redirect.github.com/googleapis/google-api-go-client/issues/3212 ))
([c699558](c699558a9c ))
- **all:** Auto-regenerate discovery clients
([#​3214](https://redirect.github.com/googleapis/google-api-go-client/issues/3214 ))
([7b43598](7b43598833 ))
- **all:** Auto-regenerate discovery clients
([#​3215](https://redirect.github.com/googleapis/google-api-go-client/issues/3215 ))
([22e2c38](22e2c38068 ))
- **all:** Auto-regenerate discovery clients
([#​3216](https://redirect.github.com/googleapis/google-api-go-client/issues/3216 ))
([e8c3504](e8c3504399 ))
- **all:** Auto-regenerate discovery clients
([#​3217](https://redirect.github.com/googleapis/google-api-go-client/issues/3217 ))
([604190c](604190c29e ))
- **all:** Auto-regenerate discovery clients
([#​3218](https://redirect.github.com/googleapis/google-api-go-client/issues/3218 ))
([0a46af7](0a46af7bb3 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMTcuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com >
2025-07-07 16:08:01 -07:00
Twisha Bansal
648eede62b
docs: add introduction snippets for JS SDK ( #785 )
...
Using nested tabs in hugo is hard and flaky. So, we're using different
heading for the multiple languages here.
2025-07-08 00:11:49 +05:30
Yuan
9b2dfcc553
chore: update int test variable name to be consistent ( #766 )
...
Update `_` variables to camelcase.
2025-07-04 05:21:39 +00:00
Twisha Bansal
cb514209b6
docs: add JS SDK to readme ( #776 )
...
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com >
2025-07-03 22:35:13 +05:30
Twisha Bansal
0a93b0482c
fix: fix docs preview deployment pipeline ( #787 )
...
The code for the preview build is now sourced from the target branch,
whereas it was previously sourced from the main branch.
2025-07-03 21:54:10 +05:30
release-please[bot]
f13e9635ba
chore(main): release 0.8.0 ( #689 )
...
🤖 I have created a release *beep* *boop*
---
##
[0.8.0](https://github.com/googleapis/genai-toolbox/compare/v0.7.0...v0.8.0 )
(2025-07-02)
### ⚠ BREAKING CHANGES
* **postgres,mssql,cloudsqlmssql:** encode source connection url for
sources ([#727 ](https://github.com/googleapis/genai-toolbox/issues/727 ))
### Features
* Add support for multiple YAML configuration files
([#760 ](https://github.com/googleapis/genai-toolbox/issues/760 ))
([40679d7 ](40679d700e ))
* Add support for optional parameters
([#617 ](https://github.com/googleapis/genai-toolbox/issues/617 ))
([4827771 ](4827771b78 )),
closes [#475 ](https://github.com/googleapis/genai-toolbox/issues/475 )
* **mcp:** Support MCP version 2025-03-26
([#755 ](https://github.com/googleapis/genai-toolbox/issues/755 ))
([474df57 ](474df57d62 ))
* **sources/http:** Support disable SSL verification for HTTP Source
([#674 ](https://github.com/googleapis/genai-toolbox/issues/674 ))
([4055b0c ](4055b0c356 ))
* **tools/bigquery:** Add templateParameters field for bigquery
([#699 ](https://github.com/googleapis/genai-toolbox/issues/699 ))
([f5f771b ](f5f771b0f3 ))
* **tools/bigtable:** Add templateParameters field for bigtable
([#692 ](https://github.com/googleapis/genai-toolbox/issues/692 ))
([1c06771 ](1c067715fa ))
* **tools/couchbase:** Add templateParameters field for couchbase
([#723 ](https://github.com/googleapis/genai-toolbox/issues/723 ))
([9197186 ](9197186b8b ))
* **tools/http:** Add support for HTTP Tool pathParams
([#726 ](https://github.com/googleapis/genai-toolbox/issues/726 ))
([fd300dc ](fd300dc606 ))
* **tools/redis:** Add Redis Source and Tool
([#519 ](https://github.com/googleapis/genai-toolbox/issues/519 ))
([f0aef29 ](f0aef29b0c ))
* **tools/spanner:** Add templateParameters field for spanner
([#691 ](https://github.com/googleapis/genai-toolbox/issues/691 ))
([075dfa4 ](075dfa47e1 ))
* **tools/sqlitesql:** Add templateParameters field for sqlitesql
([#687 ](https://github.com/googleapis/genai-toolbox/issues/687 ))
([75e254c ](75e254c0a4 ))
* **tools/valkey:** Add Valkey Source and Tool
([#532 ](https://github.com/googleapis/genai-toolbox/issues/532 ))
([054ec19 ](054ec198b9 ))
### Bug Fixes
* **bigquery,mssql:** Fix panic on tools with array param
([#722 ](https://github.com/googleapis/genai-toolbox/issues/722 ))
([7a6644c ](7a6644cf0c ))
* **postgres,mssql,cloudsqlmssql:** Encode source connection url for
sources ([#727 ](https://github.com/googleapis/genai-toolbox/issues/727 ))
([67964d9 ](67964d939f )),
closes [#717 ](https://github.com/googleapis/genai-toolbox/issues/717 )
* Set default value to field's type during unmarshalling
([#774 ](https://github.com/googleapis/genai-toolbox/issues/774 ))
([fafed24 ](fafed24858 )),
closes [#771 ](https://github.com/googleapis/genai-toolbox/issues/771 )
* **server/mcp:** Do not listen from port for stdio
([#719 ](https://github.com/googleapis/genai-toolbox/issues/719 ))
([d51dbc7 ](d51dbc759b )),
closes [#711 ](https://github.com/googleapis/genai-toolbox/issues/711 )
* **tools/mysqlexecutesql:** Handle nil panic and connection leak in
Invoke ([#757 ](https://github.com/googleapis/genai-toolbox/issues/757 ))
([7badba4 ](7badba42ee ))
* **tools/mysqlsql:** Handle nil panic and connection leak in invoke
([#758 ](https://github.com/googleapis/genai-toolbox/issues/758 ))
([cbb4a33 ](cbb4a33351 ))
---
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 <45984206+Yuan325@users.noreply.github.com >
v0.8.0
2025-07-02 09:30:33 -06:00
Yuan
fafed24858
fix: set default value to field's type during unmarshalling ( #774 )
...
When go-yaml decode into CommonParameter with Default being an any type,
int will be converted into []uint64.
It will fail the Parse() when the value is being used since it does not
belong to either of the int types.
Unmarshal `default` value into each field's type directly.
Fixes #771
2025-07-02 14:58:42 +00:00
Mend Renovate
6337434623
chore(deps): update module github.com/go-playground/validator/v10 to v10.27.0 ( #775 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/go-playground/validator/v10](https://redirect.github.com/go-playground/validator )
| `v10.26.0` -> `v10.27.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>go-playground/validator
(github.com/go-playground/validator/v10)</summary>
###
[`v10.27.0`](https://redirect.github.com/go-playground/validator/releases/tag/v10.27.0 ):
Release 10.27.0
[Compare
Source](https://redirect.github.com/go-playground/validator/compare/v10.26.0...v10.27.0 )
#### What's Changed
- Fix Release version badge on README page by
[@​nodivbyzero](https://redirect.github.com/nodivbyzero ) in
[https://github.com/go-playground/validator/pull/1406 ](https://redirect.github.com/go-playground/validator/pull/1406 )
- fix russian E.164 error message by
[@​prigornitskiy](https://redirect.github.com/prigornitskiy ) in
[https://github.com/go-playground/validator/pull/1349 ](https://redirect.github.com/go-playground/validator/pull/1349 )
- chore: remove unnecessary statement by
[@​qshuai](https://redirect.github.com/qshuai ) in
[https://github.com/go-playground/validator/pull/1200 ](https://redirect.github.com/go-playground/validator/pull/1200 )
- Re-enable several linters by
[@​nodivbyzero](https://redirect.github.com/nodivbyzero ) in
[https://github.com/go-playground/validator/pull/1412 ](https://redirect.github.com/go-playground/validator/pull/1412 )
- add support to tag validateFn by
[@​peczenyj](https://redirect.github.com/peczenyj ) in
[https://github.com/go-playground/validator/pull/1363 ](https://redirect.github.com/go-playground/validator/pull/1363 )
- Bump golang.org/x/crypto from 0.33.0 to 0.35.0 in
/\_examples/validate\_fn by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/go-playground/validator/pull/1418 ](https://redirect.github.com/go-playground/validator/pull/1418 )
- Bump golang.org/x/net from 0.34.0 to 0.38.0 in
/\_examples/validate\_fn by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/go-playground/validator/pull/1419 ](https://redirect.github.com/go-playground/validator/pull/1419 )
- Align required\_without with the contract stated in the documentation
by [@​jmfrees](https://redirect.github.com/jmfrees ) in
[https://github.com/go-playground/validator/pull/1422 ](https://redirect.github.com/go-playground/validator/pull/1422 )
- Add translation example by
[@​cxlblm](https://redirect.github.com/cxlblm ) in
[https://github.com/go-playground/validator/pull/1394 ](https://redirect.github.com/go-playground/validator/pull/1394 )
- doc(errors): mention RegisterTagNameFunc for FieldError.Field by
[@​khan-ajamal](https://redirect.github.com/khan-ajamal ) in
[https://github.com/go-playground/validator/pull/1358 ](https://redirect.github.com/go-playground/validator/pull/1358 )
- Bump golangci/golangci-lint-action from 7 to 8 by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/go-playground/validator/pull/1425 ](https://redirect.github.com/go-playground/validator/pull/1425 )
- feat(translation): add en translation for urn\_rfc2141 by
[@​ryanmalesic](https://redirect.github.com/ryanmalesic ) in
[https://github.com/go-playground/validator/pull/1431 ](https://redirect.github.com/go-playground/validator/pull/1431 )
- fix: panics when private field is validated by
[@​ykalchevskiy](https://redirect.github.com/ykalchevskiy ) in
[https://github.com/go-playground/validator/pull/1423 ](https://redirect.github.com/go-playground/validator/pull/1423 )
- Fix: support validation for map values with struct types by
[@​JunaidIslam2105](https://redirect.github.com/JunaidIslam2105 )
in
[https://github.com/go-playground/validator/pull/1433 ](https://redirect.github.com/go-playground/validator/pull/1433 )
- Omitzero does not work with slice and map bug by
[@​JunaidIslam2105](https://redirect.github.com/JunaidIslam2105 )
in
[https://github.com/go-playground/validator/pull/1436 ](https://redirect.github.com/go-playground/validator/pull/1436 )
- Fix: Validator panics when 'nil' is used along with required if for
slices and maps by
[@​JunaidIslam2105](https://redirect.github.com/JunaidIslam2105 )
in
[https://github.com/go-playground/validator/pull/1442 ](https://redirect.github.com/go-playground/validator/pull/1442 )
- docs: typos by [@​eqsdxr](https://redirect.github.com/eqsdxr ) in
[https://github.com/go-playground/validator/pull/1440 ](https://redirect.github.com/go-playground/validator/pull/1440 )
- fix: make "file://" fail `url` validation by
[@​bfabio](https://redirect.github.com/bfabio ) in
[https://github.com/go-playground/validator/pull/1444 ](https://redirect.github.com/go-playground/validator/pull/1444 )
- disable way too aggressive and disagreeable linters by
[@​deankarn](https://redirect.github.com/deankarn ) in
[https://github.com/go-playground/validator/pull/1445 ](https://redirect.github.com/go-playground/validator/pull/1445 )
- use golangci lint file for disables by
[@​deankarn](https://redirect.github.com/deankarn ) in
[https://github.com/go-playground/validator/pull/1447 ](https://redirect.github.com/go-playground/validator/pull/1447 )
#### New Contributors
- [@​prigornitskiy](https://redirect.github.com/prigornitskiy )
made their first contribution in
[https://github.com/go-playground/validator/pull/1349 ](https://redirect.github.com/go-playground/validator/pull/1349 )
- [@​qshuai](https://redirect.github.com/qshuai ) made their first
contribution in
[https://github.com/go-playground/validator/pull/1200 ](https://redirect.github.com/go-playground/validator/pull/1200 )
- [@​peczenyj](https://redirect.github.com/peczenyj ) made their
first contribution in
[https://github.com/go-playground/validator/pull/1363 ](https://redirect.github.com/go-playground/validator/pull/1363 )
- [@​jmfrees](https://redirect.github.com/jmfrees ) made their
first contribution in
[https://github.com/go-playground/validator/pull/1422 ](https://redirect.github.com/go-playground/validator/pull/1422 )
- [@​cxlblm](https://redirect.github.com/cxlblm ) made their first
contribution in
[https://github.com/go-playground/validator/pull/1394 ](https://redirect.github.com/go-playground/validator/pull/1394 )
- [@​khan-ajamal](https://redirect.github.com/khan-ajamal ) made
their first contribution in
[https://github.com/go-playground/validator/pull/1358 ](https://redirect.github.com/go-playground/validator/pull/1358 )
- [@​ryanmalesic](https://redirect.github.com/ryanmalesic ) made
their first contribution in
[https://github.com/go-playground/validator/pull/1431 ](https://redirect.github.com/go-playground/validator/pull/1431 )
- [@​ykalchevskiy](https://redirect.github.com/ykalchevskiy ) made
their first contribution in
[https://github.com/go-playground/validator/pull/1423 ](https://redirect.github.com/go-playground/validator/pull/1423 )
- [@​JunaidIslam2105](https://redirect.github.com/JunaidIslam2105 )
made their first contribution in
[https://github.com/go-playground/validator/pull/1433 ](https://redirect.github.com/go-playground/validator/pull/1433 )
- [@​eqsdxr](https://redirect.github.com/eqsdxr ) made their first
contribution in
[https://github.com/go-playground/validator/pull/1440 ](https://redirect.github.com/go-playground/validator/pull/1440 )
- [@​bfabio](https://redirect.github.com/bfabio ) made their first
contribution in
[https://github.com/go-playground/validator/pull/1444 ](https://redirect.github.com/go-playground/validator/pull/1444 )
**Full Changelog**:
https://github.com/go-playground/validator/compare/v10.26.0...v10.27.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-07-02 05:32:35 +00:00
Mend Renovate
822708afaa
chore(deps): update module cloud.google.com/go/bigtable to v1.38.0 ( #773 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/bigtable](https://redirect.github.com/googleapis/google-cloud-go )
| `v1.37.0` -> `v1.38.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-07-02 05:14:59 +00:00
Yuan
010c278cbf
chore: release 0.8.0 ( #769 )
...
Release-As: 0.8.0
2025-06-30 18:32:48 +00:00
Mohd Mujtaba
40679d700e
feat: add support for multiple YAML configuration files ( #760 )
...
# Add Multiple YAML Configuration File Support
## 🎯 Overview
This PR introduces support for loading and merging multiple YAML
configuration files in Toolbox, addressing the need for modular
configuration management in complex deployments.
## ✨ New Features
### 1. Multiple Files Support (`--tools-files`)
- **Usage**: `--tools-files=file1.yaml,file2.yaml,file3.yaml`
- Load and intelligently merge multiple YAML configuration files
- Comma-separated file paths for maximum flexibility
### 2. Directory Support (`--tools-folder`)
- **Usage**: `--tools-folder=config-directory`
- Automatically discover and load all `.yaml` and `.yml` files from a
directory
- Simplifies configuration management for organized deployments
### 3. Smart Merging Logic
- **Sources/AuthServices/Tools**: Later files override earlier files
with same names
- **Toolsets**: Tools from same-named toolsets are combined without
duplicates
- Preserves all existing functionality while enabling composition
## 🔒 Safety & Validation
- **Mutual Exclusivity**: Prevents simultaneous use of `--tools-file`,
`--tools-files`, `--tools-folder`, and `--prebuilt`
- **Clear Error Messages**: Descriptive validation errors guide users to
correct usage
- **Comprehensive Error Handling**: Proper handling of missing files,
directories, and parsing errors
- **Full Backward Compatibility**: Existing configurations continue to
work unchanged
## 🏗️ Implementation Details
### Core Functions Added
- `mergeToolsFiles()` - Smart merging with configurable override rules
- `loadAndMergeToolsFiles()` - Multi-file loading and processing
- `loadAndMergeToolsFolder()` - Directory scanning and batch loading
### Command Structure Updates
- New `tools_files []string` field for multiple file paths
- New `tools_folder string` field for directory path
- Enhanced validation logic in `run()` function
- Updated flag definitions with proper descriptions
## 📋 Use Cases
### Organizational Benefits
- **Modular Configuration**: Separate database, API, and auth
configurations
- **Team Collaboration**: Multiple developers can work on different
config files
- **Environment Management**: Easy configuration swapping for different
environments
- **Scalability**: Large configurations can be broken into manageable
chunks
### Example Usage Patterns
```bash
# Multiple specific files
./toolbox --tools-files=database.yaml,apis.yaml,auth.yaml
# Directory-based loading
./toolbox --tools-folder=./production-configs
# Error case (properly handled)
./toolbox --tools-file=single.yaml --tools-folder=configs
# ERROR: --tools-file, --tools-files, and --tools-folder flags cannot be used simultaneously
---------
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com >
2025-06-30 14:00:49 -04:00
Mend Renovate
5fb056ee43
chore(deps): update module github.com/microsoft/go-mssqldb to v1.9.2 ( #767 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/microsoft/go-mssqldb](https://redirect.github.com/microsoft/go-mssqldb )
| `v1.9.1` -> `v1.9.2` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>
###
[`v1.9.2`](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.9.1...v1.9.2 )
[Compare
Source](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.9.1...v1.9.2 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-30 17:06:28 +00:00
Wenxin Du
a1b60100c2
chore: Group tools by type ( #743 )
...
Group tools of the same type into the same folder so that they are more
discoverable and our tools are more organized as the number grows.
2025-06-30 11:37:48 -04:00
Mend Renovate
cb92883330
chore(deps): update module cloud.google.com/go/spanner to v1.83.0 ( #763 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/spanner](https://redirect.github.com/googleapis/google-cloud-go )
| `v1.82.0` -> `v1.83.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-27 19:06:39 +00:00
Mend Renovate
bd2f1956bd
chore(deps): update module github.com/valkey-io/valkey-go to v1.0.62 ( #762 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/valkey-io/valkey-go](https://redirect.github.com/valkey-io/valkey-go )
| `v1.0.61` -> `v1.0.62` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>valkey-io/valkey-go (github.com/valkey-io/valkey-go)</summary>
###
[`v1.0.62`](https://redirect.github.com/valkey-io/valkey-go/releases/tag/v1.0.62 ):
1.0.62
[Compare
Source](https://redirect.github.com/valkey-io/valkey-go/compare/v1.0.61...v1.0.62 )
### Changes
- feat: support the SendToReplicas option in the Sentinel client.
- feat: deterministic SendToReplicas routing in the Cluster client.
- perf: changed atomic.Value to atomic.Pointer in the pipe.
- docs: fix typos and spellings.
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@​PingXie](https://redirect.github.com/PingXie ),
[@​jsoref](https://redirect.github.com/jsoref ),
[@​nithinputhenveettil](https://redirect.github.com/nithinputhenveettil ),
[@​proost](https://redirect.github.com/proost ) and
[@​rueian](https://redirect.github.com/rueian )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-27 12:32:36 -04:00
Yuan
cbb4a33351
fix(tools/mysqlsql): Handle nil panic and connection leak in invoke ( #758 )
...
Copy fix from #757 .
The Invoke function had two bugs:
A panic would occur when scanning a row containing a NULL value in a
TEXT or VARCHAR column. The code did not check for nil before attempting
a type assertion on the scanned value.
The *sql.Rows result was not being closed on all code paths, leading to
connection leaks that could exhaust the database connection pool.
This change corrects both issues. A guard clause now checks for nil
values before processing, and rows.Close() is deferred to guarantee the
connection is released.
2025-06-26 20:54:59 +00:00
megatron0000
7badba42ee
fix(tools/mysqlexecutesql): Handle nil panic and connection leak in Invoke ( #757 )
...
The Invoke function had two bugs:
1. A panic would occur when scanning a row containing a NULL value in a
TEXT or VARCHAR column. The code did not check for nil before attempting
a type assertion on the scanned value.
2. The *sql.Rows result was not being closed on all code paths, leading
to connection leaks that could exhaust the database connection pool.
This change corrects both issues. A guard clause now checks for nil
values before processing, and rows.Close() is deferred to guarantee the
connection is released.
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com >
2025-06-26 13:12:45 -07:00
Twisha Bansal
f72e426314
docs: fix grammar ( #751 )
2025-06-26 10:40:15 +05:30
Wenxin Du
7a6644cf0c
fix(bigquery,mssql): fix panic on tools with array param ( #722 )
...
Fix: https://github.com/googleapis/genai-toolbox/issues/701
Things done:
1. Replace the `AsReversedMap()` helper with `AsMap()`
2. BigQuery's QueryParameter only accepts typed slices as input, but our
arrays are passed in as []any. Therefore, add a logic to convert []any
to a typed array based on the item type.
Tested on MCP inspector:
<img width="409" alt="Screenshot 2025-06-16 at 5 15 55 PM"
src="https://github.com/user-attachments/assets/8053cad5-270e-4d82-b97c-856238c42154 "
/>
---------
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com >
2025-06-25 22:54:26 -04:00
Mend Renovate
184c681797
chore(deps): update module google.golang.org/api to v0.239.0 ( #754 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client )
| `v0.238.0` -> `v0.239.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>
###
[`v0.239.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.239.0 )
[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.238.0...v0.239.0 )
##### Features
- **all:** Auto-regenerate discovery clients
([#​3199](https://redirect.github.com/googleapis/google-api-go-client/issues/3199 ))
([2bdd042](2bdd042ac9 ))
- **all:** Auto-regenerate discovery clients
([#​3201](https://redirect.github.com/googleapis/google-api-go-client/issues/3201 ))
([8eff56f](8eff56f43f ))
- **all:** Auto-regenerate discovery clients
([#​3202](https://redirect.github.com/googleapis/google-api-go-client/issues/3202 ))
([f7c299e](f7c299e9c0 ))
- **all:** Auto-regenerate discovery clients
([#​3203](https://redirect.github.com/googleapis/google-api-go-client/issues/3203 ))
([459c5a8](459c5a8db5 ))
- **all:** Auto-regenerate discovery clients
([#​3205](https://redirect.github.com/googleapis/google-api-go-client/issues/3205 ))
([ca610d5](ca610d5390 ))
- **all:** Auto-regenerate discovery clients
([#​3206](https://redirect.github.com/googleapis/google-api-go-client/issues/3206 ))
([98b7398](98b739881e ))
- **all:** Auto-regenerate discovery clients
([#​3207](https://redirect.github.com/googleapis/google-api-go-client/issues/3207 ))
([71fe287](71fe287d9c ))
- **all:** Auto-regenerate discovery clients
([#​3209](https://redirect.github.com/googleapis/google-api-go-client/issues/3209 ))
([27d1aa4](27d1aa43d1 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com >
2025-06-26 01:26:08 +00:00
Yuan
474df57d62
feat: support MCP version 2025-03-26 ( #755 )
...
This feature includes the following:
* Implement initialize lifecycle (including version negotiation)
* Add the v20250326 schema
* Supporting the `DELETE` and `GET` endpoint for MCP.
* Supporting streamable HTTP (without SSE).
* Terminating sessions after timeout (default = 10 minutes from last
active).
* Toolbox do not support batch request. Will response with `Invalid
requests` if batch requests is received.
2025-06-26 00:34:37 +00:00
Wenxin Du
fc1a3813ea
ci: Add integration test coverage by source ( #742 )
...
Add a script for checking coverage for each source package with its
compatible tools.
Fail with coverage under 50%
2025-06-25 15:07:00 -04:00
Yuan
c7fe3c7f38
docs: fix linting in docs ( #749 )
...
Fix long lines and table column width lints in docs.
2025-06-25 17:03:42 +00:00
Anubhav Dhawan
dc2690bd39
docs: Document correct syntax for array parameters in SQL queries ( #750 )
...
## Problem
Users attempting to filter results in a SQL query based on an array
parameter from a tool may intuitively write a `statement` using the `IN`
clause, like so:
```sql
SELECT * FROM flights WHERE preferred_airlines IN ($1);
```
When this query is executed with an array argument (e.g., `["Delta",
"United"]`), it fails with a cryptic error message from the database
driver:
```
Exception: error while invoking tool: unable to execute query: failed to encode args[0]: unable to encode []interface {}{"Delta", "United"} into text format for text (OID 25): cannot find encode plan
```
This error occurs because the driver does not automatically expand the
single `$1` placeholder into a list of values `('Delta', 'United')`.
Instead, it tries to encode the entire Go slice `[]interface{}` as a
single text value, which fails. This creates a point of friction, as the
correct syntax is not immediately obvious and can lead to user
frustration and debugging time.
## Solution
This PR updates our documentation and example usage to demonstrate the
correct SQL syntax for handling array parameters. The proper way to
check for a value's existence in an array parameter is by using
PostgreSQL's `ANY()` operator:
```sql
SELECT * FROM flights WHERE preferred_airlines = ANY($1);
```
When this syntax is used, the database driver correctly interprets the
Go slice passed as `$1` as a PostgreSQL array, and the query executes as
intended.
## Impact
Saves developers time they would otherwise spend troubleshooting a
non-obvious database driver behavior.
2025-06-25 20:32:30 +05:30
Mend Renovate
b78f7480cf
chore(deps): update module github.com/microsoft/go-mssqldb to v1.9.1 ( #746 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/microsoft/go-mssqldb](https://redirect.github.com/microsoft/go-mssqldb )
| `v1.8.2` -> `v1.9.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>
###
[`v1.9.1`](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.9.0...v1.9.1 )
[Compare
Source](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.9.0...v1.9.1 )
###
[`v1.9.0`](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.8.2...v1.9.0 )
[Compare
Source](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.8.2...v1.9.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com >
2025-06-24 23:38:49 +00:00
Mend Renovate
ffe9b74211
chore(deps): update module github.com/redis/go-redis/v9 to v9.11.0 ( #745 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/redis/go-redis/v9](https://redirect.github.com/redis/go-redis )
| `v9.10.0` -> `v9.11.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>redis/go-redis (github.com/redis/go-redis/v9)</summary>
###
[`v9.11.0`](https://redirect.github.com/redis/go-redis/releases/tag/v9.11.0 ):
9.11.0
[Compare
Source](https://redirect.github.com/redis/go-redis/compare/v9.10.0...v9.11.0 )
#### 🚀 Highlights
Fixes `TxPipeline` to work correctly in cluster scenarios, allowing
execution of commands
only in the same slot for a given transaction.
### Changes
#### 🚀 New Features
- Set cluster slot for `scan` commands, rather than random
([#​2623](https://redirect.github.com/redis/go-redis/pull/2623 ))
- Add CredentialsProvider field to UniversalOptions
([#​2927](https://redirect.github.com/redis/go-redis/pull/2927 ))
- feat(redisotel): add WithCallerEnabled option
([#​3415](https://redirect.github.com/redis/go-redis/pull/3415 ))
#### 🐛 Bug Fixes
- fix(txpipeline): keyless commands should take the slot of the keyed
([#​3411](https://redirect.github.com/redis/go-redis/pull/3411 ))
- fix(loading): cache the loaded flag for slave nodes
([#​3410](https://redirect.github.com/redis/go-redis/pull/3410 ))
- fix(txpipeline): should return error on multi/exec on multiple slots
([#​3408](https://redirect.github.com/redis/go-redis/pull/3408 ))
- fix: check if the shard exists to avoid returning nil
([#​3396](https://redirect.github.com/redis/go-redis/pull/3396 ))
#### 🧰 Maintenance
- feat: optimize connection pool waitTurn
([#​3412](https://redirect.github.com/redis/go-redis/pull/3412 ))
- chore(ci): update CI redis builds
([#​3407](https://redirect.github.com/redis/go-redis/pull/3407 ))
- chore: remove a redundant method from `Ring`, `Client` and
`ClusterClient`
([#​3401](https://redirect.github.com/redis/go-redis/pull/3401 ))
- test: refactor TestBasicCredentials using table-driven tests
([#​3406](https://redirect.github.com/redis/go-redis/pull/3406 ))
- perf: reduce unnecessary memory allocation operations
([#​3399](https://redirect.github.com/redis/go-redis/pull/3399 ))
- fix: insert entry during iterating over a map
([#​3398](https://redirect.github.com/redis/go-redis/pull/3398 ))
- DOC-5229 probabilistic data type examples
([#​3413](https://redirect.github.com/redis/go-redis/pull/3413 ))
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.49.0 to
0.51.0
([#​3414](https://redirect.github.com/redis/go-redis/pull/3414 ))
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@​andy-stark-redis](https://redirect.github.com/andy-stark-redis ),
[@​boekkooi-impossiblecloud](https://redirect.github.com/boekkooi-impossiblecloud ),
[@​cxljs](https://redirect.github.com/cxljs ),
[@​dcherubini](https://redirect.github.com/dcherubini ),
[@​iamamirsalehi](https://redirect.github.com/iamamirsalehi ),
[@​ndyakov](https://redirect.github.com/ndyakov ),
[@​pete-woods](https://redirect.github.com/pete-woods ),
[@​twz915](https://redirect.github.com/twz915 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com >
2025-06-24 23:27:34 +00:00
Averi Kitsch
e1355660d4
chore: Update Developer and Contributing docs ( #738 )
...
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com >
2025-06-24 13:58:47 -07:00
Twisha Bansal
d8e2abe2dd
fix: fix adk quickstart ( #741 )
2025-06-24 12:04:11 +05:30
Twisha Bansal
7b3539e9ff
chore: reorder quickstart ( #740 )
...
Reorder quickstart.
Order from
`GoogleGenAI -> ADK -> Langchain -> Llamaindex`
to
`ADK -> Langchain -> Llamaindex -> GoogleGenAI`
2025-06-24 11:55:01 +05:30
Wenxin Du
1d658c3b14
docs: Add guide for writing integration tests ( #737 )
...
Detailed instruction for writing integration tests.
2025-06-23 09:36:46 -07:00
Wenxin Du
fd300dc606
feat: Add support for HTTP Tool pathParams ( #726 )
...
Allow users to specify dynamic path for HTTP tools.
fix: https://github.com/googleapis/genai-toolbox/issues/680
2025-06-20 14:53:49 -04:00