mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-01-07 22:54:06 -05:00
This PR refactors the tool configuration and loading mechanism to use a dynamic registration pattern. Each tool package now registers itself with a central registry, and the server configuration code uses this registry to decode and initialize tools. Key changes: - Introduced tools.Register and tools.DecodeToolConfig for dynamic tool handling. - Removed direct imports of specific tool packages from internal/server/config.go. - Updated individual tool packages to include init() functions for self-registration. - Modified ToolKind constants to be local kind constants within each tool package. - Adjusted test files to reflect the changes in tool kind identifiers. This change simplifies adding new tools and decouples the server configuration from specific tool implementations. --------- Co-authored-by: Yuan Teoh <yuanteoh@google.com> Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
24 lines
688 B
Go
24 lines
688 B
Go
// Copyright 2024 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.
|
|
|
|
package main
|
|
|
|
import (
|
|
"github.com/googleapis/genai-toolbox/cmd"
|
|
)
|
|
|
|
func main() {
|
|
cmd.Execute()
|
|
}
|