@@ -267,36 +267,63 @@ func createServerJSON(
267267 packageType , packageIdentifier , packageVersion string ,
268268 envVars []model.KeyValueInput ,
269269) apiv0.ServerJSON {
270- // Determine registry type and base URL
271- var registryType , registryBaseURL string
270+ // Create package based on type
271+ var pkg model.Package
272+
272273 switch packageType {
273274 case model .RegistryTypeNPM :
274- registryType = model .RegistryTypeNPM
275- registryBaseURL = model .RegistryURLNPM
275+ pkg = model.Package {
276+ RegistryType : model .RegistryTypeNPM ,
277+ Identifier : packageIdentifier ,
278+ Version : packageVersion ,
279+ EnvironmentVariables : envVars ,
280+ Transport : model.Transport {
281+ Type : model .TransportTypeStdio ,
282+ },
283+ }
276284 case model .RegistryTypePyPI :
277- registryType = model .RegistryTypePyPI
278- registryBaseURL = model .RegistryURLPyPI
285+ pkg = model.Package {
286+ RegistryType : model .RegistryTypePyPI ,
287+ Identifier : packageIdentifier ,
288+ Version : packageVersion ,
289+ EnvironmentVariables : envVars ,
290+ Transport : model.Transport {
291+ Type : model .TransportTypeStdio ,
292+ },
293+ }
279294 case model .RegistryTypeOCI :
280- registryType = model .RegistryTypeOCI
281- registryBaseURL = model .RegistryURLDocker
295+ // OCI packages use canonical references: registry/namespace/image:tag
296+ // Format: docker.io/username/image:version
297+ canonicalRef := fmt .Sprintf ("docker.io/%s:%s" , packageIdentifier , packageVersion )
298+ pkg = model.Package {
299+ RegistryType : model .RegistryTypeOCI ,
300+ Identifier : canonicalRef ,
301+ // No Version field for OCI - it's embedded in the canonical reference
302+ EnvironmentVariables : envVars ,
303+ Transport : model.Transport {
304+ Type : model .TransportTypeStdio ,
305+ },
306+ }
282307 case "url" :
283- registryType = "url"
284- registryBaseURL = ""
308+ pkg = model.Package {
309+ RegistryType : "url" ,
310+ Identifier : packageIdentifier ,
311+ Version : packageVersion ,
312+ EnvironmentVariables : envVars ,
313+ Transport : model.Transport {
314+ Type : model .TransportTypeStdio ,
315+ },
316+ }
285317 default :
286- registryType = packageType
287- registryBaseURL = ""
288- }
289-
290- // Create package
291- pkg := model.Package {
292- RegistryType : registryType ,
293- RegistryBaseURL : registryBaseURL ,
294- Identifier : packageIdentifier ,
295- Version : packageVersion ,
296- EnvironmentVariables : envVars ,
297- Transport : model.Transport {
298- Type : model .TransportTypeStdio ,
299- },
318+ pkg = model.Package {
319+ RegistryType : packageType ,
320+ Identifier : packageIdentifier ,
321+ Version : packageVersion ,
322+ EnvironmentVariables : envVars ,
323+ Transport : model.Transport {
324+ Type : model .TransportTypeStdio ,
325+ },
326+ }
300327 }
301328
302329 // Create server structure
0 commit comments