mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
The Claude effort selector (New Session config + in-session composer) only offered auto/medium/high/max, missing `low` and `xhigh` — yet `claude --effort` actually accepts low/medium/high/xhigh/max. Add the two missing levels in both places so the selector faithfully mirrors the CLI. Extract the level list + labels into one shared constant (@hapi/protocol: shared/src/effort.ts, mirroring CLAUDE_MODEL_PRESETS) so the two UIs derive from a single source and can't drift again. No backend change: the effort string is free-form end-to-end through to the --effort flag. ultracode is intentionally excluded — it is a TUI-only /effort session setting, not an --effort value (the CLI rejects `--effort ultracode`).
15 lines
532 B
TypeScript
15 lines
532 B
TypeScript
import { describe, expect, test } from 'bun:test'
|
|
import { CLAUDE_EFFORT_LABELS, CLAUDE_EFFORT_LEVELS } from './effort'
|
|
|
|
describe('Claude effort constants', () => {
|
|
test('exposes the Claude Code --effort levels in ascending order', () => {
|
|
expect(CLAUDE_EFFORT_LEVELS).toEqual(['low', 'medium', 'high', 'xhigh', 'max'])
|
|
})
|
|
|
|
test('every CLAUDE_EFFORT_LEVEL has a label', () => {
|
|
for (const level of CLAUDE_EFFORT_LEVELS) {
|
|
expect(CLAUDE_EFFORT_LABELS[level]).toBeDefined()
|
|
}
|
|
})
|
|
})
|