go.mod 🔗
@@ -191,3 +191,5 @@ require (
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
)
+
+replace charm.land/catwalk => ../catwalk
Andrey Nering created
* https://github.com/charmbracelet/catwalk/pull/201
go.mod | 2 ++
go.sum | 2 --
internal/config/config.go | 8 ++++++++
3 files changed, 10 insertions(+), 2 deletions(-)
@@ -191,3 +191,5 @@ require (
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
)
+
+replace charm.land/catwalk => ../catwalk
@@ -2,8 +2,6 @@ charm.land/bubbles/v2 v2.0.0 h1:tE3eK/pHjmtrDiRdoC9uGNLgpopOd8fjhEe31B/ai5s=
charm.land/bubbles/v2 v2.0.0/go.mod h1:rCHoleP2XhU8um45NTuOWBPNVHxnkXKTiZqcclL/qOI=
charm.land/bubbletea/v2 v2.0.0 h1:p0d6CtWyJXJ9GfzMpUUqbP/XUUhhlk06+vCKWmox1wQ=
charm.land/bubbletea/v2 v2.0.0/go.mod h1:3LRff2U4WIYXy7MTxfbAQ+AdfM3D8Xuvz2wbsOD9OHQ=
-charm.land/catwalk v0.25.3 h1:mkeICGwUPR9ZeOKNaeRmUrTyDJazTFYiNFWSeyjhM1A=
-charm.land/catwalk v0.25.3/go.mod h1:rFC/V96rIHX7VES215c/qzI1EW/Moo1ggs1Q6seTy5s=
charm.land/fantasy v0.11.0 h1:KrYa7B3JMCViXsbDyho9vLdzoml9Id8OgyytowrmkNY=
charm.land/fantasy v0.11.0/go.mod h1:NtQpqji9blpicYopEzcbgj8mIR4fOMjwK0wyr/D9D5M=
charm.land/glamour/v2 v2.0.0-20260123212943-6014aa153a9b h1:A6IUUyChZDWP16RUdRJCfmYISAKWQGyIcfhZJUCViQ0=
@@ -799,6 +799,14 @@ func (c *ProviderConfig) TestConnection(resolver VariableResolver) error {
return fmt.Errorf("invalid API key format for provider %s", c.ID)
}
return nil
+
+ case catwalk.InferenceProviderAlibaba:
+ // NOTE: Alibaba has no good endpoint we can use to validate the API key.
+ // Let's at least check the pattern.
+ if !strings.HasPrefix(apiKey, "sk-sp-") {
+ return fmt.Errorf("invalid API key format for provider %s", c.ID)
+ }
+ return nil
}
switch c.Type {