on main help sign in
feat: allow users to disable cache
0cb3de6Kujtim Hoxha
internal/agent/agent.go+9
@@ -6,12 +6,15 @@ import (
6 "errors"
6 "errors"
7 "fmt"
7 "fmt"
8 "log/slog"
8 "log/slog"
9+ "os"
10+ "strconv"
9 "strings"
11 "strings"
10 "sync"
12 "sync"
11 "time"
13 "time"
12
14
13 "charm.land/fantasy"
15 "charm.land/fantasy"
14 "charm.land/fantasy/providers/anthropic"
16 "charm.land/fantasy/providers/anthropic"
17+ "charm.land/fantasy/providers/bedrock"
15 "charm.land/fantasy/providers/openai"
18 "charm.land/fantasy/providers/openai"
16 "github.com/charmbracelet/catwalk/pkg/catwalk"
19 "github.com/charmbracelet/catwalk/pkg/catwalk"
17 "github.com/charmbracelet/crush/internal/agent/tools"
20 "github.com/charmbracelet/crush/internal/agent/tools"
@@ -545,10 +548,16 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fan
545}
548}
546
549
547func (a *sessionAgent) getCacheControlOptions() fantasy.ProviderOptions {
550func (a *sessionAgent) getCacheControlOptions() fantasy.ProviderOptions {
551+ if t, _ := strconv.ParseBool(os.Getenv("CRUSH_DISABLE_ANTHROPIC_CACHE")); t {
552+ return fantasy.ProviderOptions{}
553+ }
548 return fantasy.ProviderOptions{
554 return fantasy.ProviderOptions{
549 anthropic.Name: &anthropic.ProviderCacheControlOptions{
555 anthropic.Name: &anthropic.ProviderCacheControlOptions{
550 CacheControl: anthropic.CacheControl{Type: "ephemeral"},
556 CacheControl: anthropic.CacheControl{Type: "ephemeral"},
551 },
557 },
558+ bedrock.Name: &anthropic.ProviderCacheControlOptions{
559+ CacheControl: anthropic.CacheControl{Type: "ephemeral"},
560+ },
552 }
561 }
553}
562}
554
563