Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 37 additions & 43 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
module github.com/fullsend-ai/fullsend

go 1.26.5
go 1.27.0

require (
github.com/charmbracelet/lipgloss v1.1.0
github.com/cucumber/godog v0.14.1
github.com/cucumber/messages/go/v21 v21.0.1
github.com/fullsend-ai/fullsend/internal/mintcore v0.0.0
github.com/google/cel-go v0.29.2
github.com/google/uuid v1.6.0
github.com/knights-analytics/hugot v0.7.7
github.com/knights-analytics/hugot v0.8.0
github.com/spf13/cobra v1.10.2
github.com/stretchr/testify v1.11.1
github.com/spf13/pflag v1.0.10
github.com/stretchr/testify v1.12.1
github.com/yuin/goldmark v1.8.6
go.opentelemetry.io/otel v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0
Expand All @@ -20,72 +22,64 @@ require (
go.uber.org/goleak v1.3.0
golang.org/x/crypto v0.54.0
golang.org/x/oauth2 v0.36.0
golang.org/x/term v0.45.0
golang.org/x/text v0.40.0
golang.org/x/sync v0.23.0
golang.org/x/term v0.46.0
golang.org/x/text v0.42.0
google.golang.org/protobuf v1.36.12
gopkg.in/yaml.v3 v3.0.1
)

require (
cel.dev/expr v0.25.1 // indirect
cloud.google.com/go/compute/metadata v0.9.0 // indirect
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cucumber/gherkin/go/v26 v26.2.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gofrs/uuid v4.4.0+incompatible // indirect
github.com/gomlx/compute v0.1.2 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/go-memdb v1.3.4 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect
go.opentelemetry.io/otel/metric v1.44.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/net v0.56.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/grpc v1.82.1 // indirect
)

require (
cloud.google.com/go/compute/metadata v0.9.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/charmbracelet/colorprofile v0.4.3 // indirect
github.com/charmbracelet/x/ansi v0.11.6 // indirect
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
github.com/charmbracelet/x/term v0.2.2 // indirect
github.com/clipperhouse/displaywidth v0.11.0 // indirect
github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
github.com/cucumber/gherkin/go/v26 v26.2.0 // indirect
github.com/daulet/tokenizers v1.27.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fullsend-ai/fullsend/internal/mintcore v0.0.0
github.com/go-errors/errors v1.5.1 // indirect
github.com/go-logr/logr v1.4.4 // indirect
github.com/gofrs/flock v0.13.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gofrs/flock v0.13.1 // indirect
github.com/gofrs/uuid v4.4.0+incompatible // indirect
github.com/gomlx/compute v0.1.14 // indirect
github.com/gomlx/compute-onnx v0.1.13 // indirect
github.com/gomlx/exceptions v0.0.3 // indirect
github.com/gomlx/go-huggingface v0.4.1 // indirect
github.com/gomlx/go-xla v0.4.1 // indirect
github.com/gomlx/gomlx v0.28.2 // indirect
github.com/gomlx/onnx-gomlx v0.5.2 // indirect
github.com/gomlx/go-huggingface v0.4.12 // indirect
github.com/gomlx/go-xla v0.4.13 // indirect
github.com/gomlx/gomlx v0.28.16 // indirect
github.com/gomlx/onnx-gomlx v0.5.13 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/go-memdb v1.3.4 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/knights-analytics/ortgenai v0.3.2 // indirect
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.21 // indirect
github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771 // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] api-contract

hugot v0.8.0 replaces github.com/yalue/onnxruntime_go v1.32.0 with github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771 (go.mod:67). The runner image still pins ONNX Runtime 1.28.1, and images/runner/Containerfile:287-291 still documents that pin as matching yalue/onnxruntime_go v1.32.0's request for ORT C API version 28 -- that rationale is stale regardless of compatibility, since the cited dependency is gone. Whether the new Microsoft binding requests a higher ORT C API version was not verified (module source unavailable). If it does, internal/security/mlscan_ort.go's initMLScanner fails to create an ORT session and RunMLScan(required=false) (the only caller, fullsend scan input) fails open, returning Safe=true with only a stderr warning. This PR's own CI does not exercise that path: go test ./... skips the //go:build ORT files, and .github/workflows/runner-image.yml's paths filter excludes go.mod/go.sum. The next semver-tag release build would catch a real incompatibility instead -- GitHub Actions ignores paths filters on tag pushes, and the smoke test there asserts a positive injection-detection string that a fail-open degradation would not produce, failing that job rather than shipping silently.

Suggested fix: Check the ORT C API version requested by github.com/microsoft/onnxruntime/go@62e95311b771. If higher than 28, bump ARG ORT_VERSION and ORT_SHA256_{AMD64,ARM64} in images/runner/Containerfile to a compatible release and update the comment. If still 28, update the comment so it no longer cites the removed yalue/onnxruntime_go dependency. Build the runner image locally and run the fullsend scan input injection/benign smoke checks before merge.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] api-contract

hugot v0.8.0 replaces the transitive ORT binding github.com/yalue/onnxruntime_go v1.32.0 with github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771 (yalue is absent from PR-head go.mod/go.sum). images/runner/Containerfile:287-291 (not touched by this PR) still pins ORT_VERSION=1.28.1 with a comment justifying that pin by citing yalue/onnxruntime_go v1.32.0's ORT C API version 28 request -- that citation is now stale since the binding it names is no longer a dependency. A C API incompatibility itself was not demonstrated: the Microsoft binding's requested API version could not be verified in this sandbox (no module source available), and dropping yalue does not by itself indicate a higher API request. Even in the worst case this is a bounded risk: internal/cli/scan.go already calls RunMLScan(..., required=false), which fails open by design if initMLScanner cannot create an ORT session; runner-image.yml's paths filter (pre-existing, unrelated to this PR) excludes go.mod/go.sum, but GitHub Actions ignores paths filters on tag pushes, and that build's smoke test asserts a positive injection detection (grep -q "DeBERTa-v3 detected injection"), which would fail rather than pass silently on a fail-open regression. Net effect: the Containerfile's pin-rationale comment is factually wrong regardless of outcome, and the actual ABI compatibility remains unconfirmed but self-gating.

Suggested fix: Update the comment at images/runner/Containerfile:287-291 so it no longer cites the removed yalue/onnxruntime_go dependency. Optionally verify the ORT C API version requested by github.com/microsoft/onnxruntime/go@62e95311b771; only bump ARG ORT_VERSION / ORT_SHA256_{AMD64,ARM64} if that version is confirmed to exceed 28.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] api-contract

hugot v0.8.0 replaces the transitive ORT binding github.com/yalue/onnxruntime_go v1.32.0 with github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771 (yalue is absent from PR-head go.mod/go.sum). images/runner/Containerfile:287-291 (not touched by this PR) still pins ARG ORT_VERSION=1.28.1 with a comment justifying that pin by citing yalue/onnxruntime_go v1.32.0's ORT C API version 28 request -- that citation is now stale since the binding it names is no longer a dependency. This repo's hugot call sites (internal/security/mlscan_ort.go, onnxguard.go, onnxguard_integration_test.go) use NewORTSession plus options.WithOnnxLibraryPath/WithIntraOpNumThreads, hugot.NewPipeline(TextClassificationConfig), pipelines.WithSoftmax/WithSingleLabel, and RunPipeline -- none of hugot v0.7.8's breaking-change surfaces (fileutil.FileSystem, fileutil.WalkDir, pipeline constructors taking *options.Options) are exercised. A C API incompatibility with the new Microsoft binding was not demonstrated -- its requested ORT C API version could not be verified in this sandbox (no module source available). The failure mode is bounded, not silent: internal/cli/scan.go calls RunMLScan(..., required=false), which fails open (returns ScanResult{Safe: true}) if initMLScanner cannot create an ORT session; ORT-tagged sources compile only under //go:build ORT; and .github/workflows/runner-image.yml's paths filter (pre-existing, excludes go.mod/go.sum) is ignored on tag pushes, whose smoke test asserts a positive injection detection (grep -q "DeBERTa-v3 detected injection") and would fail rather than pass silently on a fail-open regression. This PR's go.mod/go.sum content is byte-identical to what was evaluated at the prior head SHA 6c85eb3 -- only a rebase onto a newer base-branch tip changed the commit hash. Re-verified against the unchanged code and the unchanged Containerfile; the finding still holds at low severity.

Suggested fix: Update the comment at images/runner/Containerfile:287-291 so it no longer cites the removed yalue/onnxruntime_go dependency. Optionally verify the ORT C API version requested by github.com/microsoft/onnxruntime/go@62e95311b771; only bump ARG ORT_VERSION / ORT_SHA256_{AMD64,ARM64} if that version is confirmed to exceed 28.

github.com/muesli/termenv v0.16.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/spf13/pflag v1.0.10
github.com/viant/afs v1.30.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yalue/onnxruntime_go v1.32.0 // indirect
golang.org/x/exp v0.0.0-20260727155853-b88d891fe743 // indirect
golang.org/x/image v0.44.0 // indirect
golang.org/x/sync v0.22.0
golang.org/x/sys v0.47.0 // indirect
google.golang.org/protobuf v1.36.12
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect
go.opentelemetry.io/otel/metric v1.44.0 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba // indirect
golang.org/x/image v0.46.0 // indirect
golang.org/x/net v0.56.0 // indirect
golang.org/x/sys v0.48.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/grpc v1.82.1 // indirect
k8s.io/klog/v2 v2.140.0 // indirect
)

Expand Down
77 changes: 36 additions & 41 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,13 @@ github.com/daulet/tokenizers v1.27.0 h1:MmFYAEDFz69s/nNQfHg59DWqHz3v94m99kEZ/JbL
github.com/daulet/tokenizers v1.27.0/go.mod h1:YjFY1o1HGMyWkQgbXJDghhvke/yFDp2vGdIO2hYs4MQ=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk=
github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8=
github.com/go-logr/logr v1.4.4/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/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/gofrs/flock v0.13.1 h1:jjREztyBeSKBZYAC+mgc1laB+xsgy4kYMf3FbKF2UBo=
github.com/gofrs/flock v0.13.1/go.mod h1:sf4BFiHwnvgxa25DlQoDqXQnwRMEOwqxRq37P6MzzmE=
github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.3.1+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
Expand All @@ -68,20 +64,20 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF0
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/gomlx/compute v0.1.2 h1:YPH+lLIYk6qDm4JjbMNL8oz1I4jeeeUqqrO7fURd0/U=
github.com/gomlx/compute v0.1.2/go.mod h1:MDTT683Wvq7IMSKXDGLvV3Co7HDpx/Xsgp2RbF5lhNM=
github.com/gomlx/compute-onnx v0.0.0-20260730095030-43334863f719 h1:ulZbGdTaaa7V0GEfQAHEAfCPLd5KWHEO489zAIzRoDw=
github.com/gomlx/compute-onnx v0.0.0-20260730095030-43334863f719/go.mod h1:4s+lqfw1xVV1j2tVhHyCIMQJff/1C9caB5DMAaIedic=
github.com/gomlx/compute v0.1.14 h1:r7vPCpi6Pup8kKbfvvpv5H9xy9kcnqulBY0iMuF+cf8=
github.com/gomlx/compute v0.1.14/go.mod h1:+IyIusGBr70LPqKcULueB2VTTXmJ3HqOdPmRM8O1Sug=
github.com/gomlx/compute-onnx v0.1.13 h1:vWXWSYEfCXFeSe4J6xW6zAR1U0gztZaRwzuH7uHeP78=
github.com/gomlx/compute-onnx v0.1.13/go.mod h1:Dki8DhaOXvLWWqUKnckAf3ATUC7Bz1f6M7Y+OuMK740=
github.com/gomlx/exceptions v0.0.3 h1:HKnTgEjj4jlmhr8zVFkTP9qmV1ey7ypYYosQ8GzXWuM=
github.com/gomlx/exceptions v0.0.3/go.mod h1:uHL0TQwJ0xaV2/snJOJV6hSE4yRmhhfymuYgNredGxU=
github.com/gomlx/go-huggingface v0.4.1 h1:+Z4HlcoSApckJlaY2QqDe0z/HoqunmlKQXnfxgRWGu4=
github.com/gomlx/go-huggingface v0.4.1/go.mod h1:X+U/lGGaYAqsIMFjasd/v37kQ8y5FVCzMqAKxlZBBG0=
github.com/gomlx/go-xla v0.4.1 h1:UuAxTNWSSjbDhe3Bmh0jrbqqcHnWf+5tBookQDtgf7E=
github.com/gomlx/go-xla v0.4.1/go.mod h1:DkJjgHfj5szpMVRQRQQXPvOwQ9kr3aJ1LJqJF8uheak=
github.com/gomlx/gomlx v0.28.2 h1:UlOhro270p6HdiDxSa7OmmBzCa35iQzLW69Ly/WrKi4=
github.com/gomlx/gomlx v0.28.2/go.mod h1:dUePr2zszH8dZT+lw22/4WaOIi6M1aDh92wH2KbrdEo=
github.com/gomlx/onnx-gomlx v0.5.2 h1:PHSzN29g/tIMm4Do/AQCdIZ8jxeVg/PvdraiQOhhyc4=
github.com/gomlx/onnx-gomlx v0.5.2/go.mod h1:536SP4SN0H+iv3MjQzWqPZjqOOs6ga9ikv5uHW17OCU=
github.com/gomlx/go-huggingface v0.4.12 h1:HfvqGjYKcBebp/IXpeHVZBWax6/2b+AjblAvMvkPDQU=
github.com/gomlx/go-huggingface v0.4.12/go.mod h1:GZLcbvOz4YFnrld3oCenp7Kmkg6BijulcAKiFKrCzMY=
github.com/gomlx/go-xla v0.4.13 h1:z+u8ORjjQTmvUYTrw5ultYQqwVvhqWSP0KagjLFjNpI=
github.com/gomlx/go-xla v0.4.13/go.mod h1:SXsYWGWRu+cDCaAjZ71mZOSjVQqFKyqYPJUOyYzea4k=
github.com/gomlx/gomlx v0.28.16 h1:kaws8OAX1XmvNHb0z6eKXtLFgtXG2OtAC/7YpCchGlA=
github.com/gomlx/gomlx v0.28.16/go.mod h1:dNIwqJe+EGuV6Dwq83XP+vnNYPWlrYOs52GHcREf4Zs=
github.com/gomlx/onnx-gomlx v0.5.13 h1:m43dmUuxVHA6GLVezY9RvoH/Hyax31UzGDqThnTzlDk=
github.com/gomlx/onnx-gomlx v0.5.13/go.mod h1:TAHSij5NcVRe5rd+Jh54FZwkDIYkOYLqiBgXPLZGkpU=
github.com/google/cel-go v0.29.2 h1:ZtDxkeiMmz0mxbKDYiNkE5Lk7V5edMRcaaDf2jX002k=
github.com/google/cel-go v0.29.2/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
Expand All @@ -105,8 +101,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/janpfeifer/go-benchmarks v0.1.1 h1:gLLy07/JrOKSnMWeUxSnjTdhkglgmrNR2IBDnR4kRqw=
github.com/janpfeifer/go-benchmarks v0.1.1/go.mod h1:5AagXCOUzevvmYFQalcgoa4oWPyH1IkZNckolGWfiSM=
github.com/knights-analytics/hugot v0.7.7 h1:+gVc2p8Q2VLwgE1XVZcBidpYj4pNnTjUiVE5w7RIUSU=
github.com/knights-analytics/hugot v0.7.7/go.mod h1:nvHwHMfvYHfOm8rGY7nPAhBahJcq3a/y5hFcsJG9A40=
github.com/knights-analytics/hugot v0.8.0 h1:mbjYAWloz4FiCPzypM8JJF31q9wHhvIt5/xVMO9JQX0=
github.com/knights-analytics/hugot v0.8.0/go.mod h1:C6YpvCyPY2AxflEdWtVSmR7vPmmRnTG6OUGIhWeKmrQ=
github.com/knights-analytics/ortgenai v0.3.2 h1:0RnCmiSV68GSDuTYlViyPB3UAYNVzhJ1Sg7gPer9t3w=
github.com/knights-analytics/ortgenai v0.3.2/go.mod h1:lSbQsRP5wY5NS+4W5CUGhdxjTzERQkR7WprAFxrBSt4=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
Expand All @@ -122,6 +118,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w=
github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771 h1:jivhLophWChCmvTU86LJTaHBzAnyAUxcISxAepwTRV0=
github.com/microsoft/onnxruntime/go v0.0.0-20260922015325-62e95311b771/go.mod h1:y6lrwg9wJfp1/eahM089k+5YM7nekCeWhl8UGvefyzo=
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ=
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
Expand All @@ -133,8 +131,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/rogpeppe/go-internal v1.16.0 h1:O9DK+vNMDVGLr2BeZqmpLeMjiMNkuXfcqntWbZV6S5g=
github.com/rogpeppe/go-internal v1.16.0/go.mod h1:DrUVZyrJU+txYW5/1kwtXQSMFio52ZOxX7yM1VHvnxs=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/schollz/progressbar/v3 v3.19.0 h1:Ea18xuIRQXLAUidVDox3AbwfUhD0/1IvohyTutOIFoc=
github.com/schollz/progressbar/v3 v3.19.0/go.mod h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec=
Expand All @@ -154,14 +152,10 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/viant/afs v1.30.0 h1:dbgVVSCPwGHUgpgkWJ5gdjKBqssT7OV7Z2M81CjwZEY=
github.com/viant/afs v1.30.0/go.mod h1:rScbFd9LJPGTM8HOI8Kjwee0AZ+MZMupAvFpPg+Qdj4=
github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE=
github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yalue/onnxruntime_go v1.32.0 h1:O4pPw3IT+46CRrfuT0lcHWkczVoFvtfq6kMAO/iIVKc=
github.com/yalue/onnxruntime_go v1.32.0/go.mod h1:b4X26A8pekNb1ACJ58wAXgNKeUCGEAQ9dmACut9Sm/4=
github.com/yuin/goldmark v1.8.6 h1:d0VcaP1sx9GkFVkoW+KtggpGi2KZ965i14b0+bDQST4=
github.com/yuin/goldmark v1.8.6/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
Expand All @@ -184,27 +178,28 @@ go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpu
go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw=
golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk=
golang.org/x/exp v0.0.0-20260727155853-b88d891fe743 h1:ex206bKw+v3K0dm3andkrIF+ijyQKJG1pLgwQ2PYdQM=
golang.org/x/exp v0.0.0-20260727155853-b88d891fe743/go.mod h1:EdfpwwqSu+0Li0mzskwHU6FWDV3t9Q+RZDo3QMUtL3Q=
golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I=
golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY=
golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba h1:Ck8QetSgk912qxWLMCKxd0in+aiyBQyDSMae6e/xmpU=
golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba/go.mod h1:50RgIsmK7OwqzTTeqcSXQW8SswW0o8fRcDxmqGluJ8E=
golang.org/x/image v0.46.0 h1:b1+oYj0Jbp6K5MDT4i4/eZpYlk3V8SJhhDKh6LBHAyQ=
golang.org/x/image v0.46.0/go.mod h1:3B3W05VGVQyuXucLINLjXKrqISASfi4Xj+iCVkLMwew=
golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o=
golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0=
golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w=
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE=
golang.org/x/term v0.46.0/go.mod h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc=
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
gonum.org/v1/plot v0.15.2 h1:Tlfh/jBk2tqjLZ4/P8ZIwGrLEWQSPDLRm/SNWKNXiGI=
Expand Down
Loading