Commit Graph

273 Commits

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


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


### Bug Fixes

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

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

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
v0.2.1
2025-03-20 14:43:12 -07:00
Yuan
4c281e535f docs: update docs to pull docker image with latest tag (#341)
Pull the docker image with `latest` tag instead of the specific version
number.
2025-03-20 21:34:21 +00:00
Arjun Prabhulal
541d019947 docs: update LlamaIndex quickstart URL (#339)
This PR fixes an incorrect or outdated LlamaIndex documentation URL in
`local_quickstart.md`.

---------

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

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

---------

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

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

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

I think it is meant to point at
https://github.com/googleapis/genai-toolbox-langchain-python/blob/main/DEVELOPER.md
2025-03-05 16:45:46 -07:00
Yuan
e08c35faa2 docs: update toolbox version to the latest (#316) 2025-03-05 10:32:34 -08:00
Anubhav Dhawan
1bdd331ead chore: update "Hello, World!" message from the default route of Toolbox. (#315) 2025-03-04 22:59:06 +05:30
release-please[bot]
0872f1ceab chore(main): release 0.2.0 (#294)
🤖 I have created a release *beep* *boop*
---


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


### ⚠ BREAKING CHANGES

* Rename "AuthSource" in favor of "AuthService"
([#297](https://github.com/googleapis/genai-toolbox/issues/297))

### Features

* Rename "AuthSource" in favor of "AuthService"
([#297](https://github.com/googleapis/genai-toolbox/issues/297))
([04cb5fb](04cb5fbc3e))

### Bug Fixes

* Add items to parameter manifest
([#293](https://github.com/googleapis/genai-toolbox/issues/293))
([541612d](541612d72d))
* **source/cloud-sql:** Correct user agents not being sent
([#306](https://github.com/googleapis/genai-toolbox/issues/306))
([584c8ae](584c8aea43))
* Throw error when items field is missing from array parameter
([#296](https://github.com/googleapis/genai-toolbox/issues/296))
([9193836](9193836eff))
* Validate required common fields for parameters
([#298](https://github.com/googleapis/genai-toolbox/issues/298))
([e494d11](e494d11e6e))


### Miscellaneous Chores

* Release 0.2.0
([#314](https://github.com/googleapis/genai-toolbox/issues/314))
([d7ccf73](d7ccf730e7))

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

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
v0.2.0
2025-03-03 11:01:38 -07:00
Yuan
d7ccf730e7 chore: release 0.2.0 (#314)
Release-As: 0.2.0
2025-03-03 17:17:32 +00:00
Yuan
e73fbfeb3d chore(telemetry): update root trace to use context from root (#311)
Update root trace to use context from `cmd/root` instead of creating a
new context.
2025-03-03 17:05:34 +00:00
sujithrpillai
1cba4823e7 docs: add deployment how-to for Docker Compose (#309)
Fixes #288

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-02-28 09:45:54 -07:00
Yuan
584c8aea43 fix(source/cloud-sql): correct user agents not being sent (#306)
Bump cloud sql go connector to v1.15.0 to adapt the fix for user agent
(https://github.com/GoogleCloudPlatform/cloud-sql-go-connector/pull/928).
2025-02-25 15:35:24 -08:00
Yuan
f1156ffc18 docs(tool/spanner-sql): fix spanner-sql kind in example (#303)
Update `spanner-sql` kind in example. It was previously updated
throughout the doc, except for the example.
It should be `spanner-sql` instead of `spanner`.

Fixes #302
2025-02-24 10:10:23 -08:00
Yuan
d6fa1f2f3a docs(deploy/GKE): add guide to deploy toolbox to GKE (#190)
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Anubhav Dhawan <anubhav756@gmail.com>
2025-02-21 21:17:14 -08:00
Yuan
04cb5fbc3e feat!: deprecate authsource in favor of authservice (#297)
Rename existing `authSource` to `authService` through deprecation.
`AuthService` more clearly distinguishes it from `Sources` objects.

`authSources` will be converted into `authServices` after the
unmarshalling process. A warning log is shown if `authSources` are used
(for both within tools parameters and defining auth services):
```
2025-02-20T13:57:51.156025-08:00 WARN "`authSources` is deprecated, use `authServices` for parameters instead"
2025-02-20T13:57:51.156569-08:00 WARN "`authSources` is deprecated, use `authServices` instead"
2025-02-20T13:57:52.047584-08:00 INFO "Initialized 1 sources."
...
```

The manifest generated will continue to use `authSources` to keep
compatibility with the sdks:
```
{
"serverVersion":"0.1.0",
"tools":{
  "test_tool2":{
    "description":"Use this tool to test\n",
    "parameters":[{
      "name":"user_id",
      "type":"string",
      "description":"Auto-populated from Google login",
      "authSources":["my-google-auth"]
      }]
    }
  }
}
```



Test cases with `authSources` are kept for compatibility. Will be
removed when `authSources` are no longer supported.
2025-02-21 18:36:04 -08:00
Yuan
df28036b84 chore: add and retrieves logger from context (#301)
Add functionality to add and retrieve logger from Go context.
2025-02-21 21:28:40 +00:00
Yuan
95d29f9e8a chore: pass logger via context through unmarshaller (#300)
Passing logger via context. With this, we will be able to add logs
during the unmarshaling process.
2025-02-21 13:02:23 -08:00
Yuan
9e2f49e129 chore: migrate remaining yaml library to goccy/go-yaml (#299)
Migrate yaml library from
[gopkg.in/yaml.v3](https://pkg.go.dev/gopkg.in/yaml.v3) to
[goccy/go-yaml](https://github.com/goccy/go-yaml).

It was previously migrated in
https://github.com/googleapis/genai-toolbox/pull/211. These files were
added later hence the migration wasn't done on these files.
2025-02-21 12:54:42 -08:00
Yuan
e494d11e6e fix: validate required common fields for parameters (#298)
Check common parameters for required fields. Throw an error if name or
description is not provided.

Example of error when `description` field not provided:
```
2025-02-18T14:11:55.475101-08:00 ERROR "unable to parse tool file at \"tools.yaml\": unable to parse as \"postgres-sql\": unable to parse as \"array\": Key: 'CommonParameter.Desc' Error:Field validation for 'Desc' failed on the 'required' tag"
```
2025-02-19 10:09:57 -08:00
Yuan
9193836eff fix: throw error when items field is missing from array parameter (#296)
Fixes #291 by throwing a more descriptive error when items field is not provided.

Example of error when `items` field not provided for array parameter:
```
2025-02-18T14:07:58.77173-08:00 ERROR "unable to parse tool file at \"tools.yaml\": unable to parse as \"postgres-sql\": unable to parse as \"array\": unable to parse 'items' field: error parsing parameters: nothing to unmarshal"
```
2025-02-18 19:52:36 -07:00
Yuan
541612d72d fix: add items to parameter manifest (#293)
`items` are not specified in the manifest for parameters, which means
the client doesn't parse them correctly when presented to the LLMs. This
PR adds `items` as part of manifest.

Example manifest:
```
{
    "serverVersion": "0.1.0",
    "tools": {
        "tool_name": {
            "description": "description of the tool...",
            "parameters": [{
                "name": "foos",
                "type": "array",
                "description": "A list of foo.",
                "authSources": [],
                "items": {"name": "foo", "type": "string", "description": "foobar.", "authSources": []}
            }]
        }
    }
}
```

Fixes #292 🦕
2025-02-14 15:29:16 -08:00
Kurtis Van Gent
914f8437b1 chore: improve wording about virtual environments in quickstart (#290) 2025-02-12 17:19:24 -07:00
Kurtis Van Gent
d9c050ce13 docs: clarify pip as a requirement (#289)
Updates the local_quickstart to clarify pip as a requirement and connect
using psql consistently.
2025-02-12 17:11:54 -07:00