Skip to content

Commit 4e4d10b

Browse files
committed
Free => Lite mode in Codebuff!
1 parent 7e07b1a commit 4e4d10b

29 files changed

+106
-136
lines changed

agents/base2/base2-lite.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { createBase2 } from './base2'
2+
3+
const definition = {
4+
...createBase2('lite'),
5+
id: 'base2-lite',
6+
displayName: 'Buffy the Lite Orchestrator',
7+
}
8+
export default definition

agents/base2/base2.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from '../types/secret-agent-definition'
88

99
export function createBase2(
10-
mode: 'default' | 'free' | 'max' | 'fast',
10+
mode: 'default' | 'free' | 'lite' | 'max' | 'fast',
1111
options?: {
1212
hasNoValidation?: boolean
1313
planOnly?: boolean
@@ -22,7 +22,7 @@ export function createBase2(
2222
const isDefault = mode === 'default'
2323
const isFast = mode === 'fast'
2424
const isMax = mode === 'max'
25-
const isFree = mode === 'free'
25+
const isFree = mode === 'free' || mode === 'lite'
2626

2727
const isSonnet = false
2828
const model = isFree ? 'z-ai/glm-5.1' : 'anthropic/claude-opus-4.7'

cli/src/__tests__/rerender-perf.integration.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const RERENDER_THRESHOLDS = {
4343
'onToggleCollapsed',
4444
'onBuildFast',
4545
'onBuildMax',
46-
'onBuildFree',
46+
'onBuildLite',
4747
'onCloseFeedback',
4848
],
4949

cli/src/__tests__/unit/agent-mode-toggle.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('AgentModeToggle - buildExpandedSegments', () => {
1717
for (const mode of modes) {
1818
test(`returns segments with active indicator for ${mode}`, () => {
1919
const segs = buildExpandedSegments(mode)
20-
// 4 mode options (DEFAULT, FREE, MAX, PLAN) + 1 active indicator
20+
// 4 mode options (DEFAULT, LITE, MAX, PLAN) + 1 active indicator
2121
expect(segs.length).toBe(5)
2222

2323
// Current mode is disabled among the choices

cli/src/chat.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ export const Chat = ({
618618
],
619619
)
620620

621-
const { inputWidth, handleBuildFast, handleBuildMax, handleBuildFree } = useChatInput({
621+
const { inputWidth, handleBuildFast, handleBuildMax, handleBuildLite } = useChatInput({
622622
setInputValue,
623623
agentMode,
624624
setAgentMode,
@@ -1246,15 +1246,15 @@ export const Chat = ({
12461246
onToggleCollapsed: handleCollapseToggle,
12471247
onBuildFast: handleBuildFast,
12481248
onBuildMax: handleBuildMax,
1249-
onBuildFree: handleBuildFree,
1249+
onBuildLite: handleBuildLite,
12501250
onFeedback: handleMessageFeedback,
12511251
onCloseFeedback: handleCloseFeedback,
12521252
})
12531253
}, [
12541254
handleCollapseToggle,
12551255
handleBuildFast,
12561256
handleBuildMax,
1257-
handleBuildFree,
1257+
handleBuildLite,
12581258
handleMessageFeedback,
12591259
handleCloseFeedback,
12601260
setMessageBlockCallbacks,
@@ -1467,7 +1467,7 @@ export const Chat = ({
14671467
<AdBanner
14681468
ad={ad}
14691469
onDisableAds={handleDisableAds}
1470-
isFreeMode={IS_FREEBUFF || agentMode === 'FREE'}
1470+
isFreeMode={IS_FREEBUFF}
14711471
/>
14721472
)
14731473
)}

cli/src/commands/ads.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,7 @@ export const handleAdsDisable = (): {
3838
export const getAdsEnabled = (): boolean => {
3939
if (IS_FREEBUFF) return true
4040

41-
// If no mode provided, get it from the store
42-
const mode = useChatStore.getState().agentMode
43-
44-
// In FREE mode, ads are always enabled regardless of saved setting
45-
if (mode === 'FREE') {
46-
return true
47-
}
48-
49-
// Otherwise, use the saved setting
41+
// Codebuff LITE is a paid mode now, so use the normal saved setting.
5042
const settings = loadSettings()
5143
return settings.adsEnabled ?? false
5244
}

cli/src/components/__tests__/message-block.completion.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ const baseProps = {
4646
onToggleCollapsed: () => {},
4747
onBuildFast: () => {},
4848
onBuildMax: () => {},
49-
onBuildFree: () => {},
49+
onBuildLite: () => {},
5050
setCollapsedAgents: () => {},
5151
addAutoCollapsedAgent: () => {},
5252
}

cli/src/components/__tests__/message-block.streaming.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const baseProps = {
4242
onToggleCollapsed: () => {},
4343
onBuildFast: () => {},
4444
onBuildMax: () => {},
45-
onBuildFree: () => {},
45+
onBuildLite: () => {},
4646
setCollapsedAgents: () => {},
4747
addAutoCollapsedAgent: () => {},
4848
}

cli/src/components/__tests__/message-with-agents.test.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ const defaultCallbacks = {
8585
onToggleCollapsed: () => {},
8686
onBuildFast: () => {},
8787
onBuildMax: () => {},
88-
onBuildFree: () => {},
88+
onBuildLite: () => {},
8989
onFeedback: () => {},
9090
onCloseFeedback: () => {},
9191
}
@@ -198,7 +198,7 @@ describe('MessageBlockStore', () => {
198198
onToggleCollapsed: mockToggle,
199199
onBuildFast: mockBuildFast,
200200
onBuildMax: mockBuildMax,
201-
onBuildFree: mockBuildFree,
201+
onBuildLite: mockBuildFree,
202202
onFeedback: mockFeedback,
203203
onCloseFeedback: mockCloseFeedback,
204204
})
@@ -207,7 +207,7 @@ describe('MessageBlockStore', () => {
207207
expect(state.callbacks.onToggleCollapsed).toBe(mockToggle)
208208
expect(state.callbacks.onBuildFast).toBe(mockBuildFast)
209209
expect(state.callbacks.onBuildMax).toBe(mockBuildMax)
210-
expect(state.callbacks.onBuildFree).toBe(mockBuildFree)
210+
expect(state.callbacks.onBuildLite).toBe(mockBuildFree)
211211
expect(state.callbacks.onFeedback).toBe(mockFeedback)
212212
expect(state.callbacks.onCloseFeedback).toBe(mockCloseFeedback)
213213
})
@@ -250,7 +250,7 @@ describe('MessageBlockStore', () => {
250250
onToggleCollapsed: mockFn,
251251
onBuildFast: mockFn,
252252
onBuildMax: mockFn,
253-
onBuildFree: mockFn,
253+
onBuildLite: mockFn,
254254
onFeedback: mockFn,
255255
onCloseFeedback: mockFn,
256256
})
@@ -261,7 +261,7 @@ describe('MessageBlockStore', () => {
261261
// Callbacks should be noop functions (not undefined)
262262
expect(typeof state.callbacks.onToggleCollapsed).toBe('function')
263263
expect(typeof state.callbacks.onBuildFast).toBe('function')
264-
expect(typeof state.callbacks.onBuildFree).toBe('function')
264+
expect(typeof state.callbacks.onBuildLite).toBe('function')
265265
// They should not throw when called
266266
expect(() => state.callbacks.onToggleCollapsed('test-id')).not.toThrow()
267267
})

cli/src/components/blocks/agent-branch-wrapper.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ interface AgentBodyProps {
8787
onToggleCollapsed: (id: string) => void
8888
onBuildFast: () => void
8989
onBuildMax: () => void
90-
onBuildFree: () => void
90+
onBuildLite: () => void
9191
isLastMessage?: boolean
9292
}
9393

@@ -102,7 +102,7 @@ interface AgentBodyPropsRef {
102102
onToggleCollapsed: (id: string) => void
103103
onBuildFast: () => void
104104
onBuildMax: () => void
105-
onBuildFree: () => void
105+
onBuildLite: () => void
106106
isLastMessage?: boolean
107107
theme: ReturnType<typeof useTheme>
108108
getAgentMarkdownOptions: (indent: number) => {
@@ -121,7 +121,7 @@ const AgentBody = memo(
121121
onToggleCollapsed,
122122
onBuildFast,
123123
onBuildMax,
124-
onBuildFree,
124+
onBuildLite,
125125
isLastMessage,
126126
}: AgentBodyProps): ReactNode[] => {
127127
const theme = useTheme()
@@ -158,7 +158,7 @@ const AgentBody = memo(
158158
onToggleCollapsed,
159159
onBuildFast,
160160
onBuildMax,
161-
onBuildFree,
161+
onBuildLite,
162162
isLastMessage,
163163
theme,
164164
getAgentMarkdownOptions,
@@ -230,7 +230,7 @@ const AgentBody = memo(
230230
onToggleCollapsed={p.onToggleCollapsed}
231231
onBuildFast={p.onBuildFast}
232232
onBuildMax={p.onBuildMax}
233-
onBuildFree={p.onBuildFree}
233+
onBuildLite={p.onBuildLite}
234234
siblingBlocks={p.nestedBlocks}
235235
isLastMessage={p.isLastMessage}
236236
/>
@@ -312,7 +312,7 @@ export interface AgentBranchWrapperProps {
312312
onToggleCollapsed: (id: string) => void
313313
onBuildFast: () => void
314314
onBuildMax: () => void
315-
onBuildFree: () => void
315+
onBuildLite: () => void
316316
siblingBlocks?: ContentBlock[]
317317
isLastMessage?: boolean
318318
}
@@ -326,7 +326,7 @@ export const AgentBranchWrapper = memo(
326326
onToggleCollapsed,
327327
onBuildFast,
328328
onBuildMax,
329-
onBuildFree,
329+
onBuildLite,
330330
siblingBlocks,
331331
isLastMessage,
332332
}: AgentBranchWrapperProps) => {
@@ -448,7 +448,7 @@ export const AgentBranchWrapper = memo(
448448
onToggleCollapsed={onToggleCollapsed}
449449
onBuildFast={onBuildFast}
450450
onBuildMax={onBuildMax}
451-
onBuildFree={onBuildFree}
451+
onBuildLite={onBuildLite}
452452
isLastMessage={isLastMessage}
453453
/>
454454
</AgentBranchItem>

0 commit comments

Comments
 (0)