Compare commits

...

116 Commits
dp ... ci-tests

Author SHA1 Message Date
Averi Kitsch
53613cb7f8 fix 2025-11-04 14:24:27 -08:00
Averi Kitsch
ee4fcbd030 fix 2025-11-03 16:08:50 -08:00
Averi Kitsch
0747b1204f test 2025-11-03 15:42:07 -08:00
Averi Kitsch
70ab9bbbcd fix 2025-11-03 13:35:10 -08:00
Averi Kitsch
67aea396a9 fix 2025-11-03 13:20:26 -08:00
Averi Kitsch
2f54a7ad56 fix 2025-11-03 11:55:16 -08:00
Averi Kitsch
5b15d4659f fix errors 2025-11-03 11:39:36 -08:00
Averi Kitsch
951b8424ac fix 2025-11-03 11:12:06 -08:00
Averi Kitsch
411c6b4f1a fix 2025-10-31 16:14:12 -07:00
Averi Kitsch
ad1a4d8774 debug 2025-10-31 15:52:00 -07:00
Averi Kitsch
0ceeb6a528 add tests 2025-10-31 15:47:14 -07:00
Averi Kitsch
89063f572e fix mongo 2025-10-31 15:40:38 -07:00
Averi Kitsch
54259875cc remove changes 2025-10-31 13:17:20 -07:00
Averi Kitsch
beff51857a tests(cloudmonitoring): update test coverage 2025-10-31 13:06:25 -07:00
Averi Kitsch
9364ae7222 Update integration.cloudbuild.yaml 2025-10-30 13:58:06 -07:00
Averi Kitsch
f2a2b00872 ci: ensure all integration tests are running 2025-10-30 13:42:39 -07:00
Mend Renovate
4797751819 chore(deps): update module github.com/looker-open-source/sdk-codegen/go to v0.25.18 (#1801)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/looker-open-source/sdk-codegen/go](https://redirect.github.com/looker-open-source/sdk-codegen)
| `v0.25.16` -> `v0.25.18` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2flooker-open-source%2fsdk-codegen%2fgo/v0.25.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2flooker-open-source%2fsdk-codegen%2fgo/v0.25.16/v0.25.18?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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Dr. Strangelove <drstrangelove@google.com>
2025-10-29 22:40:52 +00:00
Mend Renovate
fdca92cefb chore(deps): update dependency llama-index-llms-google-genai to v0.6.2 (#1725)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| llama-index-llms-google-genai | `==0.6.1` -> `==0.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/llama-index-llms-google-genai/0.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/llama-index-llms-google-genai/0.6.1/0.6.2?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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-29 21:58:44 +00:00
Wenxin Du
208ab92eb3 feat: Make MongoDB filterParams optional (#1614)
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-29 21:29:12 +00:00
Srividya Reddy
e8c7fe0994 feat(tools/postgres-list-views): add new postgres-list-views tool (#1709)
## Description

Adds a read-only PostgreSQL custom list_views tool, that returns the
details of views present in database. Each row includes: schema_name,
view_name, owner_name
Test Output:

<img width="2433" height="1274" alt="Screenshot 2025-10-19 at 3 59
31 PM"
src="https://github.com/user-attachments/assets/76e1e994-390a-4239-aba7-0d02253bbcc4"
/>
<img width="2533" height="1017" alt="Screenshot 2025-10-19 at 4 07
25 PM"
src="https://github.com/user-attachments/assets/537fbddd-d862-4044-a09b-cb9f180c21fa"
/>

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1738

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-29 14:18:29 -07:00
Wenxin Du
2696fc4035 ci(tools/postgres-list-active-queries): exclude background applicatio… (#1813)
The `postgres-list-active-queries` tool integration test is failing
because of background admin queries for logging.
2025-10-29 15:00:48 -04:00
Averi Kitsch
9108c491fe ci: Revert "ci: Update blunderbuss.yml for OOO" (#1795)
Reverts googleapis/genai-toolbox#1726
2025-10-28 23:56:00 +00:00
Dave Borowitz
7ad10720b4 feat(serverless-spark): Add get_batch tool 2025-10-28 13:42:02 -07:00
Mend Renovate
5d1be9caf9 chore(deps): update github.com/googleapis/mcp-toolbox-sdk-go digest to eb73e0c (#1750)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/googleapis/mcp-toolbox-sdk-go](https://redirect.github.com/googleapis/mcp-toolbox-sdk-go)
| require | digest | `eae3dce` -> `eb73e0c` |

---

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-28 17:49:57 +00:00
Mend Renovate
b3edf570ce chore(deps): update module cloud.google.com/go/spanner to v1.86.1 (#1773)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[cloud.google.com/go/spanner](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.86.0` -> `v1.86.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.86.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.86.0/v1.86.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-28 16:41:31 +00:00
Mend Renovate
e0adc8f48b chore(deps): update google.golang.org/genproto digest to 49b9836 (#1622)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `57b25ae` -> `49b9836` |

---

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-28 16:06:05 +00:00
Mend Renovate
01ac3134c0 chore(deps): update dependency llama-index to v0.14.6 (#1785)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [llama-index](https://redirect.github.com/run-llama/llama_index) |
`==0.14.4` -> `==0.14.6` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/llama-index/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/llama-index/0.14.4/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>run-llama/llama_index (llama-index)</summary>

###
[`v0.14.6`](https://redirect.github.com/run-llama/llama_index/blob/HEAD/CHANGELOG.md#2025-10-26)

[Compare
Source](https://redirect.github.com/run-llama/llama_index/compare/v0.14.5...v0.14.6)

##### llama-index-core \[0.14.6]

- Add allow\_parallel\_tool\_calls for non-streaming
([#&#8203;20117](https://redirect.github.com/run-llama/llama_index/pull/20117))
- Fix invalid use of field-specific metadata
([#&#8203;20122](https://redirect.github.com/run-llama/llama_index/pull/20122))
- update doc for SemanticSplitterNodeParser
([#&#8203;20125](https://redirect.github.com/run-llama/llama_index/pull/20125))
- fix rare cases when sentence splits are larger than chunk size
([#&#8203;20147](https://redirect.github.com/run-llama/llama_index/pull/20147))

##### llama-index-embeddings-bedrock \[0.7.0]

- Fix BedrockEmbedding to support Cohere v4 response format
([#&#8203;20094](https://redirect.github.com/run-llama/llama_index/pull/20094))

##### llama-index-embeddings-isaacus \[0.1.0]

- feat: Isaacus embeddings integration
([#&#8203;20124](https://redirect.github.com/run-llama/llama_index/pull/20124))

##### llama-index-embeddings-oci-genai \[0.4.2]

- Update OCI GenAI cohere models
([#&#8203;20146](https://redirect.github.com/run-llama/llama_index/pull/20146))

##### llama-index-llms-anthropic \[0.9.7]

- Fix double token stream in anthropic llm
([#&#8203;20108](https://redirect.github.com/run-llama/llama_index/pull/20108))
- Ensure anthropic content delta only has user facing response
([#&#8203;20113](https://redirect.github.com/run-llama/llama_index/pull/20113))

##### llama-index-llms-baseten \[0.1.7]

- add GLM
([#&#8203;20121](https://redirect.github.com/run-llama/llama_index/pull/20121))

##### llama-index-llms-helicone \[0.1.0]

- integrate helicone to llama-index
([#&#8203;20131](https://redirect.github.com/run-llama/llama_index/pull/20131))

##### llama-index-llms-oci-genai \[0.6.4]

- Update OCI GenAI cohere models
([#&#8203;20146](https://redirect.github.com/run-llama/llama_index/pull/20146))

##### llama-index-llms-openai \[0.6.5]

- chore: openai vbump
([#&#8203;20095](https://redirect.github.com/run-llama/llama_index/pull/20095))

##### llama-index-readers-imdb-review \[0.4.2]

- chore: Update selenium dependency in imdb-review reader
([#&#8203;20105](https://redirect.github.com/run-llama/llama_index/pull/20105))

##### llama-index-retrievers-bedrock \[0.5.0]

- feat(bedrock): add async support for AmazonKnowledgeBasesRetriever
([#&#8203;20114](https://redirect.github.com/run-llama/llama_index/pull/20114))

##### llama-index-retrievers-superlinked \[0.1.3]

- Update README.md
([#&#8203;19829](https://redirect.github.com/run-llama/llama_index/pull/19829))

##### llama-index-storage-kvstore-postgres \[0.4.2]

- fix: Replace raw SQL string interpolation with proper SQLAlchemy
parameterized APIs in PostgresKVStore
([#&#8203;20104](https://redirect.github.com/run-llama/llama_index/pull/20104))

##### llama-index-tools-mcp \[0.4.3]

- Fix BasicMCPClient resource signatures
([#&#8203;20118](https://redirect.github.com/run-llama/llama_index/pull/20118))

##### llama-index-vector-stores-postgres \[0.7.1]

- Add GIN index support for text array metadata in PostgreSQL vector
store
([#&#8203;20130](https://redirect.github.com/run-llama/llama_index/pull/20130))

###
[`v0.14.5`](https://redirect.github.com/run-llama/llama_index/blob/HEAD/CHANGELOG.md#2025-10-15)

[Compare
Source](https://redirect.github.com/run-llama/llama_index/compare/v0.14.4...v0.14.5)

##### llama-index-core \[0.14.5]

- Remove debug print
([#&#8203;20000](https://redirect.github.com/run-llama/llama_index/pull/20000))
- safely initialize RefDocInfo in Docstore
([#&#8203;20031](https://redirect.github.com/run-llama/llama_index/pull/20031))
- Add progress bar for multiprocess loading
([#&#8203;20048](https://redirect.github.com/run-llama/llama_index/pull/20048))
- Fix duplicate node positions when identical text appears multiple
times in document
([#&#8203;20050](https://redirect.github.com/run-llama/llama_index/pull/20050))
- chore: tool call block - part 1
([#&#8203;20074](https://redirect.github.com/run-llama/llama_index/pull/20074))

##### llama-index-instrumentation \[0.4.2]

- update instrumentation package metadata
([#&#8203;20079](https://redirect.github.com/run-llama/llama_index/pull/20079))

##### llama-index-llms-anthropic \[0.9.5]

-  feat(anthropic): add prompt caching model validation utilities
([#&#8203;20069](https://redirect.github.com/run-llama/llama_index/pull/20069))
- fix streaming thinking/tool calling with anthropic
([#&#8203;20077](https://redirect.github.com/run-llama/llama_index/pull/20077))
- Add haiku 4.5 support
([#&#8203;20092](https://redirect.github.com/run-llama/llama_index/pull/20092))

##### llama-index-llms-baseten \[0.1.6]

- Baseten provider Kimi K2 0711, Llama 4 Maverick and Llama 4 Scout
Model APIs deprecation
([#&#8203;20042](https://redirect.github.com/run-llama/llama_index/pull/20042))

##### llama-index-llms-bedrock-converse \[0.10.5]

- feat: List Claude Sonnet 4.5 as a reasoning model
([#&#8203;20022](https://redirect.github.com/run-llama/llama_index/pull/20022))
- feat: Support global cross-region inference profile prefix
([#&#8203;20064](https://redirect.github.com/run-llama/llama_index/pull/20064))
- Update utils.py for opus 4.1
([#&#8203;20076](https://redirect.github.com/run-llama/llama_index/pull/20076))
- 4.1 opus bedrockconverse missing in funcitoncalling models
([#&#8203;20084](https://redirect.github.com/run-llama/llama_index/pull/20084))
- Add haiku 4.5 support
([#&#8203;20092](https://redirect.github.com/run-llama/llama_index/pull/20092))

##### llama-index-llms-fireworks \[0.4.4]

- Add Support for Custom Models in Fireworks LLM
([#&#8203;20023](https://redirect.github.com/run-llama/llama_index/pull/20023))
- fix(llms/fireworks): Cannot use Fireworks Deepseek V3.1-20006 issue
([#&#8203;20028](https://redirect.github.com/run-llama/llama_index/pull/20028))

##### llama-index-llms-oci-genai \[0.6.3]

- Add support for xAI models in OCI GenAI
([#&#8203;20089](https://redirect.github.com/run-llama/llama_index/pull/20089))

##### llama-index-llms-openai \[0.6.4]

- Gpt 5 pro addition
([#&#8203;20029](https://redirect.github.com/run-llama/llama_index/pull/20029))
- fix collecting final response with openai responses streaming
([#&#8203;20037](https://redirect.github.com/run-llama/llama_index/pull/20037))
- Add support for GPT-5 models in utils.py (JSON\_SCHEMA\_MODELS)
([#&#8203;20045](https://redirect.github.com/run-llama/llama_index/pull/20045))
- chore: tool call block - part 1
([#&#8203;20074](https://redirect.github.com/run-llama/llama_index/pull/20074))

##### llama-index-llms-sglang \[0.1.0]

- Added Sglang llm integration
([#&#8203;20020](https://redirect.github.com/run-llama/llama_index/pull/20020))

##### llama-index-readers-gitlab \[0.5.1]

- feat(gitlab): add pagination params for repository tree and issues
([#&#8203;20052](https://redirect.github.com/run-llama/llama_index/pull/20052))

##### llama-index-readers-json \[0.4.2]

- vbump the JSON reader
([#&#8203;20039](https://redirect.github.com/run-llama/llama_index/pull/20039))

##### llama-index-readers-web \[0.5.5]

- fix: ScrapflyReader Pydantic validation error
([#&#8203;19999](https://redirect.github.com/run-llama/llama_index/pull/19999))

##### llama-index-storage-chat-store-dynamodb \[0.4.2]

- bump dynamodb chat store deps
([#&#8203;20078](https://redirect.github.com/run-llama/llama_index/pull/20078))

##### llama-index-tools-mcp \[0.4.2]

- 🐛 fix(tools/mcp): Fix dict type handling and reference resolution in …
([#&#8203;20082](https://redirect.github.com/run-llama/llama_index/pull/20082))

##### llama-index-tools-signnow \[0.1.0]

- feat(signnow): SignNow mcp tools integration
([#&#8203;20057](https://redirect.github.com/run-llama/llama_index/pull/20057))

##### llama-index-tools-tavily-research \[0.4.2]

- feat: Add Tavily extract function for URL content extraction
([#&#8203;20038](https://redirect.github.com/run-llama/llama_index/pull/20038))

##### llama-index-vector-stores-azurepostgresql \[0.2.0]

- Add hybrid search to Azure PostgreSQL integration
([#&#8203;20027](https://redirect.github.com/run-llama/llama_index/pull/20027))

##### llama-index-vector-stores-milvus \[0.9.3]

- fix: Milvus get\_field\_kwargs()
([#&#8203;20086](https://redirect.github.com/run-llama/llama_index/pull/20086))

##### llama-index-vector-stores-opensearch \[0.6.2]

- fix(opensearch): Correct version check for efficient filtering
([#&#8203;20067](https://redirect.github.com/run-llama/llama_index/pull/20067))

##### llama-index-vector-stores-qdrant \[0.8.6]

- fix(qdrant): Allow async-only initialization with hybrid search
([#&#8203;20005](https://redirect.github.com/run-llama/llama_index/pull/20005))

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

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-27 21:26:51 +00:00
Mend Renovate
19767c05ba chore(deps): update dependency go to v1.25.2 (#1649)
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v1.25.2`](https://redirect.github.com/golang/go/compare/go1.25.1...go1.25.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-27 20:54:16 +00:00
manuka rahul
ddd8b42bf3 docs: fix links (#1793)
Fixed the broken links
2025-10-27 19:15:23 +00:00
Twisha Bansal
5f39d4d2ae test: improve root coverage (#1791)
## Description

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-27 18:49:08 +00:00
Dr. Strangelove
4b0172083c fix: instructions to quote filters that include commas (#1794)
## Description

A filter value like `{"user.city": "New York, NY"}` gets interpretted by
Looker as a list of values, and so becomes SQL like
`IN ('New York', 'NY')`. Need to pass a filter value like `{"user.city":
"'New York, NY'"}`.

Add instructions to agents to properly quote filter values that contain
commas.

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [X] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [X] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [X] Ensure the tests and linter pass
- [X] Code coverage does not decrease (if any source code was changed)
- [X] Appropriate docs were updated (if necessary)
- [X] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1790
2025-10-27 17:49:05 +00:00
manuka rahul
de6bf7279d docs: fix broken links (#1757)
Fixed the broken links

---------

Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-27 21:46:47 +05:30
manuka rahul
927d4c6c8f docs: Update quickstart.js (#1788)
Removed the print statement
2025-10-26 16:03:27 +05:30
Mend Renovate
0c4230f7ae chore(deps): update module github.com/tmc/langchaingo to v0.1.14 (#1739)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/tmc/langchaingo](https://redirect.github.com/tmc/langchaingo)
| `v0.1.13` -> `v0.1.14` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2ftmc%2flangchaingo/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2ftmc%2flangchaingo/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>tmc/langchaingo (github.com/tmc/langchaingo)</summary>

###
[`v0.1.14`](https://redirect.github.com/tmc/langchaingo/releases/tag/v0.1.14)

[Compare
Source](https://redirect.github.com/tmc/langchaingo/compare/v0.1.13...v0.1.14)

#### What's Changed

- anthropic: Add support for multi content part and images content in
human messages. by [@&#8203;Neofox](https://redirect.github.com/Neofox)
in [#&#8203;1141](https://redirect.github.com/tmc/langchaingo/pull/1141)
- llms: implement StreamingReasoningFunc for reasoning models by
[@&#8203;douglarek](https://redirect.github.com/douglarek) in
[#&#8203;1125](https://redirect.github.com/tmc/langchaingo/pull/1125)
- ci: migrate linting golangci-lint to v2.0.2 by
[@&#8203;mdelapenya](https://redirect.github.com/mdelapenya) in
[#&#8203;1217](https://redirect.github.com/tmc/langchaingo/pull/1217)
- vectorstore: Add interfaces for Google AlloyDB and Cloud SQL by
[@&#8203;averikitsch](https://redirect.github.com/averikitsch) in
[#&#8203;1204](https://redirect.github.com/tmc/langchaingo/pull/1204)
- memory: add interfaces for Google AlloyDB and Cloud SQL by
[@&#8203;averikitsch](https://redirect.github.com/averikitsch) in
[#&#8203;1205](https://redirect.github.com/tmc/langchaingo/pull/1205)
- llms/openai: replace deprecated gpt-4-vision-preview with gpt-4o in
TestMultiContentImage by
[@&#8203;karsharma10](https://redirect.github.com/karsharma10) in
[#&#8203;1238](https://redirect.github.com/tmc/langchaingo/pull/1238)
- googleai: fix issue where gemini would ignore all but the first tool
by [@&#8203;jpoz](https://redirect.github.com/jpoz) in
[#&#8203;1244](https://redirect.github.com/tmc/langchaingo/pull/1244)
- vectorstores: add Bedrock Knowledge Bases vectorstore support by
[@&#8203;lucaronca](https://redirect.github.com/lucaronca) in
[#&#8203;1200](https://redirect.github.com/tmc/langchaingo/pull/1200)
- bedrock: Improve bedrock provider extraction from model id by
[@&#8203;lucaronca](https://redirect.github.com/lucaronca) in
[#&#8203;1135](https://redirect.github.com/tmc/langchaingo/pull/1135)
- duckduckgo: descriptive error message by
[@&#8203;lmorg](https://redirect.github.com/lmorg) in
[#&#8203;1260](https://redirect.github.com/tmc/langchaingo/pull/1260)
- examples: Fix examples and complete linting upgrade by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1288](https://redirect.github.com/tmc/langchaingo/pull/1288)
- httprr: add httprr package by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1296](https://redirect.github.com/tmc/langchaingo/pull/1296)
- all: add broad httprr coverage, update dependencies, organize go.mod
file, bump to 1.23 by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1299](https://redirect.github.com/tmc/langchaingo/pull/1299)
- googleai: Replace `textembedding-gecko` with `text-embedding-005` in
its PaLM Client by
[@&#8203;alanrichman](https://redirect.github.com/alanrichman) in
[#&#8203;1292](https://redirect.github.com/tmc/langchaingo/pull/1292)
- all: expand test coverage by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1312](https://redirect.github.com/tmc/langchaingo/pull/1312)
- docs: refactor documentation site content, structure by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1311](https://redirect.github.com/tmc/langchaingo/pull/1311)
- docs: follow-on and fix search indexing by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1313](https://redirect.github.com/tmc/langchaingo/pull/1313)
- docs:fix typo error, openAI and anthropic use withToken instead of wi…
by [@&#8203;BowieHe](https://redirect.github.com/BowieHe) in
[#&#8203;1314](https://redirect.github.com/tmc/langchaingo/pull/1314)
- vectorstores: add WithEndpoint option for Azure AI Search by
[@&#8203;thecoons](https://redirect.github.com/thecoons) in
[#&#8203;1308](https://redirect.github.com/tmc/langchaingo/pull/1308)
- deps: update dependencies by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1319](https://redirect.github.com/tmc/langchaingo/pull/1319)
- bedrockclient: add support for new Amazon Nova models by
[@&#8203;oryanmoshe](https://redirect.github.com/oryanmoshe) in
[#&#8203;1083](https://redirect.github.com/tmc/langchaingo/pull/1083)
- ollama: Fix path and align new payloads requirements by
[@&#8203;iButcat](https://redirect.github.com/iButcat) in
[#&#8203;1317](https://redirect.github.com/tmc/langchaingo/pull/1317)
- agents: Add more robust response handling to executor.go by
[@&#8203;xiazemin](https://redirect.github.com/xiazemin) in
[#&#8203;1316](https://redirect.github.com/tmc/langchaingo/pull/1316)
- prompts: Prompt template improvements and docs expansion by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1348](https://redirect.github.com/tmc/langchaingo/pull/1348)
- ollama: Add support for reasoning mode (think parameter) by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1349](https://redirect.github.com/tmc/langchaingo/pull/1349)
- ollama: Add httprr test recordings for think parameter by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1351](https://redirect.github.com/tmc/langchaingo/pull/1351)
- llms/openai: add OpenRouter support with streaming fix by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1350](https://redirect.github.com/tmc/langchaingo/pull/1350)
- deps: update Go version to 1.23.8 and toolchain to 1.24.6 by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1352](https://redirect.github.com/tmc/langchaingo/pull/1352)
- examples: update to use v0.1.14-pre.0 by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1353](https://redirect.github.com/tmc/langchaingo/pull/1353)
- llms/bedrock: fix whitespace formatting by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1360](https://redirect.github.com/tmc/langchaingo/pull/1360)
- llms/googleai: fix multi-tool support for Google AI and Vertex AI by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1361](https://redirect.github.com/tmc/langchaingo/pull/1361)
- vectorstores: add MariaDB and Dolt vector store implementations by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1363](https://redirect.github.com/tmc/langchaingo/pull/1363)
- agents: improve robustness of MRKL and OpenAI Functions agents by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1362](https://redirect.github.com/tmc/langchaingo/pull/1362)
- llms: fix memory and goroutine leaks in GoogleAI/Vertex and OpenAI
streaming by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1364](https://redirect.github.com/tmc/langchaingo/pull/1364)
- llms/openai: improve SSE comment handling in streaming responses by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1366](https://redirect.github.com/tmc/langchaingo/pull/1366)
- openai: add support for max\_tokens by
[@&#8203;kid-icarus](https://redirect.github.com/kid-icarus) in
[#&#8203;1359](https://redirect.github.com/tmc/langchaingo/pull/1359)
- openaiclient: add dimensions option while creating embeddings by
[@&#8203;JLugagne](https://redirect.github.com/JLugagne) in
[#&#8203;1338](https://redirect.github.com/tmc/langchaingo/pull/1338)
- llms/anthropic: allow streaming responses with tool use by
[@&#8203;jpoz](https://redirect.github.com/jpoz) in
[#&#8203;1343](https://redirect.github.com/tmc/langchaingo/pull/1343)
- llms/bedrock: add modelProvider option and Nova model support by
[@&#8203;dreamans](https://redirect.github.com/dreamans) in
[#&#8203;1346](https://redirect.github.com/tmc/langchaingo/pull/1346)
- googleai: ensure googleai schema conversion works with nested objects
and arrays by
[@&#8203;kid-icarus](https://redirect.github.com/kid-icarus) in
[#&#8203;1326](https://redirect.github.com/tmc/langchaingo/pull/1326)
- googleai: add `ReasoningContent` field to openai `GenerateContent`
functio… by
[@&#8203;topjohncian](https://redirect.github.com/topjohncian) in
[#&#8203;1324](https://redirect.github.com/tmc/langchaingo/pull/1324)
- bedrock: add tool calling support for Anthropic Claude models by
[@&#8203;manishiitg](https://redirect.github.com/manishiitg) in
[#&#8203;1327](https://redirect.github.com/tmc/langchaingo/pull/1327)
- llms/bedrock: complete Anthropic tool calling support by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1367](https://redirect.github.com/tmc/langchaingo/pull/1367)
- httprr: improve test recording stability and add utilities by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1368](https://redirect.github.com/tmc/langchaingo/pull/1368)
- Revert "openai: add support for max\_tokens
([#&#8203;1359](https://redirect.github.com/tmc/langchaingo/issues/1359))"
by [@&#8203;kid-icarus](https://redirect.github.com/kid-icarus) in
[#&#8203;1369](https://redirect.github.com/tmc/langchaingo/pull/1369)
- mongovector: fix expected error string in non-tokenized filter test by
[@&#8203;matthewdale](https://redirect.github.com/matthewdale) in
[#&#8203;1331](https://redirect.github.com/tmc/langchaingo/pull/1331)
- googleai: fix user provided embedding model getting overridden by
default model by
[@&#8203;ancalabrese](https://redirect.github.com/ancalabrese) in
[#&#8203;1307](https://redirect.github.com/tmc/langchaingo/pull/1307)
- openai: add robust max\_tokens support with backward compatibility by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1371](https://redirect.github.com/tmc/langchaingo/pull/1371)
- llms/ollama: fix panic when context is cancelled during streaming by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1372](https://redirect.github.com/tmc/langchaingo/pull/1372)
- examples: update examples to v0.1.14-pre.2 by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1373](https://redirect.github.com/tmc/langchaingo/pull/1373)
- docs: Tools Doc URL was not working by
[@&#8203;rafian-git](https://redirect.github.com/rafian-git) in
[#&#8203;1309](https://redirect.github.com/tmc/langchaingo/pull/1309)
- openai: fix temperature handling for reasoning models (GPT-5, o1, o3)
by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1374](https://redirect.github.com/tmc/langchaingo/pull/1374)
- test: improve test resilience and update provider APIs by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1377](https://redirect.github.com/tmc/langchaingo/pull/1377)
- test: improve test coverage and optimize storage with gzip compression
by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1378](https://redirect.github.com/tmc/langchaingo/pull/1378)
- examples: update examples to v0.1.14-pre.3 by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1379](https://redirect.github.com/tmc/langchaingo/pull/1379)
- openai: expose all available token usage details by
[@&#8203;rainu](https://redirect.github.com/rainu) in
[#&#8203;1278](https://redirect.github.com/tmc/langchaingo/pull/1278)
- openai: filter out open ai max token metadata by
[@&#8203;kid-icarus](https://redirect.github.com/kid-icarus) in
[#&#8203;1376](https://redirect.github.com/tmc/langchaingo/pull/1376)
- examples/groq: fix max\_tokens compatibility issue by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1382](https://redirect.github.com/tmc/langchaingo/pull/1382)
- examples/groq: fixup groq example by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1385](https://redirect.github.com/tmc/langchaingo/pull/1385)
- internal/httprr, vectorstores/azureaisearch: fix race conditions in
tests by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1381](https://redirect.github.com/tmc/langchaingo/pull/1381)
- tools/scraper: fix context cancellation hanging by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1383](https://redirect.github.com/tmc/langchaingo/pull/1383)
- agents,llms/anthropic: prevent panics in agent parsing and Anthropic
responses by [@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1380](https://redirect.github.com/tmc/langchaingo/pull/1380)
- llms: add prompt caching and reasoning token support by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1394](https://redirect.github.com/tmc/langchaingo/pull/1394)
- tools: Add max pages limit for scraper functionality by
[@&#8203;JJ-H](https://redirect.github.com/JJ-H) in
[#&#8203;1295](https://redirect.github.com/tmc/langchaingo/pull/1295)
- vectorstores/milvus: update deprecation notice for archived SDK by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1398](https://redirect.github.com/tmc/langchaingo/pull/1398)
- docs: complete the incomplete basic chat app tutorial by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1399](https://redirect.github.com/tmc/langchaingo/pull/1399)
- examples: update to v0.1.14-pre.4 by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1401](https://redirect.github.com/tmc/langchaingo/pull/1401)
- docs: fix API references and complete integration documentation by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1402](https://redirect.github.com/tmc/langchaingo/pull/1402)
- examples: fix typo in openai-chat-example.go of maximum tokens per
generation, old: 104 tokens, fix: 1024 tokens by
[@&#8203;SSSKrut](https://redirect.github.com/SSSKrut) in
[#&#8203;1392](https://redirect.github.com/tmc/langchaingo/pull/1392)
- llms: update model context sizes for GPT-4o and GPT-4 Turbo by
[@&#8203;paulnegz](https://redirect.github.com/paulnegz) in
[#&#8203;1389](https://redirect.github.com/tmc/langchaingo/pull/1389)
- documentloaders: add RecursiveDirectoryLoader that loads documents
with allowed extensions from a directory by
[@&#8203;zhu733756](https://redirect.github.com/zhu733756) in
[#&#8203;1386](https://redirect.github.com/tmc/langchaingo/pull/1386)
- httputil: enhance JSONDebugClient with SSE and header debugging by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1404](https://redirect.github.com/tmc/langchaingo/pull/1404)
- vectorstores/milvus: complete migration to new SDK v2 client by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1403](https://redirect.github.com/tmc/langchaingo/pull/1403)
- anthropic: add improved streaming thinking/reasoning token support by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1418](https://redirect.github.com/tmc/langchaingo/pull/1418)
- agents: fix ChainCallOption silent failure by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1420](https://redirect.github.com/tmc/langchaingo/pull/1420)
- llms/openai: sanitize HTTP errors to prevent API key exposure by
[@&#8203;tmc](https://redirect.github.com/tmc) in
[#&#8203;1419](https://redirect.github.com/tmc/langchaingo/pull/1419)
- agents: allow match from multiple lines for parseOutput function by
[@&#8203;hemarina](https://redirect.github.com/hemarina) in
[#&#8203;1415](https://redirect.github.com/tmc/langchaingo/pull/1415)

#### New Contributors

- [@&#8203;Neofox](https://redirect.github.com/Neofox) made their first
contribution in
[#&#8203;1141](https://redirect.github.com/tmc/langchaingo/pull/1141)
- [@&#8203;averikitsch](https://redirect.github.com/averikitsch) made
their first contribution in
[#&#8203;1204](https://redirect.github.com/tmc/langchaingo/pull/1204)
- [@&#8203;karsharma10](https://redirect.github.com/karsharma10) made
their first contribution in
[#&#8203;1238](https://redirect.github.com/tmc/langchaingo/pull/1238)
- [@&#8203;jpoz](https://redirect.github.com/jpoz) made their first
contribution in
[#&#8203;1244](https://redirect.github.com/tmc/langchaingo/pull/1244)
- [@&#8203;lmorg](https://redirect.github.com/lmorg) made their first
contribution in
[#&#8203;1260](https://redirect.github.com/tmc/langchaingo/pull/1260)
- [@&#8203;alanrichman](https://redirect.github.com/alanrichman) made
their first contribution in
[#&#8203;1292](https://redirect.github.com/tmc/langchaingo/pull/1292)
- [@&#8203;BowieHe](https://redirect.github.com/BowieHe) made their
first contribution in
[#&#8203;1314](https://redirect.github.com/tmc/langchaingo/pull/1314)
- [@&#8203;thecoons](https://redirect.github.com/thecoons) made their
first contribution in
[#&#8203;1308](https://redirect.github.com/tmc/langchaingo/pull/1308)
- [@&#8203;oryanmoshe](https://redirect.github.com/oryanmoshe) made
their first contribution in
[#&#8203;1083](https://redirect.github.com/tmc/langchaingo/pull/1083)
- [@&#8203;iButcat](https://redirect.github.com/iButcat) made their
first contribution in
[#&#8203;1317](https://redirect.github.com/tmc/langchaingo/pull/1317)
- [@&#8203;xiazemin](https://redirect.github.com/xiazemin) made their
first contribution in
[#&#8203;1316](https://redirect.github.com/tmc/langchaingo/pull/1316)
- [@&#8203;kid-icarus](https://redirect.github.com/kid-icarus) made
their first contribution in
[#&#8203;1359](https://redirect.github.com/tmc/langchaingo/pull/1359)
- [@&#8203;JLugagne](https://redirect.github.com/JLugagne) made their
first contribution in
[#&#8203;1338](https://redirect.github.com/tmc/langchaingo/pull/1338)
- [@&#8203;dreamans](https://redirect.github.com/dreamans) made their
first contribution in
[#&#8203;1346](https://redirect.github.com/tmc/langchaingo/pull/1346)
- [@&#8203;topjohncian](https://redirect.github.com/topjohncian) made
their first contribution in
[#&#8203;1324](https://redirect.github.com/tmc/langchaingo/pull/1324)
- [@&#8203;manishiitg](https://redirect.github.com/manishiitg) made
their first contribution in
[#&#8203;1327](https://redirect.github.com/tmc/langchaingo/pull/1327)
- [@&#8203;matthewdale](https://redirect.github.com/matthewdale) made
their first contribution in
[#&#8203;1331](https://redirect.github.com/tmc/langchaingo/pull/1331)
- [@&#8203;ancalabrese](https://redirect.github.com/ancalabrese) made
their first contribution in
[#&#8203;1307](https://redirect.github.com/tmc/langchaingo/pull/1307)
- [@&#8203;rafian-git](https://redirect.github.com/rafian-git) made
their first contribution in
[#&#8203;1309](https://redirect.github.com/tmc/langchaingo/pull/1309)
- [@&#8203;rainu](https://redirect.github.com/rainu) made their first
contribution in
[#&#8203;1278](https://redirect.github.com/tmc/langchaingo/pull/1278)
- [@&#8203;JJ-H](https://redirect.github.com/JJ-H) made their first
contribution in
[#&#8203;1295](https://redirect.github.com/tmc/langchaingo/pull/1295)
- [@&#8203;SSSKrut](https://redirect.github.com/SSSKrut) made their
first contribution in
[#&#8203;1392](https://redirect.github.com/tmc/langchaingo/pull/1392)
- [@&#8203;paulnegz](https://redirect.github.com/paulnegz) made their
first contribution in
[#&#8203;1389](https://redirect.github.com/tmc/langchaingo/pull/1389)
- [@&#8203;zhu733756](https://redirect.github.com/zhu733756) made their
first contribution in
[#&#8203;1386](https://redirect.github.com/tmc/langchaingo/pull/1386)
- [@&#8203;hemarina](https://redirect.github.com/hemarina) made their
first contribution in
[#&#8203;1415](https://redirect.github.com/tmc/langchaingo/pull/1415)

**Full Changelog**:
<https://github.com/tmc/langchaingo/compare/v0.1.13...v0.1.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 22:41:05 +00:00
Mend Renovate
9379c02b24 chore(deps): update dependency langgraph to v1 (#1735)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [langgraph](https://redirect.github.com/langchain-ai/langgraph) |
`==0.6.8` -> `==1.0.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/langgraph/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/langgraph/0.6.8/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>langchain-ai/langgraph (langgraph)</summary>

###
[`v1.0.1`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/1.0.1)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/1.0.0...1.0.1)

Changes since 1.0.0

- release: Checkpointers 3.0
([#&#8203;6313](https://redirect.github.com/langchain-ai/langgraph/issues/6313))
- chore: Restrict "json" type deserialization
([#&#8203;6269](https://redirect.github.com/langchain-ai/langgraph/issues/6269))

###
[`v1.0.0`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/1.0.0)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/0.6.11...1.0.0)

Changes since 1.0.0rc1

- release: langgraph + langgraph-prebuilt v1.0.0
([#&#8203;6300](https://redirect.github.com/langchain-ai/langgraph/issues/6300))
- feat: adding cursory Python 3.14 support
([#&#8203;6298](https://redirect.github.com/langchain-ai/langgraph/issues/6298))
- style: fixes for ref docs
([#&#8203;6297](https://redirect.github.com/langchain-ai/langgraph/issues/6297))

###
[`v0.6.11`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/0.6.11)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/0.6.10...0.6.11)

Changes since 0.6.10

- chore: Allow checkpoint 3.0 in 0.6.\*
([#&#8203;6315](https://redirect.github.com/langchain-ai/langgraph/issues/6315))

###
[`v0.6.10`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/0.6.10)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/0.6.9...0.6.10)

Changes since 0.6.9

- chore(langgraph): bump langgraph version
([#&#8203;6257](https://redirect.github.com/langchain-ai/langgraph/issues/6257))
- fix(langgraph): revert selective interrupt task scheduling
([#&#8203;6252](https://redirect.github.com/langchain-ai/langgraph/issues/6252))

###
[`v0.6.9`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/0.6.9)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/0.6.8...0.6.9)

Changes since 1.0.0a4

- chore(langgraph): bump version
([#&#8203;6245](https://redirect.github.com/langchain-ai/langgraph/issues/6245))
- chore(checkpoint): bump patch version
([#&#8203;6244](https://redirect.github.com/langchain-ai/langgraph/issues/6244))
- fix(langgraph): selective interrupt task scheduling
([#&#8203;6158](https://redirect.github.com/langchain-ai/langgraph/issues/6158))
- fix(langgraph): task result from stream mode debug / tasks should
match format from get\_state\_history / get\_state
([#&#8203;6233](https://redirect.github.com/langchain-ai/langgraph/issues/6233))
- fix(langgraph): don't use rst code blocks in docstrings
([#&#8203;6231](https://redirect.github.com/langchain-ai/langgraph/issues/6231))
- docs(langgraph): standardize version-added admonitions
([#&#8203;6230](https://redirect.github.com/langchain-ai/langgraph/issues/6230))
- fix(langgraph): fix supersteps not populating task.result field
([#&#8203;6195](https://redirect.github.com/langchain-ai/langgraph/issues/6195))
- fix(langgraph): revert -- reuse cached writes on nested resume to
prevent task re-execution
([#&#8203;6227](https://redirect.github.com/langchain-ai/langgraph/issues/6227))
- chore(checkpoint-postgres): bump version
([#&#8203;6222](https://redirect.github.com/langchain-ai/langgraph/issues/6222))

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 22:16:08 +00:00
Mend Renovate
245e0d319d chore(deps): update module github.com/openai/openai-go/v3 to v3.6.1 (#1723)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/openai/openai-go/v3](https://redirect.github.com/openai/openai-go)
| `v3.3.0` -> `v3.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopenai%2fopenai-go%2fv3/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopenai%2fopenai-go%2fv3/v3.3.0/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>openai/openai-go (github.com/openai/openai-go/v3)</summary>

###
[`v3.6.1`](https://redirect.github.com/openai/openai-go/releases/tag/v3.6.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.6.0...v3.6.1)

#### 3.6.1 (2025-10-20)

Full Changelog:
[v3.6.0...v3.6.1](https://redirect.github.com/openai/openai-\[go/compare/v3.6.0...v3.6.1]\(https://www.golinks.io/compare/v3.6.0...v3.6.1?trackSource=github\))

##### Bug Fixes

- **api:** fix discriminator propertyName for ResponseFormatJsonSchema
([57b0505](57b0505361\)))

###
[`v3.6.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#360-2025-10-20)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.5.0...v3.6.0)

Full Changelog:
[v3.5.0...v3.6.0](https://redirect.github.com/openai/openai-go/compare/v3.5.0...v3.6.0)

##### Features

- **api:** Add responses.input\_tokens.count
([a43f2ce](a43f2cef13))

##### Bug Fixes

- **api:** internal openapi updates
([7ad9b02](7ad9b02d1e))

###
[`v3.5.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.5.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.4.0...v3.5.0)

#### 3.5.0 (2025-10-17)

Full Changelog:
[v3.4.0...v3.5.0](https://redirect.github.com/openai/openai-go/compare/v3.4.0...v3.5.0)

##### Features

- **api:** api update
([1aa78dd](1aa78dda7a))

###
[`v3.4.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.4.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.3.0...v3.4.0)

#### 3.4.0 (2025-10-16)

Full Changelog:
[v3.3.0...v3.4.0](https://redirect.github.com/openai/openai-go/compare/v3.3.0...v3.4.0)

##### Features

- **api:** Add support for gpt-4o-transcribe-diarize on
audio/transcriptions endpoint
([ee32400](ee32400f70))

##### Chores

- **api:** internal updates
([74c8031](74c8031304))
- **client:** undo more naming changes
([db441bc](db441bcb7f))
- **client:** undo some naming changes
([a5aa3d6](a5aa3d6e0d))

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 21:46:36 +00:00
Mend Renovate
cffb0837a1 chore(deps): update module github.com/valkey-io/valkey-go to v1.0.67 (#1702)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/valkey-io/valkey-go](https://redirect.github.com/valkey-io/valkey-go)
| `v1.0.66` -> `v1.0.67` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvalkey-io%2fvalkey-go/v1.0.67?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvalkey-io%2fvalkey-go/v1.0.66/v1.0.67?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>valkey-io/valkey-go (github.com/valkey-io/valkey-go)</summary>

###
[`v1.0.67`](https://redirect.github.com/valkey-io/valkey-go/releases/tag/v1.0.67):
1.0.67

[Compare
Source](https://redirect.github.com/valkey-io/valkey-go/compare/v1.0.66...v1.0.67)

### Changes

- feat: support new filters in Valkey 8.1/9.0 `CLIENT LIST` and `Client
KILL` commands.
- feat: support Valkey `CLIENT CAPA redirect` for standalone clients
with `StandaloneOption.EnableRedirect`.
- fix: don't send `READONLY` for standalone clients.
- docs: improve markdown formatting and update documentation links,
configurations.

#### Contributors

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

[@&#8203;AvinashAbbigeri](https://redirect.github.com/AvinashAbbigeri),
[@&#8203;SoulPancake](https://redirect.github.com/SoulPancake),
[@&#8203;appleboy](https://redirect.github.com/appleboy),
[@&#8203;justinmayhew](https://redirect.github.com/justinmayhew) and
[@&#8203;rueian](https://redirect.github.com/rueian)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 20:00:24 +00:00
Mend Renovate
7add5e2f2c chore(deps): update dependency google-genai to v1.46.0 (#1693)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [google-genai](https://redirect.github.com/googleapis/python-genai) |
`==1.42.0` -> `==1.46.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/google-genai/1.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/google-genai/1.42.0/1.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/python-genai (google-genai)</summary>

###
[`v1.46.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1460-2025-10-21)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.45.0...v1.46.0)

##### Features

- Add enable\_enhanced\_civic\_answers in GenerationConfig
([6c1dae7](6c1dae7984))
- Support custom httpx clients
([694a6bd](694a6bdc29))
- Support jailbreak in HarmCategory and BlockedReason
([011e218](011e218b8d))

##### Bug Fixes

- Remove bytes for Gemini Developer API before sending a video for Veo
Video Extension async
([9ccc6ce](9ccc6cea79))

##### Documentation

- Regenerate docs for 1.45.0
([9b7632d](9b7632d95c))
- Update README with Gempix example (nano-banana)
([ac2bc42](ac2bc4205a))

###
[`v1.45.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1450-2025-10-15)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.44.0...v1.45.0)

##### Features

- Add support for Python 3.14.
([f0083a2](f0083a2ee3))

##### Bug Fixes

- Keys in Live API tool responses are incorrectly re-cased
([57a4765](57a4765b66))

###
[`v1.44.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1440-2025-10-15)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.43.0...v1.44.0)

##### Features

- Support fully override base\_url and raw model name when none of the
project, locations, api\_key are configured
([160997e](160997e7c0))
- Support video extension for Veo on Gemini Developer API
([341ea77](341ea77f97))

##### Bug Fixes

- Avoid potential dual import confusion in type assert
([9cc4a72](9cc4a72405))

##### Documentation

- Refresh docs.
([9c8147b](9c8147bfd2))

###
[`v1.43.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1430-2025-10-10)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.42.0...v1.43.0)

##### Features

- Enable Google Maps tool for Genai.
([dc77a1d](dc77a1d606))
- Support enableWidget feature in GoogleMaps
([1737f72](1737f72c24))
- Support Gemini batch inline request's metadata and add test coverage
to safety setting
([7dcc969](7dcc969e29))

##### Documentation

- Regenerate updated Python docs
([e6989a3](e6989a35ac))

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 19:21:27 +00:00
Mend Renovate
abe8776879 chore(deps): update github actions (major) (#1640)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v4` -> `v5` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | major | `v5` -> `v6` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | major | `v4` -> `v6` |

---

### Release Notes

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

### [`v5`](https://redirect.github.com/actions/checkout/compare/v4...v5)

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

</details>

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

###
[`v6`](https://redirect.github.com/actions/setup-node/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v5...v6)

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

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 18:56:16 +00:00
Mend Renovate
012d7de67e chore(deps): update dependency llama-index to v0.14.4 (#1626)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [llama-index](https://redirect.github.com/run-llama/llama_index) |
`==0.14.3` -> `==0.14.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/llama-index/0.14.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/llama-index/0.14.3/0.14.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>run-llama/llama_index (llama-index)</summary>

###
[`v0.14.4`](https://redirect.github.com/run-llama/llama_index/blob/HEAD/CHANGELOG.md#2025-10-03)

[Compare
Source](https://redirect.github.com/run-llama/llama_index/compare/v0.14.3...v0.14.4)

##### llama-index-core \[0.14.4]

- fix pre-release installs
([#&#8203;20010](https://redirect.github.com/run-llama/llama_index/pull/20010))

##### llama-index-embeddings-anyscale \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-embeddings-baseten \[0.1.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-embeddings-fireworks \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-embeddings-opea \[0.2.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-embeddings-text-embeddings-inference \[0.4.2]

- Fix authorization header setup logic in text embeddings inference
([#&#8203;19979](https://redirect.github.com/run-llama/llama_index/pull/19979))

##### llama-index-llms-anthropic \[0.9.3]

- feat: add anthropic sonnet 4.5
([#&#8203;19977](https://redirect.github.com/run-llama/llama_index/pull/19977))

##### llama-index-llms-anyscale \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-azure-openai \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-baseten \[0.1.5]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-bedrock-converse \[0.9.5]

- feat: Additional support for Claude Sonnet 4.5
([#&#8203;19980](https://redirect.github.com/run-llama/llama_index/pull/19980))

##### llama-index-llms-deepinfra \[0.5.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-everlyai \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-fireworks \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-google-genai \[0.6.2]

- Fix for ValueError: ChatMessage contains multiple blocks, use 'ChatMe…
([#&#8203;19954](https://redirect.github.com/run-llama/llama_index/pull/19954))

##### llama-index-llms-keywordsai \[1.1.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-localai \[0.5.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-mistralai \[0.8.2]

- Update list of MistralAI LLMs
([#&#8203;19981](https://redirect.github.com/run-llama/llama_index/pull/19981))

##### llama-index-llms-monsterapi \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-nvidia \[0.4.4]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-ollama \[0.7.4]

- Fix `TypeError: unhashable type: 'dict'` in Ollama stream chat with
tools
([#&#8203;19938](https://redirect.github.com/run-llama/llama_index/pull/19938))

##### llama-index-llms-openai \[0.6.1]

- feat(OpenAILike): support structured outputs
([#&#8203;19967](https://redirect.github.com/run-llama/llama_index/pull/19967))

##### llama-index-llms-openai-like \[0.5.3]

- feat(OpenAILike): support structured outputs
([#&#8203;19967](https://redirect.github.com/run-llama/llama_index/pull/19967))

##### llama-index-llms-openrouter \[0.4.2]

- chore(openrouter,anthropic): add py.typed
([#&#8203;19966](https://redirect.github.com/run-llama/llama_index/pull/19966))

##### llama-index-llms-perplexity \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-portkey \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-sarvam \[0.2.1]

- fixed Sarvam Integration and Typos (Fixes
[#&#8203;19931](https://redirect.github.com/run-llama/llama_index/issues/19931))
([#&#8203;19932](https://redirect.github.com/run-llama/llama_index/pull/19932))

##### llama-index-llms-upstage \[0.6.4]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-llms-yi \[0.4.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-memory-bedrock-agentcore \[0.1.0]

- feat: Bedrock AgentCore Memory integration
([#&#8203;19953](https://redirect.github.com/run-llama/llama_index/pull/19953))

##### llama-index-multi-modal-llms-openai \[0.6.2]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-readers-confluence \[0.4.4]

- Fix: Respect cloud parameter when fetching child pages in ConfluenceR…
([#&#8203;19983](https://redirect.github.com/run-llama/llama_index/pull/19983))

##### llama-index-readers-service-now \[0.2.2]

- Bug Fix :- Not Able to Fetch Page whose latest is empty or null
([#&#8203;19916](https://redirect.github.com/run-llama/llama_index/pull/19916))

##### llama-index-selectors-notdiamond \[0.4.0]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-tools-agentql \[1.2.0]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-tools-playwright \[0.3.1]

- chore: fix playwright tests
([#&#8203;19946](https://redirect.github.com/run-llama/llama_index/pull/19946))

##### llama-index-tools-scrapegraph \[0.2.2]

- feat: update scrapegraphai
([#&#8203;19974](https://redirect.github.com/run-llama/llama_index/pull/19974))

##### llama-index-vector-stores-chroma \[0.5.3]

- docs: fix query method docstring in ChromaVectorStore Fixes
[#&#8203;19969](https://redirect.github.com/run-llama/llama_index/issues/19969)
([#&#8203;19973](https://redirect.github.com/run-llama/llama_index/pull/19973))

##### llama-index-vector-stores-mongodb \[0.8.1]

- fix llm deps for openai
([#&#8203;19944](https://redirect.github.com/run-llama/llama_index/pull/19944))

##### llama-index-vector-stores-postgres \[0.7.0]

- fix index creation in postgres vector store
([#&#8203;19955](https://redirect.github.com/run-llama/llama_index/pull/19955))

##### llama-index-vector-stores-solr \[0.1.0]

- Add ApacheSolrVectorStore Integration
([#&#8203;19933](https://redirect.github.com/run-llama/llama_index/pull/19933))

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

Co-authored-by: Harsh Jha <83023263+rapid-killer-9@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 14:31:39 -04:00
dependabot[bot]
265c340849 chore(deps): bump axios from 1.11.0 to 1.12.2 in /docs/en/getting-started/quickstart/js/langchain (#1585)
Bumps [axios](https://github.com/axios/axios) from 1.11.0 to 1.12.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.12.2</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>fetch:</strong> use current global fetch instead of cached
one when env fetch is not specified to keep MSW support; (<a
href="https://redirect.github.com/axios/axios/issues/7030">#7030</a>)
(<a
href="cf78825e12">cf78825</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+247/-16
([#7030](https://github.com/axios/axios/issues/7030)
[#7022](https://github.com/axios/axios/issues/7022)
[#7024](https://github.com/axios/axios/issues/7024) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/noritaka1166"
title="+2/-6 ([#7028](https://github.com/axios/axios/issues/7028)
[#7029](https://github.com/axios/axios/issues/7029) )">Noritaka
Kobayashi</a></li>
</ul>
<h2>Release v1.12.1</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>types:</strong> fixed env config types; (<a
href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>)
(<a
href="b5f26b75bd">b5f26b7</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+10/-4
([#7020](https://github.com/axios/axios/issues/7020) )">Dmitriy
Mozgovoy</a></li>
</ul>
<h2>Release v1.12.0</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li>adding build artifacts (<a
href="9ec86de257">9ec86de</a>)</li>
<li>dont add dist on release (<a
href="a2edc3606a">a2edc36</a>)</li>
<li><strong>fetch-adapter:</strong> set correct Content-Type for Node
FormData (<a
href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>)
(<a
href="a9f47afbf3">a9f47af</a>)</li>
<li><strong>node:</strong> enforce maxContentLength for data: URLs (<a
href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>)
(<a
href="945435fc51">945435f</a>)</li>
<li>package exports (<a
href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>)
(<a
href="aa78ac23fc">aa78ac2</a>)</li>
<li><strong>params:</strong> removing '[' and ']' from URL encode
exclude characters (<a
href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>)
(<a
href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>)
(<a
href="6d84189349">6d84189</a>)</li>
<li>release pr run (<a
href="fd7f404488">fd7f404</a>)</li>
<li><strong>types:</strong> change the type guard on isCancel (<a
href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>)
(<a
href="0dbb7fd4f6">0dbb7fd</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>adapter:</strong> surface low‑level network error details;
attach original error via cause (<a
href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>)
(<a
href="78b290c57c">78b290c</a>)</li>
<li><strong>fetch:</strong> add fetch, Request, Response env config
variables for the adapter; (<a
href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>)
(<a
href="c959ff2901">c959ff2</a>)</li>
<li>support reviver on JSON.parse (<a
href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>)
(<a
href="2a9763426e">2a97634</a>),
closes <a
href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li>
<li><strong>types:</strong> extend AxiosResponse interface to include
custom headers type (<a
href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>)
(<a
href="7960d34ede">7960d34</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/WillianAgostini" title="+132/-16760
([#7002](https://github.com/axios/axios/issues/7002)
[#5926](https://github.com/axios/axios/issues/5926)
[#6782](https://github.com/axios/axios/issues/6782) )">Willian
Agostini</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+4263/-293
([#7006](https://github.com/axios/axios/issues/7006)
[#7003](https://github.com/axios/axios/issues/7003) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/mkhani01"
title="+111/-15 ([#6982](https://github.com/axios/axios/issues/6982)
)">khani</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/AmeerAssadi"
title="+123/-0 ([#7011](https://github.com/axios/axios/issues/7011)
)">Ameer Assadi</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/emiedonmokumo"
title="+55/-35 ([#6998](https://github.com/axios/axios/issues/6998)
)">Emiedonmokumo Dick-Boro</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/opsysdebug"
title="+8/-8 ([#6980](https://github.com/axios/axios/issues/6980)
)">Zeroday BYTE</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.12.1...v1.12.2">1.12.2</a>
(2025-09-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>fetch:</strong> use current global fetch instead of cached
one when env fetch is not specified to keep MSW support; (<a
href="https://redirect.github.com/axios/axios/issues/7030">#7030</a>)
(<a
href="cf78825e12">cf78825</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+247/-16
([#7030](https://github.com/axios/axios/issues/7030)
[#7022](https://github.com/axios/axios/issues/7022)
[#7024](https://github.com/axios/axios/issues/7024) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/noritaka1166"
title="+2/-6 ([#7028](https://github.com/axios/axios/issues/7028)
[#7029](https://github.com/axios/axios/issues/7029) )">Noritaka
Kobayashi</a></li>
</ul>
<h2><a
href="https://github.com/axios/axios/compare/v1.12.0...v1.12.1">1.12.1</a>
(2025-09-12)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>types:</strong> fixed env config types; (<a
href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>)
(<a
href="b5f26b75bd">b5f26b7</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+10/-4
([#7020](https://github.com/axios/axios/issues/7020) )">Dmitriy
Mozgovoy</a></li>
</ul>
<h1><a
href="https://github.com/axios/axios/compare/v1.11.0...v1.12.0">1.12.0</a>
(2025-09-11)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>adding build artifacts (<a
href="9ec86de257">9ec86de</a>)</li>
<li>dont add dist on release (<a
href="a2edc3606a">a2edc36</a>)</li>
<li><strong>fetch-adapter:</strong> set correct Content-Type for Node
FormData (<a
href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>)
(<a
href="a9f47afbf3">a9f47af</a>)</li>
<li><strong>node:</strong> enforce maxContentLength for data: URLs (<a
href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>)
(<a
href="945435fc51">945435f</a>)</li>
<li>package exports (<a
href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>)
(<a
href="aa78ac23fc">aa78ac2</a>)</li>
<li><strong>params:</strong> removing '[' and ']' from URL encode
exclude characters (<a
href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>)
(<a
href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>)
(<a
href="6d84189349">6d84189</a>)</li>
<li>release pr run (<a
href="fd7f404488">fd7f404</a>)</li>
<li><strong>types:</strong> change the type guard on isCancel (<a
href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>)
(<a
href="0dbb7fd4f6">0dbb7fd</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>adapter:</strong> surface low‑level network error details;
attach original error via cause (<a
href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>)
(<a
href="78b290c57c">78b290c</a>)</li>
<li><strong>fetch:</strong> add fetch, Request, Response env config
variables for the adapter; (<a
href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>)
(<a
href="c959ff2901">c959ff2</a>)</li>
<li>support reviver on JSON.parse (<a
href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>)
(<a
href="2a9763426e">2a97634</a>),
closes <a
href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li>
<li><strong>types:</strong> extend AxiosResponse interface to include
custom headers type (<a
href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>)
(<a
href="7960d34ede">7960d34</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/WillianAgostini" title="+132/-16760
([#7002](https://github.com/axios/axios/issues/7002)
[#5926](https://github.com/axios/axios/issues/5926)
[#6782](https://github.com/axios/axios/issues/6782) )">Willian
Agostini</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+4263/-293
([#7006](https://github.com/axios/axios/issues/7006)
[#7003](https://github.com/axios/axios/issues/7003) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/mkhani01"
title="+111/-15 ([#6982](https://github.com/axios/axios/issues/6982)
)">khani</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e5a33366d7"><code>e5a3336</code></a>
chore(release): v1.12.2 (<a
href="https://redirect.github.com/axios/axios/issues/7031">#7031</a>)</li>
<li><a
href="38726c7586"><code>38726c7</code></a>
refactor: change if in else to else if (<a
href="https://redirect.github.com/axios/axios/issues/7028">#7028</a>)</li>
<li><a
href="cf78825e12"><code>cf78825</code></a>
fix(fetch): use current global fetch instead of cached one when env
fetch is ...</li>
<li><a
href="c26d00f451"><code>c26d00f</code></a>
refactor: remove redundant assignment (<a
href="https://redirect.github.com/axios/axios/issues/7029">#7029</a>)</li>
<li><a
href="9fb41a8fcd"><code>9fb41a8</code></a>
chore(ci): add local HTTP server for Karma tests; (<a
href="https://redirect.github.com/axios/axios/issues/7022">#7022</a>)</li>
<li><a
href="19f9f36850"><code>19f9f36</code></a>
docs(readme): add custom fetch section; (<a
href="https://redirect.github.com/axios/axios/issues/7024">#7024</a>)</li>
<li><a
href="3cac78c2de"><code>3cac78c</code></a>
chore(release): v1.12.1 (<a
href="https://redirect.github.com/axios/axios/issues/7021">#7021</a>)</li>
<li><a
href="b5f26b75bd"><code>b5f26b7</code></a>
fix(types): fixed env config types; (<a
href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>)</li>
<li><a
href="0d8ad6e1de"><code>0d8ad6e</code></a>
chore(release): v1.12.0 (<a
href="https://redirect.github.com/axios/axios/issues/7013">#7013</a>)</li>
<li><a
href="fd7f404488"><code>fd7f404</code></a>
fix: release pr run</li>
<li>Additional commits viewable in <a
href="https://github.com/axios/axios/compare/v1.11.0...v1.12.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.11.0&new-version=1.12.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>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-24 17:32:17 +00:00
Dave Borowitz
816dbce268 feat(serverless-spark): Add serverless-spark source with list_batches tool
Built as a thin wrapper over the official Google Cloud Dataproc Go
client library, with support for filtering and pagination.
2025-10-23 20:40:52 -07:00
nester-neo4j
f475da63ce feat(neo4j): Add dry_run parameter to validate Cypher queries (#1769)
This pull request adds support for a new `dry_run` mode to the Neo4j
Cypher execution tool, allowing users to validate queries and view
execution plans without running them. It also sets a custom user agent
for Neo4j connections and improves error handling and documentation. The
most important changes are grouped below.

### New dry run feature for Cypher execution

* Added an optional `dry_run` boolean parameter to the
`neo4j-execute-cypher` tool, allowing users to validate Cypher queries
and receive execution plan details without running the query. The tool
now prepends `EXPLAIN` to the query when `dry_run` is true and returns a
structured summary of the execution plan.
[[1]](diffhunk://#diff-de7fdd7e68c95ea9813c704a89fffb8fd6de34e81b43a484623fdff7683e18f3L87-R93)
[[2]](diffhunk://#diff-de7fdd7e68c95ea9813c704a89fffb8fd6de34e81b43a484623fdff7683e18f3R155-R188)
[[3]](diffhunk://#diff-de7fdd7e68c95ea9813c704a89fffb8fd6de34e81b43a484623fdff7683e18f3R219-R236)
[[4]](diffhunk://#diff-1dca93fc9450e9b9ea64bc1ae02774c3198ea6f8310b2437815bd1a5eae11e79L30-R32)
* Updated integration tests to cover the new `dry_run` functionality,
including successful dry runs, error handling for invalid syntax, and
enforcement of read-only mode.
[[1]](diffhunk://#diff-b07de4a304bc72964b5de9481cbc6aec6cf9bb9dabd903a837eb8974e7100a90R163-R169)
[[2]](diffhunk://#diff-b07de4a304bc72964b5de9481cbc6aec6cf9bb9dabd903a837eb8974e7100a90R250-R291)

### Improved error handling

* Enhanced error messages for parameter casting in the tool's `Invoke`
method to clarify issues with input parameters.

### Neo4j driver configuration

* Set a custom user agent (`genai-toolbox/neo4j-source`) for Neo4j
driver connections to help identify requests from this tool.
[[1]](diffhunk://#diff-3f0444add0913f1722d678118ffedc70039cca3603f31c9927c06be5e00ffb29R24-R29)
[[2]](diffhunk://#diff-3f0444add0913f1722d678118ffedc70039cca3603f31c9927c06be5e00ffb29L109-R113)

### Documentation updates

* Updated the documentation to describe the new `dry_run` parameter and
its usage for query validation.

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-23 15:22:13 -07:00
Mend Renovate
eb04e0d595 chore(deps): update module github.com/redis/go-redis/v9 to v9.16.0 (#1778)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/redis/go-redis/v9](https://redirect.github.com/redis/go-redis)
| `v9.14.1` -> `v9.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fredis%2fgo-redis%2fv9/v9.16.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.14.1/v9.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### 🚀 Highlights

##### Maintenance Notifications Support

This release introduces comprehensive support for Redis maintenance
notifications, enabling applications to handle server maintenance events
gracefully. The new `maintnotifications` package provides:

- **RESP3 Push Notifications**: Full support for Redis RESP3 protocol
push notifications
- **Connection Handoff**: Automatic connection migration during server
maintenance with configurable retry policies and circuit breakers
- **Graceful Degradation**: Configurable timeout relaxation during
maintenance windows to prevent false failures
- **Event-Driven Architecture**: Background workers with on-demand
scaling for efficient handoff processing

For detailed usage examples and configuration options, see the
[maintenance notifications
documentation](https://redirect.github.com/redis/go-redis/tree/master/maintnotifications).

####  New Features

- **Trace Filtering**: Add support for filtering traces for specific
commands, including pipeline operations and dial operations
([#&#8203;3519](https://redirect.github.com/redis/go-redis/pull/3519),
[#&#8203;3550](https://redirect.github.com/redis/go-redis/pull/3550))
  - New `TraceCmdFilter` option to selectively trace commands
- Reduces overhead by excluding high-frequency or low-value commands
from traces

#### 🐛 Bug Fixes

- **Pipeline Error Handling**: Fix issue where pipeline repeatedly sets
the same error
([#&#8203;3525](https://redirect.github.com/redis/go-redis/pull/3525))
- **Connection Pool**: Ensure re-authentication does not interfere with
connection handoff operations
([#&#8203;3547](https://redirect.github.com/redis/go-redis/pull/3547))

#### 🔧 Improvements

- **Hash Commands**: Update hash command implementations
([#&#8203;3523](https://redirect.github.com/redis/go-redis/pull/3523))
- **OpenTelemetry**: Use `metric.WithAttributeSet` to avoid unnecessary
attribute copying in redisotel
([#&#8203;3552](https://redirect.github.com/redis/go-redis/pull/3552))

#### 📚 Documentation

- **Cluster Client**: Add explanation for why `MaxRetries` is disabled
for `ClusterClient`
([#&#8203;3551](https://redirect.github.com/redis/go-redis/pull/3551))

#### 🧪 Testing & Infrastructure

- **E2E Testing**: Upgrade E2E testing framework with improved
reliability and coverage
([#&#8203;3541](https://redirect.github.com/redis/go-redis/pull/3541))
- **Release Process**: Improved resiliency of the release process
([#&#8203;3530](https://redirect.github.com/redis/go-redis/pull/3530))

#### 📦 Dependencies

- Bump `rojopolis/spellcheck-github-actions` from 0.51.0 to 0.52.0
([#&#8203;3520](https://redirect.github.com/redis/go-redis/pull/3520))
- Bump `github/codeql-action` from 3 to 4
([#&#8203;3544](https://redirect.github.com/redis/go-redis/pull/3544))

#### 👥 Contributors

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

[@&#8203;ndyakov](https://redirect.github.com/ndyakov),
[@&#8203;htemelski-redis](https://redirect.github.com/htemelski-redis),
[@&#8203;Sovietaced](https://redirect.github.com/Sovietaced),
[@&#8203;Udhayarajan](https://redirect.github.com/Udhayarajan),
[@&#8203;boekkooi-impossiblecloud](https://redirect.github.com/boekkooi-impossiblecloud),
[@&#8203;Pika-Gopher](https://redirect.github.com/Pika-Gopher),
[@&#8203;cxljs](https://redirect.github.com/cxljs),
[@&#8203;huiyifyj](https://redirect.github.com/huiyifyj),
[@&#8203;omid-h70](https://redirect.github.com/omid-h70)

***

**Full Changelog**:
<https://github.com/redis/go-redis/compare/v9.14.0...v9.16.0>

###
[`v9.15.1`](https://redirect.github.com/redis/go-redis/releases/tag/v9.15.1):
Retract v9.15.0 and v9.15.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-23 14:52:05 -07:00
Ajaykumar Yadav
7a88161f02 feat(server): Expand init logs to list names of sources,toolsets,tools,authservices (#1117)
Description
Expanded init/startup logs
<img width="2248" height="291" alt="image"
src="https://github.com/user-attachments/assets/026d0382-a752-4b8f-b5fd-ba59a8d9e8cf"
/>

Related issue(s)
fixed: https://github.com/googleapis/genai-toolbox/issues/1089

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-23 17:01:11 -04:00
release-please[bot]
3ca58b1349 chore(main): release 0.18.0 (#1719)
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](https://github.com/googleapis/genai-toolbox/compare/v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](https://github.com/googleapis/genai-toolbox/issues/1770))
([eaf7740](eaf77406fd))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](https://github.com/googleapis/genai-toolbox/issues/1673))
([089081f](089081feb0))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](https://github.com/googleapis/genai-toolbox/issues/1707))
([eeb694c](eeb694c20f))
* **sources/mysql:** Escape program_name for MySQL
([#1717](https://github.com/googleapis/genai-toolbox/issues/1717))
([02f7f8a](02f7f8af97))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](https://github.com/googleapis/genai-toolbox/issues/1761))
([a06d0d8](a06d0d8735))
* **tools/http:** Omit optional nil query parameters
([#1762](https://github.com/googleapis/genai-toolbox/issues/1762))
([bd16ba3](bd16ba3921))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](https://github.com/googleapis/genai-toolbox/issues/1758))
([336de1b](336de1bd04))

---
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>
2025-10-23 18:14:44 +00:00
Wenxin Du
72a94c083e ci: add v0.18.0 docs version (#1775) 2025-10-23 17:48:34 +00:00
Wenxin Du
d95bbb58cd chore: release 0.18.0 (#1776)
Release-As: 0.18.0
2025-10-23 13:33:52 -04:00
Wenxin Du
bd16ba3921 fix(tools/http): omit optional nil query parameters (#1762)
🛠️ Fixes https://github.com/googleapis/genai-toolbox/issues/1737
2025-10-23 02:56:12 +00:00
Yuan Teoh
eaf77406fd feat: support allowedValues, escape, minValue and maxValue for parameters (#1770)
## Description

To minimize SQL injection risks when using template parameters, it is
highly recommended that user utilizes the following added fields for
parameters.

### Allow user to indicate allowed values via list or regex
Add new `allowedValues` field to all parameter type. It can be used as
follows (can be used in the `parameter` field or `templateParameter`
field):

```
templateParameters:
    - name: tableName
       type: string
       description: table name.
       allowedValues:
            - flights_table
            - tickets_table
            - "^h.*" # support any words starting with the letter h
```

### Support escaping delimiters for identifiers in string parameters
Supporting `backticks`, `double-quotes`, `single-quotes`,
`square-brackets` as escaping delimiters. Example to apply escaping
delimiters:
```
# other fields
statement: SELECT {{array .columnName}} FROM {{ .tableName }}
templateParameters:
      - name: tableName
        type: string
        description: table name.
        escape: double-quotes
      - name: columnName
        type: array
        description: column names.
        items:
          name: column
          type: string
          description: Name of the column to select
          escape: double-quotes
```
This example will resolve to following: - 
* Data provided: `{"tableName": "table_name", "columnName": ["foo",
"bar"]}`
* Statement with escape: `SELECT "foo", "bar" FROM "table_name"`
* Statement without escape: `SELECT foo, bar FROM table_name`

Escaping delimiters can be used for identifiers (in template parameters)
or string literals. If `allowedValues` were used, Toolbox will check for
allowed values before applying delimiters.

### Support value range in numeric parameters
Supporting `minValue` and `maxValue` for parameters of type `integer`
and `float`. Example:
```
parameters:
      - name: price
        type: integer
        description: price of item
        minValue: 1
        maxValue: 50
```

If `allowedValues` were used, Toolbox will check for allowed values
before checking for min and max values.

### References


| parameter name | type | required | description |
|------------------|-----|---------|-------------|
| allowedValues | []string | true | We will check input value against
this. User can either provide a list of allowed values or regex string.
|
| escape | string | false | Only available for type `string`. Indicate
the escaping delimiters used for the parameter. This field is intended
to be used with templateParameters. Must be one of "single-quotes",
"double-quotes", "backticks", "square-brackets". |
| minValue | int or float | false | Only available for type `integer`
and `float`. Indicate the minimum value allowed. |
| maxValue | int or float | false | Only available for type `integer`
and `float`. Indicate the maximum value allowed. |

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #779
2025-10-22 22:36:53 -04:00
Wenxin Du
a06d0d8735 fix(tools/http): allow 2xx status code on tool invocation (#1761)
🛠️ Fixes https://github.com/googleapis/genai-toolbox/issues/1759
2025-10-22 20:15:59 +00:00
Mend Renovate
2b2bb36771 chore(deps): update module golang.org/x/oauth2 to v0.32.0 (#1657)
This PR contains the following updates:

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

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-22 12:17:56 -07:00
Dr. Strangelove
336de1bd04 fix(tools/looker): looker file content calls should not use url.QueryEscape (#1758)
## Description

The file_path parameter for the get_project_file and delete_project_file
calls should not be url encoded.
2025-10-21 18:29:38 +00:00
Mend Renovate
5010a69a0e chore(deps): update module cloud.google.com/go/firestore to v1.20.0 (#1740)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[cloud.google.com/go/firestore](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.19.0` -> `v1.20.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2ffirestore/v1.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2ffirestore/v1.19.0/v1.20.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-20 21:25:18 -07:00
Mend Renovate
9b95dd9cbc chore(deps): update module github.com/redis/go-redis/v9 to v9.14.1 (#1736)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/redis/go-redis/v9](https://redirect.github.com/redis/go-redis)
| `v9.14.0` -> `v9.14.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fredis%2fgo-redis%2fv9/v9.14.1?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.14.0/v9.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### Changes

- fix(otel): Add support for filtering traces for certain commands
([#&#8203;3519](https://redirect.github.com/redis/go-redis/pull/3519))
- fix(pool): remove conn from idleConns if present
([#&#8203;3546](https://redirect.github.com/redis/go-redis/pull/3546))

#### Contributors

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

[@&#8203;Sovietaced](https://redirect.github.com/Sovietaced),
[@&#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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-20 20:52:35 -07:00
Mend Renovate
40e8192ffa chore(deps): update module modernc.org/sqlite to v1.39.1 (#1700)
This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.39.0...v1.39.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-20 20:30:18 -07:00
Dr. Strangelove
089081feb0 feat(tools/looker): Tools to allow the agent to retrieve, create, modify, and delete LookML project files. (#1673)
## Description

- **looker-dev-mode:** Turn dev mode on or off for the session.
- **looker-get-projects:** Retrieve the list of LookML projects on the
server.
- **looker-get-project-files:** Retrieve the list of LookML project
files in a project.
- **looker-get-project-file:** Get the contents of a LookML project
file.
- **looker-create-project-file:** Create a new LookML project file.
- **looker-update-project-file:** Modify a LookML project file.
- **looker-delete-project-file:** Delete a LookML project file.
2025-10-20 14:47:44 -04:00
gRedHeadphone
4976461056 chore(docs): Improve notes inside details tags in README (#1591)
## Description

### before:

<img height="500" alt="image"
src="https://github.com/user-attachments/assets/3f63fece-d4cc-4353-9670-4cdb691f0eb8"
/>

### after:

<img height="500" alt="image"
src="https://github.com/user-attachments/assets/7df982fd-a08f-4c47-b40d-474f50bc73a4"
/>


## PR Checklist

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-17 16:12:13 +00:00
Averi Kitsch
c91eca9b54 chore: add gemini cli extension configuration (#1727)
## Description

Create a Gemini CLI extension for the repo to recommend other
extensions.

Notes
* Since the repo has releases. The new release will trigger an extension
update rather than a version update in the JSON.
* MCP-TOOLBOX-EXTENSION.md is used in order to keep GEMINI.md free for
the project context.

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-10-16 22:18:08 +00:00
Averi Kitsch
0e9ba8d8a5 ci: Update blunderbuss.yml for OOO (#1726)
## Description

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-16 14:39:55 -07:00
Mend Renovate
530f1cc406 chore(deps): update dependency llama-index-llms-google-genai to v0.6.1 (#1562)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| llama-index-llms-google-genai | `==0.6.0` -> `==0.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/llama-index-llms-google-genai/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/llama-index-llms-google-genai/0.6.0/0.6.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Harsh Jha <83023263+rapid-killer-9@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-16 16:55:22 -04:00
Mend Renovate
612ed10d4f chore(deps): update github.com/googleapis/mcp-toolbox-sdk-go digest to eae3dce (#1720)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/googleapis/mcp-toolbox-sdk-go](https://redirect.github.com/googleapis/mcp-toolbox-sdk-go)
| require | digest | `5bb8a29` -> `eae3dce` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-16 18:05:25 +00:00
Mend Renovate
67726e68bd chore(deps): update module google.golang.org/genai to v1.31.0 (#1662)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[google.golang.org/genai](https://redirect.github.com/googleapis/go-genai)
| `v1.28.0` -> `v1.31.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenai/v1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenai/v1.28.0/v1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v1.31.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.31.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.30.0...v1.31.0)

##### Features

- support CreateEmebddings in batches.go
([a488476](a488476053))
- Support video extension for Veo on Gemini Developer API
([14ecba9](14ecba9e08))

###
[`v1.30.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.30.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.29.0...v1.30.0)

##### Features

- Enable Google Maps tool for Genai.
([9aba5c7](9aba5c7ee9))
- Support enableWidget feature in GoogleMaps
([cd1e6b7](cd1e6b7b1b))
- Support Gemini batch inline request's metadata and add test coverage
to safety setting
([f12f353](f12f353005))

###
[`v1.29.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.29.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.28.0...v1.29.0)

##### Features

- Add labels field to Imagen configs
([d01fe5e](d01fe5e157))
- Add utility methods for creating `FunctionResponsePart` and creating
FunctionResponse `Part` with `FunctionResponseParts`
([10de2ab](10de2ab112))
- Enable Ingredients to Video and Advanced Controls for Veo on Gemini
Developer API (Early Access Program)
([3165554](31655546a8))

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

Co-authored-by: dishaprakash <57954147+dishaprakash@users.noreply.github.com>
2025-10-16 07:10:51 +05:30
Averi Kitsch
eeb694c20f fix: escape mysql user agent (#1707)
## Description

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1695
2025-10-15 21:30:37 +00:00
Averi Kitsch
b4798be572 docs: Update branding for Apache Cassandra (#1661)
## Description

---
Brand Manager mentioned the first mention should use prefix Apache.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-15 21:08:16 +00:00
Averi Kitsch
02f7f8af97 fix: escape program_name for MySQL (#1717)
## Description

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-15 20:54:08 +00:00
Wenxin Du
9c722537a8 docs: remove Oracle OIC requirement (#1718) 2025-10-15 19:37:12 +00:00
Mend Renovate
81764530f3 chore(deps): update github.com/googleapis/mcp-toolbox-sdk-go digest to 5bb8a29 (#1706)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/googleapis/mcp-toolbox-sdk-go](https://redirect.github.com/googleapis/mcp-toolbox-sdk-go)
| require | digest | `f99f1ed` -> `5bb8a29` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-16 00:28:11 +05:30
Anmol Shukla
a1a4278789 docs: updated genkit sample code and readme code for Go (#1655) 2025-10-14 00:38:39 +05:30
Mend Renovate
a917b63ab7 chore(deps): update module github.com/openai/openai-go to v3 (#1698)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/openai/openai-go](https://redirect.github.com/openai/openai-go)
| `v1.12.0` -> `v3.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopenai%2fopenai-go/v3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopenai%2fopenai-go/v1.12.0/v3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.3.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.3.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.2.0...v3.3.0)

#### 3.3.0 (2025-10-10)

Full Changelog:
[v3.2.0...v3.3.0](https://redirect.github.com/openai/openai-\[go/compare/v3.2.0...v3.3.0]\(https://www.golinks.io/compare/v3.2.0...v3.3.0?trackSource=github\))

##### Features

- **api:** comparison filter in/not in
([d6daca0](d6daca0eed\)))

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

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

#### 3.2.0 (2025-10-06)

Full Changelog:
[v3.1.0...v3.2.0](https://redirect.github.com/openai/openai-\[go/compare/v3.1.0...v3.2.0]\(https://www.golinks.io/compare/v3.1.0...v3.2.0?trackSource=github\))

##### Features

- **api:** dev day 2025 launches
([d40a768](d40a7689c7\)))

###
[`v3.1.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.1.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.0.1...v3.1.0)

#### 3.1.0 (2025-10-02)

Full Changelog:
[v3.0.1...v3.1.0](https://redirect.github.com/openai/openai-\[go/compare/v3.0.1...v3.1.0]\(https://www.golinks.io/compare/v3.0.1...v3.1.0?trackSource=github\))

##### Features

- **api:** add support for realtime calls
([565ca67](565ca67872\)))

###
[`v3.0.1`](https://redirect.github.com/openai/openai-go/releases/tag/v3.0.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v3.0.0...v3.0.1)

#### 3.0.1 (2025-10-01)

Full Changelog:
[v3.0.0...v3.0.1](https://redirect.github.com/openai/openai-\[go/compare/v3.0.0...v3.0.1]\(https://www.golinks.io/compare/v3.0.0...v3.0.1?trackSource=github\))

##### Bug Fixes

- **api:** add status, approval\_request\_id to MCP tool call
([a7f95e4](a7f95e4ef4\)))

###
[`v3.0.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.0.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.7.1...v3.0.0)

#### 3.0.0 (2025-09-30)

Full Changelog:
[v2.7.1...v3.0.0](https://redirect.github.com/openai/openai-\[go/compare/v2.7.1...v3.0.0]\(https://www.golinks.io/compare/v2.7.1...v3.0.0?trackSource=github\))

##### ⚠ BREAKING CHANGES

- **api:** `ResponseFunctionToolCallOutputItem.output` and
`ResponseCustomToolCallOutput.output` now return `string |
Array<ResponseInputText | ResponseInputImage | ResponseInputFile>`
instead of `string` only. This may break existing callsites that assume
`output` is always a string.

##### Features

- **api:** Support images and files for function call outputs in
responses, BatchUsage
([21901ef](21901ef84e\)))

###
[`v2.7.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.7.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.7.0...v2.7.1)

#### 2.7.1 (2025-09-29)

Full Changelog:
[v2.7.0...v2.7.1](https://redirect.github.com/openai/openai-go/compare/v2.7.0...v2.7.1)

##### Bug Fixes

- bugfix for setting JSON keys with special characters
([f9ae028](f9ae0283fe))

###
[`v2.7.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.7.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.6.1...v2.7.0)

#### 2.7.0 (2025-09-23)

Full Changelog:
[v2.6.1...v2.7.0](https://redirect.github.com/openai/openai-\[go/compare/v2.6.1...v2.7.0]\(https://www.golinks.io/compare/v2.6.1...v2.7.0?trackSource=github\))

##### Features

- **api:** gpt-5-codex
([b0eac3e](b0eac3ed2b\)))

###
[`v2.6.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.6.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.6.0...v2.6.1)

#### 2.6.1 (2025-09-22)

Full Changelog:
[v2.6.0...v2.6.1](https://redirect.github.com/openai/openai-go/compare/v2.6.0...v2.6.1)

##### Bug Fixes

- **api:** fix mcp tool name
([6de601a](6de601aa71))
- use slices.Concat instead of sometimes modifying r.Options
([7312ee7](7312ee73ef))

##### Chores

- **api:** openapi updates for conversations
([4a7d204](4a7d204a4e))
- bump minimum go version to 1.22
([8396ab5](8396ab5d91))
- do not install brew dependencies in ./scripts/bootstrap by default
([d519b81](d519b81000))
- update more docs for 1.22
([1b0514d](1b0514df95))

###
[`v2.6.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.6.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.5.0...v2.6.0)

#### 2.6.0 (2025-09-19)

Full Changelog:
[v2.5.0...v2.6.0](https://redirect.github.com/openai/openai-go/compare/v2.5.0...v2.6.0)

##### Features

- **api:** add reasoning\_text
([6ebf50d](6ebf50d756))

###
[`v2.5.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.5.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.3...v2.5.0)

#### 2.5.0 (2025-09-17)

Full Changelog:
[v2.4.3...v2.5.0](https://redirect.github.com/openai/openai-\[go/compare/v2.4.3...v2.5.0]\(https://www.golinks.io/compare/v2.4.3...v2.5.0?trackSource=github\))

##### Features

- **api:** type updates for conversations, reasoning\_effort and results
for evals
([3e68a60](3e68a60d76\)))

###
[`v2.4.3`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.3)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.2...v2.4.3)

#### 2.4.3 (2025-09-15)

Full Changelog:
[v2.4.2...v2.4.3](https://redirect.github.com/openai/openai-\[go/compare/v2.4.2...v2.4.3]\(https://www.golinks.io/compare/v2.4.2...v2.4.3?trackSource=github\))

##### Chores

- **api:** docs and spec refactoring
([e67af66](e67af66b35\)))

###
[`v2.4.2`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.2)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.1...v2.4.2)

#### 2.4.2 (2025-09-12)

Full Changelog:
[v2.4.1...v2.4.2](https://redirect.github.com/openai/openai-go/compare/v2.4.1...v2.4.2)

##### Chores

- **api:** Minor docs and type updates for realtime
([d92ea48](d92ea4850f))

###
[`v2.4.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.0...v2.4.1)

#### 2.4.1 (2025-09-10)

Full Changelog:
[v2.4.0...v2.4.1](https://redirect.github.com/openai/openai-\[go/compare/v2.4.0...v2.4.1]\(https://www.golinks.io/compare/v2.4.0...v2.4.1?trackSource=github\))

##### Chores

- **api:** fix realtime GA types
([012b83e](012b83e3fa\)))

###
[`v2.4.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.3.1...v2.4.0)

#### 2.4.0 (2025-09-08)

Full Changelog:
[v2.3.1...v2.4.0](https://redirect.github.com/openai/openai-go/compare/v2.3.1...v2.4.0)

##### Features

- **api:** ship the RealtimeGA API shape
([2b6c6db](2b6c6db63e))

###
[`v2.3.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.3.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.3.0...v2.3.1)

#### 2.3.1 (2025-09-05)

Full Changelog:
[v2.3.0...v2.3.1](https://redirect.github.com/openai/openai-\[go/compare/v2.3.0...v2.3.1]\(https://www.golinks.io/compare/v2.3.0...v2.3.1?trackSource=github\))

##### Bug Fixes

- **internal:** unmarshal correctly when there are multiple
discriminators
([98596b2](98596b2183\)))

###
[`v2.3.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.3.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.2.2...v2.3.0)

#### 2.3.0 (2025-09-03)

Full Changelog:
[v2.2.2...v2.3.0](https://redirect.github.com/openai/openai-\[go/compare/v2.2.2...v2.3.0]\(https://www.golinks.io/compare/v2.2.2...v2.3.0?trackSource=github\))

##### Features

- **api:** Add gpt-realtime models
([3cf6a34](3cf6a34841\)))

###
[`v2.2.2`](https://redirect.github.com/openai/openai-go/releases/tag/v2.2.2)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.2.1...v2.2.2)

#### 2.2.2 (2025-09-02)

Full Changelog:
[v2.2.1...v2.2.2](https://redirect.github.com/openai/openai-go/compare/v2.2.1...v2.2.2)

##### Bug Fixes

- update url to refresh pkg.go.dev
([edf94ce](edf94ce95a))
- use release please annotations on more places
([2ff82f9](2ff82f98ae))

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

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

#### 2.2.1 (2025-09-02)

Full Changelog:
[v2.2.0...v2.2.1](https://redirect.github.com/openai/openai-\[go/compare/v2.2.0...v2.2.1]\(https://www.golinks.io/compare/v2.2.0...v2.2.1?trackSource=github\))

##### Chores

- **api:** manual updates for ResponseInputAudio
([8c0ebe5](8c0ebe566f\)))

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

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.1.1...v2.2.0)

#### 2.2.0 (2025-09-02)

Full Changelog:
[v2.1.1...v2.2.0](https://redirect.github.com/openai/openai-go/compare/v2.1.1...v2.2.0)

##### Features

- **api:** Add connectors support for MCP tool
([35888bc](35888bcd26))
- **api:** add web search filters
([6f2c71d](6f2c71d4e2))
- **api:** adding support for /v1/conversations to the API
([5b7c31b](5b7c31bde9))
- **api:** realtime API updates
([130fc8e](130fc8ea5b))
- **client:** add support for verifying signatures on incoming webhooks
([f7c8dbb](f7c8dbb6b5))

##### Bug Fixes

- **azure:** compatibility with edit image endpoint
([#&#8203;477](https://redirect.github.com/openai/openai-go/issues/477))
([d156eec](d156eeca37))
- close body before retrying
([8dfed35](8dfed35f11))

##### Chores

- **internal/ci:** setup breaking change detection
([0af0cd0](0af0cd0130))
- **internal:** version bump
([3265795](3265795fff))

###
[`v2.1.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#220-2025-09-02)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.1.0...v2.1.1)

Full Changelog:
[v2.1.1...v2.2.0](https://redirect.github.com/openai/openai-go/compare/v2.1.1...v2.2.0)

##### Features

- **api:** Add connectors support for MCP tool
([35888bc](35888bcd26))
- **api:** add web search filters
([6f2c71d](6f2c71d4e2))
- **api:** adding support for /v1/conversations to the API
([5b7c31b](5b7c31bde9))
- **api:** realtime API updates
([130fc8e](130fc8ea5b))
- **client:** add support for verifying signatures on incoming webhooks
([f7c8dbb](f7c8dbb6b5))

##### Bug Fixes

- **azure:** compatibility with edit image endpoint
([#&#8203;477](https://redirect.github.com/openai/openai-go/issues/477))
([d156eec](d156eeca37))
- close body before retrying
([8dfed35](8dfed35f11))

##### Chores

- **internal/ci:** setup breaking change detection
([0af0cd0](0af0cd0130))
- **internal:** version bump
([3265795](3265795fff))

###
[`v2.1.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#211-2025-08-20)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.2...v2.1.0)

Full Changelog:
[v2.1.0...v2.1.1](https://redirect.github.com/openai/openai-go/compare/v2.1.0...v2.1.1)

##### Chores

- **api:** accurately represent shape for verbosity on Chat Completions
([f81197b](f81197b4b0))

###
[`v2.0.2`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#210-2025-08-18)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.1...v2.0.2)

Full Changelog:
[v2.0.2...v2.1.0](https://redirect.github.com/openai/openai-go/compare/v2.0.2...v2.1.0)

##### Features

- **api:** add new text parameters, expiration options
([323154c](323154ccec))

##### Documentation

- give https its missing "h" in Azure OpenAI REST API link
([#&#8203;480](https://redirect.github.com/openai/openai-go/issues/480))
([8a401c9](8a401c9eec))

###
[`v2.0.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#202-2025-08-09)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.0...v2.0.1)

Full Changelog:
[v2.0.1...v2.0.2](https://redirect.github.com/openai/openai-go/compare/v2.0.1...v2.0.2)

##### Chores

- **internal:** update comment in script
([4be24de](4be24dee6a))
- update
[@&#8203;stainless-api/prism-cli](https://redirect.github.com/stainless-api/prism-cli)
to v5.15.0
([eca22af](eca22af6f1))

###
[`v2.0.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#201-2025-08-08)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v1.12.0...v2.0.0)

Full Changelog:
[v2.0.0...v2.0.1](https://redirect.github.com/openai/openai-go/compare/v2.0.0...v2.0.1)

##### Bug Fixes

- **client:** fix verbosity parameter location in Responses
([6e2e903](6e2e903e7c))

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-13 09:53:49 -07:00
dishaprakash
72bcbf2ced chore(docs): Add concurrency group to docs deployment workflows (#1696)
## Description

This PR adds a concurrency group to both the in-development docs and
versioned docs deployment workflows.
On the 0.17.0 release, both the workflows were run at the same time
causing a deployment issue and the second workflow (versioned doc
deploy) to fail (due to a git push error as they are both attempting to
push into the versioned-gh-pages branch). This PR adds both the
workflows into the same concurrency group to make sure the first
deployment is completed before running the second one.

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-12 23:33:10 +05:30
Mend Renovate
02154581c3 chore(deps): update module github.com/openai/openai-go to v3 (#1606)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/openai/openai-go](https://redirect.github.com/openai/openai-go)
| `v1.12.0` -> `v3.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopenai%2fopenai-go/v3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopenai%2fopenai-go/v1.12.0/v3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.0.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.0.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.7.1...v3.0.0)

#### 3.0.0 (2025-09-30)

Full Changelog:
[v2.7.1...v3.0.0](https://redirect.github.com/openai/openai-\[go/compare/v2.7.1...v3.0.0]\(https://www.golinks.io/compare/v2.7.1...v3.0.0?trackSource=github\))

##### ⚠ BREAKING CHANGES

- **api:** `ResponseFunctionToolCallOutputItem.output` and
`ResponseCustomToolCallOutput.output` now return `string |
Array<ResponseInputText | ResponseInputImage | ResponseInputFile>`
instead of `string` only. This may break existing callsites that assume
`output` is always a string.

##### Features

- **api:** Support images and files for function call outputs in
responses, BatchUsage
([21901ef](21901ef84e\)))

###
[`v2.7.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.7.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.7.0...v2.7.1)

#### 2.7.1 (2025-09-29)

Full Changelog:
[v2.7.0...v2.7.1](https://redirect.github.com/openai/openai-go/compare/v2.7.0...v2.7.1)

##### Bug Fixes

- bugfix for setting JSON keys with special characters
([f9ae028](f9ae0283fe))

###
[`v2.7.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.7.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.6.1...v2.7.0)

#### 2.7.0 (2025-09-23)

Full Changelog:
[v2.6.1...v2.7.0](https://redirect.github.com/openai/openai-\[go/compare/v2.6.1...v2.7.0]\(https://www.golinks.io/compare/v2.6.1...v2.7.0?trackSource=github\))

##### Features

- **api:** gpt-5-codex
([b0eac3e](b0eac3ed2b\)))

###
[`v2.6.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.6.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.6.0...v2.6.1)

#### 2.6.1 (2025-09-22)

Full Changelog:
[v2.6.0...v2.6.1](https://redirect.github.com/openai/openai-go/compare/v2.6.0...v2.6.1)

##### Bug Fixes

- **api:** fix mcp tool name
([6de601a](6de601aa71))
- use slices.Concat instead of sometimes modifying r.Options
([7312ee7](7312ee73ef))

##### Chores

- **api:** openapi updates for conversations
([4a7d204](4a7d204a4e))
- bump minimum go version to 1.22
([8396ab5](8396ab5d91))
- do not install brew dependencies in ./scripts/bootstrap by default
([d519b81](d519b81000))
- update more docs for 1.22
([1b0514d](1b0514df95))

###
[`v2.6.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#261-2025-09-22)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.5.0...v2.6.0)

Full Changelog:
[v2.6.0...v2.6.1](https://redirect.github.com/openai/openai-go/compare/v2.6.0...v2.6.1)

##### Bug Fixes

- **api:** fix mcp tool name
([6de601a](6de601aa71))
- use slices.Concat instead of sometimes modifying r.Options
([7312ee7](7312ee73ef))

##### Chores

- **api:** openapi updates for conversations
([4a7d204](4a7d204a4e))
- bump minimum go version to 1.22
([8396ab5](8396ab5d91))
- do not install brew dependencies in ./scripts/bootstrap by default
([d519b81](d519b81000))
- update more docs for 1.22
([1b0514d](1b0514df95))

###
[`v2.5.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.5.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.3...v2.5.0)

#### 2.5.0 (2025-09-17)

Full Changelog:
[v2.4.3...v2.5.0](https://redirect.github.com/openai/openai-\[go/compare/v2.4.3...v2.5.0]\(https://www.golinks.io/compare/v2.4.3...v2.5.0?trackSource=github\))

##### Features

- **api:** type updates for conversations, reasoning\_effort and results
for evals
([3e68a60](3e68a60d76\)))

###
[`v2.4.3`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#250-2025-09-17)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.2...v2.4.3)

Full Changelog:
[v2.4.3...v2.5.0](https://redirect.github.com/openai/openai-go/compare/v2.4.3...v2.5.0)

##### Features

- **api:** type updates for conversations, reasoning\_effort and results
for evals
([3e68a60](3e68a60d76))

###
[`v2.4.2`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.2)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.1...v2.4.2)

#### 2.4.2 (2025-09-12)

Full Changelog:
[v2.4.1...v2.4.2](https://redirect.github.com/openai/openai-go/compare/v2.4.1...v2.4.2)

##### Chores

- **api:** Minor docs and type updates for realtime
([d92ea48](d92ea4850f))

###
[`v2.4.1`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.1)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.4.0...v2.4.1)

#### 2.4.1 (2025-09-10)

Full Changelog:
[v2.4.0...v2.4.1](https://redirect.github.com/openai/openai-\[go/compare/v2.4.0...v2.4.1]\(https://www.golinks.io/compare/v2.4.0...v2.4.1?trackSource=github\))

##### Chores

- **api:** fix realtime GA types
([012b83e](012b83e3fa\)))

###
[`v2.4.0`](https://redirect.github.com/openai/openai-go/releases/tag/v2.4.0)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.3.1...v2.4.0)

#### 2.4.0 (2025-09-08)

Full Changelog:
[v2.3.1...v2.4.0](https://redirect.github.com/openai/openai-go/compare/v2.3.1...v2.4.0)

##### Features

- **api:** ship the RealtimeGA API shape
([2b6c6db](2b6c6db63e))

###
[`v2.3.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#240-2025-09-08)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.3.0...v2.3.1)

Full Changelog:
[v2.3.1...v2.4.0](https://redirect.github.com/openai/openai-go/compare/v2.3.1...v2.4.0)

##### Features

- **api:** ship the RealtimeGA API shape
([2b6c6db](2b6c6db63e))

###
[`v2.3.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#231-2025-09-05)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.2.2...v2.3.0)

Full Changelog:
[v2.3.0...v2.3.1](https://redirect.github.com/openai/openai-go/compare/v2.3.0...v2.3.1)

##### Bug Fixes

- **internal:** unmarshal correctly when there are multiple
discriminators
([98596b2](98596b2183))

###
[`v2.2.2`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#230-2025-09-03)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.2.1...v2.2.2)

Full Changelog:
[v2.2.2...v2.3.0](https://redirect.github.com/openai/openai-go/compare/v2.2.2...v2.3.0)

##### Features

- **api:** Add gpt-realtime models
([3cf6a34](3cf6a34841))

###
[`v2.2.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#222-2025-09-02)

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

Full Changelog:
[v2.2.1...v2.2.2](https://redirect.github.com/openai/openai-go/compare/v2.2.1...v2.2.2)

##### Bug Fixes

- update url to refresh pkg.go.dev
([edf94ce](edf94ce95a))
- use release please annotations on more places
([2ff82f9](2ff82f98ae))

###
[`v2.2.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#221-2025-09-02)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.1.1...v2.2.0)

Full Changelog:
[v2.2.0...v2.2.1](https://redirect.github.com/openai/openai-go/compare/v2.2.0...v2.2.1)

##### Chores

- **api:** manual updates for ResponseInputAudio
([8c0ebe5](8c0ebe566f))

###
[`v2.1.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#220-2025-09-02)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.1.0...v2.1.1)

Full Changelog:
[v2.1.1...v2.2.0](https://redirect.github.com/openai/openai-go/compare/v2.1.1...v2.2.0)

##### Features

- **api:** Add connectors support for MCP tool
([35888bc](35888bcd26))
- **api:** add web search filters
([6f2c71d](6f2c71d4e2))
- **api:** adding support for /v1/conversations to the API
([5b7c31b](5b7c31bde9))
- **api:** realtime API updates
([130fc8e](130fc8ea5b))
- **client:** add support for verifying signatures on incoming webhooks
([f7c8dbb](f7c8dbb6b5))

##### Bug Fixes

- **azure:** compatibility with edit image endpoint
([#&#8203;477](https://redirect.github.com/openai/openai-go/issues/477))
([d156eec](d156eeca37))
- close body before retrying
([8dfed35](8dfed35f11))

##### Chores

- **internal/ci:** setup breaking change detection
([0af0cd0](0af0cd0130))
- **internal:** version bump
([3265795](3265795fff))

###
[`v2.1.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#211-2025-08-20)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.2...v2.1.0)

Full Changelog:
[v2.1.0...v2.1.1](https://redirect.github.com/openai/openai-go/compare/v2.1.0...v2.1.1)

##### Chores

- **api:** accurately represent shape for verbosity on Chat Completions
([f81197b](f81197b4b0))

###
[`v2.0.2`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#210-2025-08-18)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.1...v2.0.2)

Full Changelog:
[v2.0.2...v2.1.0](https://redirect.github.com/openai/openai-go/compare/v2.0.2...v2.1.0)

##### Features

- **api:** add new text parameters, expiration options
([323154c](323154ccec))

##### Documentation

- give https its missing "h" in Azure OpenAI REST API link
([#&#8203;480](https://redirect.github.com/openai/openai-go/issues/480))
([8a401c9](8a401c9eec))

###
[`v2.0.1`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#202-2025-08-09)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v2.0.0...v2.0.1)

Full Changelog:
[v2.0.1...v2.0.2](https://redirect.github.com/openai/openai-go/compare/v2.0.1...v2.0.2)

##### Chores

- **internal:** update comment in script
([4be24de](4be24dee6a))
- update
[@&#8203;stainless-api/prism-cli](https://redirect.github.com/stainless-api/prism-cli)
to v5.15.0
([eca22af](eca22af6f1))

###
[`v2.0.0`](https://redirect.github.com/openai/openai-go/blob/HEAD/CHANGELOG.md#201-2025-08-08)

[Compare
Source](https://redirect.github.com/openai/openai-go/compare/v1.12.0...v2.0.0)

Full Changelog:
[v2.0.0...v2.0.1](https://redirect.github.com/openai/openai-go/compare/v2.0.0...v2.0.1)

##### Bug Fixes

- **client:** fix verbosity parameter location in Responses
([6e2e903](6e2e903e7c))

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Anmol Shukla <shuklaanmol@google.com>
Co-authored-by: dishaprakash <57954147+dishaprakash@users.noreply.github.com>
2025-10-11 14:14:19 +05:30
Wenxin Du
f073232505 docs: fix yugabytedb doc location (#1651) 2025-10-10 21:49:01 +00:00
Averi Kitsch
0ae9ff49b1 docs: update architecture diagram (#1688)
## Description

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-10 21:32:22 +00:00
release-please[bot]
de19d520ad chore(main): release 0.17.0 (#1682)
🤖 I have created a release *beep* *boop*
---


##
[0.17.0](https://github.com/googleapis/genai-toolbox/compare/v0.16.0...v0.17.0)
(2025-10-10)


### ⚠ BREAKING CHANGES

* **tools/bigquery-get-table-info:** add allowed dataset support
([#1093](https://github.com/googleapis/genai-toolbox/issues/1093))
* **tool/bigquery-list-dataset-ids:** add allowed datasets support
([#1573](https://github.com/googleapis/genai-toolbox/issues/1573))

### Features

* Add configs and workflows for docs versioning
([#1611](https://github.com/googleapis/genai-toolbox/issues/1611))
([21ac98b](21ac98bc06))
* Add metadata in MCP Manifest for Toolbox auth
([#1395](https://github.com/googleapis/genai-toolbox/issues/1395))
([0b3dac4](0b3dac4132))
* Add program name to MySQL connections
([#1617](https://github.com/googleapis/genai-toolbox/issues/1617))
([c4a22b8](c4a22b8d3b))
* **oracle:** Switch Oracle driver from godror to go-ora
([#1685](https://github.com/googleapis/genai-toolbox/issues/1685))
([8faf376](8faf37667e))
* **source/bigquery:** Add optional write mode config
([#1157](https://github.com/googleapis/genai-toolbox/issues/1157))
([63adc78](63adc78bea))
* **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support
PSC connection
([#1686](https://github.com/googleapis/genai-toolbox/issues/1686))
([9d2bf79](9d2bf79bec))
* **sources/mssql:** Add app name to MSSQL
([#1620](https://github.com/googleapis/genai-toolbox/issues/1620))
([1536d1f](1536d1fdab))
* **sources/oracle:** Add Oracle Source and Tool
([#1456](https://github.com/googleapis/genai-toolbox/issues/1456))
([3a19a50](3a19a50ff2))
* **tool/bigquery-list-dataset-ids:** Add allowed datasets support
([#1573](https://github.com/googleapis/genai-toolbox/issues/1573))
([1a44c67](1a44c671ec))
* **tools/bigquery-get-table-info:** Add allowed dataset support
([#1093](https://github.com/googleapis/genai-toolbox/issues/1093))
([acb205c](acb205ca47))
* **tools/dataform:** Add dataform compile tool
([#1470](https://github.com/googleapis/genai-toolbox/issues/1470))
([3be9b7b](3be9b7b3bd))
* **tools/looker:** Add support for pulse, vacuum and analyze audit and
performance functions on a Looker instance
([#1581](https://github.com/googleapis/genai-toolbox/issues/1581))
([5aed4e1](5aed4e136d))
* **tools/looker:** Enable access to the Conversational Analytics API
for Looker
([#1596](https://github.com/googleapis/genai-toolbox/issues/1596))
([2d5a93e](2d5a93e312))


### Bug Fixes

* Added google_ml_integration extension to use alloydb ai-nl support api
([#1445](https://github.com/googleapis/genai-toolbox/issues/1445))
([dbc477a](dbc477ab0f))
* Fix broken links
([#1625](https://github.com/googleapis/genai-toolbox/issues/1625))
([36c6584](36c658472c))
* Remove duplicated build type in Dockerfile
([#1598](https://github.com/googleapis/genai-toolbox/issues/1598))
([b43c945](b43c94575d))
* **source/bigquery:** Allowed datasets project id issue with client
oauth ([#1663](https://github.com/googleapis/genai-toolbox/issues/1663))
([f4cf486](f4cf486fa9))
* **sources/looker:** Allow Looker to be configured without setting a
Client Id or Secret
([#1496](https://github.com/googleapis/genai-toolbox/issues/1496))
([67d8221](67d8221a2e))
* **tools/looker:** Refactor run-inline-query logic to helper function
([#1497](https://github.com/googleapis/genai-toolbox/issues/1497))
([62af39d](62af39d751))
* **tools/mysql-list-tables:** Update sql query to resolve subquery
scope error
([#1629](https://github.com/googleapis/genai-toolbox/issues/1629))
([94e19d8](94e19d87e5))


### Miscellaneous Chores

* Release 0.17.0
([#1676](https://github.com/googleapis/genai-toolbox/issues/1676))
([7e22cb4](7e22cb455d))
* Release 0.17.0
([#1681](https://github.com/googleapis/genai-toolbox/issues/1681))
([18c92b5](18c92b51ab))

---
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>
2025-10-10 16:34:23 -04:00
Wenxin Du
9d2bf79bec feat(sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql): Support PSC connection (#1686)
Support PSC connection to these sources
2025-10-10 16:16:21 -04:00
Wenxin Du
8faf37667e feat(oracle): Switch Oracle driver from godror to go-ora (#1685)
This avoids CGO cross compilation.
- [godror](https://github.com/godror/godror) - depends on Oracle Client
Libraries & [requires C
compiler](https://github.com/godror/godror?tab=readme-ov-file#build-time-requirements)
- [ go-ora](https://github.com/sijms/go-ora) - pure Go driver
2025-10-10 16:00:15 -04:00
Wenxin Du
3851b3e8ec ci(tools/bigquerylistdatasetids): Make test independent of returned list order (#1687)
fix integration test
2025-10-10 15:11:19 -04:00
Mend Renovate
97895e7332 chore(deps): update github actions (#1546)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://redirect.github.com/actions/cache) | action |
digest | `0400d5f` -> `0057852` |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | pinDigest | -> `08eba0b` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | pinDigest | -> `49933ea` |
|
[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` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-10 11:13:50 -04:00
Wenxin Du
18c92b51ab chore: release 0.17.0 (#1681)
Release-As: 0.17.0
2025-10-10 03:39:39 +00:00
Wenxin Du
ab9dde106f docs: add v0.17.0 docs version url (#1678) 2025-10-10 02:09:54 +00:00
Vijay Balebail
3a19a50ff2 feat(sources/oracle): add Oracle Source and Tool (#1456)
## Description

---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes https://github.com/googleapis/genai-toolbox/issues/488

---------

Co-authored-by: duwenxin <duwenxin@google.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-09 21:29:01 -04:00
Wenxin Du
98f7ee2e36 docs: fix docs lint (#1677)
fix docs lint for release
2025-10-09 19:25:05 -04:00
Wenxin Du
7e22cb455d chore: release 0.17.0 (#1676)
Release-As: 0.17.0
2025-10-09 22:44:31 +00:00
Mend Renovate
299bf5ed7b chore(deps): update module github.com/looker-open-source/sdk-codegen/go to v0.25.16 (#1475)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/looker-open-source/sdk-codegen/go](https://redirect.github.com/looker-open-source/sdk-codegen)
| `v0.25.11` -> `v0.25.16` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2flooker-open-source%2fsdk-codegen%2fgo/v0.25.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2flooker-open-source%2fsdk-codegen%2fgo/v0.25.11/v0.25.16?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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Dr. Strangelove <drstrangelove@google.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-09 22:30:48 +00:00
Wenxin Du
fa8f7df24e ci: Make test helper function generic (#1672)
Make it reusable for other types of execute-sql tools
2025-10-09 22:11:40 +00:00
Dr. Strangelove
e17c40caa6 test(spanner): set 10 minute timeout on integration tests (#1674)
## Description

increase the timeout on the tests
2025-10-09 21:06:07 +00:00
Twisha Bansal
66bdcc03df chore: clean up PR description template (#1388)
## Description

Removed redundant partitions.

## PR Checklist

> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-10-09 17:41:49 +00:00
Huan Chen
f4cf486fa9 fix(source/bigquery): allowed datasets project id issue with client oauth (#1663)
## Description

---
allowed datasets default project id is from client, which may not be
available if useClientOAuth=True, changed to use r.Project instead.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-09 17:29:01 +00:00
Mend Renovate
94eba1fd0a chore(deps): update dependency google-genai to v1.42.0 (#1660)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [google-genai](https://redirect.github.com/googleapis/python-genai) |
`==1.41.0` -> `==1.42.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/google-genai/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/google-genai/1.41.0/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/python-genai (google-genai)</summary>

###
[`v1.42.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1420-2025-10-08)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.41.0...v1.42.0)

##### Features

- Add labels field to Imagen configs
([cdba4c9](cdba4c9a8b))
- Add utility methods for creating `FunctionResponsePart` and creating
FunctionResponse `Part` with `FunctionResponseParts`
([72c92d8](72c92d8352))
- Enable Ingredients to Video and Advanced Controls for Veo on Gemini
Developer API (Early Access Program)
([9c02a07](9c02a070cd))

##### Bug Fixes

- Avoid potential dual import for content type assertion
([83d7973](83d79734c9))
- Increase `READ_BUFFER_SIZE` in `_api_client.py` for streaming large
chunks in new model
([981bba7](981bba7524))
- Make t\_part and t\_content conform to their type annotations: they
now handle FileDict correctly and t\_contents handles PartUnionDict
correctly.
([0933632](0933632103))

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-09 09:27:43 -07:00
Huan Chen
acb205ca47 feat(tools/bigquery-get-table-info)!: add allowed dataset support (#1093)
This introduces a breaking change. The bigquery-get-table-info tool will
now enforce the allowed datasets setting from its BigQuery source
configuration. Previously, this setting had no effect on the tool.

Part of https://github.com/googleapis/genai-toolbox/issues/873

---------

Co-authored-by: Nikunj Badjatya <nikunj.badjatya@harness.io>
2025-10-08 16:41:40 -07:00
Huan Chen
86eecc356d docs(sources/bigquery): Add instruction for prebuilt config setting (#1653)
## Description

---
This PR updates the BigQuery source documentation to explain how to
configure pre-built tools with environment variables.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-08 22:40:41 +00:00
Huan Chen
63adc78bea feat(source/bigquery): add optional write mode config (#1157)
Summary
Adds an optional write_mode configuration to the BigQuery source,
enhancing security by controlling the types of SQL statements that can
be executed to prevent unauthorized data modification.

Key Changes
Added writeMode Configuration: A new write_mode field is added to the
BigQuery source, supporting three modes:

allowed (Default): Permits all SQL statements.

blocked: Allows only SELECT queries.

protected: Enables session-based execution, restricting write operations
(like CREATE TABLE) to the session's temporary dataset, thus protecting
permanent datasets. Note: at the moment, this won't work with
useClientOAuth, will fix this in the future.

These restrictions primarily apply to the bigquery-execute-sql tool and
the session may be used in other tools.
2025-10-08 13:40:48 -07:00
Mend Renovate
2c4d73b77b chore(deps): update module cloud.google.com/go/firestore to v1.19.0 (#1639)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[cloud.google.com/go/firestore](https://redirect.github.com/googleapis/google-cloud-go)
| `v1.18.0` -> `v1.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2ffirestore/v1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2ffirestore/v1.18.0/v1.19.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-07 21:41:19 +00:00
dishaprakash
0f6d52a225 chore(docs): Move previews deployement to the versioned-gh-pages branch (#1644)
## Description

---
This PR moves the deployement of the PR Previews to the newly created
versioned-gh-pages branch which hosts the versioned doc site.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-07 21:33:26 +05:30
Mend Renovate
43c4262f94 chore(deps): update dependency google-genai to v1.41.0 (#1571)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [google-genai](https://redirect.github.com/googleapis/python-genai) |
`==1.38.0` -> `==1.41.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/google-genai/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/google-genai/1.38.0/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/python-genai (google-genai)</summary>

###
[`v1.41.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1410-2025-10-02)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.40.0...v1.41.0)

##### Features

- Add `NO_IMAGE` enum value to `FinishReason`
([3877044](3877044d2e))
- Add thinking\_config for live
([0fa183c](0fa183cad2))

##### Bug Fixes

- Fix validation for image\_config
([efaa574](efaa574263))

##### Documentation

- Regenerate updated Python docs
([53e7bd8](53e7bd81e0))

###
[`v1.40.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1400-2025-10-01)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.39.1...v1.40.0)

##### Features

- Add `ImageConfig` to `GenerateContentConfig`
([88088df](88088dfee5))
- Expose session id in Live API
([1692f23](1692f238fc))
- Rename ComputerUse tool (early access)
([aaac8d8](aaac8d81a5))

##### Bug Fixes

- Resolve potential mem leak on deletion of Client when using async
([538c755](538c755e84))
- Resolve unclosed client session warning.
([043a392](043a3925ec))

###
[`v1.39.1`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1391-2025-09-26)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.39.0...v1.39.1)

##### Bug Fixes

- Unbreak client closed errors when using vertexai session service
([a0882bd](a0882bd19d))

##### Documentation

- Regenerate updated Python docs
([4343332](43433326c1))

###
[`v1.39.0`](https://redirect.github.com/googleapis/python-genai/blob/HEAD/CHANGELOG.md#1390-2025-09-25)

[Compare
Source](https://redirect.github.com/googleapis/python-genai/compare/v1.38.0...v1.39.0)

##### Features

- Add FunctionResponsePart & ToolComputerUse.excludedPredefinedFunctions
([aa7e3c2](aa7e3c20b4))
- Allow custom headers in file upload requests.
([1aad1e9](1aad1e9c69))
- Support explicitly closing the client and context manager
([f982dfb](f982dfbda9))
- Support Imagen 4 Ingredients on Vertex
([1fe3bec](1fe3becdff))

##### Bug Fixes

- Expose `JOB_STATE_RUNNING` and `JOB_STATE_EXPIRED` for Gemini Batches
states
([739f72d](739f72d518))
- Fix AFC logging
([249f1af](249f1aff48))
- Fix Max Depth repr for containers (dict, list, ...)
([6ef3db8](6ef3db86d8))
- Initialization of `pre_tuned_model_checkpoint_id` from tuning config.
([1d3d28a](1d3d28aa6a))
- Remove unclosed client session message when sharing aiohttp
ClientSession
([8cee513](8cee5136df))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-07 16:51:15 +05:30
Sri Varshitha
94e19d87e5 fix(tools/mysql-list-tables): Update sql query to resolve subquery scope error (#1629)
## Description

---
This change fixes the `Unknown column 'T.TABLE_SCHEMA'` error in the
`mysql-list-tables` tool by refactoring a correlated subquery in the SQL
query to list tables.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1624

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-07 09:10:49 +05:30
Mend Renovate
3efce3d2b4 chore(deps): update module github.com/go-playground/validator/v10 to v10.28.0 (#1630)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/go-playground/validator/v10](https://redirect.github.com/go-playground/validator)
| `v10.27.0` -> `v10.28.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-playground%2fvalidator%2fv10/v10.28.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.27.0/v10.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### What's Changed

- Update workflow\.yml to support 2 most recent major versions by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[#&#8203;1417](https://redirect.github.com/go-playground/validator/pull/1417)
- Bump actions/checkout from 4 to 5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1456](https://redirect.github.com/go-playground/validator/pull/1456)
- Go 1.25 support by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[#&#8203;1459](https://redirect.github.com/go-playground/validator/pull/1459)
- Bump github.com/gabriel-vasile/mimetype from 1.4.8 to 1.4.10 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1463](https://redirect.github.com/go-playground/validator/pull/1463)
- Bump golang.org/x/text from 0.22.0 to 0.29.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1464](https://redirect.github.com/go-playground/validator/pull/1464)
- Bump actions/setup-go from 5 to 6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1465](https://redirect.github.com/go-playground/validator/pull/1465)
- Bump golang.org/x/crypto from 0.33.0 to 0.42.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1467](https://redirect.github.com/go-playground/validator/pull/1467)
- fix: should panic when define duplicate field param in `required_if`
by [@&#8203;duyquang6](https://redirect.github.com/duyquang6) in
[#&#8203;1468](https://redirect.github.com/go-playground/validator/pull/1468)
- Fixed missing keys from returned errors in map validation by
[@&#8203;gelozr](https://redirect.github.com/gelozr) in
[#&#8203;1284](https://redirect.github.com/go-playground/validator/pull/1284)
- Added https\_url tag by
[@&#8203;ahmedkamalio](https://redirect.github.com/ahmedkamalio) in
[#&#8203;1461](https://redirect.github.com/go-playground/validator/pull/1461)
- docs: add description for 'port' validator by
[@&#8203;nodivbyzero](https://redirect.github.com/nodivbyzero) in
[#&#8203;1435](https://redirect.github.com/go-playground/validator/pull/1435)
- Add alphaspace validator by
[@&#8203;takaaa220](https://redirect.github.com/takaaa220) in
[#&#8203;1343](https://redirect.github.com/go-playground/validator/pull/1343)

#### New Contributors

- [@&#8203;duyquang6](https://redirect.github.com/duyquang6) made their
first contribution in
[#&#8203;1468](https://redirect.github.com/go-playground/validator/pull/1468)
- [@&#8203;gelozr](https://redirect.github.com/gelozr) made their first
contribution in
[#&#8203;1284](https://redirect.github.com/go-playground/validator/pull/1284)
- [@&#8203;ahmedkamalio](https://redirect.github.com/ahmedkamalio) made
their first contribution in
[#&#8203;1461](https://redirect.github.com/go-playground/validator/pull/1461)
- [@&#8203;takaaa220](https://redirect.github.com/takaaa220) made their
first contribution in
[#&#8203;1343](https://redirect.github.com/go-playground/validator/pull/1343)

**Full Changelog**:
<https://github.com/go-playground/validator/compare/v10.27.0...v10.28.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-06 23:06:30 +00:00
dishaprakash
21ac98bc06 feat: Add configs and workflows for docs versioning (#1611)
## Description

---
This PR adds related configs and workflows required for document
versioning.

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-07 01:28:49 +05:30
Mend Renovate
5ff0696706 chore(deps): update module github.com/neo4j/neo4j-go-driver/v5 to v5.28.4 (#1634)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/neo4j/neo4j-go-driver/v5](https://redirect.github.com/neo4j/neo4j-go-driver)
| `v5.28.3` -> `v5.28.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fneo4j%2fneo4j-go-driver%2fv5/v5.28.4?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.3/v5.28.4?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.4`](https://redirect.github.com/neo4j/neo4j-go-driver/releases/tag/v5.28.4)

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

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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-06 19:42:30 +00:00
Dr. Strangelove
cec88ec8cb test(looker): Expand timeout on tests (#1637)
## Description

---
The timeout on the server was one minute, but the tests were sometimes
running longer. Made timeout 5 minutes.

> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1635
2025-10-06 12:30:59 -07:00
Mend Renovate
ff8a7fe472 chore(deps): update dependency langgraph to v0.6.8 (#1595)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [langgraph](https://redirect.github.com/langchain-ai/langgraph) |
`==0.6.7` -> `==0.6.8` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/langgraph/0.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/langgraph/0.6.7/0.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>langchain-ai/langgraph (langgraph)</summary>

###
[`v0.6.8`](https://redirect.github.com/langchain-ai/langgraph/releases/tag/0.6.8)

[Compare
Source](https://redirect.github.com/langchain-ai/langgraph/compare/0.6.7...0.6.8)

Changes since 1.0.0a3

- release(langgraph): 0.6.8
([#&#8203;6215](https://redirect.github.com/langchain-ai/langgraph/issues/6215))
- chore(deps): upgrade dependencies with `uv lock --upgrade`
([#&#8203;6211](https://redirect.github.com/langchain-ai/langgraph/issues/6211))
- fix(langgraph): handle multiple annotations w/ `BaseChannel` detection
([#&#8203;6210](https://redirect.github.com/langchain-ai/langgraph/issues/6210))
- fix(langgraph): `CheckpointTask.state` can be a `StateSnapshot`
([#&#8203;6201](https://redirect.github.com/langchain-ai/langgraph/issues/6201))
- chore(langgraph): clean up ruff format config
([#&#8203;6188](https://redirect.github.com/langchain-ai/langgraph/issues/6188))
- style(langgraph): docstring code format pass
([#&#8203;6187](https://redirect.github.com/langchain-ai/langgraph/issues/6187))
- fix(langgraph): cleanup orphaned waiter task in AsyncPregelLoop
([#&#8203;6167](https://redirect.github.com/langchain-ai/langgraph/issues/6167))
- fix(langgraph): fix graph rendering for defer=True
([#&#8203;6130](https://redirect.github.com/langchain-ai/langgraph/issues/6130))
- chore(deps): upgrade dependencies with `uv lock --upgrade`
([#&#8203;6176](https://redirect.github.com/langchain-ai/langgraph/issues/6176))
- fix(langgraph): reuse cached writes on nested resume to prevent task
re-execution
([#&#8203;6161](https://redirect.github.com/langchain-ai/langgraph/issues/6161))
- chore(sdk-py): allow UUIDs in config
([#&#8203;6151](https://redirect.github.com/langchain-ai/langgraph/issues/6151))
- revert(langgraph): restore logic to surface interrupts for
stream\_mod…
([#&#8203;6141](https://redirect.github.com/langchain-ai/langgraph/issues/6141))
- chore(deps): upgrade dependencies with `uv lock --upgrade`
([#&#8203;6146](https://redirect.github.com/langchain-ai/langgraph/issues/6146))
- docs: Add missing merge parameter documentation in push\_ui\_message
([#&#8203;6145](https://redirect.github.com/langchain-ai/langgraph/issues/6145))
- chore(langgraph): Log when no values event is emitted from RemoteGraph
([#&#8203;6140](https://redirect.github.com/langchain-ai/langgraph/issues/6140))
- chore(cli): Add config schema
([#&#8203;6142](https://redirect.github.com/langchain-ai/langgraph/issues/6142))
- fix(langgraph): get\_graph generates unexpected conditional edge
([#&#8203;6122](https://redirect.github.com/langchain-ai/langgraph/issues/6122))
- fix(langgraph): type checking for async w/ functional API
([#&#8203;6126](https://redirect.github.com/langchain-ai/langgraph/issues/6126))
- feat(langgraph): prevent arbitrary resumes w/ multiple pending
interrupts
([#&#8203;6108](https://redirect.github.com/langchain-ai/langgraph/issues/6108))
- fix(langgraph): key error on runtime for config w/o configurable
([#&#8203;6106](https://redirect.github.com/langchain-ai/langgraph/issues/6106))
- chore: minor CI/link fixes
([#&#8203;6116](https://redirect.github.com/langchain-ai/langgraph/issues/6116))
- docs(langgraph): correct typo "runtie" to "runtime" in StateGraph
([#&#8203;6060](https://redirect.github.com/langchain-ai/langgraph/issues/6060))

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

Co-authored-by: Harsh Jha <83023263+rapid-killer-9@users.noreply.github.com>
Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
2025-10-06 10:24:02 -07:00
Mend Renovate
63c54d0453 chore(deps): update module google.golang.org/genai to v1.28.0 (#1572)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[google.golang.org/genai](https://redirect.github.com/googleapis/go-genai)
| `v1.25.0` -> `v1.28.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenai/v1.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenai/v1.25.0/v1.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v1.28.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.28.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.27.0...v1.28.0)

##### Features

- Add `NO_IMAGE` enum value to `FinishReason`
([4f65f45](4f65f457b4))
- Add thinking\_config for live
([54152b2](54152b2e65))

###
[`v1.27.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.27.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.26.0...v1.27.0)

##### Features

- Add `ImageConfig` to `GenerateContentConfig`
([55399fd](55399fdab3))
- rename ComputerUse tool (early access)
([d976966](d976966523))

##### Bug Fixes

- fix system\_instruction mapping issue in batches module
([c862a6d](c862a6de53))

###
[`v1.26.0`](https://redirect.github.com/googleapis/go-genai/releases/tag/v1.26.0)

[Compare
Source](https://redirect.github.com/googleapis/go-genai/compare/v1.25.0...v1.26.0)

##### Features

- Add FunctionResponsePart & ToolComputerUse.excludedPredefinedFunctions
([8b97cef](8b97cefe46))
- Support Imagen 4 Ingredients on Vertex
([a9ab364](a9ab364b51))

##### Bug Fixes

- Expose `JOB_STATE_RUNNING` and `JOB_STATE_EXPIRED` for Gemini Batches
states
([26e0182](26e0182613))
- fix systemInstruction mapping issue in batch generate content. fixes
[#&#8203;505](https://redirect.github.com/googleapis/go-genai/issues/505)
([3997ea2](3997ea21bb))
- initialization of `pre_tuned_model_checkpoint_id` from tuning config.
([b093bcf](b093bcf876))
- Prevent adding `,string` JSON tag for `int64`/`uint64` fields in
`Schema` class. fixes
[#&#8203;511](https://redirect.github.com/googleapis/go-genai/issues/511)
[#&#8203;481](https://redirect.github.com/googleapis/go-genai/issues/481)
([3423dd3](3423dd359d))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-06 10:56:07 +05:30
dishaprakash
4e7b8a01b5 chore: Update model in Go Quickstart tests (#1631)
## Description

---
Updating the Gemini model from 1.5-flash to 2.0-flash in the Go
Quickstart tests for LangChain and Genkit samples.

This PR fixes the failing tests in
https://github.com/googleapis/genai-toolbox/pull/1572

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-06 09:59:52 +05:30
Huan Chen
1a44c671ec feat(tool/bigquery-list-dataset-ids)!: add allowed datasets support (#1573)
## Description
This introduces a breaking change. The bigquery-list-dataset-ids tool
will now enforce the allowed datasets setting from its BigQuery source
configuration. Previously, this setting had no effect on the tool.

The tool's behavior regarding this parameter is influenced by the
`allowedDatasets` restriction on the `bigquery` source:
- **Without `allowedDatasets` restriction:** The tool can list datasets
from any project specified by the `project` parameter.
- **With `allowedDatasets` restriction:** The tool directly returns the
pre-configured list of dataset IDs from the source, and the `project`
parameter is ignored.
---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Part of https://github.com/googleapis/genai-toolbox/issues/873

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-03 23:29:36 +00:00
Averi Kitsch
1536d1fdab feat(sources/mssql): add app name to MSSQL (#1620)
## Description

---
Add auditable application name to mssql sources. Query the db with:
```
SELECT session_id, program_name
FROM sys.dm_exec_sessions;
```

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-03 21:11:14 +00:00
manuka rahul
36c658472c fix: fix broken links (#1625)
Fixed broken links

---------

Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
2025-10-03 15:47:05 +00:00
Mend Renovate
fca879ad5b chore(deps): update module github.com/valkey-io/valkey-go to v1.0.66 (#1525)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/valkey-io/valkey-go](https://redirect.github.com/valkey-io/valkey-go)
| `v1.0.64` -> `v1.0.66` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvalkey-io%2fvalkey-go/v1.0.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvalkey-io%2fvalkey-go/v1.0.64/v1.0.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>valkey-io/valkey-go (github.com/valkey-io/valkey-go)</summary>

###
[`v1.0.66`](https://redirect.github.com/valkey-io/valkey-go/releases/tag/v1.0.66):
1.0.66

[Compare
Source](https://redirect.github.com/valkey-io/valkey-go/compare/v1.0.65...v1.0.66)

##### Changes

- fix panics that happen on `MOVED` redirections for commands without a
slot
([#&#8203;80](https://redirect.github.com/valkey-io/valkey-go/issues/80))

##### Contributors

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

[@&#8203;rueian](https://redirect.github.com/rueian) and
[@&#8203;skif48](https://redirect.github.com/skif48)

###
[`v1.0.65`](https://redirect.github.com/valkey-io/valkey-go/releases/tag/v1.0.65):
1.0.65

[Compare
Source](https://redirect.github.com/valkey-io/valkey-go/compare/v1.0.64...v1.0.65)

### Changes

- feat: new `ReadNodeSelector` option allowing more fine-grained control
over load balancing among nodes and deprecating the old
`ReplicaSelector`.
- feat: new `BYPOLYGON` option in `GEOSEARCH` command.
- feat: new `SAFE` option in `SHUTDOWN` command.
- feat: new `DELIFEQ` command.
- fix: correctly handle early exit in `Scanner` iterators.

### Experimental

- feat: new experimental pipelining queue implementation, which is
context aware and can be enabled by setting the `RUEIDIS_QUEUE_TYPE`
environment variable to `flowbuffer`.

#### Contributors

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

[@&#8203;Krish8955](https://redirect.github.com/Krish8955),
[@&#8203;ash2k](https://redirect.github.com/ash2k),
[@&#8203;ayush-sarda](https://redirect.github.com/ayush-sarda),
[@&#8203;bbangert](https://redirect.github.com/bbangert),
[@&#8203;proost](https://redirect.github.com/proost),
[@&#8203;rueian](https://redirect.github.com/rueian) and
[@&#8203;wandering-salesman](https://redirect.github.com/wandering-salesman)

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-02 16:12:16 -07:00
Averi Kitsch
c4a22b8d3b feat: add program name to MySQL connections (#1617)
## Description

---
Audit your applications by using the following sql to track program name
```
SELECT
    session_connect_attrs.ATTR_VALUE AS program_name,
    processlist.*
FROM
    information_schema.processlist
LEFT JOIN
    performance_schema.session_connect_attrs
ON
    (processlist.ID = session_connect_attrs.PROCESSLIST_ID AND session_connect_attrs.ATTR_NAME = "program_name");
```


## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-02 22:41:31 +00:00
Mend Renovate
af72637009 chore(deps): update module google.golang.org/api to v0.251.0 (#1563)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client)
| `v0.250.0` -> `v0.251.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.251.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.250.0/v0.251.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;3319](https://redirect.github.com/googleapis/google-api-go-client/issues/3319))
([7ef0f9b](7ef0f9bc31))
- **all:** Auto-regenerate discovery clients
([#&#8203;3321](https://redirect.github.com/googleapis/google-api-go-client/issues/3321))
([2cb519b](2cb519b1a2))
- **all:** Auto-regenerate discovery clients
([#&#8203;3322](https://redirect.github.com/googleapis/google-api-go-client/issues/3322))
([3e4bc60](3e4bc60626))
- **all:** Auto-regenerate discovery clients
([#&#8203;3324](https://redirect.github.com/googleapis/google-api-go-client/issues/3324))
([b41b5a5](b41b5a5c9e))
- **all:** Auto-regenerate discovery clients
([#&#8203;3325](https://redirect.github.com/googleapis/google-api-go-client/issues/3325))
([8c5ef06](8c5ef06788))

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-02 21:17:46 +00:00
Averi Kitsch
dcc3dabdea ci: Update go test version (#1615)
## Description

---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [ ] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-10-02 12:16:08 -07:00
Mend Renovate
564adbef27 chore(deps): update github actions (major) (#1329)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/github-script](https://redirect.github.com/actions/github-script)
| action | major | `v7.1.0` -> `v8.0.0` |
|
[actions/github-script](https://redirect.github.com/actions/github-script)
| action | major | `v7` -> `v8` |
| [actions/setup-go](https://redirect.github.com/actions/setup-go) |
action | major | `v5.5.0` -> `v6.0.0` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | major | `v4` -> `v5` |

---

### Release Notes

<details>
<summary>actions/github-script (actions/github-script)</summary>

###
[`v8.0.0`](https://redirect.github.com/actions/github-script/compare/v7.1.0...v8.0.0)

[Compare
Source](https://redirect.github.com/actions/github-script/compare/v7.1.0...v8.0.0)

</details>

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

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

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

#### What's Changed

##### Breaking Changes

- Improve toolchain handling to ensure more reliable and consistent
toolchain selection and management by
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
in [#&#8203;460](https://redirect.github.com/actions/setup-go/pull/460)
- Upgrade Nodejs runtime from node20 to node 24 by
[@&#8203;salmanmkc](https://redirect.github.com/salmanmkc) in
[#&#8203;624](https://redirect.github.com/actions/setup-go/pull/624)

Make sure your runner is on version v2.327.1 or later to ensure
compatibility with this release. [See Release
Notes](https://redirect.github.com/actions/runner/releases/tag/v2.327.1)

##### Dependency Upgrades

- Upgrade [@&#8203;types/jest](https://redirect.github.com/types/jest)
from 29.5.12 to 29.5.14 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;589](https://redirect.github.com/actions/setup-go/pull/589)
- Upgrade
[@&#8203;actions/tool-cache](https://redirect.github.com/actions/tool-cache)
from 2.0.1 to 2.0.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;591](https://redirect.github.com/actions/setup-go/pull/591)
- Upgrade
[@&#8203;typescript-eslint/parser](https://redirect.github.com/typescript-eslint/parser)
from 8.31.1 to 8.35.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;590](https://redirect.github.com/actions/setup-go/pull/590)
- Upgrade undici from 5.28.5 to 5.29.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;594](https://redirect.github.com/actions/setup-go/pull/594)
- Upgrade typescript from 5.4.2 to 5.8.3 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;538](https://redirect.github.com/actions/setup-go/pull/538)
- Upgrade eslint-plugin-jest from 28.11.0 to 29.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;603](https://redirect.github.com/actions/setup-go/pull/603)
- Upgrade `form-data` to bring in fix for critical vulnerability by
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
in [#&#8203;618](https://redirect.github.com/actions/setup-go/pull/618)
- Upgrade actions/checkout from 4 to 5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;631](https://redirect.github.com/actions/setup-go/pull/631)

#### New Contributors

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

**Full Changelog**:
<https://github.com/actions/setup-go/compare/v5...v6.0.0>

</details>

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

###
[`v5`](https://redirect.github.com/actions/setup-node/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v4...v5)

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

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-02 18:20:18 +00:00
Dr. Strangelove
2d5a93e312 feat(tools/looker): Enable access to the Conversational Analytics API for Looker (#1596)
## Description

This enables the Conversational Analytics API for Looker. The prebuilt
config is separate since it is not a good
idea to use the Looker prebuilt config with CA. Agents get confused as
to whether they should query the data directly
or use the CA tool.
2025-10-02 17:45:41 +00:00
Dr. Strangelove
5aed4e136d feat(tools/looker): add support for pulse, vacuum and analyze audit and performance functions on a Looker instance (#1581)
This pull request adds 3 new tools, looker-health-pulse,
looker-health-vacuum, and looker-health-analyze, as capabilities to the
Looker MCP Toolbox. These tools are designed to provide health checks
and auditing analytical insights for a Looker instance (they come from
the popular [Looker CLI tool
Henry](https://github.com/looker-open-source/henry)).

**looker-health-pulse**
This tool performs various health checks on a Looker instance. It can be
used to:
- Check database connection status.
- Identify dashboards with slow-running or erroring queries.
- List slow explores and failed schedules.
- Find enabled legacy features.

**looker-health-analyze**
This tool performs analytical tasks on Looker projects, models, and
explores. It can be used to:
- Analyze projects to check Git status and validation.
- Analyze models to count explores and identify unused ones.
- Analyze explores to find unused joins and fields. *Unused is defined
as not being queried in the last 90 days.*

**looker-health-vacuum**
This tool finds unnused explores, joins, and fields based on user
defined search conditions (namely, timeframe and min query #):
- Identify unnused explores for specific or all models
- Identify unnused fields or joins for specific explores or all explores
within a model

This update targets Looker administrators, as it provides new
capabilities to monitor the health and efficiency of their Looker
instances and connect those capabilities to MCP Clients.

🛠️ Fixes #1415

---------

Co-authored-by: Luka Fontanilla <maluka@google.com>
2025-10-02 13:03:45 -04:00
Saurabh Maurya
3be9b7b3bd feat(tools/dataform): add dataform compile tool (#1470)
## Description

This change introduces a new tool for compiling local Dataform projects.

The new tool, `dataform-compile`, allows users to programmatically run
the `dataform compile` command against a project on the local
filesystem. This tool does not require a `source` and instead relies on
the `dataform` CLI being available in the server's `PATH`.

### Changes:
* Added the new tool definition in
`internal/tools/dataformcompile/dataformcompile.go`.
* The tool requires the following parameter:
    * `project_dir`: The local Dataform project directory to compile.
* The tool uses `os/exec` to run the `dataform compile --json` command
and parses the resulting JSON output.
* Added a new integration test in
`internal/tools/dataformcompile/dataformcompile_test.go` which:
    * Skips the test if the `dataform` CLI is not found in the `PATH`.
* Uses `dataform init` to create a temporary, minimal project for
testing.
* Verifies success, missing parameter errors, and errors from a
non-existent directory.
---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## PR Checklist

---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:

- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1469

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-10-01 14:15:28 -07:00
Mend Renovate
4dff01f98a chore(deps): update module github.com/spf13/cobra to v1.10.1 (#1303)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/spf13/cobra](https://redirect.github.com/spf13/cobra) |
`v1.9.1` -> `v1.10.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fcobra/v1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fcobra/v1.9.1/v1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>spf13/cobra (github.com/spf13/cobra)</summary>

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

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

##### 🐛 Fix

- chore: upgrade pflags v1.0.9 by
[@&#8203;jpmcb](https://redirect.github.com/jpmcb) in
[#&#8203;2305](https://redirect.github.com/spf13/cobra/pull/2305)

v1.0.9 of pflags brought back `ParseErrorsWhitelist` and marked it as
deprecated

**Full Changelog**:
<https://github.com/spf13/cobra/compare/v1.10.0...v1.10.1>

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

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

#### What's Changed

##### 🚨 Attention!

- Bump pflag to 1.0.8 by
[@&#8203;tomasaschan](https://redirect.github.com/tomasaschan) in
[#&#8203;2303](https://redirect.github.com/spf13/cobra/pull/2303)

This version of `pflag` carried a breaking change: it renamed
`ParseErrorsWhitelist` to `ParseErrorsAllowlist` which can break builds
if both `pflag` and `cobra` are dependencies in your project.

- If you use both `pflag and `cobra`, upgrade `pflag`to 1.0.8
and`cobra`to`1.10.0\`
- ***or*** use the newer, fixed version of `pflag` v1.0.9 which keeps
the deprecated `ParseErrorsWhitelist`

More details can be found here: [#&#8203;2303
(comment)](https://redirect.github.com/spf13/cobra/pull/2303#issuecomment-3242333515)

#####  Features

- Flow context to command in SetHelpFunc by
[@&#8203;Frassle](https://redirect.github.com/Frassle) in
[#&#8203;2241](https://redirect.github.com/spf13/cobra/pull/2241)
- The default ShellCompDirective can be customized for a command and its
subcommands by [@&#8203;albers](https://redirect.github.com/albers) in
[#&#8203;2238](https://redirect.github.com/spf13/cobra/pull/2238)

##### 🐛 Fix

- Upgrade golangci-lint to v2, address findings by
[@&#8203;scop](https://redirect.github.com/scop) in
[#&#8203;2279](https://redirect.github.com/spf13/cobra/pull/2279)

##### 🪠 Testing

- Test with Go 1.24 by
[@&#8203;harryzcy](https://redirect.github.com/harryzcy) in
[#&#8203;2236](https://redirect.github.com/spf13/cobra/pull/2236)
- chore: Rm GitHub Action PR size labeler by
[@&#8203;jpmcb](https://redirect.github.com/jpmcb) in
[#&#8203;2256](https://redirect.github.com/spf13/cobra/pull/2256)

##### 📝 Docs

- Remove traling curlybrace by
[@&#8203;yedayak](https://redirect.github.com/yedayak) in
[#&#8203;2237](https://redirect.github.com/spf13/cobra/pull/2237)
- Update command.go by
[@&#8203;styee](https://redirect.github.com/styee) in
[#&#8203;2248](https://redirect.github.com/spf13/cobra/pull/2248)
- feat: Add security policy by
[@&#8203;jpmcb](https://redirect.github.com/jpmcb) in
[#&#8203;2253](https://redirect.github.com/spf13/cobra/pull/2253)
- Update Readme (Warp) by
[@&#8203;ericdachen](https://redirect.github.com/ericdachen) in
[#&#8203;2267](https://redirect.github.com/spf13/cobra/pull/2267)
- Add Periscope to the list of projects using Cobra by
[@&#8203;anishathalye](https://redirect.github.com/anishathalye) in
[#&#8203;2299](https://redirect.github.com/spf13/cobra/pull/2299)

#### New Contributors

- [@&#8203;harryzcy](https://redirect.github.com/harryzcy) made their
first contribution in
[#&#8203;2236](https://redirect.github.com/spf13/cobra/pull/2236)
- [@&#8203;yedayak](https://redirect.github.com/yedayak) made their
first contribution in
[#&#8203;2237](https://redirect.github.com/spf13/cobra/pull/2237)
- [@&#8203;Frassle](https://redirect.github.com/Frassle) made their
first contribution in
[#&#8203;2241](https://redirect.github.com/spf13/cobra/pull/2241)
- [@&#8203;styee](https://redirect.github.com/styee) made their first
contribution in
[#&#8203;2248](https://redirect.github.com/spf13/cobra/pull/2248)
- [@&#8203;ericdachen](https://redirect.github.com/ericdachen) made
their first contribution in
[#&#8203;2267](https://redirect.github.com/spf13/cobra/pull/2267)
- [@&#8203;albers](https://redirect.github.com/albers) made their first
contribution in
[#&#8203;2238](https://redirect.github.com/spf13/cobra/pull/2238)
- [@&#8203;anishathalye](https://redirect.github.com/anishathalye) made
their first contribution in
[#&#8203;2299](https://redirect.github.com/spf13/cobra/pull/2299)
- [@&#8203;tomasaschan](https://redirect.github.com/tomasaschan) made
their first contribution in
[#&#8203;2303](https://redirect.github.com/spf13/cobra/pull/2303)

**Full Changelog**:
<https://github.com/spf13/cobra/compare/v1.9.1...v1.9.2>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/googleapis/genai-toolbox).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuMTMwLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-10-01 12:58:29 -07:00
232 changed files with 13181 additions and 704 deletions

View File

@@ -194,6 +194,26 @@ steps:
dataplex \
dataplex
- id: "dataform"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
apt-get update && apt-get install -y npm && \
npm install -g @dataform/cli && \
.ci/test_with_coverage.sh \
"Dataform" \
dataform \
dataform
- id: "postgres"
name: golang:1
waitFor: ["compile-test-binary"]
@@ -517,6 +537,8 @@ steps:
- "FIRESTORE_PROJECT=$PROJECT_ID"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
- "LOOKER_VERIFY_SSL=$_LOOKER_VERIFY_SSL"
- "LOOKER_PROJECT=$_LOOKER_PROJECT"
- "LOOKER_LOCATION=$_LOOKER_LOCATION"
secretEnv:
[
"CLIENT_ID",
@@ -535,6 +557,26 @@ steps:
looker \
looker
- id: "mongodb"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "MONGODB_DATABASE=$_DATABASE_NAME"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["MONGODB_URI", "CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
.ci/test_with_coverage.sh \
"MongoDB" \
mongodb \
mongodb
- id: "cloud-sql"
name: golang:1
waitFor: ["compile-test-binary"]
@@ -619,6 +661,25 @@ steps:
clickhouse \
clickhouse
- id: "cloud-monitoring"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
.ci/test_with_coverage.sh \
"Cloud Monitoring" \
cloudmonitoring \
cloudmonitoring
- id: "trino"
name: golang:1
waitFor: ["compile-test-binary"]
@@ -681,7 +742,46 @@ steps:
"Cassandra" \
cassandra \
cassandra
- id: "oracle"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
- "ORACLE_SERVER_NAME=$_ORACLE_SERVER_NAME"
secretEnv: ["CLIENT_ID", "ORACLE_USER", "ORACLE_PASS", "ORACLE_HOST"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
.ci/test_with_coverage.sh \
"Oracle" \
oracle \
oracle
- id: "serverless-spark"
name: golang:1
waitFor: ["compile-test-binary"]
entrypoint: /bin/bash
env:
- "GOPATH=/gopath"
- "SERVERLESS_SPARK_PROJECT=$PROJECT_ID"
- "SERVERLESS_SPARK_LOCATION=$_REGION"
secretEnv: ["CLIENT_ID"]
volumes:
- name: "go"
path: "/gopath"
args:
- -c
- |
.ci/test_with_coverage.sh \
"Serverless Spark" \
serverlessspark
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/cloud_sql_pg_user/versions/latest
@@ -722,6 +822,8 @@ availableSecrets:
env: MSSQL_USER
- versionName: projects/$PROJECT_ID/secrets/mssql_pass/versions/latest
env: MSSQL_PASS
- versionName: projects/$PROJECT_ID/secrets/mongodb_uri/versions/latest
env: MONGODB_URI
- versionName: projects/$PROJECT_ID/secrets/couchbase_connection/versions/latest
env: COUCHBASE_CONNECTION
- versionName: projects/$PROJECT_ID/secrets/couchbase_user/versions/latest
@@ -772,6 +874,12 @@ availableSecrets:
env: CASSANDRA_PASS
- versionName: projects/$PROJECT_ID/secrets/cassandra_host/versions/latest
env: CASSANDRA_HOST
- versionName: projects/$PROJECT_ID/secrets/oracle_user/versions/latest
env: ORACLE_USER
- versionName: projects/$PROJECT_ID/secrets/oracle_pass/versions/latest
env: ORACLE_PASS
- versionName: projects/$PROJECT_ID/secrets/oracle_host/versions/latest
env: ORACLE_HOST
options:
logging: CLOUD_LOGGING_ONLY
@@ -804,6 +912,8 @@ substitutions:
_DGRAPHURL: "https://play.dgraph.io"
_COUCHBASE_BUCKET: "couchbase-bucket"
_COUCHBASE_SCOPE: "couchbase-scope"
_LOOKER_LOCATION: "us"
_LOOKER_PROJECT: "149671255749"
_LOOKER_VERIFY_SSL: "true"
_TIDB_HOST: 127.0.0.1
_TIDB_PORT: "4000"
@@ -821,3 +931,4 @@ substitutions:
_YUGABYTEDB_DATABASE: "yugabyte"
_YUGABYTEDB_PORT: "5433"
_YUGABYTEDB_LOADBALANCE: "false"
_ORACLE_SERVER_NAME: "FREEPDB1"

View File

@@ -1,12 +1,10 @@
## Description
---
> Should include a concise description of the changes (bug or feature), it's
> impact, along with a summary of the solution
## PR Checklist
---
> Thank you for opening a Pull Request! Before submitting your PR, there are a
> few things you can do to make sure it goes smoothly:
@@ -14,7 +12,7 @@
[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [ ] Make sure to open an issue as a
[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
before writing your code! That way we can discuss the change, evaluate
designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)

View File

@@ -37,4 +37,5 @@ extraFiles: [
"docs/en/how-to/connect-ide/postgres_mcp.md",
"docs/en/how-to/connect-ide/neo4j_mcp.md",
"docs/en/how-to/connect-ide/sqlite_mcp.md",
]
"gemini-extension.json",
]

View File

@@ -37,7 +37,7 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- uses: 'actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b' # v7
- uses: 'actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd' # v8
with:
script: |-
// parse test names

85
.github/workflows/deploy_dev_docs.yaml vendored Normal file
View File

@@ -0,0 +1,85 @@
# 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: "Deploy In-development docs"
permissions:
contents: write
on:
push:
branches:
- main
paths:
- 'docs/**'
- 'github/workflows/docs**'
- '.hugo/**'
# Allow triggering manually.
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-24.04
defaults:
run:
working-directory: .hugo
# This shared concurrency group ensures only one docs deployment runs at a time.
concurrency:
group: docs-deployment
cancel-in-progress: false
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
with:
hugo-version: "0.145.0"
extended: true
- name: Setup Node
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: "22"
- name: Cache dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- run: npm ci
- run: hugo --minify
env:
HUGO_BASEURL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/dev
HUGO_RELATIVEURLS: false
- name: Create Staging Directory
run: |
mkdir staging
mv public staging/dev
mv staging/dev/releases.releases staging/releases.releases
- name: Deploy
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./.hugo/staging
publish_branch: versioned-gh-pages
keep_files: true
commit_message: "deploy: ${{ github.event.head_commit.message }}"

View File

@@ -0,0 +1,104 @@
# 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: "Deploy Previous Version Docs"
on:
workflow_dispatch:
inputs:
version_tag:
description: 'The old version tag to build docs for (e.g., v0.15.0)'
required: true
type: string
jobs:
build_and_deploy:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout main branch (for latest templates and theme)
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
ref: 'main'
submodules: 'recursive'
fetch-depth: 0
- name: Checkout old content from tag into a temporary directory
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
ref: ${{ github.event.inputs.version_tag }}
path: 'old_version_source' # Checkout into a temp subdir
# Sparse checkout to only get the content directory
sparse-checkout: |
docs
- name: Replace content with old version
run: |
# Remove the current content directory from the main branch checkout
rm -rf docs/
# Move the old content directory into place
mv ./old_version_source/docs docs
- name: Setup Hugo and Node
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
with:
hugo-version: "0.145.0"
extended: true
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: "22"
- name: Install Dependencies
run: npm ci
working-directory: .hugo
- name: Build Hugo Site for Archived Version
run: hugo --minify
working-directory: .hugo
env:
HUGO_BASEURL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/${{ github.event.inputs.version_tag }}/
HUGO_RELATIVEURLS: false
- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
publish_branch: versioned-gh-pages
destination_dir: ./${{ github.event.inputs.version_tag }}
keep_files: true
allow_empty_commit: true
commit_message: "docs(backport): deploy docs for ${{ github.event.inputs.version_tag }}"
- name: Clean Build Directory
run: rm -rf .hugo/public
- name: Build Hugo Site
run: hugo --minify
working-directory: .hugo
env:
HUGO_BASEURL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/
HUGO_RELATIVEURLS: false
- name: Deploy to root
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
publish_branch: versioned-gh-pages
keep_files: true
allow_empty_commit: true
commit_message: "deploy: docs to root for ${{ github.event.inputs.version_tag }}"

View File

@@ -0,0 +1,90 @@
# 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: "Deploy Versioned Docs"
permissions:
contents: write
on:
release:
types: [published]
jobs:
deploy:
runs-on: ubuntu-24.04
# This shared concurrency group ensures only one docs deployment runs at a time.
concurrency:
group: docs-deployment
cancel-in-progress: false
steps:
- name: Checkout Code at Tag
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
ref: ${{ github.event.release.tag_name }}
- name: Get Version from Release Tag
run: echo "VERSION=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
- name: Setup Hugo
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
with:
hugo-version: "0.145.0"
extended: true
- name: Setup Node
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: "22"
- name: Install Dependencies
run: npm ci
working-directory: .hugo
- name: Build Hugo Site
run: hugo --minify
working-directory: .hugo
env:
HUGO_BASEURL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/${{ env.VERSION }}/
HUGO_RELATIVEURLS: false
- name: Deploy
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
publish_branch: versioned-gh-pages
destination_dir: ./${{ env.VERSION }}
keep_files: true
commit_message: "deploy: docs for ${{ env.VERSION }}"
- name: Clean Build Directory
run: rm -rf .hugo/public
- name: Build Hugo Site
run: hugo --minify
working-directory: .hugo
env:
HUGO_BASEURL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/
HUGO_RELATIVEURLS: false
- name: Deploy to root
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
publish_branch: versioned-gh-pages
keep_files: true
allow_empty_commit: true
commit_message: "deploy: docs to root for ${{ env.VERSION }}"

View File

@@ -50,12 +50,12 @@ jobs:
extended: true
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: "22"
- name: Cache dependencies
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}

View File

@@ -36,7 +36,7 @@ jobs:
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
ref: gh-pages
ref: versioned-gh-pages
- name: Remove Preview
run: |
@@ -48,7 +48,7 @@ jobs:
git push
- name: Comment
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
with:
script: |
github.rest.issues.createComment({
@@ -56,4 +56,4 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
body: "🧨 Preview deployments removed."
})
})

View File

@@ -62,12 +62,12 @@ jobs:
extended: true
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: "22"
- name: Cache dependencies
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -86,11 +86,12 @@ jobs:
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .hugo/public
publish_branch: versioned-gh-pages
destination_dir: ./previews/PR-${{ github.event.number }}
commit_message: "stage: PR-${{ github.event.number }}: ${{ github.event.head_commit.message }}"
- name: Comment
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
with:
script: |
github.rest.issues.createComment({

View File

@@ -36,7 +36,7 @@ jobs:
steps:
- name: Remove PR Label
if: "${{ github.event.action == 'labeled' && github.event.label.name == 'tests: run' }}"
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
@@ -51,9 +51,9 @@ jobs:
console.log('Failed to remove label. Another job may have already removed it!');
}
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: "1.22"
go-version: "1.25"
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:

View File

@@ -41,7 +41,7 @@ jobs:
steps:
- name: Remove PR label
if: "${{ github.event.action == 'labeled' && github.event.label.name == 'tests: run' }}"
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
@@ -57,9 +57,9 @@ jobs:
}
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: "1.22"
go-version: "1.24"
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

View File

@@ -1,5 +1,5 @@
title = 'MCP Toolbox for Databases'
relativeURLs = true
relativeURLs = false
languageCode = 'en-us'
defaultContentLanguage = "en"
@@ -36,6 +36,7 @@ ignoreFiles = ["quickstart/shared", "quickstart/python", "quickstart/js", "quick
github_project_repo = "https://github.com/googleapis/genai-toolbox"
github_subdir = "docs"
offlineSearch = true
version_menu = "Releases"
[params.ui]
ul_show = 100
showLightDarkModeMenu = true
@@ -43,6 +44,58 @@ ignoreFiles = ["quickstart/shared", "quickstart/python", "quickstart/js", "quick
sidebar_menu_foldable = true
sidebar_menu_compact = false
[[params.versions]]
version = "Dev"
url = "https://googleapis.github.io/genai-toolbox/dev/"
# Add a new version block here before every release
# The order of versions in this file is mirrored into the dropdown
[[params.versions]]
version = "v0.18.0"
url = "https://googleapis.github.io/genai-toolbox/v0.18.0/"
[[params.versions]]
version = "v0.17.0"
url = "https://googleapis.github.io/genai-toolbox/v0.17.0/"
[[params.versions]]
version = "v0.16.0"
url = "https://googleapis.github.io/genai-toolbox/v0.16.0/"
[[params.versions]]
version = "v0.15.0"
url = "https://googleapis.github.io/genai-toolbox/v0.15.0/"
[[params.versions]]
version = "v0.14.0"
url = "https://googleapis.github.io/genai-toolbox/v0.14.0/"
[[params.versions]]
version = "v0.13.0"
url = "https://googleapis.github.io/genai-toolbox/v0.13.0/"
[[params.versions]]
version = "v0.12.0"
url = "https://googleapis.github.io/genai-toolbox/v0.12.0/"
[[params.versions]]
version = "v0.11.0"
url = "https://googleapis.github.io/genai-toolbox/v0.11.0/"
[[params.versions]]
version = "v0.10.0"
url = "https://googleapis.github.io/genai-toolbox/v0.10.0/"
[[params.versions]]
version = "v0.9.0"
url = "https://googleapis.github.io/genai-toolbox/v0.9.0/"
[[params.versions]]
version = "v0.8.0"
url = "https://googleapis.github.io/genai-toolbox/v0.8.0/"
[[menu.main]]
name = "GitHub"
weight = 50
@@ -67,6 +120,13 @@ ignoreFiles = ["quickstart/shared", "quickstart/python", "quickstart/js", "quick
baseName = "llms-full"
isPlainText = true
root = true
[outputFormats.releases]
baseName = 'releases'
isPlainText = true
mediaType = 'text/releases'
[mediaTypes."text/releases"]
suffixes = ["releases"]
[outputs]
home = ["HTML", "RSS", "LLMS", "LLMS-FULL"]
home = ["HTML", "RSS", "LLMS", "LLMS-FULL", "releases"]

View File

@@ -0,0 +1,9 @@
{{ if .Site.Params.versions -}}
{{ $path := "" -}}
{{ if .Site.Params.version_menu_pagelinks -}}
{{ $path = .Page.RelPermalink -}}
{{ end -}}
{{ range .Site.Params.versions -}}
<a class="dropdown-item" href="{{ .url }}{{ $path }}">{{ .version }}</a>
{{ end -}}
{{ end -}}

View File

@@ -0,0 +1 @@
<script src='{{ .Site.BaseURL }}js/w3.js' type="application/x-javascript"></script>

View File

@@ -0,0 +1,12 @@
{{ if .Site.Params.versions -}}
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ .Site.Params.version_menu }}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<div w3-include-html="/genai-toolbox/releases.releases" w3-include-html-default='<a class="dropdown-item" href="/genai-toolbox/dev/">Dev</a>'></div>
<script>
// This must run after the w3.js script has loaded.
w3.includeHTML();
</script>
</div>
{{ end -}}

405
.hugo/static/js/w3.js Normal file
View File

@@ -0,0 +1,405 @@
/* W3.JS 1.04 April 2019 by w3schools.com */
"use strict";
var w3 = {};
w3.hide = function (sel) {
w3.hideElements(w3.getElements(sel));
};
w3.hideElements = function (elements) {
var i, l = elements.length;
for (i = 0; i < l; i++) {
w3.hideElement(elements[i]);
}
};
w3.hideElement = function (element) {
w3.styleElement(element, "display", "none");
};
w3.show = function (sel, a) {
var elements = w3.getElements(sel);
if (a) {w3.hideElements(elements);}
w3.showElements(elements);
};
w3.showElements = function (elements) {
var i, l = elements.length;
for (i = 0; i < l; i++) {
w3.showElement(elements[i]);
}
};
w3.showElement = function (element) {
w3.styleElement(element, "display", "block");
};
w3.addStyle = function (sel, prop, val) {
w3.styleElements(w3.getElements(sel), prop, val);
};
w3.styleElements = function (elements, prop, val) {
var i, l = elements.length;
for (i = 0; i < l; i++) {
w3.styleElement(elements[i], prop, val);
}
};
w3.styleElement = function (element, prop, val) {
element.style.setProperty(prop, val);
};
w3.toggleShow = function (sel) {
var i, x = w3.getElements(sel), l = x.length;
for (i = 0; i < l; i++) {
if (x[i].style.display == "none") {
w3.styleElement(x[i], "display", "block");
} else {
w3.styleElement(x[i], "display", "none");
}
}
};
w3.addClass = function (sel, name) {
w3.addClassElements(w3.getElements(sel), name);
};
w3.addClassElements = function (elements, name) {
var i, l = elements.length;
for (i = 0; i < l; i++) {
w3.addClassElement(elements[i], name);
}
};
w3.addClassElement = function (element, name) {
var i, arr1, arr2;
arr1 = element.className.split(" ");
arr2 = name.split(" ");
for (i = 0; i < arr2.length; i++) {
if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];}
}
};
w3.removeClass = function (sel, name) {
w3.removeClassElements(w3.getElements(sel), name);
};
w3.removeClassElements = function (elements, name) {
var i, l = elements.length, arr1, arr2, j;
for (i = 0; i < l; i++) {
w3.removeClassElement(elements[i], name);
}
};
w3.removeClassElement = function (element, name) {
var i, arr1, arr2;
arr1 = element.className.split(" ");
arr2 = name.split(" ");
for (i = 0; i < arr2.length; i++) {
while (arr1.indexOf(arr2[i]) > -1) {
arr1.splice(arr1.indexOf(arr2[i]), 1);
}
}
element.className = arr1.join(" ");
};
w3.toggleClass = function (sel, c1, c2) {
w3.toggleClassElements(w3.getElements(sel), c1, c2);
};
w3.toggleClassElements = function (elements, c1, c2) {
var i, l = elements.length;
for (i = 0; i < l; i++) {
w3.toggleClassElement(elements[i], c1, c2);
}
};
w3.toggleClassElement = function (element, c1, c2) {
var t1, t2, t1Arr, t2Arr, j, arr, allPresent;
t1 = (c1 || "");
t2 = (c2 || "");
t1Arr = t1.split(" ");
t2Arr = t2.split(" ");
arr = element.className.split(" ");
if (t2Arr.length == 0) {
allPresent = true;
for (j = 0; j < t1Arr.length; j++) {
if (arr.indexOf(t1Arr[j]) == -1) {allPresent = false;}
}
if (allPresent) {
w3.removeClassElement(element, t1);
} else {
w3.addClassElement(element, t1);
}
} else {
allPresent = true;
for (j = 0; j < t1Arr.length; j++) {
if (arr.indexOf(t1Arr[j]) == -1) {allPresent = false;}
}
if (allPresent) {
w3.removeClassElement(element, t1);
w3.addClassElement(element, t2);
} else {
w3.removeClassElement(element, t2);
w3.addClassElement(element, t1);
}
}
};
w3.getElements = function (id) {
if (typeof id == "object") {
return [id];
} else {
return document.querySelectorAll(id);
}
};
w3.filterHTML = function(id, sel, filter) {
var a, b, c, i, ii, iii, hit;
a = w3.getElements(id);
for (i = 0; i < a.length; i++) {
b = a[i].querySelectorAll(sel);
for (ii = 0; ii < b.length; ii++) {
hit = 0;
if (b[ii].innerText.toUpperCase().indexOf(filter.toUpperCase()) > -1) {
hit = 1;
}
c = b[ii].getElementsByTagName("*");
for (iii = 0; iii < c.length; iii++) {
if (c[iii].innerText.toUpperCase().indexOf(filter.toUpperCase()) > -1) {
hit = 1;
}
}
if (hit == 1) {
b[ii].style.display = "";
} else {
b[ii].style.display = "none";
}
}
}
};
w3.sortHTML = function(id, sel, sortvalue) {
var a, b, i, ii, y, bytt, v1, v2, cc, j;
a = w3.getElements(id);
for (i = 0; i < a.length; i++) {
for (j = 0; j < 2; j++) {
cc = 0;
y = 1;
while (y == 1) {
y = 0;
b = a[i].querySelectorAll(sel);
for (ii = 0; ii < (b.length - 1); ii++) {
bytt = 0;
if (sortvalue) {
v1 = b[ii].querySelector(sortvalue).innerText;
v2 = b[ii + 1].querySelector(sortvalue).innerText;
} else {
v1 = b[ii].innerText;
v2 = b[ii + 1].innerText;
}
v1 = v1.toLowerCase();
v2 = v2.toLowerCase();
if ((j == 0 && (v1 > v2)) || (j == 1 && (v1 < v2))) {
bytt = 1;
break;
}
}
if (bytt == 1) {
b[ii].parentNode.insertBefore(b[ii + 1], b[ii]);
y = 1;
cc++;
}
}
if (cc > 0) {break;}
}
}
};
w3.slideshow = function (sel, ms, func) {
var i, ss, x = w3.getElements(sel), l = x.length;
ss = {};
ss.current = 1;
ss.x = x;
ss.ondisplaychange = func;
if (!isNaN(ms) || ms == 0) {
ss.milliseconds = ms;
} else {
ss.milliseconds = 1000;
}
ss.start = function() {
ss.display(ss.current)
if (ss.ondisplaychange) {ss.ondisplaychange();}
if (ss.milliseconds > 0) {
window.clearTimeout(ss.timeout);
ss.timeout = window.setTimeout(ss.next, ss.milliseconds);
}
};
ss.next = function() {
ss.current += 1;
if (ss.current > ss.x.length) {ss.current = 1;}
ss.start();
};
ss.previous = function() {
ss.current -= 1;
if (ss.current < 1) {ss.current = ss.x.length;}
ss.start();
};
ss.display = function (n) {
w3.styleElements(ss.x, "display", "none");
w3.styleElement(ss.x[n - 1], "display", "block");
}
ss.start();
return ss;
};
w3.includeHTML = function(cb) {
var z, i, elmnt, file, xhttp;
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
file = elmnt.getAttribute("w3-include-html");
if (file) {
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {elmnt.innerHTML = this.responseText;}
if (this.status == 404) {
if (elmnt.getAttribute("w3-include-html-default")) {
elmnt.innerHTML = elmnt.getAttribute("w3-include-html-default");
}
else { elmnt.innerHTML = "Page not found."; }
}
elmnt.removeAttribute("w3-include-html");
w3.includeHTML(cb);
}
}
xhttp.open("GET", file, true);
xhttp.send();
return;
}
}
if (cb) cb();
};
w3.getHttpData = function (file, func) {
w3.http(file, function () {
if (this.readyState == 4 && this.status == 200) {
func(this.responseText);
}
});
};
w3.getHttpObject = function (file, func) {
w3.http(file, function () {
if (this.readyState == 4 && this.status == 200) {
func(JSON.parse(this.responseText));
}
});
};
w3.displayHttp = function (id, file) {
w3.http(file, function () {
if (this.readyState == 4 && this.status == 200) {
w3.displayObject(id, JSON.parse(this.responseText));
}
});
};
w3.http = function (target, readyfunc, xml, method) {
var httpObj;
if (!method) {method = "GET"; }
if (window.XMLHttpRequest) {
httpObj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
httpObj = new ActiveXObject("Microsoft.XMLHTTP");
}
if (httpObj) {
if (readyfunc) {httpObj.onreadystatechange = readyfunc;}
httpObj.open(method, target, true);
httpObj.send(xml);
}
};
w3.getElementsByAttribute = function (x, att) {
var arr = [], arrCount = -1, i, l, y = x.getElementsByTagName("*"), z = att.toUpperCase();
l = y.length;
for (i = -1; i < l; i += 1) {
if (i == -1) {y[i] = x;}
if (y[i].getAttribute(z) !== null) {arrCount += 1; arr[arrCount] = y[i];}
}
return arr;
};
w3.dataObject = {},
w3.displayObject = function (id, data) {
var htmlObj, htmlTemplate, html, arr = [], a, l, rowClone, x, j, i, ii, cc, repeat, repeatObj, repeatX = "";
htmlObj = document.getElementById(id);
htmlTemplate = init_template(id, htmlObj);
html = htmlTemplate.cloneNode(true);
arr = w3.getElementsByAttribute(html, "w3-repeat");
l = arr.length;
for (j = (l - 1); j >= 0; j -= 1) {
cc = arr[j].getAttribute("w3-repeat").split(" ");
if (cc.length == 1) {
repeat = cc[0];
} else {
repeatX = cc[0];
repeat = cc[2];
}
arr[j].removeAttribute("w3-repeat");
repeatObj = data[repeat];
if (repeatObj && typeof repeatObj == "object" && repeatObj.length != "undefined") {
i = 0;
for (x in repeatObj) {
i += 1;
rowClone = arr[j];
rowClone = w3_replace_curly(rowClone, "element", repeatX, repeatObj[x]);
a = rowClone.attributes;
for (ii = 0; ii < a.length; ii += 1) {
a[ii].value = w3_replace_curly(a[ii], "attribute", repeatX, repeatObj[x]).value;
}
(i === repeatObj.length) ? arr[j].parentNode.replaceChild(rowClone, arr[j]) : arr[j].parentNode.insertBefore(rowClone, arr[j]);
}
} else {
console.log("w3-repeat must be an array. " + repeat + " is not an array.");
continue;
}
}
html = w3_replace_curly(html, "element");
htmlObj.parentNode.replaceChild(html, htmlObj);
function init_template(id, obj) {
var template;
template = obj.cloneNode(true);
if (w3.dataObject.hasOwnProperty(id)) {return w3.dataObject[id];}
w3.dataObject[id] = template;
return template;
}
function w3_replace_curly(elmnt, typ, repeatX, x) {
var value, rowClone, pos1, pos2, originalHTML, lookFor, lookForARR = [], i, cc, r;
rowClone = elmnt.cloneNode(true);
pos1 = 0;
while (pos1 > -1) {
originalHTML = (typ == "attribute") ? rowClone.value : rowClone.innerHTML;
pos1 = originalHTML.indexOf("{{", pos1);
if (pos1 === -1) {break;}
pos2 = originalHTML.indexOf("}}", pos1 + 1);
lookFor = originalHTML.substring(pos1 + 2, pos2);
lookForARR = lookFor.split("||");
value = undefined;
for (i = 0; i < lookForARR.length; i += 1) {
lookForARR[i] = lookForARR[i].replace(/^\s+|\s+$/gm, ''); //trim
if (x) {value = x[lookForARR[i]];}
if (value == undefined && data) {value = data[lookForARR[i]];}
if (value == undefined) {
cc = lookForARR[i].split(".");
if (cc[0] == repeatX) {value = x[cc[1]]; }
}
if (value == undefined) {
if (lookForARR[i] == repeatX) {value = x;}
}
if (value == undefined) {
if (lookForARR[i].substr(0, 1) == '"') {
value = lookForARR[i].replace(/"/g, "");
} else if (lookForARR[i].substr(0,1) == "'") {
value = lookForARR[i].replace(/'/g, "");
}
}
if (value != undefined) {break;}
}
if (value != undefined) {
r = "{{" + lookFor + "}}";
if (typ == "attribute") {
rowClone.value = rowClone.value.replace(r, value);
} else {
w3_replace_html(rowClone, r, value);
}
}
pos1 = pos1 + 1;
}
return rowClone;
}
function w3_replace_html(a, r, result) {
var b, l, i, a, x, j;
if (a.hasAttributes()) {
b = a.attributes;
l = b.length;
for (i = 0; i < l; i += 1) {
if (b[i].value.indexOf(r) > -1) {b[i].value = b[i].value.replace(r, result);}
}
}
x = a.getElementsByTagName("*");
l = x.length;
a.innerHTML = a.innerHTML.replace(r, result);
}
};

View File

@@ -1,5 +1,58 @@
# Changelog
## [0.18.0](https://github.com/googleapis/genai-toolbox/compare/v0.17.0...v0.18.0) (2025-10-23)
### Features
* Support `allowedValues`, `escape`, `minValue` and `maxValue` for parameters ([#1770](https://github.com/googleapis/genai-toolbox/issues/1770)) ([eaf7740](https://github.com/googleapis/genai-toolbox/commit/eaf77406fd386c12315d67eb685dc69e0415c516))
* **tools/looker:** Tools to allow the agent to retrieve, create, modify, and delete LookML project files. ([#1673](https://github.com/googleapis/genai-toolbox/issues/1673)) ([089081f](https://github.com/googleapis/genai-toolbox/commit/089081feb0e32f9eb65d00df5987392d413a4081))
### Bug Fixes
* **sources/mysql:** Escape mysql user agent ([#1707](https://github.com/googleapis/genai-toolbox/issues/1707)) ([eeb694c](https://github.com/googleapis/genai-toolbox/commit/eeb694c20facc40a38bfa67073c4cb1f3dd657ff))
* **sources/mysql:** Escape program_name for MySQL ([#1717](https://github.com/googleapis/genai-toolbox/issues/1717)) ([02f7f8a](https://github.com/googleapis/genai-toolbox/commit/02f7f8af979057efe99fd138cb1b958130355b68))
* **tools/http:** Allow 2xx status code on tool invocation ([#1761](https://github.com/googleapis/genai-toolbox/issues/1761)) ([a06d0d8](https://github.com/googleapis/genai-toolbox/commit/a06d0d8735fbec29bea97457248845a8c6b4aa3c))
* **tools/http:** Omit optional nil query parameters ([#1762](https://github.com/googleapis/genai-toolbox/issues/1762)) ([bd16ba3](https://github.com/googleapis/genai-toolbox/commit/bd16ba3921e6177065780e5f29870859b8e18e4f))
* **tools/looker:** Looker file content calls should not use url.QueryEscape ([#1758](https://github.com/googleapis/genai-toolbox/issues/1758)) ([336de1b](https://github.com/googleapis/genai-toolbox/commit/336de1bd04b869d322c0fd1f4667eb652159d791))
## [0.17.0](https://github.com/googleapis/genai-toolbox/compare/v0.16.0...v0.17.0) (2025-10-10)
### ⚠ BREAKING CHANGES
* **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](https://github.com/googleapis/genai-toolbox/issues/1093))
* **tools/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](https://github.com/googleapis/genai-toolbox/issues/1573))
### Features
* Add configs and workflows for docs versioning ([#1611](https://github.com/googleapis/genai-toolbox/issues/1611)) ([21ac98b](https://github.com/googleapis/genai-toolbox/commit/21ac98bc065e95bde911d66185c67d8380891bf8))
* Add metadata in MCP Manifest for Toolbox auth ([#1395](https://github.com/googleapis/genai-toolbox/issues/1395)) ([0b3dac4](https://github.com/googleapis/genai-toolbox/commit/0b3dac41322f7aaa5a19df571686fa8fd4338ca5))
* Add program name to MySQL connections ([#1617](https://github.com/googleapis/genai-toolbox/issues/1617)) ([c4a22b8](https://github.com/googleapis/genai-toolbox/commit/c4a22b8d3bd0307325215ebd2f30ba37927cd37e))
* **source/bigquery:** Add optional write mode config ([#1157](https://github.com/googleapis/genai-toolbox/issues/1157)) ([63adc78](https://github.com/googleapis/genai-toolbox/commit/63adc78beae949dfe5e300c50e5ceef073e9652c))
* **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([#1686](https://github.com/googleapis/genai-toolbox/issues/1686)) ([9d2bf79](https://github.com/googleapis/genai-toolbox/commit/9d2bf79becfda104ef77f34b8d4b22cbedbc4bf3))
* **sources/mssql:** Add app name to MSSQL ([#1620](https://github.com/googleapis/genai-toolbox/issues/1620)) ([1536d1f](https://github.com/googleapis/genai-toolbox/commit/1536d1fdabb9d7f73dbdeebeb05a83d9a3b78e1c))
* **sources/oracle:** Add Oracle Source and Tool ([#1456](https://github.com/googleapis/genai-toolbox/issues/1456)) ([3a19a50](https://github.com/googleapis/genai-toolbox/commit/3a19a50ff211e33429de1d05338d353359a52987))
* **sources/oracle:** Switch Oracle driver from godror to go-ora ([#1685](https://github.com/googleapis/genai-toolbox/issues/1685)) ([8faf376](https://github.com/googleapis/genai-toolbox/commit/8faf37667e371b4ed88ebb892e8784b67611ba64))
* **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](https://github.com/googleapis/genai-toolbox/issues/1573)) ([1a44c67](https://github.com/googleapis/genai-toolbox/commit/1a44c671ec593e764a2d2f67f70a98ceec20a168))
* **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](https://github.com/googleapis/genai-toolbox/issues/1093)) ([acb205c](https://github.com/googleapis/genai-toolbox/commit/acb205ca4761d59ce97b804827230978c8c98ede))
* **tools/dataform:** Add dataform compile tool ([#1470](https://github.com/googleapis/genai-toolbox/issues/1470)) ([3be9b7b](https://github.com/googleapis/genai-toolbox/commit/3be9b7b3bdf112fe7303706e56e9f39935cde661))
* **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](https://github.com/googleapis/genai-toolbox/issues/1581)) ([5aed4e1](https://github.com/googleapis/genai-toolbox/commit/5aed4e136d0091731d2ded10ec076ee789e1987c))
* **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](https://github.com/googleapis/genai-toolbox/issues/1596)) ([2d5a93e](https://github.com/googleapis/genai-toolbox/commit/2d5a93e312990c8a9f3170c7e9c655f97cf11712))
### Bug Fixes
* Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](https://github.com/googleapis/genai-toolbox/issues/1445)) ([dbc477a](https://github.com/googleapis/genai-toolbox/commit/dbc477ab0f832495cf51f73ea16ae363472d6eed))
* Fix broken links ([#1625](https://github.com/googleapis/genai-toolbox/issues/1625)) ([36c6584](https://github.com/googleapis/genai-toolbox/commit/36c658472ccdeb6cddd8a4452a8b3438aeb0a744))
* Remove duplicated build type in Dockerfile ([#1598](https://github.com/googleapis/genai-toolbox/issues/1598)) ([b43c945](https://github.com/googleapis/genai-toolbox/commit/b43c94575d86aa65b0528d59f9b41d30b439fee5))
* **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](https://github.com/googleapis/genai-toolbox/issues/1663)) ([f4cf486](https://github.com/googleapis/genai-toolbox/commit/f4cf486fa929299fef076cf71689776e5dec19c1))
* **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](https://github.com/googleapis/genai-toolbox/issues/1496)) ([67d8221](https://github.com/googleapis/genai-toolbox/commit/67d8221a2e780df54a81f0f7e8f7e41e4bf1a82e))
* **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](https://github.com/googleapis/genai-toolbox/issues/1497)) ([62af39d](https://github.com/googleapis/genai-toolbox/commit/62af39d751443eb758586663969b162c868a233f))
* **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](https://github.com/googleapis/genai-toolbox/issues/1629)) ([94e19d8](https://github.com/googleapis/genai-toolbox/commit/94e19d87e54e831b80eb766572e48bc7370305d8))
## [0.16.0](https://github.com/googleapis/genai-toolbox/compare/v0.15.0...v0.16.0) (2025-09-25)

View File

@@ -135,6 +135,22 @@ go test -race -v ./...
go test -race -v ./tests/alloydbpg
```
1. **Timeout:** The integration test should have a timeout on the server.
Look for code like this:
```go
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
defer cancel()
cmd, cleanup, err := tests.StartCmd(ctx, toolsFile, args...)
if err != nil {
t.Fatalf("command initialization returned an error: %s", err)
}
defer cleanup()
```
Be sure to set the timeout to a reasonable value for your tests.
#### Running on Pull Requests
* **Internal Contributors:** Testing workflows should trigger automatically.
@@ -229,6 +245,24 @@ Follow these steps to preview documentation changes locally using a Hugo server:
### Previewing Documentation on Pull Requests
### Document Versioning Setup
There are 3 GHA workflows we use to achieve document versioning:
1. **Deploy In-development docs:**
This workflow is run on every commit merged into the main branch. It deploys the built site to the `/dev/` subdirectory for the in-development documentation.
1. **Deploy Versioned Docs:**
When a new GitHub Release is published, it performs two deployments based on the new release tag.
One to the new version subdirectory and one to the root directory of the versioned-gh-pages branch.
**Note:** Before the release PR from release-please is merged, add the newest version into the hugo.toml file.
1. **Deploy Previous Version Docs:**
This is a manual workflow, started from the GitHub Actions UI.
To rebuild and redeploy documentation for an already released version that were released before this new system was in place. This workflow can be started on the UI by providing the git version tag which you want to create the documentation for.
The specific versioned subdirectory and the root docs are updated on the versioned-gh-pages branch.
#### Contributors
Request a repo owner to run the preview deployment workflow on your PR. A

189
MCP-TOOLBOX-EXTENSION.md Normal file
View File

@@ -0,0 +1,189 @@
This document helps you find and install the right Gemini CLI extension to interact with your databases.
## How to Install an Extension
To install any of the extensions listed below, use the `gemini extensions install` command followed by the extension's GitHub repository URL.
For complete instructions on finding, installing, and managing extensions, please see the [official Gemini CLI extensions documentation](https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md).
**Example Installation Command:**
```bash
gemini extensions install https://github.com/gemini-cli-extensions/EXTENSION_NAME
```
Make sure the user knows:
* These commands are not supported from within the CLI
* These commands will only be reflected in active CLI sessions on restart
* Extensions require Application Default Credentials in your environment. See [Set up ADC for a local development environment](https://cloud.google.com/docs/authentication/set-up-adc-local-dev-environment) to learn how you can provide either your user credentials or service account credentials to ADC in a local development environment.
* Most extensions require you to set environment variables to connect to a database. If there is a link provided for the configuration, fetch the web page and return the configuration.
-----
## Find Your Database Extension
Find your database or service in the list below to get the correct installation command.
**Note on Observability:** Extensions with `-observability` in their name are designed to help you understand the health and performance of your database instances, often by analyzing metrics and logs.
### Google Cloud Managed Databases
#### BigQuery
* For data analytics and querying:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
```
Configuration: https://github.com/gemini-cli-extensions/bigquery-data-analytics/tree/main?tab=readme-ov-file#configuration
* For conversational analytics (using natural language):
```bash
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-conversational-analytics
```
Configuration: https://github.com/gemini-cli-extensions/bigquery-conversational-analytics/tree/main?tab=readme-ov-file#configuration
#### Cloud SQL for MySQL
* Main Extension:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-mysql
```
Configuration: https://github.com/gemini-cli-extensions/cloud-sql-mysql/tree/main?tab=readme-ov-file#configuration
* Observability:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-mysql-observability
```
If you are looking for self-hosted MySQL, consider the `mysql` extension.
#### Cloud SQL for PostgreSQL
* Main Extension:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgresql
```
Configuration: https://github.com/gemini-cli-extensions/cloud-sql-postgresql/tree/main?tab=readme-ov-file#configuration
* Observability:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgresql-observability
```
If you are looking for other PostgreSQL options, consider the `postgres` extension for self-hosted instances, or the `alloydb` extension for AlloyDB for PostgreSQL.
#### Cloud SQL for SQL Server
* Main Extension:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-sqlserver
```
Configuration: https://github.com/gemini-cli-extensions/cloud-sql-sqlserver/tree/main?tab=readme-ov-file#configuration
* Observability:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-sqlserver-observability
```
If you are looking for self-hosted SQL Server, consider the `sql-server` extension.
#### AlloyDB for PostgreSQL
* Main Extension:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/alloydb
```
Configuration: https://github.com/gemini-cli-extensions/alloydb/tree/main?tab=readme-ov-file#configuration
* Observability:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/alloydb-observability
```
If you are looking for other PostgreSQL options, consider the `postgres` extension for self-hosted instances, or the `cloud-sql-postgresql` extension for Cloud SQL for PostgreSQL.
#### Spanner
* For querying Spanner databases:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/spanner
```
Configuration: https://github.com/gemini-cli-extensions/spanner/tree/main?tab=readme-ov-file#configuration
#### Firestore
* For querying Firestore in Native Mode:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/firestore-native
```
Configuration: https://github.com/gemini-cli-extensions/firestore-native/tree/main?tab=readme-ov-file#configuration
### Other Google Cloud Data Services
#### Dataplex
* For interacting with Dataplex data lakes and assets:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/dataplex
```
Configuration: https://github.com/gemini-cli-extensions/dataplex/tree/main?tab=readme-ov-file#configuration
#### Looker
* For querying Looker instances:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/looker
```
Configuration: https://github.com/gemini-cli-extensions/looker/tree/main?tab=readme-ov-file#configuration
### Other Database Engines
These extensions are for connecting to database instances not managed by Cloud SQL (e.g., self-hosted on-prem, on a VM, or in another cloud).
* MySQL:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/mysql
```
Configuration: https://github.com/gemini-cli-extensions/mysql/tree/main?tab=readme-ov-file#configuration
If you are looking for Google Cloud managed MySQL, consider the `cloud-sql-mysql` extension.
* PostgreSQL:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/postgres
```
Configuration: https://github.com/gemini-cli-extensions/postgres/tree/main?tab=readme-ov-file#configuration
If you are looking for Google Cloud managed PostgreSQL, consider the `cloud-sql-postgresql` or `alloydb` extensions.
* SQL Server:
```bash
gemini extensions install https://github.com/gemini-cli-extensions/sql-server
```
Configuration: https://github.com/gemini-cli-extensions/sql-server/tree/main?tab=readme-ov-file#configuration
If you are looking for Google Cloud managed SQL Server, consider the `cloud-sql-sqlserver` extension.
### Custom Tools
#### MCP Toolbox
* For connecting to MCP Toolbox servers:
This extension can be used with any Google Cloud database to build custom tools. For more information, see the [MCP Toolbox documentation](https://googleapis.github.io/genai-toolbox/getting-started/introduction/).
```bash
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
```
Configuration: https://github.com/gemini-cli-extensions/mcp-toolbox/tree/main?tab=readme-ov-file#configuration

View File

@@ -118,9 +118,10 @@ To install Toolbox as a binary:
> <summary>Linux (AMD64)</summary>
>
> To install Toolbox as a binary on Linux (AMD64):
>
> ```sh
> # see releases page for other versions
> export VERSION=0.16.0
> export VERSION=0.18.0
> curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
> chmod +x toolbox
> ```
@@ -130,9 +131,10 @@ To install Toolbox as a binary:
> <summary>macOS (Apple Silicon)</summary>
>
> To install Toolbox as a binary on macOS (Apple Silicon):
>
> ```sh
> # see releases page for other versions
> export VERSION=0.16.0
> export VERSION=0.18.0
> curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/darwin/arm64/toolbox
> chmod +x toolbox
> ```
@@ -142,9 +144,10 @@ To install Toolbox as a binary:
> <summary>macOS (Intel)</summary>
>
> To install Toolbox as a binary on macOS (Intel):
>
> ```sh
> # see releases page for other versions
> export VERSION=0.16.0
> export VERSION=0.18.0
> curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/darwin/amd64/toolbox
> chmod +x toolbox
> ```
@@ -154,9 +157,10 @@ To install Toolbox as a binary:
> <summary>Windows (AMD64)</summary>
>
> To install Toolbox as a binary on Windows (AMD64):
>
> ```powershell
> # see releases page for other versions
> $VERSION = "0.16.0"
> $VERSION = "0.18.0"
> Invoke-WebRequest -Uri "https://storage.googleapis.com/genai-toolbox/v$VERSION/windows/amd64/toolbox.exe" -OutFile "toolbox.exe"
> ```
>
@@ -169,7 +173,7 @@ You can also install Toolbox as a container:
```sh
# see releases page for other versions
export VERSION=0.16.0
export VERSION=0.18.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
```
@@ -193,7 +197,7 @@ 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.16.0
go install github.com/googleapis/genai-toolbox@v0.18.0
```
<!-- {x-release-please-end} -->
@@ -224,9 +228,9 @@ To run Toolbox from binary:
./toolbox --tools-file "tools.yaml"
```
**NOTE:**
Toolbox enables dynamic reloading by default. To disable, use the
`--disable-reload` flag.
> ⓘ Note
> Toolbox enables dynamic reloading by default. To disable, use the
> `--disable-reload` flag.
</details>
@@ -244,9 +248,9 @@ us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION \
--tools-file "/app/tools.yaml"
```
**NOTE:**
The `-v` flag mounts your local `tools.yaml` into the container, and `-p` maps
the container's port `5000` to your host's port `5000`.
> ⓘ Note
> The `-v` flag mounts your local `tools.yaml` into the container, and `-p` maps
> the container's port `5000` to your host's port `5000`.
</details>
@@ -261,11 +265,11 @@ and run:
go run .
```
**NOTE:**
This command runs the project from source, and is more suitable for development
and testing. It does **not** compile a binary into your `$GOPATH`. If you want
to compile a binary instead, refer the [Developer
Documentation](./DEVELOPER.md#building-the-binary).
> ⓘ Note
> This command runs the project from source, and is more suitable for development
> and testing. It does **not** compile a binary into your `$GOPATH`. If you want
> to compile a binary instead, refer the [Developer
> Documentation](./DEVELOPER.md#building-the-binary).
</details>
@@ -621,13 +625,11 @@ For more detailed instructions on using the Toolbox Core SDK, see the
package main
import (
"context"
"encoding/json"
"log"
"github.com/firebase/genkit/go/ai"
"github.com/firebase/genkit/go/genkit"
"github.com/googleapis/mcp-toolbox-sdk-go/core"
"github.com/googleapis/mcp-toolbox-sdk-go/tbgenkit"
"github.com/invopop/jsonschema"
)
func main() {
@@ -635,7 +637,7 @@ For more detailed instructions on using the Toolbox Core SDK, see the
// Update the url to point to your server
URL := "http://127.0.0.1:5000"
ctx := context.Background()
g, err := genkit.Init(ctx)
g := genkit.Init(ctx)
client, err := core.NewToolboxClient(URL)
@@ -648,6 +650,7 @@ For more detailed instructions on using the Toolbox Core SDK, see the
if err != nil {
log.Fatalf("Failed to convert tool: %v\n", err)
}
log.Printf("Successfully converted tool: %s", genkitTool.Name())
}
```

View File

@@ -80,6 +80,7 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/cloudsqlmysql/cloudsqlmysqlcreateinstance"
_ "github.com/googleapis/genai-toolbox/internal/tools/cloudsqlpg/cloudsqlpgcreateinstances"
_ "github.com/googleapis/genai-toolbox/internal/tools/couchbase"
_ "github.com/googleapis/genai-toolbox/internal/tools/dataform/dataformcompilelocal"
_ "github.com/googleapis/genai-toolbox/internal/tools/dataplex/dataplexlookupentry"
_ "github.com/googleapis/genai-toolbox/internal/tools/dataplex/dataplexsearchaspecttypes"
_ "github.com/googleapis/genai-toolbox/internal/tools/dataplex/dataplexsearchentries"
@@ -97,6 +98,10 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/firestore/firestorevalidaterules"
_ "github.com/googleapis/genai-toolbox/internal/tools/http"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookeradddashboardelement"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookercreateprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerconversationalanalytics"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdeleteprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerdevmode"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetdashboards"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetdimensions"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetexplores"
@@ -105,12 +110,19 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetmeasures"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetmodels"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetparameters"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetprojectfiles"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetprojects"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthanalyze"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthpulse"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerhealthvacuum"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookermakedashboard"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookermakelook"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerquery"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerquerysql"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerqueryurl"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerrunlook"
_ "github.com/googleapis/genai-toolbox/internal/tools/looker/lookerupdateprojectfile"
_ "github.com/googleapis/genai-toolbox/internal/tools/mongodb/mongodbaggregate"
_ "github.com/googleapis/genai-toolbox/internal/tools/mongodb/mongodbdeletemany"
_ "github.com/googleapis/genai-toolbox/internal/tools/mongodb/mongodbdeleteone"
@@ -134,13 +146,18 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/tools/neo4j/neo4jschema"
_ "github.com/googleapis/genai-toolbox/internal/tools/oceanbase/oceanbaseexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/oceanbase/oceanbasesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/oracle/oracleexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/oracle/oraclesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgresexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgreslistactivequeries"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgreslistavailableextensions"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgreslistinstalledextensions"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgreslisttables"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgreslistviews"
_ "github.com/googleapis/genai-toolbox/internal/tools/postgres/postgressql"
_ "github.com/googleapis/genai-toolbox/internal/tools/redis"
_ "github.com/googleapis/genai-toolbox/internal/tools/serverlessspark/serverlesssparkgetbatch"
_ "github.com/googleapis/genai-toolbox/internal/tools/serverlessspark/serverlesssparklistbatches"
_ "github.com/googleapis/genai-toolbox/internal/tools/spanner/spannerexecutesql"
_ "github.com/googleapis/genai-toolbox/internal/tools/spanner/spannerlisttables"
_ "github.com/googleapis/genai-toolbox/internal/tools/spanner/spannersql"
@@ -179,8 +196,10 @@ import (
_ "github.com/googleapis/genai-toolbox/internal/sources/mysql"
_ "github.com/googleapis/genai-toolbox/internal/sources/neo4j"
_ "github.com/googleapis/genai-toolbox/internal/sources/oceanbase"
_ "github.com/googleapis/genai-toolbox/internal/sources/oracle"
_ "github.com/googleapis/genai-toolbox/internal/sources/postgres"
_ "github.com/googleapis/genai-toolbox/internal/sources/redis"
_ "github.com/googleapis/genai-toolbox/internal/sources/serverlessspark"
_ "github.com/googleapis/genai-toolbox/internal/sources/spanner"
_ "github.com/googleapis/genai-toolbox/internal/sources/sqlite"
_ "github.com/googleapis/genai-toolbox/internal/sources/tidb"

View File

@@ -1244,6 +1244,7 @@ func TestPrebuiltTools(t *testing.T) {
mysql_config, _ := prebuiltconfigs.Get("mysql")
mssql_config, _ := prebuiltconfigs.Get("mssql")
looker_config, _ := prebuiltconfigs.Get("looker")
lookerca_config, _ := prebuiltconfigs.Get("looker-conversational-analytics")
postgresconfig, _ := prebuiltconfigs.Get("postgres")
spanner_config, _ := prebuiltconfigs.Get("spanner")
spannerpg_config, _ := prebuiltconfigs.Get("spanner-postgres")
@@ -1253,6 +1254,7 @@ func TestPrebuiltTools(t *testing.T) {
cloudsqlpgobsvconfig, _ := prebuiltconfigs.Get("cloud-sql-postgres-observability")
cloudsqlmysqlobsvconfig, _ := prebuiltconfigs.Get("cloud-sql-mysql-observability")
cloudsqlmssqlobsvconfig, _ := prebuiltconfigs.Get("cloud-sql-mssql-observability")
serverless_spark_config, _ := prebuiltconfigs.Get("serverless-spark")
// Set environment variables
t.Setenv("API_KEY", "your_api_key")
@@ -1304,6 +1306,9 @@ func TestPrebuiltTools(t *testing.T) {
t.Setenv("CLOUD_SQL_MSSQL_PASSWORD", "your_cloudsql_mssql_password")
t.Setenv("CLOUD_SQL_POSTGRES_PASSWORD", "your_cloudsql_pg_password")
t.Setenv("SERVERLESS_SPARK_PROJECT", "your_gcp_project_id")
t.Setenv("SERVERLESS_SPARK_LOCATION", "your_gcp_location")
t.Setenv("POSTGRES_HOST", "localhost")
t.Setenv("POSTGRES_PORT", "5432")
t.Setenv("POSTGRES_DATABASE", "your_postgres_db")
@@ -1327,6 +1332,9 @@ func TestPrebuiltTools(t *testing.T) {
t.Setenv("LOOKER_CLIENT_SECRET", "your_looker_client_secret")
t.Setenv("LOOKER_VERIFY_SSL", "true")
t.Setenv("LOOKER_PROJECT", "your_project_id")
t.Setenv("LOOKER_LOCATION", "us")
t.Setenv("SQLITE_DATABASE", "test.db")
t.Setenv("NEO4J_URI", "bolt://localhost:7687")
@@ -1389,7 +1397,7 @@ func TestPrebuiltTools(t *testing.T) {
wantToolset: server.ToolsetConfigs{
"alloydb_postgres_database_tools": tools.ToolsetConfig{
Name: "alloydb_postgres_database_tools",
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan"},
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan", "list_views"},
},
},
},
@@ -1419,7 +1427,7 @@ func TestPrebuiltTools(t *testing.T) {
wantToolset: server.ToolsetConfigs{
"cloud_sql_postgres_database_tools": tools.ToolsetConfig{
Name: "cloud_sql_postgres_database_tools",
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan"},
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan", "list_views"},
},
},
},
@@ -1453,6 +1461,16 @@ func TestPrebuiltTools(t *testing.T) {
},
},
},
{
name: "serverless spark prebuilt tools",
in: serverless_spark_config,
wantToolset: server.ToolsetConfigs{
"serverless_spark_tools": tools.ToolsetConfig{
Name: "serverless_spark_tools",
ToolNames: []string{"list_batches", "get_batch"},
},
},
},
{
name: "firestore prebuilt tools",
in: firestoreconfig,
@@ -1489,7 +1507,17 @@ func TestPrebuiltTools(t *testing.T) {
wantToolset: server.ToolsetConfigs{
"looker_tools": tools.ToolsetConfig{
Name: "looker_tools",
ToolNames: []string{"get_models", "get_explores", "get_dimensions", "get_measures", "get_filters", "get_parameters", "query", "query_sql", "query_url", "get_looks", "run_look", "make_look", "get_dashboards", "make_dashboard", "add_dashboard_element"},
ToolNames: []string{"get_models", "get_explores", "get_dimensions", "get_measures", "get_filters", "get_parameters", "query", "query_sql", "query_url", "get_looks", "run_look", "make_look", "get_dashboards", "make_dashboard", "add_dashboard_element", "health_pulse", "health_analyze", "health_vacuum", "dev_mode", "get_projects", "get_project_files", "get_project_file", "create_project_file", "update_project_file", "delete_project_file"},
},
},
},
{
name: "looker-conversational-analytics prebuilt tools",
in: lookerca_config,
wantToolset: server.ToolsetConfigs{
"looker_conversational_analytics_tools": tools.ToolsetConfig{
Name: "looker_conversational_analytics_tools",
ToolNames: []string{"ask_data_insights", "get_models", "get_explores"},
},
},
},
@@ -1499,7 +1527,7 @@ func TestPrebuiltTools(t *testing.T) {
wantToolset: server.ToolsetConfigs{
"postgres_database_tools": tools.ToolsetConfig{
Name: "postgres_database_tools",
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan"},
ToolNames: []string{"execute_sql", "list_tables", "list_active_queries", "list_available_extensions", "list_installed_extensions", "list_autovacuum_configurations", "list_memory_configurations", "list_top_bloated_tables", "list_replication_slots", "list_invalid_indexes", "get_query_plan", "list_views"},
},
},
},
@@ -1597,3 +1625,72 @@ func TestPrebuiltTools(t *testing.T) {
})
}
}
func TestMutuallyExclusiveFlags(t *testing.T) {
testCases := []struct {
desc string
args []string
errString string
}{
{
desc: "--prebuilt and --tools-file",
args: []string{"--prebuilt", "alloydb", "--tools-file", "my.yaml"},
errString: "--prebuilt and --tools-file/--tools-files/--tools-folder flags cannot be used simultaneously",
},
{
desc: "--tools-file and --tools-files",
args: []string{"--tools-file", "my.yaml", "--tools-files", "a.yaml,b.yaml"},
errString: "--tools-file, --tools-files, and --tools-folder flags cannot be used simultaneously",
},
{
desc: "--tools-folder and --tools-files",
args: []string{"--tools-folder", "./", "--tools-files", "a.yaml,b.yaml"},
errString: "--tools-file, --tools-files, and --tools-folder flags cannot be used simultaneously",
},
}
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
cmd := NewCommand()
cmd.SetArgs(tc.args)
err := cmd.Execute()
if err == nil {
t.Fatalf("expected an error but got none")
}
if !strings.Contains(err.Error(), tc.errString) {
t.Errorf("expected error message to contain %q, but got %q", tc.errString, err.Error())
}
})
}
}
func TestFileLoadingErrors(t *testing.T) {
t.Run("non-existent tools-file", func(t *testing.T) {
cmd := NewCommand()
// Use a file that is guaranteed not to exist
nonExistentFile := filepath.Join(t.TempDir(), "non-existent-tools.yaml")
cmd.SetArgs([]string{"--tools-file", nonExistentFile})
err := cmd.Execute()
if err == nil {
t.Fatal("expected an error for non-existent file but got none")
}
if !strings.Contains(err.Error(), "unable to read tool file") {
t.Errorf("expected error about reading file, but got: %v", err)
}
})
t.Run("non-existent tools-folder", func(t *testing.T) {
cmd := NewCommand()
nonExistentFolder := filepath.Join(t.TempDir(), "non-existent-folder")
cmd.SetArgs([]string{"--tools-folder", nonExistentFolder})
err := cmd.Execute()
if err == nil {
t.Fatal("expected an error for non-existent folder but got none")
}
if !strings.Contains(err.Error(), "unable to access tools folder") {
t.Errorf("expected error about accessing folder, but got: %v", err)
}
})
}

View File

@@ -1 +1 @@
0.16.0
0.18.0

View File

@@ -234,7 +234,7 @@
},
"outputs": [],
"source": [
"version = \"0.16.0\" # x-release-please-version\n",
"version = \"0.18.0\" # x-release-please-version\n",
"! curl -O https://storage.googleapis.com/genai-toolbox/v{version}/linux/amd64/toolbox\n",
"\n",
"# Make the binary executable\n",

View File

@@ -86,7 +86,7 @@ following instructions for your OS and CPU architecture.
To install Toolbox as a binary on Linux (AMD64):
```sh
# see releases page for other versions
export VERSION=0.16.0
export VERSION=0.18.0
curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
```
@@ -95,7 +95,7 @@ chmod +x toolbox
To install Toolbox as a binary on macOS (Apple Silicon):
```sh
# see releases page for other versions
export VERSION=0.16.0
export VERSION=0.18.0
curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
```
@@ -104,7 +104,7 @@ chmod +x toolbox
To install Toolbox as a binary on macOS (Intel):
```sh
# see releases page for other versions
export VERSION=0.16.0
export VERSION=0.18.0
curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
```
@@ -113,7 +113,7 @@ chmod +x toolbox
To install Toolbox as a binary on Windows (AMD64):
```powershell
# see releases page for other versions
$VERSION = "0.16.0"
$VERSION = "0.18.0"
Invoke-WebRequest -Uri "https://storage.googleapis.com/genai-toolbox/v$VERSION/windows/amd64/toolbox.exe" -OutFile "toolbox.exe"
```
{{% /tab %}}
@@ -124,7 +124,7 @@ You can also install Toolbox as a container:
```sh
# see releases page for other versions
export VERSION=0.16.0
export VERSION=0.18.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
```
@@ -143,7 +143,7 @@ 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.16.0
go install github.com/googleapis/genai-toolbox@v0.18.0
```
{{% /tab %}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -105,7 +105,7 @@ In this section, we will download Toolbox, configure our tools in a
<!-- {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.16.0/$OS/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/$OS/toolbox
```
<!-- {x-release-please-end} -->

View File

@@ -4,7 +4,7 @@ go 1.24.6
require (
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0
google.golang.org/genai v1.25.0
google.golang.org/genai v1.31.0
)
require (

View File

@@ -102,8 +102,8 @@ golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
google.golang.org/api v0.248.0 h1:hUotakSkcwGdYUqzCRc5yGYsg4wXxpkKlW5ryVqvC1Y=
google.golang.org/api v0.248.0/go.mod h1:yAFUAF56Li7IuIQbTFoLwXTCI6XCFKueOlS7S9e4F9k=
google.golang.org/genai v1.23.0 h1:0VkQPd1CVT5FbykwkWvnB7jq1d+PZFuVf0n57UyyOzs=
google.golang.org/genai v1.23.0/go.mod h1:QPj5NGJw+3wEOHg+PrsWwJKvG6UC84ex5FR7qAYsN/M=
google.golang.org/genai v1.31.0 h1:R7xDt/Dosz11vcXbZ4IgisGnzUGGau2PZOIOAnXsYjw=
google.golang.org/genai v1.31.0/go.mod h1:7pAilaICJlQBonjKKJNhftDFv3SREhZcTe9F6nRcjbg=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ=

View File

@@ -3,22 +3,22 @@ module genkit-quickstart
go 1.24.6
require (
github.com/firebase/genkit/go v0.6.2
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0
github.com/firebase/genkit/go v1.1.0
github.com/googleapis/mcp-toolbox-sdk-go v0.3.1-0.20251021051241-eb73e0c6c414
)
require (
cloud.google.com/go v0.121.6 // indirect
cloud.google.com/go/auth v0.16.5 // indirect
cloud.google.com/go/auth v0.17.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.8.0 // indirect
cloud.google.com/go/compute/metadata v0.9.0 // indirect
github.com/bahlo/generic-list-go v0.2.0 // indirect
github.com/buger/jsonparser v1.1.1 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/goccy/go-yaml v1.17.1 // indirect
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca // indirect
github.com/google/dotprompt/go v0.0.0-20251014011017-8d056e027254 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
@@ -32,21 +32,22 @@ require (
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
go.opentelemetry.io/otel v1.36.0 // indirect
go.opentelemetry.io/otel/metric v1.36.0 // indirect
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
go.opentelemetry.io/otel/trace v1.36.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/net v0.43.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
google.golang.org/api v0.248.0 // indirect
google.golang.org/genai v1.11.1 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.7 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
go.opentelemetry.io/otel/trace v1.37.0 // indirect
golang.org/x/crypto v0.42.0 // indirect
golang.org/x/net v0.44.0 // indirect
golang.org/x/oauth2 v0.32.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
google.golang.org/api v0.252.0 // indirect
google.golang.org/genai v1.30.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797 // indirect
google.golang.org/grpc v1.75.1 // indirect
google.golang.org/protobuf v1.36.10 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -2,22 +2,22 @@ cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.121.6 h1:waZiuajrI28iAf40cWgycWNgaXPO06dupuS+sgibK6c=
cloud.google.com/go v0.121.6/go.mod h1:coChdst4Ea5vUpiALcYKXEpR1S9ZgXbhEzzMcMR66vI=
cloud.google.com/go/auth v0.16.5 h1:mFWNQ2FEVWAliEQWpAdH80omXFokmrnbDhUS9cBywsI=
cloud.google.com/go/auth v0.16.5/go.mod h1:utzRfHMP+Vv0mpOkTRQoWD2q3BatTOoWbA7gCc2dUhQ=
cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4=
cloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.8.0 h1:HxMRIbao8w17ZX6wBnjhcDkW6lTFpgcaobyVfZWqRLA=
cloud.google.com/go/compute/metadata v0.8.0/go.mod h1:sYOGTp851OV9bOFJ9CH7elVvyzopvWQFNNghtDQ/Biw=
cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8=
cloud.google.com/go/iam v1.5.2/go.mod h1:SE1vg0N81zQqLzQEwxL2WI6yhetBdbNQuTvIKCSkUHE=
cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7dd7lHM=
cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U=
cloud.google.com/go/secretmanager v1.15.0 h1:RtkCMgTpaBMbzozcRUGfZe46jb9a3qh5EdEtVRUATF8=
cloud.google.com/go/secretmanager v1.15.0/go.mod h1:1hQSAhKK7FldiYw//wbR/XPfPc08eQ81oBsnRUHEvUc=
cloud.google.com/go/storage v1.56.1 h1:n6gy+yLnHn0hTwBFzNn8zJ1kqWfR91wzdM8hjRF4wP0=
cloud.google.com/go/storage v1.56.1/go.mod h1:C9xuCZgFl3buo2HZU/1FncgvvOgTAs/rnh4gF4lMg0s=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 h1:ErKg/3iS1AKcTkf3yixlZ54f9U1rljCkQyEXWUnIUxc=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY=
cloud.google.com/go/secretmanager v1.16.0 h1:19QT7ZsLJ8FSP1k+4esQvuCD7npMJml6hYzilxVyT+k=
cloud.google.com/go/secretmanager v1.16.0/go.mod h1://C/e4I8D26SDTz1f3TQcddhcmiC3rMEl0S1Cakvs3Q=
cloud.google.com/go/storage v1.57.0 h1:4g7NB7Ta7KetVbOMpCqy89C+Vg5VE8scqlSHUPm7Rds=
cloud.google.com/go/storage v1.57.0/go.mod h1:329cwlpzALLgJuu8beyJ/uvQznDHpa2U5lGjWednkzg=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 h1:UQUsRi8WTzhZntp5313l+CHIAT95ojUI2lpP/ExlZa4=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 h1:owcC2UnmsZycprQ5RfRgjydWhuoxg71LUfyiQdijZuM=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0/go.mod h1:ZPpqegjbE99EPKsu3iUWV22A04wzGPcAY/ziSIQEEgs=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 h1:Ron4zCA/yk6U7WOBXhTJcDpsUBG9npumK6xw2auFltQ=
@@ -40,10 +40,10 @@ github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfU
github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/firebase/genkit/go v0.6.2 h1:FaVJtcprfXZz0gXTtARJqUiovu/R2wuJycNn/18aNMc=
github.com/firebase/genkit/go v0.6.2/go.mod h1:blRYK6oNgwBDX6F+gInACru6q527itviv+xruiMSUuU=
github.com/go-jose/go-jose/v4 v4.1.0 h1:cYSYxd3pw5zd2FSXk2vGdn9igQU2PS8MuxrCOCl0FdY=
github.com/go-jose/go-jose/v4 v4.1.0/go.mod h1:GG/vqmYm3Von2nYiB2vGTXzdoNKE5tix5tuc6iAd+sw=
github.com/firebase/genkit/go v1.1.0 h1:SQqzQt19gEubvUUCFV98TARFAzD30zT3QhseF3oTKqo=
github.com/firebase/genkit/go v1.1.0/go.mod h1:ru1cIuxG1s3HeUjhnadVveDJ1yhinj+j+uUh0f0pyxE=
github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI=
github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -53,8 +53,8 @@ github.com/goccy/go-yaml v1.17.1 h1:LI34wktB2xEE3ONG/2Ar54+/HJVBriAGJ55PHls4YuY=
github.com/goccy/go-yaml v1.17.1/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca h1:LuQ8KS5N04c37jyaq6jelLdNi0GfI6QJb8lpnYaDW9Y=
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca/go.mod h1:dnIk+MSMnipm9uZyPIgptq7I39aDxyjBiaev/OG0W0Y=
github.com/google/dotprompt/go v0.0.0-20251014011017-8d056e027254 h1:okN800+zMJOGHLJCgry+OGzhhtH6YrjQh1rluHmOacE=
github.com/google/dotprompt/go v0.0.0-20251014011017-8d056e027254/go.mod h1:k8cjJAQWc//ac/bMnzItyOFbfT01tgRTZGgxELCuxEQ=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
@@ -65,8 +65,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU
github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo=
github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0 h1:m/en3Pp3iGc99SYejUS9iQ01QXsDKMVA+Z456P6mAxY=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0/go.mod h1:DYgNeEV9WHpesG9O2Esr0o+s7Nag0H3h3U2JstK1g6I=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.1-0.20251021051241-eb73e0c6c414 h1:7eZIPHungb5tmLtlsuEdIfdi8ltZPIwHFmnZn6hhcwI=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.1-0.20251021051241-eb73e0c6c414/go.mod h1:kdrSVCmbJc0JcLw5MnEKR8WQdT8pTT3duj4B0lktghA=
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E=
@@ -90,8 +90,8 @@ github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8W
github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
@@ -101,6 +101,8 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM=
github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
@@ -111,46 +113,48 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.6
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q=
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
google.golang.org/api v0.248.0 h1:hUotakSkcwGdYUqzCRc5yGYsg4wXxpkKlW5ryVqvC1Y=
google.golang.org/api v0.248.0/go.mod h1:yAFUAF56Li7IuIQbTFoLwXTCI6XCFKueOlS7S9e4F9k=
google.golang.org/genai v1.11.1 h1:MgI2JVDaIQ1YMuzKFwgPciB+K6kQ8MCBMVL9u7Oa8qw=
google.golang.org/genai v1.11.1/go.mod h1:HFXR1zT3LCdLxd/NW6IOSCczOYyRAxwaShvYbgPSeVw=
golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI=
golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8=
golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I=
golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/oauth2 v0.32.0 h1:jsCblLleRMDrxMN29H3z/k1KliIvpLgCkE6R8FXXNgY=
golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/time v0.13.0 h1:eUlYslOIt32DgYD6utsuUeHs4d7AsEYLuIAdg7FlYgI=
golang.org/x/time v0.13.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
google.golang.org/api v0.252.0 h1:xfKJeAJaMwb8OC9fesr369rjciQ704AjU/psjkKURSI=
google.golang.org/api v0.252.0/go.mod h1:dnHOv81x5RAmumZ7BWLShB/u7JZNeyalImxHmtTHxqw=
google.golang.org/genai v1.30.0 h1:7021aneIvl24nEBLbtQFEWleHsMbjzpcQvkT4WcJ1dc=
google.golang.org/genai v1.30.0/go.mod h1:7pAilaICJlQBonjKKJNhftDFv3SREhZcTe9F6nRcjbg=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ=
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797 h1:CirRxTOwnRWVLKzDNrs0CXAaVozJoR4G9xvdRecrdpk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797/go.mod h1:HSkG/KdJWusxU1F6CNrwNDjBMgisKxGnc5dAZfT0mjQ=
google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI=
google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

View File

@@ -46,9 +46,9 @@ func main() {
}
// Initialize Genkit
g, err := genkit.Init(ctx,
g := genkit.Init(ctx,
genkit.WithPlugins(&googlegenai.GoogleAI{}),
genkit.WithDefaultModel("googleai/gemini-1.5-flash"),
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
)
if err != nil {
log.Fatalf("Failed to init genkit: %v\n", err)

View File

@@ -4,7 +4,7 @@ go 1.24.6
require (
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0
github.com/tmc/langchaingo v0.1.13
github.com/tmc/langchaingo v0.1.14
)
require (

View File

@@ -76,10 +76,12 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE=
github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tmc/langchaingo v0.1.13 h1:rcpMWBIi2y3B90XxfE4Ao8dhCQPVDMaNPnN5cGB1CaA=
github.com/tmc/langchaingo v0.1.13/go.mod h1:vpQ5NOIhpzxDfTZK9B6tf2GM/MoaHewPWM5KXXGh7hg=
github.com/tmc/langchaingo v0.1.14 h1:o1qWBPigAIuFvrG6cjTFo0cZPFEZ47ZqpOYMjM15yZc=
github.com/tmc/langchaingo v0.1.14/go.mod h1:aKKYXYoqhIDEv7WKdpnnCLRaqXic69cX9MnDUk72378=
github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM=
github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=

View File

@@ -59,7 +59,7 @@ func main() {
ctx := context.Background()
// Initialize the Google AI client (LLM).
llm, err := googleai.New(ctx, googleai.WithAPIKey(genaiKey), googleai.WithDefaultModel("gemini-1.5-flash"))
llm, err := googleai.New(ctx, googleai.WithAPIKey(genaiKey), googleai.WithDefaultModel("gemini-2.0-flash"))
if err != nil {
log.Fatalf("Failed to create Google AI client: %v", err)
}

View File

@@ -1,15 +1,11 @@
cel.dev/expr v0.23.0 h1:wUb94w6OYQS4uXraxo9U+wUAs9jT47Xvl4iPgAwM2ss=
cel.dev/expr v0.23.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.121.1 h1:S3kTQSydxmu1JfLRLpKtxRPA7rSrYPRPEUmL/PavVUw=
cloud.google.com/go v0.121.1/go.mod h1:nRFlrHq39MNVWu+zESP2PosMWA0ryJw8KUBZ2iZpxbw=
cloud.google.com/go/auth v0.16.2 h1:QvBAGFPLrDeoiNjyfVunhQ10HKNYuOwZ5noee0M5df4=
cloud.google.com/go/auth v0.16.2/go.mod h1:sRBas2Y1fB1vZTdurouM0AzuYQBMZinrUYL8EufhtEA=
cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.121.6 h1:waZiuajrI28iAf40cWgycWNgaXPO06dupuS+sgibK6c=
cloud.google.com/go v0.121.6/go.mod h1:coChdst4Ea5vUpiALcYKXEpR1S9ZgXbhEzzMcMR66vI=
cloud.google.com/go/auth v0.16.5 h1:mFWNQ2FEVWAliEQWpAdH80omXFokmrnbDhUS9cBywsI=
cloud.google.com/go/auth v0.16.5/go.mod h1:utzRfHMP+Vv0mpOkTRQoWD2q3BatTOoWbA7gCc2dUhQ=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.7.0 h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU=
cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
cloud.google.com/go/compute/metadata v0.8.0 h1:HxMRIbao8w17ZX6wBnjhcDkW6lTFpgcaobyVfZWqRLA=
cloud.google.com/go/compute/metadata v0.8.0/go.mod h1:sYOGTp851OV9bOFJ9CH7elVvyzopvWQFNNghtDQ/Biw=
cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8=
@@ -18,18 +14,18 @@ cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7d
cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U=
cloud.google.com/go/secretmanager v1.15.0 h1:RtkCMgTpaBMbzozcRUGfZe46jb9a3qh5EdEtVRUATF8=
cloud.google.com/go/secretmanager v1.15.0/go.mod h1:1hQSAhKK7FldiYw//wbR/XPfPc08eQ81oBsnRUHEvUc=
cloud.google.com/go/storage v1.55.0 h1:NESjdAToN9u1tmhVqhXCaCwYBuvEhZLLv0gBr+2znf0=
cloud.google.com/go/storage v1.55.0/go.mod h1:ztSmTTwzsdXe5syLVS0YsbFxXuvEmEyZj7v7zChEmuY=
cloud.google.com/go/storage v1.56.1 h1:n6gy+yLnHn0hTwBFzNn8zJ1kqWfR91wzdM8hjRF4wP0=
cloud.google.com/go/storage v1.56.1/go.mod h1:C9xuCZgFl3buo2HZU/1FncgvvOgTAs/rnh4gF4lMg0s=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 h1:ErKg/3iS1AKcTkf3yixlZ54f9U1rljCkQyEXWUnIUxc=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.52.0 h1:QFgWzcdmJlgEAwJz/zePYVJQxfoJGRtgIqZfIUFg5oQ=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.52.0/go.mod h1:ayYHuYU7iNcNtEs1K9k6D/Bju7u1VEHMQm5qQ1n3GtM=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.52.0 h1:wbMd4eG/fOhsCa6+IP8uEDvWF5vl7rNoUWmP5f72Tbs=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.52.0/go.mod h1:gdIm9TxRk5soClCwuB0FtdXsbqtw0aqPwBEurK9tPkw=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 h1:owcC2UnmsZycprQ5RfRgjydWhuoxg71LUfyiQdijZuM=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0/go.mod h1:ZPpqegjbE99EPKsu3iUWV22A04wzGPcAY/ziSIQEEgs=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 h1:Ron4zCA/yk6U7WOBXhTJcDpsUBG9npumK6xw2auFltQ=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0/go.mod h1:cSgYe11MCNYunTnRXrKiR/tHc0eoKjICUuWpNZoVCOo=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f h1:C5bqEmzEPLsHm9Mv73lSE9e9bKV23aB1vxOsmZrkl3k=
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls=
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.13.4 h1:zEqyPVyku6IvWCFwux4x9RxkLOMUL+1vC9xUFv5l2/M=
@@ -56,12 +52,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4=
github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0=
github.com/googleapis/gax-go/v2 v2.14.2/go.mod h1:ON64QhlJkhVtSqp4v1uaK92VyZ2gmvDQsweuyLV+8+w=
github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo=
github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc=
github.com/googleapis/mcp-toolbox-sdk-go v0.2.0 h1:y242XXymvSDJ84FhDvSqpyjq4bOtRDy6yOxs7QR8etY=
github.com/googleapis/mcp-toolbox-sdk-go v0.2.0/go.mod h1:Zd5cooy5sH5ThiTwzhKtZZxTkLGbPlqDZ9c8er969Ug=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0 h1:m/en3Pp3iGc99SYejUS9iQ01QXsDKMVA+Z456P6mAxY=
github.com/googleapis/mcp-toolbox-sdk-go v0.3.0/go.mod h1:DYgNeEV9WHpesG9O2Esr0o+s7Nag0H3h3U2JstK1g6I=
github.com/openai/openai-go v1.12.0 h1:NBQCnXzqOTv5wsgNC36PrFEiskGfO5wccfCWDo9S1U0=
@@ -104,46 +96,30 @@ go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFw
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
google.golang.org/api v0.242.0 h1:7Lnb1nfnpvbkCiZek6IXKdJ0MFuAZNAJKQfA1ws62xg=
google.golang.org/api v0.242.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
google.golang.org/api v0.248.0 h1:hUotakSkcwGdYUqzCRc5yGYsg4wXxpkKlW5ryVqvC1Y=
google.golang.org/api v0.248.0/go.mod h1:yAFUAF56Li7IuIQbTFoLwXTCI6XCFKueOlS7S9e4F9k=
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78=
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:49MsLSx0oWMOZqcpB3uL8ZOkAh1+TndpJ8ONoCBWiZk=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ=
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

View File

@@ -24,7 +24,6 @@ const queries = [
function mapZodTypeToOpenAPIType(zodTypeName) {
console.log(zodTypeName)
const typeMap = {
'ZodString': 'string',
'ZodNumber': 'number',
@@ -116,4 +115,4 @@ export async function main() {
}
}
main();
main();

View File

@@ -244,9 +244,10 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
"integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz",
"integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.4",

View File

@@ -1,3 +1,3 @@
google-genai==1.38.0
google-genai==1.46.0
toolbox-core==0.5.2
pytest==8.4.2

View File

@@ -1,5 +1,5 @@
langchain==0.3.27
langchain-google-vertexai==2.1.2
langgraph==0.6.7
langgraph==1.0.1
toolbox-langchain==0.5.2
pytest==8.4.2

View File

@@ -1,4 +1,4 @@
llama-index==0.14.3
llama-index-llms-google-genai==0.6.0
llama-index==0.14.6
llama-index-llms-google-genai==0.6.2
toolbox-llamaindex==0.5.2
pytest==8.4.2

View File

@@ -13,7 +13,7 @@ In this section, we will download Toolbox, configure our tools in a
<!-- {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.16.0/$OS/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/$OS/toolbox
```
<!-- {x-release-please-end} -->

View File

@@ -8,7 +8,7 @@ description: >
<html>
<head>
<link rel="canonical" href="https://cloud.google.com/alloydb/docs/create-database-with-mcp-toolbox"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/alloydb/docs/create-database-with-mcp-toolbox"/>
<link rel="canonical" href="https://cloud.google.com/alloydb/docs/quickstart/create-and-connect"/>
<meta http-equiv="refresh" content="0;url=https://cloud.google.com/alloydb/docs/quickstart/create-and-connect"/>
</head>
</html>

View File

@@ -48,19 +48,19 @@ to expose your developer assistant tools to a Looker instance:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -45,19 +45,19 @@ instance:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -43,19 +43,19 @@ expose your developer assistant tools to a MySQL instance:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -44,19 +44,19 @@ expose your developer assistant tools to a Neo4j instance:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -56,19 +56,19 @@ Omni](https://cloud.google.com/alloydb/omni/current/docs/overview).
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -43,19 +43,19 @@ to expose your developer assistant tools to a SQLite instance:
<!-- {x-release-please-start-version} -->
{{< tabpane persist=header >}}
{{< tab header="linux/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/linux/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/linux/amd64/toolbox
{{< /tab >}}
{{< tab header="darwin/arm64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/arm64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/arm64/toolbox
{{< /tab >}}
{{< tab header="darwin/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/darwin/amd64/toolbox
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/darwin/amd64/toolbox
{{< /tab >}}
{{< tab header="windows/amd64" lang="bash" >}}
curl -O https://storage.googleapis.com/genai-toolbox/v0.16.0/windows/amd64/toolbox.exe
curl -O https://storage.googleapis.com/genai-toolbox/v0.18.0/windows/amd64/toolbox.exe
{{< /tab >}}
{{< /tabpane >}}
<!-- {x-release-please-end} -->

View File

@@ -232,4 +232,4 @@ contain the specific error message needed to diagnose the problem.
the logs show errors like "permission denied" when trying to access Secret
Manager, it means the Toolbox service account is missing permissions.
* Ensure the `toolbox-identity` service account has the **Secret Manager
Secret Accessor** (`roles/secretmanager.secretAccessor`) IAM role.
Secret Accessor** (`roles/secretmanager.secretAccessor`) IAM role.

View File

@@ -43,6 +43,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* `list_replication_slots`: Lists replication slots in the database.
* `list_invalid_indexes`: Lists invalid indexes in the database.
* `get_query_plan`: Generate the execution plan of a statement.
* `list_views`: Lists views in the database from pg_views with a default
limit of 50 rows. Returns schemaname, viewname and the ownername.
## AlloyDB Postgres Admin
@@ -84,6 +86,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* **Environment Variables:**
* `BIGQUERY_PROJECT`: The GCP project ID.
* `BIGQUERY_LOCATION`: (Optional) The dataset location.
* `BIGQUERY_USE_CLIENT_OAUTH`: (Optional) If `true`, forwards the client's
OAuth access token for authentication. Defaults to `false`.
* **Permissions:**
* **BigQuery User** (`roles/bigquery.user`) to execute queries and view
metadata.
@@ -208,6 +212,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* `list_replication_slots`: Lists replication slots in the database.
* `list_invalid_indexes`: Lists invalid indexes in the database.
* `get_query_plan`: Generate the execution plan of a statement.
* `list_views`: Lists views in the database from pg_views with a default
limit of 50 rows. Returns schemaname, viewname and the ownername.
## Cloud SQL for PostgreSQL Observability
@@ -358,6 +364,10 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* `LOOKER_CLIENT_ID`: The client ID for the Looker API.
* `LOOKER_CLIENT_SECRET`: The client secret for the Looker API.
* `LOOKER_VERIFY_SSL`: Whether to verify SSL certificates.
* `LOOKER_USE_CLIENT_OAUTH`: Whether to use OAuth for authentication.
* `LOOKER_SHOW_HIDDEN_MODELS`: Whether to show hidden models.
* `LOOKER_SHOW_HIDDEN_EXPLORES`: Whether to show hidden explores.
* `LOOKER_SHOW_HIDDEN_FIELDS`: Whether to show hidden fields.
* **Permissions:**
* A Looker account with permissions to access the desired models,
explores, and data is required.
@@ -377,6 +387,35 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* `get_dashboards`: Searches for saved dashboards.
* `make_dashboard`: Creates a new dashboard.
* `add_dashboard_element`: Adds a tile to a dashboard.
* `health_pulse`: Test the health of a Looker instance.
* `health_analyze`: Analyze the LookML usage of a Looker instance.
* `health_vacuum`: Suggest LookML elements that can be removed.
## Looker Conversational Analytics
* `--prebuilt` value: `looker-conversational-analytics`
* **Environment Variables:**
* `LOOKER_BASE_URL`: The URL of your Looker instance.
* `LOOKER_CLIENT_ID`: The client ID for the Looker API.
* `LOOKER_CLIENT_SECRET`: The client secret for the Looker API.
* `LOOKER_VERIFY_SSL`: Whether to verify SSL certificates.
* `LOOKER_USE_CLIENT_OAUTH`: Whether to use OAuth for authentication.
* `LOOKER_PROJECT`: The GCP Project to use for Conversational Analytics.
* `LOOKER_LOCATION`: The GCP Location to use for Conversational Analytics.
* **Permissions:**
* A Looker account with permissions to access the desired models,
explores, and data is required.
* **Looker Instance User** (`roles/looker.instanceUser`): IAM role to
access Looker.
* **Gemini for Google Cloud User** (`roles/cloudaicompanion.user`): IAM
role to access Conversational Analytics.
* **Gemini Data Analytics Stateless Chat User (Beta)**
(`roles/geminidataanalytics.dataAgentStatelessUser`): IAM role to
access Conversational Analytics.
* **Tools:**
* `ask_data_insights`: Ask a question of the data.
* `get_models`: Retrieves the list of LookML models.
* `get_explores`: Retrieves the list of explores in a model.
## Microsoft SQL Server
@@ -457,6 +496,22 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
* `list_replication_slots`: Lists replication slots in the database.
* `list_invalid_indexes`: Lists invalid indexes in the database.
* `get_query_plan`: Generate the execution plan of a statement.
* `list_views`: Lists views in the database from pg_views with a default
limit of 50 rows. Returns schemaname, viewname and the ownername.
## Google Cloud Serverless for Apache Spark
* `--prebuilt` value: `serverless-spark`
* **Environment Variables:**
* `SERVERLESS_SPARK_PROJECT`: The GCP project ID
* `SERVERLESS_SPARK_LOCATION`: The GCP Location.
* **Permissions:**
* **Dataproc Serverless Viewer** (`roles/dataproc.serverlessViewer`) to
view serverless batches.
* **Dataproc Serverless Editor** (`roles/dataproc.serverlessEditor`) to
view serverless batches.
* **Tools:**
* `list_batches`: Lists Spark batches.
## Spanner (GoogleSQL dialect)

View File

@@ -45,6 +45,9 @@ cluster][alloydb-free-trial].
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
List installed extensions in a PostgreSQL database.
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
List views in an AlloyDB for PostgreSQL database.
### Pre-built Configurations
- [AlloyDB using MCP](https://googleapis.github.io/genai-toolbox/how-to/connect-ide/alloydb_pg_mcp/)

View File

@@ -65,7 +65,7 @@ avoiding full table scans or complex filters.
- [`bigquery-sql`](../tools/bigquery/bigquery-sql.md)
Run SQL queries directly against BigQuery datasets.
- [`bigquery-search-catalog`](../tools/bigquery/bigquery-search_catalog.md)
- [`bigquery-search-catalog`](../tools/bigquery/bigquery-search-catalog.md)
List all entries in Dataplex Catalog (e.g. tables, views, models) that matches
given user query.
@@ -119,6 +119,7 @@ sources:
kind: "bigquery"
project: "my-project-id"
# location: "US" # Optional: Specifies the location for query jobs.
# writeMode: "allowed" # One of: allowed, blocked, protected. Defaults to "allowed".
# allowedDatasets: # Optional: Restricts tool access to a specific list of datasets.
# - "my_dataset_1"
# - "other_project.my_dataset_2"
@@ -133,6 +134,7 @@ sources:
project: "my-project-id"
useClientOAuth: true
# location: "US" # Optional: Specifies the location for query jobs.
# writeMode: "allowed" # One of: allowed, blocked, protected. Defaults to "allowed".
# allowedDatasets: # Optional: Restricts tool access to a specific list of datasets.
# - "my_dataset_1"
# - "other_project.my_dataset_2"
@@ -145,5 +147,6 @@ sources:
| kind | string | true | Must be "bigquery". |
| project | string | true | Id of the Google Cloud project to use for billing and as the default project for BigQuery resources. |
| 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. Defaults to the table's location or 'US' if the location cannot be determined. [Learn More](https://cloud.google.com/bigquery/docs/locations) |
| writeMode | string | false | Controls the write behavior for tools. `allowed` (default): All queries are permitted. `blocked`: Only `SELECT` statements are allowed for the `bigquery-execute-sql` tool. `protected`: Enables session-based execution where all tools associated with this source instance share the same [BigQuery session](https://cloud.google.com/bigquery/docs/sessions-intro). This allows for stateful operations using temporary tables (e.g., `CREATE TEMP TABLE`). For `bigquery-execute-sql`, `SELECT` statements can be used on all tables, but write operations are restricted to the session's temporary dataset. For tools like `bigquery-sql`, `bigquery-forecast`, and `bigquery-analyze-contribution`, the `writeMode` restrictions do not apply, but they will operate within the shared session. **Note:** The `protected` mode cannot be used with `useClientOAuth: true`. It is also not recommended for multi-user server environments, as all users would share the same session. A session is terminated automatically after 24 hours of inactivity or after 7 days, whichever comes first. A new session is created on the next request, and any temporary data from the previous session will be lost. |
| allowedDatasets | []string | false | An optional list of dataset IDs that tools using this source are allowed to access. If provided, any tool operation attempting to access a dataset not in this list will be rejected. To enforce this, two types of operations are also disallowed: 1) Dataset-level operations (e.g., `CREATE SCHEMA`), and 2) operations where table access cannot be statically analyzed (e.g., `EXECUTE IMMEDIATE`, `CREATE PROCEDURE`). If a single dataset is provided, it will be treated as the default for prebuilt tools. |
| useClientOAuth | bool | false | If true, forwards the client's OAuth access token from the "Authorization" header to downstream queries. |
| useClientOAuth | bool | false | If true, forwards the client's OAuth access token from the "Authorization" header to downstream queries. **Note:** This cannot be used with `writeMode: protected`. |

View File

@@ -3,12 +3,12 @@ title: "Cassandra"
type: docs
weight: 1
description: >
Cassandra is a NoSQL distributed database known for its horizontal scalability, distributed architecture, and flexible schema definition.
Apache Cassandra is a NoSQL distributed database known for its horizontal scalability, distributed architecture, and flexible schema definition.
---
## About
[Cassandra][cassandra-docs] is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition.
[Apache Cassandra][cassandra-docs] is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition.
[cassandra-docs]: https://cassandra.apache.org/

View File

@@ -11,7 +11,7 @@ aliases:
## About
The `cloud-sql-admin` source provides a client to interact with the [Google
Cloud SQL Admin API](https://cloud.google.com/sql/docs/mysql/admin-api/v1). This
Cloud SQL Admin API](https://cloud.google.com/sql/docs/mysql/admin-api). This
allows tools to perform administrative tasks on Cloud SQL instances, such as
creating users and databases.

View File

@@ -107,14 +107,14 @@ instead of hardcoding your secrets into the configuration file.
## Reference
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|---------------------------------------------------------------------------------------------|
| 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 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"). |
| password | string | true | Password of the SQL Server user (e.g. "my-password"). |
| ipType | string | false | IP Type of the Cloud SQL instance, must be either `public` or `private`. Default: `public`. |
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|------------------------------------------------------------------------------------------------------|
| 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 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"). |
| password | string | true | Password of the SQL Server user (e.g. "my-password"). |
| ipType | string | false | IP Type of the Cloud SQL instance, must be either `public`, `private`, or `psc`. Default: `public`. |

View File

@@ -117,13 +117,13 @@ instead of hardcoding your secrets into the configuration file.
## Reference
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|---------------------------------------------------------------------------------------------|
| kind | string | true | Must be "cloud-sql-mysql". |
| 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 cluster (e.g. "my-instance"). |
| database | string | true | Name of the MySQL database to connect to (e.g. "my_db"). |
| user | string | true | Name of the MySQL user to connect as (e.g. "my-pg-user"). |
| password | string | true | Password of the MySQL user (e.g. "my-password"). |
| ipType | string | false | IP Type of the Cloud SQL instance; must be one of `public` or `private`. Default: `public`. |
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "cloud-sql-mysql". |
| 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 cluster (e.g. "my-instance"). |
| database | string | true | Name of the MySQL database to connect to (e.g. "my_db"). |
| user | string | true | Name of the MySQL user to connect as (e.g. "my-pg-user"). |
| password | string | true | Password of the MySQL user (e.g. "my-password"). |
| ipType | string | false | IP Type of the Cloud SQL instance, must be either `public`, `private`, or `psc`. Default: `public`. |

View File

@@ -41,6 +41,9 @@ to a database by following these instructions][csql-pg-quickstart].
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
List installed extensions in a PostgreSQL database.
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
List views in a PostgreSQL database.
### Pre-built Configurations
- [Cloud SQL for Postgres using
@@ -150,6 +153,6 @@ instead of hardcoding your secrets into the configuration file.
| 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 | 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`. |
| 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`, `private`, or `psc`. Default: `public`. |

View File

@@ -31,7 +31,7 @@ maintenance.
This source uses standard authentication. You will need to [create a Firebird
user][fb-users] to login to the database with.
[fb-users]: https://firebirdsql.org/refdocs/langrefupd25-sql-create-user.html
[fb-users]: https://www.firebirdsql.org/refdocs/langrefupd25-security-sql-user-mgmt.html#langrefupd25-security-create-user
## Example

View File

@@ -16,7 +16,7 @@ in the cloud, on GCP, or on premises.
## Requirements
### Database User
### Looker User
This source only uses API authentication. You will need to
[create an API user][looker-user] to login to Looker.
@@ -24,6 +24,35 @@ This source only uses API authentication. You will need to
[looker-user]:
https://cloud.google.com/looker/docs/api-auth#authentication_with_an_sdk
{{< notice note >}}
To use the Conversational Analytics API, you will need to have the following
Google Cloud Project API enabled and IAM permissions.
{{< /notice >}}
### API Enablement in GCP
Enable the following APIs in your Google Cloud Project:
```
gcloud services enable geminidataanalytics.googleapis.com --project=$PROJECT_ID
gcloud services enable cloudaicompanion.googleapis.com --project=$PROJECT_ID
```
### IAM Permissions in GCP
In addition to [setting the ADC for your server][set-adc], you need to ensure
the IAM identity has been given the following IAM roles (or corresponding
permissions):
- `roles/looker.instanceUser`
- `roles/cloudaicompanion.user`
- `roles/geminidataanalytics.dataAgentStatelessUser`
To initialize the application default credential run `gcloud auth login --update-adc`
in your environment before starting MCP Toolbox.
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
## Example
```yaml
@@ -33,6 +62,8 @@ sources:
base_url: http://looker.example.com
client_id: ${LOOKER_CLIENT_ID}
client_secret: ${LOOKER_CLIENT_SECRET}
project: ${LOOKER_PROJECT}
location: ${LOOKER_LOCATION}
verify_ssl: true
timeout: 600s
```
@@ -50,6 +81,8 @@ The client id and client secret are seemingly random character sequences
assigned by the looker server. If you are using Looker OAuth you don't need
these settings
The `project` and `location` fields are utilized **only** when using the conversational analytics tool.
{{< notice tip >}}
Use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
@@ -64,6 +97,8 @@ instead of hardcoding your secrets into the configuration file.
| client_id | string | false | The client id assigned by Looker. |
| client_secret | string | false | The client secret assigned by Looker. |
| verify_ssl | string | false | Whether to check the ssl certificate of the server. |
| project | string | false | The project id to use in Google Cloud. |
| location | string | false | The location to use in Google Cloud. (default: us) |
| timeout | string | false | Maximum time to wait for query execution (e.g. "30s", "2m"). By default, 120s is applied. |
| use_client_oauth | string | false | Use OAuth tokens instead of client_id and client_secret. (default: false) |
| show_hidden_models | string | false | Show or hide hidden models. (default: true) |

View File

@@ -0,0 +1,96 @@
---
title: "Oracle"
type: docs
weight: 1
description: >
Oracle Database is a widely-used relational database management system.
---
## About
[Oracle Database][oracle-docs] is a multi-model database management system produced and marketed by Oracle Corporation. It is commonly used for running online transaction processing (OLTP), data warehousing (DW), and mixed (OLTP & DW) database workloads.
[oracle-docs]: https://www.oracle.com/database/
## Available Tools
- [`oracle-sql`](../tools/oracle/oracle-sql.md)
Execute pre-defined prepared SQL queries in Oracle.
- [`oracle-execute-sql`](../tools/oracle/oracle-execute-sql.md)
Run parameterized SQL queries in Oracle.
## Requirements
### Database User
This source uses standard authentication. You will need to [create an Oracle user][oracle-users] to log in to the database with the necessary permissions.
[oracle-users]:
https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/CREATE-USER.html
## Connection Methods
You can configure the connection to your Oracle database using one of the following three methods. **You should only use one method** in your source configuration.
### Basic Connection (Host/Port/Service Name)
This is the most straightforward method, where you provide the connection details as separate fields:
- `host`: The IP address or hostname of the database server.
- `port`: The port number the Oracle listener is running on (typically 1521).
- `serviceName`: The service name for the database instance you wish to connect to.
### Connection String
As an alternative, you can provide all the connection details in a single `connectionString`. This is a convenient way to consolidate the connection information. The typical format is `hostname:port/servicename`.
### TNS Alias
For environments that use a `tnsnames.ora` configuration file, you can connect using a TNS (Transparent Network Substrate) alias.
- `tnsAlias`: Specify the alias name defined in your `tnsnames.ora` file.
- `tnsAdmin` (Optional): If your configuration file is not in a standard location, you can use this field to provide the path to the directory containing it. This setting will override the `TNS_ADMIN` environment variable.
## Example
```yaml
sources:
my-oracle-source:
kind: oracle
# --- Choose one connection method ---
# 1. Host, Port, and Service Name
host: 127.0.0.1
port: 1521
serviceName: XEPDB1
# 2. Direct Connection String
connectionString: "127.0.0.1:1521/XEPDB1"
# 3. TNS Alias (requires tnsnames.ora)
tnsAlias: "MY_DB_ALIAS"
tnsAdmin: "/opt/oracle/network/admin" # Optional: overrides TNS_ADMIN env var
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** |
|------------------|:--------:|:------------:|-----------------------------------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "oracle". |
| user | string | true | Name of the Oracle user to connect as (e.g. "my-oracle-user"). |
| password | string | true | Password of the Oracle user (e.g. "my-password"). |
| host | string | false | IP address or hostname to connect to (e.g. "127.0.0.1"). Required if not using `connectionString` or `tnsAlias`. |
| port | integer | false | Port to connect to (e.g. "1521"). Required if not using `connectionString` or `tnsAlias`. |
| serviceName | string | false | The Oracle service name of the database to connect to. Required if not using `connectionString` or `tnsAlias`. |
| connectionString | string | false | A direct connection string (e.g. "hostname:port/servicename"). Use as an alternative to `host`, `port`, and `serviceName`. |
| tnsAlias | string | false | A TNS alias from a `tnsnames.ora` file. Use as an alternative to `host`/`port` or `connectionString`. |
| tnsAdmin | string | false | Path to the directory containing the `tnsnames.ora` file. This overrides the `TNS_ADMIN` environment variable if it is set. |

View File

@@ -35,6 +35,9 @@ reputation for reliability, feature robustness, and performance.
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
List installed extensions in a PostgreSQL database.
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
List views in a PostgreSQL database.
### Pre-built Configurations
- [PostgreSQL using MCP](https://googleapis.github.io/genai-toolbox/how-to/connect-ide/postgres_mcp/)

View File

@@ -16,7 +16,7 @@ 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/).
the [official Redis website](https://redis.io/docs/).
## Available Tools

View File

@@ -0,0 +1,59 @@
---
title: "Serverless for Apache Spark"
type: docs
weight: 1
description: >
Google Cloud Serverless for Apache Spark lets you run Spark workloads without requiring you to provision and manage your own Spark cluster.
---
## About
The [Serverless for Apache
Spark](https://cloud.google.com/dataproc-serverless/docs/overview) source allows
Toolbox to interact with Spark batches hosted on Google Cloud Serverless for
Apache Spark.
## Available Tools
- [`serverless-spark-list-batches`](../tools/serverless-spark/serverless-spark-list-batches.md)
List and filter Serverless Spark batches.
- [`serverless-spark-get-batch`](../tools/serverless-spark/serverless-spark-get-batch.md)
Get a Serverless Spark batch.
## Requirements
### IAM Permissions
Serverless for Apache Spark uses [Identity and Access Management
(IAM)](https://cloud.google.com/bigquery/docs/access-control) to control user
and group access to serverless Spark resources like batches and sessions.
Toolbox will use your [Application Default Credentials
(ADC)](https://cloud.google.com/docs/authentication#adc) to authorize and
authenticate when interacting with Google Cloud Serverless for Apache Spark.
When using this method, you need to ensure the IAM identity associated with your
ADC has the correct
[permissions](https://cloud.google.com/dataproc-serverless/docs/concepts/iam)
for the actions you intend to perform. Common roles include
`roles/dataproc.serverlessEditor` (which includes permissions to run batches) or
`roles/dataproc.serverlessViewer`. Follow this
[guide](https://cloud.google.com/docs/authentication/provide-credentials-adc) to
set up your ADC.
## Example
```yaml
sources:
my-serverless-spark-source:
kind: serverless-spark
project: my-project-id
location: us-central1
```
## Reference
| **field** | **type** | **required** | **description** |
| --------- | :------: | :----------: | ----------------------------------------------------------------- |
| kind | string | true | Must be "serverless-spark". |
| project | string | true | ID of the GCP project with Serverless for Apache Spark resources. |
| location | string | true | Location containing Serverless for Apache Spark resources. |

View File

@@ -77,13 +77,17 @@ 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. |
| default | parameter type | false | Default value of the parameter. If provided, `required` will be `false`. |
| required | bool | false | Indicate if the parameter is required. Default to `true`. |
| **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. |
| default | parameter type | false | Default value of the parameter. If provided, `required` will be `false`. |
| required | bool | false | Indicate if the parameter is required. Default to `true`. |
| allowedValues | []string | false | Input value will be checked against this field. Regex is also supported. |
| escape | string | false | Only available for type `string`. Indicate the escaping delimiters used for the parameter. This field is intended to be used with templateParameters. Must be one of "single-quotes", "double-quotes", "backticks", "square-brackets". |
| minValue | int or float | false | Only available for type `integer` and `float`. Indicate the minimum value allowed. |
| maxValue | int or float | false | Only available for type `integer` and `float`. Indicate the maximum value allowed. |
### Array Parameters
@@ -104,14 +108,15 @@ in the list using the items field:
SELECT * FROM airlines WHERE preferred_airlines = ANY($1);
```
| **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. |
| default | parameter type | false | Default value of the parameter. If provided, `required` will be `false`. |
| required | bool | false | Indicate if the parameter is required. Default to `true`. |
| 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" |
| description | string | true | Natural language description of the parameter to describe it to the agent. |
| default | parameter type | false | Default value of the parameter. If provided, `required` will be `false`. |
| required | bool | false | Indicate if the parameter is required. Default to `true`. |
| allowedValues | []string | false | Input value will be checked against this field. Regex is also supported. |
| 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` or `required` value. If provided, it
@@ -181,10 +186,10 @@ user's ID token.
field: sub
```
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|-----------------------------------------------------------------------------------------|
| 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. |
| **field** | **type** | **required** | **description** |
|-----------|:--------:|:------------:|----------------------------------------------------------------------------------|
| 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
@@ -206,6 +211,14 @@ table names, they are prone to SQL injections. Basic parameters are preferred
for performance and safety reasons.
{{< /notice >}}
{{< notice tip >}}
To minimize SQL injection risk when using template parameters, always provide
the `allowedValues` field within the parameter to restrict inputs.
Alternatively, for `string` type parameters, you can use the `escape` field to
add delimiters to the identifier. For `integer` or `float` type parameters, you
can use `minValue` and `maxValue` to define the allowable range.
{{< /notice >}}
```yaml
tools:
select_columns_from_table:
@@ -231,14 +244,18 @@ tools:
name: column
type: string
description: Name of a column to select
escape: double-quotes # with this, the statement will resolve to `SELECT "id", "name" FROM flights`
```
| **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). |
| **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. |
| default | parameter type | false | Default value of the parameter. If provided, `required` will be `false`. |
| required | bool | false | Indicate if the parameter is required. Default to `true`. |
| allowedValues | []string | false | Input value will be checked against this field. Regex is also supported. |
| items | parameter object | true (if array) | Specify a Parameter object for the type of the values in the array (string only). |
## Authorized Invocations

View File

@@ -14,9 +14,8 @@ This tool provisions a cluster with a **private IP address** within the specifie
**Permissions & APIs Required:**
Before using, ensure the following on your GCP project:
1. The [AlloyDB API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com) is enabled.
2. The user or service account executing the tool has one of the following IAM roles:
1. The [AlloyDB API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com) is enabled.
2. The user or service account executing the tool has one of the following IAM roles:
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)

View File

@@ -15,14 +15,14 @@ or `ALLOYDB_IAM_USER`) within a specified cluster. It is compatible with
**Permissions & APIs Required:**
Before using, ensure the following on your GCP project:
1. The [AlloyDB
1. The [AlloyDB
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com)
is enabled.
2. The user or service account executing the tool has one of the following IAM
2. The user or service account executing the tool has one of the following IAM
roles:
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)
- `roles/editor` (the Editor basic IAM role)
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)
- `roles/editor` (the Editor basic IAM role)
The tool takes the following input parameters:

View File

@@ -39,6 +39,13 @@ It's compatible with the following sources:
insights. Can be `'NO_PRUNING'` or `'PRUNE_REDUNDANT_INSIGHTS'`. Defaults to
`'PRUNE_REDUNDANT_INSIGHTS'`.
The behavior of this tool is influenced by the `writeMode` setting on its `bigquery` source:
- **`allowed` (default) and `blocked`:** These modes do not impose any special restrictions on the `bigquery-analyze-contribution` tool.
- **`protected`:** This mode enables session-based execution. The tool will operate within the same BigQuery session as other
tools using the same source. This allows the `input_data` parameter to be a query that references temporary resources (e.g.,
`TEMP` tables) created within that session.
## Example

View File

@@ -20,8 +20,15 @@ It's compatible with the following sources:
- **`dry_run`** (optional): If set to `true`, the query is validated but not run,
returning information about the execution instead. Defaults to `false`.
The behavior of this tool is influenced by the `writeMode` setting on its `bigquery` source:
- **`allowed` (default):** All SQL statements are permitted.
- **`blocked`:** Only `SELECT` statements are allowed. Any other type of statement (e.g., `INSERT`, `UPDATE`, `CREATE`) will be rejected.
- **`protected`:** This mode enables session-based execution. `SELECT` statements can be used on all tables, while write operations are allowed only for the session's temporary dataset (e.g., `CREATE TEMP TABLE ...`). This prevents modifications to permanent datasets while allowing stateful, multi-step operations within a secure session.
The tool's behavior is influenced by the `allowedDatasets` restriction on the
`bigquery` source:
`bigquery` source. Similar to `writeMode`, this setting provides an additional layer of security by controlling which datasets can be accessed:
- **Without `allowedDatasets` restriction:** The tool can execute any valid GoogleSQL
query.
- **With `allowedDatasets` restriction:** Before execution, the tool performs a dry run
@@ -33,6 +40,8 @@ The tool's behavior is influenced by the `allowedDatasets` restriction on the
- **Unanalyzable operations** where the accessed tables cannot be determined
statically (e.g., `EXECUTE IMMEDIATE`, `CREATE PROCEDURE`, `CALL`).
> **Note:** This tool is intended for developer assistant workflows with human-in-the-loop and shouldn't be used for production agents.
## Example
```yaml

View File

@@ -33,12 +33,19 @@ query based on the provided parameters:
- **horizon** (integer, optional): The number of future time steps you want to
predict. It defaults to 10 if not specified.
The tool's behavior regarding these parameters is influenced by the `allowedDatasets` restriction on the `bigquery` source:
The behavior of this tool is influenced by the `writeMode` setting on its `bigquery` source:
- **`allowed` (default) and `blocked`:** These modes do not impose any special restrictions on the `bigquery-forecast` tool.
- **`protected`:** This mode enables session-based execution. The tool will operate within the same BigQuery session as other
tools using the same source. This allows the `history_data` parameter to be a query that references temporary resources (e.g.,
`TEMP` tables) created within that session.
The tool's behavior is also influenced by the `allowedDatasets` restriction on the `bigquery` source:
- **Without `allowedDatasets` restriction:** The tool can use any table or query for the `history_data` parameter.
- **With `allowedDatasets` restriction:** The tool verifies that the `history_data` parameter only accesses tables
within the allowed datasets. If `history_data` is a table ID, the tool checks if the table's dataset is in the
allowed list. If `history_data` is a query, the tool performs a dry run to analyze the query and rejects it
if it accesses any table outside the allowed list.
- **With `allowedDatasets` restriction:** The tool verifies that the `history_data` parameter only accesses tables within the allowed datasets.
- If `history_data` is a table ID, the tool checks if the table's dataset is in the allowed list.
- If `history_data` is a query, the tool performs a dry run to analyze the query and rejects it if it accesses any table outside the allowed list.
## Example

View File

@@ -15,10 +15,20 @@ It's compatible with the following sources:
- [bigquery](../../sources/bigquery.md)
`bigquery-get-table-info` takes `dataset` and `table` parameters to specify
the target table. It also optionally accepts a `project` parameter to define
the Google Cloud project ID. If the `project` parameter is not provided, the
tool defaults to using the project defined in the source configuration.
`bigquery-get-table-info` accepts the following parameters:
- **`table`** (required): The name of the table for which to retrieve metadata.
- **`dataset`** (required): The dataset containing the specified table.
- **`project`** (optional): The Google Cloud project ID. If not provided, the
tool defaults to the project from the source configuration.
The tool's behavior regarding these parameters is influenced by the
`allowedDatasets` restriction on the `bigquery` source:
- **Without `allowedDatasets` restriction:** The tool can retrieve metadata for
any table specified by the `table`, `dataset`, and `project` parameters.
- **With `allowedDatasets` restriction:** Before retrieving metadata, the tool
verifies that the requested dataset is in the allowed list. If it is not, the
request is denied. If only one dataset is specified in the `allowedDatasets`
list, it will be used as the default value for the `dataset` parameter.
## Example

View File

@@ -15,9 +15,17 @@ It's compatible with the following sources:
- [bigquery](../../sources/bigquery.md)
`bigquery-list-dataset-ids` optionally accepts a `project` parameter to define
the Google Cloud project ID. If the `project` parameter is not provided, the
tool defaults to using the project defined in the source configuration.
`bigquery-list-dataset-ids` accepts the following parameter:
- **`project`** (optional): Defines the Google Cloud project ID. If not provided,
the tool defaults to the project from the source configuration.
The tool's behavior regarding this parameter is influenced by the
`allowedDatasets` restriction on the `bigquery` source:
- **Without `allowedDatasets` restriction:** The tool can list datasets from any
project specified by the `project` parameter.
- **With `allowedDatasets` restriction:** The tool directly returns the
pre-configured list of dataset IDs from the source, and the `project`
parameter is ignored.
## Example

View File

@@ -16,13 +16,15 @@ It's compatible with the following sources:
- [bigquery](../../sources/bigquery.md)
`bigquery-list-table-ids` accepts the following parameters:
- **`dataset`** (required): Specifies the dataset from which to list table IDs.
- **`project`** (optional): Defines the Google Cloud project ID. If not provided,
the tool defaults to the project from the source configuration.
The tool's behavior regarding these parameters is influenced by the
The tool's behavior regarding these parameters is influenced by the
`allowedDatasets` restriction on the `bigquery` source:
- **Without `allowedDatasets` restriction:** The tool can list tables from any
- **Without `allowedDatasets` restriction:** The tool can list tables from any
dataset specified by the `dataset` and `project` parameters.
- **With `allowedDatasets` restriction:** Before listing tables, the tool verifies
that the requested dataset is in the allowed list. If it is not, the request is

View File

@@ -61,4 +61,4 @@ tools:
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "bigquery-search-catalog". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -15,6 +15,11 @@ the following sources:
- [bigquery](../../sources/bigquery.md)
The behavior of this tool is influenced by the `writeMode` setting on its `bigquery` source:
- **`allowed` (default) and `blocked`:** These modes do not impose any restrictions on the `bigquery-sql` tool. The pre-defined SQL statement will be executed as-is.
- **`protected`:** This mode enables session-based execution. The tool will operate within the same BigQuery session as other tools using the same source, allowing it to interact with temporary resources like `TEMP` tables created within that session.
### GoogleSQL
BigQuery uses [GoogleSQL][bigquery-googlesql] for querying data. The integration

View File

@@ -14,12 +14,12 @@ aliases:
A `cassandra-cql` tool executes a pre-defined CQL statement against a Cassandra
database. It's compatible with any of the following sources:
- [cassandra](../sources/cassandra.md)
- [cassandra](../../sources/cassandra.md)
The specified CQL statement is executed as a [prepared statement][cassandra-prepare],
and expects parameters in the CQL query to be in the form of placeholders `?`.
[cassandra-prepare]: https://docs.datastax.com/en/developer/go-driver/4.8/cql-prepared-statements/
[cassandra-prepare]: https://docs.datastax.com/en/datastax-drivers/developing/prepared-statements.html
## Example

View File

@@ -14,8 +14,8 @@ A `clickhouse-list-databases` tool lists all available databases in a ClickHouse
instance. It's compatible with the [clickhouse](../../sources/clickhouse.md)
source.
This tool executes the `SHOW DATABASES` command and returns a list of all
databases accessible to the configured user, making it useful for database
This tool executes the `SHOW DATABASES` command and returns a list of all
databases accessible to the configured user, making it useful for database
discovery and exploration tasks.
## Example
@@ -31,9 +31,11 @@ tools:
## Return Value
The tool returns an array of objects, where each object contains:
- `name`: The name of the database
Example response:
```json
[
{"name": "default"},

View File

@@ -57,4 +57,4 @@ Example response:
| source | string | true | Name of the ClickHouse source to list tables from. |
| description | string | true | Description of the tool that is passed to the LLM. |
| authRequired | array of string | false | Authentication services required to use this tool. |
| parameters | array of Parameter | false | Parameters for the tool (see Parameters section above). |
| parameters | array of Parameter | false | Parameters for the tool (see Parameters section above). |

View File

@@ -79,4 +79,4 @@ tools:
| description | string | true | Description of the tool that is passed to the LLM. |
| statement | string | true | The SQL statement template to execute. |
| parameters | array of Parameter | false | Parameters for prepared statement values. |
| templateParameters | array of Parameter | false | Parameters for SQL statement template customization. |
| templateParameters | array of Parameter | false | Parameters for SQL statement template customization. |

View File

@@ -0,0 +1,7 @@
---
title: "Dataform"
type: docs
weight: 1
description: >
Tools that work with Dataform.
---

View File

@@ -0,0 +1,51 @@
---
title: "dataform-compile-local"
type: docs
weight: 1
description: >
A "dataform-compile-local" tool runs the `dataform compile` CLI command on a local project directory.
aliases:
- /resources/tools/dataform-compile-local
---
## About
A `dataform-compile-local` tool runs the `dataform compile` command on a local Dataform project.
It is a standalone tool and **is not** compatible with any sources.
At invocation time, the tool executes `dataform compile --json` in the specified project directory and returns the resulting JSON object from the CLI.
`dataform-compile-local` takes the following parameter:
- `project_dir` (string): The absolute or relative path to the local Dataform project directory. The server process must have read access to this path.
## Requirements
### Dataform CLI
This tool executes the `dataform` command-line interface (CLI) via a system call. You must have the **`dataform` CLI** installed and available in the server's system `PATH`.
You can typically install the CLI via `npm`:
```bash
npm install -g @dataform/cli
```
See the [official Dataform documentation](https://www.google.com/search?q=https://cloud.google.com/dataform/docs/install-dataform-cli) for more details.
## Example
```yaml
tools:
my_dataform_compiler:
kind: dataform-compile-local
description: Use this tool to compile a local Dataform project.
```
## Reference
| **field** | **type** | **required** | **description** |
| :---- | :---- | :---- | :---- |
| kind | string | true | Must be "dataform-compile-local". |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -13,7 +13,7 @@ aliases:
A `dataplex-lookup-entry` tool returns details of a particular entry in Dataplex
Catalog. It's compatible with the following sources:
- [dataplex](../sources/dataplex.md)
- [dataplex](../../sources/dataplex.md)
`dataplex-lookup-entry` takes a required `name` parameter which contains the
project and location to which the request should be attributed in the following
@@ -21,14 +21,15 @@ form: projects/{project}/locations/{location} and also a required `entry`
parameter which is the resource name of the entry in the following form:
projects/{project}/locations/{location}/entryGroups/{entryGroup}/entries/{entry}.
It also optionally accepts following parameters:
- `view` - View to control which parts of an entry the service should return.
- `view` - View to control which parts of an entry the service should return.
It takes integer values from 1-4 corresponding to type of view - BASIC,
FULL, CUSTOM, ALL
- `aspectTypes` - Limits the aspects returned to the provided aspect types in
- `aspectTypes` - Limits the aspects returned to the provided aspect types in
the format
`projects/{project}/locations/{location}/aspectTypes/{aspectType}`. It only
works for CUSTOM view.
- `paths` - Limits the aspects returned to those associated with the provided
- `paths` - Limits the aspects returned to those associated with the provided
paths within the Entry. It only works for CUSTOM view.
## Requirements
@@ -36,13 +37,13 @@ It also optionally accepts following parameters:
### IAM Permissions
Dataplex uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to Dataplex resources. Toolbox will use your
[Application Default Credentials (ADC)][adc] to authorize and authenticate when
user and group access to Dataplex resources. Toolbox will use your
[Application Default Credentials (ADC)][adc] to authorize and authenticate when
interacting with [Dataplex][dataplex-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 tasks you
intend to perform. See [Dataplex Universal Catalog IAM permissions][iam-permissions]
intend to perform. See [Dataplex Universal Catalog IAM permissions][iam-permissions]
and [Dataplex Universal Catalog IAM roles][iam-roles] for more information on
applying IAM permissions and roles to an identity.
@@ -68,4 +69,4 @@ tools:
|-------------|:--------:|:------------:|----------------------------------------------------|
| kind | string | true | Must be "dataplex-lookup-entry". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -62,4 +62,4 @@ tools:
|-------------|:--------:|:------------:|----------------------------------------------------|
| kind | string | true | Must be "dataplex-search-aspect-types". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -14,7 +14,7 @@ aliases:
A `firebird-execute-sql` tool executes a SQL statement against a Firebird
database. It's compatible with the following source:
- [firebird](../sources/firebird.md)
- [firebird](../../sources/firebird.md)
`firebird-execute-sql` takes one input parameter `sql` and runs the sql
statement against the `source`.

View File

@@ -14,7 +14,7 @@ aliases:
A `firebird-sql` tool executes a pre-defined SQL statement against a Firebird
database. It's compatible with the following source:
- [firebird](../sources/firebird.md)
- [firebird](../../sources/firebird.md)
The specified SQL statement is executed as a [prepared statement][fb-prepare],
and supports both positional parameters (`?`) and named parameters (`:param_name`).
@@ -102,7 +102,7 @@ tools:
> including identifiers, column names, and table names. **This makes it more
> vulnerable to SQL injections**. Using basic parameters only (see above) is
> recommended for performance and safety reasons. For more details, please check
> [templateParameters](_index#template-parameters).
> [templateParameters](../#template-parameters).
```yaml
tools:
@@ -131,5 +131,5 @@ tools:
| 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. |
| statement | string | true | SQL statement to execute on. |
| parameters | [parameters](_index#specifying-parameters) | false | List of [parameters](_index#specifying-parameters) that will be inserted into the SQL statement. |
| templateParameters | [templateParameters](_index#template-parameters) | false | List of [templateParameters](_index#template-parameters) that will be inserted into the SQL statement before executing prepared statement. |
| parameters | [parameters](../#specifying-parameters) | false | List of [parameters](../#specifying-parameters) that will be inserted into the SQL statement. |
| templateParameters | [templateParameters](../#template-parameters) | false | List of [templateParameters](../#template-parameters) that will be inserted into the SQL statement before executing prepared statement. |

View File

@@ -256,6 +256,7 @@ tools:
## Error Handling
Common errors include:
- Invalid collection path
- Missing or invalid document data
- Permission denied (if Firestore security rules block the operation)

View File

@@ -8,7 +8,7 @@ aliases:
- /resources/tools/firestore-query-collection
---
# About
## About
The `firestore-query-collection` tool allows you to query Firestore collections
with filters, ordering, and limit capabilities.

View File

@@ -146,6 +146,7 @@ templates throughout the configuration.
## Filter Format
### Simple Filter
```json
{
"field": "age",
@@ -155,6 +156,7 @@ templates throughout the configuration.
```
### AND Filter
```json
{
"and": [
@@ -165,6 +167,7 @@ templates throughout the configuration.
```
### OR Filter
```json
{
"or": [
@@ -175,6 +178,7 @@ templates throughout the configuration.
```
### Nested Filters
```json
{
"or": [
@@ -208,6 +212,7 @@ The tool supports all Firestore native JSON value types:
### Complex Type Examples
**GeoPoint:**
```json
{
"field": "location",
@@ -222,6 +227,7 @@ The tool supports all Firestore native JSON value types:
```
**Array:**
```json
{
"field": "tags",
@@ -366,6 +372,7 @@ curl -X POST http://localhost:5000/api/tool/your-tool-name/invoke \
### Response Format
**Without analyzeQuery:**
```json
[
{
@@ -384,6 +391,7 @@ curl -X POST http://localhost:5000/api/tool/your-tool-name/invoke \
```
**With analyzeQuery:**
```json
{
"documents": [...],

View File

@@ -41,6 +41,7 @@ The tool requires Firestore's native JSON format for document data. Each field
must be wrapped with its type indicator:
### Basic Types
- **String**: `{"stringValue": "your string"}`
- **Integer**: `{"integerValue": "123"}` or `{"integerValue": 123}`
- **Double**: `{"doubleValue": 123.45}`
@@ -50,6 +51,7 @@ must be wrapped with its type indicator:
- **Timestamp**: `{"timestampValue": "2025-01-07T10:00:00Z"}` (RFC3339 format)
### Complex Types
- **GeoPoint**: `{"geoPointValue": {"latitude": 34.052235, "longitude": -118.243683}}`
- **Array**: `{"arrayValue": {"values": [{"stringValue": "item1"}, {"integerValue": "2"}]}}`
- **Map**: `{"mapValue": {"fields": {"key1": {"stringValue": "value1"}, "key2": {"booleanValue": true}}}}`
@@ -78,7 +80,6 @@ deleted. To delete a field, include it in the `updateMask` but omit it from
| source | string | true | Name of the Firestore source to update documents in. |
| description | string | true | Description of the tool that is passed to the LLM. |
## Examples
### Basic Document Update (Full Merge)
@@ -155,6 +156,7 @@ To delete fields, include them in the `updateMask` but omit them from `documentD
```
In this example:
- `name` will be updated to "John Smith"
- `temporaryField` and `obsoleteData` will be deleted from the document (they are in the mask but not in the data)
@@ -302,8 +304,11 @@ tools:
- google-oauth
- api-key
```
## Error Handling
Common errors include:
- Document not found (when using update with a non-existent document)
- Invalid document path
- Missing or invalid document data
@@ -311,6 +316,7 @@ Common errors include:
- Invalid data type conversions
## Best Practices
1. **Use update masks for precision**: When you only need to update specific fields, use the `updateMask` parameter to avoid unintended changes
2. **Always use typed values**: Every field must be wrapped with its appropriate type indicator (e.g., `{"stringValue": "text"}`)
3. **Integer values can be strings**: The tool accepts integer values as strings (e.g., `{"integerValue": "1500"}`)

View File

@@ -0,0 +1,45 @@
---
title: "looker-conversational-analytics"
type: docs
weight: 1
description: >
The "looker-conversational-analytics" tool will use the Conversational
Analaytics API to analyze data from Looker
aliases:
- /resources/tools/looker-conversational-analytics
---
## About
A `looker-conversational-analytics` tool allows you to ask questions about your Looker data.
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-conversational-analytics` accepts two parameters:
1. `user_query_with_context`: The question asked of the Conversational Analytics system.
2. `explore_references`: A list of one to five explores that can be queried to answer the
question. The form of the entry is `[{"model": "model name", "explore": "explore name"}, ...]`
## Example
```yaml
tools:
ask_data_insights:
kind: looker-conversational-analytics
source: looker-source
description: |
Use this tool to perform data analysis, get insights,
or answer complex questions about the contents of specific
Looker explores.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| kind | string | true | Must be "lookerca-conversational-analytics". |
| 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,45 @@
---
title: "looker-create-project-file"
type: docs
weight: 1
description: >
A "looker-create-project-file" tool creates a new LookML file in a project.
aliases:
- /resources/tools/looker-create-project-file
---
## About
A `looker-create-project-file` tool creates a new LookML file in a project
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-create-project-file` accepts a project_id parameter and a file_path parameter
as well as the file content.
## Example
```yaml
tools:
create_project_file:
kind: looker-create-project-file
source: looker-source
description: |
create_project_file Tool
Given a project_id and a file path within the project, as well as the content
of a LookML file, this tool will create a new file within the project.
This tool must be called after the dev_mode tool has changed the session to
dev mode.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-create-project-file". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,44 @@
---
title: "looker-delete-project-file"
type: docs
weight: 1
description: >
A "looker-delete-project-file" tool deletes a LookML file in a project.
aliases:
- /resources/tools/looker-delete-project-file
---
## About
A `looker-delete-project-file` tool deletes a LookML file in a project
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-delete-project-file` accepts a project_id parameter and a file_path parameter.
## Example
```yaml
tools:
delete_project_file:
kind: looker-delete-project-file
source: looker-source
description: |
delete_project_file Tool
Given a project_id and a file path within the project, this tool will delete
the file from the project.
This tool must be called after the dev_mode tool has changed the session to
dev mode.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-delete-project-file". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,42 @@
---
title: "looker-dev-mode"
type: docs
weight: 1
description: >
A "looker-dev-mode" tool changes the current session into and out of dev mode
aliases:
- /resources/tools/looker-dev-mode
---
## About
A `looker-dev-mode` tool changes the session into and out of dev mode.
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-dev-mode` accepts a boolean parameter, true to enter dev mode and false to exit dev mode.
## Example
```yaml
tools:
dev_mode:
kind: looker-dev-mode
source: looker-source
description: |
dev_mode Tool
Passing true to this tool switches the session to dev mode. Passing false to this tool switches the
session to production mode.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-dev-mode". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,41 @@
---
title: "looker-get-project-file"
type: docs
weight: 1
description: >
A "looker-get-project-file" tool returns the contents of a LookML fle.
aliases:
- /resources/tools/looker-get-project-file
---
## About
A `looker-get-project-file` tool returns the contents of a LookML file.
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-get-project-file` accepts a project_id parameter and a file_path parameter.
## Example
```yaml
tools:
get_project_file:
kind: looker-get-project-file
source: looker-source
description: |
get_project_file Tool
Given a project_id and a file path within the project, this tool returns
the contents of the LookML file.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-get-project-file". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,41 @@
---
title: "looker-get-project-files"
type: docs
weight: 1
description: >
A "looker-get-project-files" tool returns all the LookML fles in a project in the source.
aliases:
- /resources/tools/looker-get-project-files
---
## About
A `looker-get-project-files` tool returns all the lookml files in a project in the source.
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-get-project-files` accepts a project_id parameter.
## Example
```yaml
tools:
get_project_files:
kind: looker-get-project-files
source: looker-source
description: |
get_project_files Tool
Given a project_id this tool returns the details about
the LookML files that make up that project.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-get-project-files". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,41 @@
---
title: "looker-get-projects"
type: docs
weight: 1
description: >
A "looker-get-projects" tool returns all the LookML projects in the source.
aliases:
- /resources/tools/looker-get-projects
---
## About
A `looker-get-projects` tool returns all the projects in the source.
It's compatible with the following sources:
- [looker](../../sources/looker.md)
`looker-get-projects` accepts no parameters.
## Example
```yaml
tools:
get_projects:
kind: looker-get-projects
source: looker-source
description: |
get_projects Tool
This tool returns the project_id and project_name for
all the LookML projects on the looker instance.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:------------------------------------------:|:------------:|--------------------------------------------------------------------------------------------------|
| kind | string | true | Must be "looker-get-projects". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |

View File

@@ -0,0 +1,63 @@
---
title: "looker-health-analyze"
type: docs
weight: 1
description: >
"looker-health-analyze" provides a set of analytical commands for a Looker instance, allowing users to analyze projects, models, and explores.
aliases:
- /resources/tools/looker-health-analyze
---
## About
The `looker-health-analyze` tool performs various analysis tasks on a Looker instance. The `action` parameter selects the type of analysis to perform:
- `projects`: Analyzes all projects or a specified project, reporting on the number of models and view files, as well as Git connection and validation status.
- `models`: Analyzes all models or a specified model, providing a count of explores, unused explores, and total query counts.
- `explores`: Analyzes all explores or a specified explore, reporting on the number of joins, unused joins, fields, unused fields, and query counts. Being classified as **Unused** is determined by whether a field has been used as a field or filter within the past 90 days in production.
## Parameters
| **field** | **type** | **required** | **description** |
| :--- | :--- | :--- | :--- |
| kind | string | true | Must be "looker-health-analyze" |
| source | string | true | Looker source name |
| action | string | true | The analysis to perform: `projects`, `models`, or `explores`. |
| project | string | false | The name of the Looker project to analyze. |
| model | string | false | The name of the Looker model to analyze. Required for `explores` actions. |
| explore | string | false | The name of the Looker explore to analyze. Required for the `explores` action. |
| timeframe | int | false | The timeframe in days to analyze. Defaults to 90. |
| min_queries | int | false | The minimum number of queries for a model or explore to be considered used. Defaults to 1. |
## Example
Analyze all models in `thelook` project.
```yaml
tools:
analyze-tool:
kind: looker-health-analyze
source: looker-source
description: |
Analyzes Looker projects, models, and explores.
Specify the `action` parameter to select the type of analysis.
parameters:
action: models
project: "thelook"
Analyze all the explores in the `ecomm` model of `thelook` project. Specifically look at usage within the past 20 days. Usage minimum should be at least 10 queries.
```yaml
tools:
analyze-tool:
kind: looker-health-analyze
source: looker-source
description: |
Analyzes Looker projects, models, and explores.
Specify the `action` parameter to select the type of analysis.
parameters:
action: explores
project: "thelook"
model: "ecomm"
timeframe: 20
min_queries: 10

View File

@@ -0,0 +1,55 @@
---
title: "looker-health-pulse"
type: docs
weight: 1
description: >
"looker-health-pulse" performs health checks on a Looker instance, with multiple actions available (e.g., checking database connections, dashboard performance, etc).
aliases:
- /resources/tools/looker-health-pulse
---
## About
The `looker-health-pulse` tool performs health checks on a Looker instance. The `action` parameter selects the type of check to perform:
- `check_db_connections`: Checks all database connections, runs supported tests, and reports query counts.
- `check_dashboard_performance`: Finds dashboards with slow running queries in the last 7 days.
- `check_dashboard_errors`: Lists dashboards with erroring queries in the last 7 days.
- `check_explore_performance`: Lists the slowest explores in the last 7 days and reports average query runtime.
- `check_schedule_failures`: Lists schedules that have failed in the last 7 days.
- `check_legacy_features`: Lists enabled legacy features. (*To note, this function is not available in Looker Core. You will get an error running this command with a Core instance configured.*)
## Parameters
| **field** | **type** | **required** | **description** |
|---------------|:--------:|:------------:|---------------------------------------------|
| kind | string | true | Must be "looker-health-pulse" |
| source | string | true | Looker source name |
| action | string | true | The health check to perform |
## Example
```yaml
tools:
pulse:
kind: looker-health-pulse
source: looker-source
description: |
Pulse Tool
Performs health checks on Looker instance.
Specify the `action` parameter to select the check.
parameters:
action: check_dashboard_performance
```
## Reference
| **action** | **description** |
|---------------------------|--------------------------------------------------------------------------------|
| check_db_connections | Checks all database connections and reports query counts and errors |
| check_dashboard_performance | Finds dashboards with slow queries (>30s) in the last 7 days |
| check_dashboard_errors | Lists dashboards with erroring queries in the last 7 days |
| check_explore_performance | Lists slowest explores and average query runtime |
| check_schedule_failures | Lists failed schedules in the last 7 days |
| check_legacy_features | Lists enabled legacy features |

View File

@@ -0,0 +1,63 @@
---
title: "looker-health-vacuum"
type: docs
weight: 1
description: >
"looker-health-vacuum" provides a set of commands to audit and identify unused LookML objects in a Looker instance.
aliases:
- /resources/tools/looker-health-vacuum
---
## About
The `looker-health-vacuum` tool helps you identify unused LookML objects such as models, explores, joins, and fields. The `action` parameter selects the type of vacuum to perform:
- `models`: Identifies unused explores within a model.
- `explores`: Identifies unused joins and fields within an explore.
## Parameters
| **field** | **type** | **required** | **description** |
| :--- | :--- | :--- | :--- |
| kind | string | true | Must be "looker-health-vacuum" |
| source | string | true | Looker source name |
| action | string | true | The vacuum to perform: `models`, or `explores`. |
| project | string | false | The name of the Looker project to vacuum. |
| model | string | false | The name of the Looker model to vacuum. |
| explore | string | false | The name of the Looker explore to vacuum. |
| timeframe | int | false | The timeframe in days to analyze for usage. Defaults to 90. |
| min_queries | int | false | The minimum number of queries for an object to be considered used. Defaults to 1. |
## Example
Identify unnused fields (*in this case, less than 1 query in the last 20 days*) and joins in the `order_items` explore and `thelook` model
```yaml
tools:
vacuum-tool:
kind: looker-health-vacuum
source: looker-source
description: |
Vacuums the Looker instance by identifying unused explores, fields, and joins.
parameters:
action: explores
project: "thelook_core"
model: "thelook"
explore: "order_items"
timeframe: 20
min_queries: 1
```
Identify unnused explores across all models in `thelook_core` project.
```yaml
tools:
vacuum-tool:
kind: looker-health-vacuum
source: looker-source
description: |
Vacuums the Looker instance by identifying unused explores, fields, and joins.
parameters:
action: models
project: "thelook_core"

Some files were not shown because too many files have changed in this diff Show More