@@ -317,9 +317,10 @@ func (cfg *Config) defaultModelSelection(knownProviders []provider.Provider) (la
return
}
largeModel = SelectedModel{
- Provider: string(p.ID),
- Model: defaultLargeModel.ID,
- MaxTokens: defaultLargeModel.DefaultMaxTokens,
+ Provider: string(p.ID),
+ Model: defaultLargeModel.ID,
+ MaxTokens: defaultLargeModel.DefaultMaxTokens,
+ ReasoningEffort: defaultLargeModel.DefaultReasoningEffort,
}
defaultSmallModel := cfg.GetModel(string(p.ID), p.DefaultSmallModelID)
@@ -327,9 +328,10 @@ func (cfg *Config) defaultModelSelection(knownProviders []provider.Provider) (la
err = fmt.Errorf("default small model %s not found for provider %s", p.DefaultSmallModelID, p.ID)
}
smallModel = SelectedModel{
- Provider: string(p.ID),
- Model: defaultSmallModel.ID,
- MaxTokens: defaultSmallModel.DefaultMaxTokens,
+ Provider: string(p.ID),
+ Model: defaultSmallModel.ID,
+ MaxTokens: defaultSmallModel.DefaultMaxTokens,
+ ReasoningEffort: defaultSmallModel.DefaultReasoningEffort,
}
return
}
@@ -387,7 +389,9 @@ func (cfg *Config) configureSelectedModels(knownProviders []provider.Provider) e
} else {
large.MaxTokens = model.DefaultMaxTokens
}
- large.ReasoningEffort = largeModelSelected.ReasoningEffort
+ if largeModelSelected.ReasoningEffort != "" {
+ large.ReasoningEffort = largeModelSelected.ReasoningEffort
+ }
large.Think = largeModelSelected.Think
}
smallModelSelected, smallModelConfigured := cfg.Models[SelectedModelTypeSmall]
@@ -1,56 +0,0 @@
-package prompt
-
-import (
- "fmt"
- "os"
- "path/filepath"
- "testing"
-
- "github.com/charmbracelet/crush/internal/config"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-)
-
-func TestGetContextFromPaths(t *testing.T) {
- t.Parallel()
-
- tmpDir := t.TempDir()
- _, err := config.Init(tmpDir, false)
- if err != nil {
- t.Fatalf("Failed to load config: %v", err)
- }
- testFiles := []string{
- "file.txt",
- "directory/file_a.txt",
- "directory/file_b.txt",
- "directory/file_c.txt",
- }
-
- createTestFiles(t, tmpDir, testFiles)
-
- context := getContextFromPaths(
- []string{
- "file.txt",
- "directory/",
- },
- )
- expectedContext := fmt.Sprintf("# From:%s/file.txt\nfile.txt: test content\n# From:%s/directory/file_a.txt\ndirectory/file_a.txt: test content\n# From:%s/directory/file_b.txt\ndirectory/file_b.txt: test content\n# From:%s/directory/file_c.txt\ndirectory/file_c.txt: test content", tmpDir, tmpDir, tmpDir, tmpDir)
- assert.Equal(t, expectedContext, context)
-}
-
-func createTestFiles(t *testing.T, tmpDir string, testFiles []string) {
- t.Helper()
- for _, path := range testFiles {
- fullPath := filepath.Join(tmpDir, path)
- if path[len(path)-1] == '/' {
- err := os.MkdirAll(fullPath, 0o755)
- require.NoError(t, err)
- } else {
- dir := filepath.Dir(fullPath)
- err := os.MkdirAll(dir, 0o755)
- require.NoError(t, err)
- err = os.WriteFile(fullPath, []byte(path+": test content"), 0o644)
- require.NoError(t, err)
- }
- }
-}