Browse Source

fix(tests): regenerate tests

kujtimiihoxha 4 months ago
parent
commit
ac97adcf71
59 changed files with 712 additions and 1074 deletions
  1. 9 1
      go.mod
  2. 18 0
      go.sum
  3. 6 4
      internal/agent/common_test.go
  4. 13 16
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/bash_tool.yaml
  5. 13 16
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/download_tool.yaml
  6. 19 13
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/fetch_tool.yaml
  7. 12 12
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/glob_tool.yaml
  8. 19 16
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/grep_tool.yaml
  9. 12 12
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/ls_tool.yaml
  10. 12 15
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/multiedit_tool.yaml
  11. 13 13
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/parallel_tool_calls.yaml
  12. 13 13
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/read_a_file.yaml
  13. 12 12
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/simple_test.yaml
  14. 14 17
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/sourcegraph_tool.yaml
  15. 15 12
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/update_a_file.yaml
  16. 13 13
      internal/agent/testdata/TestCoderAgent/anthropic-sonnet/write_tool.yaml
  17. 11 15
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/bash_tool.yaml
  18. 13 15
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/download_tool.yaml
  19. 27 15
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/fetch_tool.yaml
  20. 16 16
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/glob_tool.yaml
  21. 18 16
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/grep_tool.yaml
  22. 12 16
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/ls_tool.yaml
  23. 16 18
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/multiedit_tool.yaml
  24. 15 13
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/parallel_tool_calls.yaml
  25. 11 11
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/read_a_file.yaml
  26. 9 9
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/simple_test.yaml
  27. 19 19
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/sourcegraph_tool.yaml
  28. 20 14
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/update_a_file.yaml
  29. 13 17
      internal/agent/testdata/TestCoderAgent/openai-gpt-5/write_tool.yaml
  30. 14 12
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/bash_tool.yaml
  31. 11 11
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/download_tool.yaml
  32. 14 12
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/fetch_tool.yaml
  33. 1 1
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/glob_tool.yaml
  34. 22 8
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/grep_tool.yaml
  35. 22 8
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/ls_tool.yaml
  36. 13 27
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/multiedit_tool.yaml
  37. 1 1
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/parallel_tool_calls.yaml
  38. 1 1
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/read_a_file.yaml
  39. 1 1
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/simple_test.yaml
  40. 12 22
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/sourcegraph_tool.yaml
  41. 13 11
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/update_a_file.yaml
  42. 1 1
      internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/write_tool.yaml
  43. 25 13
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/bash_tool.yaml
  44. 12 76
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/download_tool.yaml
  45. 11 77
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/fetch_tool.yaml
  46. 11 77
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/glob_tool.yaml
  47. 11 75
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/grep_tool.yaml
  48. 23 11
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/ls_tool.yaml
  49. 1 2
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/multiedit_tool.yaml
  50. 11 77
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/parallel_tool_calls.yaml
  51. 9 79
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/read_a_file.yaml
  52. 20 8
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/simple_test.yaml
  53. 1 2
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/sourcegraph_tool.yaml
  54. 14 74
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/update_a_file.yaml
  55. 1 2
      internal/agent/testdata/TestCoderAgent/zai-glm4.6/write_tool.yaml
  56. 18 1
      internal/config/load.go
  57. 3 3
      internal/config/provider.go
  58. 1 1
      internal/config/provider_empty_test.go
  59. 1 1
      internal/config/provider_test.go

+ 9 - 1
go.mod

@@ -13,7 +13,7 @@ require (
 	github.com/charlievieth/fastwalk v1.0.14
 	github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2
 	github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250910155747-997384b0b35e
-	github.com/charmbracelet/catwalk v0.6.5-0.20251010111259-a1bafd2530bb
+	github.com/charmbracelet/catwalk v0.6.5-0.20251013041345-e6202aaa8c46
 	github.com/charmbracelet/fang v0.4.2
 	github.com/charmbracelet/fantasy v0.0.0-20251010114724-801d5df11cef
 	github.com/charmbracelet/glamour/v2 v2.0.0-20250811143442-a27abb32f018
@@ -50,6 +50,14 @@ require (
 require (
 	github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 // indirect
 	github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
+	github.com/beorn7/perks v1.0.1 // indirect
+	github.com/cespare/xxhash/v2 v2.3.0 // indirect
+	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
+	github.com/prometheus/client_golang v1.23.2 // indirect
+	github.com/prometheus/client_model v0.6.2 // indirect
+	github.com/prometheus/common v0.66.1 // indirect
+	github.com/prometheus/procfs v0.16.1 // indirect
+	go.yaml.in/yaml/v2 v2.4.2 // indirect
 )
 
 require (

+ 18 - 0
go.sum

@@ -42,11 +42,15 @@ github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuP
 github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
 github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
 github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
+github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
+github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/bmatcuk/doublestar/v4 v4.9.1 h1:X8jg9rRZmJd4yRy7ZeNDRnM+T3ZfHv15JiBJ/avrEXE=
 github.com/bmatcuk/doublestar/v4 v4.9.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
 github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
 github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/charlievieth/fastwalk v1.0.14 h1:3Eh5uaFGwHZd8EGwTjJnSpBkfwfsak9h6ICgnWlhAyg=
 github.com/charlievieth/fastwalk v1.0.14/go.mod h1:diVcUreiU1aQ4/Wu3NbxxH4/KYdKpLDojrQ1Bb2KgNY=
 github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2 h1:973OHYuq2Jx9deyuPwe/6lsuQrDCatOsjP8uCd02URE=
@@ -55,6 +59,8 @@ github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250910155747-997384b0b35
 github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250910155747-997384b0b35e/go.mod h1:F7AfLKYQqpM3NNBVs7ctW417tavhvoh9SBjsgtwpzbY=
 github.com/charmbracelet/catwalk v0.6.5-0.20251010111259-a1bafd2530bb h1:1dANrQJF+y+irksWTqd4dvN91JP7e/gdYZscef3PxkY=
 github.com/charmbracelet/catwalk v0.6.5-0.20251010111259-a1bafd2530bb/go.mod h1:ReU4SdrLfe63jkEjWMdX2wlZMV3k9r11oQAmzN0m+KY=
+github.com/charmbracelet/catwalk v0.6.5-0.20251013041345-e6202aaa8c46 h1:Uo9eLh7tblCfVnuKmF48MFpk27j2whgnLyDUYyylucg=
+github.com/charmbracelet/catwalk v0.6.5-0.20251013041345-e6202aaa8c46/go.mod h1:ReU4SdrLfe63jkEjWMdX2wlZMV3k9r11oQAmzN0m+KY=
 github.com/charmbracelet/colorprofile v0.3.2 h1:9J27WdztfJQVAQKX2WOlSSRB+5gaKqqITmrvb1uTIiI=
 github.com/charmbracelet/colorprofile v0.3.2/go.mod h1:mTD5XzNeWHj8oqHb+S1bssQb7vIHbepiebQ2kPKVKbI=
 github.com/charmbracelet/fang v0.4.2 h1:nWr7Tb82/TTNNGMGG35aTZ1X68loAOQmpb0qxkKXjas=
@@ -213,6 +219,8 @@ github.com/muesli/roff v0.1.0 h1:YD0lalCotmYuF5HhZliKWlIx7IEhiXeSfq7hNjFqGF8=
 github.com/muesli/roff v0.1.0/go.mod h1:pjAHQM9hdUUwm/krAfrLGgJkXJ+YuhtsfZ42kieB2Ig=
 github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
 github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 github.com/ncruces/go-sqlite3 v0.29.0 h1:1tsLiagCoqZEfcHDeKsNSv5jvrY/Iu393pAnw2wLNJU=
 github.com/ncruces/go-sqlite3 v0.29.0/go.mod h1:r1hSvYKPNJ+OlUA1O3r8o9LAawzPAlqeZiIdxTBBBJ0=
 github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
@@ -236,7 +244,15 @@ github.com/posthog/posthog-go v1.6.10 h1:OA6bkiUg89rI7f5cSXbcrH5+wLinyS6hHplnD92
 github.com/posthog/posthog-go v1.6.10/go.mod h1:LcC1Nu4AgvV22EndTtrMXTy+7RGVC0MhChSw7Qk5XkY=
 github.com/pressly/goose/v3 v3.25.0 h1:6WeYhMWGRCzpyd89SpODFnCBCKz41KrVbRT58nVjGng=
 github.com/pressly/goose/v3 v3.25.0/go.mod h1:4hC1KrritdCxtuFsqgs1R4AU5bWtTAf+cnWvfhf2DNY=
+github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
+github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
+github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
+github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs=
+github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA=
+github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
+github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
 github.com/qjebbs/go-jsons v1.0.0-alpha.4 h1:Qsb4ohRUHQODIUAsJKdKJ/SIDbsO7oGOzsfy+h1yQZs=
 github.com/qjebbs/go-jsons v1.0.0-alpha.4/go.mod h1:wNJrtinHyC3YSf6giEh4FJN8+yZV7nXBjvmfjhBIcw4=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
@@ -318,6 +334,8 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
 go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
+go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
+go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
 go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s=
 go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

+ 6 - 4
internal/agent/common_test.go

@@ -116,15 +116,17 @@ func testEnv(t *testing.T) env {
 
 func testSessionAgent(env env, large, small ai.LanguageModel, systemPrompt string, tools ...ai.AgentTool) SessionAgent {
 	largeModel := Model{
-		Model:      large,
+		Model: large,
 		CatwalkCfg: catwalk.Model{
-			// todo: add values
+			ContextWindow:    200000,
+			DefaultMaxTokens: 10000,
 		},
 	}
 	smallModel := Model{
-		Model:      small,
+		Model: small,
 		CatwalkCfg: catwalk.Model{
-			// todo: add values
+			ContextWindow:    200000,
+			DefaultMaxTokens: 10000,
 		},
 	}
 	agent := NewSessionAgent(SessionAgentOptions{largeModel, smallModel, systemPrompt, false, env.sessions, env.messages, tools})

File diff suppressed because it is too large
+ 13 - 16
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/bash_tool.yaml


File diff suppressed because it is too large
+ 13 - 16
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/download_tool.yaml


File diff suppressed because it is too large
+ 19 - 13
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/fetch_tool.yaml


File diff suppressed because it is too large
+ 12 - 12
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/glob_tool.yaml


File diff suppressed because it is too large
+ 19 - 16
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/grep_tool.yaml


File diff suppressed because it is too large
+ 12 - 12
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/ls_tool.yaml


File diff suppressed because it is too large
+ 12 - 15
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/multiedit_tool.yaml


File diff suppressed because it is too large
+ 13 - 13
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/parallel_tool_calls.yaml


File diff suppressed because it is too large
+ 13 - 13
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/read_a_file.yaml


File diff suppressed because it is too large
+ 12 - 12
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/simple_test.yaml


File diff suppressed because it is too large
+ 14 - 17
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/sourcegraph_tool.yaml


File diff suppressed because it is too large
+ 15 - 12
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/update_a_file.yaml


File diff suppressed because it is too large
+ 13 - 13
internal/agent/testdata/TestCoderAgent/anthropic-sonnet/write_tool.yaml


File diff suppressed because it is too large
+ 11 - 15
internal/agent/testdata/TestCoderAgent/openai-gpt-5/bash_tool.yaml


File diff suppressed because it is too large
+ 13 - 15
internal/agent/testdata/TestCoderAgent/openai-gpt-5/download_tool.yaml


File diff suppressed because it is too large
+ 27 - 15
internal/agent/testdata/TestCoderAgent/openai-gpt-5/fetch_tool.yaml


File diff suppressed because it is too large
+ 16 - 16
internal/agent/testdata/TestCoderAgent/openai-gpt-5/glob_tool.yaml


File diff suppressed because it is too large
+ 18 - 16
internal/agent/testdata/TestCoderAgent/openai-gpt-5/grep_tool.yaml


File diff suppressed because it is too large
+ 12 - 16
internal/agent/testdata/TestCoderAgent/openai-gpt-5/ls_tool.yaml


File diff suppressed because it is too large
+ 16 - 18
internal/agent/testdata/TestCoderAgent/openai-gpt-5/multiedit_tool.yaml


File diff suppressed because it is too large
+ 15 - 13
internal/agent/testdata/TestCoderAgent/openai-gpt-5/parallel_tool_calls.yaml


File diff suppressed because it is too large
+ 11 - 11
internal/agent/testdata/TestCoderAgent/openai-gpt-5/read_a_file.yaml


File diff suppressed because it is too large
+ 9 - 9
internal/agent/testdata/TestCoderAgent/openai-gpt-5/simple_test.yaml


File diff suppressed because it is too large
+ 19 - 19
internal/agent/testdata/TestCoderAgent/openai-gpt-5/sourcegraph_tool.yaml


File diff suppressed because it is too large
+ 20 - 14
internal/agent/testdata/TestCoderAgent/openai-gpt-5/update_a_file.yaml


File diff suppressed because it is too large
+ 13 - 17
internal/agent/testdata/TestCoderAgent/openai-gpt-5/write_tool.yaml


File diff suppressed because it is too large
+ 14 - 12
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/bash_tool.yaml


File diff suppressed because it is too large
+ 11 - 11
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/download_tool.yaml


File diff suppressed because it is too large
+ 14 - 12
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/fetch_tool.yaml


File diff suppressed because it is too large
+ 1 - 1
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/glob_tool.yaml


File diff suppressed because it is too large
+ 22 - 8
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/grep_tool.yaml


File diff suppressed because it is too large
+ 22 - 8
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/ls_tool.yaml


File diff suppressed because it is too large
+ 13 - 27
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/multiedit_tool.yaml


File diff suppressed because it is too large
+ 1 - 1
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/parallel_tool_calls.yaml


File diff suppressed because it is too large
+ 1 - 1
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/read_a_file.yaml


File diff suppressed because it is too large
+ 1 - 1
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/simple_test.yaml


File diff suppressed because it is too large
+ 12 - 22
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/sourcegraph_tool.yaml


File diff suppressed because it is too large
+ 13 - 11
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/update_a_file.yaml


File diff suppressed because it is too large
+ 1 - 1
internal/agent/testdata/TestCoderAgent/openrouter-kimi-k2/write_tool.yaml


File diff suppressed because it is too large
+ 25 - 13
internal/agent/testdata/TestCoderAgent/zai-glm4.6/bash_tool.yaml


File diff suppressed because it is too large
+ 12 - 76
internal/agent/testdata/TestCoderAgent/zai-glm4.6/download_tool.yaml


File diff suppressed because it is too large
+ 11 - 77
internal/agent/testdata/TestCoderAgent/zai-glm4.6/fetch_tool.yaml


File diff suppressed because it is too large
+ 11 - 77
internal/agent/testdata/TestCoderAgent/zai-glm4.6/glob_tool.yaml


File diff suppressed because it is too large
+ 11 - 75
internal/agent/testdata/TestCoderAgent/zai-glm4.6/grep_tool.yaml


File diff suppressed because it is too large
+ 23 - 11
internal/agent/testdata/TestCoderAgent/zai-glm4.6/ls_tool.yaml


File diff suppressed because it is too large
+ 1 - 2
internal/agent/testdata/TestCoderAgent/zai-glm4.6/multiedit_tool.yaml


File diff suppressed because it is too large
+ 11 - 77
internal/agent/testdata/TestCoderAgent/zai-glm4.6/parallel_tool_calls.yaml


File diff suppressed because it is too large
+ 9 - 79
internal/agent/testdata/TestCoderAgent/zai-glm4.6/read_a_file.yaml


File diff suppressed because it is too large
+ 20 - 8
internal/agent/testdata/TestCoderAgent/zai-glm4.6/simple_test.yaml


File diff suppressed because it is too large
+ 1 - 2
internal/agent/testdata/TestCoderAgent/zai-glm4.6/sourcegraph_tool.yaml


File diff suppressed because it is too large
+ 14 - 74
internal/agent/testdata/TestCoderAgent/zai-glm4.6/update_a_file.yaml


File diff suppressed because it is too large
+ 1 - 2
internal/agent/testdata/TestCoderAgent/zai-glm4.6/write_tool.yaml


+ 18 - 1
internal/config/load.go

@@ -261,7 +261,12 @@ func (c *Config) configureProviders(env env.Env, resolver VariableResolver, know
 		}
 		// default to OpenAI if not set
 		if providerConfig.Type == "" {
-			providerConfig.Type = catwalk.TypeOpenAI
+			providerConfig.Type = catwalk.TypeOpenAICompat
+		}
+		if !slices.Contains(c.knownProviderTypes(), providerConfig.Type) {
+			slog.Warn("Skipping custom provider due to unsupported provider type", "provider", id)
+			c.Providers.Del(id)
+			continue
 		}
 
 		if providerConfig.Disable {
@@ -298,6 +303,18 @@ func (c *Config) configureProviders(env env.Env, resolver VariableResolver, know
 	return nil
 }
 
+func (c *Config) knownProviderTypes() []catwalk.Type {
+	return []catwalk.Type{
+		catwalk.TypeOpenAI,
+		catwalk.TypeAnthropic,
+		catwalk.TypeAzure,
+		catwalk.TypeBedrock,
+		catwalk.TypeGoogle,
+		catwalk.TypeVertexAI,
+		catwalk.TypeOpenAICompat,
+	}
+}
+
 func (c *Config) setDefaults(workingDir, dataDir string) {
 	c.workingDir = workingDir
 	if c.Options == nil {

+ 3 - 3
internal/config/provider.go

@@ -18,7 +18,7 @@ import (
 )
 
 type ProviderClient interface {
-	GetProvidersV2() ([]catwalk.Provider, error)
+	GetProviders() ([]catwalk.Provider, error)
 }
 
 var (
@@ -129,7 +129,7 @@ func loadProviders(autoUpdateDisabled bool, client ProviderClient, path string)
 	cacheIsStale, cacheExists := isCacheStale(path)
 
 	catwalkGetAndSave := func() ([]catwalk.Provider, error) {
-		providers, err := client.GetProvidersV2()
+		providers, err := client.GetProviders()
 		if err != nil {
 			return nil, fmt.Errorf("failed to fetch providers from catwalk: %w", err)
 		}
@@ -146,7 +146,7 @@ func loadProviders(autoUpdateDisabled bool, client ProviderClient, path string)
 		go func() {
 			slog.Info("Updating providers cache in background", "path", path)
 
-			providers, err := client.GetProvidersV2()
+			providers, err := client.GetProviders()
 			if err != nil {
 				slog.Error("Failed to fetch providers in background from Catwalk", "error", err)
 				return

+ 1 - 1
internal/config/provider_empty_test.go

@@ -11,7 +11,7 @@ import (
 
 type emptyProviderClient struct{}
 
-func (m *emptyProviderClient) GetProvidersV2() ([]catwalk.Provider, error) {
+func (m *emptyProviderClient) GetProviders() ([]catwalk.Provider, error) {
 	return []catwalk.Provider{}, nil
 }
 

+ 1 - 1
internal/config/provider_test.go

@@ -14,7 +14,7 @@ type mockProviderClient struct {
 	shouldFail bool
 }
 
-func (m *mockProviderClient) GetProvidersV2() ([]catwalk.Provider, error) {
+func (m *mockProviderClient) GetProviders() ([]catwalk.Provider, error) {
 	if m.shouldFail {
 		return nil, errors.New("failed to load providers")
 	}

Some files were not shown because too many files changed in this diff