diff --git a/README.md b/README.md index e46b27b..a41872a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![conventional commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org) [![built with just](https://img.shields.io/badge/Built_with-Just-black?style=for-the-badge&logo=just&logoColor=white)](https://just.systems) ![gitHub commit activity](https://img.shields.io/github/commit-activity/m/osapi-io/osapi-orchestrator?style=for-the-badge) -[![go reference](https://img.shields.io/badge/go-reference-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https://pkg.go.dev/github.com/osapi-io/osapi-orchestrator/pkg/orchestrator) +[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=for-the-badge)](https://pkg.go.dev/github.com/osapi-io/osapi-orchestrator/pkg/orchestrator) # OSAPI Orchestrator diff --git a/examples/features/fact-predicates.go b/examples/features/fact-predicates.go index 027e229..82b53dc 100644 --- a/examples/features/fact-predicates.go +++ b/examples/features/fact-predicates.go @@ -67,7 +67,8 @@ func main() { fmt.Printf("Found %d agents matching all predicates\n", len(agents)) for _, a := range agents { - fmt.Printf(" %s (%s %s, %d CPUs)\n", + fmt.Printf( + " %s (%s %s, %d CPUs)\n", a.Hostname, a.OSInfo.Distribution, a.Architecture, diff --git a/go.mod b/go.mod index 92fb3b6..5618b5c 100644 --- a/go.mod +++ b/go.mod @@ -18,6 +18,7 @@ require ( require ( 4d63.com/gocheckcompilerdirectives v1.3.0 // indirect 4d63.com/gochecknoglobals v0.2.2 // indirect + charm.land/lipgloss/v2 v2.0.3 // indirect codeberg.org/chavacava/garif v0.2.0 // indirect codeberg.org/polyfloyd/go-errorlint v1.9.0 // indirect dev.gaijin.team/go/exhaustruct/v4 v4.0.0 // indirect @@ -30,11 +31,12 @@ require ( github.com/Antonboom/nilnil v1.1.1 // indirect github.com/Antonboom/testifylint v1.6.4 // indirect github.com/BurntSushi/toml v1.6.0 // indirect + github.com/ClickHouse/clickhouse-go-linter v1.2.0 // indirect github.com/Djarvur/go-err113 v0.1.1 // indirect - github.com/Masterminds/semver/v3 v3.4.0 // indirect + github.com/Masterminds/semver/v3 v3.5.0 // indirect github.com/MirrexOne/unqueryvet v1.5.4 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect - github.com/alecthomas/chroma/v2 v2.23.1 // indirect + github.com/alecthomas/chroma/v2 v2.24.1 // indirect github.com/alecthomas/go-check-sumtype v0.3.1 // indirect github.com/alecthomas/kingpin/v2 v2.4.0 // indirect github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect @@ -44,34 +46,39 @@ require ( github.com/alingse/asasalint v0.0.11 // indirect github.com/alingse/nilnesserr v0.2.0 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect - github.com/ashanbrown/forbidigo/v2 v2.3.0 // indirect - github.com/ashanbrown/makezero/v2 v2.1.0 // indirect + github.com/ashanbrown/forbidigo/v2 v2.3.1 // indirect + github.com/ashanbrown/makezero/v2 v2.2.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bkielbasa/cyclop v1.2.3 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bombsimon/wsl/v4 v4.7.0 // indirect - github.com/bombsimon/wsl/v5 v5.6.0 // indirect + github.com/bombsimon/wsl/v5 v5.8.0 // indirect github.com/boumenot/gocover-cobertura v1.4.0 // indirect github.com/breml/bidichk v0.3.3 // indirect github.com/breml/errchkjson v0.4.1 // indirect - github.com/butuzov/ireturn v0.4.0 // indirect + github.com/butuzov/ireturn v0.4.1 // indirect github.com/butuzov/mirror v1.3.0 // indirect github.com/catenacyber/perfsprint v0.10.1 // indirect github.com/ccojocar/zxcvbn-go v1.0.4 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.11 // indirect - github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect - github.com/charmbracelet/x/ansi v0.10.1 // indirect - github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect - github.com/charmbracelet/x/term v0.2.1 // indirect + github.com/charmbracelet/colorprofile v0.4.3 // indirect + github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318 // indirect + github.com/charmbracelet/x/ansi v0.11.7 // indirect + github.com/charmbracelet/x/cellbuf v0.0.15 // indirect + github.com/charmbracelet/x/term v0.2.2 // indirect + github.com/charmbracelet/x/termios v0.1.1 // indirect + github.com/charmbracelet/x/windows v0.2.2 // indirect github.com/ckaznocha/intrange v0.3.1 // indirect + github.com/clipperhouse/displaywidth v0.11.0 // indirect + github.com/clipperhouse/uax29/v2 v2.7.0 // indirect github.com/curioswitch/go-reassign v0.3.0 // indirect github.com/daixiang0/gci v0.13.7 // indirect github.com/dave/dst v0.27.3 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/denis-tingaikin/go-header v0.5.0 // indirect - github.com/dlclark/regexp2 v1.11.5 // indirect + github.com/dlclark/regexp2 v1.12.0 // indirect github.com/ettle/strcase v0.2.0 // indirect github.com/fatih/color v1.19.0 // indirect github.com/fatih/structtag v1.2.0 // indirect @@ -95,14 +102,15 @@ require ( github.com/godoc-lint/godoc-lint v0.11.2 // indirect github.com/gofrs/flock v0.13.0 // indirect github.com/golangci/asciicheck v0.5.0 // indirect - github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect + github.com/golangci/dupl v0.0.0-20260401084720-c99c5cf5c202 // indirect github.com/golangci/go-printf-func-name v0.1.1 // indirect github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect - github.com/golangci/golangci-lint/v2 v2.11.4 // indirect + github.com/golangci/golangci-lint/v2 v2.12.2 // indirect github.com/golangci/golines v0.15.0 // indirect github.com/golangci/misspell v0.8.0 // indirect github.com/golangci/plugin-module-register v0.1.2 // indirect github.com/golangci/revgrep v0.8.0 // indirect + github.com/golangci/rowserrcheck v0.0.0-20260419091836-c5f79b8a11ba // indirect github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e // indirect github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e // indirect github.com/google/go-cmp v0.7.0 // indirect @@ -113,12 +121,11 @@ require ( github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect github.com/gostaticanalysis/nilerr v0.1.2 // indirect github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect - github.com/hashicorp/go-version v1.8.0 // indirect + github.com/hashicorp/go-version v1.9.0 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jgautheron/goconst v1.8.2 // indirect - github.com/jingyugao/rowserrcheck v1.1.1 // indirect + github.com/jgautheron/goconst v1.10.0 // indirect github.com/jjti/go-spancheck v0.6.5 // indirect github.com/julz/importas v0.2.0 // indirect github.com/karamaru-alpha/copyloopvar v1.2.2 // indirect @@ -134,20 +141,21 @@ require ( github.com/ldez/tagliatelle v0.7.2 // indirect github.com/ldez/usetesting v0.5.0 // indirect github.com/leonklingele/grouper v1.1.2 // indirect - github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.4.0 // indirect github.com/macabu/inamedparam v0.2.0 // indirect github.com/manuelarte/embeddedstructfieldcheck v0.4.0 // indirect - github.com/manuelarte/funcorder v0.5.0 // indirect + github.com/manuelarte/funcorder v0.6.0 // indirect github.com/maratori/testableexamples v1.0.1 // indirect github.com/maratori/testpackage v1.1.2 // indirect github.com/matoous/godox v1.1.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.16 // indirect + github.com/mattn/go-runewidth v0.0.23 // indirect github.com/mgechev/revive v1.15.0 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/moricho/tparallel v0.3.2 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/nakabonne/nestif v0.3.1 // indirect @@ -156,7 +164,7 @@ require ( github.com/nunnatsa/ginkgolinter v0.23.0 // indirect github.com/nxadm/tail v1.4.11 // indirect github.com/oapi-codegen/runtime v1.4.0 // indirect - github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pelletier/go-toml/v2 v2.3.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -171,20 +179,21 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/ryancurrah/gomodguard v1.4.1 // indirect + github.com/ryancurrah/gomodguard/v2 v2.1.3 // indirect github.com/ryanrolds/sqlclosecheck v0.6.0 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.29.0 // indirect - github.com/securego/gosec/v2 v2.24.8-0.20260309165252-619ce2117e08 // indirect + github.com/securego/gosec/v2 v2.26.1 // indirect github.com/segmentio/golines v0.13.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/sirupsen/logrus v1.9.4 // indirect github.com/sivchari/containedctx v1.0.3 // indirect github.com/sonatard/noctx v0.5.1 // indirect github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect - github.com/sourcegraph/go-diff v0.7.0 // indirect + github.com/sourcegraph/go-diff v0.8.0 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spf13/cobra v1.10.2 // indirect @@ -194,15 +203,15 @@ require ( github.com/stbenjam/no-sprintf-host-port v0.3.1 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tetafro/godot v1.5.4 // indirect - github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect + github.com/tetafro/godot v1.5.6 // indirect + github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 // indirect github.com/timonwong/loggercheck v0.11.0 // indirect github.com/tomarrell/wrapcheck/v2 v2.12.0 // indirect github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect github.com/ultraware/funlen v0.2.0 // indirect github.com/ultraware/whitespace v0.2.0 // indirect github.com/uudashr/gocognit v1.2.1 // indirect - github.com/uudashr/iface v1.4.1 // indirect + github.com/uudashr/iface v1.4.2 // indirect github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect github.com/xen0n/gosmopolitan v1.3.0 // indirect github.com/xhit/go-str2duration/v2 v2.1.0 // indirect @@ -212,7 +221,7 @@ require ( github.com/ykadowak/zerologlint v0.1.5 // indirect gitlab.com/bosi/decorder v0.4.2 // indirect go-simpler.org/musttag v0.14.0 // indirect - go-simpler.org/sloglint v0.11.1 // indirect + go-simpler.org/sloglint v0.12.0 // indirect go.augendre.info/arangolint v0.4.0 // indirect go.augendre.info/fatcontext v0.9.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect @@ -223,17 +232,17 @@ require ( go.uber.org/zap v1.27.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.49.0 // indirect + golang.org/x/crypto v0.50.0 // indirect golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 // indirect - golang.org/x/mod v0.34.0 // indirect + golang.org/x/mod v0.35.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/sys v0.43.0 // indirect golang.org/x/term v0.42.0 // indirect - golang.org/x/text v0.35.0 // indirect - golang.org/x/tools v0.43.0 // indirect + golang.org/x/text v0.36.0 // indirect + golang.org/x/tools v0.44.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.7.0 // indirect - mvdan.cc/gofumpt v0.9.2 // indirect + mvdan.cc/gofumpt v0.10.0 // indirect mvdan.cc/unparam v0.0.0-20251027182757-5beb8c8f8f15 // indirect ) diff --git a/go.sum b/go.sum index 3c6a682..678a9bd 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ 4d63.com/gocheckcompilerdirectives v1.3.0/go.mod h1:ofsJ4zx2QAuIP/NO/NAh1ig6R1Fb18/GI7RVMwz7kAY= 4d63.com/gochecknoglobals v0.2.2 h1:H1vdnwnMaZdQW/N+NrkT1SZMTBmcwHe9Vq8lJcYYTtU= 4d63.com/gochecknoglobals v0.2.2/go.mod h1:lLxwTQjL5eIesRbvnzIP3jZtG140FnTdz+AlMa+ogt0= +charm.land/lipgloss/v2 v2.0.3 h1:yM2zJ4Cf5Y51b7RHIwioil4ApI/aypFXXVHSwlM6RzU= +charm.land/lipgloss/v2 v2.0.3/go.mod h1:7myLU9iG/3xluAWzpY/fSxYYHCgoKTie7laxk6ATwXA= codeberg.org/chavacava/garif v0.2.0 h1:F0tVjhYbuOCnvNcU3YSpO6b3Waw6Bimy4K0mM8y6MfY= codeberg.org/chavacava/garif v0.2.0/go.mod h1:P2BPbVbT4QcvLZrORc2T29szK3xEOlnl0GiPTJmEqBQ= codeberg.org/polyfloyd/go-errorlint v1.9.0 h1:VkdEEmA1VBpH6ecQoMR4LdphVI3fA4RrCh2an7YmodI= @@ -26,10 +28,12 @@ github.com/Antonboom/testifylint v1.6.4 h1:gs9fUEy+egzxkEbq9P4cpcMB6/G0DYdMeiFS8 github.com/Antonboom/testifylint v1.6.4/go.mod h1:YO33FROXX2OoUfwjz8g+gUxQXio5i9qpVy7nXGbxDD4= github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk= github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/ClickHouse/clickhouse-go-linter v1.2.0 h1:zbm174up3hTKjp0wKZVnTzRiG7tSF5XZF0FJG/MuCBI= +github.com/ClickHouse/clickhouse-go-linter v1.2.0/go.mod h1:pLorS7ffPTfuUV9M0SJgfHA/h/WQPQUk2FWG9x74cQ4= github.com/Djarvur/go-err113 v0.1.1 h1:eHfopDqXRwAi+YmCUas75ZE0+hoBHJ2GQNLYRSxao4g= github.com/Djarvur/go-err113 v0.1.1/go.mod h1:IaWJdYFLg76t2ihfflPZnM1LIQszWOsFDh2hhhAVF6k= -github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= +github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/MirrexOne/unqueryvet v1.5.4 h1:38QOxShO7JmMWT+eCdDMbcUgGCOeJphVkzzRgyLJgsQ= github.com/MirrexOne/unqueryvet v1.5.4/go.mod h1:fs9Zq6eh1LRIhsDIsxf9PONVUjYdFHdtkHIgZdJnyPU= github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4= @@ -37,8 +41,8 @@ github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgz github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= -github.com/alecthomas/chroma/v2 v2.23.1 h1:nv2AVZdTyClGbVQkIzlDm/rnhk1E9bU9nXwmZ/Vk/iY= -github.com/alecthomas/chroma/v2 v2.23.1/go.mod h1:NqVhfBR0lte5Ouh3DcthuUCTUpDC9cxBOfyMbMQPs3o= +github.com/alecthomas/chroma/v2 v2.24.1 h1:m5ffpfZbIb++k8AqFEKy9uVgY12xIQtBsQlc6DfZJQM= +github.com/alecthomas/chroma/v2 v2.24.1/go.mod h1:l+ohZ9xRXIbGe7cIW+YZgOGbvuVLjMps/FYN/CwuabI= github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU= github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E= github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= @@ -59,10 +63,10 @@ github.com/alingse/nilnesserr v0.2.0 h1:raLem5KG7EFVb4UIDAXgrv3N2JIaffeKNtcEXkEW github.com/alingse/nilnesserr v0.2.0/go.mod h1:1xJPrXonEtX7wyTq8Dytns5P2hNzoWymVUIaKm4HNFg= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/ashanbrown/forbidigo/v2 v2.3.0 h1:OZZDOchCgsX5gvToVtEBoV2UWbFfI6RKQTir2UZzSxo= -github.com/ashanbrown/forbidigo/v2 v2.3.0/go.mod h1:5p6VmsG5/1xx3E785W9fouMxIOkvY2rRV9nMdWadd6c= -github.com/ashanbrown/makezero/v2 v2.1.0 h1:snuKYMbqosNokUKm+R6/+vOPs8yVAi46La7Ck6QYSaE= -github.com/ashanbrown/makezero/v2 v2.1.0/go.mod h1:aEGT/9q3S8DHeE57C88z2a6xydvgx8J5hgXIGWgo0MY= +github.com/ashanbrown/forbidigo/v2 v2.3.1 h1:KAZijvQ7zeIBKbhikT4jCm0TLYXC4u78bTiLh/8JROI= +github.com/ashanbrown/forbidigo/v2 v2.3.1/go.mod h1:2QDkLTzU6TV937eFROamXrW92M3paehdae4HCDCOZCM= +github.com/ashanbrown/makezero/v2 v2.2.1 h1:A7uU8dgB1PA9aelTxHMfHIQ8Qev8AB3JLxJUBUsejqM= +github.com/ashanbrown/makezero/v2 v2.2.1/go.mod h1:aEGT/9q3S8DHeE57C88z2a6xydvgx8J5hgXIGWgo0MY= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -74,16 +78,16 @@ github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkAp github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= github.com/bombsimon/wsl/v4 v4.7.0 h1:1Ilm9JBPRczjyUs6hvOPKvd7VL1Q++PL8M0SXBDf+jQ= github.com/bombsimon/wsl/v4 v4.7.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg= -github.com/bombsimon/wsl/v5 v5.6.0 h1:4z+/sBqC5vUmSp1O0mS+czxwH9+LKXtCWtHH9rZGQL8= -github.com/bombsimon/wsl/v5 v5.6.0/go.mod h1:Uqt2EfrMj2NV8UGoN1f1Y3m0NpUVCsUdrNCdet+8LvU= +github.com/bombsimon/wsl/v5 v5.8.0 h1:JTkyfs4yl8SPejrCF2GdABXE+mO1WvM7iUYzRWlsxDs= +github.com/bombsimon/wsl/v5 v5.8.0/go.mod h1:AbOLsulgkqP4ZnitHf9gwPtCOGlrzkk0jb0uNxRSY0o= github.com/boumenot/gocover-cobertura v1.4.0 h1:ACJAt5wRi1HU+P9xNDgzWXgLMEVYUWeOgQWZwH+36kU= github.com/boumenot/gocover-cobertura v1.4.0/go.mod h1:Vme2O66tGa5gNpw5kwB+qzpULOnWSmnAHA5NYAOWFv8= github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE= github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE= github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg= github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s= -github.com/butuzov/ireturn v0.4.0 h1:+s76bF/PfeKEdbG8b54aCocxXmi0wvYdOVsWxVO7n8E= -github.com/butuzov/ireturn v0.4.0/go.mod h1:ghI0FrCmap8pDWZwfPisFD1vEc56VKH4NpQUxDHta70= +github.com/butuzov/ireturn v0.4.1 h1:vWb3NO4t77iku/sjCQ/2pHTQeOmxEhjIriJqRLg1Y+I= +github.com/butuzov/ireturn v0.4.1/go.mod h1:q+DXKzTDV5guNuXLnIab9fKXizTn2miZHLhxH7V/GB4= github.com/butuzov/mirror v1.3.0 h1:HdWCXzmwlQHdVhwvsfBb2Au0r3HyINry3bDWLYXiKoc= github.com/butuzov/mirror v1.3.0/go.mod h1:AEij0Z8YMALaq4yQj9CPPVYOyJQyiexpQEQgihajRfI= github.com/catenacyber/perfsprint v0.10.1 h1:u7Riei30bk46XsG8nknMhKLXG9BcXz3+3tl/WpKm0PQ= @@ -94,18 +98,28 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.11 h1:g1/EX1eIiKS57NTWsYtHDZ/APfeXKhye1DidBcABctk= github.com/charithe/durationcheck v0.0.11/go.mod h1:x5iZaixRNl8ctbM+3B2RrPG5t856TxRyVQEnbIEM2X4= -github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs= -github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk= +github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q= +github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= -github.com/charmbracelet/x/ansi v0.10.1 h1:rL3Koar5XvX0pHGfovN03f5cxLbCF2YvLeyz7D2jVDQ= -github.com/charmbracelet/x/ansi v0.10.1/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE= -github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8= -github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs= -github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= -github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= +github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318 h1:OqDqxQZliC7C8adA7KjelW3OjtAxREfeHkNcd66wpeI= +github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318/go.mod h1:Y6kE2GzHfkyQQVCSL9r2hwokSrIlHGzZG+71+wDYSZI= +github.com/charmbracelet/x/ansi v0.11.7 h1:kzv1kJvjg2S3r9KHo8hDdHFQLEqn4RBCb39dAYC84jI= +github.com/charmbracelet/x/ansi v0.11.7/go.mod h1:9qGpnAVYz+8ACONkZBUWPtL7lulP9No6p1epAihUZwQ= +github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI= +github.com/charmbracelet/x/cellbuf v0.0.15/go.mod h1:J1YVbR7MUuEGIFPCaaZ96KDl5NoS0DAWkskup+mOY+Q= +github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= +github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI= +github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY= +github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo= +github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM= +github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k= github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs= github.com/ckaznocha/intrange v0.3.1/go.mod h1:QVepyz1AkUoFQkpEqksSYpNpUo3c5W7nWh/s6SHIJJk= +github.com/clipperhouse/displaywidth v0.11.0 h1:lBc6kY44VFw+TDx4I8opi/EtL9m20WSEFgwIwO+UVM8= +github.com/clipperhouse/displaywidth v0.11.0/go.mod h1:bkrFNkf81G8HyVqmKGxsPufD3JhNl3dSqnGhOoSD/o0= +github.com/clipperhouse/uax29/v2 v2.7.0 h1:+gs4oBZ2gPfVrKPthwbMzWZDaAFPGYK72F0NJv2v7Vk= +github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/curioswitch/go-reassign v0.3.0 h1:dh3kpQHuADL3cobV/sSGETA8DOv457dwl+fbBAhrQPs= github.com/curioswitch/go-reassign v0.3.0/go.mod h1:nApPCCTtqLJN/s8HfItCcKV0jIPwluBOvZP+dsJGA88= @@ -121,8 +135,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8= github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY= -github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ= -github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8= +github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= @@ -147,8 +161,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= +github.com/go-quicktest/qt v1.102.0 h1:HSQxCeh5YZH3EL3W39ixjtyaEhcWSXQHtHnMBzSs474= +github.com/go-quicktest/qt v1.102.0/go.mod h1:p4lGIVX+8Wa6ZPNDvqcxq36XpUDLh42FLetFU7odllI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= @@ -182,14 +196,14 @@ github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw= github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0= github.com/golangci/asciicheck v0.5.0 h1:jczN/BorERZwK8oiFBOGvlGPknhvq0bjnysTj4nUfo0= github.com/golangci/asciicheck v0.5.0/go.mod h1:5RMNAInbNFw2krqN6ibBxN/zfRFa9S6tA1nPdM0l8qQ= -github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6OmeSBYQJNSif4O11+bmWEz+C7FYw= -github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E= +github.com/golangci/dupl v0.0.0-20260401084720-c99c5cf5c202 h1:CbTB8KpqnViI6lIXxp03Oclc4VFHi3K4BWC1TacsZ+A= +github.com/golangci/dupl v0.0.0-20260401084720-c99c5cf5c202/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E= github.com/golangci/go-printf-func-name v0.1.1 h1:hIYTFJqAGp1iwoIfsNTpoq1xZAarogrvjO9AfiW3B4U= github.com/golangci/go-printf-func-name v0.1.1/go.mod h1:Es64MpWEZbh0UBtTAICOZiB+miW53w/K9Or/4QogJss= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= -github.com/golangci/golangci-lint/v2 v2.11.4 h1:GK+UlZBN5y7rh2PBnHA93XLSX6RaF7uhzJQ3JwU1wuA= -github.com/golangci/golangci-lint/v2 v2.11.4/go.mod h1:ODQDCASMA3VqfZYIbbQLpTRTzV7O/vjmIRF6u8NyFwI= +github.com/golangci/golangci-lint/v2 v2.12.2 h1:7+d1uY0bq1MU2UV3R5pW5Q7QWdcoq4naMRXM+gsJKrs= +github.com/golangci/golangci-lint/v2 v2.12.2/go.mod h1:opqHHuIcTG2R+4akzWMd4o1BnD9/1LcjICWOujr91U8= github.com/golangci/golines v0.15.0 h1:Qnph25g8Y1c5fdo1X7GaRDGgnMHgnxh4Gk4VfPTtRx0= github.com/golangci/golines v0.15.0/go.mod h1:AZjXd23tbHMpowhtnGlj9KCNsysj72aeZVVHnVcZx10= github.com/golangci/misspell v0.8.0 h1:qvxQhiE2/5z+BVRo1kwYA8yGz+lOlu5Jfvtx2b04Jbg= @@ -198,6 +212,8 @@ github.com/golangci/plugin-module-register v0.1.2 h1:e5WM6PO6NIAEcij3B053CohVp3H github.com/golangci/plugin-module-register v0.1.2/go.mod h1:1+QGTsKBvAIvPvoY/os+G5eoqxWn70HYDm2uvUyGuVw= github.com/golangci/revgrep v0.8.0 h1:EZBctwbVd0aMeRnNUsFogoyayvKHyxlV3CdUA46FX2s= github.com/golangci/revgrep v0.8.0/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k= +github.com/golangci/rowserrcheck v0.0.0-20260419091836-c5f79b8a11ba h1:lqtcnSMDuuJdu/LrKWi5RJzpSNLOJXYe/nzQutTI5kg= +github.com/golangci/rowserrcheck v0.0.0-20260419091836-c5f79b8a11ba/go.mod h1:sCBNcpRmhJCtbFGz49+IM3ETTFf7QdJ30AeYCd43NKk= github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e h1:ai0EfmVYE2bRA5htgAG9r7s3tHsfjIhN98WshBTJ9jM= github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e/go.mod h1:Vrn4B5oR9qRwM+f54koyeH3yzphlecwERs0el27Fr/s= github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e h1:gD6P7NEo7Eqtt0ssnqSJNNndxe69DOQ24A5h7+i3KpM= @@ -230,18 +246,16 @@ github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1T github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= -github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= +github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jgautheron/goconst v1.8.2 h1:y0XF7X8CikZ93fSNT6WBTb/NElBu9IjaY7CCYQrCMX4= -github.com/jgautheron/goconst v1.8.2/go.mod h1:A0oxgBCHy55NQn6sYpO7UdnA9p+h7cPtoOZUmvNIako= -github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= -github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jgautheron/goconst v1.10.0 h1:Ptt+OoE4NaEWKhLrWrrN3IpZdGLiqaf7WLnEX/iv4Jw= +github.com/jgautheron/goconst v1.10.0/go.mod h1:0p+wv1lFOiUr0IlNNT1nrm6+8DB8u2sU6KHGzFRXHDc= github.com/jjti/go-spancheck v0.6.5 h1:lmi7pKxa37oKYIMScialXUK6hP3iY5F1gu+mLBPgYB8= github.com/jjti/go-spancheck v0.6.5/go.mod h1:aEogkeatBrbYsyW6y5TgDfihCulDYciL1B7rG2vSsrU= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= @@ -280,14 +294,14 @@ github.com/ldez/usetesting v0.5.0 h1:3/QtzZObBKLy1F4F8jLuKJiKBjjVFi1IavpoWbmqLwc github.com/ldez/usetesting v0.5.0/go.mod h1:Spnb4Qppf8JTuRgblLrEWb7IE6rDmUpGvxY3iRrzvDQ= github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY= github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA= -github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= -github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4= +github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE= github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U= github.com/manuelarte/embeddedstructfieldcheck v0.4.0 h1:3mAIyaGRtjK6EO9E73JlXLtiy7ha80b2ZVGyacxgfww= github.com/manuelarte/embeddedstructfieldcheck v0.4.0/go.mod h1:z8dFSyXqp+fC6NLDSljRJeNQJJDWnY7RoWFzV3PC6UM= -github.com/manuelarte/funcorder v0.5.0 h1:llMuHXXbg7tD0i/LNw8vGnkDTHFpTnWqKPI85Rknc+8= -github.com/manuelarte/funcorder v0.5.0/go.mod h1:Yt3CiUQthSBMBxjShjdXMexmzpP8YGvGLjrxJNkO2hA= +github.com/manuelarte/funcorder v0.6.0 h1:0hBngc4fa1IgNiI65A7sFGkMvoMCc878RjqB5V7rWP0= +github.com/manuelarte/funcorder v0.6.0/go.mod h1:id3NDhXdQBmeqXH7eVC6Z89xS6JxvZ8kF9xUxpArU/g= github.com/maratori/testableexamples v1.0.1 h1:HfOQXs+XgfeRBJ+Wz0XfH+FHnoY9TVqL6Fcevpzy4q8= github.com/maratori/testableexamples v1.0.1/go.mod h1:XE2F/nQs7B9N08JgyRmdGjYVGqxWwClLPCGSQhXQSrQ= github.com/maratori/testpackage v1.1.2 h1:ffDSh+AgqluCLMXhM19f/cpvQAKygKAJXFl9aUjmbqs= @@ -300,8 +314,8 @@ github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHP github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= -github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw= +github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mgechev/revive v1.15.0 h1:vJ0HzSBzfNyPbHKolgiFjHxLek9KUijhqh42yGoqZ8Q= github.com/mgechev/revive v1.15.0/go.mod h1:LlAKO3QQe9OJ0pVZzI2GPa8CbXGZ/9lNpCGvK4T/a8A= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= @@ -310,6 +324,8 @@ github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI= github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc= github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= @@ -328,8 +344,8 @@ github.com/oapi-codegen/runtime v1.4.0 h1:KLOSFOp7UzkbS7Cs1ms6NBEKYr0WmH2wZG0KKb github.com/oapi-codegen/runtime v1.4.0/go.mod h1:5sw5fxCDmnOzKNYmkVNF8d34kyUeejJEY8HNT2WaPec= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI= -github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= +github.com/onsi/ginkgo/v2 v2.28.2 h1:DTrMfpqxiNUyQ3Y0zhn1n3cOO2euFgQPYIpkWwxVFps= +github.com/onsi/ginkgo/v2 v2.28.2/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= @@ -339,8 +355,8 @@ github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJ github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pelletier/go-toml/v2 v2.3.1 h1:MYEvvGnQjeNkRF1qUuGolNtNExTDwct51yp7olPtrEc= +github.com/pelletier/go-toml/v2 v2.3.1/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -366,7 +382,6 @@ github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74 github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU= github.com/retr0h/osapi v0.0.0-20260410060151-cba2e9f19183 h1:YCCV/oHI2kUydeHW2rBjIcLf3+YYEgCPT33czzVrJzU= github.com/retr0h/osapi v0.0.0-20260410060151-cba2e9f19183/go.mod h1:/yED58gh3VlTJcUMDMS4YQFUEAEdSa8e1Chp4hmPkuI= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= @@ -374,6 +389,8 @@ github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g= github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I= +github.com/ryancurrah/gomodguard/v2 v2.1.3 h1:E7sz3PJwE9Ba1reVxSpF6XLCPJZ74Kfw/LabTNM4GIA= +github.com/ryancurrah/gomodguard/v2 v2.1.3/go.mod h1:CQicdLGatWMxLX53JzoBjYlsNZhHbmLv2AVa0s2aivU= github.com/ryanrolds/sqlclosecheck v0.6.0 h1:pEyL9okISdg1F1SEpJNlrEotkTGerv5BMk7U4AG0eVg= github.com/ryanrolds/sqlclosecheck v0.6.0/go.mod h1:xyX16hsDaCMXHrMJ3JMzGf5OpDfHTOTTQrT7HOFUmeU= github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= @@ -386,14 +403,12 @@ github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tM github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.29.0 h1:8J0MoRrw4/NAXtjQqTHrbW9NN+3iMf7Knkq057v4XOQ= github.com/sashamelentyev/usestdlibvars v1.29.0/go.mod h1:8PpnjHMk5VdeWlVb4wCdrB8PNbLqZ3wBZTZWkrpZZL8= -github.com/securego/gosec/v2 v2.24.8-0.20260309165252-619ce2117e08 h1:AoLtJX4WUtZkhhUUMFy3GgecAALp/Mb4S1iyQOA2s0U= -github.com/securego/gosec/v2 v2.24.8-0.20260309165252-619ce2117e08/go.mod h1:+XLCJiRE95ga77XInNELh2M6zQP+PdqiT9Zpm0D9Wpk= +github.com/securego/gosec/v2 v2.26.1 h1:gdkttGhQFVehqRJ8grKH4DrpqM/QlPKNHBnl8QgcEC4= +github.com/securego/gosec/v2 v2.26.1/go.mod h1:57UW4p0uoP3kxoTkhoo3axLdVAi+OWrLg/Ax/kdqtPE= github.com/segmentio/golines v0.13.0 h1:GfbpsxoF4eYuEZD3mxrlsN/XD30m6nOO4QLQj2JIa90= github.com/segmentio/golines v0.13.0/go.mod h1:MMEi38dnJiyxqFZqFOqN14QMzWHzj/i0+L9Q2MsVr64= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE= @@ -402,8 +417,8 @@ github.com/sonatard/noctx v0.5.1 h1:wklWg9c9ZYugOAk7qG4yP4PBrlQsmSLPTvW1K4PRQMs= github.com/sonatard/noctx v0.5.1/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= -github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= -github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= +github.com/sourcegraph/go-diff v0.8.0 h1:ipIyu4cTsLbIrln4l0qtHA3r0a7gyK4ntKjtQytHhvY= +github.com/sourcegraph/go-diff v0.8.0/go.mod h1:hWlcO7Al+UZStZAP8rBumHpCK5ZHQ5BXsMls8p4+F5E= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= @@ -440,10 +455,10 @@ github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= -github.com/tetafro/godot v1.5.4 h1:u1ww+gqpRLiIA16yF2PV1CV1n/X3zhyezbNXC3E14Sg= -github.com/tetafro/godot v1.5.4/go.mod h1:eOkMrVQurDui411nBY2FA05EYH01r14LuWY/NrVDVcU= -github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk= -github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67/go.mod h1:mkjARE7Yr8qU23YcGMSALbIxTQ9r9QBVahQOBRfU460= +github.com/tetafro/godot v1.5.6 h1:IEkrFCwXaYHlOn4mGzGS3F3dkP6m9t0jpwqBFPIkKiA= +github.com/tetafro/godot v1.5.6/go.mod h1:eOkMrVQurDui411nBY2FA05EYH01r14LuWY/NrVDVcU= +github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 h1:SiHe5XLTn9sFWJ5pBwJ5FN/4j34q9ZlOAD//kMoMYp0= +github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4/go.mod h1:sDHLK7rb/59v/ZxZ7KtymgcoxuUMxjXq8gtu9VMOK8M= github.com/timonwong/loggercheck v0.11.0 h1:jdaMpYBl+Uq9mWPXv1r8jc5fC3gyXx4/WGwTnnNKn4M= github.com/timonwong/loggercheck v0.11.0/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8= github.com/tomarrell/wrapcheck/v2 v2.12.0 h1:H/qQ1aNWz/eeIhxKAFvkfIA+N7YDvq6TWVFL27Of9is= @@ -456,8 +471,8 @@ github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSW github.com/ultraware/whitespace v0.2.0/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8= github.com/uudashr/gocognit v1.2.1 h1:CSJynt5txTnORn/DkhiB4mZjwPuifyASC8/6Q0I/QS4= github.com/uudashr/gocognit v1.2.1/go.mod h1:acaubQc6xYlXFEMb9nWX2dYBzJ/bIjEkc1zzvyIZg5Q= -github.com/uudashr/iface v1.4.1 h1:J16Xl1wyNX9ofhpHmQ9h9gk5rnv2A6lX/2+APLTo0zU= -github.com/uudashr/iface v1.4.1/go.mod h1:pbeBPlbuU2qkNDn0mmfrxP2X+wjPMIQAy+r1MBXSXtg= +github.com/uudashr/iface v1.4.2 h1:06Vq5RKVYThBsj0Bnw4oasMjD1r+7CE/bcKOA8dVSvg= +github.com/uudashr/iface v1.4.2/go.mod h1:pbeBPlbuU2qkNDn0mmfrxP2X+wjPMIQAy+r1MBXSXtg= github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM= @@ -475,7 +490,6 @@ github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo= @@ -484,8 +498,8 @@ go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ= go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= go-simpler.org/musttag v0.14.0 h1:XGySZATqQYSEV3/YTy+iX+aofbZZllJaqwFWs+RTtSo= go-simpler.org/musttag v0.14.0/go.mod h1:uP8EymctQjJ4Z1kUnjX0u2l60WfUdQxCwSNKzE1JEOE= -go-simpler.org/sloglint v0.11.1 h1:xRbPepLT/MHPTCA6TS/wNfZrDzkGvCCqUv4Bdwc3H7s= -go-simpler.org/sloglint v0.11.1/go.mod h1:2PowwiCOK8mjiF+0KGifVOT8ZsCNiFzvfyJeJOIt8MQ= +go-simpler.org/sloglint v0.12.0 h1:UzWDlLWNE5FLqsvyq3tWYHuQMbqrervOhT8qPl4Mmw4= +go-simpler.org/sloglint v0.12.0/go.mod h1:jBjjC2bm8rYrs88oTRlFX497kWjJsyZWYoNaXkGRI6I= go.augendre.info/arangolint v0.4.0 h1:xSCZjRoS93nXazBSg5d0OGCi9APPLNMmmLrC995tR50= go.augendre.info/arangolint v0.4.0/go.mod h1:l+f/b4plABuFISuKnTGD4RioXiCCgghv2xqst/xOvAA= go.augendre.info/fatcontext v0.9.0 h1:Gt5jGD4Zcj8CDMVzjOJITlSb9cEch54hjRRlN3qDojE= @@ -512,10 +526,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= -golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= +golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI= +golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= @@ -525,29 +537,22 @@ golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358/go.mod h1:4Mzdyp/ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= -golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= +golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= +golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -555,8 +560,6 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -565,9 +568,7 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -576,17 +577,11 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -595,24 +590,19 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= -golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= -golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= +golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= +golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= @@ -636,7 +626,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.7.0 h1:w6WUp1VbkqPEgLz4rkBzH/CSU6HkoqNLp6GstyTx3lU= honnef.co/go/tools v0.7.0/go.mod h1:pm29oPxeP3P82ISxZDgIYeOaf9ta6Pi0EWvCFoLG2vc= -mvdan.cc/gofumpt v0.9.2 h1:zsEMWL8SVKGHNztrx6uZrXdp7AX8r421Vvp23sz7ik4= -mvdan.cc/gofumpt v0.9.2/go.mod h1:iB7Hn+ai8lPvofHd9ZFGVg2GOr8sBUw1QUWjNbmIL/s= +mvdan.cc/gofumpt v0.10.0 h1:yGGpRS2pBN2OQIi7b21IXknJna7faPkFaVfHLrN6Euo= +mvdan.cc/gofumpt v0.10.0/go.mod h1:sU2ElXHzOEmvoPqfutYG7uunlueR4K2T1JFml40SzP4= mvdan.cc/unparam v0.0.0-20251027182757-5beb8c8f8f15 h1:ssMzja7PDPJV8FStj7hq9IKiuiKhgz9ErWw+m68e7DI= mvdan.cc/unparam v0.0.0-20251027182757-5beb8c8f8f15/go.mod h1:4M5MMXl2kW6fivUT6yRGpLLPNfuGtU2Z0cPvFquGDYU= diff --git a/pkg/orchestrator/ops.go b/pkg/orchestrator/ops.go index a070b2f..6cade7b 100644 --- a/pkg/orchestrator/ops.go +++ b/pkg/orchestrator/ops.go @@ -109,7 +109,8 @@ func (o *Orchestrator) NodeHostnameGet( return nil, fmt.Errorf("get hostname: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.HostnameResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -143,7 +144,8 @@ func (o *Orchestrator) NodeHostnameUpdate( return nil, fmt.Errorf("update hostname: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.HostnameUpdateResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -180,7 +182,8 @@ func (o *Orchestrator) NodeStatusGet( return nil, fmt.Errorf("get status: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.NodeStatus) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -213,7 +216,8 @@ func (o *Orchestrator) NodeUptimeGet( return nil, fmt.Errorf("get uptime: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UptimeResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -246,7 +250,8 @@ func (o *Orchestrator) NodeDiskGet( return nil, fmt.Errorf("get disk: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DiskResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -279,7 +284,8 @@ func (o *Orchestrator) NodeMemoryGet( return nil, fmt.Errorf("get memory: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.MemoryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -312,7 +318,8 @@ func (o *Orchestrator) NodeLoadGet( return nil, fmt.Errorf("get load: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.LoadResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -345,7 +352,8 @@ func (o *Orchestrator) NodeOSGet( return nil, fmt.Errorf("get os: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.OSInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -383,7 +391,8 @@ func (o *Orchestrator) NetworkDNSGet( return nil, fmt.Errorf("get dns: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DNSConfig) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -421,7 +430,8 @@ func (o *Orchestrator) NetworkDNSUpdate( return nil, fmt.Errorf("update dns: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DNSUpdateResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -455,7 +465,8 @@ func (o *Orchestrator) NetworkDNSDelete( return nil, fmt.Errorf("delete dns: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DNSDeleteResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -489,7 +500,8 @@ func (o *Orchestrator) NetworkPingDo( return nil, fmt.Errorf("ping: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PingResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -526,7 +538,8 @@ func (o *Orchestrator) InterfaceList( return nil, fmt.Errorf("list interfaces: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.InterfaceListResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -559,7 +572,8 @@ func (o *Orchestrator) InterfaceGet( return nil, fmt.Errorf("get interface: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.InterfaceGetResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -594,7 +608,8 @@ func (o *Orchestrator) InterfaceCreate( return nil, fmt.Errorf("create interface: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.InterfaceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -630,7 +645,8 @@ func (o *Orchestrator) InterfaceUpdate( return nil, fmt.Errorf("update interface: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.InterfaceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -665,7 +681,8 @@ func (o *Orchestrator) InterfaceDelete( return nil, fmt.Errorf("delete interface: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.InterfaceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -702,7 +719,8 @@ func (o *Orchestrator) RouteList( return nil, fmt.Errorf("list routes: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.RouteListResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -735,7 +753,8 @@ func (o *Orchestrator) RouteGet( return nil, fmt.Errorf("get route: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.RouteGetResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -769,7 +788,8 @@ func (o *Orchestrator) RouteCreate( return nil, fmt.Errorf("create route: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.RouteMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -804,7 +824,8 @@ func (o *Orchestrator) RouteUpdate( return nil, fmt.Errorf("update route: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.RouteMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -838,7 +859,8 @@ func (o *Orchestrator) RouteDelete( return nil, fmt.Errorf("delete route: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.RouteMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -881,7 +903,8 @@ func (o *Orchestrator) CommandExec( return nil, fmt.Errorf("exec command: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CommandResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -923,7 +946,8 @@ func (o *Orchestrator) CommandShell( return nil, fmt.Errorf("shell command: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CommandResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -967,7 +991,8 @@ func (o *Orchestrator) FileDeploy( return nil, fmt.Errorf("deploy file: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.FileDeployResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1003,7 +1028,8 @@ func (o *Orchestrator) FileStatusGet( return nil, fmt.Errorf("file status: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.FileStatusResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1041,7 +1067,8 @@ func (o *Orchestrator) FileUndeploy( return nil, fmt.Errorf("undeploy file: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.FileUndeployResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1166,7 +1193,8 @@ func (o *Orchestrator) DockerPull( return nil, fmt.Errorf("docker pull: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerPullResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1200,7 +1228,8 @@ func (o *Orchestrator) DockerCreate( return nil, fmt.Errorf("docker create: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1234,7 +1263,8 @@ func (o *Orchestrator) DockerStart( return nil, fmt.Errorf("docker start: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerActionResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1269,7 +1299,8 @@ func (o *Orchestrator) DockerStop( return nil, fmt.Errorf("docker stop: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerActionResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1304,7 +1335,8 @@ func (o *Orchestrator) DockerRemove( return nil, fmt.Errorf("docker remove: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerActionResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1339,7 +1371,8 @@ func (o *Orchestrator) DockerExec( return nil, fmt.Errorf("docker exec: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerExecResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1373,7 +1406,8 @@ func (o *Orchestrator) DockerInspect( return nil, fmt.Errorf("docker inspect: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerDetailResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1407,7 +1441,8 @@ func (o *Orchestrator) DockerList( return nil, fmt.Errorf("docker list: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerListResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1448,7 +1483,8 @@ func (o *Orchestrator) DockerImageRemove( return nil, fmt.Errorf("docker image remove: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.DockerActionResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1485,7 +1521,8 @@ func (o *Orchestrator) CronList( return nil, fmt.Errorf("list cron: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CronEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1519,7 +1556,8 @@ func (o *Orchestrator) CronGet( return nil, fmt.Errorf("get cron: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CronEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1553,7 +1591,8 @@ func (o *Orchestrator) CronCreate( return nil, fmt.Errorf("create cron: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CronMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1588,7 +1627,8 @@ func (o *Orchestrator) CronUpdate( return nil, fmt.Errorf("update cron: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CronMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1622,7 +1662,8 @@ func (o *Orchestrator) CronDelete( return nil, fmt.Errorf("delete cron: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CronMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1771,7 +1812,8 @@ func (o *Orchestrator) SysctlList( return nil, fmt.Errorf("list sysctl: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SysctlEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1804,7 +1846,8 @@ func (o *Orchestrator) SysctlGet( return nil, fmt.Errorf("get sysctl: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SysctlEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1837,7 +1880,8 @@ func (o *Orchestrator) SysctlCreate( return nil, fmt.Errorf("create sysctl: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SysctlMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1872,7 +1916,8 @@ func (o *Orchestrator) SysctlUpdate( return nil, fmt.Errorf("update sysctl: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SysctlMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1906,7 +1951,8 @@ func (o *Orchestrator) SysctlDelete( return nil, fmt.Errorf("delete sysctl: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SysctlMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1943,7 +1989,8 @@ func (o *Orchestrator) NTPGet( return nil, fmt.Errorf("get ntp: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.NtpStatusResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -1976,7 +2023,8 @@ func (o *Orchestrator) NTPCreate( return nil, fmt.Errorf("create ntp: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.NtpMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2010,7 +2058,8 @@ func (o *Orchestrator) NTPUpdate( return nil, fmt.Errorf("update ntp: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.NtpMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2043,7 +2092,8 @@ func (o *Orchestrator) NTPDelete( return nil, fmt.Errorf("delete ntp: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.NtpMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2080,7 +2130,8 @@ func (o *Orchestrator) TimezoneGet( return nil, fmt.Errorf("get timezone: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.TimezoneResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2113,7 +2164,8 @@ func (o *Orchestrator) TimezoneUpdate( return nil, fmt.Errorf("update timezone: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.TimezoneMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2150,7 +2202,8 @@ func (o *Orchestrator) ServiceList( return nil, fmt.Errorf("list services: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2183,7 +2236,8 @@ func (o *Orchestrator) ServiceGet( return nil, fmt.Errorf("get service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceGetResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2216,7 +2270,8 @@ func (o *Orchestrator) ServiceCreate( return nil, fmt.Errorf("create service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2251,7 +2306,8 @@ func (o *Orchestrator) ServiceUpdate( return nil, fmt.Errorf("update service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2285,7 +2341,8 @@ func (o *Orchestrator) ServiceDelete( return nil, fmt.Errorf("delete service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2319,7 +2376,8 @@ func (o *Orchestrator) ServiceStart( return nil, fmt.Errorf("start service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2353,7 +2411,8 @@ func (o *Orchestrator) ServiceStop( return nil, fmt.Errorf("stop service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2387,7 +2446,8 @@ func (o *Orchestrator) ServiceRestart( return nil, fmt.Errorf("restart service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2421,7 +2481,8 @@ func (o *Orchestrator) ServiceEnable( return nil, fmt.Errorf("enable service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2455,7 +2516,8 @@ func (o *Orchestrator) ServiceDisable( return nil, fmt.Errorf("disable service: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ServiceMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2492,7 +2554,8 @@ func (o *Orchestrator) PackageList( return nil, fmt.Errorf("list packages: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2525,7 +2588,8 @@ func (o *Orchestrator) PackageGet( return nil, fmt.Errorf("get package: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2558,7 +2622,8 @@ func (o *Orchestrator) PackageInstall( return nil, fmt.Errorf("install package: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2592,7 +2657,8 @@ func (o *Orchestrator) PackageRemove( return nil, fmt.Errorf("remove package: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2625,7 +2691,8 @@ func (o *Orchestrator) PackageUpdate( return nil, fmt.Errorf("update packages: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2658,7 +2725,8 @@ func (o *Orchestrator) PackageListUpdates( return nil, fmt.Errorf("list package updates: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PackageUpdateResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2694,7 +2762,8 @@ func (o *Orchestrator) UserList( return nil, fmt.Errorf("list users: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2727,7 +2796,8 @@ func (o *Orchestrator) UserGet( return nil, fmt.Errorf("get user: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2760,7 +2830,8 @@ func (o *Orchestrator) UserCreate( return nil, fmt.Errorf("create user: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2795,7 +2866,8 @@ func (o *Orchestrator) UserUpdate( return nil, fmt.Errorf("update user: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2829,7 +2901,8 @@ func (o *Orchestrator) UserDelete( return nil, fmt.Errorf("delete user: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2863,7 +2936,8 @@ func (o *Orchestrator) UserListKeys( return nil, fmt.Errorf("list ssh keys: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SSHKeyInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2897,7 +2971,8 @@ func (o *Orchestrator) UserAddKey( return nil, fmt.Errorf("add ssh key: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SSHKeyMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2932,7 +3007,8 @@ func (o *Orchestrator) UserRemoveKey( return nil, fmt.Errorf("remove ssh key: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.SSHKeyMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -2967,7 +3043,8 @@ func (o *Orchestrator) UserChangePassword( return nil, fmt.Errorf("change password: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.UserMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3004,7 +3081,8 @@ func (o *Orchestrator) GroupList( return nil, fmt.Errorf("list groups: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.GroupInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3037,7 +3115,8 @@ func (o *Orchestrator) GroupGet( return nil, fmt.Errorf("get group: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.GroupInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3070,7 +3149,8 @@ func (o *Orchestrator) GroupCreate( return nil, fmt.Errorf("create group: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.GroupMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3105,7 +3185,8 @@ func (o *Orchestrator) GroupUpdate( return nil, fmt.Errorf("update group: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.GroupMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3139,7 +3220,8 @@ func (o *Orchestrator) GroupDelete( return nil, fmt.Errorf("delete group: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.GroupMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3176,7 +3258,8 @@ func (o *Orchestrator) CertificateList( return nil, fmt.Errorf("list certificates: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CertificateCAResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3209,7 +3292,8 @@ func (o *Orchestrator) CertificateCreate( return nil, fmt.Errorf("create certificate: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CertificateCAMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3244,7 +3328,8 @@ func (o *Orchestrator) CertificateUpdate( return nil, fmt.Errorf("update certificate: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CertificateCAMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3278,7 +3363,8 @@ func (o *Orchestrator) CertificateDelete( return nil, fmt.Errorf("delete certificate: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.CertificateCAMutationResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3315,7 +3401,8 @@ func (o *Orchestrator) ProcessList( return nil, fmt.Errorf("list processes: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ProcessInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3348,7 +3435,8 @@ func (o *Orchestrator) ProcessGet( return nil, fmt.Errorf("get process: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ProcessInfoResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3382,7 +3470,8 @@ func (o *Orchestrator) ProcessSignal( return nil, fmt.Errorf("signal process: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.ProcessSignalResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3420,7 +3509,8 @@ func (o *Orchestrator) PowerReboot( return nil, fmt.Errorf("reboot: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PowerResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3454,7 +3544,8 @@ func (o *Orchestrator) PowerShutdown( return nil, fmt.Errorf("shutdown: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.PowerResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3492,7 +3583,8 @@ func (o *Orchestrator) LogQuery( return nil, fmt.Errorf("query log: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.LogEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3524,7 +3616,8 @@ func (o *Orchestrator) LogSources( return nil, fmt.Errorf("list log sources: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.LogSourceResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname, @@ -3558,7 +3651,8 @@ func (o *Orchestrator) LogQueryUnit( return nil, fmt.Errorf("query log unit: %w", err) } - return engine.CollectionResult(resp.Data, resp.RawJSON(), + return engine.CollectionResult( + resp.Data, resp.RawJSON(), func(r osapi.LogEntryResult) engine.HostResult { return engine.HostResult{ Hostname: r.Hostname,