Skip to content

Add relationships to server, start with task agents - #21

Merged
declan-scale merged 3 commits into
mainfrom
declan-scale/server-relationships
Oct 29, 2025
Merged

Add relationships to server, start with task agents#21
declan-scale merged 3 commits into
mainfrom
declan-scale/server-relationships

Conversation

@declan-scale

Copy link
Copy Markdown
Collaborator

Changes

  • Base code to allow related objects to be fetched via the API
  • Specifically allow GET task API routes to have their associated agents

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 implements relationship loading functionality for the API, specifically enabling task endpoints to include associated agent data when requested via query parameters.

Key Changes:

  • Added BaseModel.extract_sqlalchemy_relationships() validator to handle ORM relationship extraction
  • Introduced TaskRelationships enum and relationships query parameter to task API endpoints
  • Extended PostgresCRUDRepository with generic relationship loading support

Reviewed Changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
agentex/tests/unit/utils/test_model_utils.py Comprehensive unit tests for SQLAlchemy relationship extraction functionality
agentex/tests/integration/api/tasks/test_tasks_api.py Integration tests verifying task API endpoints correctly load and return agent relationships
agentex/src/utils/model_utils.py Added SQLAlchemy relationship extraction validator to BaseModel
agentex/src/domain/use_cases/tasks_use_case.py Updated task use case methods to accept and pass through relationships parameter
agentex/src/domain/services/task_service.py Updated task service methods to accept and pass through relationships parameter
agentex/src/domain/repositories/task_repository.py Configured TaskRepository with relationship loading support
agentex/src/domain/entities/tasks.py Added TaskRelationships enum and configured TaskEntity to allow extra fields
agentex/src/api/schemas/tasks.py Added TaskRelationships enum and TaskResponse schema with optional agents field
agentex/src/api/routes/tasks.py Updated task endpoints to accept relationships query parameter and return TaskResponse
agentex/src/adapters/crud_store/adapter_postgres.py Extended PostgresCRUDRepository with generic relationship loading infrastructure

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

Comment thread agentex/src/api/schemas/tasks.py Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@declan-scale
declan-scale merged commit af26b4f into main Oct 29, 2025
2 checks passed
@declan-scale
declan-scale deleted the declan-scale/server-relationships branch October 29, 2025 21:45
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.

3 participants