Skip to content

Commit aadf715

Browse files
Refactor api/agents.ts to pass logger as parameter
🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
1 parent f9097d7 commit aadf715

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

backend/src/api/__tests__/validate-agent-name.test.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
import * as agentRegistry from '../../templates/agent-registry'
1313
import { validateAgentNameHandler } from '../agents'
1414

15+
import type { Logger } from '@codebuff/types/logger'
1516
import type {
1617
Request as ExpressRequest,
1718
Response as ExpressResponse,
@@ -43,6 +44,13 @@ function createMockRes() {
4344

4445
const noopNext: NextFunction = () => {}
4546

47+
const logger: Logger = {
48+
debug: () => {},
49+
error: () => {},
50+
info: () => {},
51+
warn: () => {},
52+
}
53+
4654
describe('validateAgentNameHandler', () => {
4755
const builtinAgentId = Object.keys(AGENT_PERSONAS)[0] || 'file-picker'
4856

@@ -58,7 +66,7 @@ describe('validateAgentNameHandler', () => {
5866
const req = createMockReq({ agentId: builtinAgentId })
5967
const res = createMockRes()
6068

61-
await validateAgentNameHandler(req as any, res as any, noopNext)
69+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
6270

6371
expect(res.status).toHaveBeenCalledWith(200)
6472
expect(res.json).toHaveBeenCalled()
@@ -76,7 +84,7 @@ describe('validateAgentNameHandler', () => {
7684
const req = createMockReq({ agentId })
7785
const res = createMockRes()
7886

79-
await validateAgentNameHandler(req as any, res as any, noopNext)
87+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
8088

8189
expect(spy).toHaveBeenCalledWith(agentId, {})
8290
expect(res.status).toHaveBeenCalledWith(200)
@@ -94,7 +102,7 @@ describe('validateAgentNameHandler', () => {
94102
const req = createMockReq({ agentId })
95103
const res = createMockRes()
96104

97-
await validateAgentNameHandler(req as any, res as any, noopNext)
105+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
98106

99107
expect(spy).toHaveBeenCalledWith(agentId, {})
100108
expect(res.status).toHaveBeenCalledWith(200)
@@ -112,7 +120,7 @@ describe('validateAgentNameHandler', () => {
112120
const req = createMockReq({ agentId })
113121
const res = createMockRes()
114122

115-
await validateAgentNameHandler(req as any, res as any, noopNext)
123+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
116124

117125
expect(spy).toHaveBeenCalledWith(agentId, {})
118126
expect(res.status).toHaveBeenCalledWith(200)
@@ -123,7 +131,7 @@ describe('validateAgentNameHandler', () => {
123131
const req = createMockReq({})
124132
const res = createMockRes()
125133

126-
await validateAgentNameHandler(req as any, res as any, noopNext)
134+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
127135

128136
// Handler normalizes zod errors to 400
129137
expect(res.status).toHaveBeenCalledWith(400)
@@ -135,7 +143,7 @@ describe('validateAgentNameHandler', () => {
135143
const req = { query: { agentId: 'test' }, headers: {} } as any
136144
const res = createMockRes()
137145

138-
await validateAgentNameHandler(req as any, res as any, noopNext)
146+
await validateAgentNameHandler({ req: req as any, res: res as any, next: noopNext, logger })
139147

140148
expect(res.status).toHaveBeenCalledWith(403)
141149
expect(res.jsonPayload.valid).toBe(false)

backend/src/api/agents.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { z } from 'zod/v4'
33

44
import { getAgentTemplate } from '../templates/agent-registry'
55
import { extractAuthTokenFromHeader } from '../util/auth-helpers'
6-
import { logger } from '../util/logger'
76

7+
import type { Logger } from '@codebuff/types/logger'
88
import type {
99
Request as ExpressRequest,
1010
Response as ExpressResponse,
@@ -32,11 +32,13 @@ const validateAgentRequestSchema = z.object({
3232
})
3333

3434
// GET /api/agents/validate-name
35-
export async function validateAgentNameHandler(
36-
req: ExpressRequest,
37-
res: ExpressResponse,
38-
next: NextFunction,
39-
): Promise<void | ExpressResponse> {
35+
export async function validateAgentNameHandler(params: {
36+
req: ExpressRequest
37+
res: ExpressResponse
38+
next: NextFunction
39+
logger: Logger
40+
}): Promise<void | ExpressResponse> {
41+
const { req, res, next, logger } = params
4042
try {
4143
// Check for x-codebuff-api-key header for authentication
4244
const apiKey = extractAuthTokenFromHeader(req)

backend/src/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ app.get('/healthz', (req, res) => {
3939

4040
app.post('/api/usage', usageHandler)
4141
app.post('/api/orgs/is-repo-covered', isRepoCoveredHandler)
42-
app.get('/api/agents/validate-name', validateAgentNameHandler)
42+
app.get('/api/agents/validate-name', (req, res, next) =>
43+
validateAgentNameHandler({ req, res, next, logger }),
44+
)
4345

4446
// Enable CORS for preflight requests to the admin relabel endpoint
4547
app.options('/api/admin/relabel-for-user', cors())
@@ -49,14 +51,14 @@ app.get(
4951
'/api/admin/relabel-for-user',
5052
cors(),
5153
checkAdmin,
52-
getTracesForUserHandler,
54+
(req, res) => getTracesForUserHandler({ req, res, logger }),
5355
)
5456

5557
app.post(
5658
'/api/admin/relabel-for-user',
5759
cors(),
5860
checkAdmin,
59-
relabelForUserHandler,
61+
(req, res) => relabelForUserHandler({ req, res, logger }),
6062
)
6163

6264
app.use(

0 commit comments

Comments
 (0)