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
This commit is contained in:
Lukas May
2026-01-30 20:11:01 +01:00
parent f0db74cf8c
commit acf3b8dae3
2 changed files with 9 additions and 0 deletions

View File

@@ -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,
}),
});

View File

@@ -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,
};
}