( config: ServerConfig, deps: ServerDependencies, triggerDrainAndClose: () => void )
| 1193 | stop: () => Promise<void>; |
| 1194 | }; |
| 1195 | |
| 1196 | export function createFetchHandler( |
| 1197 | config: ServerConfig, |
| 1198 | deps: ServerDependencies, |
| 1199 | triggerDrainAndClose: () => void |
| 1200 | ): (req: Request, server?: BunUpgradeServer) => Response | Promise<Response> | undefined { |
| 1201 | const { state } = deps; |
| 1202 | |
| 1203 | // Create route handlers |
| 1204 | const healthHandler = createHealthHandler(config, state, deps.toolCgroupHealth); |
| 1205 | const statusHandler = createStatusHandler(state); |
| 1206 | const promptHandler = createPromptHandler(config, deps); |
| 1207 | const commandHandler = createCommandHandler(config, deps); |
| 1208 | const answerPermissionHandler = createAnswerPermissionHandler(deps); |
| 1209 | const answerQuestionHandler = createAnswerQuestionHandler(deps); |
| 1210 | const rejectQuestionHandler = createRejectQuestionHandler(deps); |
| 1211 | const abortHandler = createAbortHandler(deps, triggerDrainAndClose); |
| 1212 | const ptyCreateHandler = createPtyCreateHandler(config, deps); |
| 1213 | const sessionReadyHandler = createSessionReadyHandler(deps); |
| 1214 | const runtimeEnvironmentHandler = createRuntimeEnvironmentHandler(deps); |
| 1215 | const kiloProxyHandler = createKiloProxyHandler(deps); |
| 1216 | |
| 1217 | // Route table |
| 1218 | type RouteHandler = (req: Request) => Response | Promise<Response>; |
| 1219 | const routes: Record<string, Record<string, RouteHandler>> = { |
| 1220 | GET: { |
| 1221 | '/health': healthHandler, |
no test coverage detected