Skip to content

Commit b3fb71c

Browse files
committed
Match free reviewer to base2 model
1 parent 38babfe commit b3fb71c

5 files changed

Lines changed: 27 additions & 7 deletions

File tree

agents/__tests__/base2.test.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { describe, expect, test } from 'bun:test'
2+
3+
import {
4+
FREEBUFF_DEEPSEEK_V4_PRO_MODEL_ID,
5+
FREEBUFF_KIMI_MODEL_ID,
6+
FREEBUFF_MINIMAX_MODEL_ID,
7+
} from '@codebuff/common/constants/freebuff-models'
8+
9+
import { createBase2 } from '../base2/base2'
10+
11+
describe('base2 reviewer selection', () => {
12+
test.each([
13+
[FREEBUFF_MINIMAX_MODEL_ID, 'code-reviewer-minimax'],
14+
[FREEBUFF_KIMI_MODEL_ID, 'code-reviewer-kimi'],
15+
[FREEBUFF_DEEPSEEK_V4_PRO_MODEL_ID, 'code-reviewer-deepseek'],
16+
])('uses matching reviewer for model %p', (model, expectedReviewer) => {
17+
const base2 = createBase2('free', { model })
18+
19+
expect(base2.spawnableAgents).toContain(expectedReviewer)
20+
expect(base2.instructionsPrompt).toContain(`Spawn a ${expectedReviewer}`)
21+
expect(base2.stepPrompt).toContain(`spawn a ${expectedReviewer}`)
22+
})
23+
})

agents/base2/base2-free-deepseek.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ const definition = {
66
...createBase2('free', {
77
noAskUser: true,
88
model: FREEBUFF_DEEPSEEK_V4_PRO_MODEL_ID,
9-
freeCodeReviewerAgentId: 'code-reviewer-deepseek',
109
}),
1110
id: 'base2-free-deepseek',
1211
displayName: 'Buffy the DeepSeek Free Orchestrator',

agents/base2/base2-free-kimi.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { createBase2 } from './base2'
55
const definition = {
66
...createBase2('free', {
77
model: FREEBUFF_KIMI_MODEL_ID,
8-
freeCodeReviewerAgentId: 'code-reviewer-kimi',
98
}),
109
id: 'base2-free-kimi',
1110
displayName: 'Buffy the Kimi Free Orchestrator',

agents/base2/base2-free.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { createBase2 } from './base2'
22

33
const definition = {
4-
...createBase2('free', {
5-
freeCodeReviewerAgentId: 'code-reviewer-minimax',
6-
}),
4+
...createBase2('free'),
75
id: 'base2-free',
86
displayName: 'Buffy the Free Orchestrator',
97
}

agents/base2/base2.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
FREEBUFF_GEMINI_THINKER_STEP_PROMPT,
66
FREEBUFF_GEMINI_THINKER_SYSTEM_INSTRUCTION,
77
} from '@codebuff/common/constants/freebuff-gemini-thinker'
8+
import { FREEBUFF_REVIEWER_AGENT_ID_BY_MODEL } from '@codebuff/common/constants/free-agents'
89
import {
910
canFreebuffModelSpawnGeminiThinker,
1011
FREEBUFF_MINIMAX_MODEL_ID,
@@ -24,7 +25,6 @@ export function createBase2(
2425
noAskUser?: boolean
2526
model?: SecretAgentDefinition['model']
2627
providerOptions?: SecretAgentDefinition['providerOptions']
27-
freeCodeReviewerAgentId?: string
2828
},
2929
): Omit<SecretAgentDefinition, 'id'> {
3030
const {
@@ -33,7 +33,6 @@ export function createBase2(
3333
noAskUser = false,
3434
model: modelOverride,
3535
providerOptions,
36-
freeCodeReviewerAgentId = 'code-reviewer-lite',
3736
} = options ?? {}
3837
const isDefault = mode === 'default'
3938
const isFast = mode === 'fast'
@@ -56,6 +55,8 @@ export function createBase2(
5655
// reasoning. Fast MiniMax omits the extra round trip by construction.
5756
const hasFreeGeminiThinker =
5857
isFree && canFreebuffModelSpawnGeminiThinker(model)
58+
const freeCodeReviewerAgentId =
59+
FREEBUFF_REVIEWER_AGENT_ID_BY_MODEL[model] ?? 'code-reviewer-lite'
5960
const defaultProviderOptions = isFree
6061
? {
6162
data_collection: 'deny' as const,

0 commit comments

Comments
 (0)