Skip to content

Conversation

@ashenfad
Copy link
Owner

No description provided.

@ashenfad ashenfad requested a review from Copilot December 21, 2025 18:54
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request implements forefront messaging (transient system notes) and updates Gemini provider support to use the new google-genai SDK with provider-side tool integration. The changes include:

  • A new SystemNoteEvent for transient context injection without polluting the event log
  • Migration from google-generativeai to the unified google-genai SDK
  • Support for Gemini's native Google Search and URL Context grounding tools
  • Improved XML streaming to enforce single-turn responses

Reviewed changes

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

Show a summary per file
File Description
agex/agent/loop.py Adds forefront message generation and injection into LLM context
agex/agent/events.py Defines new SystemNoteEvent class and markdown rendering helper
agex/agent/base.py Adds agex_primer_override parameter for custom system instructions
agex/agent/__init__.py Propagates agex_primer_override through Agent constructor
agex/agent/summarization.py Updates token accounting to include system message overhead
agex/llm/gemini_client.py Migrates to google-genai SDK with grounding tools support
agex/llm/xml.py Enforces single-turn responses by stopping after first Python section
agex/llm/config.py Removes numeric environment variable type conversion
agex/render/xml.py Adds SystemNoteEvent rendering support
agex/render/events.py Adds SystemNoteEvent rendering support
agex/eval/functions.py Tracks user-defined functions in shadow set for forefront messages
agex/state/core.py Adds abstract peek() method to State interface
agex/state/live.py Implements peek() as alias to get()
agex/state/versioned.py Implements peek() without updating access stats
agex/state/scoped.py Delegates peek() calls appropriately
agex/state/namespaced.py Delegates peek() with namespace prefix
agex/state/closure.py Implements peek() for read-only closure state
pyproject.toml Updates Gemini dependency to google-genai
examples/funcy.py Changes example to use Gemini with experimental model
docs/api/agent.md Documents agex_primer_override parameter
tests/agex/agent/test_summarization.py Adds system_message parameter to test calls
tests/agex/agent/test_forefront_message.py Tests forefront message injection logic
tests/agex/agent/test_agex_primer_override.py Tests custom system instruction override
tests/agex/llm/test_gemini_client.py Updates for new SDK and adds grounding tool tests
tests/agex/llm/test_xml.py Tests single-turn enforcement in XML parsing
tests/agex/render/test_xml.py Tests SystemNoteEvent XML rendering
tests/agex/state/test_gc_regression.py Tests peek() behavior across state implementations

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

@ashenfad ashenfad merged commit 1bd4185 into main Dec 21, 2025
7 checks passed
@ashenfad ashenfad deleted the gemini branch December 21, 2025 19:22
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.

2 participants