interface github { /// A GitHub release. record github-release { /// The version of the release. version: string, /// The list of assets attached to the release. assets: list, } /// An asset from a GitHub release. record github-release-asset { /// The name of the asset. name: string, /// The download URL for the asset. download-url: string, } /// The options used to filter down GitHub releases. record github-release-options { /// Whether releases without assets should be included. require-assets: bool, /// Whether pre-releases should be included. pre-release: bool, } /// Returns the latest release for the given GitHub repository. latest-github-release: func(repo: string, options: github-release-options) -> result; }