Compare commits

...

291 Commits
v0.2.0 ... blog

Author SHA1 Message Date
Wenxin Du
e26368b88e Merge branch 'main' into blog 2025-06-23 12:57:35 -04:00
duwenxin
1d5a8986e2 rename file 2025-06-23 12:57:16 -04:00
Wenxin Du
7b571b17e3 Update docs/en/about/contactus.md
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-06-23 12:55:36 -04:00
Wenxin Du
c2b3f5df19 Update docs/en/about/contactus.md
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-06-23 12:55:28 -04:00
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
duwenxin
1dd567f430 nit 2025-06-20 19:44:44 -04:00
duwenxin
6c13e8fa9b docs: Add blogs and contacts instruction to doc page 2025-06-20 19:42:22 -04: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
Yuan
4827771b78 feat: add support for optional parameters (#617)
Add a `default` field to parameters, that enables users to specify a
default value.

e.g.

```
  parameters:
    - name: name
      type: string
      default: "some-default-value"
      description: The name of the hotel.
```
if this parameter is invoked without specifying `name`, the parameter
would default to "some-default-value"


For parameter manifest, there will be an additional `Required` field.
The default `Required` field is true. If a `default` value is presented,
`Required: false`. Array parameter's item's `Required` field will
inherit the array's `Required` field.

Fixes #475
2025-06-20 10:46:59 -07:00
dependabot[bot]
a8df414b11 chore(deps): bump github.com/go-chi/chi/v5 from 5.2.1 to 5.2.2 (#734)
Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from
5.2.1 to 5.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/go-chi/chi/releases">github.com/go-chi/chi/v5's
releases</a>.</em></p>
<blockquote>
<h2>v5.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Use strings.Cut in a few places by <a
href="https://github.com/JRaspass"><code>@​JRaspass</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/971">go-chi/chi#971</a></li>
<li>Fix non-constant format strings in t.Fatalf by <a
href="https://github.com/JRaspass"><code>@​JRaspass</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/972">go-chi/chi#972</a></li>
<li>Apply fieldalignment fixes to optimize struct memory layout by <a
href="https://github.com/pixel365"><code>@​pixel365</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/974">go-chi/chi#974</a></li>
<li>go 1.24 by <a
href="https://github.com/pkieltyka"><code>@​pkieltyka</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/977">go-chi/chi#977</a></li>
<li>chore: delint ioutil usage by <a
href="https://github.com/costela"><code>@​costela</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/962">go-chi/chi#962</a></li>
<li>Fixed typo in Router interface definition by <a
href="https://github.com/mithileshgupta12"><code>@​mithileshgupta12</code></a>
in <a
href="https://redirect.github.com/go-chi/chi/pull/958">go-chi/chi#958</a></li>
<li>Add support for TinyGo by <a
href="https://github.com/efraimbart"><code>@​efraimbart</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/978">go-chi/chi#978</a></li>
<li>Exclude middleware/profiler.go in TinyGo, as there's no
net/http/pprof pkg by <a
href="https://github.com/cxjava"><code>@​cxjava</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/982">go-chi/chi#982</a></li>
<li>Make use of strings.Cut by <a
href="https://github.com/scop"><code>@​scop</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/1005">go-chi/chi#1005</a></li>
<li>Change install command format to code block by <a
href="https://github.com/sglkc"><code>@​sglkc</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/1001">go-chi/chi#1001</a></li>
<li>Correct documentation by <a
href="https://github.com/mrdomino"><code>@​mrdomino</code></a> in <a
href="https://redirect.github.com/go-chi/chi/pull/992">go-chi/chi#992</a></li>
</ul>
<h2>Security fix</h2>
<ul>
<li>Fixes <a
href="https://github.com/go-chi/chi/security/advisories/GHSA-vrw8-fxc6-2r93">GHSA-vrw8-fxc6-2r93</a>
- &quot;Host Header Injection Leads to Open Redirect in
RedirectSlashes&quot; <a
href="1be7ad938c">commit</a>
<ul>
<li>a lower-severity Open Redirect that can't be exploited in browser or
email client, as it requires manipulation of a Host header</li>
<li>reported by Anuraag Baishya, <a
href="https://github.com/anuraagbaishya"><code>@​anuraagbaishya</code></a>.
Thank you!</li>
</ul>
</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/pixel365"><code>@​pixel365</code></a>
made their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/974">go-chi/chi#974</a></li>
<li><a
href="https://github.com/mithileshgupta12"><code>@​mithileshgupta12</code></a>
made their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/958">go-chi/chi#958</a></li>
<li><a
href="https://github.com/efraimbart"><code>@​efraimbart</code></a> made
their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/978">go-chi/chi#978</a></li>
<li><a href="https://github.com/cxjava"><code>@​cxjava</code></a> made
their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/982">go-chi/chi#982</a></li>
<li><a href="https://github.com/sglkc"><code>@​sglkc</code></a> made
their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/1001">go-chi/chi#1001</a></li>
<li><a href="https://github.com/mrdomino"><code>@​mrdomino</code></a>
made their first contribution in <a
href="https://redirect.github.com/go-chi/chi/pull/992">go-chi/chi#992</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-chi/chi/compare/v5.2.1...v5.2.2">https://github.com/go-chi/chi/compare/v5.2.1...v5.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="23c395f852"><code>23c395f</code></a>
Correct documentation (<a
href="https://redirect.github.com/go-chi/chi/issues/992">#992</a>)</li>
<li><a
href="5516d147c1"><code>5516d14</code></a>
docs: change install code to code block (<a
href="https://redirect.github.com/go-chi/chi/issues/1001">#1001</a>)</li>
<li><a
href="e235052c10"><code>e235052</code></a>
Make use of strings.Cut (<a
href="https://redirect.github.com/go-chi/chi/issues/1005">#1005</a>)</li>
<li><a
href="1be7ad938c"><code>1be7ad9</code></a>
Merge commit from fork</li>
<li><a
href="d7034fdfda"><code>d7034fd</code></a>
Exclude profiler when use tinygo (<a
href="https://redirect.github.com/go-chi/chi/issues/982">#982</a>)</li>
<li><a
href="d04703412f"><code>d047034</code></a>
support tinygo (<a
href="https://redirect.github.com/go-chi/chi/issues/978">#978</a>)</li>
<li><a
href="fe2c065bc0"><code>fe2c065</code></a>
Fixed the typo (<a
href="https://redirect.github.com/go-chi/chi/issues/958">#958</a>)</li>
<li><a
href="1aae5b2d2d"><code>1aae5b2</code></a>
chore: delint ioutil usage (<a
href="https://redirect.github.com/go-chi/chi/issues/962">#962</a>)</li>
<li><a
href="c6225e35a4"><code>c6225e3</code></a>
go 1.24 (<a
href="https://redirect.github.com/go-chi/chi/issues/977">#977</a>)</li>
<li><a
href="e846b8304c"><code>e846b83</code></a>
Apply fieldalignment fixes to optimize struct memory layout (<a
href="https://redirect.github.com/go-chi/chi/issues/974">#974</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/go-chi/chi/compare/v5.2.1...v5.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-chi/chi/v5&package-manager=go_modules&previous-version=5.2.1&new-version=5.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/googleapis/genai-toolbox/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 17:29:12 +00:00
Yuan
0bf4ebabf1 ci: increase releases vCPU (#731)
As Toolbox add more dependencies, the release time is taking longer (due
to longer binary building time). This PR increases vCPU for the
continuous release and versioned release.
2025-06-19 23:14:51 -07:00
Yuan
67964d939f fix(postgres,mssql,cloudsqlmssql)!: encode source connection url for sources (#727)
Have to encode special character in connection url. Only needed for
`postgres`, `mssql`, `cloud-sql-mssql` sources.

Fixes #717
2025-06-18 15:32:46 -07:00
Mend Renovate
f77c829271 chore(deps): update module google.golang.org/api to v0.238.0 (#728)
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.237.0` -> `v0.238.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.238.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.238.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.237.0/v0.238.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.237.0/v0.238.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.238.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.238.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.237.0...v0.238.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3192](https://redirect.github.com/googleapis/google-api-go-client/issues/3192))
([3ad3118](3ad311895f))
- **all:** Auto-regenerate discovery clients
([#&#8203;3196](https://redirect.github.com/googleapis/google-api-go-client/issues/3196))
([8cb55ce](8cb55ce504))
- **all:** Auto-regenerate discovery clients
([#&#8203;3197](https://redirect.github.com/googleapis/google-api-go-client/issues/3197))
([98994c4](98994c4004))
- **all:** Auto-regenerate discovery clients
([#&#8203;3198](https://redirect.github.com/googleapis/google-api-go-client/issues/3198))
([5824597](582459736e))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC41MC4wIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-18 21:52:47 +00:00
Mend Renovate
d2977ed1ba chore(deps): update module github.com/googlecloudplatform/opentelemetry-operations-go/exporter/metric to v0.53.0 (#729)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go)
| `v0.52.0` -> `v0.53.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.52.0/v0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.52.0/v0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-go
(github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric)</summary>

###
[`v0.53.0`](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/releases/tag/v0.53.0):
v1.29.0/v0.53.0

[Compare
Source](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/v0.52.0...v0.53.0)

##### What's Changed

- exporter/metric: add WithMetricClient option by
[@&#8203;enocom](https://redirect.github.com/enocom) in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1033](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1033)
- go.mod: use go 1.23 by
[@&#8203;braydonk](https://redirect.github.com/braydonk) in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1048](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1048)

##### New Contributors

- [@&#8203;enocom](https://redirect.github.com/enocom) made their first
contribution in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1033](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1033)

**Full Changelog**:
https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/v0.52.0...v0.53.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:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-18 21:47:07 +00:00
Mend Renovate
52e8bf4de1 chore(deps): update module github.com/googlecloudplatform/opentelemetry-operations-go/exporter/trace to v1.29.0 (#730)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go)
| `v1.28.0` -> `v1.29.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.28.0/v1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.28.0/v1.29.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-18 21:40:08 +00:00
Yuan
a3aaf93525 docs: update template parameter docs for tools (#706)
documentation for #535
2025-06-18 14:34:41 -07:00
AlexTalreja
9197186b8b feat(tools/couchbase): add templateParameters field for couchbase (#723)
Add templateParameters to support non-filter parameters and DDL
statements.

Part of https://github.com/googleapis/genai-toolbox/issues/535
2025-06-18 21:27:41 +00:00
Yuan
e3844ff76d ci: add macos and windows unit tests (#675) 2025-06-18 14:22:00 -07:00
Yuan
ef6e3f1c32 chore: support linux/arm64 platform for Docker (#724)
Built Toolbox as a multi-platform container.

Fix #686
2025-06-18 18:49:00 +00:00
Yuan
f5f771b0f3 feat(tools/bigquery): add templateParameters field for bigquery (#699)
Add templateParameters to support non-filter parameters and DDL
statements.

Part of #535
2025-06-18 10:19:23 -07:00
Yuan
12b6636a9b refactor: update template param integration test to use options (#707) 2025-06-18 17:00:47 +00:00
Yuan
d51dbc759b fix: do not listen from port for stdio (#719)
Fix #711
2025-06-17 11:35:04 -07:00
Wenxin Du
4055b0c356 feat: Support disable SSL verification for HTTP Source (#674)
Fix issue: https://github.com/googleapis/genai-toolbox/issues/661
2025-06-16 17:22:09 -04:00
Yuan
65dba4cabc chore: update to get version from ServerConfig (#718) 2025-06-16 11:26:51 -07:00
Mend Renovate
447cda2daf chore(deps): update module google.golang.org/api to v0.237.0 (#710)
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.236.0` -> `v0.237.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.237.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.237.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.236.0/v0.237.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.236.0/v0.237.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.237.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.237.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.236.0...v0.237.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3182](https://redirect.github.com/googleapis/google-api-go-client/issues/3182))
([bb1dc77](bb1dc7764b))
- **all:** Auto-regenerate discovery clients
([#&#8203;3184](https://redirect.github.com/googleapis/google-api-go-client/issues/3184))
([7c6dc44](7c6dc440ad))
- **all:** Auto-regenerate discovery clients
([#&#8203;3185](https://redirect.github.com/googleapis/google-api-go-client/issues/3185))
([ea78c84](ea78c84457))
- **all:** Auto-regenerate discovery clients
([#&#8203;3186](https://redirect.github.com/googleapis/google-api-go-client/issues/3186))
([5f2f220](5f2f220ef6))
- **all:** Auto-regenerate discovery clients
([#&#8203;3187](https://redirect.github.com/googleapis/google-api-go-client/issues/3187))
([ec0e2c4](ec0e2c41f2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3189](https://redirect.github.com/googleapis/google-api-go-client/issues/3189))
([a03f9f0](a03f9f0966))
- **all:** Auto-regenerate discovery clients
([#&#8203;3190](https://redirect.github.com/googleapis/google-api-go-client/issues/3190))
([0022bde](0022bde6ee))
- **all:** Auto-regenerate discovery clients
([#&#8203;3191](https://redirect.github.com/googleapis/google-api-go-client/issues/3191))
([1540497](1540497246))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC41MC4wIiwidXBkYXRlZEluVmVyIjoiNDAuNTAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-13 14:05:16 -07:00
Mend Renovate
c54ef61fc6 chore(deps): update module github.com/go-sql-driver/mysql to v1.9.3 (#709)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/go-sql-driver/mysql](https://redirect.github.com/go-sql-driver/mysql)
| `v1.9.2` -> `v1.9.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.9.2/v1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.9.2/v1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary>

###
[`v1.9.3`](https://redirect.github.com/go-sql-driver/mysql/releases/tag/v1.9.3)

[Compare
Source](https://redirect.github.com/go-sql-driver/mysql/compare/v1.9.2...v1.9.3)

#### What's Changed

- \[1.9] test stability improvement. by
[@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1699](https://redirect.github.com/go-sql-driver/mysql/pull/1699)
- \[1.9] Transaction Commit/Rollback returns conn's cached error by
[@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1702](https://redirect.github.com/go-sql-driver/mysql/pull/1702)
- backport benchmark_test by
[@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1706](https://redirect.github.com/go-sql-driver/mysql/pull/1706)
- \[1.9] optimize readPacket
([#&#8203;1705](https://redirect.github.com/go-sql-driver/mysql/issues/1705))
by [@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1707](https://redirect.github.com/go-sql-driver/mysql/pull/1707)
- \[1.9] fix PING on compressed connections by
[@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1723](https://redirect.github.com/go-sql-driver/mysql/pull/1723)
- release v1.9.3 by
[@&#8203;methane](https://redirect.github.com/methane) in
[https://github.com/go-sql-driver/mysql/pull/1725](https://redirect.github.com/go-sql-driver/mysql/pull/1725)

**Full Changelog**:
https://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.9.3

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC41MC4wIiwidXBkYXRlZEluVmVyIjoiNDAuNTAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-13 17:42:24 +00:00
Mend Renovate
eb98cdc7d1 chore(deps): update module github.com/redis/go-redis/v9 to v9.10.0 (#700)
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.9.0` -> `v9.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fredis%2fgo-redis%2fv9/v9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fredis%2fgo-redis%2fv9/v9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fredis%2fgo-redis%2fv9/v9.9.0/v9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fredis%2fgo-redis%2fv9/v9.9.0/v9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>redis/go-redis (github.com/redis/go-redis/v9)</summary>

###
[`v9.10.0`](https://redirect.github.com/redis/go-redis/releases/tag/v9.10.0):
9.10.0

[Compare
Source](https://redirect.github.com/redis/go-redis/compare/v9.9.0...v9.10.0)

Experimental support for [vector
sets](https://redis.io/docs/latest/develop/data-types/vector-sets/)!

#### 🚀 Highlights

`go-redis` now supports [vector
sets](https://redis.io/docs/latest/develop/data-types/vector-sets/).
This data type is marked as "in preview" in Redis and its support in
`go-redis` is marked as experimental. You can find examples in the
documentation and in the `doctests` folder.

### Changes

#### 🚀 New Features

- feat: support vectorset
([#&#8203;3375](https://redirect.github.com/redis/go-redis/pull/3375))
[@&#8203;fukua95](https://redirect.github.com/fukua95)

#### 🧰 Maintenance

- Add the missing NewFloatSliceResult for testing
([#&#8203;3393](https://redirect.github.com/redis/go-redis/pull/3393))
- DOC-5078 vector set examples
([#&#8203;3394](https://redirect.github.com/redis/go-redis/pull/3394))

#### Contributors

We'd like to thank all the contributors who worked on this release!


[@&#8203;AndBobsYourUncle](https://redirect.github.com/AndBobsYourUncle),
[@&#8203;andy-stark-redis](https://redirect.github.com/andy-stark-redis),
[@&#8203;fukua95](https://redirect.github.com/fukua95) and
[@&#8203;ndyakov](https://redirect.github.com/ndyakov)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNTAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-12 14:38:03 -07:00
Yuan
1c067715fa feat(tools/bigtable): add templateParameters field for bigtable (#692)
Add templateParameters to support non-filter parameters and DDL
statements.

Added a new argument `ignoreInsert` at integration test. Bigtable only
allow `SELECT` statement. This is used to filter insert statement for
bigtable.

Part of #535
2025-06-12 21:18:32 +00:00
Averi Kitsch
cb87f765a6 docs: redirect dev assist docs to official cloud documentation (#676) 2025-06-12 21:09:51 +00:00
Kurtis Van Gent
a982314900 chore(ci/cd): add bigquery folks to blunderbuss (#705)
Adds the BigQuery folks to the blunderbuss config. Blunderbuss will
randomly assign one of the listed folks when 'product: bigquery' label
is added.
2025-06-12 14:56:18 -06:00
Wenxin Du
054ec198b9 feat: Add Valkey Source and Tool (#532) 2025-06-11 23:17:32 -04:00
Wenxin Du
f0aef29b0c feat: Add Redis Source and Tool (#519)
1. Added Redis Source and Tool
2. Moved some integration test helpers from tools.go to common.go
3. Make auth integration test want an input variable
2025-06-11 22:47:27 -04:00
Yuan
075dfa47e1 feat(tools/spanner): add templateParameters field for spanner (#691)
Add `templateParameters` to support non-filter parameters and DDL
statements.

Added a new argument `ignoreDdl` at integration test. Admin client is
needed to execute ddl statement in spanner. Toolbox does not use admin
client.

Part of #535
2025-06-11 23:54:13 +00:00
Mend Renovate
ad62d14cd5 chore(deps): update module cloud.google.com/go/cloudsqlconn to v1.17.2 (#694)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/cloudsqlconn](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector)
| `v1.17.1` -> `v1.17.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.1/v1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.1/v1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/cloud-sql-go-connector
(cloud.google.com/go/cloudsqlconn)</summary>

###
[`v1.17.2`](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/releases/tag/v1.17.2)

[Compare
Source](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector/compare/v1.17.1...v1.17.2)

##### Bug Fixes

- reduce the number of memory allocations and the latency overhead.
([#&#8203;983](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/983))
([cb641f2](cb641f223e))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNDguNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-11 21:40:22 +00:00
Wenxin Du
5d183b0efe ci: Enable label-controlled docs preview (#516)
Allow external contributors to preview doc changes
2025-06-11 17:33:36 -04:00
Mend Renovate
904d04bc45 chore(deps): update module cloud.google.com/go/alloydbconn to v1.15.3 (#698)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/alloydbconn](https://redirect.github.com/googlecloudplatform/alloydb-go-connector)
| `v1.15.2` -> `v1.15.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2falloydbconn/v1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2falloydbconn/v1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2falloydbconn/v1.15.2/v1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2falloydbconn/v1.15.2/v1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/alloydb-go-connector
(cloud.google.com/go/alloydbconn)</summary>

###
[`v1.15.3`](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/releases/tag/v1.15.3)

[Compare
Source](https://redirect.github.com/googlecloudplatform/alloydb-go-connector/compare/v1.15.2...v1.15.3)

##### Bug Fixes

- reduce the number of memory allocations and latency overhead
([#&#8203;686](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/issues/686))
([274ce04](274ce04953))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNDguNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-11 14:20:50 -07:00
AlexTalreja
75e254c0a4 feat(tools/sqlitesql): add templateParameters field for sqlitesql (#687)
Add templateParameters to support non-filter parameters and DDL
statements.

Part of https://github.com/googleapis/genai-toolbox/issues/535
2025-06-10 13:08:52 -07:00
Yuan
850b32c5b0 docs(tools/alloydbainl): update broken links (#688)
Fixes #631
2025-06-10 11:25:12 -07:00
Anubhav Dhawan
927ef3c508 docs: Add toolbox-core examples to quickstart guide (#642)
## Description
This PR enhances our documentation by integrating `toolbox-core` code
snippets into the quickstart examples on the docsite.

## Context
Previously, our client-facing documentation primarily showcased agent
implementations using third-party frameworks like LangChain, LlamaIndex,
and ADK. This created a documentation gap, as there were no baseline
examples demonstrating how to use our foundational `toolbox-core` SDK
directly. Users who wanted to build a custom integration without a
specific framework had no direct reference in the guides.

## Changes
This PR introduces a new "Core" tab to all relevant code examples within
the auth services and local quickstart (with BigQuery) documentations.

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-10 18:30:39 +05:30
Yuan
15d3c45159 ci: update generate release table shell script (#685) 2025-06-09 21:32:51 -07:00
release-please[bot]
714d990c34 chore(main): release 0.7.0 (#640)
🤖 I have created a release *beep* *boop*
---


##
[0.7.0](https://github.com/googleapis/genai-toolbox/compare/v0.6.0...v0.7.0)
(2025-06-10)


### Features

* Add templateParameters field for mssqlsql
([#671](https://github.com/googleapis/genai-toolbox/issues/671))
([b81fc6a](b81fc6aa6c))
* Add templateParameters field for mysqlsql
([#663](https://github.com/googleapis/genai-toolbox/issues/663))
([0a08d2c](0a08d2c15d))
* **metrics:** Add user agent for prebuilt tools
([#669](https://github.com/googleapis/genai-toolbox/issues/669))
([29aa0a7](29aa0a70da))
* **tools/postgressql:** Add templateParameters field
([#615](https://github.com/googleapis/genai-toolbox/issues/615))
([b763469](b76346993f))


### Bug Fixes

* Improve versionString
([#658](https://github.com/googleapis/genai-toolbox/issues/658))
([cf96f4c](cf96f4c249))
* **server/stdio:** Notifications should not return a response
([#638](https://github.com/googleapis/genai-toolbox/issues/638))
([69d047a](69d047af46))
* **tools/mysqlsql:** Handled the null value for string case in mysqlsql
tools ([#641](https://github.com/googleapis/genai-toolbox/issues/641))
([ef94648](ef94648455))
* Update path library
([#678](https://github.com/googleapis/genai-toolbox/issues/678))
([4998f82](4998f82852)),
closes [#662](https://github.com/googleapis/genai-toolbox/issues/662)

---
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>
2025-06-09 17:15:26 -07:00
Yuan
e6c2fb324b ci: add extra files in release please config (#684)
Adding extra files for release please automatic files version updates.

removed "docs/en/how-to/deploy_gke.md" since it was updated to use the
`latest` version by default.
2025-06-09 23:13:55 +00:00
Kurtis Van Gent
cf96f4c249 fix: improve versionString (#658)
Reduces complexity of the version string calculation and fixes the ci/cd
pipeline to pass the correct parameters.

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-09 15:31:42 -07:00
Mend Renovate
8569c6b59f chore(deps): update module modernc.org/sqlite to v1.38.0 (#681)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.37.1` ->
`v1.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/modernc.org%2fsqlite/v1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/modernc.org%2fsqlite/v1.37.1/v1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.37.1/v1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cznic/sqlite (modernc.org/sqlite)</summary>

###
[`v1.38.0`](https://gitlab.com/cznic/sqlite/compare/v1.37.1...v1.38.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.37.1...v1.38.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:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNDguNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-09 22:04:16 +00:00
Yuan
44d41a4888 chore: add .exe suffix to windows binary (#682) 2025-06-09 13:52:28 -07:00
Yuan
4998f82852 fix: update path library (#678)
Using filepath.Join for embed filenames will not respect Windows
filepaths. https://github.com/golang/go/issues/44305

Fix #662
2025-06-09 10:00:26 -07:00
Yuan
b81fc6aa6c feat: add templateParameters field for mssqlsql (#671)
Add `templateParameters to support non-filter parameters and DDL
statements.

Part of https://github.com/googleapis/genai-toolbox/issues/535
2025-06-06 13:18:37 -07:00
Averi Kitsch
29aa0a70da feat(metrics): add user agent for prebuilt tools (#669)
Append "+prebuilt.<source>" to the user agent for tracking the prebuilt
tools usage. This is set before the server is initialized and the user
agent is set on the client.

Using the period to stay consistent with our other appended metadata
like "binary.linux"
2025-06-06 09:49:25 -07:00
Yuan
5638ef520a chore: fix typos in tests (#672) 2025-06-06 14:43:57 +00:00
AlexTalreja
2f42de9507 docs: add templateParameters to postgres documentation (#657) 2025-06-05 17:33:58 -07:00
Yuan
0a08d2c15d feat: add templateParameters field for mysqlsql (#663)
Add `templateParameters to support non-filter parameters and DDL
statements.

Part of #535
2025-06-05 21:37:30 +00:00
Yuan
71250e1ced test: add templateParam postgres-sql tests to other pg source (#664)
Add the template parameters integration test to `postgres` source and
`cloudsql-postgres` source.
2025-06-05 21:33:35 +00:00
Mend Renovate
702dbc355b chore(deps): update dependency go to v1.24.4 (#666)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/)
([source](https://redirect.github.com/golang/go)) | toolchain | patch |
`1.24.3` -> `1.24.4` |

---

### Release Notes

<details>
<summary>golang/go (go)</summary>

###
[`v1.24.4`](https://redirect.github.com/golang/go/compare/go1.24.3...go1.24.4)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC40MC4zIiwidXBkYXRlZEluVmVyIjoiNDAuNDAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-05 14:23:09 -07:00
Kurtis Van Gent
ef0cbdb4bf docs: fix SQL capitalization (#667) 2025-06-05 20:01:17 +00:00
Yuan
518a0e4c70 refactor(tools/http): dedup to use GetParams (#659) 2025-06-05 10:54:08 -07:00
Yuan
d7ba2736eb refactor: concatenate template parameters and parameters (#660)
Refactor this to dedup from other tools.
2025-06-05 09:01:45 -07:00
Yuan
33ae70ec02 docs: add llms-full.txt (#656)
Generating a `/llms-full.txt` to provide LLM-friendly content (that
doesn't require navigation). For more information, checkout
https://llmstxt.org/.


Preview:
https://googleapis.github.io/genai-toolbox/previews/PR-656/llms-full.txt
2025-06-04 16:00:48 -07:00
Kurtis Van Gent
1c9ad5ea24 refactor: implement dynamic source registration (#614)
This commit refactors the source configuration and loading mechanism to
use a dynamic registration pattern. Each source package now registers
itself with a central registry via its init() function.

The server configuration code uses this registry to decode and
initialize sources, decoupling it from specific source implementations
and simplifying the addition of new sources.

Key changes:
- Introduced `sources.Register()` and `newConfig()` constructor in each
source package.
- Moved source package imports to `cmd/root.go` as blank imports to
trigger `init()` functions for self-registration.
- Removed direct imports of specific source packages from
`internal/server/config.go`.
- Renamed `SourceKind` constants to `Kind` within each source package.
- Updated tests to use the new `Kind` constants and reflect registration
changes.

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-06-04 14:23:57 -07:00
AlexTalreja
b76346993f feat(tools/postgressql): add templateParameters field (#615)
Add new tool field, templateParameters, to support non-filter parameters 
and DDL statements

Fix #535 for postgressql tool.

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-04 13:28:37 -07:00
Yuan
1830702fd8 docs: update llms.txt (#652) 2025-06-04 11:45:51 -07:00
Kurtis Van Gent
b4862825e8 refactor: implement dynamic tool registration (#613)
This PR refactors the tool configuration and loading mechanism to use a
dynamic registration pattern. Each tool package now registers itself
with a central registry, and the server configuration code uses this
registry to decode and initialize tools.

Key changes:
- Introduced tools.Register and tools.DecodeToolConfig for dynamic tool
handling.
- Removed direct imports of specific tool packages from
internal/server/config.go.
- Updated individual tool packages to include init() functions for
self-registration.
- Modified ToolKind constants to be local kind constants within each
tool package.
- Adjusted test files to reflect the changes in tool kind identifiers.

This change simplifies adding new tools and decouples the server
configuration from specific tool implementations.

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-04 10:19:42 -07:00
Anubhav Dhawan
f5de1af5bd docs: Simplify repetitive auth login command in bigquery quickstart (#643)
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-06-04 10:12:52 -07:00
Yuan
46d7cdf4ba docs: add llms.txt file (#651)
Generating a `/llmstxt.txt` to provide LLM-friendly content. For more
information, checkout https://llmstxt.org/.
2025-06-04 10:01:26 -07:00
Yuan
9ecf1755ab docs: update render-heading hook (#649)
There's a `no such template "_default/_markup/td-render-heading.html"`
error when running `hugo server` locally. This is due to a breaking
change in [Hugo
v0.146.0](https://github.com/gohugoio/hugo/releases/tag/v0.146.0). This
PR updates the render-heading file according to
https://github.com/google/docsy/pull/2223.
2025-06-04 01:14:23 +00:00
Wenxin Du
1596f5d772 chore: Revert accidental push (#648) 2025-06-04 00:17:30 +00:00
duwenxin
594066f9f4 add docs preview instruction 2025-06-03 17:01:57 -07:00
Wenxin Du
0ddc7240b7 chore: Move test helper functions to common.go (#647)
1. Move test helper functions to common.go
2. Move HTTP helper to its own test file
2025-06-03 16:22:08 -07:00
Mend Renovate
0880e16c05 chore(deps): update module google.golang.org/api to v0.236.0 (#646)
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.235.0` -> `v0.236.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.236.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.236.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.235.0/v0.236.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.235.0/v0.236.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.236.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.236.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.235.0...v0.236.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3174](https://redirect.github.com/googleapis/google-api-go-client/issues/3174))
([4adab34](4adab34862))
- **all:** Auto-regenerate discovery clients
([#&#8203;3177](https://redirect.github.com/googleapis/google-api-go-client/issues/3177))
([4b92960](4b929605d1))
- **all:** Auto-regenerate discovery clients
([#&#8203;3178](https://redirect.github.com/googleapis/google-api-go-client/issues/3178))
([e2f9814](e2f981483e))
- **all:** Auto-regenerate discovery clients
([#&#8203;3179](https://redirect.github.com/googleapis/google-api-go-client/issues/3179))
([59d8272](59d8272bf2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3180](https://redirect.github.com/googleapis/google-api-go-client/issues/3180))
([fb420ad](fb420adae6))
- **all:** Auto-regenerate discovery clients
([#&#8203;3181](https://redirect.github.com/googleapis/google-api-go-client/issues/3181))
([dd4076a](dd4076a89d))

##### Bug Fixes

- **auth:** Remove s2a fallback option
([#&#8203;3176](https://redirect.github.com/googleapis/google-api-go-client/issues/3176))
([57d1922](57d1922662))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-06-03 12:57:15 -07:00
Yuan
a6c49007bf chore: comment typo in tools/tests.go (#645) 2025-06-03 18:39:51 +00:00
Mohd Mujtaba
ef94648455 fix(tools/mysqlsql): handled the null value for string case in mysqlsql tools (#641)
@Yuan325  please review and merge this if all looks ok.
In existing code, for the character field with null values it will panic
with error:
"panic: interface conversion: interface {} is nil, not []uint8"
2025-06-03 11:33:41 -07:00
Yuan
69d047af46 fix(server/stdio): notifications should not return a response (#638)
Currently the `stdio` transport protocol will throw a `ZodError` during
initialization. This is due to Toolbox writing `null` to stdout when it
received a notification. This is not expected hence the `ZodError`
occurs. Per the MCP protocol, notifications do not expect any response.

This fix added a condition to check if the responses is `nil` before
writing to stdout.
2025-06-02 16:59:39 -07:00
Twisha Bansal
4700dd363c docs: update to latest stable gemini models (#633)
Update to the latest Stable gemini models. See the [latest stable models
list](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/model-versions#latest-stable).

Closes https://github.com/googleapis/genai-toolbox/issues/518
2025-06-02 10:40:52 +05:30
Mend Renovate
386bb23e7c chore(deps): update dependency ubuntu to v24 (#362)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ubuntu](https://redirect.github.com/actions/runner-images) |
github-runner | major | `22.04` -> `24.04` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-30 20:06:46 -07:00
Yuan
ba8a6f3a3b chore: migrate golangci-lint to v2 (#630)
gosimple had been deprecated in favor of staticcheck:
https://github.com/golangci/golangci-lint/issues/357

Other requirements are all migrated.

`std-error-handling` exclusions is included because without that, it
will ask to check all error returns from (`Close()`, or `os.Setenv`s, or
`fmt.Fprint`s...
2025-05-31 02:50:17 +00:00
Mend Renovate
ad97578fdf chore(deps): update module github.com/microsoft/go-mssqldb to v1.8.2 (#624)
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.1` -> `v1.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.1/v1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.1/v1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>

###
[`v1.8.2`](https://redirect.github.com/microsoft/go-mssqldb/releases/tag/v1.8.2)

[Compare
Source](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.8.1...v1.8.2)

#### What's Changed

- Work around build error introduced by the new 'go vet' tests analyser
by [@&#8203;leon-matthews](https://redirect.github.com/leon-matthews) in
[https://github.com/microsoft/go-mssqldb/pull/259](https://redirect.github.com/microsoft/go-mssqldb/pull/259)
- isProc: added `COMMIT` and `ROLLBACK` command to the builtin commands
by [@&#8203;giautm](https://redirect.github.com/giautm) in
[https://github.com/microsoft/go-mssqldb/pull/261](https://redirect.github.com/microsoft/go-mssqldb/pull/261)
- \[WIP] Parse does not recognize Pwd as a valid password field alias by
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)
in
[https://github.com/microsoft/go-mssqldb/pull/263](https://redirect.github.com/microsoft/go-mssqldb/pull/263)

#### New Contributors

- [@&#8203;leon-matthews](https://redirect.github.com/leon-matthews)
made their first contribution in
[https://github.com/microsoft/go-mssqldb/pull/259](https://redirect.github.com/microsoft/go-mssqldb/pull/259)
-
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)
made their first contribution in
[https://github.com/microsoft/go-mssqldb/pull/263](https://redirect.github.com/microsoft/go-mssqldb/pull/263)

**Full Changelog**:
https://github.com/microsoft/go-mssqldb/compare/v1.8.1...v1.8.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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-30 17:14:17 +00:00
Averi Kitsch
3d10f85302 docs: add tool list to dev assist docs (#626)
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-29 22:52:35 +00:00
Averi Kitsch
5a4cc9af6b docs: highlight dev assist workflow (#625) 2025-05-29 15:47:49 -07:00
Mend Renovate
15f90a3773 chore(deps): update module github.com/googlecloudplatform/opentelemetry-operations-go/exporter/trace to v1.28.0 (#628)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go)
| `v1.27.0` -> `v1.28.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.27.0/v1.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.27.0/v1.28.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-29 20:27:57 +00:00
Mend Renovate
87380f629d chore(deps): update module github.com/googlecloudplatform/opentelemetry-operations-go/exporter/metric to v0.52.0 (#627)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go)
| `v0.51.0` -> `v0.52.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.51.0/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2fmetric/v0.51.0/v0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-go
(github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric)</summary>

###
[`v0.52.0`](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/releases/tag/v0.52.0):
v1.28.0/v0.52.0

[Compare
Source](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/v0.51.0...v0.52.0)

##### What's Changed

- chore(deps): update go version from `1.2x.x to 1.23.8` and `1.24.0 to
1.24.2` in `go.mod` files and tests. by
[@&#8203;franciscovalentecastro](https://redirect.github.com/franciscovalentecastro)
in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1036](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1036)
- exporter/collector: Add mapping for LogSeverity values set as
SeverityText to correct SeverityNumber. by
[@&#8203;franciscovalentecastro](https://redirect.github.com/franciscovalentecastro)
in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1031](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1031)
- Allow overriding Project ID using env var by
[@&#8203;psx95](https://redirect.github.com/psx95) in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1040](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1040)
- Update dependencies and tooling by
[@&#8203;psx95](https://redirect.github.com/psx95) in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1042](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1042)
- Prepare for v1.28.0/v0.52.0 by
[@&#8203;psx95](https://redirect.github.com/psx95) in
[https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1045](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/1045)

**Full Changelog**:
https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/v0.51.0...v0.52.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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-29 13:21:59 -07:00
Mend Renovate
953ab9336f chore(deps): update module github.com/goccy/go-yaml to v1.18.0 (#623)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/goccy/go-yaml](https://redirect.github.com/goccy/go-yaml)
| `v1.17.1` -> `v1.18.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoccy%2fgo-yaml/v1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoccy%2fgo-yaml/v1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoccy%2fgo-yaml/v1.17.1/v1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoccy%2fgo-yaml/v1.17.1/v1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>goccy/go-yaml (github.com/goccy/go-yaml)</summary>

###
[`v1.18.0`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.18.0):
1.18.0

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.17.1...v1.18.0)

#### What's Changed

- feat: add global `OmitEmpty` encoding option by
[@&#8203;bwplotka](https://redirect.github.com/bwplotka) in
[https://github.com/goccy/go-yaml/pull/691](https://redirect.github.com/goccy/go-yaml/pull/691)
- chore: clarify omitempty behaviour. by
[@&#8203;bwplotka](https://redirect.github.com/bwplotka) in
[https://github.com/goccy/go-yaml/pull/696](https://redirect.github.com/goccy/go-yaml/pull/696)
- Treat output from TextMarshaler as string by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/698](https://redirect.github.com/goccy/go-yaml/pull/698)
- Update golangci-lint to v2.1.2 by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/701](https://redirect.github.com/goccy/go-yaml/pull/701)
- Tidy benchmarks/go.mod by
[@&#8203;eikemeier](https://redirect.github.com/eikemeier) in
[https://github.com/goccy/go-yaml/pull/686](https://redirect.github.com/goccy/go-yaml/pull/686)
- Remove testmod task by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/715](https://redirect.github.com/goccy/go-yaml/pull/715)
- Clean up encoder.go by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/703](https://redirect.github.com/goccy/go-yaml/pull/703)
- Fix validation error position for container type by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/716](https://redirect.github.com/goccy/go-yaml/pull/716)
- Add nil checking for error handling by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/719](https://redirect.github.com/goccy/go-yaml/pull/719)
- Ignore validation for alias map key by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/720](https://redirect.github.com/goccy/go-yaml/pull/720)
- Avoid returning an error for null document by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/721](https://redirect.github.com/goccy/go-yaml/pull/721)
- Add Go 1.24 to test matrix by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/722](https://redirect.github.com/goccy/go-yaml/pull/722)
- Set null value for empty document by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/725](https://redirect.github.com/goccy/go-yaml/pull/725)
- Support implicit null by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/727](https://redirect.github.com/goccy/go-yaml/pull/727)
- Support omitzero by [@&#8203;goccy](https://redirect.github.com/goccy)
in
[https://github.com/goccy/go-yaml/pull/729](https://redirect.github.com/goccy/go-yaml/pull/729)
- feat: Dont make copies of structs for validation by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/737](https://redirect.github.com/goccy/go-yaml/pull/737)
- Prevent panic when decoding string named types by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/743](https://redirect.github.com/goccy/go-yaml/pull/743)
- Fix misaligned indentation in comments by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/734](https://redirect.github.com/goccy/go-yaml/pull/734)
- Add support for multi-line double-quoted strings with CRLF line
endings by [@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw)
in
[https://github.com/goccy/go-yaml/pull/744](https://redirect.github.com/goccy/go-yaml/pull/744)
- Update custom marshaler and unmarshaler to accept context by
[@&#8203;pgeiem](https://redirect.github.com/pgeiem) in
[https://github.com/goccy/go-yaml/pull/745](https://redirect.github.com/goccy/go-yaml/pull/745)

#### New Contributors

- [@&#8203;bwplotka](https://redirect.github.com/bwplotka) made their
first contribution in
[https://github.com/goccy/go-yaml/pull/691](https://redirect.github.com/goccy/go-yaml/pull/691)
- [@&#8203;eikemeier](https://redirect.github.com/eikemeier) made their
first contribution in
[https://github.com/goccy/go-yaml/pull/686](https://redirect.github.com/goccy/go-yaml/pull/686)
- [@&#8203;pgeiem](https://redirect.github.com/pgeiem) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/745](https://redirect.github.com/goccy/go-yaml/pull/745)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.17.1...v1.18.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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-29 16:28:34 +00:00
Averi Kitsch
032b333961 docs: Add prebuilt tools documentation (#602)
Co-authored-by: trehanshakuntG <trehanshakunt@google.com>
Co-authored-by: Prerna Kakkar <prernakakkar@google.com>
Co-authored-by: prernakakkar-google <158031829+prernakakkar-google@users.noreply.github.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-05-28 22:38:16 +00:00
Yuan
25afd63496 chore: fix release please version update (#622) 2025-05-28 15:33:50 -07:00
release-please[bot]
3180830403 chore(main): release 0.6.0 (#545)
🤖 I have created a release *beep* *boop*
---


##
[0.6.0](https://github.com/googleapis/genai-toolbox/compare/v0.5.0...v0.6.0)
(2025-05-28)


### Features

* Add Execute sql tool for SQL Server(MSSQL)
([#585](https://github.com/googleapis/genai-toolbox/issues/585))
([6083a22](6083a224aa))
* Add mysql-execute-sql tool
([#577](https://github.com/googleapis/genai-toolbox/issues/577))
([8590061](8590061ae4))
* Add new BigQuery tools: execute_sql, list_datatset_ids,
list_table_ids, get_dataset_info, get_table_info
([0fd88b5](0fd88b574b))
* Add spanner-execute-sql tool
([#576](https://github.com/googleapis/genai-toolbox/issues/576))
([d65747a](d65747a2dc))
* Add support for read-only in Spanner tool
([#563](https://github.com/googleapis/genai-toolbox/issues/563))
([6512704](6512704e77))
* Adding support for the --prebuilt flag
([#604](https://github.com/googleapis/genai-toolbox/issues/604))
([a29c800](a29c80012e))
* Support MCP stdio transport protocol
([#607](https://github.com/googleapis/genai-toolbox/issues/607))
([1702ce1](1702ce1e00))


### Bug Fixes

* Explicitly set query location for BigQuery queries
([#586](https://github.com/googleapis/genai-toolbox/issues/586))
([eb52b66](eb52b66d82))
* Fix spellings in comments
([#561](https://github.com/googleapis/genai-toolbox/issues/561))
([b58bf76](b58bf76dda))
* Prevent tool calls through MCP when auth is required
([#544](https://github.com/googleapis/genai-toolbox/issues/544))
([e747b6e](e747b6e289))
* Reinitialize required slice if nil
([#571](https://github.com/googleapis/genai-toolbox/issues/571))
([04dcf47](04dcf47912)),
closes [#564](https://github.com/googleapis/genai-toolbox/issues/564)

---
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>
2025-05-28 15:08:44 -07:00
dishaprakash
a29c80012e feat: Adding support for the --prebuilt flag (#604)
Introduces a new --prebuilt <source_type> flag. This flag is mutually
exclusive with the existing --tools-file flag.

Added a new directory cmd/prebuiltconfigs/ to store the prebuilt
tools.yaml files (e.g., alloydb.yaml, postgres.yaml, etc.).
These YAML files are embedded into the Go binary using the //go:embed
directive.

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-05-28 14:56:42 -07:00
Huan Chen
0fd88b574b feat: add new bigquery tools. (#619)
Added five new tools and corresponding documents:
1. bigquery-execute-sql
2. bigquery-list-dataset-ids
3. bigquery-list-table-ids
4. bigquery-get-dataset-info
5.  bigquery-get-table-info

---------

Co-authored-by: duwenxin <duwenxin@google.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-05-28 14:38:08 -07:00
Mend Renovate
e9a6018526 chore(deps): update module google.golang.org/api to v0.235.0 (#621)
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.234.0` -> `v0.235.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.235.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.235.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.234.0/v0.235.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.234.0/v0.235.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.235.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.235.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.234.0...v0.235.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3164](https://redirect.github.com/googleapis/google-api-go-client/issues/3164))
([b477d3d](b477d3ddf2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3167](https://redirect.github.com/googleapis/google-api-go-client/issues/3167))
([64d566f](64d566f5e4))
- **all:** Auto-regenerate discovery clients
([#&#8203;3168](https://redirect.github.com/googleapis/google-api-go-client/issues/3168))
([a78a978](a78a978bd2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3169](https://redirect.github.com/googleapis/google-api-go-client/issues/3169))
([00cb9ee](00cb9eec62))
- **all:** Auto-regenerate discovery clients
([#&#8203;3171](https://redirect.github.com/googleapis/google-api-go-client/issues/3171))
([0a9b174](0a9b174fa0))
- **all:** Auto-regenerate discovery clients
([#&#8203;3173](https://redirect.github.com/googleapis/google-api-go-client/issues/3173))
([1e2b782](1e2b78253e))

##### Bug Fixes

- **internaloption:** AuthCreds should honor WithoutAuthentication
([#&#8203;3166](https://redirect.github.com/googleapis/google-api-go-client/issues/3166))
([d117646](d117646289))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-28 20:11:50 +00:00
Yuan
1702ce1e00 feat: support MCP stdio transport protocol (#607)
Support MCP
[stdio](https://modelcontextprotocol.io/specification/2024-11-05/basic/transports#stdio)
transport protocol!

To run stdio with Toolbox, user have to use the `--stdio` flag.

Example of running MCP Toolbox with MCP Inspector via stdio transport
protocol: `npx @modelcontextprotocol/inspector ./toolbox --stdio`.

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-05-28 10:10:34 -07:00
Mend Renovate
5292e12588 chore(deps): update module cloud.google.com/go/bigquery to v1.69.0 (#618)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/bigquery](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.68.0` -> `v1.69.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fbigquery/v1.69.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fbigquery/v1.69.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fbigquery/v1.68.0/v1.69.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fbigquery/v1.68.0/v1.69.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-28 16:25:06 +00:00
Yuan
1bf6003eae docs: add note to tools (#608)
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-05-28 15:38:18 +00:00
trehanshakuntG
0857be0aa8 chore: update spanner integration tests for read only mode (#616)
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-27 20:51:34 +00:00
Anubhav Dhawan
22edbea579 docs: Update docs to guide with proper lifecycle management (#606)
Fixes
[#208](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/208)
2025-05-26 20:12:53 +05:30
Huan Chen
8df757b280 docs: add note for bigquery parameter replacement introduction. (#589)
For issue https://github.com/googleapis/genai-toolbox/issues/566

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-05-23 17:54:05 +00:00
Mend Renovate
5c66977877 chore(deps): update module go.opentelemetry.io/contrib/propagators/autoprop to v0.61.0 (#605)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/contrib/propagators/autoprop](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.60.0` -> `v0.61.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.60.0/v0.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.60.0/v0.61.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-22 15:31:29 -07:00
Yuan
e615e355d5 chore: dedup execute sql integration tests (#600)
Dedup the execute sql integration tests across postgres, mysql, and sql
server.
2025-05-22 22:21:07 +00:00
Mend Renovate
9b7e7a0b3e chore(deps): update module google.golang.org/api to v0.234.0 (#603)
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.233.0` -> `v0.234.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.234.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.234.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.233.0/v0.234.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.233.0/v0.234.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.234.0`](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.233.0...v0.234.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.233.0...v0.234.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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-21 23:14:58 +00:00
Mend Renovate
72c236be03 chore(deps): update module modernc.org/sqlite to v1.37.1 (#598)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.37.0` ->
`v1.37.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/modernc.org%2fsqlite/v1.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/modernc.org%2fsqlite/v1.37.0/v1.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.37.0/v1.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cznic/sqlite (modernc.org/sqlite)</summary>

###
[`v1.37.1`](https://gitlab.com/cznic/sqlite/compare/v1.37.0...v1.37.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.37.0...v1.37.1)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-21 13:11:25 -07:00
Mend Renovate
1d0ed42067 chore(deps): update opentelemetry-go monorepo to v1.36.0 (#594)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fmetric/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fmetric/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fmetric/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fmetric/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.35.0` -> `v1.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2ftrace/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2ftrace/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.35.0/v1.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-go
(go.opentelemetry.io/otel)</summary>

###
[`v1.36.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.36.0):
/v0.58.0/v0.12.0

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.35.0...v1.36.0)

##### Added

- Add exponential histogram support in
`go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;6421](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6421))
-   The `go.opentelemetry.io/otel/semconv/v1.31.0` package.
The package contains semantic conventions from the `v1.31.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.31.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.30.0`.
([#&#8203;6479](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6479))
- Add `Recording`, `Scope`, and `Record` types in
`go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6507](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6507))
- Add `WithHTTPClient` option to configure the `http.Client` used by
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
([#&#8203;6751](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6751))
- Add `WithHTTPClient` option to configure the `http.Client` used by
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
([#&#8203;6752](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6752))
- Add `WithHTTPClient` option to configure the `http.Client` used by
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
([#&#8203;6688](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6688))
- Add `ValuesGetter` in `go.opentelemetry.io/otel/propagation`, a
`TextMapCarrier` that supports retrieving multiple values for a single
key.
([#&#8203;5973](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5973))
- Add `Values` method to `HeaderCarrier` to implement the new
`ValuesGetter` interface in `go.opentelemetry.io/otel/propagation`.
([#&#8203;5973](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5973))
- Update `Baggage` in `go.opentelemetry.io/otel/propagation` to retrieve
multiple values for a key when the carrier implements `ValuesGetter`.
([#&#8203;5973](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5973))
- Add `AssertEqual` function in `go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6662](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6662))
-   The `go.opentelemetry.io/otel/semconv/v1.32.0` package.
The package contains semantic conventions from the `v1.32.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.32.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.31.0`([#&#8203;6782](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6782))
- Add `Transform` option in `go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6794](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6794))
- Add `Desc` option in `go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6796](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6796))

##### Removed

- Drop support for \[Go 1.22].
([#&#8203;6381](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6381),
[#&#8203;6418](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6418))
- Remove `Resource` field from `EnabledParameters` in
`go.opentelemetry.io/otel/sdk/log`.
([#&#8203;6494](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6494))
- Remove `RecordFactory` type from
`go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6492](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6492))
- Remove `ScopeRecords`, `EmittedRecord`, and `RecordFactory` types from
`go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6507](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6507))
- Remove `AssertRecordEqual` function in
`go.opentelemetry.io/otel/log/logtest`, use `AssertEqual` instead.
([#&#8203;6662](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6662))

##### Changed

- ⚠️ Update `github.com/prometheus/client_golang` to `v1.21.1`, which
changes the `NameValidationScheme` to `UTF8Validation`.
This allows metrics names to keep original delimiters (e.g. `.`), rather
than replacing with underscores.
This can be reverted by setting
`github.com/prometheus/common/model.NameValidationScheme` to
`LegacyValidation` in `github.com/prometheus/common/model`.
([#&#8203;6433](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6433))
- Initialize map with `len(keys)` in `NewAllowKeysFilter` and
`NewDenyKeysFilter` to avoid unnecessary allocations in
`go.opentelemetry.io/otel/attribute`.
([#&#8203;6455](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6455))
- `go.opentelemetry.io/otel/log/logtest` is now a separate Go module.
([#&#8203;6465](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6465))
- `go.opentelemetry.io/otel/sdk/log/logtest` is now a separate Go
module.
([#&#8203;6466](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6466))
- `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer
separately stores records emitted by loggers with the same
instrumentation scope.
([#&#8203;6507](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6507))
- Improve performance of `BatchProcessor` in
`go.opentelemetry.io/otel/sdk/log` by not exporting when exporter cannot
accept more.
([#&#8203;6569](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6569),
[#&#8203;6641](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6641))

##### Deprecated

- Deprecate support for `model.LegacyValidation` for
`go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;6449](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6449))

##### Fixes

- Stop percent encoding header environment variables in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
([#&#8203;6392](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6392))
- Ensure the `noopSpan.tracerProvider` method is not inlined in
`go.opentelemetry.io/otel/trace` so the `go.opentelemetry.io/auto`
instrumentation can instrument non-recording spans.
([#&#8203;6456](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6456))
- Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics`
in `go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;6472](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6472))

</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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-21 20:03:10 +00:00
Mend Renovate
301dfa1114 chore(deps): update module cloud.google.com/go/cloudsqlconn to v1.17.1 (#597)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/cloudsqlconn](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector)
| `v1.17.0` -> `v1.17.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.0/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.0/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/cloud-sql-go-connector
(cloud.google.com/go/cloudsqlconn)</summary>

###
[`v1.17.1`](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/releases/tag/v1.17.1)

[Compare
Source](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector/compare/v1.17.0...v1.17.1)

##### Bug Fixes

- bump dependencies to latest
([#&#8203;985](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/985))
([865b93a](865b93ac99))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-21 18:48:53 +00:00
prernakakkar-google
6083a224aa Feat: Add Execute sql tool for SQL Server(MSSQL) (#585)
This tool can be used across mssql(SQL Server) sources.

`mssql-execute-sql` config is as below:

```
tools:
  mssql_execute_sql_tool:
     kind: "mssql-execute-sql"
     source: my-mssql-source
     description: Use this tool to execute sql.
```

The `mssql-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/mssql_execute_sql_tool/invoke
```

Reference for bug: b/416163913

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Anubhav Dhawan <anubhavdhawan@google.com>
Co-authored-by: Huan Chen <142538604+Genesis929@users.noreply.github.com>
2025-05-22 00:10:55 +05:30
Wenxin Du
d6dc0c5269 ci: Add description to release binary table (#599)
We have received multiple user inquiries about which binary to use for
macOS. We should clear out the confusions by providing a description to
each binary, making it clearer which machine type it is for.

Fix issue: https://github.com/googleapis/genai-toolbox/issues/590

Example release binary table after this change:
<img width="972" alt="Screenshot 2025-05-21 at 1 58 26 PM"
src="https://github.com/user-attachments/assets/e76f4aff-7b75-4361-84f9-0bcb170d31f9"
/>
2025-05-21 14:05:27 -04:00
Huan Chen
eb52b66d82 fix: explicitly set query location for BigQuery queries (#586)
For issue https://github.com/googleapis/genai-toolbox/issues/567

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-20 22:07:43 +00:00
Anubhav Dhawan
8dec385538 docs: Update toolbox logo (#509)
* Updated logo with a bleeding edge outline.

# Banner (Light Background)

![image](https://github.com/user-attachments/assets/7cc97bf6-a1c4-461d-9d7a-ba84bc39933e)

# Banner (Dark Background)

![image](https://github.com/user-attachments/assets/990b0793-6686-4417-bec2-c6625f32652c)
2025-05-20 21:50:26 +00:00
Kurtis Van Gent
6a832a1d7e ci: fix preview pipeline for changes only in .hugo (#587) 2025-05-20 14:30:17 -06:00
Mend Renovate
8df5568901 chore(deps): update module cloud.google.com/go/spanner to v1.82.0 (#588)
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.81.1` -> `v1.82.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.82.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.82.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.81.1/v1.82.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.81.1/v1.82.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-05-20 13:20:25 -07:00
Jack Wotherspoon
0c07e15c2c docs: update ADK samples to use toolbox-core (#584)
`ToolboxTool` has been removed from `google-adk` package in
11ca528090

Instead `toolbox-core` should be used directly to remove the need for a
dependency on `toolbox-langchain` and `langchain`.

The new recommendation is to install `toolbox-core`.

```shell
pip install toolbox-core
```

And then load toolbox tools directly and pass it to the ADK agent.

```python
from google.adk.agents import Agent
# NEW IMPORT
from toolbox_core import ToolboxSyncClient

# Full control over MCP Toolbox
toolbox_client = ToolboxSyncClient("http://127.0.0.1:5000")
toolbox_tools = toolbox_client.load_toolset("my-toolset")

root_agent = Agent(
    model="gemini-2.0-flash",
    name="root_agent",
    instruction=agent_instruction,
    # Add Toolbox tools to ADK agent
    tools=toolbox_tools,
)
```
2025-05-20 17:44:50 +00:00
Twisha Bansal
0e4564f383 docs: change docs to add authenticated Toolbox Cloud Run access (#575) 2025-05-20 21:26:38 +05:30
Yuan
4b4fbc656a chore(tools/mysqlsql): only cast TEXT to string (#581)
Only cast to string if the column's `DatabaseTypeName` is `TEXT`.
2025-05-19 14:58:28 -07:00
Yuan
4d4b3ebeb9 chore: lint fix (#582) 2025-05-19 14:53:25 -07:00
trehanshakuntG
d65747a2dc feat: add spanner-execute-sql tool (#576)
This tool can be used across spanner sources.

`spanner-execute-sql` config is as below:

```
tools:
  spanner_execute_sql_tool:
    kind: "spanner-execute-sql"
    source: my-spanner-source
    description: Use this tool to execute sql.
```

The `spanner-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/spanner_execute_sql_tool/invoke
```

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-19 14:48:11 -07:00
trehanshakuntG
8590061ae4 feat: add mysql-execute-sql tool (#577)
This tool can be used across mysql sources.

`mysql-execute-sql` config is as below:

```
tools:
  mysql_execute_sql_tool:
    kind: "mysql-execute-sql"
    source: my-mysql-source
    description: Use this tool to execute sql.
```

The `mysql-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/mysql_execute_sql_tool/invoke
```
2025-05-20 02:17:39 +05:30
Mend Renovate
e89abac29f chore(deps): update module github.com/jackc/pgx/v5 to v5.7.5 (#574)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/jackc/pgx/v5](https://redirect.github.com/jackc/pgx) |
`v5.7.4` -> `v5.7.5` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjackc%2fpgx%2fv5/v5.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjackc%2fpgx%2fv5/v5.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjackc%2fpgx%2fv5/v5.7.4/v5.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjackc%2fpgx%2fv5/v5.7.4/v5.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>jackc/pgx (github.com/jackc/pgx/v5)</summary>

###
[`v5.7.5`](https://redirect.github.com/jackc/pgx/compare/v5.7.4...v5.7.5)

[Compare
Source](https://redirect.github.com/jackc/pgx/compare/v5.7.4...v5.7.5)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOCIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE4IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-05-19 10:39:04 -07:00
trehanshakuntG
6512704e77 feat: Add support for read-only in Spanner tool (#563)
Allowing user to add `readOnly` field in spanner tools.

The existing tool doesn't work for reading schema tables since schema
tables can only be accessed through read-only transaction.

This PR also resolve #435 for Spanner tool.

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-16 12:08:05 +05:30
Yuan
04dcf47912 fix: reinitialize required slice if nil (#571)
`slices.Concat` will return `nil` if arrays are all empty instead of an
empty slice `[]`. Fix this by setting `[]` if it's `nil`.

Fixes #564
2025-05-16 00:54:03 +00:00
Mend Renovate
0e53829703 chore(deps): update dependency go to v1.24.3 (#537)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/)
([source](https://redirect.github.com/golang/go)) | toolchain | patch |
`1.24.2` -> `1.24.3` |

---

### Release Notes

<details>
<summary>golang/go (go)</summary>

###
[`v1.24.3`](https://redirect.github.com/golang/go/compare/go1.24.2...go1.24.3)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjQwLjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-15 16:55:10 -07:00
Mend Renovate
a890d0beee chore(deps): update module cloud.google.com/go/spanner to v1.81.1 (#568)
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.81.0` -> `v1.81.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.81.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.81.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.81.0/v1.81.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.81.0/v1.81.1?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOCIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE4IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-15 16:45:57 -07:00
Averi Kitsch
ca4491b0a9 docs: separate MCP docs (#569)
Create a doc page per database for MCP Dev Assist workflows
2025-05-15 15:40:19 -07:00
An Nguyen
2068f26302 chore: fix bigtable doc typo (#570)
Fix bigtable doc typo
2025-05-15 21:44:04 +00:00
Mend Renovate
d7579861e8 chore(deps): update module cloud.google.com/go/alloydbconn to v1.15.2 (#562)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/alloydbconn](https://redirect.github.com/googlecloudplatform/alloydb-go-connector)
| `v1.15.1` -> `v1.15.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2falloydbconn/v1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2falloydbconn/v1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2falloydbconn/v1.15.1/v1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2falloydbconn/v1.15.1/v1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/alloydb-go-connector
(cloud.google.com/go/alloydbconn)</summary>

###
[`v1.15.2`](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/releases/tag/v1.15.2)

[Compare
Source](https://redirect.github.com/googlecloudplatform/alloydb-go-connector/compare/v1.15.1...v1.15.2)

##### Bug Fixes

- update dependencies to latest
([#&#8203;680](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/issues/680))
([8962c17](8962c17aab))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDAuMTEuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-15 00:08:08 +00:00
AlexTalreja
e8e0125eaa docs: fix typo and import in local quickstart (#565) 2025-05-14 16:58:37 -07:00
Mend Renovate
c98bc4b1a3 chore(deps): update module google.golang.org/api to v0.233.0 (#559)
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.232.0` -> `v0.233.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.233.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.233.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.232.0/v0.233.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.232.0/v0.233.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.233.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.233.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.232.0...v0.233.0)

##### Features

- **accessapproval:** Remove accessapproval/v1beta1 client
([#&#8203;3142](https://redirect.github.com/googleapis/google-api-go-client/issues/3142))
([aae5a4e](aae5a4ef10))
- **all:** Auto-regenerate discovery clients
([#&#8203;3139](https://redirect.github.com/googleapis/google-api-go-client/issues/3139))
([ef1442a](ef1442adf4))
- **all:** Auto-regenerate discovery clients
([#&#8203;3141](https://redirect.github.com/googleapis/google-api-go-client/issues/3141))
([868e87a](868e87a45b))
- **all:** Auto-regenerate discovery clients
([#&#8203;3143](https://redirect.github.com/googleapis/google-api-go-client/issues/3143))
([357a874](357a874016))
- **all:** Auto-regenerate discovery clients
([#&#8203;3144](https://redirect.github.com/googleapis/google-api-go-client/issues/3144))
([37401aa](37401aa34a))
- **all:** Auto-regenerate discovery clients
([#&#8203;3145](https://redirect.github.com/googleapis/google-api-go-client/issues/3145))
([c8d1b4b](c8d1b4b144))
- **all:** Auto-regenerate discovery clients
([#&#8203;3147](https://redirect.github.com/googleapis/google-api-go-client/issues/3147))
([2bb75a2](2bb75a2b57))
- **all:** Auto-regenerate discovery clients
([#&#8203;3148](https://redirect.github.com/googleapis/google-api-go-client/issues/3148))
([1002481](1002481011))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDAuMTEuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-14 13:42:42 -07:00
Yuan
b58bf76dda fix: fix spellings in comments (#561) 2025-05-13 21:09:37 +00:00
Kurtis Van Gent
5a5e06f1a6 docs: add discord link to README (#560) 2025-05-13 14:55:46 -06:00
Mend Renovate
5c166d0651 chore(deps): update module google.golang.org/api to v0.232.0 (#542)
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.231.0` -> `v0.232.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.232.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.232.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.231.0/v0.232.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.231.0/v0.232.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.232.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.232.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.231.0...v0.232.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3132](https://redirect.github.com/googleapis/google-api-go-client/issues/3132))
([f041909](f041909f99))
- **all:** Auto-regenerate discovery clients
([#&#8203;3134](https://redirect.github.com/googleapis/google-api-go-client/issues/3134))
([f5cbc80](f5cbc80e53))
- **all:** Auto-regenerate discovery clients
([#&#8203;3135](https://redirect.github.com/googleapis/google-api-go-client/issues/3135))
([25f8d4a](25f8d4abda))
- **all:** Auto-regenerate discovery clients
([#&#8203;3136](https://redirect.github.com/googleapis/google-api-go-client/issues/3136))
([fceda0c](fceda0cfc1))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-12 23:22:07 +00:00
Mend Renovate
2c3e7a0c1c chore(deps): update module github.com/microsoft/go-mssqldb to v1.8.1 (#551)
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.0` -> `v1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>

###
[`v1.8.1`](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.8.0...v1.8.1)

[Compare
Source](https://redirect.github.com/microsoft/go-mssqldb/compare/v1.8.0...v1.8.1)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
2025-05-12 16:17:19 -07:00
Mend Renovate
7138ed5f42 chore(deps): update module cloud.google.com/go/bigquery to v1.68.0 (#557)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/bigquery](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.67.0` -> `v1.68.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fbigquery/v1.68.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fbigquery/v1.68.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fbigquery/v1.67.0/v1.68.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fbigquery/v1.67.0/v1.68.0?slim=true)](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.

---

- [x] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-12 15:54:24 -07:00
Mend Renovate
54f2614edf chore(deps): update module github.com/couchbase/tools-common/http to v1.0.9 (#541)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/couchbase/tools-common/http](https://redirect.github.com/couchbase/tools-common)
| `v1.0.8` -> `v1.0.9` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcouchbase%2ftools-common%2fhttp/v1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcouchbase%2ftools-common%2fhttp/v1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcouchbase%2ftools-common%2fhttp/v1.0.8/v1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcouchbase%2ftools-common%2fhttp/v1.0.8/v1.0.9?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
2025-05-12 15:47:54 -07:00
Mend Renovate
6bcbadf948 chore(deps): update module cloud.google.com/go/spanner to v1.81.0 (#550)
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.80.0` -> `v1.81.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.81.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.81.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.80.0/v1.81.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.80.0/v1.81.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
2025-05-12 15:19:19 -07:00
Mend Renovate
e375317914 chore(deps): update actions/setup-go action to v5.5.0 (#548)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-go](https://redirect.github.com/actions/setup-go) |
action | minor | `v5.4.0` -> `v5.5.0` |

---

### Release Notes

<details>
<summary>actions/setup-go (actions/setup-go)</summary>

###
[`v5.5.0`](https://redirect.github.com/actions/setup-go/releases/tag/v5.5.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.4.0...v5.5.0)

##### What's Changed

##### Bug fixes:

- Update self-hosted environment validation by
[@&#8203;priyagupta108](https://redirect.github.com/priyagupta108) in
[https://github.com/actions/setup-go/pull/556](https://redirect.github.com/actions/setup-go/pull/556)
- Add manifest validation and improve error handling by
[@&#8203;priyagupta108](https://redirect.github.com/priyagupta108) in
[https://github.com/actions/setup-go/pull/586](https://redirect.github.com/actions/setup-go/pull/586)
- Update template link by
[@&#8203;jsoref](https://redirect.github.com/jsoref) in
[https://github.com/actions/setup-go/pull/527](https://redirect.github.com/actions/setup-go/pull/527)

##### Dependency  updates:

- Upgrade
[@&#8203;action/cache](https://redirect.github.com/action/cache) from
4.0.2 to 4.0.3 by
[@&#8203;aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in
[https://github.com/actions/setup-go/pull/574](https://redirect.github.com/actions/setup-go/pull/574)
- Upgrade
[@&#8203;actions/glob](https://redirect.github.com/actions/glob) from
0.4.0 to 0.5.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/573](https://redirect.github.com/actions/setup-go/pull/573)
- Upgrade ts-jest from 29.1.2 to 29.3.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/582](https://redirect.github.com/actions/setup-go/pull/582)
- Upgrade eslint-plugin-jest from 27.9.0 to 28.11.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/537](https://redirect.github.com/actions/setup-go/pull/537)

##### New Contributors

- [@&#8203;jsoref](https://redirect.github.com/jsoref) made their first
contribution in
[https://github.com/actions/setup-go/pull/527](https://redirect.github.com/actions/setup-go/pull/527)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.5.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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-12 14:00:52 -07:00
Wenxin Du
01e089cc34 docs: Update testing instruction in DEVELPER.md (#556)
We have refactored our tests. Fix instruction in DEVELOPER.md to match
the latest setting.
2025-05-12 16:04:05 -04:00
Jack Wotherspoon
352b3ed91c chore: update typo (#555)
Windsurf was formerly https://codeium.com/

updating typo `codium` --> `codeium`
2025-05-12 13:35:11 -04:00
Averi Kitsch
df31fa6680 docs: Add Dev Assist docs for AlloyDB (#546)
Co-authored-by: duwenxin <duwenxin@google.com>
2025-05-09 16:01:49 -04:00
Kurtis Van Gent
b2ff195831 chore: update diagram for couchbase (#547)
Update diagram to include Couchbase.
2025-05-08 15:07:24 -06:00
Jack Wotherspoon
00e3a87258 docs: update typo in export_telemetry.md (#549)
Changing "Connector" --> "Collector".
2025-05-08 11:48:53 -04:00
Wenxin Du
e747b6e289 fix: prevent tool calls through MCP when auth is required (#544)
MCP does not support the `authRequired` feature. Disallow all MCP Tool
call to Tools with `authRequired` set.

Fixes: https://github.com/googleapis/genai-toolbox/issues/543
2025-05-07 15:24:13 -04:00
Twisha Bansal
8834a36445 chore: auto update toolbox version in colab quickstarts (#534) 2025-05-07 10:50:49 +05:30
release-please[bot]
9a5d76e2dc chore(main): release 0.5.0 (#484)
🤖 I have created a release *beep* *boop*
---


##
[0.5.0](https://github.com/googleapis/genai-toolbox/compare/v0.4.0...v0.5.0)
(2025-05-06)


### Features

* Add Couchbase as Source and Tool
([#307](https://github.com/googleapis/genai-toolbox/issues/307))
([d7390b0](d7390b06b7))
* Add postgres-execute-sql tool
([#490](https://github.com/googleapis/genai-toolbox/issues/490))
([11ea7bc](11ea7bc584))


### Bug Fixes

* **deps:** Update module cloud.google.com/go/cloudsqlconn to v1.17.0
([#500](https://github.com/googleapis/genai-toolbox/issues/500))
([ad040cf](ad040cfb8b))
* **deps:** Update module cloud.google.com/go/spanner to v1.80.0
([#481](https://github.com/googleapis/genai-toolbox/issues/481))
([1e1348f](1e1348f5f0))
* **deps:** Update module google.golang.org/api to v0.231.0
([#505](https://github.com/googleapis/genai-toolbox/issues/505))
([50ec7f4](50ec7f4a06))

---
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>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-05-06 16:32:01 -06:00
Yuan
a087280fe2 docs: fix indentation for release please (#540) 2025-05-06 16:08:02 -06:00
Yuan
c26b2f4d9e test: add integration tests for postgres-execute-sql tool (#494)
Add `postgres-execute-sql` to compatible source's integration tests.
2025-05-06 15:42:22 -06:00
Averi Kitsch
31a1fe971a docs: add dev assist tools using MCP documentation (#510)
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-06 13:58:17 -07:00
Twisha Bansal
1d096de82f docs: use env-based project in LlamaIndex Quickstart (#531)
The `GoogleGenAI` llm directly takes in the `Project ID` [set
up](https://googleapis.github.io/genai-toolbox/samples/bigquery/local_quickstart/#before-you-begin)
in the quickstart.

Partially fixes https://github.com/googleapis/genai-toolbox/issues/518
2025-05-06 22:09:57 +05:30
Jack Wotherspoon
652dc5c2dd docs: update colab badge link (#536)
The "Open in Colab" badge on the getting started quickstart links to the
GitHub file and not the colab.

Updating it to properly point at
https://colab.research.google.com/github/googleapis/genai-toolbox/blob/main/docs/en/getting-started/colab_quickstart.ipynb
2025-05-06 19:56:54 +05:30
Anubhav Dhawan
1dce40fc26 docs: Bump Toolbox version in Colab Quickstart + fix typo (#533) 2025-05-06 16:51:52 +05:30
Anubhav Dhawan
717f43420a docs: Address connection issues in local quickstart with clearer guidance (#520)
Fix for #517 

This PR improves the Local Quickstart guide by adding troubleshooting
advice for common PostgreSQL connection issues in [step
1](https://googleapis.github.io/genai-toolbox/getting-started/local_quickstart/#step-1-set-up-your-database).

This reduces friction and improves the setup experience for users
following the local quickstart by addressing feedback in #517 regarding
difficulties in the initial database connection step.

### Problem
Users faced issues like password prompts or "role 'postgres' does not
exist" errors when trying to connect to PostgreSQL with `psql -h
127.0.0.1 -U postgres`.

### Solution
This PR adds a notice that provides solutions for common connection
errors, including guidance on using `sudo -i -u postgres` for peer
authentication.

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-05-06 11:24:59 +05:30
Mend Renovate
7c5ae0bf0b chore(deps): update module golang.org/x/oauth2 to v0.30.0 (#529)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/oauth2 | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2foauth2/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2foauth2/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2foauth2/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2foauth2/v0.29.0/v0.30.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-05 10:38:57 -06:00
Jack Wotherspoon
8b68764ef6 docs: update wording and typos for AuthServices (#525)
The wording for `Authorized Invocations` reads a bit funny and has a
typo.

Updating it to make a bit more sense and fixing a couple other typos
around auth.
2025-05-05 16:24:03 +00:00
Jack Wotherspoon
c7189e9fcf docs: use --tools-file over deprecated --tools_file (#524)
Updating docs to use the `--tools-file` flag over the now deprecated
`--tools_file`.

The new flag was added as of `v0.3.0` in #384 

This change reduces confusion as current usage in docs results in
following message on startup of Toolbox server:

```sh
Flag --tools_file has been deprecated, please use --tools-file instead
```

Fixes #514

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-05 16:16:40 +00:00
Jack Wotherspoon
8b635955fc docs: update typo in MySQL tool (#526)
Updating description of MySQL tool to properly mention MySQL as it
has a typo and currently says SQL Server.
2025-05-05 10:10:59 -06:00
Andrew Brook
91cc3e366d docs: replace 'product' with 'solution' (#522)
To better conform to Google Cloud terminology, Toolbox should be
referred to as a "solution" rather than a "product".
2025-05-02 17:40:32 -07:00
shyam-cb
d7390b06b7 feat: add Couchbase as Source and Tool (#307)
Added couchbase support to Genai Toolbox

---------

Co-authored-by: duwenxin <duwenxin@google.com>
2025-05-02 16:37:58 -04:00
Mend Renovate
724957b4a9 chore(deps): update module github.com/neo4j/neo4j-go-driver/v5 to v5.28.1 (#513)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/neo4j/neo4j-go-driver/v5](https://redirect.github.com/neo4j/neo4j-go-driver)
| `v5.28.0` -> `v5.28.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.0/v5.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.0/v5.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>neo4j/neo4j-go-driver
(github.com/neo4j/neo4j-go-driver/v5)</summary>

###
[`v5.28.1`](https://redirect.github.com/neo4j/neo4j-go-driver/releases/tag/v5.28.1)

[Compare
Source](https://redirect.github.com/neo4j/neo4j-go-driver/compare/v5.28.0...v5.28.1)

See https://github.com/neo4j/neo4j-go-driver/wiki/5.x-changelog for more
information.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-02 11:10:35 -07:00
Yuan
c891c8e7bc chore: update renovate bot commit message type (#521) 2025-05-02 17:57:51 +00:00
Yuan
11ea7bc584 feat: add postgres-execute-sql tool (#490)
This tool can be used across all postgres sources.

`postgres-execute-sql` config is as below:

```
tools:
  postgres_execute_sql_tool:
    kind: "postgres-execute-sql"
    source: my-alloydb-source // or any other sources that is compatible with this tool
    description: Use this tool to execute sql.
```

The `postgres-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/postgres_execute_sql_tool/invoke
```
2025-05-01 17:43:41 +00:00
Huan Chen
b2176c0e2f docs: update bigquery samples (#512)
1. Updated ADK dependencies.
2. Fixed sample code for Toolbox + ADK usage.
3. Updated the BigQuery MCP quickstart file to properly show the images.
2025-05-01 10:10:24 -07:00
Andrew Brook
f629df642b docs: update MCP Toolbox description (#504)
Minor edit to description of Toolbox to avoid some sensitivity around
production/enterprise suitability as that may imply compliance features
or guarantees which aren't suitable to an early stage product.

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-29 13:52:59 -07:00
Mend Renovate
50ec7f4a06 fix(deps): update module google.golang.org/api to v0.231.0 (#505)
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.230.0` -> `v0.231.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.231.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.231.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.230.0/v0.231.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.230.0/v0.231.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.231.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.231.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.230.0...v0.231.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3122](https://redirect.github.com/googleapis/google-api-go-client/issues/3122))
([47cbba6](47cbba61ec))
- **all:** Auto-regenerate discovery clients
([#&#8203;3124](https://redirect.github.com/googleapis/google-api-go-client/issues/3124))
([677b602](677b602b6f))
- **all:** Auto-regenerate discovery clients
([#&#8203;3125](https://redirect.github.com/googleapis/google-api-go-client/issues/3125))
([8ccf1f0](8ccf1f0897))
- **all:** Auto-regenerate discovery clients
([#&#8203;3126](https://redirect.github.com/googleapis/google-api-go-client/issues/3126))
([4059351](405935174a))
- **all:** Auto-regenerate discovery clients
([#&#8203;3127](https://redirect.github.com/googleapis/google-api-go-client/issues/3127))
([ae18b22](ae18b2206b))
- **all:** Auto-regenerate discovery clients
([#&#8203;3129](https://redirect.github.com/googleapis/google-api-go-client/issues/3129))
([c33e0d1](c33e0d153c))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-29 13:43:50 -07:00
Huan Chen
570d7caf4d docs: update title for bigquery docs (#503) 2025-04-29 15:08:57 -04:00
Yuan
a6c17c96f3 test: cleanup integration test (#498)
Remove cleaning `\\` or `\` in `got` and `want` strings of test cases.
This is to prevent future the need to manually clean strings before
comparing. This also allows us to be aware of the amount of backspace to
prevent accidental escaping in src code.

Update integration test that is affected. This includes moving the
`want` of test cases for `my-param-tool` invocation to each sources
since spanner have a different format (return id as strings instead of
int).
2025-04-29 11:57:47 -07:00
Yuan
b6cd99e859 chore(http): update invocation results formatting (#502)
Update http tools `Invoke` method.
* use `json.Unmarshal` for response body that are either list or json
map. This will allow us to return lists as is (e.g. `[{map}]` instead of
having to nest it in an additional list (e.g. `[]any{ [{map}] }`)
* for response body that are strings or fail to unmarshal, return it as
is.
2025-04-28 21:09:07 -07:00
Huan Chen
9ba6235106 docs: Create samples folder and add BigQuery MCP guide (#496)
1. Create `samples` folder
2. Moved BQ samples into `samples`
3. Add BigQuery MCP guide

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-28 18:16:57 -04:00
Mend Renovate
ad040cfb8b fix(deps): update module cloud.google.com/go/cloudsqlconn to v1.17.0 (#500)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/cloudsqlconn](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector)
| `v1.16.1` -> `v1.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.1/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.1/v1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/cloud-sql-go-connector
(cloud.google.com/go/cloudsqlconn)</summary>

###
[`v1.17.0`](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/releases/tag/v1.17.0)

[Compare
Source](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector/compare/v1.16.1...v1.17.0)

##### Features

- Update TLS validation to use both SAN and CN fields.
([#&#8203;979](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/979))
([df60a20](df60a2061d))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-28 13:45:12 -07:00
Yuan
644aecd9d2 chore: remove automated label sync (#499)
Remove label sync that don't apply for this repo.
2025-04-28 10:52:55 -07:00
Kurtis Van Gent
8646989f80 chore: Update SQLite-sql title (#493) 2025-04-25 22:55:55 +00:00
Kurtis Van Gent
d1c870c004 chore: update bigquery-sql title (#492) 2025-04-25 16:51:41 -06:00
Yuan
038262bbe1 chore: add new repo labels (#491) 2025-04-25 21:55:43 +00:00
Huan Chen
7add34b544 docs: Add BigQuery quickstart colab and guide (#485)
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-25 16:48:57 -04:00
Wenxin Du
b8dd50aded docs: Update IAM guide for Cloud SQL and AlloyDB (#480) 2025-04-25 15:27:12 -04:00
Mend Renovate
1e1348f5f0 fix(deps): update module cloud.google.com/go/spanner to v1.80.0 (#481)
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.79.0` -> `v1.80.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.80.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.80.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.79.0/v1.80.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.79.0/v1.80.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-24 10:13:39 -07:00
Yuan
59f4452755 ci: optimize integration tests with shared compile step (#477)
Reduces test time >50%.

Added a step to compile all test files and run tests based on the name.
Also separated all tests to it's own package.
2025-04-23 15:18:59 -07:00
Kurtis Van Gent
a352045116 docs: update diagram to include more supported databases (#478) 2025-04-23 14:01:14 -06:00
release-please[bot]
4ed16ccd18 chore(main): release 0.4.0 (#411)
🤖 I have created a release *beep* *boop*
---


##
[0.4.0](https://github.com/googleapis/genai-toolbox/compare/v0.3.0...v0.4.0)
(2025-04-23)


### Features

* Add `AuthRequired` to Neo4j & Dgraph Tools
([#434](https://github.com/googleapis/genai-toolbox/issues/434))
([afbf4b2](afbf4b2dae))
* Add `AuthRequired` to tool manifest
([#433](https://github.com/googleapis/genai-toolbox/issues/433))
([d9388ad](d9388ad57e))
* Add BigQuery source and tool
([#463](https://github.com/googleapis/genai-toolbox/issues/463))
([8055aa5](8055aa519f))
* Add Bigtable source and tool
([#418](https://github.com/googleapis/genai-toolbox/issues/418))
([ae53b8e](ae53b8eeff))
* Add IAM AuthN to AlloyDB Source
([#399](https://github.com/googleapis/genai-toolbox/issues/399))
([e8ed447](e8ed447d91))
* Add IAM AuthN to Cloud SQL Sources
([#414](https://github.com/googleapis/genai-toolbox/issues/414))
([be85b82](be85b82078))
* Add toolset feature to mcp
([#425](https://github.com/googleapis/genai-toolbox/issues/425))
([e307857](e307857085)),
closes [#403](https://github.com/googleapis/genai-toolbox/issues/403)
* Add SQLite source and tool
([#438](https://github.com/googleapis/genai-toolbox/issues/438))
([fc14cbf](fc14cbfd07))
* Support env replacement for tools.yaml
([#462](https://github.com/googleapis/genai-toolbox/issues/462))
([eadb678](eadb678a7b))


### Bug Fixes

* [#419](https://github.com/googleapis/genai-toolbox/issues/419) TLS
https URL for SSE endpoint
([#420](https://github.com/googleapis/genai-toolbox/issues/420))
([0a7d3ff](0a7d3ff06b))
* **docs:** Fix link 'Edit this page'
([#454](https://github.com/googleapis/genai-toolbox/issues/454))
([969065e](969065e561)),
closes [#427](https://github.com/googleapis/genai-toolbox/issues/427)
* Update http error code from invocation
([#468](https://github.com/googleapis/genai-toolbox/issues/468))
([ff7c0ff](ff7c0ffc65)),
closes [#465](https://github.com/googleapis/genai-toolbox/issues/465)

---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-23 13:22:25 -04:00
dependabot[bot]
fbeb2a9e59 chore(deps): bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 (#474)
Bumps
[github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) from
4.0.4 to 4.0.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/go-jose/go-jose/releases">github.com/go-jose/go-jose/v4's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.5</h2>
<h2>What's Changed</h2>
<ul>
<li>Don't allow unbounded amounts of splits by <a
href="https://github.com/mcpherrinm"><code>@​mcpherrinm</code></a> in <a
href="https://redirect.github.com/go-jose/go-jose/pull/167">go-jose/go-jose#167</a></li>
</ul>
<p>Fixes <a
href="https://github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78">https://github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78</a></p>
<p>Various other dependency updates, small fixes, and documentation
updates in the full changelog</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/tgeoghegan"><code>@​tgeoghegan</code></a> made
their first contribution in <a
href="https://redirect.github.com/go-jose/go-jose/pull/161">go-jose/go-jose#161</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/go-jose/go-jose/compare/v4.0.4...v4.0.5">https://github.com/go-jose/go-jose/compare/v4.0.4...v4.0.5</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/go-jose/go-jose/blob/main/CHANGELOG.md">github.com/go-jose/go-jose/v4's
changelog</a>.</em></p>
<blockquote>
<h2>Changed</h2>
<ul>
<li>Defined a custom error, ErrUnexpectedSignatureAlgorithm, returned
when a JWS
header contains an unsupported signature algorithm.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="99b346cec4"><code>99b346c</code></a>
Don't allow unbounded amounts of splits (<a
href="https://redirect.github.com/go-jose/go-jose/issues/167">#167</a>)</li>
<li><a
href="22811e77ba"><code>22811e7</code></a>
Fix broken link in README.md (<a
href="https://redirect.github.com/go-jose/go-jose/issues/161">#161</a>)</li>
<li><a
href="9dde8493b2"><code>9dde849</code></a>
Remove CLA mentions from CONTRIBUTING.md (<a
href="https://redirect.github.com/go-jose/go-jose/issues/160">#160</a>)</li>
<li><a
href="89172c5b51"><code>89172c5</code></a>
Bump golang.org/x/crypto from 0.31.0 to 0.32.0 (<a
href="https://redirect.github.com/go-jose/go-jose/issues/158">#158</a>)</li>
<li><a
href="ee05e01557"><code>ee05e01</code></a>
Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (<a
href="https://redirect.github.com/go-jose/go-jose/issues/157">#157</a>)</li>
<li><a
href="c0aef3ef5e"><code>c0aef3e</code></a>
Bump golang.org/x/crypto from 0.25.0 to 0.31.0 (<a
href="https://redirect.github.com/go-jose/go-jose/issues/156">#156</a>)</li>
<li><a
href="fdc2ceb0bb"><code>fdc2ceb</code></a>
Remove export disclaimer (<a
href="https://redirect.github.com/go-jose/go-jose/issues/146">#146</a>)</li>
<li><a
href="10c69ef86e"><code>10c69ef</code></a>
Short circuit return errors from <code>JSONWebKey.UnmarshalJSON()</code>
(<a
href="https://redirect.github.com/go-jose/go-jose/issues/141">#141</a>)</li>
<li>See full diff in <a
href="https://github.com/go-jose/go-jose/compare/v4.0.4...v4.0.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-jose/go-jose/v4&package-manager=go_modules&previous-version=4.0.4&new-version=4.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/googleapis/genai-toolbox/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-23 13:04:06 -04:00
Wenxin Du
d9388ad57e feat: Add AuthRequired to Tool Manifest (#433)
Add `AuthRequired` to Tool Manifest so SDK could throw an error early
for unauthorized Tool invocations.
SDK changes:
https://github.com/googleapis/mcp-toolbox-sdk-python/pull/72/files

Also added `authRequired` to Neo4j and dgraph tools.
2025-04-23 12:52:04 -04:00
Mend Renovate
8014eea033 fix(deps): update module modernc.org/sqlite to v1.37.0 (#471)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.21.2` ->
`v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/modernc.org%2fsqlite/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/modernc.org%2fsqlite/v1.21.2/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.21.2/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cznic/sqlite (modernc.org/sqlite)</summary>

###
[`v1.37.0`](https://gitlab.com/cznic/sqlite/compare/v1.36.3...v1.37.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.36.3...v1.37.0)

###
[`v1.36.3`](https://gitlab.com/cznic/sqlite/compare/v1.36.2...v1.36.3)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.36.2...v1.36.3)

###
[`v1.36.2`](https://gitlab.com/cznic/sqlite/compare/v1.36.1...v1.36.2)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.36.1...v1.36.2)

###
[`v1.36.1`](https://gitlab.com/cznic/sqlite/compare/v1.36.0...v1.36.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.36.0...v1.36.1)

###
[`v1.36.0`](https://gitlab.com/cznic/sqlite/compare/v1.35.0...v1.36.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.35.0...v1.36.0)

###
[`v1.35.0`](https://gitlab.com/cznic/sqlite/compare/v1.34.5...v1.35.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.5...v1.35.0)

###
[`v1.34.5`](https://gitlab.com/cznic/sqlite/compare/v1.34.4...v1.34.5)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.4...v1.34.5)

###
[`v1.34.4`](https://gitlab.com/cznic/sqlite/compare/v1.34.3...v1.34.4)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.3...v1.34.4)

###
[`v1.34.3`](https://gitlab.com/cznic/sqlite/compare/v1.34.2...v1.34.3)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.2...v1.34.3)

###
[`v1.34.2`](https://gitlab.com/cznic/sqlite/compare/v1.34.1...v1.34.2)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.1...v1.34.2)

###
[`v1.34.1`](https://gitlab.com/cznic/sqlite/compare/v1.34.0...v1.34.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.34.0...v1.34.1)

###
[`v1.34.0`](https://gitlab.com/cznic/sqlite/compare/v1.33.1...v1.34.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.33.1...v1.34.0)

###
[`v1.33.1`](https://gitlab.com/cznic/sqlite/compare/v1.33.0...v1.33.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.33.0...v1.33.1)

###
[`v1.33.0`](https://gitlab.com/cznic/sqlite/compare/v1.32.0...v1.33.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.32.0...v1.33.0)

###
[`v1.32.0`](https://gitlab.com/cznic/sqlite/compare/v1.31.1...v1.32.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.31.1...v1.32.0)

###
[`v1.31.1`](https://gitlab.com/cznic/sqlite/compare/v1.31.0...v1.31.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.31.0...v1.31.1)

###
[`v1.31.0`](https://gitlab.com/cznic/sqlite/compare/v1.30.2...v1.31.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.30.2...v1.31.0)

###
[`v1.30.2`](https://gitlab.com/cznic/sqlite/compare/v1.30.1...v1.30.2)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.30.1...v1.30.2)

###
[`v1.30.1`](https://gitlab.com/cznic/sqlite/compare/v1.30.0...v1.30.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.30.0...v1.30.1)

###
[`v1.30.0`](https://gitlab.com/cznic/sqlite/compare/v1.29.10...v1.30.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.10...v1.30.0)

###
[`v1.29.10`](https://gitlab.com/cznic/sqlite/compare/v1.29.9...v1.29.10)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.9...v1.29.10)

###
[`v1.29.9`](https://gitlab.com/cznic/sqlite/compare/v1.29.8...v1.29.9)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.8...v1.29.9)

###
[`v1.29.8`](https://gitlab.com/cznic/sqlite/compare/v1.29.7...v1.29.8)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.7...v1.29.8)

###
[`v1.29.7`](https://gitlab.com/cznic/sqlite/compare/v1.29.6...v1.29.7)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.6...v1.29.7)

###
[`v1.29.6`](https://gitlab.com/cznic/sqlite/compare/v1.29.5...v1.29.6)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.5...v1.29.6)

###
[`v1.29.5`](https://gitlab.com/cznic/sqlite/compare/v1.29.4...v1.29.5)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.4...v1.29.5)

###
[`v1.29.4`](https://gitlab.com/cznic/sqlite/compare/v1.29.3...v1.29.4)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.3...v1.29.4)

###
[`v1.29.3`](https://gitlab.com/cznic/sqlite/compare/v1.29.2...v1.29.3)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.2...v1.29.3)

###
[`v1.29.2`](https://gitlab.com/cznic/sqlite/compare/v1.29.1...v1.29.2)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.1...v1.29.2)

###
[`v1.29.1`](https://gitlab.com/cznic/sqlite/compare/v1.29.0...v1.29.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.0...v1.29.1)

###
[`v1.29.0`](https://gitlab.com/cznic/sqlite/compare/v1.28.0...v1.29.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.28.0...v1.29.0)

###
[`v1.28.0`](https://gitlab.com/cznic/sqlite/compare/v1.27.0...v1.28.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.27.0...v1.28.0)

###
[`v1.27.0`](https://gitlab.com/cznic/sqlite/compare/v1.26.0...v1.27.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.26.0...v1.27.0)

###
[`v1.26.0`](https://gitlab.com/cznic/sqlite/compare/v1.25.0...v1.26.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.25.0...v1.26.0)

###
[`v1.25.0`](https://gitlab.com/cznic/sqlite/compare/v1.24.0...v1.25.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.24.0...v1.25.0)

###
[`v1.24.0`](https://gitlab.com/cznic/sqlite/compare/v1.23.1...v1.24.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.23.1...v1.24.0)

###
[`v1.23.1`](https://gitlab.com/cznic/sqlite/compare/v1.23.0...v1.23.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.23.0...v1.23.1)

###
[`v1.23.0`](https://gitlab.com/cznic/sqlite/compare/v1.22.1...v1.23.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.22.1...v1.23.0)

###
[`v1.22.1`](https://gitlab.com/cznic/sqlite/compare/v1.22.0...v1.22.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.22.0...v1.22.1)

###
[`v1.22.0`](https://gitlab.com/cznic/sqlite/compare/v1.21.2...v1.22.0)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.21.2...v1.22.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-23 12:42:13 -04:00
Mend Renovate
b61ae8f02f fix(deps): update module google.golang.org/api to v0.230.0 (#467)
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.229.0` -> `v0.230.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.230.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.230.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.229.0/v0.230.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.229.0/v0.230.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.230.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.230.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.229.0...v0.230.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3111](https://redirect.github.com/googleapis/google-api-go-client/issues/3111))
([59f08c8](59f08c8d98))
- **all:** Auto-regenerate discovery clients
([#&#8203;3113](https://redirect.github.com/googleapis/google-api-go-client/issues/3113))
([40e4fb1](40e4fb1ee0))
- **all:** Auto-regenerate discovery clients
([#&#8203;3114](https://redirect.github.com/googleapis/google-api-go-client/issues/3114))
([f0bb0a1](f0bb0a1315))
- **all:** Auto-regenerate discovery clients
([#&#8203;3115](https://redirect.github.com/googleapis/google-api-go-client/issues/3115))
([c122b14](c122b14b51))
- **all:** Auto-regenerate discovery clients
([#&#8203;3117](https://redirect.github.com/googleapis/google-api-go-client/issues/3117))
([1c0aadb](1c0aadbeaf))
- **all:** Auto-regenerate discovery clients
([#&#8203;3118](https://redirect.github.com/googleapis/google-api-go-client/issues/3118))
([2b6fa61](2b6fa61936))
- **all:** Auto-regenerate discovery clients
([#&#8203;3120](https://redirect.github.com/googleapis/google-api-go-client/issues/3120))
([18c546e](18c546ede7))
- **all:** Auto-regenerate discovery clients
([#&#8203;3121](https://redirect.github.com/googleapis/google-api-go-client/issues/3121))
([ff1b166](ff1b166e45))

##### Bug Fixes

- Removes-redundant
([#&#8203;3095](https://redirect.github.com/googleapis/google-api-go-client/issues/3095))
([9e9ff11](9e9ff112ac))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-23 12:24:31 -04:00
Mend Renovate
aade563c86 fix(deps): update module cloud.google.com/go/bigquery to v1.67.0 (#469)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/bigquery](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.66.2` -> `v1.67.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fbigquery/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fbigquery/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fbigquery/v1.66.2/v1.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fbigquery/v1.66.2/v1.67.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-23 11:04:04 -04:00
Wenxin Du
4dfeeec240 ci: Correct excluded file in unit test coverage (#470)
unit test coverage 44.6% --> 53.6
2025-04-23 14:31:54 +00:00
Wenxin Du
0c0d7b8637 chore: Add user agent to Bigtable and BigQuery (#473)
Add user agent for metrics tracing.
2025-04-23 10:20:24 -04:00
Wenxin Du
eadb678a7b feat: Support env replacement for tool.yaml (#462)
Environment variable replacement is needed so that users don't have to
hardcode their secrets in configuring `tools.yaml`.
Both formats `$ENV_NAME` and `${ENV_NAME}` are standard ways to declare
an environment variable.
However, some database statement placeholders that are already using the
`$ENV_NAME` format.
Therefore, we only support env var declaration using `${ENV_NAME}` to
disambiguate it from other usages.

Fixes issue: https://github.com/googleapis/genai-toolbox/issues/431
2025-04-23 07:33:02 -04:00
waqarahmed6095
fc14cbfd07 feat: sqlite implementation (#438)
Adding sqlite implementation

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-04-22 22:25:53 -07:00
Huan Chen
8055aa519f feat: Add BigQuery source and tool (#463)
A `BigQuery` source can be added as the following example:

```yaml
sources:
  my-bigquery-source:
    kind: bigquery
    project: bigframes-dev
    location: us # This field is optional
```

A `BigQuery` tool can be added as below:
```yaml
tools:
  search-hotels-by-name:
    kind: bigquery-sql
    source: my-bigquery-source
    description: Search for hotels based on name.
    parameters:
      - name: name
        type: string
        description: The name of the hotel.
```

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-22 20:37:38 -06:00
Yuan
ff7c0ffc65 fix: update http error code from invocation (#468)
Update http error code for invocation failure. Invocation may fail if
user fail to provide required parameter etc.

Fixes #465
2025-04-23 02:05:10 +00:00
Wenxin Du
073ca58ac1 ci: Increase unit test coverage (#466)
Add unit test for Tool invoke handler.
Exclude config.go from coverage calculation.

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-23 01:57:46 +00:00
Yuan
ba0d6489eb test: cleanup mcp in integration tests (#461)
fix previous error in mcp integration tests. 

Add MCP integration tests to alloydb ai nl and bigtable.
2025-04-22 10:23:09 -07:00
Michael Hunger
53ce38021d docs: add tested clients table (#428)
Added a table with supported clients for MCP Server

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-22 10:11:52 -07:00
Yuan
43490dfa81 chore: remove request headers from logging (#464) 2025-04-22 09:51:52 -07:00
Wenxin Du
afbf4b2dae feat: Add AuthRequired to neo4j & dgraph Tools (#434)
neo4j & dgraph Tools are missing the `AuthRequired` fields.
2025-04-21 17:53:55 -04:00
Yuan
dced46ad88 chore: cleanup go context (#457) 2025-04-21 20:16:05 +00:00
Twisha Bansal
ba1d52aa04 docs: add ADK to colab quickstart (#459) 2025-04-21 14:14:59 +00:00
Twisha Bansal
2c3f00c0cd docs: better response messages for ADK agent (#460) 2025-04-21 19:41:46 +05:30
Twisha Bansal
71132d05d2 docs: add ADK in quickstart intro (#458) 2025-04-21 18:02:23 +05:30
F. Hinkelmann
c4de4be044 docs: add ADK to local quickstart (#439)
Add ADK to the local quickstart.

---------

Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
2025-04-21 06:24:31 +00:00
Andreas Deininger
59a14a2322 chore: Set content dir via mount (#455)
This PR changes the way the content dir is configured: it is now
configured via a module mount.
As described in the [official
docs](https://gohugo.io/configuration/all/#contentdir), this is a more
flexible approach to configure this directory.

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-18 15:00:26 -07:00
Kurtis Van Gent
12a4f564b7 ci(docs): fix docs deploy when changes in .hugo folder (#456) 2025-04-18 13:55:02 -07:00
Andreas Deininger
969065e561 fix(docs): fix link 'Edit this page' (#454)
This PR fixes https://github.com/google/docsy/issues/2218.

This PR adds `layouts/partials/page-meta-links.html` to your repo which
takes precedence over the original file from docsy theme (which is
faulty). Don't forget to remove this file again once this issue is fixed
in the docsy theme.

fixes #427
2025-04-18 13:38:04 -07:00
Mend Renovate
b690f5ddc2 fix(deps): update module cloud.google.com/go/bigtable to v1.37.0 (#452)
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.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fbigtable/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fbigtable/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fbigtable/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fbigtable/v1.36.0/v1.37.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-18 11:23:56 -07:00
Mend Renovate
68502951ea chore(deps): update dependency go to v1.24.2 (#366)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/)
([source](https://redirect.github.com/golang/go)) | toolchain | minor |
`1.23.2` -> `1.24.2` |

---

### Release Notes

<details>
<summary>golang/go (go)</summary>

###
[`v1.24.2`](https://redirect.github.com/golang/go/compare/go1.24.1...go1.24.2)

###
[`v1.24.1`](https://redirect.github.com/golang/go/compare/go1.24.0...go1.24.1)

###
[`v1.24.0`](https://redirect.github.com/golang/go/compare/go1.23.6...go1.24.0)

###
[`v1.23.8`](https://redirect.github.com/golang/go/compare/go1.23.7...go1.23.8)

###
[`v1.23.7`](https://redirect.github.com/golang/go/compare/go1.23.6...go1.23.7)

###
[`v1.23.6`](https://redirect.github.com/golang/go/compare/go1.23.5...go1.23.6)

###
[`v1.23.5`](https://redirect.github.com/golang/go/compare/go1.23.4...go1.23.5)

###
[`v1.23.4`](https://redirect.github.com/golang/go/compare/go1.23.3...go1.23.4)

###
[`v1.23.3`](https://redirect.github.com/golang/go/compare/go1.23.2...go1.23.3)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-18 12:08:26 -06:00
Andreas Deininger
8954fb0378 chore(docs): fix duplicate persistance key warning (#453)
When previewing the site, warnings are printed out:

```
WARN  Shortcode "tabpane": duplicate tab-persistence key "yaml" detected, disabling persistence to avoid multiple tab display.
```

This PR fixes these issues.

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-18 11:25:57 -06:00
An Nguyen
ae53b8eeff feat: Add Bigtable source and tool (#418)
# Add Bigtable support

A `bigtable` source can be added as the following example

```
sources:
  test-bigtable-source:
    kind: "bigtable"
    project: "sample-project"
    instance: "sample-instance"
```

A `bigtable` tool can be added as below

```
tools:
  get-test-tool-data:
    kind: bigtable-sql
    source: test-bigtable-source
    description: Some description
    statement: SELECT * FROM `test-table` WHERE address['state'] = @state;
    parameters:
      - name: state
        type: string
        description: Filter by state
```

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-18 10:48:28 -06:00
Andreas Deininger
91f4402a71 Fix typos (#451)
This PR fixes a few typos I spotted in the project.
2025-04-17 17:40:43 -07:00
Wenxin Du
52b09a67cb doc: Add local integration testing instruction (#449)
Instructions for external contributors to run integration test locally.
2025-04-17 14:39:47 -04:00
Yuan
4eb78fb2ac docs(mcp): add toolset feature to mcp doc (#450)
Add instructions on using toolset in docs.
Also added toolset to the quickstart example to reflect that we support
toolset within mcp and be consistent with the local quickstart.
2025-04-16 17:40:24 -07:00
Mend Renovate
6cb407969b fix(deps): update module cloud.google.com/go/alloydbconn to v1.15.1 (#440)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/alloydbconn](https://redirect.github.com/googlecloudplatform/alloydb-go-connector)
| `v1.15.0` -> `v1.15.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2falloydbconn/v1.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2falloydbconn/v1.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2falloydbconn/v1.15.0/v1.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2falloydbconn/v1.15.0/v1.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/alloydb-go-connector
(cloud.google.com/go/alloydbconn)</summary>

###
[`v1.15.1`](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/releases/tag/v1.15.1)

[Compare
Source](https://redirect.github.com/googlecloudplatform/alloydb-go-connector/compare/v1.15.0...v1.15.1)

##### Bug Fixes

- configure Cloud Monitoring client correctly
([#&#8203;673](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/issues/673))
([91d86af](91d86aff04))
- shut down the internal exporter only once
([#&#8203;671](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/issues/671))
([16a6782](16a67829b4)),
closes
[#&#8203;776](https://redirect.github.com/GoogleCloudPlatform/alloydb-go-connector/issues/776)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-16 15:40:32 -07:00
Mend Renovate
c5c1172170 chore(deps): update actions/setup-node digest to 49933ea (#436)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | digest | `cdca736` -> `49933ea` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-16 15:20:13 -07:00
Mend Renovate
b3be1ffa3c fix(deps): update module google.golang.org/api to v0.229.0 (#442)
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.228.0` -> `v0.229.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.229.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.229.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.228.0/v0.229.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.228.0/v0.229.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.229.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.229.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.228.0...v0.229.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3082](https://redirect.github.com/googleapis/google-api-go-client/issues/3082))
([ab1e35b](ab1e35bd92))
- **all:** Auto-regenerate discovery clients
([#&#8203;3084](https://redirect.github.com/googleapis/google-api-go-client/issues/3084))
([eab2179](eab21799a2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3085](https://redirect.github.com/googleapis/google-api-go-client/issues/3085))
([9af4079](9af4079c0c))
- **all:** Auto-regenerate discovery clients
([#&#8203;3086](https://redirect.github.com/googleapis/google-api-go-client/issues/3086))
([9c927b6](9c927b6514))
- **all:** Auto-regenerate discovery clients
([#&#8203;3087](https://redirect.github.com/googleapis/google-api-go-client/issues/3087))
([3c387cd](3c387cdc0b))
- **all:** Auto-regenerate discovery clients
([#&#8203;3089](https://redirect.github.com/googleapis/google-api-go-client/issues/3089))
([b64e792](b64e792916))
- **all:** Auto-regenerate discovery clients
([#&#8203;3090](https://redirect.github.com/googleapis/google-api-go-client/issues/3090))
([65fc9d3](65fc9d3edb))
- **all:** Auto-regenerate discovery clients
([#&#8203;3093](https://redirect.github.com/googleapis/google-api-go-client/issues/3093))
([3a51a3a](3a51a3a77e))
- **all:** Auto-regenerate discovery clients
([#&#8203;3094](https://redirect.github.com/googleapis/google-api-go-client/issues/3094))
([ca84516](ca845161fd))
- **all:** Auto-regenerate discovery clients
([#&#8203;3096](https://redirect.github.com/googleapis/google-api-go-client/issues/3096))
([9e992f4](9e992f492d))
- **all:** Auto-regenerate discovery clients
([#&#8203;3097](https://redirect.github.com/googleapis/google-api-go-client/issues/3097))
([c09b6a9](c09b6a9455))
- **all:** Auto-regenerate discovery clients
([#&#8203;3099](https://redirect.github.com/googleapis/google-api-go-client/issues/3099))
([66d2175](66d217562f))
- **all:** Auto-regenerate discovery clients
([#&#8203;3101](https://redirect.github.com/googleapis/google-api-go-client/issues/3101))
([9ad998b](9ad998bc30))
- **all:** Auto-regenerate discovery clients
([#&#8203;3102](https://redirect.github.com/googleapis/google-api-go-client/issues/3102))
([70d6fb2](70d6fb2593))
- **all:** Auto-regenerate discovery clients
([#&#8203;3103](https://redirect.github.com/googleapis/google-api-go-client/issues/3103))
([414e575](414e575dda))
- **all:** Auto-regenerate discovery clients
([#&#8203;3104](https://redirect.github.com/googleapis/google-api-go-client/issues/3104))
([91f6589](91f6589572))
- **all:** Auto-regenerate discovery clients
([#&#8203;3105](https://redirect.github.com/googleapis/google-api-go-client/issues/3105))
([1c5ea6c](1c5ea6cfdd))
- **all:** Auto-regenerate discovery clients
([#&#8203;3106](https://redirect.github.com/googleapis/google-api-go-client/issues/3106))
([fabfddf](fabfddf970))
- **all:** Auto-regenerate discovery clients
([#&#8203;3107](https://redirect.github.com/googleapis/google-api-go-client/issues/3107))
([ecbc1a9](ecbc1a9e09))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-16 15:16:02 -07:00
Mend Renovate
a64e7c1e1a fix(deps): update module cloud.google.com/go/cloudsqlconn to v1.16.1 (#448)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/cloudsqlconn](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector)
| `v1.16.0` -> `v1.16.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.0/v1.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.0/v1.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googlecloudplatform/cloud-sql-go-connector
(cloud.google.com/go/cloudsqlconn)</summary>

###
[`v1.16.1`](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/releases/tag/v1.16.1)

[Compare
Source](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector/compare/v1.16.0...v1.16.1)

##### Bug Fixes

- bump dependencies to latest
([#&#8203;968](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/968))
([bb3c9f4](bb3c9f4cb3))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-16 15:02:20 -07:00
dependabot[bot]
0106a1ebfd chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 (#447)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to
0.38.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e1fcd82abb"><code>e1fcd82</code></a>
html: properly handle trailing solidus in unquoted attribute value in
foreign...</li>
<li><a
href="ebed060e8f"><code>ebed060</code></a>
internal/http3: fix build of tests with GOEXPERIMENT=nosynctest</li>
<li><a
href="1f1fa29e0a"><code>1f1fa29</code></a>
publicsuffix: regenerate table</li>
<li><a
href="12150816f7"><code>1215081</code></a>
http2: improve error when server sends HTTP/1</li>
<li><a
href="312450e473"><code>312450e</code></a>
html: ensure &lt;search&gt; tag closes &lt;p&gt; and update tests</li>
<li><a
href="09731f9bf9"><code>09731f9</code></a>
http2: improve handling of lost PING in Server</li>
<li><a
href="55989e24b9"><code>55989e2</code></a>
http2/h2c: use ResponseController for hijacking connections</li>
<li><a
href="2914f46773"><code>2914f46</code></a>
websocket: re-recommend gorilla/websocket</li>
<li>See full diff in <a
href="https://github.com/golang/net/compare/v0.37.0...v0.38.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/net&package-manager=go_modules&previous-version=0.37.0&new-version=0.38.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/googleapis/genai-toolbox/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-16 14:48:58 -07:00
Yuan
1a8a360305 test(server/mcp): add tls unit test (#426)
Refactor common test so that we can run both non-tls test server and tls
test server.
Add unit test for tls server in MCP sse endpoint test cases.
2025-04-16 14:31:22 -07:00
Yuan
e307857085 feat: add toolset feature to mcp (#425)
Update MCP server to support toolset.

User can now connect to specific toolset's sse via
`/mcp/{toolset_name}/sse` url, or POST to `/mcp/{toolset_name}`. If
toolset_name is not provided, it will list all tools by default.

Fixes #403
2025-04-16 14:11:53 -07:00
Wenxin Du
29560d66a0 ci: Add Spanner integration tests (#441)
Add Spanner integration tests
2025-04-16 17:04:50 -04:00
Kurtis Van Gent
4dba0df12d chore(ci/cd): pin version of hugo (#444)
Hugo's recent release seems to have broken docsy:
https://github.com/gohugoio/hugo/issues/13599
There's a fix in progress: https://github.com/google/docsy/pull/2215

To unblock CI/CD, I've pinned hugo to 0.145.0 instead.
2025-04-15 09:55:28 +05:30
Kurtis Van Gent
e99655ab68 chore: correct ISSUE_TEMPLATE folder name (#432) 2025-04-10 13:28:28 -07:00
Twisha Bansal
62e8d7bec4 chore: fix link (#430) 2025-04-10 11:33:34 +00:00
Twisha Bansal
f232e5387e docs: make quickstart async-first (#421) 2025-04-10 17:00:48 +05:30
Twisha Bansal
e9bd41aa18 docs: added toolbox-core to toolbox documentation (#424) 2025-04-10 14:10:38 +05:30
Twisha Bansal
f1ca030038 docs: Modify quickstart introduction (#429) 2025-04-10 14:07:19 +05:30
Twisha Bansal
7ea3c904ce docs: Add a toolbox-core quickstart (#407)
Co-authored-by: Anubhav Dhawan <anubhavdhawan@google.com>
2025-04-10 05:05:57 +00:00
Michael Hunger
0a7d3ff06b fix: #419 TLS https URL for SSE endpoint (#420)
Fixes that in SSL deployments, e.g. on k8s or cloud run the SSE endpoint
was statically returning `http:`

not a scheme based on request TLS attribute.

Fixes https://github.com/googleapis/genai-toolbox/issues/419

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-09 11:43:23 -07:00
Twisha Bansal
cf967452e1 chore: rename sdk repo to mcp-toolbox-sdk-python (#423) 2025-04-09 23:19:56 +05:30
Twisha Bansal
73332b9b9e chore: add toolbox-core to readme (#422) 2025-04-09 14:22:11 +05:30
Twisha Bansal
6b907db9f0 chore: fix link (#417) 2025-04-08 21:32:30 +00:00
Mend Renovate
21b82c10c2 fix(deps): update module cloud.google.com/go/spanner to v1.79.0 (#415)
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.78.0` -> `v1.79.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.78.0/v1.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.78.0/v1.79.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzUuMiIsInVwZGF0ZWRJblZlciI6IjM5LjIzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-08 14:29:36 -07:00
Mend Renovate
6638fbb3a0 fix(deps): update module github.com/go-sql-driver/mysql to v1.9.2 (#408)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/go-sql-driver/mysql](https://redirect.github.com/go-sql-driver/mysql)
| `v1.9.1` -> `v1.9.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.9.1/v1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.9.1/v1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary>

###
[`v1.9.2`](https://redirect.github.com/go-sql-driver/mysql/blob/HEAD/CHANGELOG.md#v192-2025-04-07)

[Compare
Source](https://redirect.github.com/go-sql-driver/mysql/compare/v1.9.1...v1.9.2)

v1.9.2 is a re-release of v1.9.1 due to a release process issue; no
changes were made to the content.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-08 17:15:13 -04:00
Mend Renovate
92ed74a4df fix(deps): update module golang.org/x/oauth2 to v0.29.0 (#416)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/oauth2 | `v0.28.0` -> `v0.29.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2foauth2/v0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2foauth2/v0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2foauth2/v0.28.0/v0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2foauth2/v0.28.0/v0.29.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzUuMiIsInVwZGF0ZWRJblZlciI6IjM5LjIzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-08 14:02:07 -07:00
Wenxin Du
be85b82078 feat: add IAM AuthN to Cloud SQL Sources (#414)
Add IAM support for Cloud SQL source connection using Go language
connector:
https://pkg.go.dev/cloud.google.com/go/cloudsqlconn#section-readme
2025-04-08 16:26:00 -04:00
Wenxin Du
e8ed447d91 feat: Add IAM authentication to AlloyDB Source (#399)
Add IAM support for AlloyDB source connection:
https://pkg.go.dev/cloud.google.com/go/alloydbconn#section-readme
2025-04-08 13:02:44 -04:00
Kurtis Van Gent
8ef32cc73a chore: rebrand as MCP Toolbox (#412) 2025-04-07 15:46:20 -06:00
Yuan
75d2296d7a chore: add debug logs (#409)
Add debug logs to API and MCP server.

Example of debug logs added:
```
2025-04-07T11:12:04.62309-07:00 DEBUG "tool name: list_flights_by_arrival_airport"
2025-04-07T11:12:04.623264-07:00 DEBUG "tool invocation authorized"
2025-04-07T11:12:04.623717-07:00 DEBUG "invocation params: [{departure_airport SFO} {date 2025-04-07}]"
```
2025-04-07 12:27:31 -07:00
Yuan
b81feb61e6 fix: run linter (#410) 2025-04-07 11:18:04 -07:00
Kurtis Van Gent
d8fc6bdb6f chore: add issue forms (#404)
Add new issue forms.
2025-04-07 16:48:41 +00:00
Twisha Bansal
5cf4b8fea1 chore: remove default project id from quickstart colab. (#405) 2025-04-07 19:00:43 +05:30
Anubhav Dhawan
a9905cf39e doc: fix typo in the MCP Quickstart (#401) 2025-04-05 21:26:23 +00:00
Anubhav Dhawan
460fe5c944 doc: fix minor typo in MCP guide (#402) 2025-04-05 15:13:21 -06:00
release-please[bot]
12222fe27a chore(main): release 0.3.0 (#382)
🤖 I have created a release *beep* *boop*
---


##
[0.3.0](https://github.com/googleapis/genai-toolbox/compare/v0.2.1...v0.3.0)
(2025-04-04)


### Features

* Add 'alloydb-ai-nl' tool
([#358](https://github.com/googleapis/genai-toolbox/issues/358))
([f02885f](f02885fd4a))
* Add HTTP Source and Tool
([#332](https://github.com/googleapis/genai-toolbox/issues/332))
([64da5b4](64da5b4efe))
* Adding support for Model Context Protocol (MCP).
([#396](https://github.com/googleapis/genai-toolbox/issues/396))
([a7d1d4e](a7d1d4eb2a))
* Added [toolbox-core](https://pypi.org/project/toolbox-core/) SDK –
easily integrate Toolbox into any Python function calling framework


### Bug Fixes

* Add `tools-file` flag and deprecate `tools_file`
([#384](https://github.com/googleapis/genai-toolbox/issues/384))
([34a7263](34a7263fdc)),
closes [#383](https://github.com/googleapis/genai-toolbox/issues/383)

---
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: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-04 11:51:23 -07:00
Yuan
ea140969cf docs: add mcp quickstart docs to release please updates (#398) 2025-04-04 18:39:53 +00:00
totoleon
f02885fd4a feat: add 'alloydb-ai-nl' tool (#358)
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-04 11:30:58 -07:00
Yuan
a7d1d4eb2a feat: adding support for Model Context Protocol (MCP). (#396)
Adding Toolbox support for MCP. Toolbox can now be run as an MCP server.

Fixes #312.

---------

Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-04-04 18:24:34 +00:00
Wenxin Du
55dff38db2 Revert "ci: Increase Cloud Build vCPU" (#394)
Revert "ci: Increase Cloud Build vCPU"
2025-04-04 13:47:25 -04:00
Andrew Brook
c46f271fa0 docs: fix typo in http tool (#393)
Fixed a typo in the doc for HTTP tool

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-04 11:03:59 -06:00
Wenxin Du
37ecfde466 ci: Increase Cloud Build vCPU (#392)
Integration test encountered `signal: killed` error and could be due to
out-of-memory issue. Try increasing the Cloud Build vCPU:
https://cloud.google.com/build/docs/optimize-builds/increase-vcpu-for-builds
2025-04-04 16:27:12 +00:00
Wenxin Du
cfffe83936 docs: fix misc typos (#364)
fix some typos and formats in code & docs
`neo4jrc` should be `neo4jsrc`
2025-04-04 12:21:24 -04:00
Yuan
460e9e19b4 docs: add docs to run unit tests (#388)
Add docs to run unit test on GitHub.
2025-04-03 11:31:12 -07:00
Yuan
34a7263fdc fix: add tools-file flag and deprecate tools_file (#384)
Add `tools-file` flag and deprecate `tools_file` flag. This is not a
breaking change. The old `tools_file` flag is still usable.

User will see the following message when using `tools_file` flag: 
```
Flag --tools_file has been deprecated, please use --tools-file instead
2025-04-03T10:09:12.803165-07:00 INFO "Initialized 2 sources."
```

Help command will reveal the new flag: 
```
...
      --telemetry-service-name string   Sets the value of the service.name resource attribute for telemetry data. (default "toolbox")
      --tools-file string               File path specifying the tool configuration. (default "tools.yaml")
  -v, --version                         version for toolbox
...
```

Fixes #383
2025-04-03 11:09:31 -07:00
Mend Renovate
3846951440 fix(deps): update opentelemetry-go monorepo to v1.35.0 (#378)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.33.0` -> `v1.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.33.0/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.33.0/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.33.0` -> `v1.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.33.0/v1.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.33.0/v1.35.0?slim=true)](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>open-telemetry/opentelemetry-go
(go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp)</summary>

###
[`v1.35.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.35.0):
/v0.57.0/v0.11.0

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0)

##### Overview

This release is the last to support [Go 1.22].
The next release will require at least [Go 1.23].

##### Added

- Add `ValueFromAttribute` and `KeyValueFromAttribute` in
`go.opentelemetry.io/otel/log`.
([#&#8203;6180](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6180))
- Add `EventName` and `SetEventName` to `Record` in
`go.opentelemetry.io/otel/log`.
([#&#8203;6187](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6187))
- Add `EventName` to `RecordFactory` in
`go.opentelemetry.io/otel/log/logtest`.
([#&#8203;6187](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6187))
- `AssertRecordEqual` in `go.opentelemetry.io/otel/log/logtest` checks
`Record.EventName`.
([#&#8203;6187](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6187))
- Add `EventName` and `SetEventName` to `Record` in
`go.opentelemetry.io/otel/sdk/log`.
([#&#8203;6193](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6193))
- Add `EventName` to `RecordFactory` in
`go.opentelemetry.io/otel/sdk/log/logtest`.
([#&#8203;6193](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6193))
- Emit `Record.EventName` field in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
([#&#8203;6211](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6211))
- Emit `Record.EventName` field in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
([#&#8203;6211](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6211))
- Emit `Record.EventName` field in
`go.opentelemetry.io/otel/exporters/stdout/stdoutlog`
([#&#8203;6210](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6210))
-   The `go.opentelemetry.io/otel/semconv/v1.28.0` package.
The package contains semantic conventions from the `v1.28.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.28.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.27.0`([#&#8203;6236](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6236))
-   The `go.opentelemetry.io/otel/semconv/v1.30.0` package.
The package contains semantic conventions from the `v1.30.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.30.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.28.0`([#&#8203;6240](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6240))
-   Document the pitfalls of using `Resource` as a comparable type.
`Resource.Equal` and `Resource.Equivalent` should be used instead.
([#&#8203;6272](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6272))
- Support \[Go 1.24].
([#&#8203;6304](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6304))
- Add `FilterProcessor` and `EnabledParameters` in
`go.opentelemetry.io/otel/sdk/log`.
It replaces
`go.opentelemetry.io/otel/sdk/log/internal/x.FilterProcessor`.
Compared to previous version it additionally gives the possibility to
filter by resource and instrumentation scope.
([#&#8203;6317](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6317))

##### Changed

- Update `github.com/prometheus/common` to `v0.62.0`, which changes the
`NameValidationScheme` to `NoEscaping`.
This allows metrics names to keep original delimiters (e.g. `.`), rather
than replacing with underscores.
This is controlled by the `Content-Type` header, or can be reverted by
setting `NameValidationScheme` to `LegacyValidation` in
`github.com/prometheus/common/model`.
([#&#8203;6198](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6198))

##### Fixes

- Eliminate goroutine leak for the processor returned by
`NewSimpleSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace` when
`Shutdown` is called and the passed `ctx` is canceled and
`SpanExporter.Shutdown` has not returned.
([#&#8203;6368](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6368))
- Eliminate goroutine leak for the processor returned by
`NewBatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace` when
`ForceFlush` is called and the passed `ctx` is canceled and
`SpanExporter.Export` has not returned.
([#&#8203;6369](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6369))

[Go 1.23]: https://go.dev/doc/go1.23

[Go 1.22]: https://go.dev/doc/go1.22

##### What's Changed

- chore(deps): update golang.org/x/telemetry digest to
[`04cd7ba`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/04cd7ba)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6176](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6176)
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2
to v2.26.0 by [@&#8203;renovate](https://redirect.github.com/renovate)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6186](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6186)
- chore(deps): update module github.com/pjbgf/sha1cd to v0.3.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6188](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6188)
- chore(deps): update dependency codespell to v2.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6189](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6189)
- log: Add ValueFromAttribute and KeyValueFromAttribute by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6180](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6180)
- fix(deps): update module github.com/opentracing-contrib/go-grpc to
v0.1.1 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6191](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6191)
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest
to
[`2f9c7e3`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/2f9c7e3)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6190](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6190)
- log: Add EventName by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6187](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6187)
- sdk/log: Add EventName by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6193](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6193)
- chore(deps): update codecov/codecov-action action to v5.2.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6195](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6195)
- fix(deps): update googleapis to
[`138b5a5`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/138b5a5)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6194](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6194)
- fix(deps): update module go.opentelemetry.io/build-tools/crosslink to
v0.17.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6197](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6197)
- fix(deps): update module go.opentelemetry.io/build-tools/gotmpl to
v0.17.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6199](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6199)
- fix(deps): update module go.opentelemetry.io/build-tools/semconvgen to
v0.17.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6202](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6202)
- fix(deps): update module go.opentelemetry.io/build-tools/multimod to
v0.17.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6200](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6200)
- chore: Group renovate build-tools updates by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6201](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6201)
- Update module github.com/prometheus/common to v0.62.0 and fix tests by
[@&#8203;dashpole](https://redirect.github.com/dashpole) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6198](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6198)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.13.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6204](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6204)
- chore(deps): update codecov/codecov-action action to v5.3.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6207](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6207)
- fix(deps): update module google.golang.org/grpc to v1.70.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6208](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6208)
- fix(deps): update googleapis to
[`65684f5`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/65684f5)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6212](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6212)
- chore(deps): update codecov/codecov-action action to v5.3.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6213](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6213)
- fix(deps): update module google.golang.org/protobuf to v1.36.4 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6214](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6214)
- otlplog: Emit Record.EventName field by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6211](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6211)
- chore: Update Logs API design doc by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6206](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6206)
- fix(deps): update googleapis to
[`29210b9`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/29210b9)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6217](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6217)
- chore(deps): update module github.com/cyphar/filepath-securejoin to
v0.4.1 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6218](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6218)
- fix(deps): update golang.org/x to
[`e0ece0d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e0ece0d)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6219](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6219)
- chore(deps): update dependency codespell to v2.4.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6221](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6221)
- fix(deps): update golang.org/x to
[`e0ece0d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e0ece0d)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6222](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6222)
- stdoutlog: Emit Record.EventName field by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6210](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6210)
- Update codespell target by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6223](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6223)
- chore(deps): update module github.com/spf13/pflag to v1.0.6 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6224](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6224)
- chore(deps): update module github.com/skeema/knownhosts to v1.3.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6231](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6231)
- Weaver by [@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/5898](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/5898)
- chore(deps): update module github.com/polyfloyd/go-errorlint to v1.7.1
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6237](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6237)
- Generate the `semconv/v1.28.0` package by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6236](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6236)
- Use archive URL for weaver registry by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6235](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6235)
- sdk/log: Assign fltrProcessors on provider creation instead of lazy by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6239](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6239)
- Generate `semconv/v1.30.0` by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6240](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6240)
- Add an auto-instrumentable no-op implementation to the `trace` package
by [@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6203](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6203)
- fix(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6249](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6249)
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest
to
[`29210b9`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/29210b9)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6250](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6250)
- chore(deps): update module golang.org/x/text to v0.22.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6252](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6252)
- fix(deps): update googleapis to
[`7023788`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/7023788)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6251](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6251)
- chore(deps): update golang.org/x/telemetry digest to
[`3af0d96`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/3af0d96)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6253](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6253)
- chore(deps): update module google.golang.org/grpc to v1.70.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6254](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6254)
- fix(deps): update module go.opentelemetry.io/otel/trace to v1.34.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6256](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6256)
- fix(deps): update module go.opentelemetry.io/collector/pdata to
v1.25.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6255](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6255)
- chore(deps): update module github.com/cloudflare/circl to v1.6.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6259](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6259)
- chore(deps): update lycheeverse/lychee-action action to v2.3.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6258](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6258)
- chore(deps): update module github.com/catenacyber/perfsprint to v0.8.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6261](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6261)
- Create scorecard.yml to enable OSSF Scorecard reporting by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6247](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6247)
- chore(deps): update actions/upload-artifact digest to
[`ff15f03`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/ff15f03)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6262](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6262)
- chore(deps): update actions/checkout action to v4.2.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6263](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6263)
- chore(deps): update golang.org/x/telemetry digest to
[`c67c2d1`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/c67c2d1)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6264](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6264)
- chore(deps): update ossf/scorecard-action action to v2.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6265](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6265)
- chore(deps): update actions/upload-artifact action to v4 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6266](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6266)
- fix(deps): update build-tools to v0.18.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6276](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6276)
- fix(deps): update module google.golang.org/protobuf to v1.36.5 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6277](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6277)
- Use renovate best-practices by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6267](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6267)
- chore(deps): pin dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6278](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6278)
- chore(deps): update golang.org/x/telemetry digest to
[`557cf9c`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/557cf9c)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6279](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6279)
- Fix comment of the RecordOnly sampling decision by
[@&#8203;XSAM](https://redirect.github.com/XSAM) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6257](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6257)
- Default github workflow permission read-all by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6268](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6268)
- Add an OpenSSF badge to README.md by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6269](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6269)
- chore(deps): update python docker tag to v3.13.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6283](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6283)
- fix(deps): update golang.org/x to
[`f9890c6`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/f9890c6)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6282](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6282)
- chore(deps): update github/codeql-action digest to
[`9e8d078`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/9e8d078)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6287](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6287)
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2
to v2.26.1 by [@&#8203;renovate](https://redirect.github.com/renovate)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6288](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6288)
- chore(deps): update module golang.org/x/crypto to v0.33.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6290](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6290)
- fix(deps): update googleapis to
[`e9438ea`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e9438ea)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6289](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6289)
- chore(deps): update otel/weaver docker tag to v0.13.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6292](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6292)
- chore(deps): update module 4d63.com/gochecknoglobals to v0.2.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6291](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6291)
- chore(deps): update module go-simpler.org/sloglint to v0.9.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6293](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6293)
- chore(deps): update module github.com/catenacyber/perfsprint to v0.8.1
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6294](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6294)
- Close stale issues and PRs after 2 years of inactivity by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6284](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6284)
- chore(deps): pin actions/stale action to
[`5bef64f`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/5bef64f)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6295](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6295)
- fix(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6297](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6297)
- chore(deps): update module github.com/ldez/exptostd to v0.4.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6300](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6300)
- fix(deps): update module github.com/golangci/golangci-lint to v1.64.2
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6301](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6301)
- Document and check resource comparability by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6272](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6272)
- chore(deps): update module github.com/mgechev/revive to v1.6.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6306](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6306)
- chore(deps): update otel/weaver docker tag to v0.13.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6309](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6309)
- fix(deps): update module github.com/golangci/golangci-lint to v1.64.4
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6310](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6310)
- chore(deps): update golang.org/x/telemetry digest to
[`7530529`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/7530529)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6305](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6305)
- chore(deps): update module github.com/gostaticanalysis/forcetypeassert
to v0.2.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6312](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6312)
- fix(deps): update googleapis to
[`5a70512`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/5a70512)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6308](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6308)
- Add support for Go 1.24 by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6304](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6304)
- Replace tenv with usetesting by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6313](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6313)
- chore(deps): update module github.com/securego/gosec/v2 to v2.22.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6314](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6314)
- \[chore] Fix go-work Make target with the highest required Go version
by [@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6285](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6285)
- chore(deps): update module github.com/tdakkota/asciicheck to v0.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6316](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6316)
- fix(deps): update module github.com/golangci/golangci-lint to v1.64.5
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6319](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6319)
- chore(deps): update otel/weaver docker tag to v0.13.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6318](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6318)
- sdk/log: Change BenchmarkLoggerNewRecord to BenchmarkLoggerEmit by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6315](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6315)
- chore(deps): update golang.org/x/telemetry digest to
[`6f9b61d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/6f9b61d)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6321](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6321)
- chore(deps): update module github.com/tdakkota/asciicheck to v0.4.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6322](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6322)
- chore(deps): update module github.com/tetafro/godot to v1.5.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6323](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6323)
- \[chore] Use public Linux ARM64 runners by
[@&#8203;Kielek](https://redirect.github.com/Kielek) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6320](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6320)
- chore(deps): update module github.com/mgechev/revive to v1.7.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6326](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6326)
- chore(deps): update module github.com/spf13/cobra to v1.9.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6324](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6324)
- chore(deps): update module github.com/4meepo/tagalign to v1.4.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6327](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6327)
- fix(deps): update golang.org/x to
[`eff6e97`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/eff6e97)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6325](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6325)
- fix(deps): update golang.org/x to
[`aa4b98e`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/aa4b98e)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6336](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6336)
- chore(deps): update module github.com/nunnatsa/ginkgolinter to v0.19.1
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6311](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6311)
- sdk/log: Add FilterProcessor and EnabledParameters by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6317](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6317)
- chore(deps): update actions/cache digest to
[`0c907a7`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/0c907a7)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6337](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6337)
- fix(deps): update googleapis to
[`56aae31`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/56aae31)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6338](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6338)
- chore(deps): update module github.com/catenacyber/perfsprint to v0.8.2
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6339](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6339)
- Add FOSSA scanning workflow by
[@&#8203;opentelemetrybot](https://redirect.github.com/opentelemetrybot)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6331](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6331)
- chore(deps): update module github.com/kisielk/errcheck to v1.9.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6340](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6340)
- \[chore] Add a policy on adding tests by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6334](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6334)
- \[chore] Add OpenSSF Best Practices badge by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6345](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6345)
- chore(deps): update golang.org/x/telemetry digest to
[`165e2f8`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/165e2f8)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6346](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6346)
- chore(deps): update module github.com/quasilyte/go-ruleguard to v0.4.4
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6348](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6348)
- chore(deps): update module github.com/ldez/exptostd to v0.4.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6357](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6357)
- chore(deps): update actions/upload-artifact digest to
[`4cec3d8`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/4cec3d8)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6356](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6356)
- chore(deps): update github/codeql-action digest to
[`b56ba49`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b56ba49)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6354](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6354)
- chore(deps): update ossf/scorecard-action action to v2.4.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6358](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6358)
- fix(deps): update module github.com/google/go-cmp to v0.7.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6359](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6359)
- chore(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6355](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6355)
- chore(deps): update module
github.com/gaijinentertainment/go-exhaustruct/v3 to v3.3.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6361](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6361)
- chore(deps): update python:3.13.2-slim-bullseye docker digest to
[`d3852c9`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/d3852c9)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6367](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6367)
- chore(deps): update module golang.org/x/crypto to v0.35.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6366](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6366)
- \[chore] clean up revive configuration by
[@&#8203;mmorel-35](https://redirect.github.com/mmorel-35) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6353](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6353)
- chore(deps): update python:3.13.2-slim-bullseye docker digest to
[`31b581c`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/31b581c)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6370](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6370)
- chore(deps): update module go.opentelemetry.io/build-tools to v0.19.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6374](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6374)
- chore(deps): update module github.com/bombsimon/wsl/v4 to v4.6.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6373](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6373)
- fix(deps): update build-tools to v0.19.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6376](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6376)
- chore(deps): update actions/download-artifact digest to
[`cc20338`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/cc20338)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6377](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6377)
- sdk/trace: Fix goroutine leak in simpleSpanProcessor.Shutdown by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6368](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6368)
- chore(deps): update codecov/codecov-action action to v5.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6380](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6380)
- chore(deps): update module github.com/catenacyber/perfsprint to v0.9.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6379](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6379)
- sdk/trace: Fix gorountine leak in batchSpanProcessor.ForceFlush by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6369](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6369)
- chore(deps): update module github.com/protonmail/go-crypto to v1.1.6
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6383](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6383)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.14.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6385](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6385)
- chore(deps): update actions/cache digest to
[`d4323d4`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/d4323d4)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6384](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6384)
- chore(deps): update module github.com/kkhaike/contextcheck to v1.1.6
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6387](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6387)
- chore(deps): update module 4d63.com/gocheckcompilerdirectives to
v1.3.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6388](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6388)
- fix(deps): update golang.org/x to
[`dead583`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/dead583)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6389](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6389)
- chore(deps): update mvdan.cc/unparam digest to
[`0df0534`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/0df0534)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6391](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6391)
- fix(deps): update module github.com/golangci/golangci-lint to v1.64.6
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6394](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6394)
- chore(deps): update github.com/golangci/dupl digest to
[`44c6a0b`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/44c6a0b)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6398](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6398)
- Look at stale issues in ascending order by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6396](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6396)
- fix(deps): update build-tools to v0.20.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6403](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6403)
- Move trace sdk tests from trace_test into trace package by
[@&#8203;dashpole](https://redirect.github.com/dashpole) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6400](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6400)
- fix(deps): update module google.golang.org/grpc to v1.71.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6409](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6409)
- chore(deps): update module github.com/ryancurrah/gomodguard to v1.4.1
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6411](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6411)
- chore(deps): update module github.com/securego/gosec/v2 to v2.22.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6412](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6412)
- Release v1.35.0/v0.57.0/v0.11.0 by
[@&#8203;XSAM](https://redirect.github.com/XSAM) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6407](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6407)

**Full Changelog**:
https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0

###
[`v1.34.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.34.0):
/v0.56.0/v0.10.0

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

##### Overview

##### Changed

- Remove the notices from `Logger` to make the whole Logs API
user-facing in `go.opentelemetry.io/otel/log`.
([#&#8203;6167](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6167))

##### Fixed

- Relax minimum Go version to 1.22.0 in various modules.
([#&#8203;6073](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6073))
- The `Type` name logged for the
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` client
is corrected from `otlphttpgrpc` to `otlptracegrpc`.
([#&#8203;6143](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6143))
- The `Type` name logged for the
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlphttpgrpc` client
is corrected from `otlphttphttp` to `otlptracehttp`.
([#&#8203;6143](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6143))

##### What's Changed

- fix(deps): update module google.golang.org/grpc to v1.69.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6037](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6037)
- build(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 in
/internal/tools by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6036](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6036)
- fix(deps): update golang.org/x/exp digest to
[`4a55095`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/4a55095)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6039](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6039)
- \[chore] Have renovate update our tools deps by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6038](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6038)
- Fix broken link by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6042](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6042)
- chore(deps): update github.com/golang/groupcache digest to
[`2c02b82`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/2c02b82)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6043](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6043)
- chore(deps): update github.com/burntsushi/toml digest to
[`b7406c0`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b7406c0)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6041](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6041)
- chore(deps): update github.com/matoous/godox digest to
[`94d1edd`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/94d1edd)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6044](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6044)
- chore(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6046](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6046)
- chore(deps): update mvdan.cc/unparam digest to
[`57a3b42`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/57a3b42)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6047](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6047)
- fix(deps): update googleapis to
[`9240e9c`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/9240e9c)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6048](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6048)
- chore(deps): update module github.com/antonboom/nilnil to v1.0.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6050](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6050)
- chore(deps): update module dario.cat/mergo to v1.0.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6049](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6049)
- chore(deps): update module github.com/butuzov/ireturn to v0.3.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6051](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6051)
- chore(deps): update module github.com/go-xmlfmt/xmlfmt to v1.1.3 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6052](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6052)
- chore(deps): update module github.com/jjti/go-spancheck to v0.6.4 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6053](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6053)
- chore(deps): update module github.com/alecthomas/go-check-sumtype to
v0.3.1 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6059](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6059)
- chore(deps): update module github.com/prometheus/client_golang to
v1.20.5 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6058](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6058)
- chore(deps): update module github.com/ashanbrown/makezero to v1.2.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6060](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6060)
- chore(deps): update module github.com/butuzov/mirror to v1.3.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6061](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6061)
- chore(deps): update module github.com/microsoft/go-winio to v0.6.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6056](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6056)
- chore(deps): update module github.com/cloudflare/circl to v1.5.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6063](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6063)
- chore(deps): update module github.com/ckaznocha/intrange to v0.3.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6062](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6062)
- chore(deps): update module github.com/magiconair/properties to v1.8.9
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6054](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6054)
- chore(deps): update module github.com/masterminds/semver/v3 to v3.3.1
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6055](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6055)
- chore(deps): update module github.com/cyphar/filepath-securejoin to
v0.3.6 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6066](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6066)
- chore(deps): update module github.com/curioswitch/go-reassign to
v0.3.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6065](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6065)
- chore(deps): update module github.com/djarvur/go-err113 to v0.1.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6068](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6068)
- fix(deps): update golang.org/x to
[`b2144cd`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b2144cd)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6067](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6067)
- chore(deps): update module github.com/fsnotify/fsnotify to v1.8.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6069](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6069)
- chore(deps): update module github.com/go-git/go-billy/v5 to v5.6.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6070](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6070)
- chore(deps): update module github.com/ldez/gomoddirectives to v0.6.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6072](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6072)
- chore(deps): update module github.com/prometheus/common to v0.61.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6075](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6075)
-   chore(deps): update module github.

</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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 18:08:24 -07:00
Mend Renovate
2f5a0a7257 fix(deps): update module github.com/spf13/cobra to v1.9.1 (#375)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/spf13/cobra](https://redirect.github.com/spf13/cobra) |
`v1.8.1` -> `v1.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fcobra/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fspf13%2fcobra/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fspf13%2fcobra/v1.8.1/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fcobra/v1.8.1/v1.9.1?slim=true)](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>spf13/cobra (github.com/spf13/cobra)</summary>

###
[`v1.9.1`](https://redirect.github.com/spf13/cobra/releases/tag/v1.9.1)

[Compare
Source](https://redirect.github.com/spf13/cobra/compare/v1.9.0...v1.9.1)

##### 🐛 Fixes

- Fix CompletionFunc implementation by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[https://github.com/spf13/cobra/pull/2234](https://redirect.github.com/spf13/cobra/pull/2234)
- Revert "Make detection for test-binary more universal
([#&#8203;2173](https://redirect.github.com/spf13/cobra/issues/2173))"
by [@&#8203;marckhouzam](https://redirect.github.com/marckhouzam) in
[https://github.com/spf13/cobra/pull/2235](https://redirect.github.com/spf13/cobra/pull/2235)

**Full Changelog**:
https://github.com/spf13/cobra/compare/v1.9.0...v1.9.1

###
[`v1.9.0`](https://redirect.github.com/spf13/cobra/releases/tag/v1.9.0)

[Compare
Source](https://redirect.github.com/spf13/cobra/compare/v1.8.1...v1.9.0)

####  Features

- Allow linker to perform deadcode elimination for program using Cobra
by [@&#8203;aarzilli](https://redirect.github.com/aarzilli) in
[https://github.com/spf13/cobra/pull/1956](https://redirect.github.com/spf13/cobra/pull/1956)
- Add default completion command even if there are no other sub-commands
by [@&#8203;marckhouzam](https://redirect.github.com/marckhouzam) in
[https://github.com/spf13/cobra/pull/1559](https://redirect.github.com/spf13/cobra/pull/1559)
- Add CompletionWithDesc helper by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[https://github.com/spf13/cobra/pull/2231](https://redirect.github.com/spf13/cobra/pull/2231)

#### 🐛 Fixes

- Fix deprecation comment for Command.SetOutput by
[@&#8203;thaJeztah](https://redirect.github.com/thaJeztah) in
[https://github.com/spf13/cobra/pull/2172](https://redirect.github.com/spf13/cobra/pull/2172)
- Replace deprecated ioutil usage by
[@&#8203;nirs](https://redirect.github.com/nirs) in
[https://github.com/spf13/cobra/pull/2181](https://redirect.github.com/spf13/cobra/pull/2181)
- Fix --version help and output for plugins by
[@&#8203;nirs](https://redirect.github.com/nirs) in
[https://github.com/spf13/cobra/pull/2180](https://redirect.github.com/spf13/cobra/pull/2180)
- Allow to reset the templates to the default by
[@&#8203;marckhouzam](https://redirect.github.com/marckhouzam) in
[https://github.com/spf13/cobra/pull/2229](https://redirect.github.com/spf13/cobra/pull/2229)

#### 🤖 Completions

- Make Powershell completion work in constrained mode by
[@&#8203;lstemplinger](https://redirect.github.com/lstemplinger) in
[https://github.com/spf13/cobra/pull/2196](https://redirect.github.com/spf13/cobra/pull/2196)
- Improve detection for flags that accept multiple values by
[@&#8203;thaJeztah](https://redirect.github.com/thaJeztah) in
[https://github.com/spf13/cobra/pull/2210](https://redirect.github.com/spf13/cobra/pull/2210)
- add CompletionFunc type to help with completions by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[https://github.com/spf13/cobra/pull/2220](https://redirect.github.com/spf13/cobra/pull/2220)
- Add similar whitespace escape logic to bash v2 completions than in
other completions by
[@&#8203;kangasta](https://redirect.github.com/kangasta) in
[https://github.com/spf13/cobra/pull/1743](https://redirect.github.com/spf13/cobra/pull/1743)
- Print ActiveHelp for bash along other completions by
[@&#8203;marckhouzam](https://redirect.github.com/marckhouzam) in
[https://github.com/spf13/cobra/pull/2076](https://redirect.github.com/spf13/cobra/pull/2076)
- fix(completions): Complete map flags multiple times by
[@&#8203;gabe565](https://redirect.github.com/gabe565) in
[https://github.com/spf13/cobra/pull/2174](https://redirect.github.com/spf13/cobra/pull/2174)
- fix(bash): nounset unbound file filter variable on empty extension by
[@&#8203;scop](https://redirect.github.com/scop) in
[https://github.com/spf13/cobra/pull/2228](https://redirect.github.com/spf13/cobra/pull/2228)

#### 🧪 Testing

- Test also with go 1.23 by
[@&#8203;nirs](https://redirect.github.com/nirs) in
[https://github.com/spf13/cobra/pull/2182](https://redirect.github.com/spf13/cobra/pull/2182)
- Make detection for test-binary more universal by
[@&#8203;thaJeztah](https://redirect.github.com/thaJeztah) in
[https://github.com/spf13/cobra/pull/2173](https://redirect.github.com/spf13/cobra/pull/2173)

#### ✍🏼 Documentation

- docs: update README.md by
[@&#8203;eltociear](https://redirect.github.com/eltociear) in
[https://github.com/spf13/cobra/pull/2197](https://redirect.github.com/spf13/cobra/pull/2197)
- Improve site formatting by
[@&#8203;nirs](https://redirect.github.com/nirs) in
[https://github.com/spf13/cobra/pull/2183](https://redirect.github.com/spf13/cobra/pull/2183)
- doc: add Conduit by [@&#8203;raulb](https://redirect.github.com/raulb)
in
[https://github.com/spf13/cobra/pull/2230](https://redirect.github.com/spf13/cobra/pull/2230)
- doc: azion project added to the list of CLIs that use cobra by
[@&#8203;maxwelbm](https://redirect.github.com/maxwelbm) in
[https://github.com/spf13/cobra/pull/2198](https://redirect.github.com/spf13/cobra/pull/2198)
- Fix broken links in active_help.md by
[@&#8203;vuil](https://redirect.github.com/vuil) in
[https://github.com/spf13/cobra/pull/2202](https://redirect.github.com/spf13/cobra/pull/2202)
- chore: fix function name in comment by
[@&#8203;zhuhaicity](https://redirect.github.com/zhuhaicity) in
[https://github.com/spf13/cobra/pull/2216](https://redirect.github.com/spf13/cobra/pull/2216)

#### 🔧 Dependency upgrades

- build(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.5 to 2.0.6
by [@&#8203;thaJeztah](https://redirect.github.com/thaJeztah) in
[https://github.com/spf13/cobra/pull/2206](https://redirect.github.com/spf13/cobra/pull/2206)
- Update to latest go-md2man by
[@&#8203;mikelolasagasti](https://redirect.github.com/mikelolasagasti)
in
[https://github.com/spf13/cobra/pull/2201](https://redirect.github.com/spf13/cobra/pull/2201)
- Upgrade `pflag` dependencies for v1.9.0 by
[@&#8203;jpmcb](https://redirect.github.com/jpmcb) in
[https://github.com/spf13/cobra/pull/2233](https://redirect.github.com/spf13/cobra/pull/2233)

***

Thank you to all of our amazing contributors and all the great work
that's been going into the completions feature!!

##### 👋🏼 New Contributors

- [@&#8203;gabe565](https://redirect.github.com/gabe565) made their
first contribution in
[https://github.com/spf13/cobra/pull/2174](https://redirect.github.com/spf13/cobra/pull/2174)
- [@&#8203;maxwelbm](https://redirect.github.com/maxwelbm) made their
first contribution in
[https://github.com/spf13/cobra/pull/2198](https://redirect.github.com/spf13/cobra/pull/2198)
- [@&#8203;lstemplinger](https://redirect.github.com/lstemplinger) made
their first contribution in
[https://github.com/spf13/cobra/pull/2196](https://redirect.github.com/spf13/cobra/pull/2196)
- [@&#8203;vuil](https://redirect.github.com/vuil) made their first
contribution in
[https://github.com/spf13/cobra/pull/2202](https://redirect.github.com/spf13/cobra/pull/2202)
- [@&#8203;mikelolasagasti](https://redirect.github.com/mikelolasagasti)
made their first contribution in
[https://github.com/spf13/cobra/pull/2201](https://redirect.github.com/spf13/cobra/pull/2201)
- [@&#8203;zhuhaicity](https://redirect.github.com/zhuhaicity) made
their first contribution in
[https://github.com/spf13/cobra/pull/2216](https://redirect.github.com/spf13/cobra/pull/2216)
- [@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) made their
first contribution in
[https://github.com/spf13/cobra/pull/2220](https://redirect.github.com/spf13/cobra/pull/2220)
- [@&#8203;kangasta](https://redirect.github.com/kangasta) made their
first contribution in
[https://github.com/spf13/cobra/pull/1743](https://redirect.github.com/spf13/cobra/pull/1743)
- [@&#8203;aarzilli](https://redirect.github.com/aarzilli) made their
first contribution in
[https://github.com/spf13/cobra/pull/1956](https://redirect.github.com/spf13/cobra/pull/1956)

**Full Changelog**:
https://github.com/spf13/cobra/compare/v1.8.1...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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 18:01:31 -07:00
Mend Renovate
2972422a9e chore(deps): pin dependencies (#360)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://redirect.github.com/actions/cache) | action |
pinDigest | -> `5a3ec84` |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | minor | `v4.1.6` -> `v4.2.2` |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | pinDigest | -> `11bd719` |
|
[actions/github-script](https://redirect.github.com/actions/github-script)
| action | pinDigest | -> `60a0d83` |
| [actions/setup-go](https://redirect.github.com/actions/setup-go) |
action | minor | `v5.0.1` -> `v5.4.0` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | pinDigest | -> `cdca736` |
|
[golangci/golangci-lint-action](https://redirect.github.com/golangci/golangci-lint-action)
| action | minor | `v6.0.1` -> `v6.5.2` |
|
[peaceiris/actions-gh-pages](https://redirect.github.com/peaceiris/actions-gh-pages)
| action | pinDigest | -> `4f9cc66` |
|
[peaceiris/actions-hugo](https://redirect.github.com/peaceiris/actions-hugo)
| action | pinDigest | -> `75d2e84` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v4.2.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v4.2.1...v4.2.2)

- `url-helper.ts` now leverages well-known environment variables by
[@&#8203;jww3](https://redirect.github.com/jww3) in
[https://github.com/actions/checkout/pull/1941](https://redirect.github.com/actions/checkout/pull/1941)
- Expand unit test coverage for `isGhes` by
[@&#8203;jww3](https://redirect.github.com/jww3) in
[https://github.com/actions/checkout/pull/1946](https://redirect.github.com/actions/checkout/pull/1946)

###
[`v4.2.1`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v421)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v4.2.0...v4.2.1)

- Check out other refs/\* by commit if provided, fall back to ref by
[@&#8203;orhantoy](https://redirect.github.com/orhantoy) in
[https://github.com/actions/checkout/pull/1924](https://redirect.github.com/actions/checkout/pull/1924)

###
[`v4.2.0`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v420)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v4.1.7...v4.2.0)

- Add Ref and Commit outputs by
[@&#8203;lucacome](https://redirect.github.com/lucacome) in
[https://github.com/actions/checkout/pull/1180](https://redirect.github.com/actions/checkout/pull/1180)
- Dependency updates by
[@&#8203;dependabot-](https://redirect.github.com/dependabot-)
[https://github.com/actions/checkout/pull/1777](https://redirect.github.com/actions/checkout/pull/1777),
[https://github.com/actions/checkout/pull/1872](https://redirect.github.com/actions/checkout/pull/1872)

###
[`v4.1.7`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v417)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v4.1.6...v4.1.7)

- Bump the minor-npm-dependencies group across 1 directory with 4
updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)
in
[https://github.com/actions/checkout/pull/1739](https://redirect.github.com/actions/checkout/pull/1739)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/checkout/pull/1697](https://redirect.github.com/actions/checkout/pull/1697)
- Check out other refs/\* by commit by
[@&#8203;orhantoy](https://redirect.github.com/orhantoy) in
[https://github.com/actions/checkout/pull/1774](https://redirect.github.com/actions/checkout/pull/1774)
- Pin actions/checkout's own workflows to a known, good, stable version.
by [@&#8203;jww3](https://redirect.github.com/jww3) in
[https://github.com/actions/checkout/pull/1776](https://redirect.github.com/actions/checkout/pull/1776)

</details>

<details>
<summary>actions/setup-go (actions/setup-go)</summary>

###
[`v5.4.0`](https://redirect.github.com/actions/setup-go/releases/tag/v5.4.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.3.0...v5.4.0)

##### What's Changed

##### Dependency updates :

- Upgrade semver from 7.6.0 to 7.6.3 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/535](https://redirect.github.com/actions/setup-go/pull/535)
- Upgrade eslint-config-prettier from 8.10.0 to 10.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/536](https://redirect.github.com/actions/setup-go/pull/536)
- Upgrade
[@&#8203;action/cache](https://redirect.github.com/action/cache) from
4.0.0 to 4.0.2 by
[@&#8203;aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in
[https://github.com/actions/setup-go/pull/568](https://redirect.github.com/actions/setup-go/pull/568)
- Upgrade undici from 5.28.4 to 5.28.5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/541](https://redirect.github.com/actions/setup-go/pull/541)

##### New Contributors

- [@&#8203;aparnajyothi-y](https://redirect.github.com/aparnajyothi-y)
made their first contribution in
[https://github.com/actions/setup-go/pull/568](https://redirect.github.com/actions/setup-go/pull/568)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.4.0

###
[`v5.3.0`](https://redirect.github.com/actions/setup-go/releases/tag/v5.3.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.2.0...v5.3.0)

##### What's Changed

- Use the new cache service: upgrade `@actions/cache` to `^4.0.0` by
[@&#8203;Link-](https://redirect.github.com/Link-) in
[https://github.com/actions/setup-go/pull/531](https://redirect.github.com/actions/setup-go/pull/531)
- Configure Dependabot settings by
[@&#8203;HarithaVattikuti](https://redirect.github.com/HarithaVattikuti)
in
[https://github.com/actions/setup-go/pull/530](https://redirect.github.com/actions/setup-go/pull/530)
- Document update - permission section by
[@&#8203;HarithaVattikuti](https://redirect.github.com/HarithaVattikuti)
in
[https://github.com/actions/setup-go/pull/533](https://redirect.github.com/actions/setup-go/pull/533)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/534](https://redirect.github.com/actions/setup-go/pull/534)

##### New Contributors

- [@&#8203;Link-](https://redirect.github.com/Link-) made their first
contribution in
[https://github.com/actions/setup-go/pull/531](https://redirect.github.com/actions/setup-go/pull/531)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.3.0

###
[`v5.2.0`](https://redirect.github.com/actions/setup-go/releases/tag/v5.2.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.1.0...v5.2.0)

##### What's Changed

- Leveraging the raw API to retrieve the version-manifest, as it does
not impose a rate limit and hence facilitates unrestricted consumption
without the need for a token for Github Enterprise Servers by
[@&#8203;Shegox](https://redirect.github.com/Shegox) in
[https://github.com/actions/setup-go/pull/496](https://redirect.github.com/actions/setup-go/pull/496)

##### New Contributors

- [@&#8203;Shegox](https://redirect.github.com/Shegox) made their first
contribution in
[https://github.com/actions/setup-go/pull/496](https://redirect.github.com/actions/setup-go/pull/496)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.2.0

###
[`v5.1.0`](https://redirect.github.com/actions/setup-go/releases/tag/v5.1.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.0.2...v5.1.0)

#### What's Changed

- Add workflow file for publishing releases to immutable action package
by [@&#8203;Jcambass](https://redirect.github.com/Jcambass) in
[https://github.com/actions/setup-go/pull/500](https://redirect.github.com/actions/setup-go/pull/500)
- Upgrade IA Publish by
[@&#8203;Jcambass](https://redirect.github.com/Jcambass) in
[https://github.com/actions/setup-go/pull/502](https://redirect.github.com/actions/setup-go/pull/502)
- Add architecture to cache key by
[@&#8203;Zxilly](https://redirect.github.com/Zxilly) in
[https://github.com/actions/setup-go/pull/493](https://redirect.github.com/actions/setup-go/pull/493)
This addresses issues with caching by adding the architecture (arch) to
the cache key, ensuring that cache keys are accurate to prevent
conflicts.
Note: This change may break previous cache keys as they will no longer
be compatible with the new format.
- Enhance workflows and Upgrade micromatch Dependency by
[@&#8203;priyagupta108](https://redirect.github.com/priyagupta108) in
[https://github.com/actions/setup-go/pull/510](https://redirect.github.com/actions/setup-go/pull/510)

**Bug Fixes**

- Revise `isGhes` logic by
[@&#8203;jww3](https://redirect.github.com/jww3) in
[https://github.com/actions/setup-go/pull/511](https://redirect.github.com/actions/setup-go/pull/511)

#### New Contributors

- [@&#8203;Zxilly](https://redirect.github.com/Zxilly) made their first
contribution in
[https://github.com/actions/setup-go/pull/493](https://redirect.github.com/actions/setup-go/pull/493)
- [@&#8203;Jcambass](https://redirect.github.com/Jcambass) made their
first contribution in
[https://github.com/actions/setup-go/pull/500](https://redirect.github.com/actions/setup-go/pull/500)
- [@&#8203;jww3](https://redirect.github.com/jww3) made their first
contribution in
[https://github.com/actions/setup-go/pull/511](https://redirect.github.com/actions/setup-go/pull/511)
- [@&#8203;priyagupta108](https://redirect.github.com/priyagupta108)
made their first contribution in
[https://github.com/actions/setup-go/pull/510](https://redirect.github.com/actions/setup-go/pull/510)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.1.0

###
[`v5.0.2`](https://redirect.github.com/actions/setup-go/releases/tag/v5.0.2)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v5.0.1...v5.0.2)

#### What's Changed

##### Bug fixes:

- Fix versions check failure by
[@&#8203;HarithaVattikuti](https://redirect.github.com/HarithaVattikuti)
in
[https://github.com/actions/setup-go/pull/479](https://redirect.github.com/actions/setup-go/pull/479)

##### Dependency  updates:

- Bump braces from 3.0.2 to 3.0.3 and undici from 5.28.3 to 5.28.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/actions/setup-go/pull/487](https://redirect.github.com/actions/setup-go/pull/487)

#### New Contributors

-
[@&#8203;HarithaVattikuti](https://redirect.github.com/HarithaVattikuti)
made their first contribution in
[https://github.com/actions/setup-go/pull/479](https://redirect.github.com/actions/setup-go/pull/479)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5...v5.0.2

</details>

<details>
<summary>golangci/golangci-lint-action
(golangci/golangci-lint-action)</summary>

###
[`v6.5.2`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.5.2)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.5.1...v6.5.2)

<!-- Release notes generated using configuration in .github/release.yml
at v6.5.2 -->

#### What's Changed

##### Changes

- fix: update max version by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1201](https://redirect.github.com/golangci/golangci-lint-action/pull/1201)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1199](https://redirect.github.com/golangci/golangci-lint-action/pull/1199)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.5.1...v6.5.2

###
[`v6.5.1`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.5.1)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.5.0...v6.5.1)

<!-- Release notes generated using configuration in .github/release.yml
at v6.5.1 -->

#### What's Changed

##### Changes

- fix: octokit retry by [@&#8203;ldez](https://redirect.github.com/ldez)
in
[https://github.com/golangci/golangci-lint-action/pull/1193](https://redirect.github.com/golangci/golangci-lint-action/pull/1193)
- feat: restrict action v6 on golangci-lint v1 by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1194](https://redirect.github.com/golangci/golangci-lint-action/pull/1194)

##### Documentation

- docs: add notes for annotation config by
[@&#8203;dveeden](https://redirect.github.com/dveeden) in
[https://github.com/golangci/golangci-lint-action/pull/1173](https://redirect.github.com/golangci/golangci-lint-action/pull/1173)
- docs: improve verify option explanation by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1175](https://redirect.github.com/golangci/golangci-lint-action/pull/1175)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1177](https://redirect.github.com/golangci/golangci-lint-action/pull/1177)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1178](https://redirect.github.com/golangci/golangci-lint-action/pull/1178)
- build(deps): bump
[@&#8203;octokit/request](https://redirect.github.com/octokit/request)
from 8.4.0 to 8.4.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1181](https://redirect.github.com/golangci/golangci-lint-action/pull/1181)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1185](https://redirect.github.com/golangci/golangci-lint-action/pull/1185)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.13.4 to 22.13.5 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1186](https://redirect.github.com/golangci/golangci-lint-action/pull/1186)
- build(deps): bump
[@&#8203;octokit/plugin-paginate-rest](https://redirect.github.com/octokit/plugin-paginate-rest)
from 9.2.1 to 9.2.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1187](https://redirect.github.com/golangci/golangci-lint-action/pull/1187)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1189](https://redirect.github.com/golangci/golangci-lint-action/pull/1189)
- build(deps-dev): bump the dev-dependencies group across 1 directory
with 5 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1190](https://redirect.github.com/golangci/golangci-lint-action/pull/1190)
- build(deps-dev): bump eslint-config-prettier from 10.0.2 to 10.1.1 in
the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1191](https://redirect.github.com/golangci/golangci-lint-action/pull/1191)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.13.8 to 22.13.10 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1192](https://redirect.github.com/golangci/golangci-lint-action/pull/1192)

#### New Contributors

- [@&#8203;dveeden](https://redirect.github.com/dveeden) made their
first contribution in
[https://github.com/golangci/golangci-lint-action/pull/1173](https://redirect.github.com/golangci/golangci-lint-action/pull/1173)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.5.0...v6.5.1

###
[`v6.5.0`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.5.0)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.4.1...v6.5.0)

<!-- Release notes generated using configuration in .github/release.yml
at v6.5.0 -->

#### What's Changed

##### Changes

- feat: verify with the JSONSchema by default by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1171](https://redirect.github.com/golangci/golangci-lint-action/pull/1171)

##### Dependencies

- build(deps): bump
[@&#8203;octokit/request-error](https://redirect.github.com/octokit/request-error)
from 5.1.0 to 5.1.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1169](https://redirect.github.com/golangci/golangci-lint-action/pull/1169)
- build(deps): bump
[@&#8203;octokit/endpoint](https://redirect.github.com/octokit/endpoint)
from 9.0.5 to 9.0.6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1170](https://redirect.github.com/golangci/golangci-lint-action/pull/1170)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.4.1...v6.5.0

###
[`v6.4.1`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.4.1)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.4.0...v6.4.1)

<!-- Release notes generated using configuration in .github/release.yml
at v6.4.1 -->

#### What's Changed

##### Changes

- fix: use config arg for verify by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1168](https://redirect.github.com/golangci/golangci-lint-action/pull/1168)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.4.0...v6.4.1

###
[`v6.4.0`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.4.0)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.3.3...v6.4.0)

<!-- Release notes generated using configuration in .github/release.yml
at v6.4.0 -->

#### What's Changed

##### Changes

- chore: extract patch related code by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1166](https://redirect.github.com/golangci/golangci-lint-action/pull/1166)
- feat: add an option to verify with the JSONSchema by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1167](https://redirect.github.com/golangci/golangci-lint-action/pull/1167)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.3.3...v6.4.0

###
[`v6.3.3`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.3.3)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.3.2...v6.3.3)

<!-- Release notes generated using configuration in .github/release.yml
at v6.3.3 -->

#### What's Changed

##### Changes

- fix: go.mod parsing by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1165](https://redirect.github.com/golangci/golangci-lint-action/pull/1165)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.3.2...v6.3.3

###
[`v6.3.2`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.3.2)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.3.1...v6.3.2)

<!-- Release notes generated using configuration in .github/release.yml
at v6.3.2 -->

#### What's Changed

##### Changes

- fix: path patch by [@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1162](https://redirect.github.com/golangci/golangci-lint-action/pull/1162)

##### Dependencies

- build(deps-dev): bump prettier from 3.4.2 to 3.5.0 in the
dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1160](https://redirect.github.com/golangci/golangci-lint-action/pull/1160)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.3.1...v6.3.2

###
[`v6.3.1`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.3.1)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.3.0...v6.3.1)

<!-- Release notes generated using configuration in .github/release.yml
at v6.3.1 -->

#### What's Changed

##### Changes

- fix: restrict patched version to v1 by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1158](https://redirect.github.com/golangci/golangci-lint-action/pull/1158)
- chore: update golangci-lint versions by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1159](https://redirect.github.com/golangci/golangci-lint-action/pull/1159)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1155](https://redirect.github.com/golangci/golangci-lint-action/pull/1155)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.13.0 to 22.13.1 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1156](https://redirect.github.com/golangci/golangci-lint-action/pull/1156)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.3.0...v6.3.1

###
[`v6.3.0`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.3.0)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.2.0...v6.3.0)

<!-- Release notes generated using configuration in .github/release.yml
at v6.3.0 -->

#### What's Changed

##### Changes

- chore: use new assets file by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1154](https://redirect.github.com/golangci/golangci-lint-action/pull/1154)

##### Documentation

- docs: update README options version from required to optional by
[@&#8203;otakakot](https://redirect.github.com/otakakot) in
[https://github.com/golangci/golangci-lint-action/pull/1145](https://redirect.github.com/golangci/golangci-lint-action/pull/1145)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 4 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1146](https://redirect.github.com/golangci/golangci-lint-action/pull/1146)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1147](https://redirect.github.com/golangci/golangci-lint-action/pull/1147)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1148](https://redirect.github.com/golangci/golangci-lint-action/pull/1148)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.10.7 to 22.10.10 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1149](https://redirect.github.com/golangci/golangci-lint-action/pull/1149)
- build(deps): bump undici from 5.28.4 to 5.28.5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1150](https://redirect.github.com/golangci/golangci-lint-action/pull/1150)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1152](https://redirect.github.com/golangci/golangci-lint-action/pull/1152)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.10.10 to 22.13.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1153](https://redirect.github.com/golangci/golangci-lint-action/pull/1153)

#### New Contributors

- [@&#8203;otakakot](https://redirect.github.com/otakakot) made their
first contribution in
[https://github.com/golangci/golangci-lint-action/pull/1145](https://redirect.github.com/golangci/golangci-lint-action/pull/1145)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.2.0...v6.3.0

###
[`v6.2.0`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.2.0)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.1.1...v6.2.0)

<!-- Release notes generated using configuration in .github/release.yml
at v6.2.0 -->

#### What's Changed

##### Changes

- chore: use new build tag syntax by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[https://github.com/golangci/golangci-lint-action/pull/1133](https://redirect.github.com/golangci/golangci-lint-action/pull/1133)
- feat: support linux arm64 public preview by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1144](https://redirect.github.com/golangci/golangci-lint-action/pull/1144)

##### Documentation

- docs: update local development instructions by
[@&#8203;dmitris](https://redirect.github.com/dmitris) in
[https://github.com/golangci/golangci-lint-action/pull/1125](https://redirect.github.com/golangci/golangci-lint-action/pull/1125)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1112](https://redirect.github.com/golangci/golangci-lint-action/pull/1112)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1113](https://redirect.github.com/golangci/golangci-lint-action/pull/1113)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1114](https://redirect.github.com/golangci/golangci-lint-action/pull/1114)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.7.4
to 22.7.5 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1115](https://redirect.github.com/golangci/golangci-lint-action/pull/1115)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1117](https://redirect.github.com/golangci/golangci-lint-action/pull/1117)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.7.5
to 22.7.7 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1118](https://redirect.github.com/golangci/golangci-lint-action/pull/1118)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1119](https://redirect.github.com/golangci/golangci-lint-action/pull/1119)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.7.7
to 22.8.1 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1120](https://redirect.github.com/golangci/golangci-lint-action/pull/1120)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1122](https://redirect.github.com/golangci/golangci-lint-action/pull/1122)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1123](https://redirect.github.com/golangci/golangci-lint-action/pull/1123)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1126](https://redirect.github.com/golangci/golangci-lint-action/pull/1126)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.8.7
to 22.9.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1127](https://redirect.github.com/golangci/golangci-lint-action/pull/1127)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1128](https://redirect.github.com/golangci/golangci-lint-action/pull/1128)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.9.0
to 22.9.3 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1130](https://redirect.github.com/golangci/golangci-lint-action/pull/1130)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.9.3
to 22.10.1 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1131](https://redirect.github.com/golangci/golangci-lint-action/pull/1131)
- build(deps-dev): bump the dev-dependencies group across 1 directory
with 4 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1132](https://redirect.github.com/golangci/golangci-lint-action/pull/1132)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1134](https://redirect.github.com/golangci/golangci-lint-action/pull/1134)
- build(deps): bump
[@&#8203;actions/cache](https://redirect.github.com/actions/cache) from
3.3.0 to 4.0.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1135](https://redirect.github.com/golangci/golangci-lint-action/pull/1135)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1136](https://redirect.github.com/golangci/golangci-lint-action/pull/1136)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.10.1 to 22.10.2 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1137](https://redirect.github.com/golangci/golangci-lint-action/pull/1137)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1138](https://redirect.github.com/golangci/golangci-lint-action/pull/1138)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1139](https://redirect.github.com/golangci/golangci-lint-action/pull/1139)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1141](https://redirect.github.com/golangci/golangci-lint-action/pull/1141)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
22.10.2 to 22.10.5 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1142](https://redirect.github.com/golangci/golangci-lint-action/pull/1142)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1143](https://redirect.github.com/golangci/golangci-lint-action/pull/1143)

#### New Contributors

- [@&#8203;dmitris](https://redirect.github.com/dmitris) made their
first contribution in
[https://github.com/golangci/golangci-lint-action/pull/1125](https://redirect.github.com/golangci/golangci-lint-action/pull/1125)
- [@&#8203;alexandear](https://redirect.github.com/alexandear) made
their first contribution in
[https://github.com/golangci/golangci-lint-action/pull/1133](https://redirect.github.com/golangci/golangci-lint-action/pull/1133)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.1.1...v6.2.0

###
[`v6.1.1`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.1.1)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.1.0...v6.1.1)

<!-- Release notes generated using configuration in .github/release.yml
at v6.1.1 -->

#### What's Changed

##### Changes

- fix: clean go install output by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1102](https://redirect.github.com/golangci/golangci-lint-action/pull/1102)

##### Documentation

- docs: update README.md to use golangci-lint v1.60 by
[@&#8203;dunglas](https://redirect.github.com/dunglas) in
[https://github.com/golangci/golangci-lint-action/pull/1087](https://redirect.github.com/golangci/golangci-lint-action/pull/1087)

##### Dependencies

- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1082](https://redirect.github.com/golangci/golangci-lint-action/pull/1082)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.0.0
to 22.1.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1083](https://redirect.github.com/golangci/golangci-lint-action/pull/1083)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1084](https://redirect.github.com/golangci/golangci-lint-action/pull/1084)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.1.0
to 22.2.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1085](https://redirect.github.com/golangci/golangci-lint-action/pull/1085)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1088](https://redirect.github.com/golangci/golangci-lint-action/pull/1088)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1093](https://redirect.github.com/golangci/golangci-lint-action/pull/1093)
- build(deps): bump the dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1089](https://redirect.github.com/golangci/golangci-lint-action/pull/1089)
- build(deps): bump the dependencies group across 1 directory with 2
updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)
in
[https://github.com/golangci/golangci-lint-action/pull/1096](https://redirect.github.com/golangci/golangci-lint-action/pull/1096)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1097](https://redirect.github.com/golangci/golangci-lint-action/pull/1097)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.1
to 22.5.2 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1098](https://redirect.github.com/golangci/golangci-lint-action/pull/1098)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.2
to 22.5.4 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1100](https://redirect.github.com/golangci/golangci-lint-action/pull/1100)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1099](https://redirect.github.com/golangci/golangci-lint-action/pull/1099)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1103](https://redirect.github.com/golangci/golangci-lint-action/pull/1103)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.4
to 22.5.5 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1104](https://redirect.github.com/golangci/golangci-lint-action/pull/1104)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1105](https://redirect.github.com/golangci/golangci-lint-action/pull/1105)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.5
to 22.7.4 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1109](https://redirect.github.com/golangci/golangci-lint-action/pull/1109)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1108](https://redirect.github.com/golangci/golangci-lint-action/pull/1108)

#### New Contributors

- [@&#8203;dunglas](https://redirect.github.com/dunglas) made their
first contribution in
[https://github.com/golangci/golangci-lint-action/pull/1087](https://redirect.github.com/golangci/golangci-lint-action/pull/1087)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.1.0...v6.1.1

###
[`v6.1.0`](https://redirect.github.com/golangci/golangci-lint-action/releases/tag/v6.1.0)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint-action/compare/v6.0.1...v6.1.0)

<!-- Release notes generated using configuration in .github/release.yml
at v6.1.0 -->

#### What's Changed

##### Changes

- feat: allow to skip golangci-lint installation by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1079](https://redirect.github.com/golangci/golangci-lint-action/pull/1079)

##### Documentation

- docs: add Go workspace examples by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[https://github.com/golangci/golangci-lint-action/pull/1064](https://redirect.github.com/golangci/golangci-lint-action/pull/1064)

##### Dependencies

- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.12.8 to 20.12.11 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1041](https://redirect.github.com/golangci/golangci-lint-action/pull/1041)
- build(deps-dev): bump
[@&#8203;typescript-eslint/eslint-plugin](https://redirect.github.com/typescript-eslint/eslint-plugin)
from 7.8.0 to 7.9.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1042](https://redirect.github.com/golangci/golangci-lint-action/pull/1042)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.12.11 to 20.12.12 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1043](https://redirect.github.com/golangci/golangci-lint-action/pull/1043)
- build(deps-dev): bump
[@&#8203;typescript-eslint/parser](https://redirect.github.com/typescript-eslint/parser)
from 7.8.0 to 7.9.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1044](https://redirect.github.com/golangci/golangci-lint-action/pull/1044)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1047](https://redirect.github.com/golangci/golangci-lint-action/pull/1047)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.12.12 to 20.14.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1051](https://redirect.github.com/golangci/golangci-lint-action/pull/1051)
- build(deps-dev): bump the dev-dependencies group across 1 directory
with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1053](https://redirect.github.com/golangci/golangci-lint-action/pull/1053)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1061](https://redirect.github.com/golangci/golangci-lint-action/pull/1061)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.0 to 20.14.2 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1062](https://redirect.github.com/golangci/golangci-lint-action/pull/1062)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1063](https://redirect.github.com/golangci/golangci-lint-action/pull/1063)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.2 to 20.14.8 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1066](https://redirect.github.com/golangci/golangci-lint-action/pull/1066)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1065](https://redirect.github.com/golangci/golangci-lint-action/pull/1065)
- build(deps-dev): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1067](https://redirect.github.com/golangci/golangci-lint-action/pull/1067)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.8 to 20.14.9 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1068](https://redirect.github.com/golangci/golangci-lint-action/pull/1068)
- build(deps-dev): bump the dev-dependencies group with 4 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1071](https://redirect.github.com/golangci/golangci-lint-action/pull/1071)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.9 to 20.14.10 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1072](https://redirect.github.com/golangci/golangci-lint-action/pull/1072)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1073](https://redirect.github.com/golangci/golangci-lint-action/pull/1073)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1074](https://redirect.github.com/golangci/golangci-lint-action/pull/1074)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.10 to 20.14.11 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1075](https://redirect.github.com/golangci/golangci-lint-action/pull/1075)
- build(deps-dev): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1077](https://redirect.github.com/golangci/golangci-lint-action/pull/1077)
- build(deps): bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.11 to 22.0.0 in the dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/golangci/golangci-lint-action/pull/1078](https://redirect.github.com/golangci/golangci-lint-action/pull/1078)

**Full Changelog**:
https://github.com/golangci/golangci-lint-action/compare/v6.0.1...v6.1.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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 17:33:42 -07:00
Mend Renovate
fd6f796ab8 fix(deps): update module go.opentelemetry.io/contrib/propagators/autoprop to v0.60.0 (#376)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/contrib/propagators/autoprop](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.58.0` -> `v0.60.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.58.0/v0.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fautoprop/v0.58.0/v0.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 17:30:22 -07:00
Mend Renovate
4cfc169c8a fix(deps): update module github.com/neo4j/neo4j-go-driver/v5 to v5.28.0 (#374)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/neo4j/neo4j-go-driver/v5](https://redirect.github.com/neo4j/neo4j-go-driver)
| `v5.26.0` -> `v5.28.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.26.0/v5.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.26.0/v5.28.0?slim=true)](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>neo4j/neo4j-go-driver
(github.com/neo4j/neo4j-go-driver/v5)</summary>

###
[`v5.28.0`](https://redirect.github.com/neo4j/neo4j-go-driver/releases/tag/v5.28.0)

[Compare
Source](https://redirect.github.com/neo4j/neo4j-go-driver/compare/v5.27.0...v5.28.0)

See https://github.com/neo4j/neo4j-go-driver/wiki/5.x-changelog for more
information.

###
[`v5.27.0`](https://redirect.github.com/neo4j/neo4j-go-driver/releases/tag/v5.27.0)

[Compare
Source](https://redirect.github.com/neo4j/neo4j-go-driver/compare/v5.26.0...v5.27.0)

See https://github.com/neo4j/neo4j-go-driver/wiki/5.x-changelog for more
information.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 17:19:34 -07:00
Mend Renovate
2be5387f3f fix(deps): update module github.com/goccy/go-yaml to v1.17.1 (#372)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/goccy/go-yaml](https://redirect.github.com/goccy/go-yaml)
| `v1.15.13` -> `v1.17.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoccy%2fgo-yaml/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoccy%2fgo-yaml/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoccy%2fgo-yaml/v1.15.13/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoccy%2fgo-yaml/v1.15.13/v1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>goccy/go-yaml (github.com/goccy/go-yaml)</summary>

###
[`v1.17.1`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.17.1):
1.17.1

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.17.0...v1.17.1)

#### What's Changed

- Fix unmarshaler with comment by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/683](https://redirect.github.com/goccy/go-yaml/pull/683)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.17.0...v1.17.1

###
[`v1.17.0`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.17.0):
1.17.0

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.16.0...v1.17.0)

#### What's Changed

- feat: support receiving ast.Node in custom unmarshalers by
[@&#8203;x1unix](https://redirect.github.com/x1unix) in
[https://github.com/goccy/go-yaml/pull/642](https://redirect.github.com/goccy/go-yaml/pull/642)
- Support FormatErrorWithToken function for custom error message by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/677](https://redirect.github.com/goccy/go-yaml/pull/677)
- Fix comment map with no body by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/682](https://redirect.github.com/goccy/go-yaml/pull/682)

#### New Contributors

- [@&#8203;x1unix](https://redirect.github.com/x1unix) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/642](https://redirect.github.com/goccy/go-yaml/pull/642)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.16.0...v1.17.0

###
[`v1.16.0`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.16.0):
1.16.0

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.23...v1.16.0)

#### What's Changed

- Keep reference of anchor's value by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/660](https://redirect.github.com/goccy/go-yaml/pull/660)
- Support smart anchor option by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/662](https://redirect.github.com/goccy/go-yaml/pull/662)
- Add AutoInt option by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/671](https://redirect.github.com/goccy/go-yaml/pull/671)
- encodeMap() error handling and TestEncoder_UnmarshallableTypes() by
[@&#8203;dorencambia](https://redirect.github.com/dorencambia) in
[https://github.com/goccy/go-yaml/pull/674](https://redirect.github.com/goccy/go-yaml/pull/674)
- Fix tab character handling ( if ignore the tab character, do not
increment the column number ) by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/676](https://redirect.github.com/goccy/go-yaml/pull/676)

#### New Contributors

- [@&#8203;dorencambia](https://redirect.github.com/dorencambia) made
their first contribution in
[https://github.com/goccy/go-yaml/pull/674](https://redirect.github.com/goccy/go-yaml/pull/674)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.23...v1.16.0

###
[`v1.15.23`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.23):
1.15.23

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.22...v1.15.23)

#### What's Changed

- Fix encoding of string that contains "- " by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/657](https://redirect.github.com/goccy/go-yaml/pull/657)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.22...v1.15.23

###
[`v1.15.22`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.22):
1.15.22

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.21...v1.15.22)

#### What's Changed

- Fix format with empty value by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/654](https://redirect.github.com/goccy/go-yaml/pull/654)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.21...v1.15.22

###
[`v1.15.21`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.21):
1.15.21

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.20...v1.15.21)

#### What's Changed

- Fix handling of TextUnmarshaler by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/649](https://redirect.github.com/goccy/go-yaml/pull/649)
- Fix string representation of MappingNode in flow style by
[@&#8203;semihbkgr](https://redirect.github.com/semihbkgr) in
[https://github.com/goccy/go-yaml/pull/623](https://redirect.github.com/goccy/go-yaml/pull/623)
- Make UseSingleQuote compliant with the YAML spec by
[@&#8203;mumoshu](https://redirect.github.com/mumoshu) in
[https://github.com/goccy/go-yaml/pull/647](https://redirect.github.com/goccy/go-yaml/pull/647)
- Fix format indent by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/653](https://redirect.github.com/goccy/go-yaml/pull/653)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.20...v1.15.21

###
[`v1.15.20`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.20):
1.15.20

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.19...v1.15.20)

#### What's Changed

- Support entry token for flow style by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/646](https://redirect.github.com/goccy/go-yaml/pull/646)
- Fix format with alias by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/648](https://redirect.github.com/goccy/go-yaml/pull/648)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.19...v1.15.20

###
[`v1.15.19`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.19):
1.15.19

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.18...v1.15.19)

#### What's Changed

- Fix format with comment by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/645](https://redirect.github.com/goccy/go-yaml/pull/645)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.18...v1.15.19

###
[`v1.15.18`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.18):
1.15.18

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.17...v1.15.18)

#### What's Changed

- Fix toString for TagNode by
[@&#8203;LarsStegman](https://redirect.github.com/LarsStegman) in
[https://github.com/goccy/go-yaml/pull/633](https://redirect.github.com/goccy/go-yaml/pull/633)
- fixed typo in ycat install example by
[@&#8203;brammeleman](https://redirect.github.com/brammeleman) in
[https://github.com/goccy/go-yaml/pull/640](https://redirect.github.com/goccy/go-yaml/pull/640)
- Add node formatter by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/644](https://redirect.github.com/goccy/go-yaml/pull/644)

#### New Contributors

- [@&#8203;brammeleman](https://redirect.github.com/brammeleman) made
their first contribution in
[https://github.com/goccy/go-yaml/pull/640](https://redirect.github.com/goccy/go-yaml/pull/640)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.17...v1.15.18

###
[`v1.15.17`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.17):
1.15.17

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.16...v1.15.17)

#### What's Changed

- Fix comment map by [@&#8203;goccy](https://redirect.github.com/goccy)
in
[https://github.com/goccy/go-yaml/pull/635](https://redirect.github.com/goccy/go-yaml/pull/635)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.16...v1.15.17

###
[`v1.15.16`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.16):
1.15.16

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.15...v1.15.16)

#### What's Changed

- Fix flow-mapping-edge-cases by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/621](https://redirect.github.com/goccy/go-yaml/pull/621)
- refactor: remove unused Anchor field from MappingValueNode by
[@&#8203;nikpivkin](https://redirect.github.com/nikpivkin) in
[https://github.com/goccy/go-yaml/pull/624](https://redirect.github.com/goccy/go-yaml/pull/624)
- fix: typo `cloud` -> `could` in path.go by
[@&#8203;rriski](https://redirect.github.com/rriski) in
[https://github.com/goccy/go-yaml/pull/628](https://redirect.github.com/goccy/go-yaml/pull/628)
- Fix comment map at decoding by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/632](https://redirect.github.com/goccy/go-yaml/pull/632)
- fix: empty document should not panic on String() by
[@&#8203;bcho](https://redirect.github.com/bcho) in
[https://github.com/goccy/go-yaml/pull/630](https://redirect.github.com/goccy/go-yaml/pull/630)
- Fix indentation for raw string newlines by
[@&#8203;shuheiktgw](https://redirect.github.com/shuheiktgw) in
[https://github.com/goccy/go-yaml/pull/625](https://redirect.github.com/goccy/go-yaml/pull/625)

#### New Contributors

- [@&#8203;rriski](https://redirect.github.com/rriski) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/628](https://redirect.github.com/goccy/go-yaml/pull/628)
- [@&#8203;bcho](https://redirect.github.com/bcho) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/630](https://redirect.github.com/goccy/go-yaml/pull/630)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.15...v1.15.16

###
[`v1.15.15`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.15):
1.15.15

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.14...v1.15.15)

#### What's Changed

- Fix flow sequence with map by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/620](https://redirect.github.com/goccy/go-yaml/pull/620)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.14...v1.15.15

###
[`v1.15.14`](https://redirect.github.com/goccy/go-yaml/releases/tag/v1.15.14):
1.15.14

[Compare
Source](https://redirect.github.com/goccy/go-yaml/compare/v1.15.13...v1.15.14)

#### What's Changed

- Fix sequence value for merge key by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/603](https://redirect.github.com/goccy/go-yaml/pull/603)
- Fix encoding with map key contains colon character by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/604](https://redirect.github.com/goccy/go-yaml/pull/604)
- Fix encoding of anchor and alias by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/605](https://redirect.github.com/goccy/go-yaml/pull/605)
- Remove mention of removed option DisallowDuplicateKey by
[@&#8203;sirikon](https://redirect.github.com/sirikon) in
[https://github.com/goccy/go-yaml/pull/609](https://redirect.github.com/goccy/go-yaml/pull/609)
- Add playground by [@&#8203;goccy](https://redirect.github.com/goccy)
in
[https://github.com/goccy/go-yaml/pull/611](https://redirect.github.com/goccy/go-yaml/pull/611)
- issue-281: add tests and fix panic for \* by
[@&#8203;ivankatliarchuk](https://redirect.github.com/ivankatliarchuk)
in
[https://github.com/goccy/go-yaml/pull/615](https://redirect.github.com/goccy/go-yaml/pull/615)
- chore: move dev deps to dev group by
[@&#8203;nikpivkin](https://redirect.github.com/nikpivkin) in
[https://github.com/goccy/go-yaml/pull/613](https://redirect.github.com/goccy/go-yaml/pull/613)
- fix(parser): inconsistent paths single-line MappingKeyValueNode by
[@&#8203;LarsStegman](https://redirect.github.com/LarsStegman) in
[https://github.com/goccy/go-yaml/pull/612](https://redirect.github.com/goccy/go-yaml/pull/612)
- Fix tag with flow sequence by
[@&#8203;goccy](https://redirect.github.com/goccy) in
[https://github.com/goccy/go-yaml/pull/618](https://redirect.github.com/goccy/go-yaml/pull/618)

#### New Contributors

- [@&#8203;sirikon](https://redirect.github.com/sirikon) made their
first contribution in
[https://github.com/goccy/go-yaml/pull/609](https://redirect.github.com/goccy/go-yaml/pull/609)
- [@&#8203;ivankatliarchuk](https://redirect.github.com/ivankatliarchuk)
made their first contribution in
[https://github.com/goccy/go-yaml/pull/615](https://redirect.github.com/goccy/go-yaml/pull/615)
- [@&#8203;nikpivkin](https://redirect.github.com/nikpivkin) made their
first contribution in
[https://github.com/goccy/go-yaml/pull/613](https://redirect.github.com/goccy/go-yaml/pull/613)
- [@&#8203;LarsStegman](https://redirect.github.com/LarsStegman) made
their first contribution in
[https://github.com/goccy/go-yaml/pull/612](https://redirect.github.com/goccy/go-yaml/pull/612)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.15.13...v1.15.14

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 17:10:58 -07:00
Mend Renovate
78122e74ec fix(deps): update module github.com/googlecloudplatform/opentelemetry-operations-go/exporter/trace to v1.27.0 (#373)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-go)
| `v1.25.0` -> `v1.27.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.25.0/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fGoogleCloudPlatform%2fopentelemetry-operations-go%2fexporter%2ftrace/v1.25.0/v1.27.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 17:01:40 -07:00
Mend Renovate
98c6b7f834 fix(deps): update module github.com/go-sql-driver/mysql to v1.9.1 (#371)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/go-sql-driver/mysql](https://redirect.github.com/go-sql-driver/mysql)
| `v1.9.0` -> `v1.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.9.0/v1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.9.0/v1.9.1?slim=true)](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>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary>

###
[`v1.9.1`](https://redirect.github.com/go-sql-driver/mysql/blob/HEAD/CHANGELOG.md#v191-2025-03-21)

[Compare
Source](https://redirect.github.com/go-sql-driver/mysql/compare/v1.9.0...v1.9.1)

##### Major Changes

- Add Charset() option.
([#&#8203;1679](https://redirect.github.com/go-sql-driver/mysql/issues/1679))

##### Bugfixes

- go.mod: fix go version format
([#&#8203;1682](https://redirect.github.com/go-sql-driver/mysql/issues/1682))
- Fix FormatDSN missing ConnectionAttributes
([#&#8203;1619](https://redirect.github.com/go-sql-driver/mysql/issues/1619))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 16:48:38 -07:00
Mend Renovate
c6500d2596 fix(deps): update module google.golang.org/api to v0.228.0 (#377)
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.227.0` -> `v0.228.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.228.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.228.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.227.0/v0.228.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.227.0/v0.228.0?slim=true)](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.228.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.228.0)

[Compare
Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.227.0...v0.228.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3072](https://redirect.github.com/googleapis/google-api-go-client/issues/3072))
([1987dc9](1987dc98a1))
- **all:** Auto-regenerate discovery clients
([#&#8203;3076](https://redirect.github.com/googleapis/google-api-go-client/issues/3076))
([b041969](b041969298))
- **all:** Auto-regenerate discovery clients
([#&#8203;3077](https://redirect.github.com/googleapis/google-api-go-client/issues/3077))
([e5c4d37](e5c4d37cb6))
- **all:** Auto-regenerate discovery clients
([#&#8203;3078](https://redirect.github.com/googleapis/google-api-go-client/issues/3078))
([2eb9895](2eb9895064))
- **all:** Auto-regenerate discovery clients
([#&#8203;3080](https://redirect.github.com/googleapis/google-api-go-client/issues/3080))
([d67a105](d67a10510e))
- **all:** Auto-regenerate discovery clients
([#&#8203;3081](https://redirect.github.com/googleapis/google-api-go-client/issues/3081))
([d721547](d7215475a6))

##### Bug Fixes

- **googleapi:** Add JSON array support to CheckResponseWithBody
([#&#8203;3075](https://redirect.github.com/googleapis/google-api-go-client/issues/3075))
([ffcba91](ffcba91d98))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 16:31:45 -07:00
Mend Renovate
8d652e998d fix(deps): update module github.com/go-chi/chi/v5 to v5.2.1 (#369)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/go-chi/chi/v5](https://redirect.github.com/go-chi/chi) |
`v5.1.0` -> `v5.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-chi%2fchi%2fv5/v5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-chi%2fchi%2fv5/v5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-chi%2fchi%2fv5/v5.1.0/v5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-chi%2fchi%2fv5/v5.1.0/v5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-chi/chi (github.com/go-chi/chi/v5)</summary>

###
[`v5.2.1`](https://redirect.github.com/go-chi/chi/releases/tag/v5.2.1)

[Compare
Source](https://redirect.github.com/go-chi/chi/compare/v5.2.0...v5.2.1)

#### ⚠️  Chi supports Go 1.20+

Starting this release, we will now support the four most recent major
versions of Go. See
[https://github.com/go-chi/chi/issues/963](https://redirect.github.com/go-chi/chi/issues/963)
for related discussion.

#### What's Changed

- Support the four most recent major versions of Go by
[@&#8203;VojtechVitek](https://redirect.github.com/VojtechVitek) in
[https://github.com/go-chi/chi/pull/969](https://redirect.github.com/go-chi/chi/pull/969)

**Full Changelog**:
https://github.com/go-chi/chi/compare/v5.2.0...v5.2.1

###
[`v5.2.0`](https://redirect.github.com/go-chi/chi/releases/tag/v5.2.0)

[Compare
Source](https://redirect.github.com/go-chi/chi/compare/v5.1.0...v5.2.0)

#### What's Changed

- update credits section to link to goji license by
[@&#8203;pkieltyka](https://redirect.github.com/pkieltyka) in
[https://github.com/go-chi/chi/pull/944](https://redirect.github.com/go-chi/chi/pull/944)
- go 1.23 by [@&#8203;pkieltyka](https://redirect.github.com/pkieltyka)
in
[https://github.com/go-chi/chi/pull/945](https://redirect.github.com/go-chi/chi/pull/945)
- Make Context.RoutePattern() nil-safe by
[@&#8203;gaiaz-iusipov](https://redirect.github.com/gaiaz-iusipov) in
[https://github.com/go-chi/chi/pull/927](https://redirect.github.com/go-chi/chi/pull/927)
- govet: Fix non-constant format string by
[@&#8203;marcofranssen](https://redirect.github.com/marcofranssen) in
[https://github.com/go-chi/chi/pull/952](https://redirect.github.com/go-chi/chi/pull/952)
- Add `Find` to `Routes` interface by
[@&#8203;joeriddles](https://redirect.github.com/joeriddles) in
[https://github.com/go-chi/chi/pull/872](https://redirect.github.com/go-chi/chi/pull/872)
- Fix grammar error by
[@&#8203;AntonC9018](https://redirect.github.com/AntonC9018) in
[https://github.com/go-chi/chi/pull/917](https://redirect.github.com/go-chi/chi/pull/917)
- \~feat(): add CF-Connecting-IP by
[@&#8203;n33pm](https://redirect.github.com/n33pm) in
[https://github.com/go-chi/chi/pull/908](https://redirect.github.com/go-chi/chi/pull/908)~
- \~Revert "feat(): add CF-Connecting-IP" by
[@&#8203;VojtechVitek](https://redirect.github.com/VojtechVitek) in
[https://github.com/go-chi/chi/pull/966](https://redirect.github.com/go-chi/chi/pull/966)~
- Fixed incorrect comment about routing by
[@&#8203;jtams](https://redirect.github.com/jtams) in
[https://github.com/go-chi/chi/pull/887](https://redirect.github.com/go-chi/chi/pull/887)
- Fix condition in TestRedirectSlashes by
[@&#8203;tchssk](https://redirect.github.com/tchssk) in
[https://github.com/go-chi/chi/pull/856](https://redirect.github.com/go-chi/chi/pull/856)
- middleware: Add strip prefix middleware by
[@&#8203;m1k1o](https://redirect.github.com/m1k1o) in
[https://github.com/go-chi/chi/pull/875](https://redirect.github.com/go-chi/chi/pull/875)
- Set up go module for `_examples/versions` by
[@&#8203;hongkuancn](https://redirect.github.com/hongkuancn) in
[https://github.com/go-chi/chi/pull/948](https://redirect.github.com/go-chi/chi/pull/948)
- Ability to specify response HTTP status code for Throttle middleware
by [@&#8203;vasayxtx](https://redirect.github.com/vasayxtx) in
[https://github.com/go-chi/chi/pull/571](https://redirect.github.com/go-chi/chi/pull/571)
- Support Content-Type headers with charset/boundary parameters by
[@&#8203;GocaMaric](https://redirect.github.com/GocaMaric) in
[https://github.com/go-chi/chi/pull/880](https://redirect.github.com/go-chi/chi/pull/880)
- Fix `Mux.Find` not correctly handling nested routes by
[@&#8203;joeriddles](https://redirect.github.com/joeriddles) in
[https://github.com/go-chi/chi/pull/954](https://redirect.github.com/go-chi/chi/pull/954)
- fix(WrapResponseWriter): allow multiple informational statuses by
[@&#8203;costela](https://redirect.github.com/costela) in
[https://github.com/go-chi/chi/pull/961](https://redirect.github.com/go-chi/chi/pull/961)

#### New Contributors

- [@&#8203;gaiaz-iusipov](https://redirect.github.com/gaiaz-iusipov)
made their first contribution in
[https://github.com/go-chi/chi/pull/927](https://redirect.github.com/go-chi/chi/pull/927)
- [@&#8203;marcofranssen](https://redirect.github.com/marcofranssen)
made their first contribution in
[https://github.com/go-chi/chi/pull/952](https://redirect.github.com/go-chi/chi/pull/952)
- [@&#8203;joeriddles](https://redirect.github.com/joeriddles) made
their first contribution in
[https://github.com/go-chi/chi/pull/872](https://redirect.github.com/go-chi/chi/pull/872)
- [@&#8203;AntonC9018](https://redirect.github.com/AntonC9018) made
their first contribution in
[https://github.com/go-chi/chi/pull/917](https://redirect.github.com/go-chi/chi/pull/917)
- [@&#8203;n33pm](https://redirect.github.com/n33pm) made their first
contribution in
[https://github.com/go-chi/chi/pull/908](https://redirect.github.com/go-chi/chi/pull/908)
- [@&#8203;jtams](https://redirect.github.com/jtams) made their first
contribution in
[https://github.com/go-chi/chi/pull/887](https://redirect.github.com/go-chi/chi/pull/887)
- [@&#8203;tchssk](https://redirect.github.com/tchssk) made their first
contribution in
[https://github.com/go-chi/chi/pull/856](https://redirect.github.com/go-chi/chi/pull/856)
- [@&#8203;m1k1o](https://redirect.github.com/m1k1o) made their first
contribution in
[https://github.com/go-chi/chi/pull/875](https://redirect.github.com/go-chi/chi/pull/875)
- [@&#8203;hongkuancn](https://redirect.github.com/hongkuancn) made
their first contribution in
[https://github.com/go-chi/chi/pull/948](https://redirect.github.com/go-chi/chi/pull/948)
- [@&#8203;GocaMaric](https://redirect.github.com/GocaMaric) made their
first contribution in
[https://github.com/go-chi/chi/pull/880](https://redirect.github.com/go-chi/chi/pull/880)
- [@&#8203;costela](https://redirect.github.com/costela) made their
first contribution in
[https://github.com/go-chi/chi/pull/961](https://redirect.github.com/go-chi/chi/pull/961)

**Full Changelog**:
https://github.com/go-chi/chi/compare/v5.1.0...v5.2.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-02 16:24:13 -07:00
Mend Renovate
8ca0d1fc15 fix(deps): update module github.com/go-playground/validator/v10 to v10.26.0 (#370)
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.24.0` -> `v10.26.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-playground%2fvalidator%2fv10/v10.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-playground%2fvalidator%2fv10/v10.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-playground%2fvalidator%2fv10/v10.24.0/v10.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-playground%2fvalidator%2fv10/v10.24.0/v10.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-playground/validator
(github.com/go-playground/validator/v10)</summary>

###
[`v10.26.0`](https://redirect.github.com/go-playground/validator/releases/tag/v10.26.0)

[Compare
Source](https://redirect.github.com/go-playground/validator/compare/v10.25.0...v10.26.0)

#### What's Changed

- Use correct pointer in errors.As(). Fix "panic: errors: \*target must
be interface or implement error" in examples. by
[@&#8203;antonsoroko](https://redirect.github.com/antonsoroko) in
[https://github.com/go-playground/validator/pull/1378](https://redirect.github.com/go-playground/validator/pull/1378)
- Create dependabot by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1373](https://redirect.github.com/go-playground/validator/pull/1373)
- Bump golangci/golangci-lint-action from 4 to 6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/go-playground/validator/pull/1381](https://redirect.github.com/go-playground/validator/pull/1381)
- Bump golang.org/x/text from 0.21.0 to 0.22.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/go-playground/validator/pull/1383](https://redirect.github.com/go-playground/validator/pull/1383)
- Bump golang.org/x/crypto from 0.32.0 to 0.33.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/go-playground/validator/pull/1382](https://redirect.github.com/go-playground/validator/pull/1382)
- feat(translations): improve Indonesian translations and add tests by
[@&#8203;fathiraz](https://redirect.github.com/fathiraz) in
[https://github.com/go-playground/validator/pull/1376](https://redirect.github.com/go-playground/validator/pull/1376)
- Fix time.Duration translation error by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1154](https://redirect.github.com/go-playground/validator/pull/1154)
- Update Project Status button by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1380](https://redirect.github.com/go-playground/validator/pull/1380)
- Remove gitter.im link from README.md by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1366](https://redirect.github.com/go-playground/validator/pull/1366)
- Docs: fix `Base64RawURL` usage by
[@&#8203;196Ikuchil](https://redirect.github.com/196Ikuchil) in
[https://github.com/go-playground/validator/pull/1336](https://redirect.github.com/go-playground/validator/pull/1336)
- Fix length check on dns_rfc1035\_label tag by
[@&#8203;KimNorgaard](https://redirect.github.com/KimNorgaard) in
[https://github.com/go-playground/validator/pull/1214](https://redirect.github.com/go-playground/validator/pull/1214)
- Add Korean by [@&#8203;jkh0kr](https://redirect.github.com/jkh0kr) in
[https://github.com/go-playground/validator/pull/1338](https://redirect.github.com/go-playground/validator/pull/1338)
- add german translations by
[@&#8203;max-weis](https://redirect.github.com/max-weis) in
[https://github.com/go-playground/validator/pull/1322](https://redirect.github.com/go-playground/validator/pull/1322)
- Update workflow to support the last three Go versions by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1393](https://redirect.github.com/go-playground/validator/pull/1393)
- Fix: Nil pointer dereference in Arabic translations by
[@&#8203;BlackSud0](https://redirect.github.com/BlackSud0) in
[https://github.com/go-playground/validator/pull/1391](https://redirect.github.com/go-playground/validator/pull/1391)
- Translate to thai by
[@&#8203;maetad](https://redirect.github.com/maetad) in
[https://github.com/go-playground/validator/pull/1202](https://redirect.github.com/go-playground/validator/pull/1202)
- Feat: add EIN validation by
[@&#8203;henrriusdev](https://redirect.github.com/henrriusdev) in
[https://github.com/go-playground/validator/pull/1384](https://redirect.github.com/go-playground/validator/pull/1384)
- Fix reference to parameter name in docs by
[@&#8203;yegvla](https://redirect.github.com/yegvla) in
[https://github.com/go-playground/validator/pull/1400](https://redirect.github.com/go-playground/validator/pull/1400)
- use mail.ParseAddress to cover missing email validations by
[@&#8203;eladb2011](https://redirect.github.com/eladb2011) in
[https://github.com/go-playground/validator/pull/1395](https://redirect.github.com/go-playground/validator/pull/1395)
- Update linter to v2.0.2 by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[https://github.com/go-playground/validator/pull/1405](https://redirect.github.com/go-playground/validator/pull/1405)

#### New Contributors

- [@&#8203;antonsoroko](https://redirect.github.com/antonsoroko) made
their first contribution in
[https://github.com/go-playground/validator/pull/1378](https://redirect.github.com/go-playground/validator/pull/1378)
- [@&#8203;dependabot](https://redirect.github.com/dependabot) made
their first contribution in
[https://github.com/go-playground/validator/pull/1381](https://redirect.github.com/go-playground/validator/pull/1381)
- [@&#8203;fathiraz](https://redirect.github.com/fathiraz) made their
first contribution in
[https://github.com/go-playground/validator/pull/1376](https://redirect.github.com/go-playground/validator/pull/1376)
- [@&#8203;196Ikuchil](https://redirect.github.com/196Ikuchil) made
their first contribution in
[https://github.com/go-playground/validator/pull/1336](https://redirect.github.com/go-playground/validator/pull/1336)
- [@&#8203;KimNorgaard](https://redirect.github.com/KimNorgaard) made
their first contribution in
[https://github.com/go-playground/validator/pull/1214](https://redirect.github.com/go-playground/validator/pull/1214)
- [@&#8203;jkh0kr](https://redirect.github.com/jkh0kr) made their first
contribution in
[https://github.com/go-playground/validator/pull/1338](https://redirect.github.com/go-playground/validator/pull/1338)
- [@&#8203;max-weis](https://redirect.github.com/max-weis) made their
first contribution in
[https://github.com/go-playground/validator/pull/1322](https://redirect.github.com/go-playground/validator/pull/1322)
- [@&#8203;BlackSud0](https://redirect.github.com/BlackSud0) made their
first contribution in
[https://github.com/go-playground/validator/pull/1391](https://redirect.github.com/go-playground/validator/pull/1391)
- [@&#8203;maetad](https://redirect.github.com/maetad) made their first
contribution in
[https://github.com/go-playground/validator/pull/1202](https://redirect.github.com/go-playground/validator/pull/1202)
- [@&#8203;henrriusdev](https://redirect.github.com/henrriusdev) made
their first contribution in
[https://github.com/go-playground/validator/pull/1384](https://redirect.github.com/go-playground/validator/pull/1384)
- [@&#8203;yegvla](https://redirect.github.com/yegvla) made their first
contribution in
[https://github.com/go-playground/validator/pull/1400](https://redirect.github.com/go-playground/validator/pull/1400)
- [@&#8203;eladb2011](https://redirect.github.com/eladb2011) made their
first contribution in
[https://github.com/go-playground/validator/pull/1395](https://redirect.github.com/go-playground/validator/pull/1395)

**Full Changelog**:
https://github.com/go-playground/validator/compare/v10.25.0...v10.26.0

###
[`v10.25.0`](https://redirect.github.com/go-playground/validator/releases/tag/v10.25.0):
Release 10.25.0

[Compare
Source](https://redirect.github.com/go-playground/validator/compare/v10.24.0...v10.25.0)

#### What's Changed

- Fix postcode_iso3166\_alpha2\_field validation by
[@&#8203;ddevcap](https://redirect.github.com/ddevcap) in
[https://github.com/go-playground/validator/pull/1359](https://redirect.github.com/go-playground/validator/pull/1359)
- Update README to replace the Travis CI badge with a GitHub Actions
badge by [@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero)
in
[https://github.com/go-playground/validator/pull/1362](https://redirect.github.com/go-playground/validator/pull/1362)
- chore: using errors.As instead of type assertion by
[@&#8203;fatelei](https://redirect.github.com/fatelei) in
[https://github.com/go-playground/validator/pull/1346](https://redirect.github.com/go-playground/validator/pull/1346)
- Fix/remove issue template md by
[@&#8203;ganeshdipdumbare](https://redirect.github.com/ganeshdipdumbare)
in
[https://github.com/go-playground/validator/pull/1375](https://redirect.github.com/go-playground/validator/pull/1375)
- feat: Add support for omitting empty and zero values in validation
(including nil pointer and empty content of pointer) by
[@&#8203;zeewell](https://redirect.github.com/zeewell) in
[https://github.com/go-playground/validator/pull/1289](https://redirect.github.com/go-playground/validator/pull/1289)

#### New Contributors

- [@&#8203;ddevcap](https://redirect.github.com/ddevcap) made their
first contribution in
[https://github.com/go-playground/validator/pull/1359](https://redirect.github.com/go-playground/validator/pull/1359)
- [@&#8203;fatelei](https://redirect.github.com/fatelei) made their
first contribution in
[https://github.com/go-playground/validator/pull/1346](https://redirect.github.com/go-playground/validator/pull/1346)
- [@&#8203;zeewell](https://redirect.github.com/zeewell) made their
first contribution in
[https://github.com/go-playground/validator/pull/1289](https://redirect.github.com/go-playground/validator/pull/1289)

**Full Changelog**:
https://github.com/go-playground/validator/compare/v10.24.0...v10.25.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-02 16:02:01 -07:00
Mend Renovate
0fcad95e10 fix(deps): update module cloud.google.com/go/spanner to v1.78.0 (#368)
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.76.1` -> `v1.78.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.78.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fspanner/v1.78.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fspanner/v1.76.1/v1.78.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.76.1/v1.78.0?slim=true)](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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-02 15:46:14 -07:00
Mend Renovate
007f1bbfae fix(deps): update module cloud.google.com/go/cloudsqlconn to v1.16.0 (#367)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/cloudsqlconn](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector)
| `v1.15.0` -> `v1.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.15.0/v1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcloudsqlconn/v1.15.0/v1.16.0?slim=true)](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>googlecloudplatform/cloud-sql-go-connector
(cloud.google.com/go/cloudsqlconn)</summary>

###
[`v1.16.0`](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/releases/tag/v1.16.0)

[Compare
Source](https://redirect.github.com/googlecloudplatform/cloud-sql-go-connector/compare/v1.15.0...v1.16.0)

##### Features

- add domain name validation
([#&#8203;925](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/925))
([986152f](986152ff1b))
- Use standard TLS hostname validation for instances with DNS names
([#&#8203;954](https://redirect.github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/954))
([d733a16](d733a161c5))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-02 15:28:36 -07:00
Mend Renovate
e0dbb133eb fix(deps): update module github.com/jackc/pgx/v5 to v5.7.4 (#365)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/jackc/pgx/v5](https://redirect.github.com/jackc/pgx) |
`v5.7.2` -> `v5.7.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjackc%2fpgx%2fv5/v5.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjackc%2fpgx%2fv5/v5.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjackc%2fpgx%2fv5/v5.7.2/v5.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjackc%2fpgx%2fv5/v5.7.2/v5.7.4?slim=true)](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>jackc/pgx (github.com/jackc/pgx/v5)</summary>

###
[`v5.7.4`](https://redirect.github.com/jackc/pgx/compare/v5.7.3...v5.7.4)

[Compare
Source](https://redirect.github.com/jackc/pgx/compare/v5.7.3...v5.7.4)

###
[`v5.7.3`](https://redirect.github.com/jackc/pgx/compare/v5.7.2...v5.7.3)

[Compare
Source](https://redirect.github.com/jackc/pgx/compare/v5.7.2...v5.7.3)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-04-02 14:44:51 -07:00
Yuan
33cca68023 fix: renovatebot to run go mod tidy post update (#385)
Currently renovate bot doesn't run go mod tidy, hence, all the renovate
bot PR failed the lint checks.
2025-04-02 14:28:24 -07:00
Wenxin Du
64da5b4efe feat: Add HTTP Source and Tool (#332)
Add Source and Tool for tool invocation through HTTP requests.
2025-04-02 14:52:35 -04:00
duwenxin
559cb66791 ci: Update renovate 2025-04-01 14:34:30 -04:00
Wenxin Du
d98c8efa98 ci: Add renovate config (#347)
Add renovate config for repo dependency updates.
2025-04-01 10:29:39 -04:00
Twisha Bansal
38cf4c02be docs: fix open quickstart in colab link (#359) 2025-04-01 13:53:06 +05:30
Yuan
1ebb89de41 docs: update logo and architecture assets (#357) 2025-03-30 15:55:44 +00:00
Twisha Bansal
0a19ac7c3b docs: add colab quickstart (#349) 2025-03-30 09:48:43 -06:00
Twisha Bansal
a3ab38539c docs: Adopted a generic terminology for agents (#351) 2025-03-27 08:31:32 -06:00
Twisha Bansal
0423bdb045 docs: Added tip for using toolbox from colab (#352) 2025-03-27 10:27:10 +05:30
Yuan
4e304569df refactor(server): move common tests functions into a separate file (#350)
move common tests functions in server into a separate file.
2025-03-26 10:20:30 -07:00
Wenxin Du
802653a0ca ci: Add blunderbuss config (#346)
documentation:
https://github.com/googleapis/repo-automation-bots/tree/main/packages/blunderbuss#usage
2025-03-24 15:35:10 -04:00
Wenxin Du
0472d3ebb8 ci: Add unit test code coverage check (#305)
Edited the unit test workflow:
- The unit test coverage calculation excludes the `sources` and `tools`
packages (but we still run them without coverage).
- Generate a code coverage analysis file `coverage.out` and fail the
unit test if the total coverage is below 40% (target at 90%)
2025-03-24 15:23:31 -04:00
Twisha Bansal
48ed9399b1 chore: change to template project id (#345) 2025-03-24 12:48:49 +05:30
Anubhav Dhawan
7f8c13b501 chore: add cloud build reporter for integration tests (#342)
Along with creating the required files, this PR adds changes similar to
https://github.com/googleapis/genai-toolbox-llamaindex-python/pull/32
2025-03-21 10:34:32 -07:00
release-please[bot]
58c1203f77 chore(main): release 0.2.1 (#324)
🤖 I have created a release *beep* *boop*
---


##
[0.2.1](https://github.com/googleapis/genai-toolbox/compare/v0.2.0...v0.2.1)
(2025-03-20)


### Bug Fixes

* Fix variable name in quickstart
([#336](https://github.com/googleapis/genai-toolbox/issues/336))
([5400127](5400127887))
* **source/alloydb:** Correct user agents not being sent
([#323](https://github.com/googleapis/genai-toolbox/issues/323))
([ce12a34](ce12a344ed))

---
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>
2025-03-20 14:43:12 -07:00
Yuan
4c281e535f docs: update docs to pull docker image with latest tag (#341)
Pull the docker image with `latest` tag instead of the specific version
number.
2025-03-20 21:34:21 +00:00
Arjun Prabhulal
541d019947 docs: update LlamaIndex quickstart URL (#339)
This PR fixes an incorrect or outdated LlamaIndex documentation URL in
`local_quickstart.md`.

---------

Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
2025-03-20 08:58:48 -06:00
Arjun Prabhulal
ebe5af1692 chore: fix indentation issue in Quickstart (#338)
This PR fixes indentation issues in local_quickstart.md (lines 311-371) to ensure proper Markdown rendering.
2025-03-20 08:53:21 -06:00
Twisha Bansal
5400127887 fix: fix variable name in quickstart (#336) 2025-03-19 14:32:35 +05:30
Yuan
ecd7c35ca1 chore: cleanup unused function (#335)
This PR is to remove the `NewGenericTool` function within tools. 

This function was previously added when we are trying to consolidate the
three postgres tools. However, since we merged it into a single
`postgressql` tool, these functions are not used anymore.
2025-03-18 14:10:47 -07:00
Twisha Bansal
0e152165ba chore: Update "llamaindex" to "LlamaIndex" for proper casing (#334) 2025-03-18 12:44:18 -06:00
Twisha Bansal
4ef82a3d6b chore: correct quickstart description to include LlamaIndex (#333) 2025-03-18 23:52:38 +05:30
Twisha Bansal
1757a63e2d docs: added quickstart guide for llamaindex sdk (#318)
Developed a quickstart using Llamaindex
[AgentWorkflow](https://docs.llamaindex.ai/en/stable/examples/agent/agent_workflow_basic/).

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-03-18 23:32:36 +05:30
Twisha Bansal
c836e0f9d7 docs: add llamaindex sdk info to toolbox docs (#330) 2025-03-17 22:48:28 +05:30
Twisha Bansal
62fecac17e docs: use sync sdk interface for default example (#329) 2025-03-17 22:11:22 +05:30
Twisha Bansal
67524f347c docs: add llamaindex to readme (#328) 2025-03-17 21:59:16 +05:30
Anubhav Dhawan
bccb60b8d8 doc: Improve full doc link in README (#326)
This slightly improves readability as "full documentation" is
highlighted with the link, which is more accurate.
2025-03-17 12:20:25 +05:30
Yuan
2b6bb99daa chore: throw an error fail to retrieve user agent (#304)
User agent will be set as "genai-toolbox/" + versionString.

Instead of a panic, Toolbox will throw an error if the source fail to
retrieve `user agent`.

This will also be consistent with setting and getting logger from
context.
2025-03-11 13:46:44 -07:00
Yuan
ce12a344ed fix(source/alloydb): correct user agents not being sent (#323)
Bump alloydb go connector to v1.15.0 to adapt the fix for user agent
(https://github.com/googleapis/google-api-go-client/issues/3049).
2025-03-11 09:24:38 -07:00
Yuan
3f4563a17b docs: release please update versions on docs automatically (#321)
Include release please annotations to update version bumps in docs
automatically, refer
[here](https://github.com/googleapis/release-please/blob/main/docs/customizing.md#updating-arbitrary-files)
for release please documentations.
2025-03-07 10:20:27 -08:00
Yuan
b20da75256 Revert "docs: release please update versions on docs automatically" (#320)
Reverts googleapis/genai-toolbox#319
2025-03-07 04:57:28 +00:00
Yuan
40ed3ed052 docs: release please update versions on docs automatically (#319)
Include release please annotations to update version bumps in docs
automatically, refer
[here](https://github.com/googleapis/release-please/blob/main/docs/customizing.md#updating-arbitrary-files)
for release please documentations.
2025-03-06 20:52:48 -08:00
Jack Wotherspoon
06940f2d82 chore: update sdk reference in DEVELOPER.md (#317)
Was getting a 404 on link referencing SDK developer guide.

I think it is meant to point at
https://github.com/googleapis/genai-toolbox-langchain-python/blob/main/DEVELOPER.md
2025-03-05 16:45:46 -07:00
Yuan
e08c35faa2 docs: update toolbox version to the latest (#316) 2025-03-05 10:32:34 -08:00
Anubhav Dhawan
1bdd331ead chore: update "Hello, World!" message from the default route of Toolbox. (#315) 2025-03-04 22:59:06 +05:30
269 changed files with 25966 additions and 2274 deletions

View File

@@ -17,15 +17,8 @@ steps:
waitFor: ['-']
script: |
#!/usr/bin/env bash
docker buildx build --build-arg METADATA_TAGS=$(git rev-parse HEAD) -t ${_DOCKER_URI}:$REF_NAME .
- id: "push-docker"
name: "gcr.io/cloud-builders/docker"
waitFor:
- "build-docker"
script: |
#!/usr/bin/env bash
docker push ${_DOCKER_URI}:$REF_NAME
docker buildx create --name container-builder --driver docker-container --bootstrap --use
docker buildx build --platform linux/amd64,linux/arm64 --build-arg COMMIT_SHA=$(git rev-parse HEAD) -t ${_DOCKER_URI}:$REF_NAME --push .
- id: "install-dependencies"
name: golang:1
@@ -50,7 +43,7 @@ steps:
script: |
#!/usr/bin/env bash
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.linux.amd64.$REF_NAME" -o toolbox.linux.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.linux.amd64
- id: "store-linux-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -72,7 +65,7 @@ steps:
script: |
#!/usr/bin/env bash
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.darwin.arm64.$REF_NAME" -o toolbox.darwin.arm64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.darwin.arm64
- id: "store-darwin-arm64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -94,7 +87,7 @@ steps:
script: |
#!/usr/bin/env bash
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.darwin.amd64.$REF_NAME" -o toolbox.darwin.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.darwin.amd64
- id: "store-darwin-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -116,7 +109,7 @@ steps:
script: |
#!/usr/bin/env bash
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.windows.amd64.$REF_NAME" -o toolbox.windows.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.windows.amd64
- id: "store-windows-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -124,12 +117,13 @@ steps:
- "build-windows-amd64"
script: |
#!/usr/bin/env bash
gcloud storage cp toolbox.windows.amd64 gs://$_BUCKET_NAME/$REF_NAME/windows/amd64/toolbox
gcloud storage cp toolbox.windows.amd64 gs://$_BUCKET_NAME/$REF_NAME/windows/amd64/toolbox.exe
options:
automapSubstitutions: true
dynamicSubstitutions: true
logging: CLOUD_LOGGING_ONLY # Necessary for custom service account
machineType: 'E2_HIGHCPU_32'
substitutions:
_REGION: us-central1

View File

@@ -11,20 +11,37 @@ fi
FILES=("linux.amd64" "darwin.arm64" "darwin.amd64" "windows.amd64")
output_string=""
# Define the descriptions - ensure this array's order matches FILES
DESCRIPTIONS=(
"For **Linux** systems running on **Intel/AMD 64-bit processors**."
"For **macOS** systems running on **Apple Silicon** (M1, M2, M3, etc.) processors."
"For **macOS** systems running on **Intel processors**."
"For **Windows** systems running on **Intel/AMD 64-bit processors**."
)
# Write the table header
ROW_FMT="| %-93s | %73s |"
output_string+=$(printf "$ROW_FMT" "**os/arch**" "**sha256**")$'\n'
output_string+=$(printf "$ROW_FMT" $(printf -- '-%0.s' {1..93}) $(printf -- '-%0.s' {1..73}))$'\n'
ROW_FMT="| %-105s | %-120s | %-67s |\n"
output_string+=$(printf "$ROW_FMT" "**OS/Architecture**" "**Description**" "**SHA256 Hash**")$'\n'
output_string+=$(printf "$ROW_FMT" "$(printf -- '-%0.s' {1..105})" "$(printf -- '-%0.s' {1..120})" "$(printf -- '-%0.s' {1..67})")$'\n'
# Loop through all files matching the pattern "toolbox.*.*"
for file in "${FILES[@]}"
for i in "${!FILES[@]}"
do
file_key="${FILES[$i]}" # e.g., "linux.amd64"
description_text="${DESCRIPTIONS[$i]}"
# Extract OS and ARCH from the filename
OS=$(echo "$file" | cut -d '.' -f 1)
ARCH=$(echo "$file" | cut -d '.' -f 2)
OS=$(echo "$file_key" | cut -d '.' -f 1)
ARCH=$(echo "$file_key" | cut -d '.' -f 2)
# Get release URL
URL=https://storage.googleapis.com/genai-toolbox/$VERSION/$OS/$ARCH/toolbox
if [ "$OS" = 'windows' ];
then
URL="https://storage.googleapis.com/genai-toolbox/$VERSION/$OS/$ARCH/toolbox.exe"
else
URL="https://storage.googleapis.com/genai-toolbox/$VERSION/$OS/$ARCH/toolbox"
fi
curl "$URL" --fail --output toolbox || exit 1
@@ -32,10 +49,10 @@ do
SHA256=$(shasum -a 256 toolbox | awk '{print $1}')
# Write the table row
# output_string+="| [$OS/$ARCH]($URL) | $SHA256 |\n"
output_string+=$(printf "$ROW_FMT" "[$OS/$ARCH]($URL)" "$SHA256")$'\n'
output_string+=$(printf "$ROW_FMT" "[$OS/$ARCH]($URL)" "$description_text" "$SHA256")$'\n'
rm toolbox
done
printf "$output_string\n"

View File

@@ -24,9 +24,20 @@ steps:
script: |
go get -d ./...
- id: "cloud-sql-pg"
- id: "compile-test-binary"
name: golang:1
waitFor: ["install-dependencies"]
env:
- "GOPATH=/gopath"
volumes:
- name: "go"
path: "/gopath"
script: |
go test -c -race ./tests/...
- id: "cloud-sql-pg"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -43,11 +54,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,cloudsqlpg ./tests
./cloudsqlpg.test -test.v
- id: "alloydb-pg"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -64,11 +75,68 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,alloydb ./tests
./alloydbpg.test -test.v
- id: "alloydb-ai-nl"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "ALLOYDB_AI_NL_PROJECT=$PROJECT_ID"
- "ALLOYDB_AI_NL_CLUSTER=$_ALLOYDB_AI_NL_CLUSTER"
- "ALLOYDB_AI_NL_INSTANCE=$_ALLOYDB_AI_NL_INSTANCE"
- "ALLOYDB_AI_NL_DATABASE=$_DATABASE_NAME"
- "ALLOYDB_AI_NL_REGION=$_REGION"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["ALLOYDB_AI_NL_USER", "ALLOYDB_AI_NL_PASS", "CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./alloydbainl.test -test.v
- id: "bigtable"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "BIGTABLE_PROJECT=$PROJECT_ID"
- "BIGTABLE_INSTANCE=$_BIGTABLE_INSTANCE"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv:
["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./bigtable.test -test.v
- id: "bigquery"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "BIGQUERY_PROJECT=$PROJECT_ID"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./bigquery.test -test.v
- id: "postgres"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -83,28 +151,30 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,postgres ./tests
./postgres.test -test.v
- id: "spanner"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SPANNER_PROJECT=$PROJECT_ID"
- "SPANNER_DATABASE=$_DATABASE_NAME"
- "SPANNER_INSTANCE=$_SPANNER_INSTANCE"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
go test -race -v -tags=integration,spanner ./tests
./spanner.test -test.v
- id: "neo4j"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -117,11 +187,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,neo4j ./tests
./neo4j.test -test.v
- id: "cloud-sql-mssql"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -138,11 +208,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,cloudsqlmssql ./tests
./cloudsqlmssql.test -test.v
- id: "cloud-sql-mysql"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -159,11 +229,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,cloudsqlmysql ./tests
./cloudsqlmysql.test -test.v
- id: "mysql"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -178,11 +248,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,mysql ./tests
./mysql.test -test.v
- id: "mssql"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -197,11 +267,11 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,mssql ./tests
./mssql.test -test.v
- id: "dgraph"
name: golang:1
waitFor: ["install-dependencies"]
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
@@ -212,7 +282,90 @@ steps:
args:
- -c
- |
go test -race -v -tags=integration,dgraph ./tests
./dgraph.test -test.v
- id: "http"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./http.test -test.v
- id: "sqlite"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
volumes:
- name: "go"
path: "/gopath"
secretEnv: ["CLIENT_ID"]
args:
- -c
- |
./sqlite.test -test.v
- id: "couchbase"
name : golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "COUCHBASE_SCOPE=$_COUCHBASE_SCOPE"
- "COUCHBASE_BUCKET=$_COUCHBASE_BUCKET"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["COUCHBASE_CONNECTION", "COUCHBASE_USER", "COUCHBASE_PASS", "CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./couchbase.test -test.v
- id: "redis"
name : golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["REDIS_ADDRESS", "REDIS_PASS", "CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./redis.test -test.v
- id: "valkey"
name : golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "VALKEY_DATABASE=$_VALKEY_DATABASE"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["VALKEY_ADDRESS", "CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
./valkey.test -test.v
availableSecrets:
secretManager:
@@ -224,6 +377,10 @@ availableSecrets:
env: ALLOYDB_POSTGRES_USER
- versionName: projects/$PROJECT_ID/secrets/alloydb_pg_pass/versions/latest
env: ALLOYDB_POSTGRES_PASS
- versionName: projects/$PROJECT_ID/secrets/alloydb_ai_nl_user/versions/latest
env: ALLOYDB_AI_NL_USER
- versionName: projects/$PROJECT_ID/secrets/alloydb_ai_nl_pass/versions/latest
env: ALLOYDB_AI_NL_PASS
- versionName: projects/$PROJECT_ID/secrets/postgres_user/versions/latest
env: POSTGRES_USER
- versionName: projects/$PROJECT_ID/secrets/postgres_pass/versions/latest
@@ -250,6 +407,18 @@ availableSecrets:
env: MSSQL_USER
- versionName: projects/$PROJECT_ID/secrets/mssql_pass/versions/latest
env: MSSQL_PASS
- versionName: projects/$PROJECT_ID/secrets/couchbase_connection/versions/latest
env: COUCHBASE_CONNECTION
- versionName: projects/$PROJECT_ID/secrets/couchbase_user/versions/latest
env: COUCHBASE_USER
- versionName: projects/$PROJECT_ID/secrets/couchbase_pass/versions/latest
env: COUCHBASE_PASS
- versionName: projects/$PROJECT_ID/secrets/memorystore_redis_address/versions/latest
env: REDIS_ADDRESS
- versionName: projects/$PROJECT_ID/secrets/memorystore_redis_pass/versions/latest
env: REDIS_PASS
- versionName: projects/$PROJECT_ID/secrets/memorystore_valkey_address/versions/latest
env: VALKEY_ADDRESS
options:
@@ -266,6 +435,9 @@ substitutions:
_CLOUD_SQL_POSTGRES_INSTANCE: "cloud-sql-pg-testing"
_ALLOYDB_POSTGRES_CLUSTER: "alloydb-pg-testing"
_ALLOYDB_POSTGRES_INSTANCE: "alloydb-pg-testing-instance"
_ALLOYDB_AI_NL_CLUSTER: "alloydb-ai-nl-testing"
_ALLOYDB_AI_NL_INSTANCE: "alloydb-ai-nl-testing-instance"
_BIGTABLE_INSTANCE: "bigtable-testing-instance"
_POSTGRES_HOST: 127.0.0.1
_POSTGRES_PORT: "5432"
_SPANNER_INSTANCE: "spanner-testing"
@@ -277,3 +449,5 @@ substitutions:
_MSSQL_HOST: 127.0.0.1
_MSSQL_PORT: "1433"
_DGRAPHURL: "https://play.dgraph.io"
_COUCHBASE_BUCKET: "couchbase-bucket"
_COUCHBASE_SCOPE: "couchbase-scope"

View File

@@ -18,19 +18,13 @@ steps:
script: |
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
docker buildx build --build-arg METADATA_TAGS=$(git rev-parse HEAD) -t ${_DOCKER_URI}:$VERSION -t ${_DOCKER_URI}:latest .
docker buildx create --name container-builder --driver docker-container --bootstrap --use
- id: "push-docker"
name: "gcr.io/cloud-builders/docker"
waitFor:
- "build-docker"
script: |
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
docker push ${_DOCKER_URI}:$VERSION
export TAGS="-t ${_DOCKER_URI}:$VERSION"
if [[ $_PUSH_LATEST == 'true' ]]; then
docker push ${_DOCKER_URI}:latest
export TAGS="$TAGS -t ${_DOCKER_URI}:latest"
fi
docker buildx build --platform linux/amd64,linux/arm64 --build-arg BUILD_TYPE=container.release --build-arg COMMIT_SHA=$(git rev-parse HEAD) $TAGS --push .
- id: "install-dependencies"
name: golang:1
@@ -56,7 +50,7 @@ steps:
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.linux.amd64.$VERSION.$(git rev-parse HEAD)" -o toolbox.linux.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.buildType=binary -X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.linux.amd64
- id: "store-linux-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -80,7 +74,7 @@ steps:
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.darwin.arm64.$VERSION.$(git rev-parse HEAD)" -o toolbox.darwin.arm64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.buildType=binary -X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.darwin.arm64
- id: "store-darwin-arm64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -104,7 +98,7 @@ steps:
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.darwin.amd64.$VERSION.$(git rev-parse HEAD)" -o toolbox.darwin.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.buildType=binary -X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.darwin.amd64
- id: "store-darwin-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -128,7 +122,7 @@ steps:
#!/usr/bin/env bash
export VERSION=$(cat ./cmd/version.txt)
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=binary.windows.amd64.$VERSION.$(git rev-parse HEAD)" -o toolbox.windows.amd64
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.buildType=binary -X github.com/googleapis/genai-toolbox/cmd.commitSha=$(git rev-parse HEAD)" -o toolbox.windows.amd64
- id: "store-windows-amd64"
name: "gcr.io/cloud-builders/gcloud:latest"
@@ -137,12 +131,13 @@ steps:
script: |
#!/usr/bin/env bash
export VERSION=v$(cat ./cmd/version.txt)
gcloud storage cp toolbox.windows.amd64 gs://$_BUCKET_NAME/$VERSION/windows/amd64/toolbox
gcloud storage cp toolbox.windows.amd64 gs://$_BUCKET_NAME/$VERSION/windows/amd64/toolbox.exe
options:
automapSubstitutions: true
dynamicSubstitutions: true
logging: CLOUD_LOGGING_ONLY # Necessary for custom service account
machineType: 'E2_HIGHCPU_32'
substitutions:
_REGION: us-central1

119
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,119 @@
# 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
#
# https://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.
name: 🐞 Bug Report
description: File a report for unexpected or undesired behavior.
title: "<brief summary of what bug or error was observed>"
labels: ["type: bug"]
type: "bug"
body:
- type: markdown
attributes:
value: |
Thanks for helping us improve! 🙏 Please answer these questions and provide as much information as possible about your problem.
- id: preamble
type: checkboxes
attributes:
label: Prerequisites
description: |
Please run through the following list and make sure you've tried the usual "quick fixes":
- Search the [current open issues](https://github.com/googleapis/genai-toolbox/issues)
- Update to the [latest version of Toolbox](https://github.com/googleapis/genai-toolbox/releases)
options:
- label: "I've searched the current open issues"
required: true
- label: "I've updated to the latest version of Toolbox"
- type: input
id: version
attributes:
label: Toolbox version
description: |
What version of Toolbox are you using (`toolbox --version`)? e.g.
- toolbox version 0.3.0
- us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:0.3.0
placeholder: ex. toolbox version 0.3.0
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: "Let us know some details about the environment in which you are seeing the bug!"
value: |
1. OS type and version: (output of `uname -a`)
2. How are you running Toolbox:
- As a downloaded binary (e.g. from `curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox`)
- As a container (e.g. from `us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION`)
- Compiled from source (include the command used to build)
- type: textarea
id: client
attributes:
label: Client
description: "How are you connecting to Toolbox?"
value: |
1. Client: <name and link to the client are you using>
2. Version: <what exact version of the client are you using>
3. Example: If possible, please include your code of configuration:
```python
# Code goes here!
```
- id: expected-behavior
type: textarea
attributes:
label: Expected Behavior
description: |
Please enter a detailed description of the behavior you expected, and any information about what behavior you
noticed and why it is defective or unintentional.
validations:
required: true
- id: current-behavior
type: textarea
attributes:
label: Current Behavior
description: "Please enter a detailed description of the behavior you encountered instead."
validations:
required: true
- type: textarea
id: repro
attributes:
label: Steps to reproduce?
description: |
How can we reproduce this bug? Please walk us through it step by step,
with as much relevant detail as possible. A 'minimal' reproduction is
preferred, which means removing as much of the examples as possible so
only the minimum required to run and reproduce the bug is left.
value: |
1. ?
2. ?
3. ?
...
validations:
required: true
- type: textarea
id: additional-details
attributes:
label: Additional Details
description: |
Any other information you want us to know? Things such as tools config,
server logs, etc. can be included here.

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Google Cloud Support
url: https://cloud.google.com/support/
about: If you have a support contract with Google, please both open an issue here and open Google Cloud Support portal with a link to the issue.

View File

@@ -0,0 +1,60 @@
# 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
#
# https://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.
name: ✨ Feature Request
description: Suggest an idea for new or improved behavior.
title: "<brief summary of the proposed feature>"
labels: ["type: feature request"]
type: feature
body:
- type: markdown
attributes:
value: |
Thanks for helping us improve! 🙏 Please answer these questions and provide as much information as possible about your feature request.
- id: preamble
type: checkboxes
attributes:
label: Prerequisites
description: |
Please run through the following list and make sure you've tried the usual "quick fixes":
options:
- label: "Search the [current open issues](https://github.com/googleapis/genai-toolbox/issues)"
required: true
- type: textarea
id: use-case
attributes:
label: What are you trying to do that currently feels hard or impossible?
description: "A clear and concise description of what the end goal for the feature should be -- avoid generalizing and try to provide a specific use-case."
validations:
required: true
- type: textarea
id: suggested-solution
attributes:
label: Suggested Solution(s)
description: "If you have a suggestion for how this use-case can be solved, please feel free to include it."
- type: textarea
id: alternatives-considered
attributes:
label: Alternatives Considered
description: "Are there any workaround or third party tools to replicate this behavior? Why would adding this feature be preferred over them?"
- type: textarea
id: additional-details
attributes:
label: Additional Details
description: "Any additional information we should know? Please reference it here (issues, PRs, descriptions, or screenshots)"

55
.github/ISSUE_TEMPLATE/question.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
# 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
#
# https://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.
name: 💬 Question
description: Questions on how something works or the best way to do something?
title: "<brief summary of the question>"
labels: ["type: question"]
body:
- type: markdown
attributes:
value: |
Thanks for helping us improve! 🙏 Please provide as much information as possible about your question.
- id: preamble
type: checkboxes
attributes:
label: Prerequisites
description: |
Please run through the following list and make sure you've tried the usual "quick fixes":
options:
- label: "Search the [current open issues](https://github.com/googleapis/genai-toolbox/issues)"
required: true
- type: textarea
id: question
attributes:
label: Question
description: "What's your question? Please provide as much relevant information as possible to reduce turnaround time. Include information like what environment, language, or framework you are using."
placeholder: "Example: How do I connect using private IP with the AlloyDB source?"
validations:
required: true
- type: textarea
id: code
attributes:
label: Code
description: "Please paste any useful application code that might be relevant to your question. (if your code is in a public repo, feel free to paste a link!)"
- type: textarea
id: additional-details
attributes:
label: Additional Details
description: "Any other information you want us to know that might be helpful in answering your question? (link issues, PRs, descriptions, or screenshots)."

15
.github/blunderbuss.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
assign_issues:
- kurtisvg
- Yuan325
- duwenxin99
assign_issues_by:
- labels:
- 'product: bigquery'
to:
- Genesis929
- shobsi
- jiaxunwu
assign_prs:
- kurtisvg
- Yuan325
- duwenxin99

2
.github/label-sync.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
---
ignored: true

22
.github/labels.yaml vendored
View File

@@ -68,3 +68,25 @@
- name: 'tests: run'
color: 3DED97
description: Label to trigger Github Action tests.
- name: 'docs: deploy-preview'
color: BFDADC
description: Label to trigger Github Action docs preview.
- name: 'status: contribution welcome'
color: 8befd7
description: Status - Contributions welcome.
- name: 'status: awaiting response'
color: 8befd7
description: Status - Awaiting response from author.
- name: 'status: awaiting codeowners'
color: 8befd7
description: Status - Awaiting response from code owners.
# Product Labels
- name: 'product: bigquery'
color: 5065c7
description: Product - Assigned to the BigQuery team.

View File

@@ -16,3 +16,20 @@ handleGHRelease: true
packageName: genai-toolbox
releaseType: simple
versionFile: "cmd/version.txt"
extraFiles: [
"README.md",
"docs/en/getting-started/introduction/_index.md",
"docs/en/getting-started/local_quickstart.md",
"docs/en/getting-started/mcp_quickstart/_index.md",
"docs/en/samples/bigquery/local_quickstart.md",
"docs/en/samples/bigquery/mcp_quickstart/_index.md",
"docs/en/getting-started/colab_quickstart.ipynb",
"docs/en/samples/bigquery/colab_quickstart_bigquery.ipynb",
"docs/en/how-to/connect-ide/bigquery_mcp.md",
"docs/en/how-to/connect-ide/spanner_mcp.md",
"docs/en/how-to/connect-ide/alloydb_pg_mcp.md",
"docs/en/how-to/connect-ide/cloud_sql_mysql_mcp.md",
"docs/en/how-to/connect-ide/cloud_sql_pg_mcp.md",
"docs/en/how-to/connect-ide/postgres_mcp.md",
"docs/en/how-to/connect-ide/cloud_sql_mssql_mcp.md",
]

28
.github/renovate.json5 vendored Normal file
View File

@@ -0,0 +1,28 @@
{
extends: [
'config:recommended',
':semanticCommitTypeAll(chore)',
':ignoreUnstable',
':separateMajorReleases',
':prConcurrentLimitNone',
':prHourlyLimitNone',
':preserveSemverRanges',
],
minimumReleaseAge: '3',
rebaseWhen: 'conflicted',
dependencyDashboardLabels: [
'type: process',
],
"postUpdateOptions": [
"gomodTidy"
],
packageRules: [
{
groupName: 'GitHub Actions',
matchManagers: [
'github-actions',
],
pinDigests: true,
},
],
}

View File

@@ -31,6 +31,8 @@ branchProtectionRules:
- "header-check"
# - Add required status checks like presubmit tests
- "unit tests (ubuntu-latest)"
- "unit tests (windows-latest)"
- "unit tests (macos-latest)"
- "integration-test-pr (toolbox-testing-438616)"
requiredApprovingReviewCount: 1
requiresCodeOwnerReviews: true

View File

@@ -0,0 +1,179 @@
# 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.
name: Cloud Build Failure Reporter
on:
workflow_call:
inputs:
trigger_names:
required: true
type: string
workflow_dispatch:
inputs:
trigger_names:
description: 'Cloud Build trigger names separated by comma.'
required: true
default: ''
jobs:
report:
permissions:
issues: 'write'
checks: 'read'
runs-on: 'ubuntu-latest'
steps:
- uses: 'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' # v7
with:
script: |-
// parse test names
const testNameSubstring = '${{ inputs.trigger_names }}';
const testNameFound = new Map(); //keeps track of whether each test is found
testNameSubstring.split(',').forEach(testName => {
testNameFound.set(testName, false);
});
// label for all issues opened by reporter
const periodicLabel = 'periodic-failure';
// check if any reporter opened any issues previously
const prevIssues = await github.paginate(github.rest.issues.listForRepo, {
...context.repo,
state: 'open',
creator: 'github-actions[bot]',
labels: [periodicLabel]
});
// createOrCommentIssue creates a new issue or comments on an existing issue.
const createOrCommentIssue = async function (title, txt) {
if (prevIssues.length < 1) {
console.log('no previous issues found, creating one');
await github.rest.issues.create({
...context.repo,
title: title,
body: txt,
labels: [periodicLabel]
});
return;
}
// only comment on issue related to the current test
for (const prevIssue of prevIssues) {
if (prevIssue.title.includes(title)){
console.log(
`found previous issue ${prevIssue.html_url}, adding comment`
);
await github.rest.issues.createComment({
...context.repo,
issue_number: prevIssue.number,
body: txt
});
return;
}
}
};
// updateIssues comments on any existing issues. No-op if no issue exists.
const updateIssues = async function (checkName, txt) {
if (prevIssues.length < 1) {
console.log('no previous issues found.');
return;
}
// only comment on issue related to the current test
for (const prevIssue of prevIssues) {
if (prevIssue.title.includes(checkName)){
console.log(`found previous issue ${prevIssue.html_url}, adding comment`);
await github.rest.issues.createComment({
...context.repo,
issue_number: prevIssue.number,
body: txt
});
}
}
};
// Find status of check runs.
// We will find check runs for each commit and then filter for the periodic.
// Checks API only allows for ref and if we use main there could be edge cases where
// the check run happened on a SHA that is different from head.
const commits = await github.paginate(github.rest.repos.listCommits, {
...context.repo
});
const relevantChecks = new Map();
for (const commit of commits) {
console.log(
`checking runs at ${commit.html_url}: ${commit.commit.message}`
);
const checks = await github.rest.checks.listForRef({
...context.repo,
ref: commit.sha
});
// Iterate through each check and find matching names
for (const check of checks.data.check_runs) {
console.log(`Handling test name ${check.name}`);
for (const testName of testNameFound.keys()) {
if (testNameFound.get(testName) === true){
//skip if a check is already found for this name
continue;
}
if (check.name.includes(testName)) {
relevantChecks.set(check, commit);
testNameFound.set(testName, true);
}
}
}
// Break out of the loop early if all tests are found
const allTestsFound = Array.from(testNameFound.values()).every(value => value === true);
if (allTestsFound){
break;
}
}
// Handle each relevant check
relevantChecks.forEach((commit, check) => {
if (
check.status === 'completed' &&
check.conclusion === 'success'
) {
updateIssues(
check.name,
`[Tests are passing](${check.html_url}) for commit [${commit.sha}](${commit.html_url}).`
);
} else if (check.status === 'in_progress') {
console.log(
`Check is pending ${check.html_url} for ${commit.html_url}. Retry again later.`
);
} else {
createOrCommentIssue(
`Cloud Build Failure Reporter: ${check.name} failed`,
`Cloud Build Failure Reporter found test failure for [**${check.name}** ](${check.html_url}) at [${commit.sha}](${commit.html_url}). Please fix the error and then close the issue after the **${check.name}** test passes.`
);
}
});
// no periodic checks found across all commits, report it
const noTestFound = Array.from(testNameFound.values()).every(value => value === false);
if (noTestFound){
createOrCommentIssue(
'Missing periodic tests: ${{ inputs.trigger_names }}',
`No periodic test is found for triggers: ${{ inputs.trigger_names }}. Last checked from ${
commits[0].html_url
} to ${commits[commits.length - 1].html_url}.`
);
}

View File

@@ -24,14 +24,14 @@ on:
paths:
- 'docs/**'
- 'github/workflows/docs**'
- '.hugo'
- '.hugo/**'
# Allow triggering manually.
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: .hugo
@@ -39,23 +39,23 @@ jobs:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
with:
hugo-version: "latest"
hugo-version: "0.145.0"
extended: true
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: "22"
- name: Cache dependencies
uses: actions/cache@v4
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -69,11 +69,11 @@ jobs:
HUGO_RELATIVEURLS: false
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
# Do not delete previews on each production deploy.
# CSS or JS changes will require manual clean-up.
keep_files: true
commit_message: "deploy: ${{ github.event.head_commit.message }}"
commit_message: "deploy: ${{ github.event.head_commit.message }}"

View File

@@ -34,7 +34,7 @@ jobs:
group: "preview-${{ github.event.number }}"
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
ref: gh-pages
@@ -48,7 +48,7 @@ jobs:
git push
- name: Comment
uses: actions/github-script@v7
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
with:
script: |
github.rest.issues.createComment({

View File

@@ -17,7 +17,7 @@ name: "docs"
permissions:
contents: write
pull-requests: write
# This Workflow depends on 'github.event.number',
# not compatible with branch or manual triggers.
on:
@@ -26,10 +26,20 @@ on:
paths:
- 'docs/**'
- 'github/workflows/docs**'
- '.hugo'
- '.hugo/**'
pull_request_target:
types: [labeled]
paths:
- 'docs/**'
- 'github/workflows/docs**'
- '.hugo/**'
jobs:
preview:
# run job on proper workflow event triggers (skip job for pull_request event
# from forks and only run pull_request_target for "docs: deploy-preview"
# label)
if: "${{ (github.event.action != 'labeled' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name) || github.event.label.name == 'docs: deploy-preview' }}"
runs-on: ubuntu-24.04
defaults:
run:
@@ -39,23 +49,23 @@ jobs:
group: "preview-${{ github.event.number }}"
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
with:
hugo-version: "latest"
hugo-version: "0.145.0"
extended: true
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: "22"
- name: Cache dependencies
uses: actions/cache@v4
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -70,9 +80,7 @@ jobs:
HUGO_RELATIVEURLS: false
- name: Deploy
# If run from a fork, GitHub write operations will fail.
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
@@ -80,9 +88,7 @@ jobs:
commit_message: "stage: PR-${{ github.event.number }}: ${{ github.event.head_commit.message }}"
- name: Comment
# If run from a fork, GitHub write operations will fail.
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: actions/github-script@v7
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
with:
script: |
github.rest.issues.createComment({
@@ -90,4 +96,4 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
body: "🔎 Preview at https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/previews/PR-${{ github.event.number }}/"
})
})

View File

@@ -51,11 +51,11 @@ jobs:
console.log('Failed to remove label. Another job may have already removed it!');
}
- name: Setup Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: "1.22"
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
@@ -66,7 +66,7 @@ jobs:
run: |
go mod tidy && git diff --exit-code
- name: golangci-lint
uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
version: latest
args: --timeout 3m

29
.github/workflows/schedule_reporter.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
# 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.
name: Schedule Reporter
on:
schedule:
- cron: '0 6 * * *' # Runs at 6 AM every morning
jobs:
run_reporter:
permissions:
issues: 'write'
checks: 'read'
contents: 'read'
uses: ./.github/workflows/cloud_build_failure_reporter.yml
with:
trigger_names: "toolbox-test-nightly,toolbox-test-on-merge"

View File

@@ -29,7 +29,7 @@ jobs:
issues: 'write'
pull-requests: 'write'
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: micnncim/action-label-syncer@3abd5ab72fda571e69fffd97bd4e0033dd5f495c # v1.3.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -26,14 +26,13 @@ permissions: read-all
jobs:
integration:
# run job on proper workflow event triggers (skip job for pull_request event from forks and only run pull_request_target for "tests: run" label)
# run job on proper workflow event triggers (skip job for pull_request event from forks and only run pull_request_target for "tests: run" label)
if: "${{ (github.event.action != 'labeled' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name) || github.event.label.name == 'tests: run' }}"
name: unit tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
# os: [macos-latest, windows-latest, ubuntu-latest]
os: [ubuntu-latest]
os: [macos-latest, windows-latest, ubuntu-latest]
fail-fast: false
permissions:
contents: 'read'
@@ -58,12 +57,12 @@ jobs:
}
- name: Setup Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: "1.22"
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
@@ -75,5 +74,32 @@ jobs:
- name: Build
run: go build -v ./...
- name: Run tests
run: go test -race -tags="!integration" -v ./...
- name: Run tests with coverage
if: ${{ runner.os == 'Linux' }}
run: |
source_dir="./internal/sources/*"
tool_dir="./internal/tools/*"
auth_dir="./internal/auth/*"
int_test_dir="./tests/*"
included_packages=$(go list ./... | grep -v -e "$source_dir" -e "$tool_dir" -e "$auth_dir" -e "$int_test_dir")
go test -race -cover -coverprofile=coverage.out -v $included_packages
go test -race -v ./internal/sources/... ./internal/tools/... ./internal/auth/...
- name: Run tests without coverage
if: ${{ runner.os != 'Linux' }}
run: |
go test -race -v ./internal/... ./cmd/...
- name: Check coverage
if: ${{ runner.os == 'Linux' }}
run: |
FILE_TO_EXCLUDE="github.com/googleapis/genai-toolbox/internal/server/config.go"
ESCAPED_PATH=$(echo "$FILE_TO_EXCLUDE" | sed 's/\//\\\//g; s/\./\\\./g')
sed -i "/^${ESCAPED_PATH}:/d" coverage.out
total_coverage=$(go tool cover -func=coverage.out | grep "total:" | awk '{print $3}')
echo "Total coverage: $total_coverage"
coverage_numeric=$(echo "$total_coverage" | sed 's/%//')
if (( $(echo "$coverage_numeric < 40" | bc -l) )); then
echo "Coverage failure: total coverage($total_coverage) is below 40%."
exit 1
fi

2
.gitignore vendored
View File

@@ -13,4 +13,4 @@ node_modules
.hugo_build.lock
# coverage
.coverage
.coverage

View File

@@ -12,34 +12,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
version: "2"
linters:
enable:
- errcheck
- goimports
- gosimple
- govet
- ineffassign
- staticcheck
- unused
linters-settings:
gofmt:
rewrite-rules:
- pattern: 'interface{}'
replacement: 'any'
- pattern: 'a[b:len(a)]'
replacement: 'a[b:]'
exclusions:
presets:
- std-error-handling
issues:
fix: true
run:
build-tags:
- integration
- cloudsqlpg
- postgres
- alloydb
- spanner
- cloudsqlmssql
- cloudsqlmysql
- neo4j
- dgraph
- mssql
- mysql
formatters:
enable:
- goimports
settings:
gofmt:
rewrite-rules:
- pattern: interface{}
replacement: any
- pattern: a[b:len(a)]
replacement: a[b:]

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,2 +1,2 @@
$primary: #D84040;
$secondary: #8E1616;
$primary: #80a7e9;
$secondary: #4484f4;

View File

@@ -1,8 +1,7 @@
title = 'Gen AI Toolbox'
title = 'MCP Toolbox for Databases'
relativeURLs = true
languageCode = 'en-us'
contentDir = "../docs/en"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = false
@@ -18,7 +17,10 @@ enableRobotsTXT = true
proxy = "direct"
[module.hugoVersion]
extended = true
min = "0.73.0"
min = "0.146.0"
[[module.mounts]]
source = "../docs/en"
target = 'content'
[[module.imports]]
path = "github.com/google/docsy"
disable = false
@@ -26,6 +28,7 @@ enableRobotsTXT = true
path = "github.com/martignoni/hugo-notice"
[params]
description = "MCP Toolbox for Databases is an open source MCP server for databases. It enables you to develop tools easier, faster, and more securely by handling the complexities such as connection pooling, authentication, and more."
copyright = "Google LLC"
github_repo = "https://github.com/googleapis/genai-toolbox"
github_project_repo = "https://github.com/googleapis/genai-toolbox"
@@ -45,4 +48,19 @@ enableRobotsTXT = true
pre = "<i class='fa-brands fa-github'></i>"
[markup.goldmark.renderer]
unsafe= true
unsafe= true
[outputFormats]
[outputFormats.LLMS]
mediaType = "text/plain"
baseName = "llms"
isPlainText = true
root = true
[outputFormats.LLMS-FULL]
mediaType = "text/plain"
baseName = "llms-full"
isPlainText = true
root = true
[outputs]
home = ["HTML", "RSS", "LLMS", "LLMS-FULL"]

View File

@@ -1 +0,0 @@
{{ template "_default/_markup/td-render-heading.html" . }}

View File

@@ -0,0 +1,14 @@
{{ .Site.Params.description }}
{{ range .Site.Sections }}
# {{ .Title }}
{{ .Description }}
{{ range .Pages }}
# {{ .Title }}
{{ .Description }}
{{ .RawContent }}
{{ range .Pages }}
# {{ .Title }}
{{ .Description }}
{{ .RawContent }}
{{end }}{{ end }}{{ end }}

View File

@@ -0,0 +1,9 @@
# {{ .Site.Title }}
> {{ .Site.Params.description }}
## Docs
{{ range .Site.Sections }}
### {{ .Title }}
{{ .Description }}{{ range .Pages }}- [{{ .Title }}]({{ .Permalink }}): {{ .Description }}{{ range .Pages }} - [{{ .Title }}]({{ .Permalink }}): {{ .Description }}{{end }}{{ end }}{{ end }}

View File

@@ -0,0 +1,52 @@
{{/* cSpell:ignore querify subdir */ -}}
{{/* Class names ending with `--KIND` are deprecated in favor of `__KIND`, but we're keeping them for a few releases after 0.9.0 */ -}}
{{ if .File -}}
{{ $path := urls.JoinPath $.Language.Lang $.File.Path -}}
{{ $gh_repo := $.Param "github_repo" -}}
{{ $gh_url := $.Param "github_url" -}}
{{ $gh_subdir := $.Param "github_subdir" | default "" -}}
{{ $gh_project_repo := $.Param "github_project_repo" -}}
{{ $gh_branch := $.Param "github_branch" | default "main" -}}
<div class="td-page-meta ms-2 pb-1 pt-2 mb-0">
{{ if $gh_url -}}
{{ warnf "Warning: use of `github_url` is deprecated. For details, see https://www.docsy.dev/docs/adding-content/repository-links/#github_url-optional" -}}
<a href="{{ $gh_url }}" target="_blank"><i class="fa-solid fa-pen-to-square fa-fw"></i> {{ T "post_edit_this" }}</a>
{{ else if $gh_repo -}}
{{/* Adjust $path based on path_base_for_github_subdir */ -}}
{{ $ghs_base := $.Param "path_base_for_github_subdir" -}}
{{ $ghs_rename := "" -}}
{{ if reflect.IsMap $ghs_base -}}
{{ $ghs_rename = $ghs_base.to -}}
{{ $ghs_base = $ghs_base.from -}}
{{ end -}}
{{ with $ghs_base -}}
{{ $path = replaceRE . $ghs_rename $path -}}
{{ end -}}
{{ $gh_repo_path := printf "%s/%s/%s" $gh_branch $gh_subdir $path -}}
{{ $gh_repo_path = replaceRE "//+" "/" $gh_repo_path -}}
{{ $viewURL := printf "%s/tree/%s" $gh_repo $gh_repo_path -}}
{{ $editURL := printf "%s/edit/%s" $gh_repo $gh_repo_path -}}
{{ $issuesURL := printf "%s/issues/new?title=%s" $gh_repo (safeURL $.Title ) -}}
{{ $newPageStub := resources.Get "stubs/new-page-template.md" -}}
{{ $newPageQS := querify "value" $newPageStub.Content "filename" "change-me.md" | safeURL -}}
{{ $newPageURL := printf "%s/new/%s?%s" $gh_repo (path.Dir $gh_repo_path) $newPageQS -}}
<a href="{{ $viewURL }}" class="td-page-meta--view td-page-meta__view" target="_blank" rel="noopener"><i class="fa-solid fa-file-lines fa-fw"></i> {{ T "post_view_this" }}</a>
<a href="{{ $editURL }}" class="td-page-meta--edit td-page-meta__edit" target="_blank" rel="noopener"><i class="fa-solid fa-pen-to-square fa-fw"></i> {{ T "post_edit_this" }}</a>
<a href="{{ $newPageURL }}" class="td-page-meta--child td-page-meta__child" target="_blank" rel="noopener"><i class="fa-solid fa-pen-to-square fa-fw"></i> {{ T "post_create_child_page" }}</a>
<a href="{{ $issuesURL }}" class="td-page-meta--issue td-page-meta__issue" target="_blank" rel="noopener"><i class="fa-solid fa-list-check fa-fw"></i> {{ T "post_create_issue" }}</a>
{{ with $gh_project_repo -}}
{{ $project_issueURL := printf "%s/issues/new" . -}}
<a href="{{ $project_issueURL }}" class="td-page-meta--project td-page-meta__project-issue" target="_blank" rel="noopener"><i class="fa-solid fa-list-check fa-fw"></i> {{ T "post_create_project_issue" }}</a>
{{ end -}}
{{ end -}}
{{ with .CurrentSection.AlternativeOutputFormats.Get "print" -}}
<a id="print" href="{{ .RelPermalink | safeURL }}"><i class="fa-solid fa-print fa-fw"></i> {{ T "print_entire_section" }}</a>
{{ end }}
</div>
{{ end -}}

View File

@@ -0,0 +1 @@
{{ template "partials/td/render-heading.html" . }}

View File

@@ -1,6 +0,0 @@
This favicon was generated using the following graphics from Twitter Twemoji:
- Graphics Title: 1f9f0.svg
- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji)
- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f9f0.svg
- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 793 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,5 +1,98 @@
# Changelog
## [0.7.0](https://github.com/googleapis/genai-toolbox/compare/v0.6.0...v0.7.0) (2025-06-10)
### Features
* Add templateParameters field for mssqlsql ([#671](https://github.com/googleapis/genai-toolbox/issues/671)) ([b81fc6a](https://github.com/googleapis/genai-toolbox/commit/b81fc6aa6ccdfbc15676fee4d87041d9ad9682fa))
* Add templateParameters field for mysqlsql ([#663](https://github.com/googleapis/genai-toolbox/issues/663)) ([0a08d2c](https://github.com/googleapis/genai-toolbox/commit/0a08d2c15dcbec18bb556f4dc49792ba0c69db46))
* **metrics:** Add user agent for prebuilt tools ([#669](https://github.com/googleapis/genai-toolbox/issues/669)) ([29aa0a7](https://github.com/googleapis/genai-toolbox/commit/29aa0a70da3c2eb409a38993b3782da8bec7cb85))
* **tools/postgressql:** Add templateParameters field ([#615](https://github.com/googleapis/genai-toolbox/issues/615)) ([b763469](https://github.com/googleapis/genai-toolbox/commit/b76346993f298b4f7493a51405d0a287bacce05f))
### Bug Fixes
* Improve versionString ([#658](https://github.com/googleapis/genai-toolbox/issues/658)) ([cf96f4c](https://github.com/googleapis/genai-toolbox/commit/cf96f4c249f0692e3eb19fc56c794ca6a3079307))
* **server/stdio:** Notifications should not return a response ([#638](https://github.com/googleapis/genai-toolbox/issues/638)) ([69d047a](https://github.com/googleapis/genai-toolbox/commit/69d047af46f1ec00f236db8a978a7a7627217fd2))
* **tools/mysqlsql:** Handled the null value for string case in mysqlsql tools ([#641](https://github.com/googleapis/genai-toolbox/issues/641)) ([ef94648](https://github.com/googleapis/genai-toolbox/commit/ef94648455c3b20adda4f8cff47e70ddccac8c06))
* Update path library ([#678](https://github.com/googleapis/genai-toolbox/issues/678)) ([4998f82](https://github.com/googleapis/genai-toolbox/commit/4998f8285287b5daddd0043540f2cf871e256db5)), closes [#662](https://github.com/googleapis/genai-toolbox/issues/662)
## [0.6.0](https://github.com/googleapis/genai-toolbox/compare/v0.5.0...v0.6.0) (2025-05-28)
### Features
* Add Execute sql tool for SQL Server(MSSQL) ([#585](https://github.com/googleapis/genai-toolbox/issues/585)) ([6083a22](https://github.com/googleapis/genai-toolbox/commit/6083a224aa650caf4e132b4a704323c5f18c4986))
* Add mysql-execute-sql tool ([#577](https://github.com/googleapis/genai-toolbox/issues/577)) ([8590061](https://github.com/googleapis/genai-toolbox/commit/8590061ae4908da0e4b1bd6f7cf7ee8d972fa5ba))
* Add new BigQuery tools: execute_sql, list_datatset_ids, list_table_ids, get_dataset_info, get_table_info ([0fd88b5](https://github.com/googleapis/genai-toolbox/commit/0fd88b574b4ab0d3bee4585999b814675d3b74ed))
* Add spanner-execute-sql tool ([#576](https://github.com/googleapis/genai-toolbox/issues/576)) ([d65747a](https://github.com/googleapis/genai-toolbox/commit/d65747a2dcf3022f22c86a1524ee28c8229f7c20))
* Add support for read-only in Spanner tool ([#563](https://github.com/googleapis/genai-toolbox/issues/563)) ([6512704](https://github.com/googleapis/genai-toolbox/commit/6512704e77088d92fea53a85c6e6cbf4b99c988d))
* Adding support for the --prebuilt flag ([#604](https://github.com/googleapis/genai-toolbox/issues/604)) ([a29c800](https://github.com/googleapis/genai-toolbox/commit/a29c80012eec4729187c12968b53051d20b263a7))
* Support MCP stdio transport protocol ([#607](https://github.com/googleapis/genai-toolbox/issues/607)) ([1702ce1](https://github.com/googleapis/genai-toolbox/commit/1702ce1e00a52170a4271ac999caf534ba00196f))
### Bug Fixes
* Explicitly set query location for BigQuery queries ([#586](https://github.com/googleapis/genai-toolbox/issues/586)) ([eb52b66](https://github.com/googleapis/genai-toolbox/commit/eb52b66d82aaa11be6b1489335f49cba8168099b))
* Fix spellings in comments ([#561](https://github.com/googleapis/genai-toolbox/issues/561)) ([b58bf76](https://github.com/googleapis/genai-toolbox/commit/b58bf76ddaba407e3fd995dfe86d00a09484e14a))
* Prevent tool calls through MCP when auth is required ([#544](https://github.com/googleapis/genai-toolbox/issues/544)) ([e747b6e](https://github.com/googleapis/genai-toolbox/commit/e747b6e289730c17f68be8dec0c6fa6021bb23bd))
* Reinitialize required slice if nil ([#571](https://github.com/googleapis/genai-toolbox/issues/571)) ([04dcf47](https://github.com/googleapis/genai-toolbox/commit/04dcf4791272e1dd034b9a03664dd8dbe77fdddd)), closes [#564](https://github.com/googleapis/genai-toolbox/issues/564)
## [0.5.0](https://github.com/googleapis/genai-toolbox/compare/v0.4.0...v0.5.0) (2025-05-06)
### Features
* Add Couchbase as Source and Tool ([#307](https://github.com/googleapis/genai-toolbox/issues/307)) ([d7390b0](https://github.com/googleapis/genai-toolbox/commit/d7390b06b7bcb15411388e9a4dbcfe75afcca1ee))
* Add postgres-execute-sql tool ([#490](https://github.com/googleapis/genai-toolbox/issues/490)) ([11ea7bc](https://github.com/googleapis/genai-toolbox/commit/11ea7bc584aa4ca8e8b0e7a355f6666ccbea2883))
## [0.4.0](https://github.com/googleapis/genai-toolbox/compare/v0.3.0...v0.4.0) (2025-04-23)
### Features
* Add `AuthRequired` to Neo4j & Dgraph Tools ([#434](https://github.com/googleapis/genai-toolbox/issues/434)) ([afbf4b2](https://github.com/googleapis/genai-toolbox/commit/afbf4b2daeb01119a22ce18469bffb9e9f57d2f8))
* Add `AuthRequired` to tool manifest ([#433](https://github.com/googleapis/genai-toolbox/issues/433)) ([d9388ad](https://github.com/googleapis/genai-toolbox/commit/d9388ad57e832570aab56b9b357c1fb0ba994852))
* Add BigQuery source and tool ([#463](https://github.com/googleapis/genai-toolbox/issues/463)) ([8055aa5](https://github.com/googleapis/genai-toolbox/commit/8055aa519fe6e7993ba524f8f7e684fbfdecc1b9))
* Add Bigtable source and tool ([#418](https://github.com/googleapis/genai-toolbox/issues/418)) ([ae53b8e](https://github.com/googleapis/genai-toolbox/commit/ae53b8eeff9d0e9ec14d9c6d4286c856cc8f1811))
* Add IAM AuthN to AlloyDB Source ([#399](https://github.com/googleapis/genai-toolbox/issues/399)) ([e8ed447](https://github.com/googleapis/genai-toolbox/commit/e8ed447d9153c60a1d6321285587e6e4ca930f87))
* Add IAM AuthN to Cloud SQL Sources ([#414](https://github.com/googleapis/genai-toolbox/issues/414)) ([be85b82](https://github.com/googleapis/genai-toolbox/commit/be85b820785dbce79133b0cf8788bde75ff25fee))
* Add toolset feature to mcp ([#425](https://github.com/googleapis/genai-toolbox/issues/425)) ([e307857](https://github.com/googleapis/genai-toolbox/commit/e307857085ac4c8c2ee8292c914daa5534ba74bf)), closes [#403](https://github.com/googleapis/genai-toolbox/issues/403)
* Add SQLite source and tool ([#438](https://github.com/googleapis/genai-toolbox/issues/438)) ([fc14cbf](https://github.com/googleapis/genai-toolbox/commit/fc14cbfd078d465591e4fefb80542759e82a2731))
* Support env replacement for tools.yaml ([#462](https://github.com/googleapis/genai-toolbox/issues/462)) ([eadb678](https://github.com/googleapis/genai-toolbox/commit/eadb678a7bd4ce74a3b1160f5ed8966ffbb13c61))
### Bug Fixes
* [#419](https://github.com/googleapis/genai-toolbox/issues/419) TLS https URL for SSE endpoint ([#420](https://github.com/googleapis/genai-toolbox/issues/420)) ([0a7d3ff](https://github.com/googleapis/genai-toolbox/commit/0a7d3ff06b88051c752b6d53bc964ed6e6be400e))
* **docs:** Fix link 'Edit this page' ([#454](https://github.com/googleapis/genai-toolbox/issues/454)) ([969065e](https://github.com/googleapis/genai-toolbox/commit/969065e561f28ddb9755d99bbe0b288040198296)), closes [#427](https://github.com/googleapis/genai-toolbox/issues/427)
* Update http error code from invocation ([#468](https://github.com/googleapis/genai-toolbox/issues/468)) ([ff7c0ff](https://github.com/googleapis/genai-toolbox/commit/ff7c0ffc65172a335e8d3321e5a6b92d38dc7e6d)), closes [#465](https://github.com/googleapis/genai-toolbox/issues/465)
## [0.3.0](https://github.com/googleapis/genai-toolbox/compare/v0.2.1...v0.3.0) (2025-04-04)
### Features
* Add 'alloydb-ai-nl' tool ([#358](https://github.com/googleapis/genai-toolbox/issues/358)) ([f02885f](https://github.com/googleapis/genai-toolbox/commit/f02885fd4a919103fdabaa4ca38d975dc8497542))
* Add HTTP Source and Tool ([#332](https://github.com/googleapis/genai-toolbox/issues/332)) ([64da5b4](https://github.com/googleapis/genai-toolbox/commit/64da5b4efe7d948ceb366c37fdaabd42405bc932))
* Adding support for Model Context Protocol (MCP). ([#396](https://github.com/googleapis/genai-toolbox/issues/396)) ([a7d1d4e](https://github.com/googleapis/genai-toolbox/commit/a7d1d4eb2ae337b463d1b25ccb25c3c0eb30df6f))
* Added [toolbox-core](https://pypi.org/project/toolbox-core/) SDK easily integrate Toolbox into any Python function calling framework
### Bug Fixes
* Add `tools-file` flag and deprecate `tools_file` ([#384](https://github.com/googleapis/genai-toolbox/issues/384)) ([34a7263](https://github.com/googleapis/genai-toolbox/commit/34a7263fdce40715de20ef5677f94be29f9f5c98)), closes [#383](https://github.com/googleapis/genai-toolbox/issues/383)
## [0.2.1](https://github.com/googleapis/genai-toolbox/compare/v0.2.0...v0.2.1) (2025-03-20)
### Bug Fixes
* Fix variable name in quickstart ([#336](https://github.com/googleapis/genai-toolbox/issues/336)) ([5400127](https://github.com/googleapis/genai-toolbox/commit/54001278878042aff75ed421b9fbe70008e9dd4d))
* **source/alloydb:** Correct user agents not being sent ([#323](https://github.com/googleapis/genai-toolbox/issues/323)) ([ce12a34](https://github.com/googleapis/genai-toolbox/commit/ce12a344ed6290c7c6e36ee117318c20d6fdccc2))
## [0.2.0](https://github.com/googleapis/genai-toolbox/compare/v0.1.0...v0.2.0) (2025-03-03)

View File

@@ -17,9 +17,7 @@
### Run Toolbox from local source
1. Open a local connection to your database by starting the [Cloud SQL Auth Proxy][cloudsql-proxy].
1. You should already have a `tools.yaml` created with your [sources and tools configurations](./README.md#Configuration).
1. Create a `tools.yaml` file with your [sources and tools configurations](./README.md#Configuration).
1. You can specify flags for the Toolbox server. Execute the following to list the possible CLI flags:
@@ -41,20 +39,127 @@
curl http://127.0.0.1:5000
```
### Run tests locally
### Testing
1. Run lint with the following:
#### Writing Tests
New contributions should be added with both unit tests and integration tests.
- Unit tests are in the same package as the source code.
- Integration tests are in the `/tests` directory, under its dedicated package
named after its source. We have several pre-defined integration test suites
in the `/tests/tool.go` that are **required** to be run as long as your code contains related
features:
1. [RunToolGetTest][tool-get]: tests for the `GET` endpoint that returns the
tool's manifest.
2. [RunToolInvokeTest][tool-call]: tests for tool calling through the native
Toolbox endpoints.
3. [RunMCPToolCallMethod][mcp-call]: tests tool calling through the MCP
endpoints.
4. (Optional) [RunExecuteSqlToolInvokeTest][execute-sql]: tests an
`execute-sql` tool for any source. Only run this test if you are adding an
`execute-sql` tool.
5. (Optional) [RunToolInvokeWithTemplateParameters][temp-param]: tests for [template
parameters][temp-param-doc]. Only run this test if template parameters apply to your tool.
[tool-get]:
https://github.com/googleapis/genai-toolbox/blob/fd300dc606d88bf9f7bba689e2cee4e3565537dd/tests/tool.go#L31
[tool-call]:
<https://github.com/googleapis/genai-toolbox/blob/fd300dc606d88bf9f7bba689e2cee4e3565537dd/tests/tool.go#L79>
[mcp-call]:
https://github.com/googleapis/genai-toolbox/blob/fd300dc606d88bf9f7bba689e2cee4e3565537dd/tests/tool.go#L554
[execute-sql]:
<https://github.com/googleapis/genai-toolbox/blob/fd300dc606d88bf9f7bba689e2cee4e3565537dd/tests/tool.go#L431>
[temp-param]:
<https://github.com/googleapis/genai-toolbox/blob/fd300dc606d88bf9f7bba689e2cee4e3565537dd/tests/tool.go#L297>
[temp-param-doc]:
https://googleapis.github.io/genai-toolbox/resources/tools/#template-parameters
#### Running Tests
- Run the lint check:
```bash
golangci-lint run --fix
```
1. Run all tests with the following:
- Run unit tests locally:
```bash
go test -race -v ./...
```
- Run integration tests locally:
1. Set required environment variables. For a complete lists of required
vairables for each source, check out the [Cloud Build testing
configuration](./.ci/integration.cloudbuild.yaml).
- Use your own GCP email as the `SERVICE_ACCOUNT_EMAIL`.
- Use the Google Cloud SDK application Client ID as the `CLIENT_ID`. Ask the
Toolbox maintainers if you don't know it already.
2. Run the integration test for your target source with the required Go
build tags specified at the top of each integration test file:
```shell
go test -race -v ./tests/<YOUR_TEST_DIR>
```
For example, to run the AlloyDB integration test, run:
```shell
go test -race -v ./tests/alloydbpg
```
- Run integration tests on your PR:
For internal contributors, the testing workflows should trigger
automatically. For external contributors, ask the Toolbox
maintainers to trigger the testing workflows on your PR.
## Developing Documentation
Follow these steps to run a Hugo server for local preview:
1. [Install Hugo](https://gohugo.io/installation/macos/) version 0.146.0+.
1. Move into the `.hugo` directory
```bash
cd .hugo
```
1. Install dependencies
```bash
npm ci
```
1. Run the server
```bash
hugo server
```
### PR documentation preview
- For contributors:
- Ask a repo owner to run the preview deployment workflow on your PR. The preview link
will be commented under your PR automatically.
- For maintainers:
- Inspect the proposed changes in the PR and ensure that it does not contain
malicious code changes. You should be especially alert to any proposed changes in the
`.github/workflows/` directory that affect workflow files.
- After you make sure the changes are safe, apply the `docs: deploy-preview`
label to the PR to deploy documentation preview.
## Compile the app locally
### Compile Toolbox binary
@@ -107,11 +212,9 @@
## Developing Toolbox SDKs
Please refer to the [SDK developer guide](sdks/langchain/DEVELOPER.md)
Please refer to the [SDK developer guide](https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/DEVELOPER.md)
## CI/CD Details
Cloud Build is used to run tests against Google Cloud resources in test project.
## (Optional) Maintainer Information
### Releasing
@@ -143,21 +246,22 @@ Integration and unit tests are automatically triggered via CloudBuild during eac
Create a Cloud Build trigger via the UI or `gcloud` with the following specs:
* Event: Pull request
* Region:
* global - for default worker pools
* Source:
* Generation: 1st gen
* Repo: googleapis/genai-toolbox (GitHub App)
* Base branch: `^main$`
* Comment control: Required except for owners and collaborators
* Filters: add directory filter
* Config: Cloud Build configuration file
* Location: Repository (add path to file)
* Service account: set for demo service to enable ID token creation to use to authenticated services
- Event: Pull request
- Region:
- global - for default worker pools
- Source:
- Generation: 1st gen
- Repo: googleapis/genai-toolbox (GitHub App)
- Base branch: `^main$`
- Comment control: Required except for owners and collaborators
- Filters: add directory filter
- Config: Cloud Build configuration file
- Location: Repository (add path to file)
- Service account: set for demo service to enable ID token creation to use to authenticated services
### Trigger
To run Cloud Build tests on GitHub from external contributors, ie RenovateBot, comment: `/gcbrun`.
Trigger the PR tests on PRs from external contributors:
[cloudsql-proxy]: https://cloud.google.com/sql/docs/mysql/sql-proxy
- Cloud Build tests: comment `/gcbrun`
- Unit tests: add `tests:run` label

View File

@@ -13,18 +13,19 @@
# limitations under the License.
# Use the latest stable golang 1.x to compile to a binary
FROM --platform=$BUILDPLATFORM golang:1 as build
FROM --platform=$BUILDPLATFORM golang:1 AS build
WORKDIR /go/src/genai-toolbox
COPY . .
ARG TARGETOS
ARG TARGETARCH
ARG METADATA_TAGS=dev
ARG BUILD_TYPE="container.dev"
ARG COMMIT_SHA=""
RUN go get ./...
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.metadataString=container.${METADATA_TAGS}"
go build -ldflags "-X github.com/googleapis/genai-toolbox/cmd.buildType=container.${BUILD_TYPE} -X github.com/googleapis/genai-toolbox/cmd.commitSha=${COMMIT_SHA}"
# Final Stage
FROM gcr.io/distroless/static:nonroot

126
README.md
View File

@@ -1,17 +1,26 @@
![logo](./logo.png)
# 🧰 Gen AI Toolbox for Databases
# MCP Toolbox for Databases
> [!NOTE]
> Gen AI Toolbox for Databases is currently in beta, and may see breaking
[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/Dmm69peqjh)
[![Go Report Card](https://goreportcard.com/badge/github.com/googleapis/genai-toolbox)](https://goreportcard.com/report/github.com/googleapis/genai-toolbox)
> [!NOTE]
> MCP Toolbox for Databases is currently in beta, and may see breaking
> changes until the first stable release (v1.0).
Gen AI Toolbox for Databases is an open source server that makes it easier to
build Gen AI tools for interacting with databases. It enables you to develop
tools easier, faster, and more securely by handling the complexities such as
connection pooling, authentication, and more.
MCP Toolbox for Databases is an open source MCP server for databases. It enables
you to develop tools easier, faster, and more securely by handling the complexities
such as connection pooling, authentication, and more.
This README provides a brief overview. For comprehensive details, see the full
[documentation](https://googleapis.github.io/genai-toolbox/).
This README provides a brief overview. For comprehensive details, see the [full
documentation](https://googleapis.github.io/genai-toolbox/).
> [!NOTE]
> This solution was originally named “Gen AI Toolbox for Databases” as
> its initial development predated MCP, but was renamed to align with recently
> added MCP compatibility.
<!-- TOC ignore:true -->
## Table of Contents
@@ -48,6 +57,21 @@ database. Toolbox provides:
support for OpenTelemetry.
**⚡ Supercharge Your Workflow with an AI Database Assistant ⚡**
Stop context-switching and let your AI assistant become a true co-developer. By [connecting your IDE to your databases with MCP Toolbox][connect-ide], you can delegate complex and time-consuming database tasks, allowing you to build faster and focus on what matters. This isn't just about code completion; it's about giving your AI the context it needs to handle the entire development lifecycle.
Heres how it will save you time:
* **Query in Plain English**: Interact with your data using natural language right from your IDE. Ask complex questions like, *"How many orders were delivered in 2024, and what items were in them?"* without writing any SQL.
* **Automate Database Management**: Simply describe your data needs, and let the AI assistant manage your database for you. It can handle generating queries, creating tables, adding indexes, and more.
* **Generate Context-Aware Code**: Empower your AI assistant to generate application code and tests with a deep understanding of your real-time database schema. This accelerates the development cycle by ensuring the generated code is directly usable.
* **Slash Development Overhead**: Radically reduce the time spent on manual setup and boilerplate. MCP Toolbox helps streamline lengthy database configurations, repetitive code, and error-prone schema migrations.
Learn [how to connect your AI tools (IDEs) to Toolbox using MCP][connect-ide].
[connect-ide]: https://googleapis.github.io/genai-toolbox/how-to/connect-ide/
## General Architecture
Toolbox sits between your application's orchestration framework and your
@@ -72,9 +96,10 @@ following instructions for your OS and CPU architecture.
To install Toolbox as a binary:
<!-- {x-release-please-start-version} -->
```sh
# see releases page for other versions
export VERSION=0.1.0
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
```
@@ -87,7 +112,7 @@ You can also install Toolbox as a container:
```sh
# see releases page for other versions
export VERSION=0.1.0
export VERSION=0.7.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
```
@@ -100,8 +125,9 @@ To install from source, ensure you have the latest version of
[Go installed](https://go.dev/doc/install), and then run the following command:
```sh
go install github.com/googleapis/genai-toolbox@v0.1.0
go install github.com/googleapis/genai-toolbox@v0.7.0
```
<!-- {x-release-please-end} -->
</details>
@@ -111,7 +137,7 @@ go install github.com/googleapis/genai-toolbox@v0.1.0
execute `toolbox` to start the server:
```sh
./toolbox --tools_file "tools.yaml"
./toolbox --tools-file "tools.yaml"
```
You can use `toolbox help` for a full list of flags! To stop the server, send a
@@ -127,6 +153,31 @@ Once your server is up and running, you can load the tools into your
application. See below the list of Client SDKs for using various frameworks:
<details open>
<summary>Core</summary>
1. Install [Toolbox Core SDK][toolbox-core]:
```bash
pip install toolbox-core
```
1. Load tools:
```python
from toolbox_core import ToolboxClient
# update the url to point to your server
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = await client.load_toolset("toolset_name")
```
For more detailed instructions on using the Toolbox Core SDK, see the
[project's README][toolbox-core-readme].
[toolbox-core]: https://pypi.org/project/toolbox-core/
[toolbox-core-readme]: https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core/README.md
</details>
<details>
<summary>LangChain / LangGraph</summary>
1. Install [Toolbox LangChain SDK][toolbox-langchain]:
@@ -138,24 +189,50 @@ application. See below the list of Client SDKs for using various frameworks:
from toolbox_langchain import ToolboxClient
# update the url to point to your server
client = ToolboxClient("http://127.0.0.1:5000")
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = await client.aload_toolset()
# these tools can be passed to your application!
tools = client.load_toolset()
```
For more detailed instructions on using the Toolbox LangChain SDK, see the
[project's README][toolbox-langchain-readme].
[toolbox-langchain]: https://github.com/googleapis/genai-toolbox-langchain-python
[toolbox-langchain-readme]: https://github.com/googleapis/genai-toolbox-langchain-python/blob/main/README.md
[toolbox-langchain]: https://pypi.org/project/toolbox-langchain/
[toolbox-langchain-readme]: https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-langchain/README.md
</details>
<details>
<summary>LlamaIndex</summary>
1. Install [Toolbox Llamaindex SDK][toolbox-llamaindex]:
```bash
pip install toolbox-llamaindex
```
1. Load tools:
```python
from toolbox_llamaindex import ToolboxClient
# update the url to point to your server
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = client.load_toolset()
```
For more detailed instructions on using the Toolbox Llamaindex SDK, see the
[project's README][toolbox-llamaindex-readme].
[toolbox-llamaindex]: https://pypi.org/project/toolbox-llamaindex/
[toolbox-llamaindex-readme]: https://github.com/googleapis/genai-toolbox-llamaindex-python/blob/main/README.md
</details>
## Configuration
The primary way to configure Toolbox is through the `tools.yaml` file. If you
have multiple files, you can tell toolbox which to load with the `--tools_file
have multiple files, you can tell toolbox which to load with the `--tools-file
tools.yaml` flag.
You can find more detailed reference documentation to all resource types in the
@@ -182,9 +259,8 @@ For more details on configuring different types of sources, see the
### Tools
The `tools` section of your `tools.yaml` define your the actions your agent can
take: what kind of tool it is, which source(s) it affects, what parameters it
uses, etc.
The `tools` section of a `tools.yaml` define the actions an agent can take: what
kind of tool it is, which source(s) it affects, what parameters it uses, etc.
```yaml
tools:
@@ -223,10 +299,10 @@ You can load toolsets by name:
```python
# This will load all tools
all_tools = await client.aload_toolset()
all_tools = client.load_toolset()
# This will only load the tools listed in 'my_second_toolset'
my_second_toolset = await client.aload_toolset("my_second_toolset")
my_second_toolset = client.load_toolset("my_second_toolset")
```
## Versioning
@@ -239,7 +315,7 @@ This project uses [semantic versioning](https://semver.org/), including a
- PATCH version when we make backward compatible bug fixes
The public API that this applies to is the CLI associated with Toolbox, the
interactions with official SDKs, and the definitions in the `tools.yaml` file.
interactions with official SDKs, and the definitions in the `tools.yaml` file.
## Contributing

View File

@@ -21,24 +21,75 @@ import (
"io"
"os"
"os/signal"
"regexp"
"runtime"
"strings"
"syscall"
"time"
yaml "github.com/goccy/go-yaml"
"github.com/googleapis/genai-toolbox/internal/log"
"github.com/googleapis/genai-toolbox/internal/prebuiltconfigs"
"github.com/googleapis/genai-toolbox/internal/server"
"github.com/googleapis/genai-toolbox/internal/telemetry"
"github.com/googleapis/genai-toolbox/internal/util"
// Import tool packages for side effect of registration
_ "github.com/googleapis/genai-toolbox/internal/tools/alloydbainl"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigquery"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigqueryexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigquerygetdatasetinfo"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigquerygettableinfo"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigquerylistdatasetids"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigquerylisttableids"
_ "github.com/googleapis/genai-toolbox/internal/tools/bigtable"
_ "github.com/googleapis/genai-toolbox/internal/tools/couchbase"
_ "github.com/googleapis/genai-toolbox/internal/tools/dgraph"
_ "github.com/googleapis/genai-toolbox/internal/tools/http"
_ "github.com/googleapis/genai-toolbox/internal/tools/mssqlexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/mssqlsql"
_ "github.com/googleapis/genai-toolbox/internal/tools/mysqlexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/mysqlsql"
_ "github.com/googleapis/genai-toolbox/internal/tools/neo4j"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgresexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgressql"
_ "github.com/googleapis/genai-toolbox/internal/tools/redis"
_ "github.com/googleapis/genai-toolbox/internal/tools/spanner"
_ "github.com/googleapis/genai-toolbox/internal/tools/spannerexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/sqlitesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/valkey"
"github.com/spf13/cobra"
_ "github.com/googleapis/genai-toolbox/internal/sources/alloydbpg"
_ "github.com/googleapis/genai-toolbox/internal/sources/bigquery"
_ "github.com/googleapis/genai-toolbox/internal/sources/bigtable"
_ "github.com/googleapis/genai-toolbox/internal/sources/cloudsqlmssql"
_ "github.com/googleapis/genai-toolbox/internal/sources/cloudsqlmysql"
_ "github.com/googleapis/genai-toolbox/internal/sources/cloudsqlpg"
_ "github.com/googleapis/genai-toolbox/internal/sources/couchbase"
_ "github.com/googleapis/genai-toolbox/internal/sources/dgraph"
_ "github.com/googleapis/genai-toolbox/internal/sources/http"
_ "github.com/googleapis/genai-toolbox/internal/sources/mssql"
_ "github.com/googleapis/genai-toolbox/internal/sources/mysql"
_ "github.com/googleapis/genai-toolbox/internal/sources/neo4j"
_ "github.com/googleapis/genai-toolbox/internal/sources/postgres"
_ "github.com/googleapis/genai-toolbox/internal/sources/redis"
_ "github.com/googleapis/genai-toolbox/internal/sources/spanner"
_ "github.com/googleapis/genai-toolbox/internal/sources/sqlite"
_ "github.com/googleapis/genai-toolbox/internal/sources/valkey"
)
var (
// versionString indicates the version of this library.
//go:embed version.txt
// versionString stores the full semantic version, including build metadata.
versionString string
// versionNum indicates the numerical part fo the version
//go:embed version.txt
versionNum string
// metadataString indicates additional build or distribution metadata.
metadataString string
buildType string = "dev" // should be one of "dev", "binary", or "container"
// commitSha is the git commit it was built from
commitSha string
)
func init() {
@@ -47,10 +98,11 @@ func init() {
// semanticVersion returns the version of the CLI including a compile-time metadata.
func semanticVersion() string {
v := strings.TrimSpace(versionString)
if metadataString != "" {
v += "+" + metadataString
metadataStrings := []string{buildType, runtime.GOOS, runtime.GOARCH}
if commitSha != "" {
metadataStrings = append(metadataStrings, commitSha)
}
v := strings.TrimSpace(versionNum) + "+" + strings.Join(metadataStrings, ".")
return v
}
@@ -67,15 +119,18 @@ func Execute() {
type Command struct {
*cobra.Command
cfg server.ServerConfig
logger log.Logger
tools_file string
outStream io.Writer
errStream io.Writer
cfg server.ServerConfig
logger log.Logger
tools_file string
prebuiltConfig string
inStream io.Reader
outStream io.Writer
errStream io.Writer
}
// NewCommand returns a Command object representing an invocation of the CLI.
func NewCommand(opts ...Option) *Command {
in := os.Stdin
out := os.Stdout
err := os.Stderr
@@ -86,6 +141,7 @@ func NewCommand(opts ...Option) *Command {
}
cmd := &Command{
Command: baseCmd,
inStream: in,
outStream: out,
errStream: err,
}
@@ -97,7 +153,8 @@ func NewCommand(opts ...Option) *Command {
// Set server version
cmd.cfg.Version = versionString
// set baseCmd out and err the same as cmd.
// set baseCmd in, out and err the same as cmd.
baseCmd.SetIn(cmd.inStream)
baseCmd.SetOut(cmd.outStream)
baseCmd.SetErr(cmd.errStream)
@@ -105,12 +162,17 @@ func NewCommand(opts ...Option) *Command {
flags.StringVarP(&cmd.cfg.Address, "address", "a", "127.0.0.1", "Address of the interface the server will listen on.")
flags.IntVarP(&cmd.cfg.Port, "port", "p", 5000, "Port the server will listen on.")
flags.StringVar(&cmd.tools_file, "tools_file", "tools.yaml", "File path specifying the tool configuration.")
flags.StringVar(&cmd.tools_file, "tools_file", "", "File path specifying the tool configuration. Cannot be used with --prebuilt.")
// deprecate tools_file
_ = flags.MarkDeprecated("tools_file", "please use --tools-file instead")
flags.StringVar(&cmd.tools_file, "tools-file", "", "File path specifying the tool configuration. Cannot be used with --prebuilt.")
flags.Var(&cmd.cfg.LogLevel, "log-level", "Specify the minimum level logged. Allowed: 'DEBUG', 'INFO', 'WARN', 'ERROR'.")
flags.Var(&cmd.cfg.LoggingFormat, "logging-format", "Specify logging format to use. Allowed: 'standard' or 'JSON'.")
flags.BoolVar(&cmd.cfg.TelemetryGCP, "telemetry-gcp", false, "Enable exporting directly to Google Cloud Monitoring.")
flags.StringVar(&cmd.cfg.TelemetryOTLP, "telemetry-otlp", "", "Enable exporting using OpenTelemetry Protocol (OTLP) to the specified endpoint (e.g. 'http://127.0.0.1:4318')")
flags.StringVar(&cmd.cfg.TelemetryServiceName, "telemetry-service-name", "toolbox", "Sets the value of the service.name resource attribute for telemetry data.")
flags.StringVar(&cmd.prebuiltConfig, "prebuilt", "", "Use a prebuilt tool configuration by source type. Cannot be used with --tools-file. Allowed: 'alloydb-postgres', 'bigquery', 'cloud-sql-mysql', 'cloud-sql-postgres', 'cloud-sql-mssql', 'postgres', 'spanner', 'spanner-postgres'.")
flags.BoolVar(&cmd.cfg.Stdio, "stdio", false, "Listens via MCP STDIO instead of acting as a remote HTTP server.")
// wrap RunE command so that we have access to original Command object
cmd.RunE = func(*cobra.Command, []string) error { return run(cmd) }
@@ -126,9 +188,31 @@ type ToolsFile struct {
Toolsets server.ToolsetConfigs `yaml:"toolsets"`
}
// parseEnv replaces environment variables ${ENV_NAME} with their values.
func parseEnv(input string) string {
re := regexp.MustCompile(`\$\{(\w+)\}`)
return re.ReplaceAllStringFunc(input, func(match string) string {
parts := re.FindStringSubmatch(match)
if len(parts) < 2 {
// technically shouldn't happen
return match
}
// extract the variable name
variableName := parts[1]
if value, found := os.LookupEnv(variableName); found {
return value
}
return match
})
}
// parseToolsFile parses the provided yaml into appropriate configs.
func parseToolsFile(ctx context.Context, raw []byte) (ToolsFile, error) {
var toolsFile ToolsFile
// Replace environment variables if found
raw = []byte(parseEnv(string(raw)))
// Parse contents
err := yaml.UnmarshalContext(ctx, raw, &toolsFile, yaml.Strict())
if err != nil {
@@ -137,7 +221,25 @@ func parseToolsFile(ctx context.Context, raw []byte) (ToolsFile, error) {
return toolsFile, nil
}
// updateLogLevel checks if Toolbox have to update the existing log level set by users.
// stdio doesn't support "debug" and "info" logs.
func updateLogLevel(stdio bool, logLevel string) bool {
if stdio {
switch strings.ToUpper(logLevel) {
case log.Debug, log.Info:
return true
default:
return false
}
}
return false
}
func run(cmd *Command) error {
if updateLogLevel(cmd.cfg.Stdio, cmd.cfg.LogLevel.String()) {
cmd.cfg.LogLevel = server.StringLevel(log.Warn)
}
ctx, cancel := context.WithCancel(cmd.Context())
defer cancel()
@@ -176,13 +278,13 @@ func run(cmd *Command) error {
}
cmd.logger = logger
default:
return fmt.Errorf("logging format invalid.")
return fmt.Errorf("logging format invalid")
}
ctx = util.WithLogger(ctx, cmd.logger)
// Set up OpenTelemetry
otelShutdown, err := telemetry.SetupOTel(ctx, cmd.Command.Version, cmd.cfg.TelemetryOTLP, cmd.cfg.TelemetryGCP, cmd.cfg.TelemetryServiceName)
otelShutdown, err := telemetry.SetupOTel(ctx, cmd.cfg.Version, cmd.cfg.TelemetryOTLP, cmd.cfg.TelemetryGCP, cmd.cfg.TelemetryServiceName)
if err != nil {
errMsg := fmt.Errorf("error setting up OpenTelemetry: %w", err)
cmd.logger.ErrorContext(ctx, errMsg.Error())
@@ -196,13 +298,39 @@ func run(cmd *Command) error {
}
}()
// Read tool file contents
buf, err := os.ReadFile(cmd.tools_file)
if err != nil {
errMsg := fmt.Errorf("unable to read tool file at %q: %w", cmd.tools_file, err)
cmd.logger.ErrorContext(ctx, errMsg.Error())
return errMsg
var buf []byte
if cmd.prebuiltConfig != "" {
// Make sure --prebuilt and --tools-file flags are mutually exclusive
if cmd.tools_file != "" {
errMsg := fmt.Errorf("--prebuilt and --tools-file flags cannot be used simultaneously")
cmd.logger.ErrorContext(ctx, errMsg.Error())
return errMsg
}
// Use prebuilt tools
buf, err = prebuiltconfigs.Get(cmd.prebuiltConfig)
if err != nil {
cmd.logger.ErrorContext(ctx, err.Error())
return err
}
logMsg := fmt.Sprint("Using prebuilt tool configuration for ", cmd.prebuiltConfig)
cmd.logger.InfoContext(ctx, logMsg)
// Append prebuilt.source to Version string for the User Agent
cmd.cfg.Version += "+prebuilt." + cmd.prebuiltConfig
} else {
// Set default value of tools-file flag to tools.yaml
if cmd.tools_file == "" {
cmd.tools_file = "tools.yaml"
}
// Read tool file contents
buf, err = os.ReadFile(cmd.tools_file)
if err != nil {
errMsg := fmt.Errorf("unable to read tool file at %q: %w", cmd.tools_file, err)
cmd.logger.ErrorContext(ctx, errMsg.Error())
return errMsg
}
}
toolsFile, err := parseToolsFile(ctx, buf)
cmd.cfg.SourceConfigs, cmd.cfg.AuthServiceConfigs, cmd.cfg.ToolConfigs, cmd.cfg.ToolsetConfigs = toolsFile.Sources, toolsFile.AuthServices, toolsFile.Tools, toolsFile.Toolsets
authSourceConfigs := toolsFile.AuthSources
@@ -224,23 +352,33 @@ func run(cmd *Command) error {
return errMsg
}
err = s.Listen(ctx)
if err != nil {
errMsg := fmt.Errorf("toolbox failed to start listener: %w", err)
cmd.logger.ErrorContext(ctx, errMsg.Error())
return errMsg
}
cmd.logger.InfoContext(ctx, "Server ready to serve!")
// run server in background
srvErr := make(chan error)
go func() {
defer close(srvErr)
err = s.Serve()
if cmd.cfg.Stdio {
go func() {
defer close(srvErr)
err = s.ServeStdio(ctx, cmd.inStream, cmd.outStream)
if err != nil {
srvErr <- err
}
}()
} else {
err = s.Listen(ctx)
if err != nil {
srvErr <- err
errMsg := fmt.Errorf("toolbox failed to start listener: %w", err)
cmd.logger.ErrorContext(ctx, errMsg.Error())
return errMsg
}
}()
cmd.logger.InfoContext(ctx, "Server ready to serve!")
go func() {
defer close(srvErr)
err = s.Serve(ctx)
if err != nil {
srvErr <- err
}
}()
}
// wait for either the server to error out or the command's context to be canceled
select {
@@ -256,7 +394,7 @@ func run(cmd *Command) error {
cmd.logger.WarnContext(shutdownContext, "Shutting down gracefully...")
err := s.Shutdown(shutdownContext)
if err == context.DeadlineExceeded {
return fmt.Errorf("graceful shutdown timed out... forcing exit.")
return fmt.Errorf("graceful shutdown timed out... forcing exit")
}
}

View File

@@ -18,23 +18,29 @@ import (
"bytes"
_ "embed"
"os"
"runtime"
"strings"
"testing"
"github.com/google/go-cmp/cmp"
"github.com/googleapis/genai-toolbox/internal/auth/google"
"github.com/googleapis/genai-toolbox/internal/prebuiltconfigs"
"github.com/googleapis/genai-toolbox/internal/server"
cloudsqlpgsrc "github.com/googleapis/genai-toolbox/internal/sources/cloudsqlpg"
httpsrc "github.com/googleapis/genai-toolbox/internal/sources/http"
"github.com/googleapis/genai-toolbox/internal/testutils"
"github.com/googleapis/genai-toolbox/internal/tools"
"github.com/googleapis/genai-toolbox/internal/tools/http"
"github.com/googleapis/genai-toolbox/internal/tools/postgressql"
"github.com/spf13/cobra"
)
func withDefaults(c server.ServerConfig) server.ServerConfig {
data, _ := os.ReadFile("version.txt")
c.Version = strings.TrimSpace(string(data))
version := strings.TrimSpace(string(data)) // Preserving 'data', new var for clarity
c.Version = version + "+" + strings.Join([]string{"dev", runtime.GOOS, runtime.GOARCH}, ".")
if c.Address == "" {
c.Address = "127.0.0.1"
}
@@ -161,6 +167,13 @@ func TestServerConfigFlags(t *testing.T) {
TelemetryServiceName: "toolbox-custom",
}),
},
{
desc: "stdio",
args: []string{"--stdio"},
want: withDefaults(server.ServerConfig{
Stdio: true,
}),
},
}
for _, tc := range tcs {
t.Run(tc.desc, func(t *testing.T) {
@@ -185,18 +198,53 @@ func TestToolFileFlag(t *testing.T) {
{
desc: "default value",
args: []string{},
want: "tools.yaml",
want: "",
},
{
desc: "foo file",
args: []string{"--tools_file", "foo.yaml"},
args: []string{"--tools-file", "foo.yaml"},
want: "foo.yaml",
},
{
desc: "address long",
args: []string{"--tools_file", "bar.yaml"},
args: []string{"--tools-file", "bar.yaml"},
want: "bar.yaml",
},
{
desc: "deprecated flag",
args: []string{"--tools_file", "foo.yaml"},
want: "foo.yaml",
},
}
for _, tc := range tcs {
t.Run(tc.desc, func(t *testing.T) {
c, _, err := invokeCommand(tc.args)
if err != nil {
t.Fatalf("unexpected error invoking command: %s", err)
}
if c.tools_file != tc.want {
t.Fatalf("got %v, want %v", c.cfg, tc.want)
}
})
}
}
func TestPrebuiltFlag(t *testing.T) {
tcs := []struct {
desc string
args []string
want string
}{
{
desc: "default value",
args: []string{},
want: "",
},
{
desc: "custom pre built flag",
args: []string{"--tools-file", "alloydb"},
want: "alloydb",
},
}
for _, tc := range tcs {
t.Run(tc.desc, func(t *testing.T) {
@@ -313,13 +361,14 @@ func TestParseToolFile(t *testing.T) {
Tools: server.ToolConfigs{
"example_tool": postgressql.Config{
Name: "example_tool",
Kind: postgressql.ToolKind,
Kind: "postgres-sql",
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
Parameters: []tools.Parameter{
tools.NewStringParameter("country", "some description"),
},
AuthRequired: []string{},
},
},
Toolsets: server.ToolsetConfigs{
@@ -442,11 +491,12 @@ func TestParseToolFileWithAuth(t *testing.T) {
},
Tools: server.ToolConfigs{
"example_tool": postgressql.Config{
Name: "example_tool",
Kind: postgressql.ToolKind,
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
Name: "example_tool",
Kind: "postgres-sql",
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
AuthRequired: []string{},
Parameters: []tools.Parameter{
tools.NewStringParameter("country", "some description"),
tools.NewIntParameterWithAuth("id", "user id", []tools.ParamAuthService{{Name: "my-google-service", Field: "user_id"}}),
@@ -540,11 +590,113 @@ func TestParseToolFileWithAuth(t *testing.T) {
},
Tools: server.ToolConfigs{
"example_tool": postgressql.Config{
Name: "example_tool",
Kind: postgressql.ToolKind,
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
Name: "example_tool",
Kind: "postgres-sql",
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
AuthRequired: []string{},
Parameters: []tools.Parameter{
tools.NewStringParameter("country", "some description"),
tools.NewIntParameterWithAuth("id", "user id", []tools.ParamAuthService{{Name: "my-google-service", Field: "user_id"}}),
tools.NewStringParameterWithAuth("email", "user email", []tools.ParamAuthService{{Name: "my-google-service", Field: "email"}, {Name: "other-google-service", Field: "other_email"}}),
},
},
},
Toolsets: server.ToolsetConfigs{
"example_toolset": tools.ToolsetConfig{
Name: "example_toolset",
ToolNames: []string{"example_tool"},
},
},
},
},
{
description: "basic example with authRequired",
in: `
sources:
my-pg-instance:
kind: cloud-sql-postgres
project: my-project
region: my-region
instance: my-instance
database: my_db
user: my_user
password: my_pass
authServices:
my-google-service:
kind: google
clientId: my-client-id
other-google-service:
kind: google
clientId: other-client-id
tools:
example_tool:
kind: postgres-sql
source: my-pg-instance
description: some description
statement: |
SELECT * FROM SQL_STATEMENT;
authRequired:
- my-google-service
parameters:
- name: country
type: string
description: some description
- name: id
type: integer
description: user id
authServices:
- name: my-google-service
field: user_id
- name: email
type: string
description: user email
authServices:
- name: my-google-service
field: email
- name: other-google-service
field: other_email
toolsets:
example_toolset:
- example_tool
`,
wantToolsFile: ToolsFile{
Sources: server.SourceConfigs{
"my-pg-instance": cloudsqlpgsrc.Config{
Name: "my-pg-instance",
Kind: cloudsqlpgsrc.SourceKind,
Project: "my-project",
Region: "my-region",
Instance: "my-instance",
IPType: "public",
Database: "my_db",
User: "my_user",
Password: "my_pass",
},
},
AuthServices: server.AuthServiceConfigs{
"my-google-service": google.Config{
Name: "my-google-service",
Kind: google.AuthServiceKind,
ClientID: "my-client-id",
},
"other-google-service": google.Config{
Name: "other-google-service",
Kind: google.AuthServiceKind,
ClientID: "other-client-id",
},
},
Tools: server.ToolConfigs{
"example_tool": postgressql.Config{
Name: "example_tool",
Kind: "postgres-sql",
Source: "my-pg-instance",
Description: "some description",
Statement: "SELECT * FROM SQL_STATEMENT;\n",
AuthRequired: []string{"my-google-service"},
Parameters: []tools.Parameter{
tools.NewStringParameter("country", "some description"),
tools.NewIntParameterWithAuth("id", "user id", []tools.ParamAuthService{{Name: "my-google-service", Field: "user_id"}}),
@@ -583,3 +735,328 @@ func TestParseToolFileWithAuth(t *testing.T) {
}
}
func TestEnvVarReplacement(t *testing.T) {
ctx, err := testutils.ContextWithNewLogger()
os.Setenv("TestHeader", "ACTUAL_HEADER")
os.Setenv("API_KEY", "ACTUAL_API_KEY")
os.Setenv("clientId", "ACTUAL_CLIENT_ID")
os.Setenv("clientId2", "ACTUAL_CLIENT_ID_2")
os.Setenv("toolset_name", "ACTUAL_TOOLSET_NAME")
os.Setenv("cat_string", "cat")
os.Setenv("food_string", "food")
if err != nil {
t.Fatalf("unexpected error: %s", err)
}
tcs := []struct {
description string
in string
wantToolsFile ToolsFile
}{
{
description: "file with env var example",
in: `
sources:
my-http-instance:
kind: http
baseUrl: http://test_server/
timeout: 10s
headers:
Authorization: ${TestHeader}
queryParams:
api-key: ${API_KEY}
authServices:
my-google-service:
kind: google
clientId: ${clientId}
other-google-service:
kind: google
clientId: ${clientId2}
tools:
example_tool:
kind: http
source: my-instance
method: GET
path: "search?name=alice&pet=${cat_string}"
description: some description
authRequired:
- my-google-auth-service
- other-auth-service
queryParams:
- name: country
type: string
description: some description
authServices:
- name: my-google-auth-service
field: user_id
- name: other-auth-service
field: user_id
requestBody: |
{
"age": {{.age}},
"city": "{{.city}}",
"food": "${food_string}",
"other": "$OTHER"
}
bodyParams:
- name: age
type: integer
description: age num
- name: city
type: string
description: city string
headers:
Authorization: API_KEY
Content-Type: application/json
headerParams:
- name: Language
type: string
description: language string
toolsets:
${toolset_name}:
- example_tool
`,
wantToolsFile: ToolsFile{
Sources: server.SourceConfigs{
"my-http-instance": httpsrc.Config{
Name: "my-http-instance",
Kind: httpsrc.SourceKind,
BaseURL: "http://test_server/",
Timeout: "10s",
DefaultHeaders: map[string]string{"Authorization": "ACTUAL_HEADER"},
QueryParams: map[string]string{"api-key": "ACTUAL_API_KEY"},
},
},
AuthServices: server.AuthServiceConfigs{
"my-google-service": google.Config{
Name: "my-google-service",
Kind: google.AuthServiceKind,
ClientID: "ACTUAL_CLIENT_ID",
},
"other-google-service": google.Config{
Name: "other-google-service",
Kind: google.AuthServiceKind,
ClientID: "ACTUAL_CLIENT_ID_2",
},
},
Tools: server.ToolConfigs{
"example_tool": http.Config{
Name: "example_tool",
Kind: "http",
Source: "my-instance",
Method: "GET",
Path: "search?name=alice&pet=cat",
Description: "some description",
AuthRequired: []string{"my-google-auth-service", "other-auth-service"},
QueryParams: []tools.Parameter{
tools.NewStringParameterWithAuth("country", "some description",
[]tools.ParamAuthService{{Name: "my-google-auth-service", Field: "user_id"},
{Name: "other-auth-service", Field: "user_id"}}),
},
RequestBody: `{
"age": {{.age}},
"city": "{{.city}}",
"food": "food",
"other": "$OTHER"
}
`,
BodyParams: []tools.Parameter{tools.NewIntParameter("age", "age num"), tools.NewStringParameter("city", "city string")},
Headers: map[string]string{"Authorization": "API_KEY", "Content-Type": "application/json"},
HeaderParams: []tools.Parameter{tools.NewStringParameter("Language", "language string")},
},
},
Toolsets: server.ToolsetConfigs{
"ACTUAL_TOOLSET_NAME": tools.ToolsetConfig{
Name: "ACTUAL_TOOLSET_NAME",
ToolNames: []string{"example_tool"},
},
},
},
},
}
for _, tc := range tcs {
t.Run(tc.description, func(t *testing.T) {
toolsFile, err := parseToolsFile(ctx, testutils.FormatYaml(tc.in))
if err != nil {
t.Fatalf("failed to parse input: %v", err)
}
if diff := cmp.Diff(tc.wantToolsFile.Sources, toolsFile.Sources); diff != "" {
t.Fatalf("incorrect sources parse: diff %v", diff)
}
if diff := cmp.Diff(tc.wantToolsFile.AuthServices, toolsFile.AuthServices); diff != "" {
t.Fatalf("incorrect authServices parse: diff %v", diff)
}
if diff := cmp.Diff(tc.wantToolsFile.Tools, toolsFile.Tools); diff != "" {
t.Fatalf("incorrect tools parse: diff %v", diff)
}
if diff := cmp.Diff(tc.wantToolsFile.Toolsets, toolsFile.Toolsets); diff != "" {
t.Fatalf("incorrect tools parse: diff %v", diff)
}
})
}
}
func TestPrebuiltTools(t *testing.T) {
alloydb_config, _ := prebuiltconfigs.Get("alloydb-postgres")
bigquery_config, _ := prebuiltconfigs.Get("bigquery")
cloudsqlpg_config, _ := prebuiltconfigs.Get("cloud-sql-postgres")
cloudsqlmysql_config, _ := prebuiltconfigs.Get("cloud-sql-mysql")
cloudsqlmssql_config, _ := prebuiltconfigs.Get("cloud-sql-mssql")
postgresconfig, _ := prebuiltconfigs.Get("postgres")
spanner_config, _ := prebuiltconfigs.Get("spanner")
spannerpg_config, _ := prebuiltconfigs.Get("spanner-postgres")
ctx, err := testutils.ContextWithNewLogger()
if err != nil {
t.Fatalf("unexpected error: %s", err)
}
tcs := []struct {
name string
in []byte
wantToolset server.ToolsetConfigs
}{
{
name: "alloydb prebuilt tools",
in: alloydb_config,
wantToolset: server.ToolsetConfigs{
"alloydb-postgres-database-tools": tools.ToolsetConfig{
Name: "alloydb-postgres-database-tools",
ToolNames: []string{"execute_sql", "list_tables"},
},
},
},
{
name: "bigquery prebuilt tools",
in: bigquery_config,
wantToolset: server.ToolsetConfigs{
"bigquery-database-tools": tools.ToolsetConfig{
Name: "bigquery-database-tools",
ToolNames: []string{"execute_sql", "get_dataset_info", "get_table_info", "list_dataset_ids", "list_table_ids"},
},
},
},
{
name: "cloudsqlpg prebuilt tools",
in: cloudsqlpg_config,
wantToolset: server.ToolsetConfigs{
"cloud-sql-postgres-database-tools": tools.ToolsetConfig{
Name: "cloud-sql-postgres-database-tools",
ToolNames: []string{"execute_sql", "list_tables"},
},
},
},
{
name: "cloudsqlmysql prebuilt tools",
in: cloudsqlmysql_config,
wantToolset: server.ToolsetConfigs{
"cloud-sql-mysql-database-tools": tools.ToolsetConfig{
Name: "cloud-sql-mysql-database-tools",
ToolNames: []string{"execute_sql", "list_tables"},
},
},
},
{
name: "cloudsqlmssql prebuilt tools",
in: cloudsqlmssql_config,
wantToolset: server.ToolsetConfigs{
"cloud-sql-mssql-database-tools": tools.ToolsetConfig{
Name: "cloud-sql-mssql-database-tools",
ToolNames: []string{"execute_sql", "list_tables"},
},
},
},
{
name: "postgres prebuilt tools",
in: postgresconfig,
wantToolset: server.ToolsetConfigs{
"postgres-database-tools": tools.ToolsetConfig{
Name: "postgres-database-tools",
ToolNames: []string{"execute_sql", "list_tables"},
},
},
},
{
name: "spanner prebuilt tools",
in: spanner_config,
wantToolset: server.ToolsetConfigs{
"spanner-database-tools": tools.ToolsetConfig{
Name: "spanner-database-tools",
ToolNames: []string{"execute_sql", "execute_sql_dql", "list_tables"},
},
},
},
{
name: "spanner pg prebuilt tools",
in: spannerpg_config,
wantToolset: server.ToolsetConfigs{
"spanner-postgres-database-tools": tools.ToolsetConfig{
Name: "spanner-postgres-database-tools",
ToolNames: []string{"execute_sql", "execute_sql_dql", "list_tables"},
},
},
},
}
for _, tc := range tcs {
t.Run(tc.name, func(t *testing.T) {
toolsFile, err := parseToolsFile(ctx, tc.in)
if err != nil {
t.Fatalf("failed to parse input: %v", err)
}
if diff := cmp.Diff(tc.wantToolset, toolsFile.Toolsets); diff != "" {
t.Fatalf("incorrect tools parse: diff %v", diff)
}
})
}
}
func TestUpdateLogLevel(t *testing.T) {
tcs := []struct {
desc string
stdio bool
logLevel string
want bool
}{
{
desc: "no stdio",
stdio: false,
logLevel: "info",
want: false,
},
{
desc: "stdio with info log",
stdio: true,
logLevel: "info",
want: true,
},
{
desc: "stdio with debug log",
stdio: true,
logLevel: "debug",
want: true,
},
{
desc: "stdio with warn log",
stdio: true,
logLevel: "warn",
want: false,
},
{
desc: "stdio with error log",
stdio: true,
logLevel: "error",
want: false,
},
}
for _, tc := range tcs {
t.Run(tc.desc, func(t *testing.T) {
got := updateLogLevel(tc.stdio, tc.logLevel)
if got != tc.want {
t.Fatalf("incorrect indication to update log level: got %t, want %t", got, tc.want)
}
})
}
}

View File

@@ -1 +1 @@
0.2.0
0.7.0

View File

@@ -12,4 +12,4 @@ description: >
<link rel="canonical" href="getting-started/introduction/"/>
<meta http-equiv="refresh" content="0;url=getting-started/introduction"/>
</head>
</html>
</html>

View File

@@ -1,6 +1,7 @@
---
title: "About"
type: docs
weight: 5
description: A list of other information related to Toolbox.
weight: 6
description: >
A list of other information related to Toolbox.
---

23
docs/en/about/blogs.md Normal file
View File

@@ -0,0 +1,23 @@
---
title: "Blogs"
type: docs
weight: 3
description: Toolbox Tuesday blog posts.
---
## Toolbox Tuesday Blogs
Every Tuesday, we post a blog on our [Medium page][medium]. These blogs will be covering
topics, tutorials, or samples that are related to developing with Toolbox.
Follow us and stay tuned!
## Previous Blogs
- [Powering your IDEs build-time agents with MCP Toolbox for Databases][blog1]
- [Using HTTP endpoints as tools with MCP Toolbox for Databases][blog2]
[medium]: https://medium.com/@mcp_toolbox
[blog1]:
https://medium.com/google-cloud/powering-your-ides-build-time-agents-with-mcp-toolbox-for-databases-123f0d837804
[blog2]:
https://medium.com/google-cloud/using-http-endpoints-as-tools-with-mcp-toolbox-for-databases-e93ab75b60cd

22
docs/en/about/contact.md Normal file
View File

@@ -0,0 +1,22 @@
---
title: "Contact Us"
type: docs
weight: 10
description: Contact the Toolbox team.
---
Toolbox is an open source project and we welcome contributions and discussion from the
developer community.
## How to Get in Touch
- If you want to make a contribution, [open an issue][issue] first so that we can agree
on the general design.
- If you found a bug or have ideas for improvements, [open an issue][issue] and
we will reply as soon as possible.
- For any topics, join our [discord server][discord], where we can discuss things in real-time for a faster response.
[issue]: https://github.com/googleapis/genai-toolbox/issues
[discord]: https://discord.com/invite/Dmm69peqjh

View File

@@ -7,7 +7,7 @@ description: Frequently asked questions about Toolbox.
## How can I deploy or run Toolbox?
Gen AI Toolbox for Databases is open-source and can be ran or deployed to a
MCP Toolbox for Databases is open-source and can be ran or deployed to a
multitude of environments. For convenience, we release [compiled binaries and
docker images][release-notes] (but you can always compile yourself as well!).
@@ -75,14 +75,13 @@ While a large part of the Gen AI Ecosystem is predominately Python, we opted to
use Go. We chose Go because it's still easy and simple to use, but also easier
to write fast, efficient, and concurrent servers. Additionally, given the
server-client architecture, we can still meet many developers where they are
with clients in their preferred language. As Gen AI matures, we want developers to be able to use Toolbox on the serving path of mission critical applications. It's easier to build the needed robustness, performance and scalability in Go than in Python.
with clients in their preferred language. As Gen AI matures, we want developers
to be able to use Toolbox on the serving path of mission critical applications.
It's easier to build the needed robustness, performance and scalability in Go
than in Python.
## Is Toolbox compatible with Model Context Protocol (MCP)?
Toolbox currently uses it's own custom protocol for server-client communication.
[Anthropic's Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
launched towards the end of Toolbox's development, and is currently missing
functionality to support some of our features. We're currently exploring how
best to bring Toolbox's functionality to the wider MCP ecosystem.
Yes! Toolbox is compatible with [Anthropic's Model Context Protocol (MCP)](https://modelcontextprotocol.io/). Please checkout [Connect via MCP](../how-to/connect_via_mcp.md) on how to
connect to Toolbox with an MCP client.

View File

@@ -2,5 +2,6 @@
title: "Concepts"
type: docs
weight: 2
description: Some core concepts in Toolbox
description: >
Some core concepts in Toolbox
---

View File

@@ -2,7 +2,8 @@
title: "Telemetry"
type: docs
weight: 2
description: An overview of telemetry and observability in Toolbox.
description: >
An overview of telemetry and observability in Toolbox.
---
## About
@@ -28,7 +29,7 @@ The following flags can be used to customize Toolbox logging:
__Example:__
```bash
./toolbox --tools_file "tools.yaml" --log-level warn --logging-format json
./toolbox --tools-file "tools.yaml" --log-level warn --logging-format json
```
### Level
@@ -81,18 +82,22 @@ A metric is a measurement of a service captured at runtime. The collected data
can be used to provide important insights into the service. Toolbox provides the
following custom metrics:
| **Metric Name** | **Description** |
|------------------------------------|-------------------------------------------------------|
| `toolbox.server.toolset.get.count` | Counts the number of toolset manifest requests served |
| `toolbox.server.tool.get.count` | Counts the number of tool manifest requests served |
| `toolbox.server.tool.get.invoke` | Counts the number of tool invocation requests served |
| **Metric Name** | **Description** |
|------------------------------------|---------------------------------------------------------|
| `toolbox.server.toolset.get.count` | Counts the number of toolset manifest requests served |
| `toolbox.server.tool.get.count` | Counts the number of tool manifest requests served |
| `toolbox.server.tool.get.invoke` | Counts the number of tool invocation requests served |
| `toolbox.server.mcp.sse.count` | Counts the number of mcp sse connection requests served |
| `toolbox.server.mcp.post.count` | Counts the number of mcp post requests served |
All custom metrics have the following attributes/labels:
| **Metric Attributes** | **Description** |
|-----------------------|-----------------------------------------------------------|
| `toolbox.name` | Name of the toolset or tool, if applicable. |
| `toolbox.status` | Operation status code, for example: `success`, `failure`. |
| **Metric Attributes** | **Description** |
|----------------------------|-----------------------------------------------------------|
| `toolbox.name` | Name of the toolset or tool, if applicable. |
| `toolbox.operation.status` | Operation status code, for example: `success`, `failure`. |
| `toolbox.sse.sessionId` | Session id for sse connection, if applicable. |
| `toolbox.method` | Method of JSON-RPC request, if applicable. |
### Traces

View File

@@ -3,5 +3,5 @@ title: "Getting Started"
type: docs
weight: 1
description: >
How to get started with Toolbox
How to get started with Toolbox.
---

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,28 @@
---
title: "Configuration"
type: docs
weight: 3
description: How to configure Toolbox's tools.yaml file.
weight: 4
description: >
How to configure Toolbox's tools.yaml file.
---
The primary way to configure Toolbox is through the `tools.yaml` file. If you
have multiple files, you can tell toolbox which to load with the `--tools_file
have multiple files, you can tell toolbox which to load with the `--tools-file
tools.yaml` flag.
You can find more detailed reference documentation to all resource types in the
[Resources](../resources/).
### Using Environment Variables
To avoid hardcoding certain secret fields like passwords, usernames, API keys
etc., you could use environment variables instead with the format `${ENV_NAME}`.
```yaml
user: ${USER_NAME}
password: ${PASSWORD}
```
### Sources
The `sources` section of your `tools.yaml` defines what data sources your
@@ -25,8 +36,8 @@ sources:
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
user: ${USER_NAME}
password: ${PASSWORD}
```
For more details on configuring different types of sources, see the
@@ -54,7 +65,6 @@ tools:
For more details on configuring different types of tools, see the
[Tools](../resources/tools/).
### Toolsets
The `toolsets` section of your `tools.yaml` allows you to define groups of tools
@@ -75,8 +85,8 @@ You can load toolsets by name:
```python
# This will load all tools
all_tools = await client.aload_toolset()
all_tools = client.load_toolset()
# This will only load the tools listed in 'my_second_toolset'
my_second_toolset = await client.aload_toolset("my_second_toolset")
```
my_second_toolset = client.load_toolset("my_second_toolset")
```

View File

@@ -2,13 +2,20 @@
title: "Introduction"
type: docs
weight: 1
description: An introduction to Gen AI Toolbox for Databases.
description: >
An introduction to MCP Toolbox for Databases.
---
Gen AI Toolbox for Databases is an open source server that makes it easier to
build Gen AI tools for interacting with databases. It enables you to develop
tools easier, faster, and more securely by handling the complexities such as
connection pooling, authentication, and more.
MCP Toolbox for Databases is an open source MCP server for databases. It enables
you to develop tools easier, faster, and more securely by handling the complexities
such as connection pooling, authentication, and more.
{{< notice note >}}
This solution was originally named “Gen AI Toolbox for
Databases” as its initial development predated MCP, but was renamed to align
with recently added MCP compatibility.
{{< /notice >}}
## Why Toolbox?
@@ -24,6 +31,21 @@ database. Toolbox provides:
support for OpenTelemetry.
**⚡ Supercharge Your Workflow with an AI Database Assistant ⚡**
Stop context-switching and let your AI assistant become a true co-developer. By [connecting your IDE to your databases with MCP Toolbox][connect-ide], you can delegate complex and time-consuming database tasks, allowing you to build faster and focus on what matters. This isn't just about code completion; it's about giving your AI the context it needs to handle the entire development lifecycle.
Heres how it will save you time:
* **Query in Plain English**: Interact with your data using natural language right from your IDE. Ask complex questions like, *"How many orders were delivered in 2024, and what items were in them?"* without writing any SQL.
* **Automate Database Management**: Simply describe your data needs, and let the AI assistant manage your database for you. It can handle generating queries, creating tables, adding indexes, and more.
* **Generate Context-Aware Code**: Empower your AI assistant to generate application code and tests with a deep understanding of your real-time database schema. This accelerates the development cycle by ensuring the generated code is directly usable.
* **Slash Development Overhead**: Radically reduce the time spent on manual setup and boilerplate. MCP Toolbox helps streamline lengthy database configurations, repetitive code, and error-prone schema migrations.
Learn [how to connect your AI tools (IDEs) to Toolbox using MCP][connect-ide].
[connect-ide]: ../../how-to/connect-ide/
## General Architecture
Toolbox sits between your application's orchestration framework and your
@@ -43,6 +65,7 @@ following instructions for your OS and CPU architecture.
[releases]: https://github.com/googleapis/genai-toolbox/releases
<!-- {x-release-please-start-version} -->
{{< tabpane text=true >}}
{{% tab header="Binary" lang="en" %}}
@@ -50,7 +73,7 @@ To install Toolbox as a binary:
```sh
# see releases page for other versions
export VERSION=0.1.0
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
```
@@ -61,7 +84,7 @@ You can also install Toolbox as a container:
```sh
# see releases page for other versions
export VERSION=0.1.0
export VERSION=0.7.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
```
@@ -72,11 +95,12 @@ To install from source, ensure you have the latest version of
[Go installed](https://go.dev/doc/install), and then run the following command:
```sh
go install github.com/googleapis/genai-toolbox@v0.1.0
go install github.com/googleapis/genai-toolbox@v0.7.0
```
{{% /tab %}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->
### Running the server
@@ -84,7 +108,7 @@ go install github.com/googleapis/genai-toolbox@v0.1.0
execute `toolbox` to start the server:
```sh
./toolbox --tools_file "tools.yaml"
./toolbox --tools-file "tools.yaml"
```
You can use `toolbox help` for a full list of flags! To stop the server, send a
@@ -98,25 +122,65 @@ out the resources in the [How-to section](../../how-to/_index.md)
Once your server is up and running, you can load the tools into your
application. See below the list of Client SDKs for using various frameworks:
{{< tabpane text=true >}}
{{< tabpane text=true persist=header >}}
{{% tab header="Core" lang="en" %}}
Once you've installed the [Toolbox Core
SDK](https://pypi.org/project/toolbox-core/), you can load
tools:
{{< highlight python >}}
from toolbox_core import ToolboxClient
# update the url to point to your server
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = await client.load_toolset("toolset_name")
{{< /highlight >}}
For more detailed instructions on using the Toolbox Core SDK, see the
[project's README](https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-core/README.md).
{{% /tab %}}
{{% tab header="LangChain" lang="en" %}}
Once you've installed the [Toolbox LangChain
SDK](https://github.com/googleapis/genai-toolbox-langchain-python), you can load
SDK](https://pypi.org/project/toolbox-langchain/), you can load
tools:
{{< highlight python >}}
from toolbox_langchain import ToolboxClient
# update the url to point to your server
client = ToolboxClient("http://127.0.0.1:5000")
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = await client.aload_toolset()
# these tools can be passed to your application!
tools = client.load_toolset()
{{< /highlight >}}
For more detailed instructions on using the Toolbox LangChain SDK, see the
[project's README](https://github.com/googleapis/genai-toolbox-langchain-python/blob/main/README.md).
[project's README](https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-langchain/README.md).
{{% /tab %}}
{{% tab header="Llamaindex" lang="en" %}}
Once you've installed the [Toolbox Llamaindex
SDK](https://github.com/googleapis/genai-toolbox-llamaindex-python), you can load
tools:
{{< highlight python >}}
from toolbox_llamaindex import ToolboxClient
# update the url to point to your server
async with ToolboxClient("http://127.0.0.1:5000") as client:
# these tools can be passed to your application!
tools = client.load_toolset()
{{< /highlight >}}
For more detailed instructions on using the Toolbox Llamaindex SDK, see the
[project's README](https://github.com/googleapis/genai-toolbox-llamaindex-python/blob/main/README.md).
{{% /tab %}}
{{< /tabpane >}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 154 KiB

View File

@@ -1,38 +1,32 @@
---
title: "Quickstart"
title: "Quickstart (Local)"
type: docs
weight: 2
description: >
How to get started running Toolbox locally with Python, PostgreSQL, and
LangGraph.
[GoogleGenAI](https://pypi.org/project/google-genai/),
[LangGraph](https://www.langchain.com/langgraph), [LlamaIndex](https://www.llamaindex.ai/) or [Agent Development Kit](https://google.github.io/adk-docs/).
---
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/googleapis/genai-toolbox/blob/main/docs/en/getting-started/colab_quickstart.ipynb)
## Before you begin
This guide assumes you have already done the following:
This guide assumes you have already done the following:
1. Installed [Python 3.9+][install-python] (including [pip][install-pip] and
your preferred virtual environment tool for managing dependencies e.g. [venv][install-venv])
1. Installed [PostgreSQL 16+ and the `psql` client][install-postgres]
1. Completed setup for usage with a [LangChain chat model][lc-chat], such as:
- [`langchain-vertexai` package][install-vertexai]
- [`langchain-google-genai` package][install-genai]
- [`langchain-anthropic` package][install-anthropic]
[install-python]: https://wiki.python.org/moin/BeginnersGuide/Download
[install-pip]: https://pip.pypa.io/en/stable/installation/
[install-venv]: https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments
[install-postgres]: https://www.postgresql.org/download/
[lc-chat]: https://python.langchain.com/docs/integrations/chat/
[install-vertexai]: https://python.langchain.com/docs/integrations/llms/google_vertex_ai_palm/#setup
[install-genai]: https://python.langchain.com/docs/integrations/chat/google_generative_ai/#setup
[install-anthropic]: https://python.langchain.com/docs/integrations/chat/anthropic/#setup
## Step 1: Set up your database
In this section, we will create a database, insert some data that needs to be
access by our agent, and create a database user for Toolbox to connect with.
accessed by our agent, and create a database user for Toolbox to connect with.
1. Connect to postgres using the `psql` command:
@@ -42,11 +36,32 @@ access by our agent, and create a database user for Toolbox to connect with.
Here, `postgres` denotes the default postgres superuser.
{{< notice info >}}
#### **Having trouble connecting?**
* **Password Prompt:** If you are prompted for a password for the `postgres` user and do not know it (or a blank password doesn't work), your PostgreSQL installation might require a password or a different authentication method.
* **`FATAL: role "postgres" does not exist`:** This error means the default `postgres` superuser role isn't available under that name on your system.
* **`Connection refused`:** Ensure your PostgreSQL server is actually running. You can typically check with `sudo systemctl status postgresql` and start it with `sudo systemctl start postgresql` on Linux systems.
<br/>
#### **Common Solution**
For password issues or if the `postgres` role seems inaccessible directly, try switching to the `postgres` operating system user first. This user often has permission to connect without a password for local connections (this is called peer authentication).
```bash
sudo -i -u postgres
psql -h 127.0.0.1
```
Once you are in the `psql` shell using this method, you can proceed with the database creation steps below. Afterwards, type `\q` to exit `psql`, and then `exit` to return to your normal user shell.
If desired, once connected to `psql` as the `postgres` OS user, you can set a password for the `postgres` *database* user using: `ALTER USER postgres WITH PASSWORD 'your_chosen_password';`. This would allow direct connection with `-U postgres` and a password next time.
{{< /notice >}}
1. Create a new database and a new user:
{{< notice tip >}}
For a real application, it's best to follow the principle of least permission
and only grant the privileges your application needs.
{{< notice tip >}}
For a real application, it's best to follow the principle of least permission
and only grant the privileges your application needs.
{{< /notice >}}
```sql
@@ -58,13 +73,12 @@ access by our agent, and create a database user for Toolbox to connect with.
ALTER DATABASE toolbox_db OWNER TO toolbox_user;
```
1. End the database session:
```bash
\q
```
(If you used `sudo -i -u postgres` and then `psql`, remember you might also need to type `exit` after `\q` to leave the `postgres` user's shell session.)
1. Connect to your database with your new user:
@@ -109,7 +123,6 @@ access by our agent, and create a database user for Toolbox to connect with.
\q
```
## Step 2: Install and configure Toolbox
In this section, we will download Toolbox, configure our tools in a
@@ -117,15 +130,17 @@ In this section, we will download Toolbox, configure our tools in a
1. Download the latest version of Toolbox as a binary:
{{< notice tip >}}
Select the
[correct binary](https://github.com/googleapis/genai-toolbox/releases)
corresponding to your OS and CPU architecture.
{{< notice tip >}}
Select the
[correct binary](https://github.com/googleapis/genai-toolbox/releases)
corresponding to your OS and CPU architecture.
{{< /notice >}}
<!-- {x-release-please-start-version} -->
```bash
export OS="linux/amd64" # one of linux/amd64, darwin/arm64, darwin/amd64, or windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.1.0/$OS/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/$OS/toolbox
```
<!-- {x-release-please-end} -->
1. Make the binary executable:
@@ -137,6 +152,11 @@ In this section, we will download Toolbox, configure our tools in a
such as `user`, `password`, or `database` that you may have customized in the
previous step.
{{< notice tip >}}
In practice, use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
```yaml
sources:
my-pg-source:
@@ -144,11 +164,9 @@ In this section, we will download Toolbox, configure our tools in a
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
user: ${USER_NAME}
password: ${PASSWORD}
tools:
# Define the 5 tools we want our agent to have
# for more info on tools check out the "Resources" section of the docs
search-hotels-by-name:
kind: postgres-sql
source: my-pg-source
@@ -171,8 +189,7 @@ In this section, we will download Toolbox, configure our tools in a
kind: postgres-sql
source: my-pg-source
description: >-
Book a hotel by its ID. Returns a message indicating whether the hotel was
successfully booked or not.
Book a hotel by its ID. If the hotel is successfully booked, returns a NULL, raises an error if not.
parameters:
- name: hotel_id
type: string
@@ -206,60 +223,247 @@ In this section, we will download Toolbox, configure our tools in a
type: string
description: The ID of the hotel to cancel.
statement: UPDATE hotels SET booked = B'0' WHERE id = $1;
toolsets:
my-toolset:
- search-hotels-by-name
- search-hotels-by-location
- book-hotel
- update-hotel
- cancel-hotel
```
For more info on tools, check out the `Resources` section of the docs.
1. Run the Toolbox server, pointing to the `tools.yaml` file created earlier:
```bash
./toolbox --tools_file "tools.yaml"
./toolbox --tools-file "tools.yaml"
```
## Step 3: Connect your agent to Toolbox
In this section, we will write and run a LangGraph agent that will load the Tools
In this section, we will write and run an agent that will load the Tools
from Toolbox.
1. In a new terminal, install the `toolbox-langchain` package.
{{< notice tip>}} If you prefer to experiment within a Google Colab environment,
you can connect to a
[local runtime](https://research.google.com/colaboratory/local-runtimes.html).
{{< /notice >}}
```bash
pip install toolbox-langchain
```
1. In a new terminal, install the SDK package.
{{< tabpane persist=header >}}
{{< tab header="Core" lang="bash" >}}
pip install toolbox-core
{{< /tab >}}
{{< tab header="ADK" lang="bash" >}}
pip install toolbox-core
{{< /tab >}}
{{< tab header="Langchain" lang="bash" >}}
pip install toolbox-langchain
{{< /tab >}}
{{< tab header="LlamaIndex" lang="bash" >}}
pip install toolbox-llamaindex
{{< /tab >}}
{{< /tabpane >}}
1. Install other required dependencies:
```bash
# TODO(developer): replace with correct package if needed
pip install langgraph langchain-google-vertexai
# pip install langchain_google_genai
# pip install langchain_anthropic
```
{{< tabpane persist=header >}}
{{< tab header="Core" lang="bash" >}}
1. Create a new file named `langgraph_hotel_agent.py` and copy the following
code to create a [LangGraph agent][langgraph-agent], based on their [Hotels
example][langchain-hotels]:
pip install google-genai
{{< /tab >}}
{{< tab header="ADK" lang="bash" >}}
```python
import asyncio
pip install google-adk
{{< /tab >}}
{{< tab header="Langchain" lang="bash" >}}
from langgraph.prebuilt import create_react_agent
# TODO(developer): replace this with another import if needed
from langchain_google_vertexai import ChatVertexAI
# from langchain_google_genai import ChatGoogleGenerativeAI
# from langchain_anthropic import ChatAnthropic
from langgraph.checkpoint.memory import MemorySaver
from toolbox_langchain import ToolboxClient
# TODO(developer): replace with correct package if needed
pip install langgraph langchain-google-vertexai
# pip install langchain-google-genai
# pip install langchain-anthropic
{{< /tab >}}
{{< tab header="LlamaIndex" lang="bash" >}}
# TODO(developer): replace with correct package if needed
pip install llama-index-llms-google-genai
# pip install llama-index-llms-anthropic
{{< /tab >}}
{{< /tabpane >}}
1. Create a new file named `hotel_agent.py` and copy the following
code to create an agent:
{{< tabpane persist=header >}}
{{< tab header="Core" lang="python" >}}
import asyncio
from google import genai
from google.genai.types import (
Content,
FunctionDeclaration,
GenerateContentConfig,
Part,
Tool,
)
from toolbox_core import ToolboxClient
prompt = """
You're a helpful hotel assistant. You handle hotel searching, booking and
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel id while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
update checkin or checkout dates if mentioned by the user.
Don't ask for confirmations from the user.
"""
queries = [
"Find hotels in Basel with Basel in it's name.",
"Please book the hotel Hilton Basel for me.",
"This is too expensive. Please cancel it.",
"Please book Hyatt Regency for me",
"My check in dates for my booking would be from April 10, 2024 to April 19, 2024.",
]
async def run_application():
async with ToolboxClient("http://127.0.0.1:5000") as toolbox_client:
# The toolbox_tools list contains Python callables (functions/methods) designed for LLM tool-use
# integration. While this example uses Google's genai client, these callables can be adapted for
# various function-calling or agent frameworks. For easier integration with supported frameworks
# (https://github.com/googleapis/mcp-toolbox-python-sdk/tree/main/packages), use the
# provided wrapper packages, which handle framework-specific boilerplate.
toolbox_tools = await toolbox_client.load_toolset("my-toolset")
genai_client = genai.Client(
vertexai=True, project="project-id", location="us-central1"
)
genai_tools = [
Tool(
function_declarations=[
FunctionDeclaration.from_callable_with_api_option(callable=tool)
]
)
for tool in toolbox_tools
]
history = []
for query in queries:
user_prompt_content = Content(
role="user",
parts=[Part.from_text(text=query)],
)
history.append(user_prompt_content)
response = genai_client.models.generate_content(
model="gemini-2.0-flash-001",
contents=history,
config=GenerateContentConfig(
system_instruction=prompt,
tools=genai_tools,
),
)
history.append(response.candidates[0].content)
function_response_parts = []
for function_call in response.function_calls:
fn_name = function_call.name
# The tools are sorted alphabetically
if fn_name == "search-hotels-by-name":
function_result = await toolbox_tools[3](**function_call.args)
elif fn_name == "search-hotels-by-location":
function_result = await toolbox_tools[2](**function_call.args)
elif fn_name == "book-hotel":
function_result = await toolbox_tools[0](**function_call.args)
elif fn_name == "update-hotel":
function_result = await toolbox_tools[4](**function_call.args)
elif fn_name == "cancel-hotel":
function_result = await toolbox_tools[1](**function_call.args)
else:
raise ValueError("Function name not present.")
function_response = {"result": function_result}
function_response_part = Part.from_function_response(
name=function_call.name,
response=function_response,
)
function_response_parts.append(function_response_part)
if function_response_parts:
tool_response_content = Content(role="tool", parts=function_response_parts)
history.append(tool_response_content)
response2 = genai_client.models.generate_content(
model="gemini-2.0-flash-001",
contents=history,
config=GenerateContentConfig(
tools=genai_tools,
),
)
final_model_response_content = response2.candidates[0].content
history.append(final_model_response_content)
print(response2.text)
asyncio.run(run_application())
{{< /tab >}}
{{< tab header="ADK" lang="python" >}}
from google.adk.agents import Agent
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from google.adk.artifacts.in_memory_artifact_service import InMemoryArtifactService
from google.genai import types
from toolbox_core import ToolboxSyncClient
import os
# TODO(developer): replace this with your Google API key
os.environ['GOOGLE_API_KEY'] = 'your-api-key'
with ToolboxSyncClient("http://127.0.0.1:5000") as toolbox_client:
prompt = """
You're a helpful hotel assistant. You handle hotel searching, booking and
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel ids while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel ids while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
update checkin or checkout dates if mentioned by the user.
Don't ask for confirmations from the user.
"""
root_agent = Agent(
model='gemini-2.0-flash-001',
name='hotel_agent',
description='A helpful AI assistant.',
instruction=prompt,
tools=toolbox_client.load_toolset("my-toolset"),
)
session_service = InMemorySessionService()
artifacts_service = InMemoryArtifactService()
session = session_service.create_session(
state={}, app_name='hotel_agent', user_id='123'
)
runner = Runner(
app_name='hotel_agent',
agent=root_agent,
artifact_service=artifacts_service,
session_service=session_service,
)
queries = [
"Find hotels in Basel with Basel in it's name.",
"Can you book the Hilton Basel for me?",
@@ -267,15 +471,64 @@ from Toolbox.
"My check in dates would be from April 10, 2024 to April 19, 2024.",
]
def main():
# TODO(developer): replace this with another model if needed
model = ChatVertexAI(model_name="gemini-1.5-pro")
# model = ChatGoogleGenerativeAI(model="gemini-1.5-pro")
# model = ChatAnthropic(model="claude-3-5-sonnet-20240620")
# Load the tools from the Toolbox server
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()
for query in queries:
content = types.Content(role='user', parts=[types.Part(text=query)])
events = runner.run(session_id=session.id,
user_id='123', new_message=content)
responses = (
part.text
for event in events
for part in event.content.parts
if part.text is not None
)
for text in responses:
print(text)
{{< /tab >}}
{{< tab header="LangChain" lang="python" >}}
import asyncio
from langgraph.prebuilt import create_react_agent
# TODO(developer): replace this with another import if needed
from langchain_google_vertexai import ChatVertexAI
# from langchain_google_genai import ChatGoogleGenerativeAI
# from langchain_anthropic import ChatAnthropic
from langgraph.checkpoint.memory import MemorySaver
from toolbox_langchain import ToolboxClient
prompt = """
You're a helpful hotel assistant. You handle hotel searching, booking and
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel ids while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
update checkin or checkout dates if mentioned by the user.
Don't ask for confirmations from the user.
"""
queries = [
"Find hotels in Basel with Basel in it's name.",
"Can you book the Hilton Basel for me?",
"Oh wait, this is too expensive. Please cancel it and book the Hyatt Regency instead.",
"My check in dates would be from April 10, 2024 to April 19, 2024.",
]
async def run_application():
# TODO(developer): replace this with another model if needed
model = ChatVertexAI(model_name="gemini-2.0-flash-001")
# model = ChatGoogleGenerativeAI(model="gemini-2.0-flash-001")
# model = ChatAnthropic(model="claude-3-5-sonnet-20240620")
# Load the tools from the Toolbox server
async with ToolboxClient("http://127.0.0.1:5000") as client:
tools = await client.aload_toolset()
agent = create_react_agent(model, tools, checkpointer=MemorySaver())
@@ -285,14 +538,94 @@ from Toolbox.
response = agent.invoke(inputs, stream_mode="values", config=config)
print(response["messages"][-1].content)
main()
```
asyncio.run(run_application())
{{< /tab >}}
{{< tab header="LlamaIndex" lang="python" >}}
import asyncio
import os
[langgraph-agent]:https://langchain-ai.github.io/langgraph/reference/prebuilt/#langgraph.prebuilt.chat_agent_executor.create_react_agent
[langchain-hotels]: https://langchain-ai.github.io/langgraph/tutorials/customer-support/customer-support/#hotels
from llama_index.core.agent.workflow import AgentWorkflow
from llama_index.core.workflow import Context
# TODO(developer): replace this with another import if needed
from llama_index.llms.google_genai import GoogleGenAI
# from llama_index.llms.anthropic import Anthropic
from toolbox_llamaindex import ToolboxClient
prompt = """
You're a helpful hotel assistant. You handle hotel searching, booking and
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel ids while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
update checkin or checkout dates if mentioned by the user.
Don't ask for confirmations from the user.
"""
queries = [
"Find hotels in Basel with Basel in it's name.",
"Can you book the Hilton Basel for me?",
"Oh wait, this is too expensive. Please cancel it and book the Hyatt Regency instead.",
"My check in dates would be from April 10, 2024 to April 19, 2024.",
]
async def run_application():
# TODO(developer): replace this with another model if needed
llm = GoogleGenAI(
model="gemini-2.0-flash-001",
vertexai_config={"project": "project-id", "location": "us-central1"},
)
# llm = GoogleGenAI(
# api_key=os.getenv("GOOGLE_API_KEY"),
# model="gemini-2.0-flash-001",
# )
# llm = Anthropic(
# model="claude-3-7-sonnet-latest",
# api_key=os.getenv("ANTHROPIC_API_KEY")
# )
# Load the tools from the Toolbox server
async with ToolboxClient("http://127.0.0.1:5000") as client:
tools = await client.aload_toolset()
agent = AgentWorkflow.from_tools_or_functions(
tools,
llm=llm,
system_prompt=prompt,
)
ctx = Context(agent)
for query in queries:
response = await agent.run(user_msg=query, ctx=ctx)
print(f"---- {query} ----")
print(str(response))
asyncio.run(run_application())
{{< /tab >}}
{{< /tabpane >}}
{{< tabpane text=true persist=header >}}
{{% tab header="Core" lang="en" %}}
To learn more about tool calling with Google GenAI, check out the
[Google GenAI Documentation](https://github.com/googleapis/python-genai?tab=readme-ov-file#manually-declare-and-invoke-a-function-for-function-calling).
{{% /tab %}}
{{% tab header="ADK" lang="en" %}}
To learn more about Agent Development Kit, check out the [ADK documentation.](https://google.github.io/adk-docs/)
{{% /tab %}}
{{% tab header="Langchain" lang="en" %}}
To learn more about Agents in LangChain, check out the [LangGraph Agent documentation.](https://langchain-ai.github.io/langgraph/reference/prebuilt/#langgraph.prebuilt.chat_agent_executor.create_react_agent)
{{% /tab %}}
{{% tab header="LlamaIndex" lang="en" %}}
To learn more about Agents in LlamaIndex, check out the
[LlamaIndex AgentWorkflow documentation.](https://docs.llamaindex.ai/en/stable/examples/agent/agent_workflow_basic/)
{{% /tab %}}
{{< /tabpane >}}
1. Run your agent, and observe the results:
```sh
python langgraph_hotel_agent.py
python hotel_agent.py
```

View File

@@ -0,0 +1,240 @@
---
title: "Quickstart (MCP)"
type: docs
weight: 3
description: >
How to get started running Toolbox locally with MCP Inspector.
---
## Overview
[Model Context Protocol](https://modelcontextprotocol.io) is an open protocol
that standardizes how applications provide context to LLMs. Check out this page
on how to [connect to Toolbox via MCP](../../how-to/connect_via_mcp.md).
## Step 1: Set up your database
In this section, we will create a database, insert some data that needs to be
access by our agent, and create a database user for Toolbox to connect with.
1. Connect to postgres using the `psql` command:
```bash
psql -h 127.0.0.1 -U postgres
```
Here, `postgres` denotes the default postgres superuser.
1. Create a new database and a new user:
{{< notice tip >}}
For a real application, it's best to follow the principle of least permission
and only grant the privileges your application needs.
{{< /notice >}}
```sql
CREATE USER toolbox_user WITH PASSWORD 'my-password';
CREATE DATABASE toolbox_db;
GRANT ALL PRIVILEGES ON DATABASE toolbox_db TO toolbox_user;
ALTER DATABASE toolbox_db OWNER TO toolbox_user;
```
1. End the database session:
```bash
\q
```
1. Connect to your database with your new user:
```bash
psql -h 127.0.0.1 -U toolbox_user -d toolbox_db
```
1. Create a table using the following command:
```sql
CREATE TABLE hotels(
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR NOT NULL,
location VARCHAR NOT NULL,
price_tier VARCHAR NOT NULL,
checkin_date DATE NOT NULL,
checkout_date DATE NOT NULL,
booked BIT NOT NULL
);
```
1. Insert data into the table.
```sql
INSERT INTO hotels(id, name, location, price_tier, checkin_date, checkout_date, booked)
VALUES
(1, 'Hilton Basel', 'Basel', 'Luxury', '2024-04-22', '2024-04-20', B'0'),
(2, 'Marriott Zurich', 'Zurich', 'Upscale', '2024-04-14', '2024-04-21', B'0'),
(3, 'Hyatt Regency Basel', 'Basel', 'Upper Upscale', '2024-04-02', '2024-04-20', B'0'),
(4, 'Radisson Blu Lucerne', 'Lucerne', 'Midscale', '2024-04-24', '2024-04-05', B'0'),
(5, 'Best Western Bern', 'Bern', 'Upper Midscale', '2024-04-23', '2024-04-01', B'0'),
(6, 'InterContinental Geneva', 'Geneva', 'Luxury', '2024-04-23', '2024-04-28', B'0'),
(7, 'Sheraton Zurich', 'Zurich', 'Upper Upscale', '2024-04-27', '2024-04-02', B'0'),
(8, 'Holiday Inn Basel', 'Basel', 'Upper Midscale', '2024-04-24', '2024-04-09', B'0'),
(9, 'Courtyard Zurich', 'Zurich', 'Upscale', '2024-04-03', '2024-04-13', B'0'),
(10, 'Comfort Inn Bern', 'Bern', 'Midscale', '2024-04-04', '2024-04-16', B'0');
```
1. End the database session:
```bash
\q
```
## Step 2: Install and configure Toolbox
In this section, we will download Toolbox, configure our tools in a
`tools.yaml`, and then run the Toolbox server.
1. Download the latest version of Toolbox as a binary:
{{< notice tip >}}
Select the
[correct binary](https://github.com/googleapis/genai-toolbox/releases)
corresponding to your OS and CPU architecture.
{{< /notice >}}
<!-- {x-release-please-start-version} -->
```bash
export OS="linux/amd64" # one of linux/amd64, darwin/arm64, darwin/amd64, or windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/$OS/toolbox
```
<!-- {x-release-please-end} -->
1. Make the binary executable:
```bash
chmod +x toolbox
```
1. Write the following into a `tools.yaml` file. Be sure to update any fields
such as `user`, `password`, or `database` that you may have customized in the
previous step.
{{< notice tip >}}
In practice, use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
```yaml
sources:
my-pg-source:
kind: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
tools:
search-hotels-by-name:
kind: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
- name: name
type: string
description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
search-hotels-by-location:
kind: postgres-sql
source: my-pg-source
description: Search for hotels based on location.
parameters:
- name: location
type: string
description: The location of the hotel.
statement: SELECT * FROM hotels WHERE location ILIKE '%' || $1 || '%';
book-hotel:
kind: postgres-sql
source: my-pg-source
description: >-
Book a hotel by its ID. If the hotel is successfully booked, returns a NULL, raises an error if not.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to book.
statement: UPDATE hotels SET booked = B'1' WHERE id = $1;
update-hotel:
kind: postgres-sql
source: my-pg-source
description: >-
Update a hotel's check-in and check-out dates by its ID. Returns a message
indicating whether the hotel was successfully updated or not.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to update.
- name: checkin_date
type: string
description: The new check-in date of the hotel.
- name: checkout_date
type: string
description: The new check-out date of the hotel.
statement: >-
UPDATE hotels SET checkin_date = CAST($2 as date), checkout_date = CAST($3
as date) WHERE id = $1;
cancel-hotel:
kind: postgres-sql
source: my-pg-source
description: Cancel a hotel by its ID.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to cancel.
statement: UPDATE hotels SET booked = B'0' WHERE id = $1;
toolsets:
my-toolset:
- search-hotels-by-name
- search-hotels-by-location
- book-hotel
- update-hotel
- cancel-hotel
```
For more info on tools, check out the [Tools](../../resources/tools/_index.md) section.
1. Run the Toolbox server, pointing to the `tools.yaml` file created earlier:
```bash
./toolbox --tools-file "tools.yaml"
```
## Step 3: Connect to MCP Inspector
1. Run the MCP Inspector:
```bash
npx @modelcontextprotocol/inspector
```
1. Type `y` when it asks to install the inspector package.
1. It should show the following when the MCP Inspector is up and running:
```bash
🔍 MCP Inspector is up and running at http://127.0.0.1:5173 🚀
```
1. Open the above link in your browser.
1. For `Transport Type`, select `SSE`.
1. For `URL`, type in `http://127.0.0.1:5000/mcp/sse`.
1. Click Connect.
![inspector](./inspector.png)
1. Select `List Tools`, you will see a list of tools configured in `tools.yaml`.
![inspector_tools](./inspector_tools.png)
1. Test out your tools here!

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,9 @@
---
title: "Connect from your IDE"
type: docs
weight: 1
description: >
List of guides detailing how to connect your AI tools (IDEs) to Toolbox using MCP.
aliases:
- /how-to/connect_tools_using_mcp
---

View File

@@ -0,0 +1,13 @@
---
title: "AlloyDB using MCP"
type: docs
weight: 2
description: >
Connect your IDE to AlloyDB using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/alloydb/docs/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/alloydb/docs/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,13 @@
---
title: "BigQuery using MCP"
type: docs
weight: 2
description: >
Connect your IDE to BigQuery using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/bigquery/docs/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/bigquery/docs/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,13 @@
---
title: "Cloud SQL for SQL Server using MCP"
type: docs
weight: 2
description: >
Connect your IDE to Cloud SQL for SQL Server using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/sql/docs/sqlserver/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/sql/docs/sqlserver/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,13 @@
---
title: "Cloud SQL for MySQL using MCP"
type: docs
weight: 2
description: >
Connect your IDE to Cloud SQL for MySQL using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/sql/docs/mysql/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/sql/docs/mysql/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,13 @@
---
title: "Cloud SQL for Postgres using MCP"
type: docs
weight: 2
description: >
Connect your IDE to Cloud SQL for Postgres using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/sql/docs/postgres/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/sql/docs/postgres/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,252 @@
---
title: "PostgreSQL using MCP"
type: docs
weight: 2
description: >
Connect your IDE to PostgreSQL using Toolbox.
---
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) is an open protocol for connecting Large Language Models (LLMs) to data sources like Postgres. This guide covers how to use [MCP Toolbox for Databases][toolbox] to expose your developer assistant tools to a Postgres instance:
* [Cursor][cursor]
* [Windsurf][windsurf] (Codium)
* [Visual Studio Code ][vscode] (Copilot)
* [Cline][cline] (VS Code extension)
* [Claude desktop][claudedesktop]
* [Claude code][claudecode]
[toolbox]: https://github.com/googleapis/genai-toolbox
[cursor]: #configure-your-mcp-client
[windsurf]: #configure-your-mcp-client
[vscode]: #configure-your-mcp-client
[cline]: #configure-your-mcp-client
[claudedesktop]: #configure-your-mcp-client
[claudecode]: #configure-your-mcp-client
{{< notice tip >}}
This guide can be used with [AlloyDB Omni](https://cloud.google.com/alloydb/omni/current/docs/overview).
{{< /notice >}}
## Set up the database
1. Create or select a PostgreSQL instance.
* [Install PostgreSQL locally](https://www.postgresql.org/download/)
* [Install AlloyDB Omni](https://cloud.google.com/alloydb/omni/current/docs/quickstart)
1. Create or reuse [a database user](https://cloud.google.com/alloydb/omni/current/docs/database-users/manage-users) and have the username and password ready.
## Install MCP Toolbox
1. Download the latest version of Toolbox as a binary. Select the [correct binary](https://github.com/googleapis/genai-toolbox/releases) corresponding to your OS and CPU architecture. You are required to use Toolbox version V0.6.0+:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/windows/amd64/toolbox
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->
1. Make the binary executable:
```bash
chmod +x toolbox
```
1. Verify the installation:
```bash
./toolbox --version
```
## Configure your MCP Client
{{< tabpane text=true >}}
{{% tab header="Claude code" lang="en" %}}
1. Install [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview).
1. Create a `.mcp.json` file in your project root if it doesn't exist.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
1. Restart Claude code to apply the new configuration.
{{% /tab %}}
{{% tab header="Claude desktop" lang="en" %}}
1. Open [Claude desktop](https://claude.ai/download) and navigate to Settings.
1. Under the Developer tab, tap Edit Config to open the configuration file.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
1. Restart Claude desktop.
1. From the new chat screen, you should see a hammer (MCP) icon appear with the new MCP server available.
{{% /tab %}}
{{% tab header="Cline" lang="en" %}}
1. Open the [Cline](https://github.com/cline/cline) extension in VS Code and tap the **MCP Servers** icon.
1. Tap Configure MCP Servers to open the configuration file.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
1. You should see a green active status after the server is successfully connected.
{{% /tab %}}
{{% tab header="Cursor" lang="en" %}}
1. Create a `.cursor` directory in your project root if it doesn't exist.
1. Create a `.cursor/mcp.json` file if it doesn't exist and open it.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
1. [Cursor](https://www.cursor.com/) and navigate to **Settings > Cursor Settings > MCP**. You should see a green active status after the server is successfully connected.
{{% /tab %}}
{{% tab header="Visual Studio Code (Copilot)" lang="en" %}}
1. Open [VS Code](https://code.visualstudio.com/docs/copilot/overview) and create a `.vscode` directory in your project root if it doesn't exist.
1. Create a `.vscode/mcp.json` file if it doesn't exist and open it.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
{{% /tab %}}
{{% tab header="Windsurf" lang="en" %}}
1. Open [Windsurf](https://docs.codeium.com/windsurf) and navigate to the Cascade assistant.
1. Tap on the hammer (MCP) icon, then Configure to open the configuration file.
1. Add the following configuration, replace the environment variables with your values, and save:
```json
{
"mcpServers": {
"postgres": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","postgres","--stdio"],
"env": {
"POSTGRES_HOST": "",
"POSTGRES_PORT": "",
"POSTGRES_DATABASE": "",
"POSTGRES_USER": "",
"POSTGRES_PASSWORD": ""
}
}
}
}
```
{{% /tab %}}
{{< /tabpane >}}
## Use Tools
Your AI tool is now connected to Postgres using MCP. Try asking your AI assistant to list tables, create a table, or define and execute other SQL statements.
The following tools are available to the LLM:
1. **list_tables**: lists tables and descriptions
1. **execute_sql**: execute any SQL statement
{{< notice note >}}
Prebuilt tools are pre-1.0, so expect some tool changes between versions. LLMs will adapt to the tools available, so this shouldn't affect most users.
{{< /notice >}}

View File

@@ -0,0 +1,13 @@
---
title: "Spanner using MCP"
type: docs
weight: 2
description: >
Connect your IDE to Spanner using Toolbox.
---
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/spanner/docs/pre-built-tools-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/spanner/docs/pre-built-tools-with-mcp-toolbox"/>
</head>
</html>

View File

@@ -0,0 +1,124 @@
---
title: "Connect via MCP Client"
type: docs
weight: 1
description: >
How to connect to Toolbox from a MCP Client.
---
## Toolbox SDKs vs Model Context Protocol (MCP)
Toolbox now supports connections via both the native Toolbox SDKs and via [Model Context Protocol (MCP)](https://modelcontextprotocol.io/). However, Toolbox has several features which are not supported in the MCP specification (such as Authenticated Parameters and Authorized invocation).
We recommend using the native SDKs over MCP clients to leverage these features. The native SDKs can be combined with MCP clients in many cases.
### Protocol Versions
Toolbox currently supports the following versions of MCP specification:
* [2024-11-05](https://spec.modelcontextprotocol.io/specification/2024-11-05/)
### Features Not Supported by MCP
Toolbox has several features that are not yet supported in the MCP specification:
* **AuthZ/AuthN:** There are no auth implementation in the `2024-11-05` specification. This includes:
* [Authenticated Parameters](../resources/tools/_index.md#authenticated-parameters)
* [Authorized Invocations](../resources/tools/_index.md#authorized-invocations)
* **Notifications:** Currently, editing Toolbox Tools requires a server restart. Clients should reload tools on disconnect to get the latest version.
## Connecting to Toolbox with an MCP client
### Before you begin
{{< notice note >}}
MCP is only compatible with Toolbox version 0.3.0 and above.
{{< /notice >}}
1. [Install](../getting-started/introduction/_index.md#installing-the-server) Toolbox version 0.3.0+.
1. Make sure you've set up and initialized your database.
1. [Set up](../getting-started/configure.md) your `tools.yaml` file.
### Connecting via Standard Input/Output (stdio)
Toolbox supports the
[stdio](https://modelcontextprotocol.io/docs/concepts/transports#standard-input%2Foutput-stdio)
transport protocol. Users that wish to use stdio will have to include the
`--stdio` flag when running Toolbox.
```bash
./toolbox --stdio
```
When running with stdio, Toolbox will listen via stdio instead of acting as a
remote HTTP server. Logs will be set to the `warn` level by default. `debug` and `info` logs are not
supported with stdio.
### Connecting via HTTP
Toolbox supports the HTTP transport protocol with and without SSE.
{{< tabpane text=true >}} {{% tab header="HTTP with SSE" lang="en" %}}
Add the following configuration to your MCP client configuration:
```bash
{
"mcpServers": {
"toolbox": {
"type": "sse",
"url": "http://127.0.0.1:5000/mcp/sse",
}
}
}
```
If you would like to connect to a specific toolset, replace `url` with `"http://127.0.0.1:5000/mcp/{toolset_name}/sse"`.
{{% /tab %}} {{% tab header="HTTP POST" lang="en" %}}
Connect to Toolbox HTTP POST via `http://127.0.0.1:5000/mcp`.
If you would like to connect to a specific toolset, connect via `http://127.0.0.1:5000/mcp/{toolset_name}`.
{{% /tab %}} {{< /tabpane >}}
### Using the MCP Inspector with Toolbox
Use MCP [Inspector](https://github.com/modelcontextprotocol/inspector) for
testing and debugging Toolbox server.
{{< tabpane text=true >}}
{{% tab header="STDIO" lang="en" %}}
1. Run Inspector with Toolbox as a subprocess:
```bash
npx @modelcontextprotocol/inspector ./toolbox --stdio
```
1. For `Transport Type` dropdown menu, select `STDIO`.
1. In `Command`, make sure that it is set to :`./toolbox` (or the correct path to where the Toolbox binary is installed).
1. In `Arguments`, make sure that it's filled with `--stdio`.
1. Click the `Connect` button. It might take awhile to spin up Toolbox. Voila!
You should be able to inspect your toolbox tools!
{{% /tab %}}
{{% tab header="HTTP with SSE" lang="en" %}}
1. [Run Toolbox](../getting-started/introduction/_index.md#running-the-server).
1. In a separate terminal, run Inspector directly through `npx`:
```bash
npx @modelcontextprotocol/inspector
```
1. For `Transport Type` dropdown menu, select `SSE`.
1. For `URL`, type in `http://127.0.0.1:5000/mcp/sse` to use all tool or
`http//127.0.0.1:5000/mcp/{toolset_name}/sse` to use a specific toolset.
1. Click the `Connect` button. Voila! You should be able to inspect your toolbox
tools!
{{% /tab %}} {{< /tabpane >}}
### Tested Clients
| Client | SSE Works | MCP Config Docs |
|--------|--------|--------|
| Claude Desktop | ✅ | https://modelcontextprotocol.io/quickstart/user#1-download-claude-for-desktop |
| MCP Inspector | ✅ | https://github.com/modelcontextprotocol/inspector |
| Cursor | ✅ | https://docs.cursor.com/context/model-context-protocol |
| Windsurf | ✅ | https://docs.windsurf.com/windsurf/mcp |
| VS Code (Insiders) | ✅ | https://code.visualstudio.com/docs/copilot/chat/mcp-servers |

View File

@@ -1,9 +1,9 @@
---
title: "Deploy using Docker Compose"
type: docs
weight: 3
weight: 4
description: >
How to deploy Toolbox using Docker Compose.
How to deploy Toolbox using Docker Compose.
---
<!-- Contributor: Sujith R Pillai <sujithrpillai@gmail.com> -->
@@ -35,7 +35,7 @@ services:
- "5000:5000"
volumes:
- ./config:/config
command: [ "toolbox", "--tools_file", "/config/tools.yaml", "--address", "0.0.0.0"]
command: [ "toolbox", "--tools-file", "/config/tools.yaml", "--address", "0.0.0.0"]
depends_on:
db:
condition: service_healthy
@@ -75,18 +75,18 @@ networks:
```
{{< notice tip >}}
{{< notice tip >}}
You can use this setup quickly set up Toolbox + Postgres to follow along in our
[Quickstart](../getting-started/local_quickstart.md)
{{< /notice >}}
{{< /notice >}}
## Connecting with Toolbox Client SDL
## Connecting with Toolbox Client SDK
Next, we will use Toolbox with the Client SDKs:
Next, we will use Toolbox with the Client SDKs:
1. The url for the Toolbox server running using docker-compose will be:
@@ -96,11 +96,19 @@ Next, we will use Toolbox with the Client SDKs:
1. Import and initialize the client with the URL:
```bash
from toolbox_langchain_sdk import ToolboxClient
{{< tabpane persist=header >}}
{{< tab header="LangChain" lang="Python" >}}
from toolbox_langchain import ToolboxClient
# Replace with the cloud run service URL generated above
toolbox = ToolboxClient("$YOUR_URL")
```
# Replace with the cloud run service URL generated above
async with ToolboxClient("http://$YOUR_URL") as toolbox:
{{< /tab >}}
{{< tab header="Llamaindex" lang="Python" >}}
from toolbox_llamaindex import ToolboxClient
# Replace with the cloud run service URL generated above
async with ToolboxClient("http://$YOUR_URL") as toolbox:
{{< /tab >}}
{{< /tabpane >}}

View File

@@ -1,7 +1,7 @@
---
title: "Deploy to Kubernetes"
type: docs
weight: 2
weight: 4
description: >
How to set up and configure Toolbox to deploy on Kubernetes with Google Kubernetes Engine (GKE).
---
@@ -40,7 +40,7 @@ description: >
```bash
kubectl version --client
```
1. If needed, install `kubectl` component using the Google Cloud CLI:
@@ -76,7 +76,7 @@ description: >
- [CloudSQL IAM Identity](../resources/sources/cloud-sql-pg.md#iam-permissions)
- [Spanner IAM Identity](../resources/sources/spanner.md#iam-permissions)
## Deploy to Kubernetes
## Deploy to Kubernetes
1. Set environment variables:
@@ -94,7 +94,7 @@ description: >
```bash
gcloud container clusters create-auto $CLUSTER_NAME \
--location=us-central1
--location=us-central1
```
1. Get authentication credentials to interact with the cluster. This also
@@ -172,7 +172,7 @@ description: >
containers:
- name: toolbox
# Recommend to use the latest version of toolbox
image: us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:0.1.0
image: us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest
args: ["--address", "0.0.0.0"]
ports:
- containerPort: 5000
@@ -277,4 +277,4 @@ description: >
```bash
gcloud container clusters delete $CLUSTER_NAME \
--location=$REGION
```
```

View File

@@ -1,7 +1,7 @@
---
title: "Deploy to Cloud Run"
type: docs
weight: 1
weight: 3
description: >
How to set up and configure Toolbox to run on Cloud Run.
---
@@ -33,7 +33,7 @@ description: >
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
iam.googleapis.com \
secretmanager.googleapis.com
secretmanager.googleapis.com
```
@@ -48,18 +48,10 @@ description: >
- Cloud Run Developer (roles/run.developer)
- Service Account User role (roles/iam.serviceAccountUser)
{{< notice note >}}
If you are under a domain restriction organization policy
[restricting](https://cloud.google.com/run/docs/authenticating/public#domain-restricted-sharing)
unauthenticated invocations for your project, you will need to access your
deployed service as described under [Testing private
services](https://cloud.google.com/run/docs/triggering/https-request#testing-private).
{{< /notice >}}
{{< notice note >}}
{{< notice note >}}
If you are using sources that require VPC-access (such as
AlloyDB or Cloud SQL over private IP), make sure your Cloud Run service and the
database are in the same VPC network.
database are in the same VPC network.
{{< /notice >}}
@@ -119,7 +111,7 @@ section.
--service-account toolbox-identity \
--region us-central1 \
--set-secrets "/app/tools.yaml=tools:latest" \
--args="--tools_file=/app/tools.yaml","--address=0.0.0.0","--port=8080"
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080"
# --allow-unauthenticated # https://cloud.google.com/run/docs/authenticating/public#gcloud
```
@@ -131,34 +123,28 @@ section.
--service-account toolbox-identity \
--region us-central1 \
--set-secrets "/app/tools.yaml=tools:latest" \
--args="--tools_file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \
# TODO(dev): update the following to match your VPC if necessary
--network default \
--subnet default
# --allow-unauthenticated # https://cloud.google.com/run/docs/authenticating/public#gcloud
```
## Connecting to Cloud Run
Next, we will use `gcloud` to authenticate requests to our Cloud Run instance:
1. Run the `run services proxy` to proxy connections to Cloud Run:
```bash
gcloud run services proxy toolbox --port=8080 --region=us-central1
```
If you are prompted to install the proxy, reply *Y* to install.
1. Finally, use `curl` to verify the endpoint works:
```bash
curl http://127.0.0.1:8080
```
## Connecting with Toolbox Client SDK
Next, we will use Toolbox with client SDK:
You can connect to Toolbox Cloud Run instances directly through the SDK
1. [Set up `Cloud Run Invoker` role access](https://cloud.google.com/run/docs/securing/managing-access#service-add-principals) to your Cloud Run service.
1. Set up [Application Default
Credentials](https://cloud.google.com/docs/authentication/set-up-adc-local-dev-environment)
for the principle you set up the `Cloud Run Invoker` role access to.
{{< notice tip >}}
If you're working in some other environment than local, set up [environment
specific Default
Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc).
{{< /notice >}}
1. Run the following to retrieve a non-deterministic URL for the cloud run service:
@@ -168,9 +154,16 @@ Next, we will use Toolbox with client SDK:
1. Import and initialize the toolbox client with the URL retrieved above:
```bash
from toolbox_langchain_sdk import ToolboxClient
```python
from toolbox_core import ToolboxClient, auth_methods
# Replace with the cloud run service URL generated above
toolbox = ToolboxClient("http://$YOUR_URL")
auth_token_provider = auth_methods.aget_google_id_token # can also use sync method
# Replace with the Cloud Run service URL generated in the previous step.
async with ToolboxClient(
URL,
client_headers={"Authorization": auth_token_provider},
) as toolbox:
```
Now, you can use this client to connect to the deployed Cloud Run instance!

View File

@@ -1,13 +1,13 @@
---
title: "Export Telemetry"
type: docs
weight: 4
weight: 5
description: >
How to set up and configure Toolbox to use the Otel Collector.
How to set up and configure Toolbox to use the Otel Collector.
---
## About
## About
The [OpenTelemetry Collector][about-collector] offers a vendor-agnostic
implementation of how to receive, process and export telemetry data. It removes
@@ -56,7 +56,7 @@ service:
exporters: ["googlecloud"]
```
## Running the Connector
## Running the Collector
There are a couple of steps to run and use a Collector.

View File

@@ -2,5 +2,6 @@
title: "Resources"
type: docs
weight: 4
description: List of reference documentation for resources in Toolbox.
description: >
List of reference documentation for resources in Toolbox.
---

View File

@@ -7,11 +7,11 @@ description: >
---
AuthServices represent services that handle authentication and authorization. It
can primarily be used by [Tools](../tools) in two different ways:
can primarily be used by [Tools](../tools) in two different ways:
- [**Authorized Invocation**][auth-invoke] is when a tool
to be validate by the auth service before the call can be invoked. Toolbox
will rejected an calls that fail to validate or have an invalid token.
is validated by the auth service before the call can be invoked. Toolbox
will reject any calls that fail to validate or have an invalid token.
- [**Authenticated Parameters**][auth-params] replace the value of a parameter
with a field from an [OIDC][openid-claims] claim. Toolbox will automatically
resolve the ID token provided by the client and replace the parameter in the
@@ -35,19 +35,24 @@ If you are accessing Toolbox with multiple applications, each
authServices:
my_auth_app_1:
kind: google
clientId: YOUR_CLIENT_ID_1
clientId: ${YOUR_CLIENT_ID_1}
my_auth_app_2:
kind: google
clientId: YOUR_CLIENT_ID_2
clientId: ${YOUR_CLIENT_ID_2}
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
After you've configured an `authService` you'll, need to reference it in the
configuration for each tool that should use it:
- **Authorized Invocations** for authorizing a tool call, [use the
`requiredAuth` field in a tool config][auth-invoke]
- **Authenticated Parameters** for using the value from a ODIC claim, [use the
`authServices` field in a parameter config][auth-params]
- **Authorized Invocations** for authorizing a tool call, [use the
`authRequired` field in a tool config][auth-invoke]
- **Authenticated Parameters** for using the value from a OIDC claim, [use the
`authServices` field in a parameter config][auth-params]
## Specifying ID Tokens from Clients
@@ -55,37 +60,123 @@ After [configuring](#example) your `authServices` section, use a Toolbox SDK to
add your ID tokens to the header of a Tool invocation request. When specifying a
token you will provide a function (that returns an id). This function is called
when the tool is invoked. This allows you to cache and refresh the ID token as
needed.
needed.
The primary method for providing these getters is via the `auth_token_getters` parameter when loading tools, or the `add_auth_token_getter`() / `add_auth_token_getters()` methods on a loaded tool object.
### Specifying tokens during load
{{< tabpane >}}
{{< tab header="LangChain" lang="Python" >}}
{{< tabpane persist=header >}}
{{< tab header="Core" lang="Python" >}}
import asyncio
from toolbox_core import ToolboxClient
async def get_auth_token():
# ... Logic to retrieve ID token (e.g., from local storage, OAuth flow)
# This example just returns a placeholder. Replace with your actual token retrieval.
return "YOUR_ID_TOKEN" # Placeholder
# for a single tool use:
authorized_tool = await toolbox.aload_tool("my-tool-name", auth_tokens={"my_auth": get_auth_token})
async def main():
async with ToolboxClient("http://127.0.0.1:5000") as toolbox:
auth_tool = await toolbox.load_tool(
"get_sensitive_data",
auth_token_getters={"my_auth_app_1": get_auth_token}
)
result = await auth_tool(param="value")
print(result)
# for a toolset use:
authorized_tools = await toolbox.aload_toolset("my-toolset-name", auth_tokens={"my_auth": get_auth_token})
if __name__ == "__main__":
asyncio.run(main())
{{< /tab >}}
{{< /tabpane >}}
{{< tab header="LangChain" lang="Python" >}}
import asyncio
from toolbox_langchain import ToolboxClient
async def get_auth_token():
# ... Logic to retrieve ID token (e.g., from local storage, OAuth flow)
# This example just returns a placeholder. Replace with your actual token retrieval.
return "YOUR_ID_TOKEN" # Placeholder
async def main():
toolbox = ToolboxClient("http://127.0.0.1:5000")
auth_tool = await toolbox.aload_tool(
"get_sensitive_data",
auth_token_getters={"my_auth_app_1": get_auth_token}
)
result = await auth_tool.ainvoke({"param": "value"})
print(result)
if __name__ == "__main__":
asyncio.run(main())
{{< /tab >}}
{{< tab header="Llamaindex" lang="Python" >}}
import asyncio
from toolbox_llamaindex import ToolboxClient
async def get_auth_token():
# ... Logic to retrieve ID token (e.g., from local storage, OAuth flow)
# This example just returns a placeholder. Replace with your actual token retrieval.
return "YOUR_ID_TOKEN" # Placeholder
async def main():
toolbox = ToolboxClient("http://127.0.0.1:5000")
auth_tool = await toolbox.aload_tool(
"get_sensitive_data",
auth_token_getters={"my_auth_app_1": get_auth_token}
)
# result = await auth_tool.acall(param="value")
# print(result.content)
if __name__ == "__main__":
asyncio.run(main()){{< /tab >}}
{{< /tabpane >}}
### Specifying tokens for existing tools
{{< tabpane >}}
{{< tab header="LangChain" lang="Python" >}}
tools = await toolbox.aload_toolset()
{{< tabpane persist=header >}}
{{< tab header="Core" lang="Python" >}}
tools = await toolbox.load_toolset()
# for a single token
auth_tools = [tool.add_auth_token("my_auth", get_auth_token) for tool in tools]
authorized_tool = tools[0].add_auth_token_getter("my_auth", get_auth_token)
# OR, if multiple tokens are needed
authorized_tool = tools[0].add_auth_tokens({
authorized_tool = tools[0].add_auth_token_getters({
"my_auth1": get_auth1_token,
"my_auth2": get_auth2_token,
})
})
{{< /tab >}}
{{< tab header="LangChain" lang="Python" >}}
tools = toolbox.load_toolset()
# for a single token
authorized_tool = tools[0].add_auth_token_getter("my_auth", get_auth_token)
# OR, if multiple tokens are needed
authorized_tool = tools[0].add_auth_token_getters({
"my_auth1": get_auth1_token,
"my_auth2": get_auth2_token,
})
{{< /tab >}}
{{< tab header="Llamaindex" lang="Python" >}}
tools = toolbox.load_toolset()
# for a single token
authorized_tool = tools[0].add_auth_token_getter("my_auth", get_auth_token)
# OR, if multiple tokens are needed
authorized_tool = tools[0].add_auth_token_getters({
"my_auth1": get_auth1_token,
"my_auth2": get_auth2_token,
})
{{< /tab >}}
{{< /tabpane >}}

View File

@@ -43,9 +43,14 @@ id-token][provided-claims] can be used for the parameter.
authServices:
my-google-auth:
kind: google
clientId: YOUR_GOOGLE_CLIENT_ID
clientId: ${YOUR_GOOGLE_CLIENT_ID}
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |

View File

@@ -11,6 +11,11 @@ Sources as a map in the `sources` section of your `tools.yaml` file. Typically,
a source configuration will contain any information needed to connect with and
interact with the database.
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
```yaml
sources:
my-cloud-sql-source:
@@ -19,11 +24,11 @@ sources:
region: us-central1
instance: my-instance-name
database: my_db
user: my-user
password: my-password
user: ${USER_NAME}
password: ${PASSWORD}
```
In implementation, each source is a different connection pool or client that used
to connect to the database and execute the tool.
to connect to the database and execute the tool.
## Available Sources
## Available Sources

View File

@@ -24,7 +24,6 @@ cluster][alloydb-free-trial].
## Requirements
### IAM Permissions
By default, AlloyDB for PostgreSQL source uses the [AlloyDB Go
@@ -46,24 +45,47 @@ permissions):
### Networking
AlloyDB supports connecting over both from external networks via the internet
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the AlloyDB page
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the AlloyDB page
[Connection overview][conn-overview].
You can configure the `ipType` parameter in your source configuration to
You can configure the `ipType` parameter in your source configuration to
`public` or `private` to match your cluster's configuration. Regardless of which
you choose, all connections use IAM-based authorization and are encrypted with
mTLS.
mTLS.
[private-ip]: https://cloud.google.com/alloydb/docs/private-ip
[public-ip]: https://cloud.google.com/alloydb/docs/connect-public-ip
[conn-overview]: https://cloud.google.com/alloydb/docs/connection-overview
### Database User
### Authentication
Currently, this source only uses standard authentication. You will need to [create
a PostgreSQL user][alloydb-users] to login to the database with.
This source supports both password-based authentication and IAM
authentication (using your [Application Default Credentials][adc]).
#### Standard Authentication
To connect using user/password, [create
a PostgreSQL user][alloydb-users] and input your credentials in the `user` and
`password` fields.
```yaml
user: ${USER_NAME}
password: ${PASSWORD}
```
#### IAM Authentication
To connect using IAM authentication:
1. Prepare your database instance and user following this [guide][iam-guide].
2. You could choose one of the two ways to log in:
- Specify your IAM email as the `user`.
- Leave your `user` field blank. Toolbox
will fetch the [ADC][adc] automatically and log in using the email associated with it.
3. Leave the `password` field blank.
[iam-guide]: https://cloud.google.com/alloydb/docs/database-users/manage-iam-auth
[alloydb-users]: https://cloud.google.com/alloydb/docs/database-users/about
## Example
@@ -71,27 +93,32 @@ a PostgreSQL user][alloydb-users] to login to the database with.
```yaml
sources:
my-alloydb-pg-source:
kind: "alloydb-postgres"
project: "my-project-id"
region: "us-central1"
cluster: "my-cluster"
instance: "my-instance"
database: "my_db"
user: "my-user"
password: "my-password"
kind: alloydb-postgres
project: my-project-id
region: us-central1
cluster: my-cluster
instance: my-instance
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
# ipType: "public"
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|-------------------------------------------------------------------------------------------|
| kind | string | true | Must be "alloydb-postgres". |
| project | string | true | Id of the GCP project that the cluster was created in (e.g. "my-project-id"). |
| region | string | true | Name of the GCP region that the cluster was created in (e.g. "us-central1"). |
| cluster | string | true | Name of the AlloyDB cluster (e.g. "my-cluster"). |
| instance | string | true | Name of the AlloyDB instance within the cluser (e.g. "my-instance"). |
| database | string | true | Name of the Postgres database to connect to (e.g. "my_db"). |
| user | string | true | Name of the Postgres user to connect as (e.g. "my-pg-user"). |
| password | string | true | Password of the Postgres user (e.g. "my-password"). |
| ipType | string | false | IP Type of the AlloyDB instance; must be one of `public` or `private`. Default: `public`. |
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|--------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "alloydb-postgres". |
| project | string | true | Id of the GCP project that the cluster was created in (e.g. "my-project-id"). |
| region | string | true | Name of the GCP region that the cluster was created in (e.g. "us-central1"). |
| cluster | string | true | Name of the AlloyDB cluster (e.g. "my-cluster"). |
| instance | string | true | Name of the AlloyDB instance within the cluster (e.g. "my-instance"). |
| database | string | true | Name of the Postgres database to connect to (e.g. "my_db"). |
| user | string | false | Name of the Postgres user to connect as (e.g. "my-pg-user"). Defaults to IAM auth using [ADC][adc] email if unspecified. |
| password | string | false | Password of the Postgres user (e.g. "my-password"). Defaults to attempting IAM authentication if unspecified. |
| ipType | string | false | IP Type of the AlloyDB instance; must be one of `public` or `private`. Default: `public`. |

View File

@@ -0,0 +1,73 @@
---
title: "BigQuery"
type: docs
weight: 1
description: >
BigQuery is Google Cloud's fully managed, petabyte-scale, and cost-effective
analytics data warehouse that lets you run analytics over vast amounts of
data in near real time. With BigQuery, there's no infrastructure to set
up or manage, letting you focus on finding meaningful insights using
GoogleSQL and taking advantage of flexible pricing models across on-demand
and flat-rate options.
---
# BigQuery Source
[BigQuery][bigquery-docs] is Google Cloud's fully managed, petabyte-scale,
and cost-effective analytics data warehouse that lets you run analytics
over vast amounts of data in near real time. With BigQuery, there's no
infrastructure to set up or manage, letting you focus on finding meaningful
insights using GoogleSQL and taking advantage of flexible pricing models
across on-demand and flat-rate options.
If you are new to BigQuery, you can try to
[load and query data with the bq tool][bigquery-quickstart-cli].
BigQuery uses [GoogleSQL][bigquery-googlesql] for querying data. GoogleSQL
is an ANSI-compliant structured query language (SQL) that is also implemented
for other Google Cloud services. SQL queries are handled by cluster nodes
in the same way as NoSQL data requests. Therefore, the same best practices
apply when creating SQL queries to run against your BigQuery data, such as
avoiding full table scans or complex filters.
[bigquery-docs]: https://cloud.google.com/bigquery/docs
[bigquery-quickstart-cli]: https://cloud.google.com/bigquery/docs/quickstarts/quickstart-command-line
[bigquery-googlesql]: https://cloud.google.com/bigquery/docs/reference/standard-sql/
## Requirements
### IAM Permissions
BigQuery uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to BigQuery resources like projects, datasets, and tables.
Toolbox will use your [Application Default Credentials (ADC)][adc] to authorize
and authenticate when interacting with [BigQuery][bigquery-docs].
In addition to [setting the ADC for your server][set-adc], you need to ensure
the IAM identity has been given the correct IAM permissions for the queries
you intend to run. Common roles include `roles/bigquery.user` (which includes
permissions to run jobs and read data) or `roles/bigquery.dataViewer`. See
[Introduction to BigQuery IAM][grant-permissions] for more information on
applying IAM permissions and roles to an identity.
[iam-overview]: https://cloud.google.com/bigquery/docs/access-control
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[grant-permissions]: https://cloud.google.com/bigquery/docs/access-control
## Example
```yaml
sources:
my-bigquery-source:
kind: "bigquery"
project: "my-project-id"
```
## Reference
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|-------------------------------------------------------------------------------|
| kind | string | true | Must be "bigquery". |
| project | string | true | Id of the GCP project that the cluster was created in (e.g. "my-project-id"). |
| location | string | false | Specifies the location (e.g., 'us', 'asia-northeast1') in which to run the query job. This location must match the location of any tables referenced in the query. The default behavior is for it to be executed in the US multi-region |

View File

@@ -0,0 +1,70 @@
---
title: "Bigtable"
type: docs
weight: 1
description: >
Bigtable is a low-latency NoSQL database service for machine learning, operational analytics, and user-facing operations. It's a wide-column, key-value store that can scale to billions of rows and thousands of columns. With Bigtable, you can replicate your data to regions across the world for high availability and data resiliency.
---
# Bigtable Source
[Bigtable][bigtable-docs] is a low-latency NoSQL database service for machine
learning, operational analytics, and user-facing operations. It's a wide-column,
key-value store that can scale to billions of rows and thousands of columns.
With Bigtable, you can replicate your data to regions across the world for high
availability and data resiliency.
If you are new to Bigtable, you can try to [create an instance and write data
with the cbt CLI][bigtable-quickstart-with-cli].
You can use [GoogleSQL statements][bigtable-googlesql] to query your Bigtable
data. GoogleSQL is an ANSI-compliant structured query language (SQL) that is
also implemented for other Google Cloud services. SQL queries are handled by
cluster nodes in the same way as NoSQL data requests. Therefore, the same best
practices apply when creating SQL queries to run against your Bigtable data,
such as avoiding full table scans or complex filters.
[bigtable-docs]: https://cloud.google.com/bigtable/docs
[bigtable-quickstart-with-cli]:
https://cloud.google.com/bigtable/docs/create-instance-write-data-cbt-cli
[bigtable-googlesql]:
https://cloud.google.com/bigtable/docs/googlesql-overview
## Requirements
### IAM Permissions
Bigtable uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to Bigtable resources at the project, instance, table, and
backup level. Toolbox will use your [Application Default Credentials (ADC)][adc]
to authorize and authenticate when interacting with [Bigtable][bigtable-docs].
In addition to [setting the ADC for your server][set-adc], you need to ensure
the IAM identity has been given the correct IAM permissions for the query
provided. See [Apply IAM roles][grant-permissions] for more information on
applying IAM permissions and roles to an identity.
[iam-overview]: https://cloud.google.com/bigtable/docs/access-control
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[grant-permissions]: https://cloud.google.com/bigtable/docs/access-control#iam-management-instance
## Example
```yaml
sources:
my-bigtable-source:
kind: "bigtable"
project: "my-project-id"
instance: "test-instance"
```
## Reference
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|-------------------------------------------------------------------------------|
| kind | string | true | Must be "bigtable". |
| project | string | true | Id of the GCP project that the cluster was created in (e.g. "my-project-id"). |
| instance | string | true | Name of the Bigtable instance. |

View File

@@ -34,26 +34,25 @@ permissions):
- `roles/cloudsql.client`
{{< notice tip >}}
{{< notice tip >}}
If you are connecting from Compute Engine, make sure your VM
also has the [proper
scope](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam)
to connect using the Cloud SQL Admin API.
to connect using the Cloud SQL Admin API.
{{< /notice >}}
[csql-go-conn]: https://github.com/GoogleCloudPlatform/cloud-sql-go-connector
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[gce-access-scopes]: https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam
### Networking
Cloud SQL supports connecting over both from external networks via the internet
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
[Connection overview][conn-overview].
You can configure the `ipType` parameter in your source configuration to
You can configure the `ipType` parameter in your source configuration to
`public` or `private` to match your cluster's configuration. Regardless of which
you choose, all connections use IAM-based authorization and are encrypted with
mTLS.
@@ -80,9 +79,16 @@ sources:
instance: my-instance
database: my_db
ipAddress: localhost
user: ${USER_NAME}
password: ${PASSWORD}
# ipType: private
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
@@ -90,7 +96,7 @@ sources:
| kind | string | true | Must be "cloud-sql-mssql". |
| project | string | true | Id of the GCP project that the cluster was created in (e.g. "my-project-id"). |
| region | string | true | Name of the GCP region that the cluster was created in (e.g. "us-central1"). |
| instance | string | true | Name of the Cloud SQL instance within the cluser (e.g. "my-instance"). |
| instance | string | true | Name of the Cloud SQL instance within the cluster (e.g. "my-instance"). |
| database | string | true | Name of the Cloud SQL database to connect to (e.g. "my_db"). |
| ipAddress | string | true | IP address of the Cloud SQL instance to connect to. |
| user | string | true | Name of the SQL Server user to connect as (e.g. "my-pg-user"). |

View File

@@ -11,7 +11,7 @@ description: >
## About
[Cloud SQL for MySQL][csql-mysql-docs] is a fully-managed database service
that helps you set up, maintain, manage, and administer your MySQL
that helps you set up, maintain, manage, and administer your MySQL
relational databases on Google Cloud Platform.
If you are new to Cloud SQL for MySQL, you can try [creating and connecting
@@ -35,29 +35,28 @@ permissions):
- `roles/cloudsql.client`
{{< notice tip >}}
{{< notice tip >}}
If you are connecting from Compute Engine, make sure your VM
also has the [proper
scope](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam)
to connect using the Cloud SQL Admin API.
to connect using the Cloud SQL Admin API.
{{< /notice >}}
[csql-go-conn]: https://github.com/GoogleCloudPlatform/cloud-sql-go-connector
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[gce-access-scopes]: https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam
### Networking
Cloud SQL supports connecting over both from external networks via the internet
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
[Connection overview][conn-overview].
You can configure the `ipType` parameter in your source configuration to
You can configure the `ipType` parameter in your source configuration to
`public` or `private` to match your cluster's configuration. Regardless of which
you choose, all connections use IAM-based authorization and are encrypted with
mTLS.
mTLS.
[private-ip]: https://cloud.google.com/sql/docs/mysql/configure-private-ip
[public-ip]: https://cloud.google.com/sql/docs/mysql/configure-ip
@@ -65,7 +64,7 @@ mTLS.
### Database User
Current, this source only uses standard authentication. You will need to [create
Currently, this source only uses standard authentication. You will need to [create
a MySQL user][cloud-sql-users] to login to the database with.
[cloud-sql-users]: https://cloud.google.com/sql/docs/mysql/create-manage-users
@@ -75,16 +74,21 @@ a MySQL user][cloud-sql-users] to login to the database with.
```yaml
sources:
my-cloud-sql-mysql-source:
kind: "cloud-sql-mysql"
project: "my-project-id"
region: "us-central1"
instance: "my-instance"
database: "my_db"
user: "my-user"
password: "my-password"
kind: cloud-sql-mysql
project: my-project-id
region: us-central1
instance: my-instance
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
# ipType: "private"
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |

View File

@@ -35,56 +35,84 @@ permissions):
- `roles/cloudsql.client`
{{< notice tip >}}
{{< notice tip >}}
If you are connecting from Compute Engine, make sure your VM
also has the [proper
scope](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam)
to connect using the Cloud SQL Admin API.
to connect using the Cloud SQL Admin API.
{{< /notice >}}
[csql-go-conn]: https://github.com/GoogleCloudPlatform/cloud-sql-go-connector
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[gce-access-scopes]: https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam
[csql-go-conn]: <https://github.com/GoogleCloudPlatform/cloud-sql-go-connector>
[adc]: <https://cloud.google.com/docs/authentication#adc>
[set-adc]: <https://cloud.google.com/docs/authentication/provide-credentials-adc>
### Networking
Cloud SQL supports connecting over both from external networks via the internet
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
([public IP][public-ip]), and internal networks ([private IP][private-ip]).
For more information on choosing between the two options, see the Cloud SQL page
[Connection overview][conn-overview].
You can configure the `ipType` parameter in your source configuration to
You can configure the `ipType` parameter in your source configuration to
`public` or `private` to match your cluster's configuration. Regardless of which
you choose, all connections use IAM-based authorization and are encrypted with
mTLS.
mTLS.
[private-ip]: https://cloud.google.com/sql/docs/postgres/configure-private-ip
[public-ip]: https://cloud.google.com/sql/docs/postgres/configure-ip
[conn-overview]: https://cloud.google.com/sql/docs/postgres/connect-overview
### Database User
### Authentication
Current, this source only uses standard authentication. You will need to [create
a PostreSQL user][cloud-sql-users] to login to the database with.
This source supports both password-based authentication and IAM
authentication (using your [Application Default Credentials][adc]).
[cloud-sql-users]: https://cloud.google.com/sql/docs/postgres/create-manage-users
#### Standard Authentication
To connect using user/password, [create
a PostgreSQL user][cloudsql-users] and input your credentials in the `user` and
`password` fields.
```yaml
user: ${USER_NAME}
password: ${PASSWORD}
```
#### IAM Authentication
To connect using IAM authentication:
1. Prepare your database instance and user following this [guide][iam-guide].
2. You could choose one of the two ways to log in:
- Specify your IAM email as the `user`.
- Leave your `user` field blank. Toolbox
will fetch the [ADC][adc] automatically and log in using the email associated with it.
3. Leave the `password` field blank.
[iam-guide]: https://cloud.google.com/sql/docs/postgres/iam-logins
[cloudsql-users]: https://cloud.google.com/sql/docs/postgres/create-manage-users
## Example
```yaml
sources:
my-cloud-sql-pg-source:
kind: "cloud-sql-postgres"
project: "my-project-id"
region: "us-central1"
instance: "my-instance"
database: "my_db"
user: "my-user"
password: "my-password"
kind: cloud-sql-postgres
project: my-project-id
region: us-central1
instance: my-instance
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
# ipType: "private"
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
@@ -94,6 +122,6 @@ sources:
| region | string | true | Name of the GCP region that the cluster was created in (e.g. "us-central1"). |
| instance | string | true | Name of the Cloud SQL instance within the cluster (e.g. "my-instance"). |
| database | string | true | Name of the Postgres database to connect to (e.g. "my_db"). |
| user | string | true | Name of the Postgres user to connect as (e.g. "my-pg-user"). |
| password | string | true | Password of the Postgres user (e.g. "my-password"). |
| user | string | false | Name of the Postgres user to connect as (e.g. "my-pg-user"). Defaults to IAM auth using [ADC][adc] email if unspecified. |
| password | string | false | Password of the Postgres user (e.g. "my-password"). Defaults to attempting IAM authentication if unspecified. |
| ipType | string | false | IP Type of the Cloud SQL instance; must be one of `public` or `private`. Default: `public`. |

View File

@@ -0,0 +1,43 @@
---
title: "couchbase"
type: docs
weight: 1
description: >
A "couchbase" source connects to a Couchbase database.
---
## About
A `couchbase` source establishes a connection to a Couchbase database cluster, allowing tools to execute SQL queries against it.
## Example
```yaml
sources:
my-couchbase-instance:
kind: couchbase
connectionString: couchbase://localhost:8091
bucket: travel-sample
scope: inventory
username: Administrator
password: password
```
## Reference
| **field** | **type** | **required** | **description** |
|---------------------|:--------:|:------------:|-----------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "couchbase". |
| connectionString | string | true | Connection string for the Couchbase cluster. |
| bucket | string | true | Name of the bucket to connect to. |
| scope | string | true | Name of the scope within the bucket. |
| username | string | false | Username for authentication. |
| password | string | false | Password for authentication. |
| clientCert | string | false | Path to client certificate file for TLS authentication. |
| clientCertPassword| string | false | Password for the client certificate. |
| clientKey | string | false | Path to client key file for TLS authentication. |
| clientKeyPassword | string | false | Password for the client key. |
| caCert | string | false | Path to CA certificate file. |
| noSslVerify | boolean | false | If true, skip server certificate verification. **Warning:** This option should only be used in development or testing environments. Disabling SSL verification poses significant security risks in production as it makes your connection vulnerable to man-in-the-middle attacks. |
| profile | string | false | Name of the connection profile to apply. |
| queryScanConsistency | integer | false | Query scan consistency. Controls the consistency guarantee for index scanning. Values: 1 for "not_bounded" (fastest option, but results may not include the most recent operations), 2 for "request_plus" (highest consistency level, includes all operations up until the query started, but incurs a performance penalty). If not specified, defaults to the Couchbase Go SDK default. |

View File

@@ -9,7 +9,7 @@ description: >
## About
[Dgraph][dgraph-docs] is an open-source graph database. It is designed for real-time workloads, horizontal scalability, and data flexibility. Implemented as a distributed system, Dgraph processes queries in parallel to deliver the fastest result.
[Dgraph][dgraph-docs] is an open-source graph database. It is designed for real-time workloads, horizontal scalability, and data flexibility. Implemented as a distributed system, Dgraph processes queries in parallel to deliver the fastest result.
This source can connect to either a self-managed Dgraph cluster or one hosted on
Dgraph Cloud. If you're new to Dgraph, the fastest way to get started is to
@@ -18,7 +18,7 @@ Dgraph Cloud. If you're new to Dgraph, the fastest way to get started is to
[dgraph-docs]: https://dgraph.io/docs
[dgraph-login]: https://cloud.dgraph.io/login
## Requirements
## Requirements
### Database User
@@ -34,20 +34,25 @@ and user credentials for that namespace.
```yaml
sources:
my-dgraph-source:
kind: "dgraph"
dgraphUrl: "https://xxxx.cloud.dgraph.io"
user: "groot"
password: "password"
apiKey: abc123
namepace : 0
kind: dgraph
dgraphUrl: https://xxxx.cloud.dgraph.io
user: ${USER_NAME}
password: ${PASSWORD}
apiKey: ${API_KEY}
namespace : 0
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **Field** | **Type** | **Required** | **Description** |
|-------------|:--------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "dgraph". |
| dgraphUrl | string | true | Connection URI (e.g. "https://xxx.cloud.dgraph.io", "https://localhost:8080"). |
| dgraphUrl | string | true | Connection URI (e.g. "<https://xxx.cloud.dgraph.io>", "<https://localhost:8080>"). |
| user | string | false | Name of the Dgraph user to connect as (e.g., "groot"). |
| password | string | false | Password of the Dgraph user (e.g., "password"). |
| apiKey | string | false | API key to connect to a Dgraph Cloud instance. |

View File

@@ -0,0 +1,49 @@
---
title: "HTTP"
linkTitle: "HTTP"
type: docs
weight: 1
description: >
The HTTP source enables the Toolbox to retrieve data from a remote server using HTTP requests.
---
## About
The HTTP Source allows Toolbox to retrieve data from arbitrary HTTP
endpoints. This enables Generative AI applications to access data from web APIs
and other HTTP-accessible resources.
## Example
```yaml
sources:
my-http-source:
kind: http
baseUrl: https://api.example.com/data
timeout: 10s # default to 30s
headers:
Authorization: Bearer ${API_KEY}
Content-Type: application/json
queryParams:
param1: value1
param2: value2
# disableSslVerification: false
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
|------------------------|:-----------------:|:------------:|------------------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "http". |
| baseUrl | string | true | The base URL for the HTTP requests (e.g., `https://api.example.com`). |
| timeout | string | false | The timeout for HTTP requests (e.g., "5s", "1m", refer to [ParseDuration][parse-duration-doc] for more examples). Defaults to 30s. |
| headers | map[string]string | false | Default headers to include in the HTTP requests. |
| queryParams | map[string]string | false | Default query parameters to include in the HTTP requests. |
| disableSslVerification | bool | false | Disable SSL certificate verification. This should only be used for local development. Defaults to `false`. |
[parse-duration-doc]: https://pkg.go.dev/time#ParseDuration

View File

@@ -7,7 +7,7 @@ description: >
---
## About
## About
[SQL Server][mssql-docs] is a relational database management system (RDBMS)
developed by Microsoft that allows users to store, retrieve, and manage large
@@ -20,7 +20,7 @@ amount of data through a structured format.
### Database User
This source only uses standard authentication. You will need to [create a
SQL Server user][mssql-users] to login to the database with.
SQL Server user][mssql-users] to login to the database with.
[mssql-users]: https://learn.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16
@@ -29,14 +29,19 @@ SQL Server user][mssql-users] to login to the database with.
```yaml
sources:
my-mssql-source:
kind: "mssql"
host: "127.0.0.1"
port: "1433"
database: "my_db"
user: "my-user"
password: "my-password"
kind: mssql
host: 127.0.0.1
port: 1433
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |

View File

@@ -11,7 +11,7 @@ description: >
[MySQL][mysql-docs] is a relational database management system (RDBMS) that
stores and manages data. It's a popular choice for developers because of its
reliability, performance, and ease of use.
reliability, performance, and ease of use.
[mysql-docs]: https://www.mysql.com/
@@ -20,7 +20,7 @@ reliability, performance, and ease of use.
### Database User
This source only uses standard authentication. You will need to [create a
MySQL user][mysql-users] to login to the database with.
MySQL user][mysql-users] to login to the database with.
[mysql-users]: https://dev.mysql.com/doc/refman/8.4/en/user-names.html
@@ -29,14 +29,19 @@ MySQL user][mysql-users] to login to the database with.
```yaml
sources:
my-mysql-source:
kind: "mysql"
host: "127.0.0.1"
port: "3306"
database: "my_db"
user: "my-user"
password: "my-password"
kind: mysql
host: 127.0.0.1
port: 3306
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |

View File

@@ -13,13 +13,13 @@ reliability, feature robustness, and performance.
[neo4j-docs]: https://neo4j.com/docs
## Requirements
## Requirements
### Database User
This source only uses standard authentication. You will need to [create a Neo4j
user][neo4j-users] to log in to the database with, or use the default `neo4j`
user if available.
user if available.
[neo4j-users]: https://neo4j.com/docs/operations-manual/current/authentication-authorization/manage-users/
@@ -28,13 +28,18 @@ user if available.
```yaml
sources:
my-neo4j-source:
kind: "neo4j"
uri: "neo4j+s://xxxx.databases.neo4j.io:7687"
user: "neo4j"
password: "my-password"
kind: neo4j
uri: neo4j+s://xxxx.databases.neo4j.io:7687
user: ${USER_NAME}
password: ${PASSWORD}
database: "neo4j"
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
@@ -44,5 +49,3 @@ sources:
| user | string | true | Name of the Neo4j user to connect as (e.g. "neo4j"). |
| password | string | true | Password of the Neo4j user (e.g. "my-password"). |
| database | string | true | Name of the Neo4j database to connect to (e.g. "neo4j"). |

View File

@@ -7,7 +7,7 @@ description: >
---
## About
## About
[PostgreSQL][pg-docs] is a powerful, open source object-relational database
system with over 35 years of active development that has earned it a strong
@@ -20,7 +20,7 @@ reputation for reliability, feature robustness, and performance.
### Database User
This source only uses standard authentication. You will need to [create a
PostreSQL user][pg-users] to login to the database with.
PostgreSQL user][pg-users] to login to the database with.
[pg-users]: https://www.postgresql.org/docs/current/sql-createuser.html
@@ -29,14 +29,19 @@ PostreSQL user][pg-users] to login to the database with.
```yaml
sources:
my-pg-source:
kind: "postgres"
host: "127.0.0.1"
port: "5432"
database: "my_db"
user: "my-user"
password: "my-password"
kind: postgres
host: 127.0.0.1
port: 5432
database: my_db
user: ${USER_NAME}
password: ${PASSWORD}
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
## Reference
| **field** | **type** | **required** | **description** |
@@ -47,5 +52,3 @@ sources:
| database | string | true | Name of the Postgres database to connect to (e.g. "my_db"). |
| user | string | true | Name of the Postgres user to connect as (e.g. "my-pg-user"). |
| password | string | true | Password of the Postgres user (e.g. "my-password"). |

View File

@@ -0,0 +1,90 @@
---
title: "Redis"
linkTitle: "Redis"
type: docs
weight: 1
description: >
Redis is an open-source, in-memory data structure store.
---
## About
Redis is an open-source, in-memory data structure store, used as a database, cache, and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, and geospatial indexes with radius queries.
If you are new to Redis, you can find installation and getting started guides on the [official Redis website](https://redis.io/docs/getting-started/).
## Requirements
### Redis
[AUTH string][auth] is a password for connection to Redis. If you have the `requirepass` directive set in your Redis configuration, incoming client connections must authenticate in order to connect.
Specify your AUTH string in the password field:
```yaml
sources:
my-redis-instance:
kind: redis
address:
- 127.0.0.1
username: ${MY_USER_NAME}
password: ${MY_AUTH_STRING} # Omit this field if you don't have a password.
# database: 0
# clusterEnabled: false
# useGCPIAM: false
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
### Memorystore For Redis
Memorystore standalone instances support authentication using an [AUTH][auth]
string.
Here is an example tools.yaml config with [AUTH][auth] enabled:
```yaml
sources:
my-redis-cluster-instance:
kind: memorystore-redis
address:
- 127.0.0.1
password: ${MY_AUTH_STRING}
# useGCPIAM: false
# clusterEnabled: false
```
Memorystore Redis Cluster supports IAM authentication instead. Grant your account the
required [IAM role][iam] and make sure to set `useGCPIAM` to `true`.
Here is an example tools.yaml config for Memorystore Redis Cluster instances
using IAM authentication:
```yaml
sources:
my-redis-cluster-instance:
kind: memorystore-redis
address: 127.0.0.1
useGCPIAM: true
clusterEnabled: true
```
[iam]: https://cloud.google.com/memorystore/docs/cluster/about-iam-auth
## Reference
| **field** | **type** | **required** | **description** |
|----------------|:--------:|:------------:|---------------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "memorystore-redis". |
| address | string | true | Primary endpoint for the Memorystore Redis instance to connect to. |
| username | string | false | If you are using a non-default user, specify the user name here. If you are using Memorystore for Redis, leave this field blank |
| password | string | false | If you have [Redis AUTH][auth] enabled, specify the AUTH string here |
| database | int | false | The Redis database to connect to. Not applicable for cluster enabled instances. The default database is `0`. |
| clusterEnabled | bool | false | Set it to `true` if using a Redis Cluster instance. Defaults to `false`. |
| useGCPIAM | string | false | Set it to `true` if you are using GCP's IAM authentication. Defaults to `false`. |
[auth]: https://cloud.google.com/memorystore/docs/redis/about-redis-auth

View File

@@ -8,7 +8,7 @@ description: >
---
# Spanner Source
# Spanner Source
[Spanner][spanner-docs] is a fully managed, mission-critical database service
that brings together relational, graph, key-value, and search. It offers
@@ -23,7 +23,7 @@ the Google Cloud console][spanner-quickstart].
[spanner-quickstart]:
https://cloud.google.com/spanner/docs/create-query-database-console
## Requirements
## Requirements
### IAM Permissions

View File

@@ -0,0 +1,63 @@
---
title: "SQLite"
linkTitle: "SQLite"
type: docs
weight: 1
description: >
SQLite is a C-language library that implements a small, fast, self-contained,
high-reliability, full-featured, SQL database engine.
---
## About
[SQLite](https://sqlite.org/) is a software library that provides a relational
database management system. The lite in SQLite means lightweight in terms of
setup, database administration, and required resources.
SQLite has the following notable characteristics:
- Self-contained with no external dependencies
- Serverless - the SQLite library accesses its storage files directly
- Single database file that can be easily copied or moved
- Zero-configuration - no setup or administration needed
- Transactional with ACID properties
## Requirements
### Database File
You need a SQLite database file. This can be:
- An existing database file
- A path where a new database file should be created
- `:memory:` for an in-memory database
## Example
```yaml
sources:
my-sqlite-db:
kind: "sqlite"
database: "/path/to/database.db"
```
For an in-memory database:
```yaml
sources:
my-sqlite-memory-db:
kind: "sqlite"
database: ":memory:"
```
## Reference
### Configuration Fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| kind | string | Yes | Must be "sqlite" |
| database | string | Yes | Path to SQLite database file, or ":memory:" for an in-memory database |
### Connection Properties
SQLite connections are configured with these defaults for optimal performance:
- `MaxOpenConns`: 1 (SQLite only supports one writer at a time)
- `MaxIdleConns`: 1

View File

@@ -0,0 +1,64 @@
---
title: "Valkey"
linkTitle: "Valkey"
type: docs
weight: 1
description: >
Valkey is an open-source, in-memory data structure store, forked from Redis.
---
## About
Valkey is an open-source, in-memory data structure store that originated as a fork of Redis. It's designed to be used as a database, cache, and message broker, supporting a wide range of data structures like strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, and geospatial indexes with radius queries.
If you're new to Valkey, you can find installation and getting started guides on the [official Valkey website](https://valkey.io/docs/getting-started/).
## Example
```yaml
sources:
my-valkey-instance:
kind: valkey
address:
- 127.0.0.1
username: ${YOUR_USERNAME}
password: ${YOUR_PASSWORD}
# database: 0
# useGCPIAM: false
# disableCache: false
```
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
### IAM Authentication
If you are using GCP's Memorystore for Valkey, you can connect using IAM
authentication. Grant your account the required [IAM role][iam] and set
`useGCPIAM` to `true`:
```yaml
sources:
my-valkey-instance:
kind: valkey
address:
- 127.0.0.1
useGCPIAM: true
```
[iam]: https://cloud.google.com/memorystore/docs/valkey/about-iam-auth
## Reference
| **field** | **type** | **required** | **description** |
|--------------|:--------:|:------------:|----------------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "valkey". |
| address | []string | true | Endpoints for the Valkey instance to connect to. |
| username | string | false | If you are using a non-default user, specify the user name here. If you are using Memorystore for Valkey, leave this field blank |
| password | string | false | Password for the Valkey instance |
| database | int | false | The Valkey database to connect to. Not applicable for cluster enabled instances. The default database is `0`. |
| useGCPIAM | bool | false | Set it to `true` if you are using GCP's IAM authentication. Defaults to `false`. |
| disableCache | bool | false | Set it to `true` if you want to enable client-side caching. Defaults to `false`. |

View File

@@ -79,11 +79,12 @@ the parameter.
description: Airline unique 2 letter identifier
```
| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------------------------------|
| name | string | true | Name of the parameter. |
| type | string | true | Must be one of "string", "integer", "float", "boolean" "array" |
| description | string | true | Natural language description of the parameter to describe it to the agent. |
| **field** | **type** | **required** | **description** |
|-------------|:---------------:|:------------:|-----------------------------------------------------------------------------|
| name | string | true | Name of the parameter. |
| type | string | true | Must be one of "string", "integer", "float", "boolean" "array" |
| default | parameter type | false | Default value of the parameter. If provided, the parameter is not required. |
| description | string | true | Natural language description of the parameter to describe it to the agent. |
### Array Parameters
@@ -93,7 +94,7 @@ in the list using the items field:
```yaml
parameters:
- name: preffered_airlines
- name: preferred_airlines
type: array
description: A list of airline, ordered by preference.
items:
@@ -102,12 +103,17 @@ in the list using the items field:
description: Name of the airline.
```
| **field** | **type** | **required** | **description** |
|-------------|:----------------:|:------------:|----------------------------------------------------------------------------|
| name | string | true | Name of the parameter. |
| type | string | true | Must be "array" |
| description | string | true | Natural language description of the parameter to describe it to the agent. |
| items | parameter object | true | Specify a Parameter object for the type of the values in the array. |
| **field** | **type** | **required** | **description** |
|-------------|:----------------:|:------------:|-----------------------------------------------------------------------------|
| name | string | true | Name of the parameter. |
| type | string | true | Must be "array" |
| default | parameter type | false | Default value of the parameter. If provided, the parameter is not required. |
| description | string | true | Natural language description of the parameter to describe it to the agent. |
| items | parameter object | true | Specify a Parameter object for the type of the values in the array. |
{{< notice note >}}
Items in array should not have a default value. If provided, it will be ignored.
{{< /notice >}}
### Authenticated Parameters
@@ -141,6 +147,58 @@ specific claims within the user's ID token.
| name | string | true | Name of the [authServices](../authservices) used to verify the OIDC auth token. |
| field | string | true | Claim field decoded from the OIDC token used to auto-populate this parameter. |
### Template Parameters
Template parameters types include `string`, `integer`, `float`, `boolean` types. In
most cases, the description will be provided to the LLM as context on specifying
the parameter. Template parameters will be inserted into the SQL statement before
executing the prepared statement. They will be inserted without quotes, so to
insert a string using template parameters, quotes must be explicitly added within
the string.
Template parameter arrays can also be used similarly to basic parameters, and array
items must be strings. Once inserted into the SQL statement, the outer layer of quotes
will be removed. Therefore to insert strings into the SQL statement, a set of quotes
must be explicitly added within the string.
{{< notice warning >}}
Because template parameters can directly replace identifiers, column names, and table names, they are prone to SQL injections. Basic parameters are preferred for performance and safety reasons.
{{< /notice >}}
```yaml
tools:
select_columns_from_table:
kind: postgres-sql
source: my-pg-instance
statement: |
SELECT {{array .columnNames}} FROM {{.tableName}}
description: |
Use this tool to list all information from a specific table.
Example:
{{
"tableName": "flights",
"columnNames": ["id", "name"]
}}
templateParameters:
- name: tableName
type: string
description: Table to select from
- name: columnNames
type: array
description: The columns to select
items:
name: column
type: string
description: Name of a column to select
```
| **field** | **type** | **required** | **description** |
|-------------|:----------------:|:-------------:|-------------------------------------------------------------------------------------|
| name | string | true | Name of the template parameter. |
| type | string | true | Must be one of "string", "integer", "float", "boolean" "array" |
| description | string | true | Natural language description of the template parameter to describe it to the agent. |
| items | parameter object |true (if array)| Specify a Parameter object for the type of the values in the array (string only). |
## Authorized Invocations
You can require an authorization check for any Tool invocation request by

View File

@@ -0,0 +1,103 @@
---
title: "alloydb-ai-nl"
type: docs
weight: 1
description: >
The "alloydb-ai-nl" tool leverages
[AlloyDB AI](https://cloud.google.com/alloydb/ai) next-generation Natural
Language support to provide the ability to query the database directly using
natural language.
---
## About
The `alloydb-ai-nl` tool leverages [AlloyDB AI next-generation natural
Language][alloydb-ai-nl-overview] support to allow an Agent the ability to query
the database directly using natural language. Natural language streamlines the
development of generative AI applications by transferring the complexity of
converting natural language to SQL from the application layer to the database
layer.
This tool is compatible with the following sources:
- [alloydb-postgres](../sources/alloydb-pg.md)
AlloyDB AI Natural Language delivers secure and accurate responses for
application end user natural language questions. Natural language streamlines
the development of generative AI applications by transferring the complexity
of converting natural language to SQL from the application layer to the
database layer.
## Requirements
{{< notice tip >}} AlloyDB AI natural language is currently in gated public
preview. For more information on availability and limitations, please see
[AlloyDB AI natural language overview](https://cloud.google.com/alloydb/docs/ai/natural-language-overview)
{{< /notice >}}
To enable AlloyDB AI natural language for your AlloyDB cluster, please follow
the steps listed in the [Generate SQL queries that answer natural language
questions][alloydb-ai-gen-nl], including enabling the extension and configuring
context for your application.
[alloydb-ai-nl-overview]: https://cloud.google.com/alloydb/docs/ai/natural-language-overview
[alloydb-ai-gen-nl]: https://cloud.google.com/alloydb/docs/ai/generate-sql-queries-natural-language
## Configuration
### Specifying an `nl_config`
A `nl_config` is a configuration that associates an application to schema
objects, examples and other contexts that can be used. A large application can
also use different configurations for different parts of the app, as long as the
correct configuration can be specified when a question is sent from that part of
the application.
Once you've followed the steps for configuring context, you can use the
`context` field when configuring a `alloydb-ai-nl` tool. When this tool is
invoked, the SQL will be generated and executed using this context.
### Specifying Parameters to PSV's
[Parameterized Secure Views (PSVs)][alloydb-psv] are a feature unique to AlloyDB
that allows you allow you to require one or more named parameter values passed
to the view when querying it, somewhat like bind variables with ordinary
database queries.
You can use the `nlConfigParameters` to list the parameters required for your
`nl_config`. You **must** supply all parameters required for all PSVs in the
context. It's strongly recommended to use features like [Authenticated
Parameters](../tools/#array-parameters) or Bound Parameters to provide secure
access to queries generated using natural language, as these parameters are not
visible to the LLM.
[alloydb-psv]: https://cloud.google.com/alloydb/docs/parameterized-secure-views-overview
## Example
```yaml
tools:
ask_questions:
kind: alloydb-ai-nl
source: my-alloydb-source
description: "Ask questions to check information about flights"
nlConfig: "cymbal_air_nl_config"
nlConfigParameters:
- name: user_email
type: string
description: User ID of the logged in user.
# note: we strongly recommend using features like Authenticated or
# Bound parameters to prevent the LLM from seeing these params and
# specifying values it shouldn't in the tool input
authServices:
- name: my_google_service
field: email
```
## Reference
| **field** | **type** | **required** | **description** |
|--------------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------|
| kind | string | true | Must be "alloydb-ai-nl". |
| source | string | true | Name of the AlloyDB source the natural language query should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
| nlConfig | string | true | The name of the `nl_config` in AlloyDB |
| nlConfigParameters | [parameters](_index#specifying-parameters) | true | List of PSV parameters defined in the `nl_config` |

View File

@@ -0,0 +1,35 @@
---
title: "bigquery-execute-sql"
type: docs
weight: 1
description: >
A "bigquery-execute-sql" tool executes a SQL statement against BigQuery.
---
## About
A `bigquery-execute-sql` tool executes a SQL statement against BigQuery.
It's compatible with the following sources:
- [bigquery](../sources/bigquery.md)
`bigquery-execute-sql` takes one input parameter `sql` and runs the sql
statement against the `source`.
## Example
```yaml
tools:
execute_sql_tool:
kind: bigquery-execute-sql
source: my-bigquery-source
description: Use this tool to execute sql statement.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "bigquery-execute-sql". |
| source | string | true | Name of the source the SQL should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,35 @@
---
title: "bigquery-get-dataset-info"
type: docs
weight: 1
description: >
A "bigquery-get-dataset-info" tool retrieves metadata for a BigQuery dataset.
---
## About
A `bigquery-get-dataset-info` tool retrieves metadata for a BigQuery dataset.
It's compatible with the following sources:
- [bigquery](../sources/bigquery.md)
bigquery-get-dataset-info takes a dataset parameter to specify the dataset
on the given source.
## Example
```yaml
tools:
bigquery_get_dataset_info:
kind: bigquery-get-dataset-info
source: my-bigquery-source
description: Use this tool to get dataset metadata.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "bigquery-get-dataset-info". |
| source | string | true | Name of the source the SQL should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |

Some files were not shown because too many files have changed in this diff Show More