Twisha Bansal
60c72bc750
ci: toolbox release latest version ( #214 )
2025-01-15 12:33:04 +05:30
Yuan
9fabfc3b8b
docs: add example $VERSION for container image installation ( #212 )
...
container image uses `0.0.1` whereas the binary or source uses `v0.0.1`.
Example is added so that this is clear to the user.
2025-01-14 20:02:24 -08:00
release-please[bot]
afb24d322f
chore(main): release 0.0.5 ( #164 )
...
🤖 I have created a release *beep* *boop*
---
##
[0.0.5](https://github.com/googleapis/genai-toolbox/compare/v0.0.4...v0.0.5 )
(2025-01-14)
### ⚠ BREAKING CHANGES
* replace Source field `ip_type` with `ipType` for consistency
([#197 ](https://github.com/googleapis/genai-toolbox/issues/197 ))
* **toolbox-sdk:** deprecate 'add_auth_headers' in favor of
'add_auth_tokens'
([#170 ](https://github.com/googleapis/genai-toolbox/issues/170 ))
### Features
* Add support for OpenTelemetry
([#205 ](https://github.com/googleapis/genai-toolbox/issues/205 ))
([1fcc20a ](1fcc20a846 ))
* Added Neo4j Source and Tool
([#189 ](https://github.com/googleapis/genai-toolbox/issues/189 ))
([8a1224b ](8a1224b9e0 ))
* **llamaindex-sdk:** Implement OAuth support for LlamaIndex.
([#159 ](https://github.com/googleapis/genai-toolbox/issues/159 ))
([003ce51 ](003ce510a1 ))
* Replace Source field `ip_type` with `ipType` for consistency
([#197 ](https://github.com/googleapis/genai-toolbox/issues/197 ))
([e069520 ](e069520bb7 ))
* Update log with given context
([#147 ](https://github.com/googleapis/genai-toolbox/issues/147 ))
([809e547 ](809e547a48 ))
### Bug Fixes
* Correct parsing of floats/ints from json
([#180 ](https://github.com/googleapis/genai-toolbox/issues/180 ))
([387a5b5 ](387a5b56b5 ))
* **doc:** Update example `clientId` field
([#198 ](https://github.com/googleapis/genai-toolbox/issues/198 ))
([0c86e89 ](0c86e89506 ))
* Fix config name in auth doc samples
([#186 ](https://github.com/googleapis/genai-toolbox/issues/186 ))
([bb03457 ](bb0345767e ))
* Handle shutdown gracefully
([#178 ](https://github.com/googleapis/genai-toolbox/issues/178 ))
([66ab70f ](66ab70f702 ))
* Improve return error for parameters
([#206 ](https://github.com/googleapis/genai-toolbox/issues/206 ))
([346c57d ](346c57da23 ))
* **toolbox-sdk:** Deprecate 'add_auth_headers' in favor of
'add_auth_tokens'
([#170 ](https://github.com/googleapis/genai-toolbox/issues/170 ))
([b56fa68 ](b56fa685e3 ))
### Miscellaneous Chores
* Release 0.0.5
([#210 ](https://github.com/googleapis/genai-toolbox/issues/210 ))
([bd407c0 ](bd407c0ab7 ))
---
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>
v0.0.5
2025-01-15 01:52:22 +08:00
Wenxin Du
bd407c0ab7
chore: release 0.0.5 ( #210 )
...
Release-As: 0.0.5
2025-01-15 01:43:35 +08:00
Yuan
346c57da23
fix: improve return error for parameters ( #206 )
2025-01-14 16:35:33 +00:00
Michael Hunger
8a1224b9e0
feat: Added Neo4j Source and Tool ( #189 )
...
- configure neo4j source with url, username, password, database
- configure neo4j tools with cypher statement and paramters
- tests based on the postgres tests
- neo4j.yaml for integration tests
---------
Co-authored-by: duwenxin <duwenxin@google.com >
2025-01-14 09:17:18 -07:00
Twisha Bansal
cce93629a9
tests(sdk): e2e tests for llamaindex sdk ( #207 )
2025-01-14 07:20:17 +00:00
Wenxin Du
22bf137b8d
ci(auth): Add OAuth integration test to Cloud SQL ( #172 )
...
1. Add generic integration test helpers for authenticated parameters and
auth-required tool invocations.
2. Call generic test helpers as Cloud SQL integration tests.
2025-01-14 14:02:50 +08:00
Wenxin Du
6ffcca0573
ci: Increase AlloyDB integration test coverage ( #187 )
...
add tests for tool invocation with params, connection over public IP,
and connection over private IP.
2025-01-14 12:07:34 +08:00
Wenxin Du
0c86e89506
fix(doc): Update example clientId field ( #198 )
2025-01-14 11:00:41 +08:00
Wenxin Du
e069520bb7
feat!: replace Source field ip_type with ipType for consistency ( #197 )
...
Replace `ip_type` with `ipType` to match the camel-case of the other
fields.
Update docs since we support both private and public IP connections.
2025-01-14 10:56:06 +08:00
Yuan
1fcc20a846
feat: add support for OpenTelemetry ( #205 )
...
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com >
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com >
2025-01-13 15:38:38 -08:00
Kurtis Van Gent
141cae7702
docs: add site for hosting docs on github pages ( #204 )
...
Adds a static site generation using Hugo, and deployed to GitHub pages
(googleapis.github.io/genai-toolbox).
2025-01-13 15:37:31 -07:00
Twisha Bansal
61627803db
test: do not skip fixed tests ( #201 )
2025-01-13 16:54:04 +05:30
Yuan
d8ffbc68ee
ci(spanner): add integration tests ( #188 )
2025-01-12 21:56:14 -08:00
Yuan
d65cefc600
chore: Add debug logs ( #195 )
...
Add debug logs to Toolbox.
For example when a http fail, it will just show Error at the http level,
but not log with actual error message. err message are returned to the
api as following `{"status":"Internal Server Error","error":"error while
invoking tool: unable to execute client: spanner: code =
\"InvalidArgument\", desc = \"invalid session pool\""}`.
After adding this, if user/dev run toolbox with `--log-level=debug`, it
will output the following (debug log in addition to the error for http
request):
```
2025-01-08T14:16:25.040824-08:00 DEBUG "error while invoking tool: unable to execute client: spanner: code = \"InvalidArgument\", desc = \"invalid session pool\""
2025-01-08T14:16:25.040968-08:00 ERROR Response: 500 Server Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/test_tool_two/invoke " method: "POST" path: "/api/tool/test_tool_two/invoke" remoteIP: "127.0.0.1:51708" proto: "HTTP/1.1" requestID: "yuanteoh-macbookpro.roam.internal/N7LNMcLIUH-000001" scheme: "http" header: {user-agent: "curl/8.7.1" accept: "*/*" content-type: "application/json" content-length: "2"}} httpResponse: {status: 500 bytes: 167 elapsed: 0.301917}
```
2025-01-13 05:47:46 +00:00
Twisha Bansal
ae732e637f
tests(sdk): e2e tests for langchain sdk ( #176 )
...
This PR contains toolbox Set up and e2e tests for the following
functionality:
- Load tools
- Load toolsets
- Running tools
- Auth for tools
- Auth for tool parameters
---------
Co-authored-by: Anubhav Dhawan <anubhav756@gmail.com >
2025-01-10 08:25:37 +00:00
Anubhav Dhawan
c58f0104f8
doc(langchain-sdk): Update LangChain SDK example to use Gemini Pro model for better tool selection. ( #196 )
2025-01-10 11:02:23 +05:30
Anubhav Dhawan
cccc34d019
doc(langchain-sdk): Use Gemini 1.5 Flash model in LangGraph example in the README. ( #194 )
2025-01-08 19:44:45 +05:30
Twisha Bansal
c4e9da0028
chore(docs): Use project id instead of project name in source ( #184 )
2025-01-07 09:33:24 -08:00
Twisha Bansal
3c74deeae9
sdk(langchain): Added license headers ( #182 )
2025-01-07 04:50:52 +00:00
Wenxin Du
bb0345767e
fix: Fix config name in auth doc samples ( #186 )
...
The config names should be in camel case.
2025-01-06 13:45:25 -05:00
Twisha Bansal
4d7b94da9d
sdk(llamaindex): Added license headers ( #183 )
2025-01-06 09:15:14 -07:00
Kurtis Van Gent
387a5b56b5
fix: correct parsing of floats/ints from json ( #180 )
...
Corrects an issue caused by Go defaulting to parsing JSON Numbers as
float64s. This caused some numbers to be incorrectly parsed as floats
when they were integers. This defaults to parsing using json.Number,
which allows us to parse between Int/Float more accurately.
2025-01-03 10:09:45 -07:00
Kurtis Van Gent
66ab70f702
fix: handle shutdown gracefully ( #178 )
...
Adds logic to make the server shutdown gracefully, including better
respecting cancelled contexts and providing up to 10 seconds to finish
current connections.
2024-12-31 09:53:53 -07:00
Kurtis Van Gent
c9f267c9c3
ci: cache dependencies for integration tests ( #179 )
...
Adds a cache step to cache the integration tests to speed up test time
2024-12-31 08:58:57 -07:00
Yuan
655afa51f5
ci: update lint with integration build tag ( #177 )
...
Update golangcilint to run the `integration` build tag as well.
2024-12-30 14:42:28 -08:00
Twisha Bansal
8f2ad44fb4
chore(docs): Fix source kind in example ( #175 )
2024-12-30 09:07:44 -07:00
Anubhav Dhawan
b56fa685e3
fix(toolbox-sdk)!: deprecate 'add_auth_headers' in favor of 'add_auth_tokens' ( #170 )
...
Client code should not be concerned with how authentication tokens are
handled internally. This commit refactors method and parameter names to
use the more abstract term "token" instead of "header," improving the
developer experience and hiding implementation details.
2024-12-28 06:29:07 +00:00
Yuan
9ac0d08acc
ci(postgres): add end to end integration test ( #162 )
...
End to end integration test for postgres.
Include checks for one tool's get (manifest) and post (invoke) endpoint.
Integration tests are excluded from regular unit tests.
2024-12-27 21:29:17 -08:00
Twisha Bansal
bd6a7455f1
chore: fix link ( #168 )
2024-12-25 20:01:45 +00:00
Twisha Bansal
6edcf36a2b
chore: added period ( #169 )
2024-12-25 11:55:43 -08:00
Yuan
809e547a48
feat: update log with given context ( #147 )
...
Update logging with the given context.
2024-12-23 19:55:25 -08:00
Yuan
bf276e5f56
ci: combine integration cloudbuild job ( #166 )
2024-12-23 15:29:35 -08:00
Twisha Bansal
938f7b41d7
chore: fix comments ( #163 )
2024-12-23 09:28:14 -07:00
Anubhav Dhawan
003ce510a1
feat(llamaindex-sdk): Implement OAuth support for LlamaIndex. ( #159 )
...
* Update docs for Authenticated Tools.
* Implement test cases for OAuth in LlamaIndex.
* Sync SDK dependency versions b/w LangChain and LlamaIndex.
2024-12-23 14:24:22 +05:30
Wenxin Du
5ae30c2cff
ci: Add AlloyDB integration test ( #158 )
...
1. Test AlloyDB as a source connection.
2. Adding individual go build tags to separate integration test runs for
different sources.
3. Modify integration test command to only run tests in the `./tests`
directory.
2024-12-22 13:35:43 -05:00
Anubhav Dhawan
3ac7dcfb9c
doc(langchain-sdk): Improve doc and tests for LangChain SDK. ( #154 )
2024-12-19 18:56:25 +05:30
release-please[bot]
21a9146404
chore(main): release 0.0.4 ( #153 )
...
🤖 I have created a release *beep* *boop*
---
##
[0.0.4](https://github.com/googleapis/genai-toolbox/compare/v0.0.3...v0.0.4 )
(2024-12-18)
### Features
* Add `auth_required` to tools
([#123 ](https://github.com/googleapis/genai-toolbox/issues/123 ))
([3118104 ](3118104ae1 ))
* Add Auth Source configuration
([#71 ](https://github.com/googleapis/genai-toolbox/issues/71 ))
([77b0d43 ](77b0d43175 ))
* Add Tool authenticated parameters
([#80 ](https://github.com/googleapis/genai-toolbox/issues/80 ))
([380a6fb ](380a6fbbd5 ))
* **langchain-sdk:** Correctly parse Manifest API response as JSON
([#143 ](https://github.com/googleapis/genai-toolbox/issues/143 ))
([2c8633c ](2c8633c3eb ))
* **langchain-sdk:** Support authentication in LangChain Toolbox SDK.
([#133 ](https://github.com/googleapis/genai-toolbox/issues/133 ))
([23fa912 ](23fa912a80 ))
### Bug Fixes
* Fix release image version tag
([#136 ](https://github.com/googleapis/genai-toolbox/issues/136 ))
([6d19ff9 ](6d19ff96e4 ))
* **langchain-sdk:** Correct test name to ensure execution and full
coverage.
([#145 ](https://github.com/googleapis/genai-toolbox/issues/145 ))
([d820ac3 ](d820ac3767 ))
* Set server version
([#150 ](https://github.com/googleapis/genai-toolbox/issues/150 ))
([abd1eb7 ](abd1eb702c ))
### Miscellaneous Chores
* Release 0.0.4
([#152 ](https://github.com/googleapis/genai-toolbox/issues/152 ))
([86ec12f ](86ec12f8c5 ))
---
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>
v0.0.4
2024-12-18 18:48:13 -05:00
Wenxin Du
86ec12f8c5
chore: release 0.0.4 ( #152 )
...
Release-As: 0.0.4
2024-12-18 15:29:02 -08:00
Wenxin Du
abd1eb702c
fix: Set server version ( #150 )
2024-12-18 17:15:55 -05:00
Anubhav Dhawan
46f8bb3bc4
doc(langchain-sdk): Add guidance for configuring and using authenticated tools in Toolbox. ( #146 )
2024-12-18 12:54:57 -05:00
Wenxin Du
8ca7e91240
docs: Add auth source docs ( #132 )
...
Add authsources and authenticated parameter docs. Format some other .md
docs.
---------
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com >
2024-12-17 13:49:43 -05:00
Anubhav Dhawan
d820ac3767
fix(langchain-sdk): Correct test name to ensure execution and full coverage. ( #145 )
2024-12-17 12:05:10 +00:00
Anubhav Dhawan
854f69384d
chore(langchain-sdk): Fix warning about async session not closed after langchain utils tests. ( #144 )
2024-12-17 15:58:21 +05:30
Anubhav Dhawan
2c8633c3eb
feat(langchain-sdk): Correctly parse Manifest API response as JSON ( #143 )
...
The Manifest API returns a JSON payload. Previously, it was parsed as
YAML, which worked due to YAML's superset relationship with JSON. This
change explicitly parses the response as JSON for improved robustness
and security by ensuring strict adherence to the expected format.
2024-12-17 15:29:18 +05:30
Wenxin Du
3118104ae1
feat: add auth_required to tools ( #123 )
...
Check if a tool invocation request contains required auth token.
2024-12-16 22:41:13 -05:00
Wenxin Du
380a6fbbd5
feat: Add Tool authenticated parameters ( #80 )
...
1. Add []ParamAuthSource to every Parameter type implementation to
support authenticated configs. Create new constructors for types with
auth.
2. Tool invocation API changes to parse auth header and authentecated
parameters.
3. Add authSources to Tool manifest.
2024-12-16 17:46:06 -05:00
Yuan
bb30286e65
docs(spanner): add docs ( #128 )
2024-12-16 11:03:14 -08:00
Anubhav Dhawan
8cc4fe384e
chore(langchain-sdk): Match error message while testing tool invocation failure modes. ( #141 )
2024-12-16 12:05:40 +00:00