From 094b7e63070a337ebd13743bb652c5f7ddd7f11d Mon Sep 17 00:00:00 2001 From: Lukas May Date: Fri, 6 Mar 2026 21:24:19 +0100 Subject: [PATCH] fix: wire errand repository through tRPC adapter ErrandRepository was instantiated in the container but never passed from TrpcAdapterOptions into createContext(), causing all errand procedures to throw "Errand repository not available" at runtime. --- apps/server/server/trpc-adapter.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/server/server/trpc-adapter.ts b/apps/server/server/trpc-adapter.ts index 4102068..cc80176 100644 --- a/apps/server/server/trpc-adapter.ts +++ b/apps/server/server/trpc-adapter.ts @@ -22,6 +22,7 @@ import type { LogChunkRepository } from '../db/repositories/log-chunk-repository import type { ConversationRepository } from '../db/repositories/conversation-repository.js'; import type { ChatSessionRepository } from '../db/repositories/chat-session-repository.js'; import type { ReviewCommentRepository } from '../db/repositories/review-comment-repository.js'; +import type { ErrandRepository } from '../db/repositories/errand-repository.js'; import type { AccountCredentialManager } from '../agent/credentials/types.js'; import type { DispatchManager, PhaseDispatchManager } from '../dispatch/types.js'; import type { CoordinationManager } from '../coordination/types.js'; @@ -82,6 +83,8 @@ export interface TrpcAdapterOptions { reviewCommentRepository?: ReviewCommentRepository; /** Project sync manager for remote fetch/sync operations */ projectSyncManager?: ProjectSyncManager; + /** Errand repository for errand CRUD operations */ + errandRepository?: ErrandRepository; /** Absolute path to the workspace root (.cwrc directory) */ workspaceRoot?: string; } @@ -166,6 +169,7 @@ export function createTrpcHandler(options: TrpcAdapterOptions) { chatSessionRepository: options.chatSessionRepository, reviewCommentRepository: options.reviewCommentRepository, projectSyncManager: options.projectSyncManager, + errandRepository: options.errandRepository, workspaceRoot: options.workspaceRoot, }), });