Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
- **Fetch Web Tool** - HTTP web content fetching capability (ADR 0007)
- Direct URL content fetching with multiple format support (text, JSON, HTML, raw)
- Configurable timeout (default 30s, max 5min) and size limits (default 1MB, max 50MB)
- Custom HTTP headers support for authentication and API access
- Redirect handling with configurable behavior
- Security controls: URL validation, response size limits, timeout enforcement
- Model-agnostic design - works with all LLM providers (Gemini, OpenAI, Ollama, etc.)
- Comprehensive unit tests with 22 test cases covering all functionality
- Registered in Search & Discovery category with priority 1 (complementary to Google Search)
- New `web` package in `tools/` for web content operations
- Google Search tool integration via ADK's `geminitool.GoogleSearch`
- Enables web search capabilities for the agent
- Works with Gemini 2.0+ models
Expand All @@ -17,8 +27,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Comprehensive unit tests for Google Search tool
- Documentation in TOOL_DEVELOPMENT.md for using ADK built-in tools

## [Unreleased]

## [0.2.1] - 2025-11-14

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
### Key Features

- **🤖 Multi-Model Support**: Seamlessly switch between Gemini, OpenAI, and Vertex AI
- **🛠️ 21 Built-in Tools**: File operations, code editing, execution, web search, and more
- **🛠️ 22 Built-in Tools**: File operations, code editing, execution, web search, web fetching, and more
- **🔌 MCP Integration**: Unlimited extensibility via Model Context Protocol
- **💾 Session Persistence**: Maintain context across conversations with automatic history
- **⚡ Streaming Responses**: Real-time output as the model thinks and executes
Expand Down
2 changes: 1 addition & 1 deletion adk-code/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ require (
github.com/ncruces/go-sqlite3/gormlite v0.30.1
github.com/ollama/ollama v0.12.11
github.com/openai/openai-go/v3 v3.8.1
golang.org/x/net v0.46.0
golang.org/x/term v0.36.0
google.golang.org/adk v0.1.0
google.golang.org/genai v1.20.0
Expand Down Expand Up @@ -68,7 +69,6 @@ require (
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
go.opentelemetry.io/otel/trace v1.38.0 // indirect
golang.org/x/crypto v0.43.0 // indirect
golang.org/x/net v0.46.0 // indirect
golang.org/x/oauth2 v0.32.0 // indirect
golang.org/x/sys v0.38.0 // indirect
golang.org/x/text v0.30.0 // indirect
Expand Down
8 changes: 8 additions & 0 deletions adk-code/tools/tools.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
"adk-code/tools/file"
"adk-code/tools/search"
"adk-code/tools/v4a"
"adk-code/tools/web"
"adk-code/tools/websearch"
"adk-code/tools/workspace"
)
Expand Down Expand Up @@ -104,6 +105,10 @@ type (
ListAgentsInput = agents.ListAgentsInput
ListAgentsOutput = agents.ListAgentsOutput
AgentEntry = agents.AgentEntry

// Web tool types
FetchWebInput = web.FetchWebInput
FetchWebOutput = web.FetchWebOutput
)

// Re-export category constants for tool classification
Expand Down Expand Up @@ -160,6 +165,9 @@ var (

// Web search tools
NewGoogleSearchTool = websearch.NewGoogleSearchTool

// Web tools
NewFetchWebTool = web.NewFetchWebTool
)

// Re-export registry functions for tool access and registration
Expand Down
Loading