From acf3b8dae3a9fe411b35e4429f09a013755854aa Mon Sep 17 00:00:00 2001 From: Lukas May Date: Fri, 30 Jan 2026 20:11:01 +0100 Subject: [PATCH] feat(04-04): add AgentManager to tRPC context - Import AgentManager type into context.ts - Add optional agentManager field to TRPCContext interface - Add optional agentManager to CreateContextOptions - Update TrpcAdapterOptions with optional agentManager - Pass agentManager through to createContext in adapter --- src/server/trpc-adapter.ts | 4 ++++ src/trpc/context.ts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/server/trpc-adapter.ts b/src/server/trpc-adapter.ts index da01cf0..e4f84ff 100644 --- a/src/server/trpc-adapter.ts +++ b/src/server/trpc-adapter.ts @@ -9,6 +9,7 @@ import type { IncomingMessage, ServerResponse } from 'node:http'; import { fetchRequestHandler } from '@trpc/server/adapters/fetch'; import { appRouter, createContext } from '../trpc/index.js'; import type { EventBus } from '../events/index.js'; +import type { AgentManager } from '../agent/types.js'; /** * Options for creating the tRPC request handler. @@ -20,6 +21,8 @@ export interface TrpcAdapterOptions { serverStartedAt: Date; /** Number of managed processes */ processCount: number; + /** Agent manager for agent lifecycle operations (optional until full wiring) */ + agentManager?: AgentManager; } /** @@ -81,6 +84,7 @@ export function createTrpcHandler(options: TrpcAdapterOptions) { eventBus: options.eventBus, serverStartedAt: options.serverStartedAt, processCount: options.processCount, + agentManager: options.agentManager, }), }); diff --git a/src/trpc/context.ts b/src/trpc/context.ts index 75c29c4..5473d7e 100644 --- a/src/trpc/context.ts +++ b/src/trpc/context.ts @@ -6,6 +6,7 @@ */ import type { EventBus, DomainEvent } from '../events/types.js'; +import type { AgentManager } from '../agent/types.js'; // Re-export for convenience export type { EventBus, DomainEvent }; @@ -20,6 +21,8 @@ export interface TRPCContext { serverStartedAt: Date | null; /** Number of managed processes */ processCount: number; + /** Agent manager for agent lifecycle operations (optional until server wiring complete) */ + agentManager?: AgentManager; } /** @@ -29,6 +32,7 @@ export interface CreateContextOptions { eventBus: EventBus; serverStartedAt: Date | null; processCount: number; + agentManager?: AgentManager; } /** @@ -42,5 +46,6 @@ export function createContext(options: CreateContextOptions): TRPCContext { eventBus: options.eventBus, serverStartedAt: options.serverStartedAt, processCount: options.processCount, + agentManager: options.agentManager, }; }