INNER CODE UNIT · Python
call
oneclickvirt/ecs · agent/server.py:209
def call(self, name, args):
available = {t["name"]: t for t in self.tools()}
if name not in available:
raise ValueError("Unknown or disabled tool")
validate(args, available[name]["inputSchema"])
if name == "integration_info":
return self.profile
if name == "release_assets":
repo = self.profile.get("release_repository", self.repo)
version = args.get("version", "latest")
suffix = "latest" if version == "latest" else "tags/" + urllib.parse.quote(version, safe="")
value = github_json("/repos/" + repo + "/releases/" + suffix)
if value.get("draft") or (version == "latest" and value.get("prerelease")):
raise ValueError("Requested release is not a stable published release")
match = args.get("filter", "").lower()
return {"repository": repo, "version": value["tag_name"], "url": value["html_url"],
"published_at": value["published_at"], "assets": [
{k: a.get(k) for k in ("name", "size", "digest", "browser_download_url")}