Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + type BranchManager struct + ActiveBranch string + Branches map[string]*ConversationBranch + RootBranch string + func NewBranchManager() *BranchManager + func (bm *BranchManager) Abandon(branchID string) error + func (bm *BranchManager) AddMessage(role, content string, toolUse []string) + func (bm *BranchManager) BuildBranchContext() string + func (bm *BranchManager) CompareBranches(branchA, branchB string) string + func (bm *BranchManager) ExportBranch(branchID string) ([]byte, error) + func (bm *BranchManager) Fork(name string, atMessage int) (*ConversationBranch, error) + func (bm *BranchManager) GetActiveMessages() []BranchMessage + func (bm *BranchManager) GetBranches() []*ConversationBranch + func (bm *BranchManager) ImportBranch(data []byte) (*ConversationBranch, error) + func (bm *BranchManager) Merge(sourceBranchID string) error + func (bm *BranchManager) Prune(olderThan time.Duration) + func (bm *BranchManager) Switch(branchID string) error + type BranchMessage struct + Content string + Role string + Timestamp time.Time + ToolUse []string + type CascadeRouter struct + DefaultModel string + Enabled bool + FrugalMode bool + Roles routing.ModelRoles + func NewCascadeRouter(defaultModel string, roles routing.ModelRoles) *CascadeRouter + func (cr *CascadeRouter) DecisionCount() int + func (cr *CascadeRouter) Decisions() []RoutingDecision + func (cr *CascadeRouter) Savings() float64 + func (cr *CascadeRouter) SelectModel(prompt string, currentModel string, userOverride string) string + func (cr *CascadeRouter) Summary() string + type ConversationBranch struct + CreatedAt time.Time + ForkPoint int + ID string + Messages []BranchMessage + Metadata map[string]string + Name string + ParentID string + Status string + type ModelTier int + const TierCheap + const TierExpensive + const TierMid + type RoutingDecision struct + OriginalModel string + Reason string + SelectedModel string + TaskType string + Timestamp time.Time + type ShadowWorkspace struct + func NewShadowWorkspace() (*ShadowWorkspace, error) + func (sw *ShadowWorkspace) Close() + func (sw *ShadowWorkspace) TempDir() string + func (sw *ShadowWorkspace) ValidateEdit(originalPath, newContent string) []ValidationError + func (sw *ShadowWorkspace) ValidateMultipleEdits(edits map[string]string) map[string][]ValidationError + type SnowballDetector struct + func NewSnowballDetector(maxTokens int) *SnowballDetector + func (sd *SnowballDetector) IsSnowballing() bool + func (sd *SnowballDetector) RecordTurn(tokens int, progress float64) + func (sd *SnowballDetector) Reset() + func (sd *SnowballDetector) ShouldAbort() bool + func (sd *SnowballDetector) String() string + func (sd *SnowballDetector) Summary() string + type ValidationError struct + Column int + File string + Line int + Message string