Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/onsi/ginkgo/v2 v2.27.2
github.com/onsi/gomega v1.38.2
github.com/spf13/viper v1.21.0
github.com/stacklok/toolhive v0.6.2
github.com/stacklok/toolhive v0.6.6-0.20251117142941-d06cdcbf7cc4
github.com/stretchr/testify v1.11.1
github.com/swaggo/swag/v2 v2.0.0-rc4
github.com/testcontainers/testcontainers-go v0.40.0
Expand Down Expand Up @@ -137,19 +137,19 @@ require (
go.uber.org/zap v1.27.0 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/crypto v0.43.0 // indirect
golang.org/x/crypto v0.44.0 // indirect
golang.org/x/mod v0.30.0 // indirect
golang.org/x/net v0.46.0 // indirect
golang.org/x/net v0.47.0 // indirect
golang.org/x/oauth2 v0.33.0 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/term v0.36.0 // indirect
golang.org/x/text v0.30.0 // indirect
golang.org/x/term v0.37.0 // indirect
golang.org/x/text v0.31.0 // indirect
golang.org/x/tools v0.38.0 // indirect
google.golang.org/protobuf v1.36.10 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/apimachinery v0.34.1 // indirect
k8s.io/apimachinery v0.34.2 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
Expand Down
28 changes: 14 additions & 14 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,8 @@ github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU=
github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY=
github.com/stacklok/toolhive v0.6.2 h1:r47V8z2rv4lTAOOaSMsDVLqHPCuX7jAK5/l9wsY80rs=
github.com/stacklok/toolhive v0.6.2/go.mod h1:TfYC6y/NMiC04GuMe5GdSMp59u7sUZ4ElFz4uSleg3M=
github.com/stacklok/toolhive v0.6.6-0.20251117142941-d06cdcbf7cc4 h1:GYLtT1j/P6B22/TMXSWlrjFB13u4tvirQRG3MGIRCMk=
github.com/stacklok/toolhive v0.6.6-0.20251117142941-d06cdcbf7cc4/go.mod h1:YbBeAB02mDMJkTiQICQTQi7iOC6pqhFivp1IoXWHjn4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
Expand Down Expand Up @@ -370,8 +370,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU=
golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
Expand All @@ -381,8 +381,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand All @@ -407,13 +407,13 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
Expand Down Expand Up @@ -451,10 +451,10 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM=
k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk=
k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4=
k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY=
k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw=
k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4=
k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck=
Expand Down
28 changes: 14 additions & 14 deletions internal/api/v0/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

"github.com/go-chi/chi/v5"
"github.com/stacklok/toolhive/pkg/logger"
"github.com/stacklok/toolhive/pkg/registry"
toolhivetypes "github.com/stacklok/toolhive/pkg/registry/types"
"github.com/stacklok/toolhive/pkg/versions"
"gopkg.in/yaml.v3"

Expand Down Expand Up @@ -335,7 +335,7 @@ func (rr *Routes) listDeployedServers(w http.ResponseWriter, r *http.Request) {
}

// newServerSummaryResponse creates a ServerSummaryResponse from server metadata
func newServerSummaryResponse(server registry.ServerMetadata) ServerSummaryResponse {
func newServerSummaryResponse(server toolhivetypes.ServerMetadata) ServerSummaryResponse {
return ServerSummaryResponse{
Name: server.GetName(),
Description: server.GetDescription(),
Expand All @@ -347,7 +347,7 @@ func newServerSummaryResponse(server registry.ServerMetadata) ServerSummaryRespo
}

// newServerDetailResponse creates a ServerDetailResponse from server metadata with all available fields
func newServerDetailResponse(server registry.ServerMetadata) ServerDetailResponse {
func newServerDetailResponse(server toolhivetypes.ServerMetadata) ServerDetailResponse {
response := ServerDetailResponse{
Name: server.GetName(),
Description: server.GetDescription(),
Expand All @@ -367,7 +367,7 @@ func newServerDetailResponse(server registry.ServerMetadata) ServerDetailRespons
}

// populateEnvVars converts and populates environment variables in the response
func populateEnvVars(response *ServerDetailResponse, server registry.ServerMetadata) {
func populateEnvVars(response *ServerDetailResponse, server toolhivetypes.ServerMetadata) {
envVars := server.GetEnvVars()
if envVars == nil {
return
Expand All @@ -388,7 +388,7 @@ func populateEnvVars(response *ServerDetailResponse, server registry.ServerMetad
}

// populateMetadata converts and populates metadata in the response
func populateMetadata(response *ServerDetailResponse, server registry.ServerMetadata) {
func populateMetadata(response *ServerDetailResponse, server toolhivetypes.ServerMetadata) {
// Convert metadata from *Metadata to map[string]interface{}
if metadata := server.GetMetadata(); metadata != nil {
response.Metadata = map[string]interface{}{
Expand All @@ -410,7 +410,7 @@ func populateMetadata(response *ServerDetailResponse, server registry.ServerMeta
}

// populateServerTypeSpecificFields populates fields specific to container or remote servers
func populateServerTypeSpecificFields(response *ServerDetailResponse, server registry.ServerMetadata) {
func populateServerTypeSpecificFields(response *ServerDetailResponse, server toolhivetypes.ServerMetadata) {
if !server.IsRemote() {
populateContainerServerFields(response, server)
} else {
Expand All @@ -419,12 +419,12 @@ func populateServerTypeSpecificFields(response *ServerDetailResponse, server reg
}

// populateContainerServerFields populates fields specific to container servers (ImageMetadata)
func populateContainerServerFields(response *ServerDetailResponse, server registry.ServerMetadata) {
func populateContainerServerFields(response *ServerDetailResponse, server toolhivetypes.ServerMetadata) {
// The server might be wrapped in a serverWithName struct from the service layer
actualServer := extractEmbeddedServerMetadata(server)

// Type assert to access ImageMetadata-specific fields
imgMetadata, ok := actualServer.(*registry.ImageMetadata)
imgMetadata, ok := actualServer.(*toolhivetypes.ImageMetadata)
if !ok {
return
}
Expand Down Expand Up @@ -453,11 +453,11 @@ func populateContainerServerFields(response *ServerDetailResponse, server regist
}

// populateRemoteServerFields populates fields specific to remote servers
func populateRemoteServerFields(response *ServerDetailResponse, server registry.ServerMetadata) {
func populateRemoteServerFields(response *ServerDetailResponse, server toolhivetypes.ServerMetadata) {
// The server might be wrapped in a serverWithName struct from the service layer
actualServer := extractEmbeddedServerMetadata(server)

remoteMetadata, ok := actualServer.(*registry.RemoteServerMetadata)
remoteMetadata, ok := actualServer.(*toolhivetypes.RemoteServerMetadata)
if !ok {
return
}
Expand All @@ -474,7 +474,7 @@ func populateRemoteServerFields(response *ServerDetailResponse, server registry.
}

// extractEmbeddedServerMetadata extracts the embedded ServerMetadata from serverWithName wrapper
func extractEmbeddedServerMetadata(server registry.ServerMetadata) registry.ServerMetadata {
func extractEmbeddedServerMetadata(server toolhivetypes.ServerMetadata) toolhivetypes.ServerMetadata {
// Use reflection to check if this is a struct with an embedded ServerMetadata field
v := reflect.ValueOf(server)
if v.Kind() == reflect.Ptr {
Expand All @@ -489,7 +489,7 @@ func extractEmbeddedServerMetadata(server registry.ServerMetadata) registry.Serv

// Check if it's an embedded field (Anonymous) that implements ServerMetadata
if fieldType.Anonymous && field.CanInterface() {
if serverMetadata, ok := field.Interface().(registry.ServerMetadata); ok {
if serverMetadata, ok := field.Interface().(toolhivetypes.ServerMetadata); ok {
return serverMetadata
}
}
Expand Down Expand Up @@ -671,12 +671,12 @@ func serveOpenAPIYAML(w http.ResponseWriter, _ *http.Request) {

// NewServerSummaryResponseForTesting creates a ServerSummaryResponse for testing
// Deprecated: Use API v0.1 instead
func NewServerSummaryResponseForTesting(server registry.ServerMetadata) ServerSummaryResponse {
func NewServerSummaryResponseForTesting(server toolhivetypes.ServerMetadata) ServerSummaryResponse {
return newServerSummaryResponse(server)
}

// NewServerDetailResponseForTesting creates a ServerDetailResponse for testing
// Deprecated: Use API v0.1 instead
func NewServerDetailResponseForTesting(server registry.ServerMetadata) ServerDetailResponse {
func NewServerDetailResponseForTesting(server toolhivetypes.ServerMetadata) ServerDetailResponse {
return newServerDetailResponse(server)
}
50 changes: 25 additions & 25 deletions internal/api/v0/routes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"testing"
"time"

"github.com/stacklok/toolhive/pkg/registry"
toolhivetypes "github.com/stacklok/toolhive/pkg/registry/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/mock/gomock"
Expand Down Expand Up @@ -233,12 +233,12 @@ const testRegistryJSON = `{

// realisticRegistryProvider implements RegistryDataProvider for testing with our realistic test data
type realisticRegistryProvider struct {
data *registry.Registry
data *toolhivetypes.Registry
}

// newRealisticRegistryProvider creates a provider with our representative test data
func newRealisticRegistryProvider() (*realisticRegistryProvider, error) {
var data registry.Registry
var data toolhivetypes.Registry
if err := json.Unmarshal([]byte(testRegistryJSON), &data); err != nil {
return nil, err
}
Expand All @@ -249,7 +249,7 @@ func newRealisticRegistryProvider() (*realisticRegistryProvider, error) {
}

// GetRegistryData implements RegistryDataProvider.GetRegistryData
func (p *realisticRegistryProvider) GetRegistryData(_ context.Context) (*registry.Registry, error) {
func (p *realisticRegistryProvider) GetRegistryData(_ context.Context) (*toolhivetypes.Registry, error) {
return p.data, nil
}

Expand Down Expand Up @@ -321,14 +321,14 @@ func TestRegistryRouter(t *testing.T) {

mockSvc := mocks.NewMockRegistryService(ctrl)
// Set up expectations for all routes
mockSvc.EXPECT().GetRegistry(gomock.Any()).Return(&registry.Registry{
mockSvc.EXPECT().GetRegistry(gomock.Any()).Return(&toolhivetypes.Registry{
Version: "1.0.0",
LastUpdated: time.Now().Format(time.RFC3339),
Servers: make(map[string]*registry.ImageMetadata),
Servers: make(map[string]*toolhivetypes.ImageMetadata),
}, "test", nil).AnyTimes()
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]registry.ServerMetadata{}, nil).AnyTimes()
mockSvc.EXPECT().GetServer(gomock.Any(), "test-server").Return(&registry.ImageMetadata{
BaseServerMetadata: registry.BaseServerMetadata{
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]toolhivetypes.ServerMetadata{}, nil).AnyTimes()
mockSvc.EXPECT().GetServer(gomock.Any(), "test-server").Return(&toolhivetypes.ImageMetadata{
BaseServerMetadata: toolhivetypes.BaseServerMetadata{
Name: "test-server",
},
}, nil).AnyTimes()
Expand Down Expand Up @@ -402,7 +402,7 @@ func TestListServers_FormatParameter(t *testing.T) {

mockSvc := mocks.NewMockRegistryService(ctrl)
// Expect successful calls for toolhive format only
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]registry.ServerMetadata{}, nil).Times(2) // default and explicit toolhive
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]toolhivetypes.ServerMetadata{}, nil).Times(2) // default and explicit toolhive

router := v0.Router(mockSvc)

Expand Down Expand Up @@ -481,14 +481,14 @@ func TestNewServer(t *testing.T) {

// Set up expectations for all test routes
mockSvc.EXPECT().CheckReadiness(gomock.Any()).Return(nil).AnyTimes()
mockSvc.EXPECT().GetRegistry(gomock.Any()).Return(&registry.Registry{
mockSvc.EXPECT().GetRegistry(gomock.Any()).Return(&toolhivetypes.Registry{
Version: "1.0.0",
LastUpdated: time.Now().Format(time.RFC3339),
Servers: make(map[string]*registry.ImageMetadata),
Servers: make(map[string]*toolhivetypes.ImageMetadata),
}, "test", nil).AnyTimes()
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]registry.ServerMetadata{}, nil).AnyTimes()
mockSvc.EXPECT().GetServer(gomock.Any(), "test").Return(&registry.ImageMetadata{
BaseServerMetadata: registry.BaseServerMetadata{
mockSvc.EXPECT().ListServers(gomock.Any()).Return([]toolhivetypes.ServerMetadata{}, nil).AnyTimes()
mockSvc.EXPECT().GetServer(gomock.Any(), "test").Return(&toolhivetypes.ImageMetadata{
BaseServerMetadata: toolhivetypes.BaseServerMetadata{
Name: "test",
},
}, nil).AnyTimes()
Expand Down Expand Up @@ -588,12 +588,12 @@ func TestNewServer_WithMiddleware(t *testing.T) {

// fileBasedRegistryProvider implements RegistryDataProvider for testing with embedded registry data
type fileBasedRegistryProvider struct {
data *registry.Registry
data *toolhivetypes.Registry
}

// newFileBasedRegistryProvider creates a new provider with embedded registry data
func newFileBasedRegistryProvider() (*fileBasedRegistryProvider, error) {
var data registry.Registry
var data toolhivetypes.Registry
if err := json.Unmarshal([]byte(testRegistryJSON), &data); err != nil {
return nil, err
}
Expand All @@ -604,7 +604,7 @@ func newFileBasedRegistryProvider() (*fileBasedRegistryProvider, error) {
}

// GetRegistryData implements RegistryDataProvider.GetRegistryData
func (p *fileBasedRegistryProvider) GetRegistryData(_ context.Context) (*registry.Registry, error) {
func (p *fileBasedRegistryProvider) GetRegistryData(_ context.Context) (*toolhivetypes.Registry, error) {
return p.data, nil
}

Expand All @@ -619,11 +619,11 @@ func (*fileBasedRegistryProvider) GetRegistryName() string {
}

// Helper functions for testing the response conversion functions
func newServerSummaryResponseForTesting(server registry.ServerMetadata) v0.ServerSummaryResponse {
func newServerSummaryResponseForTesting(server toolhivetypes.ServerMetadata) v0.ServerSummaryResponse {
return v0.NewServerSummaryResponseForTesting(server)
}

func newServerDetailResponseForTesting(server registry.ServerMetadata) v0.ServerDetailResponse {
func newServerDetailResponseForTesting(server toolhivetypes.ServerMetadata) v0.ServerDetailResponse {
return v0.NewServerDetailResponseForTesting(server)
}

Expand Down Expand Up @@ -1396,8 +1396,8 @@ func TestHelperFunctions(t *testing.T) {
t.Parallel()

// Test data setup
testImageMetadata := &registry.ImageMetadata{
BaseServerMetadata: registry.BaseServerMetadata{
testImageMetadata := &toolhivetypes.ImageMetadata{
BaseServerMetadata: toolhivetypes.BaseServerMetadata{
Name: "test-server",
Description: "Test server",
Tier: "Community",
Expand All @@ -1408,8 +1408,8 @@ func TestHelperFunctions(t *testing.T) {
Image: "test-image:latest",
}

testRemoteMetadata := &registry.RemoteServerMetadata{
BaseServerMetadata: registry.BaseServerMetadata{
testRemoteMetadata := &toolhivetypes.RemoteServerMetadata{
BaseServerMetadata: toolhivetypes.BaseServerMetadata{
Name: "remote-server",
Description: "Remote test server",
Tier: "Official",
Expand Down Expand Up @@ -1522,7 +1522,7 @@ func TestErrorScenarios(t *testing.T) {
t.Parallel()
// This test needs its own mock since it calls ListServers (chi routes /servers/ to list endpoint)
emptyNameMockSvc := mocks.NewMockRegistryService(ctrl)
emptyNameMockSvc.EXPECT().ListServers(gomock.Any()).Return([]registry.ServerMetadata{}, nil)
emptyNameMockSvc.EXPECT().ListServers(gomock.Any()).Return([]toolhivetypes.ServerMetadata{}, nil)

router := v0.Router(emptyNameMockSvc)

Expand Down
Loading
Loading