...osx-x64-cli.pkg and ...osx-x64-agent.pkg? What is the function of both?

Yes, that is “by design” but not well explained (I will fix that in the docs).

The reason why there is a CLI package for Linux packages is that the TrayIcon/Avalonia has a number of desktop dependencies. If you are running a server version, the desktop is not there so installing it would require pulling in a large set of unwanted dependencies. To avoid this, the CLI packages are provided, which has no desktop dependencies.

For MacOS, the TrayIcon application is wrapped in a app bundle, which is the native way to have GUI based applications. While the bundle does contain CLI executables, it is not really logical how you find and execute them. For that reason there is now a .pkg for MacOS that offers only the CLI parts, installed so they are readily available from the commandline.

For Windows, all executables are just placed in a folder, and can be executed individually, similar to how other applications work. There is no need to have a CLI package here because the overhead of the TrayIcon is just a few KiB for an extra executable.

1 Like