Skip to content

Add search tool server#31

Merged
fcogidi merged 6 commits into
mainfrom
f/search_tool_server
Oct 30, 2025
Merged

Add search tool server#31
fcogidi merged 6 commits into
mainfrom
f/search_tool_server

Conversation

@fcogidi

@fcogidi fcogidi commented Oct 29, 2025

Copy link
Copy Markdown
Collaborator

PR Type

Feature

Short Description

  • Introduced a new FastAPI application for the Gemini grounding proxy.
  • Implemented authentication helpers for API key management, including creation, validation, and status updates.
  • Added Firestore integration for persistent API key storage and management.
  • Created Dockerfile and requirements files for deployment.
  • Included example environment configuration and Docker ignore settings.
  • Added unit tests for authentication helpers to ensure functionality and reliability.

Tests Added

tests/test_web_search_auth

- Introduced a new FastAPI application for the Gemini grounding proxy.
- Implemented authentication helpers for API key management, including creation, validation, and status updates.
- Added Firestore integration for persistent API key storage and management.
- Created Dockerfile and requirements files for deployment.
- Included example environment configuration and Docker ignore settings.
- Added unit tests for authentication helpers to ensure functionality and reliability.
@fcogidi fcogidi self-assigned this Oct 29, 2025
@fcogidi fcogidi added the enhancement New feature or request label Oct 29, 2025

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new FastAPI-based search tool server for Gemini grounding proxy functionality. The implementation provides a complete authentication system with API key management and integrates with Google's Firestore for persistent storage.

  • Added FastAPI application with authentication middleware and Gemini API integration
  • Implemented comprehensive API key authentication system with PBKDF2 hashing and caching
  • Created Firestore repository layer for persistent API key storage with usage tracking
  • Added extensive unit tests for authentication functionality

Reviewed Changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/test_web_search_auth.py Unit tests for authentication system with fake repository implementation
src/utils/web_search/requirements_app.in Input file defining core dependencies for the web search application
src/utils/web_search/requirements-app.txt Generated requirements file with pinned versions
src/utils/web_search/db.py Firestore repository implementation for API key storage and management
src/utils/web_search/auth.py Authentication helpers with API key validation and caching
src/utils/web_search/app.py FastAPI application with grounding proxy endpoints and admin functionality
src/utils/web_search/Dockerfile Container configuration for deploying the web search service
src/utils/web_search/.env.example Example environment configuration file
src/utils/web_search/.dockerignore Docker build context exclusions
pyproject.toml Added web-search dependency group

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jacobthebanana

Copy link
Copy Markdown
Collaborator

Thanks, Franklin. Could you add a src/utils/web_search/README.md file describing the steps for setting up the secrets, and spinning up the Docker server?

Looks good in general.

@jacobthebanana jacobthebanana left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please ask the agent to fix ruff test output

Please consider adding quick-start documentation to src/utils/web_search/README.md

Thanks, Franklin.

@amrit110 amrit110 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good!

- Added simplejson version 3.20.2 to the project dependencies.
- Updated FastAPI to version 0.120.2 and Starlette to version 0.49.1 (following recommendation from pip-audit) in the dependency list.
@fcogidi fcogidi merged commit 9e5a23c into main Oct 30, 2025
4 checks passed
@fcogidi fcogidi deleted the f/search_tool_server branch October 30, 2025 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants