Documentation
¶
Overview ¶
Package claude implements thinking configuration scaffolding for Claude models.
Claude models use the thinking.budget_tokens format with values in the range 1024-128000. Some Claude models support ZeroAllowed (sonnet-4-5, opus-4-5), while older models do not. See: _bmad-output/planning-artifacts/architecture.md#Epic-6
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Applier ¶
type Applier struct{}
Applier implements thinking.ProviderApplier for Claude models. This applier is stateless and holds no configuration.
func (*Applier) Apply ¶
func (a *Applier) Apply(body []byte, config thinking.ThinkingConfig, modelInfo *registry.ModelInfo) ([]byte, error)
Apply applies thinking configuration to Claude request body.
IMPORTANT: This method expects config to be pre-validated by thinking.ValidateConfig. ValidateConfig handles:
- Mode conversion (Level→Budget, Auto→Budget)
- Budget clamping to model range
- ZeroAllowed constraint enforcement
Apply only processes ModeBudget and ModeNone; other modes are passed through unchanged.
Expected output format when enabled:
{
"thinking": {
"type": "enabled",
"budget_tokens": 16384
}
}
Expected output format when disabled:
{
"thinking": {
"type": "disabled"
}
}