Skip to content

feat(ai): add Google Gemini provider adapter - #27

Open
nipunrajk wants to merge 1 commit into
josharsh:mainfrom
nipunrajk:feat-gemini-provider
Open

nipunrajk wants to merge 1 commit into
josharsh:mainfrom
nipunrajk:feat-gemini-provider

Conversation

@nipunrajk

Copy link
Copy Markdown

Summary

Adds Google Gemini provider adapter using @google/genai alongside Anthropic and OpenAI.

Closes #3

Changes

  • @josharsh/pixelpi-ai: Added GeminiProvider, message/tool mappings, thoughtSignature preservation, 429 retry backoff, and unit tests.
  • @josharsh/pixelpi-agent: Added GEMINI_API_KEY / gemini-3.6-flash defaults, onboarding wizard support, REPL /provider switch, and .env.example.

Verification

  • All 273 unit tests pass (pnpm test).
  • Verified live end-to-end task execution with pnpm pixelpi --provider gemini "..." and --no-headless.

- Implement GeminiProvider adapter using @google/genai SDK
- Map messages, function declarations, tool responses, and finish reasons
- Preserve thoughtSignature for Gemini 3 multi-turn function calls
- Add exponential backoff retry for HTTP 429 rate limits
- Integrate Gemini into agent CLI, REPL, config, and onboarding wizard
- Add unit tests for Gemini provider and configuration resolution
@nipunrajk

Copy link
Copy Markdown
Author

Hey @josharsh, could you please approve and run the GitHub Actions workflow when you get a chance? The initial run expired after the 30-day limit waiting for approval. All builds, typechecks, and tests (273/273) pass locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a Google Gemini provider adapter

1 participant