This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

pkgs.omnigent: 0.9.0 -> 0.17.0, add updateScript

+69 -6
+11 -6
pkgs/omnigent/package.nix
··· 19 19 # provides `omnigent` itself. 20 20 omnigent-client = py.buildPythonPackage rec { 21 21 pname = "omnigent_client"; 22 - version = "0.9.0"; 22 + version = "0.17.0"; 23 23 format = "wheel"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version format; 27 27 dist = "py3"; 28 28 python = "py3"; 29 - hash = "sha256-NUF16ZzZkVzohOKznfAPVTT1LI09dXP6gZxlWZzmyrM="; 29 + hash = "sha256-840EK8+ZfBOPP0lp5h974rkKtIs4eLC8uLaK23y8FhY="; 30 30 }; 31 31 32 32 pythonRemoveDeps = [ "omnigent" ]; ··· 49 49 50 50 omnigent-ui-sdk = py.buildPythonPackage rec { 51 51 pname = "omnigent_ui_sdk"; 52 - version = "0.9.0"; 52 + version = "0.17.0"; 53 53 format = "wheel"; 54 54 55 55 src = fetchPypi { 56 56 inherit pname version format; 57 57 dist = "py3"; 58 58 python = "py3"; 59 - hash = "sha256-xr5rtx2Ac/q8GShkeQudzbKDoLGe5d+Jp7XCiXzU7lQ="; 59 + hash = "sha256-2I9JWM64pqFNawr6exvQRJ1uOvZ+6J6NZ37JBy2OLFA="; 60 60 }; 61 61 62 62 dependencies = [ ··· 77 77 in 78 78 py.buildPythonApplication rec { 79 79 pname = "omnigent"; 80 - version = "0.9.0"; 80 + version = "0.17.0"; 81 81 format = "wheel"; 82 82 83 83 # The published wheel ships the prebuilt web SPA under ··· 86 86 inherit pname version format; 87 87 dist = "py3"; 88 88 python = "py3"; 89 - hash = "sha256-deNx9SHyaf1ZNkq5+88c1fUieFZastIo8N27Ixy0F1Q="; 89 + hash = "sha256-/ygrFeQOlXXilVU5H1zqdYBqR3YVZUo/HlfIfsxR/IQ="; 90 90 }; 91 91 92 92 # Upper bounds that nixpkgs has already moved past. All of these are ··· 115 115 claude-agent-sdk 116 116 click 117 117 fastapi 118 + filelock 118 119 ftfy 119 120 httpx 120 121 json5 ··· 122 123 mcp 123 124 openai 124 125 openai-agents 126 + opentelemetry-api 125 127 opentelemetry-exporter-otlp-proto-grpc 126 128 opentelemetry-exporter-otlp-proto-http 127 129 opentelemetry-instrumentation-fastapi ··· 129 131 opentelemetry-instrumentation-sqlalchemy 130 132 packaging 131 133 pexpect 134 + pillow 132 135 prompt-toolkit 133 136 protobuf 134 137 psutil ··· 168 171 "omnigent_client" 169 172 "omnigent_ui_sdk" 170 173 ]; 174 + 175 + passthru.updateScript = ./update.sh; 171 176 172 177 meta = { 173 178 description = "Open-source meta-harness giving a common orchestration layer over AI coding agents";
+58
pkgs/omnigent/update.sh
··· 1 + #!/usr/bin/env bash 2 + set -euo pipefail 3 + 4 + # omnigent, omnigent-client and omnigent-ui-sdk are released in lockstep and 5 + # all three are fetched as py3 wheels in package.nix; nix-update only bumps 6 + # the top-level src, so bump all of them here. 7 + attr=omnigent 8 + 9 + # Run by update-pkgs from the flake root ($0 is a read-only store copy). 10 + pkg=pkgs/omnigent/package.nix 11 + system=$(nix eval --raw --impure --expr 'builtins.currentSystem') 12 + 13 + new_version=$(curl -fsSL https://pypi.org/pypi/omnigent/json | jq -r .info.version) 14 + old_version=$(sed -n 's|^ version = "\([^"]*\)";|\1|p' "$pkg") 15 + if [ "$old_version" = "$new_version" ]; then 16 + echo "$attr: already up to date ($new_version)" 17 + exit 0 18 + fi 19 + 20 + # Hash of the py3-none-any wheel as published on PyPI, in SRI form. 21 + wheel_hash() { 22 + local project=$1 hex 23 + hex=$(curl -fsSL "https://pypi.org/pypi/$project/$new_version/json" | 24 + jq -r '.urls[] | select(.packagetype == "bdist_wheel" and (.filename | endswith("-py3-none-any.whl"))) | .digests.sha256') 25 + if [ -z "$hex" ]; then 26 + echo "$attr: no py3-none-any wheel for $project $new_version" >&2 27 + exit 1 28 + fi 29 + nix hash convert --hash-algo sha256 --to sri "$hex" 30 + } 31 + 32 + # Replace the `hash = ...` that follows `pname = "<pname>"` (blanking first so 33 + # nothing ever builds against a stale cached FOD). 34 + set_hash() { 35 + local pname=$1 hash=$2 36 + sed -i "/pname = \"$pname\";/,/hash = /s|^\(\s*\)hash = \"[^\"]*\"|\1hash = \"$hash\"|" "$pkg" 37 + } 38 + 39 + client_hash=$(wheel_hash omnigent-client) 40 + ui_sdk_hash=$(wheel_hash omnigent-ui-sdk) 41 + app_hash=$(wheel_hash omnigent) 42 + 43 + sed -i \ 44 + -e "s|^\(\s*\)version = \"$old_version\";|\1version = \"$new_version\";|" \ 45 + -e "s|^\(\s*\)hash = \".*\"|\1hash = \"\"|" \ 46 + "$pkg" 47 + 48 + set_hash omnigent_client "$client_hash" 49 + set_hash omnigent_ui_sdk "$ui_sdk_hash" 50 + set_hash omnigent "$app_hash" 51 + 52 + if grep -q 'hash = ""' "$pkg"; then 53 + echo "$attr: failed to fill in every hash" >&2 54 + exit 1 55 + fi 56 + 57 + echo "$attr: updated $old_version → $new_version" 58 + nix build --no-link ".#packages.$system.$attr"