fix(#297): Implement actual query processing for federation
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

Added query processing to route federation queries to domain services:
- Created query parser to extract intent and parameters from query strings
- Route queries to TasksService, EventsService, and ProjectsService
- Return actual data instead of placeholder responses
- Added workspace context validation

Implemented query types:
- Tasks: "get tasks", "show tasks", etc.
- Events: "get events", "upcoming events", etc.
- Projects: "get projects", "show projects", etc.

Added 5 new tests for query processing (20 tests total, all passing):
- Process tasks/events/projects queries
- Handle unknown query types
- Enforce workspace context requirements

Updated FederationModule to import TasksModule, EventsModule, ProjectsModule.

Fixes #297

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 22:48:59 -06:00
parent 3e02bade98
commit 4ac4219ce0
4 changed files with 439 additions and 5 deletions

View File

@@ -18,14 +18,21 @@ import { SignatureService } from "./signature.service";
import { ConnectionService } from "./connection.service";
import { OIDCService } from "./oidc.service";
import { CommandService } from "./command.service";
import { QueryService } from "./query.service";
import { FederationAgentService } from "./federation-agent.service";
import { PrismaModule } from "../prisma/prisma.module";
import { TasksModule } from "../tasks/tasks.module";
import { EventsModule } from "../events/events.module";
import { ProjectsModule } from "../projects/projects.module";
import { RedisProvider } from "../common/providers/redis.provider";
@Module({
imports: [
ConfigModule,
PrismaModule,
TasksModule,
EventsModule,
ProjectsModule,
HttpModule.register({
timeout: 10000,
maxRedirects: 5,
@@ -61,6 +68,7 @@ import { RedisProvider } from "../common/providers/redis.provider";
ConnectionService,
OIDCService,
CommandService,
QueryService,
FederationAgentService,
],
exports: [
@@ -71,6 +79,7 @@ import { RedisProvider } from "../common/providers/redis.provider";
ConnectionService,
OIDCService,
CommandService,
QueryService,
FederationAgentService,
],
})