package daemon import ( "context" "io" "net/http" ) // ProxyCatalog is the model list advertised by the proxy extension. type ProxyCatalog struct { Data []struct { ID string `json:"id"` Provider string `json:"owned_by"` } `json:"data"` Errors []struct { Profile string `json:"profile"` Message string `json:"message"` } `json:"errors"` } func ListProxyModels(ctx context.Context, conn *Connection) (ProxyCatalog, error) { var catalog ProxyCatalog err := executeRead(ctx, conn, operation{Name: "list proxy models", BuildRequest: func(base string, _ io.Reader) (*http.Request, error) { return http.NewRequest(http.MethodGet, base+"extensions/proxy/v1/models", nil) }, Policy: readRecovery}, func(data []byte) error { return decodeRequired(data, &catalog) }) return catalog, err }