Skip to content

Feature/adk phase1 sdk usability - #2

Open
YayoiNanoka wants to merge 7 commits into
mainfrom
feature/adk-phase1-sdk-usability
Open

Feature/adk phase1 sdk usability#2
YayoiNanoka wants to merge 7 commits into
mainfrom
feature/adk-phase1-sdk-usability

Conversation

@YayoiNanoka

Copy link
Copy Markdown
Owner

Summary

This PR implements Phase 1 SDK usability improvements for r_agent.

It adds the foundation for loading/configuring agents, dynamically resolving tools, supporting scoped session state, and persisting sessions through a database-backed service.

Changes

  • Add AgentLoader, SingleAgentLoader, and MultiAgentLoader
  • Migrate agent ownership to Arc<dyn Agent> for shared loader/runtime usage
  • Add agent name uniqueness validation
  • Add ModelFactory and DefaultModelFactory
  • Add GenerateContentConfig
  • Add Toolset, StaticToolset, dynamic tool resolution, predicates, and filtering
  • Add ToolRegistry and ToolsetRegistry
  • Add TomlAgentLoader for loading LlmAgent definitions from TOML config
  • Add scoped state support:
    • app:
    • user:
    • temp:
  • Discard temp: state from persisted state/event deltas
  • Add DatabaseSessionService<S: SessionStore>
  • Add SqliteSessionStore
  • Add serde serialization for event/content/action data structures

Notes

  • Gemini adapter is intentionally not included in this phase.
  • Model creation is protocol-based; this phase supports openai-compatible.
  • Sandbox runtime is not implemented in this phase.

Verification

  • cargo test
  • cargo check --examples

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.

1 participant