From c2eb59ed0b2429f23c616cdb8d2e74acb292288b Mon Sep 17 00:00:00 2001 From: krus210 Date: Sun, 1 Mar 2026 11:41:07 +0300 Subject: [PATCH] vectorstores/duckdb: add DuckDB vectorstore implementation --- .../duckdb_vectorstore_example.go | 123 +++++ examples/duckdb-vectorstore-example/go.mod | 35 ++ examples/duckdb-vectorstore-example/go.sum | 125 +++++ go.mod | 85 +-- go.sum | 209 ++++--- vectorstores/duckdb/doc.go | 3 + vectorstores/duckdb/duckdb.go | 508 ++++++++++++++++++ vectorstores/duckdb/duckdb_test.go | 413 ++++++++++++++ vectorstores/duckdb/options.go | 136 +++++ .../testdata/TestDeduplicater.httprr.gz | Bin 0 -> 9003 bytes .../testdata/TestDuckDBAsRetriever.httprr.gz | Bin 0 -> 34461 bytes ...DBAsRetrieverWithMetadataFilters.httprr.gz | Bin 0 -> 34792 bytes ...kDBAsRetrieverWithScoreThreshold.httprr.gz | Bin 0 -> 50156 bytes .../testdata/TestDuckDBStoreBasic.httprr.gz | Bin 0 -> 25529 bytes .../TestDuckDBStoreSimilarityScore.httprr.gz | Bin 0 -> 33387 bytes ...estDuckDBStoreWithScoreThreshold.httprr.gz | Bin 0 -> 95427 bytes ...ySearchWithInvalidScoreThreshold.httprr.gz | Bin 0 -> 16880 bytes .../testdata/TestWithAllOptions.httprr.gz | Bin 0 -> 25525 bytes 18 files changed, 1522 insertions(+), 115 deletions(-) create mode 100644 examples/duckdb-vectorstore-example/duckdb_vectorstore_example.go create mode 100644 examples/duckdb-vectorstore-example/go.mod create mode 100644 examples/duckdb-vectorstore-example/go.sum create mode 100644 vectorstores/duckdb/doc.go create mode 100644 vectorstores/duckdb/duckdb.go create mode 100644 vectorstores/duckdb/duckdb_test.go create mode 100644 vectorstores/duckdb/options.go create mode 100644 vectorstores/duckdb/testdata/TestDeduplicater.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBAsRetriever.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBAsRetrieverWithMetadataFilters.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBAsRetrieverWithScoreThreshold.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBStoreBasic.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBStoreSimilarityScore.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestDuckDBStoreWithScoreThreshold.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestSimilaritySearchWithInvalidScoreThreshold.httprr.gz create mode 100644 vectorstores/duckdb/testdata/TestWithAllOptions.httprr.gz diff --git a/examples/duckdb-vectorstore-example/duckdb_vectorstore_example.go b/examples/duckdb-vectorstore-example/duckdb_vectorstore_example.go new file mode 100644 index 000000000..231474523 --- /dev/null +++ b/examples/duckdb-vectorstore-example/duckdb_vectorstore_example.go @@ -0,0 +1,123 @@ +package main + +import ( + "context" + "fmt" + "log" + + "github.com/tmc/langchaingo/embeddings" + "github.com/tmc/langchaingo/llms/openai" + "github.com/tmc/langchaingo/schema" + "github.com/tmc/langchaingo/vectorstores" + duckdbstore "github.com/tmc/langchaingo/vectorstores/duckdb" +) + +func main() { + // Create an embeddings client using the OpenAI API. Requires environment variable OPENAI_API_KEY to be set. + llm, err := openai.New() + if err != nil { + log.Fatal(err) + } + + e, err := embeddings.NewEmbedder(llm) + if err != nil { + log.Fatal(err) + } + + // Create a new DuckDB store. An empty connection URL creates an in-memory database. + ctx := context.Background() + store, err := duckdbstore.New( + ctx, + duckdbstore.WithConnectionURL(""), + duckdbstore.WithEmbedder(e), + duckdbstore.WithVectorDimensions(1536), + ) + if err != nil { + log.Fatal(err) + } + defer store.Close() + + // Add documents to the DuckDB store. + _, err = store.AddDocuments(ctx, []schema.Document{ + { + PageContent: "Tokyo", + Metadata: map[string]any{ + "population": 38, + "area": 2190, + }, + }, + { + PageContent: "Paris", + Metadata: map[string]any{ + "population": 11, + "area": 105, + }, + }, + { + PageContent: "London", + Metadata: map[string]any{ + "population": 9.5, + "area": 1572, + }, + }, + { + PageContent: "Santiago", + Metadata: map[string]any{ + "population": 6.9, + "area": 641, + }, + }, + { + PageContent: "Buenos Aires", + Metadata: map[string]any{ + "population": 15.5, + "area": 203, + }, + }, + { + PageContent: "Rio de Janeiro", + Metadata: map[string]any{ + "population": 13.7, + "area": 1200, + }, + }, + { + PageContent: "Sao Paulo", + Metadata: map[string]any{ + "population": 22.6, + "area": 1523, + }, + }, + }) + if err != nil { + log.Fatal(err) + } + + // Search for similar documents. + docs, err := store.SimilaritySearch(ctx, "japan", 1) + if err != nil { + log.Fatal(err) + } + fmt.Println(docs) + + // Search for similar documents using score threshold. + docs, err = store.SimilaritySearch(ctx, "only cities in south america", 10, vectorstores.WithScoreThreshold(0.80)) + if err != nil { + log.Fatal(err) + } + fmt.Println(docs) + + // Search for similar documents using score threshold and metadata filter. + // Note: json_extract_string converts numeric metadata values to strings. + filter := map[string]any{"area": 1523} // Sao Paulo + + docs, err = store.SimilaritySearch(ctx, "only cities in south america", + 10, + vectorstores.WithScoreThreshold(0.80), + vectorstores.WithFilters(filter), + ) + if err != nil { + log.Fatal(err) + } + fmt.Println(docs) +} diff --git a/examples/duckdb-vectorstore-example/go.mod b/examples/duckdb-vectorstore-example/go.mod new file mode 100644 index 000000000..f4ec246c7 --- /dev/null +++ b/examples/duckdb-vectorstore-example/go.mod @@ -0,0 +1,35 @@ +module github.com/tmc/langchaingo/examples/duckdb-vectorstore-example + +go 1.24.4 + +require github.com/tmc/langchaingo v0.1.14-pre.4 + +require ( + github.com/apache/arrow-go/v18 v18.5.1 // indirect + github.com/dlclark/regexp2 v1.10.0 // indirect + github.com/duckdb/duckdb-go-bindings v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3 // indirect + github.com/duckdb/duckdb-go/v2 v2.5.5 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect + github.com/google/flatbuffers v25.12.19+incompatible // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/klauspost/compress v1.18.3 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/pierrec/lz4/v4 v4.1.25 // indirect + github.com/pkoukk/tiktoken-go v0.1.6 // indirect + github.com/zeebo/xxh3 v1.1.0 // indirect + golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5 // indirect + golang.org/x/tools v0.41.0 // indirect + golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect +) + +replace github.com/tmc/langchaingo => ../.. diff --git a/examples/duckdb-vectorstore-example/go.sum b/examples/duckdb-vectorstore-example/go.sum new file mode 100644 index 000000000..305322ea0 --- /dev/null +++ b/examples/duckdb-vectorstore-example/go.sum @@ -0,0 +1,125 @@ +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= +github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= +github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= +github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/apache/arrow-go/v18 v18.5.1 h1:yaQ6zxMGgf9YCYw4/oaeOU3AULySDlAYDOcnr4LdHdI= +github.com/apache/arrow-go/v18 v18.5.1/go.mod h1:OCCJsmdq8AsRm8FkBSSmYTwL/s4zHW9CqxeBxEytkNE= +github.com/apache/thrift v0.22.0 h1:r7mTJdj51TMDe6RtcmNdQxgn9XcyfGDOzegMDRg47uc= +github.com/apache/thrift v0.22.0/go.mod h1:1e7J/O1Ae6ZQMTYdy9xa3w9k+XHWPfRvdPyJeynQ+/g= +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/dlclark/regexp2 v1.10.0 h1:+/GIL799phkJqYW+3YbOd8LCcbHzT0Pbo8zl70MHsq0= +github.com/dlclark/regexp2 v1.10.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/duckdb/duckdb-go-bindings v0.3.3 h1:lXogtCY8hiGLQvTfK55HcgvaA3K2MrwKeZGqhIin35U= +github.com/duckdb/duckdb-go-bindings v0.3.3/go.mod h1:zS7OpBP8zwVlP38OljRZOnqWYlNd4KLcVfMoA1JFzpk= +github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3 h1:ue8BtIOSt+2Bt2fEfTAvBcQLxzBFhgfCcyzPtqQWTRA= +github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3/go.mod h1:EnAvZh1kNJHp5yF+M1ZHNEvapnmt6anq1xXHVrAGqMo= +github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3 h1:2TrSeTgtwi3WIvub9ba0mny+AClSNo1w0Ghszc2B8lQ= +github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3/go.mod h1:IGLSeEcFhNeZF16aVjQCULD7TsFZKG5G7SyKJAXKp5c= +github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3 h1:GN0cexhfE7uLb7qgDmsYG324wKF15nW+O7v5+NGalS4= +github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3/go.mod h1:KAIynZ0GHCS7X5fRyuFnQMg/SZBPK/bS9OCOVojClxw= +github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3 h1:bIJV+ct6yvMXjy+N3bfILFd0fkTK50AUhUTerkY40/8= +github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3/go.mod h1:81SGOYoEUs8qaAfSk1wRfM5oobrIJ5KI7AzYhK6/bvQ= +github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3 h1:SK2sunA/MPb2T3113iFzHv6DWeu+qrsw0DizTFrvM+Q= +github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3/go.mod h1:K25pJL26ARblGDeuAkrdblFvUen92+CwksLtPEHRqqQ= +github.com/duckdb/duckdb-go/v2 v2.5.5 h1:TlK8ipnzoKW2aNrjGqRkFWLCDpJDxR/VwH8ezEcvVhw= +github.com/duckdb/duckdb-go/v2 v2.5.5/go.mod h1:6uIbC3gz36NCEygECzboygOo/Z9TeVwox/puG+ohWV0= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/flatbuffers v25.12.19+incompatible h1:haMV2JRRJCe1998HeW/p0X9UaMTK6SDo0ffLn2+DbLs= +github.com/google/flatbuffers v25.12.19+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/goph/emperror v0.17.2 h1:yLapQcmEsO0ipe9p5TaN22djm3OFV/TfM/fcYP0/J18= +github.com/goph/emperror v0.17.2/go.mod h1:+ZbQ+fUNO/6FNiUo0ujtMjhgad9Xa6fQL9KhH4LNHic= +github.com/huandu/xstrings v1.3.3 h1:/Gcsuc1x8JVbJ9/rlye4xZnVAbEkGauT8lbebqcQws4= +github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw= +github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/nikolalohinski/gonja v1.5.3 h1:GsA+EEaZDZPGJ8JtpeGN78jidhOlxeJROpqMT9fTj9c= +github.com/nikolalohinski/gonja v1.5.3/go.mod h1:RmjwxNiXAEqcq1HeK5SSMmqFJvKOfTfXhkJv6YBtPa4= +github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= +github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pierrec/lz4/v4 v4.1.25 h1:kocOqRffaIbU5djlIBr7Wh+cx82C0vtFb0fOurZHqD0= +github.com/pierrec/lz4/v4 v4.1.25/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkoukk/tiktoken-go v0.1.6 h1:JF0TlJzhTbrI30wCvFuiw6FzP2+/bR+FIxUdgEAcUsw= +github.com/pkoukk/tiktoken-go v0.1.6/go.mod h1:9NiV+i9mJKGj1rYOT+njbv+ZwA/zJxYdewGl6qVatpg= +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= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +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/yargevad/filepathx v1.0.0 h1:SYcT+N3tYGi+NvazubCNlvgIPbzAk7i7y2dwg3I5FYc= +github.com/yargevad/filepathx v1.0.0/go.mod h1:BprfX/gpYNJHJfc35GjRRpVcwWXS89gGulUIU5tK3tA= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs= +github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s= +go.starlark.net v0.0.0-20230302034142-4b1e35fe2254 h1:Ss6D3hLXTM0KobyBYEAygXzFfGcjnmfEJOBgSbemCtg= +go.starlark.net v0.0.0-20230302034142-4b1e35fe2254/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5 h1:i0p03B68+xC1kD2QUO8JzDTPXCzhN56OLJ+IhHY8U3A= +golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/go.mod b/go.mod index ca9eaef46..4d04d07a3 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require github.com/google/uuid v1.6.0 // Testing require ( - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 github.com/testcontainers/testcontainers-go v0.38.0 github.com/testcontainers/testcontainers-go/modules/chroma v0.37.0 github.com/testcontainers/testcontainers-go/modules/milvus v0.37.0 @@ -53,7 +53,7 @@ require ( // Cloud platforms and AI services require ( - cloud.google.com/go/aiplatform v1.69.0 + cloud.google.com/go/aiplatform v1.74.0 cloud.google.com/go/vertexai v0.12.0 github.com/aws/aws-sdk-go-v2 v1.36.3 github.com/aws/aws-sdk-go-v2/config v1.29.4 @@ -62,10 +62,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.24.3 github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2 github.com/aws/smithy-go v1.22.2 - golang.org/x/oauth2 v0.30.0 - google.golang.org/api v0.218.0 - google.golang.org/grpc v1.70.0 - google.golang.org/protobuf v1.36.3 + golang.org/x/oauth2 v0.32.0 + google.golang.org/api v0.230.0 + google.golang.org/grpc v1.78.0 + google.golang.org/protobuf v1.36.11 ) // Embeddings and ML @@ -78,6 +78,7 @@ require ( require ( cloud.google.com/go/alloydbconn v1.13.2 cloud.google.com/go/cloudsqlconn v1.14.1 + github.com/duckdb/duckdb-go/v2 v2.5.5 github.com/go-sql-driver/mysql v1.8.1 github.com/jackc/pgx/v5 v5.7.2 github.com/mattn/go-sqlite3 v1.14.17 @@ -107,8 +108,8 @@ require ( github.com/google/go-cmp v0.7.0 github.com/nikolalohinski/gonja v1.5.3 github.com/zeebo/blake3 v0.2.4 - golang.org/x/sync v0.16.0 - golang.org/x/tools v0.35.0 + golang.org/x/sync v0.19.0 + golang.org/x/tools v0.41.0 sigs.k8s.io/yaml v1.3.0 ) @@ -116,14 +117,14 @@ require ( // Cloud platforms and AI services - indirect require ( - cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go v0.121.0 // indirect cloud.google.com/go/ai v0.7.0 // indirect cloud.google.com/go/alloydb v1.14.0 // indirect - cloud.google.com/go/auth v0.14.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect - cloud.google.com/go/compute/metadata v0.6.0 // indirect - cloud.google.com/go/iam v1.2.2 // indirect - cloud.google.com/go/longrunning v0.6.2 // indirect + cloud.google.com/go/auth v0.16.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect + cloud.google.com/go/compute/metadata v0.9.0 // indirect + cloud.google.com/go/iam v1.5.0 // indirect + cloud.google.com/go/longrunning v0.6.6 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.57 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.27 // indirect @@ -139,19 +140,19 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.13 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.12 // indirect github.com/google/s2a-go v0.1.9 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect github.com/googleapis/gax-go/v2 v2.14.1 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect - go.opentelemetry.io/otel v1.36.0 // indirect - go.opentelemetry.io/otel/metric v1.36.0 // indirect - go.opentelemetry.io/otel/trace v1.36.0 // indirect + go.opentelemetry.io/otel v1.38.0 // indirect + go.opentelemetry.io/otel/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250122153221-138b5a5a4fd4 // indirect + google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda // indirect ) // Embeddings and ML - indirect @@ -262,8 +263,8 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/flatbuffers v23.5.26+incompatible // indirect + github.com/golang/snappy v1.0.0 // indirect + github.com/google/flatbuffers v25.12.19+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/goph/emperror v0.17.2 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect @@ -271,8 +272,8 @@ require ( github.com/imdario/mergo v0.3.13 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.0 // indirect - github.com/klauspost/cpuid/v2 v2.2.9 // indirect + github.com/klauspost/compress v1.18.3 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect @@ -291,7 +292,7 @@ require ( github.com/pelletier/go-toml/v2 v2.0.9 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/zerolog v1.31.0 // indirect github.com/shirou/gopsutil/v4 v4.25.5 // indirect github.com/shopspring/decimal v1.2.0 // indirect @@ -304,12 +305,12 @@ require ( github.com/tklauser/numcpus v0.10.0 // indirect github.com/yargevad/filepathx v1.0.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - golang.org/x/crypto v0.41.0 // indirect - golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect - golang.org/x/net v0.43.0 // indirect - golang.org/x/sys v0.35.0 // indirect - golang.org/x/text v0.28.0 // indirect - golang.org/x/time v0.9.0 // indirect + golang.org/x/crypto v0.47.0 // indirect + golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect + golang.org/x/net v0.49.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect + golang.org/x/time v0.11.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) @@ -320,6 +321,7 @@ require ( ) require ( + github.com/apache/arrow-go/v18 v18.5.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -327,7 +329,15 @@ require ( github.com/containerd/cgroups/v3 v3.0.3 // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect + github.com/duckdb/duckdb-go-bindings v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3 // indirect + github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3 // indirect github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect github.com/godbus/dbus/v5 v5.0.4 // indirect github.com/google/btree v1.1.3 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -339,6 +349,7 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/panjf2000/ants/v2 v2.11.3 // indirect + github.com/pierrec/lz4/v4 v4.1.25 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect @@ -354,6 +365,7 @@ require ( github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect + github.com/zeebo/xxh3 v1.1.0 // indirect go.etcd.io/bbolt v1.3.11 // indirect go.etcd.io/etcd/api/v3 v3.5.5 // indirect go.etcd.io/etcd/client/pkg/v3 v3.5.5 // indirect @@ -364,12 +376,15 @@ require ( go.etcd.io/etcd/server/v3 v3.5.5 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 // indirect - go.opentelemetry.io/otel/sdk v1.36.0 // indirect + go.opentelemetry.io/otel/sdk v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.0.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5 // indirect + golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect k8s.io/apimachinery v0.28.6 // indirect diff --git a/go.sum b/go.sum index 3108b9131..de1faa5cf 100644 --- a/go.sum +++ b/go.sum @@ -5,31 +5,31 @@ cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6A cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= -cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go v0.121.0 h1:pgfwva8nGw7vivjZiRfrmglGWiCJBP+0OmDpenG/Fwg= +cloud.google.com/go v0.121.0/go.mod h1:rS7Kytwheu/y9buoDmu5EIpMMCI4Mb8ND4aeN4Vwj7Q= cloud.google.com/go/ai v0.7.0 h1:P6+b5p4gXlza5E+u7uvcgYlzZ7103ACg70YdZeC6oGE= cloud.google.com/go/ai v0.7.0/go.mod h1:7ozuEcraovh4ABsPbrec3o4LmFl9HigNI3D5haxYeQo= -cloud.google.com/go/aiplatform v1.69.0 h1:XvBzK8e6/6ufbi/i129Vmn/gVqFwbNPmRQ89K+MGlgc= -cloud.google.com/go/aiplatform v1.69.0/go.mod h1:nUsIqzS3khlnWvpjfJbP+2+h+VrFyYsTm7RNCAViiY8= +cloud.google.com/go/aiplatform v1.74.0 h1:rE2P5H7FOAFISAZilmdkapbk4CVgwfVs6FDWlhGfuy0= +cloud.google.com/go/aiplatform v1.74.0/go.mod h1:hVEw30CetNut5FrblYd1AJUWRVSIjoyIvp0EVUh51HA= cloud.google.com/go/alloydb v1.14.0 h1:aEmmIHmiHDs46wTr/YqXuumuUGNc5QKYA7317nEFj2Y= cloud.google.com/go/alloydb v1.14.0/go.mod h1:OTBY1HoL0Z8PsHoMMVhkaUPKyY8oP7hzIAe/Dna6UHk= cloud.google.com/go/alloydbconn v1.13.2 h1:ipxhHyQAZ0NS5XUuPSXlSCPEUI83YVibkLcFAOfSMW0= cloud.google.com/go/alloydbconn v1.13.2/go.mod h1:0wlYQAOr2XuvxYsvNNVckmG2v17WVUKzMD+gmTOibSU= -cloud.google.com/go/auth v0.14.0 h1:A5C4dKV/Spdvxcl0ggWwWEzzP7AZMJSEIgrkngwhGYM= -cloud.google.com/go/auth v0.14.0/go.mod h1:CYsoRL1PdiDuqeQpZE0bP2pnPrGqFcOkI0nldEQis+A= -cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= -cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= +cloud.google.com/go/auth v0.16.0 h1:Pd8P1s9WkcrBE2n/PhAwKsdrR35V3Sg2II9B+ndM3CU= +cloud.google.com/go/auth v0.16.0/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/cloudsqlconn v1.14.1 h1:OtVShGJMQ/WEOTNP7TWidx0wnDE+eVYXeSg1ANTJpCI= cloud.google.com/go/cloudsqlconn v1.14.1/go.mod h1:pM5Xp20GsQosQ/cP9awtha5SMgmzbLubb/dbVsTg3Fo= -cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= -cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= -cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= -cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= -cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= +cloud.google.com/go/iam v1.5.0 h1:QlLcVMhbLGOjRcGe6VTGGTyQib8dRLK2B/kYNV0+2xs= +cloud.google.com/go/iam v1.5.0/go.mod h1:U+DOtKQltF/LxPEtcDLoobcsZMilSRwR7mgNL7knOpo= +cloud.google.com/go/longrunning v0.6.6 h1:XJNDo5MUfMM05xK3ewpbSdmt7R2Zw+aQEMbdQR65Rbw= +cloud.google.com/go/longrunning v0.6.6/go.mod h1:hyeGJUrPHcx0u2Uu1UFSoYZLn4lkMrccJig0t4FI7yw= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/vertexai v0.12.0 h1:zTadEo/CtsoyRXNx3uGCncoWAP1H2HakGqwznt+iMo8= @@ -83,6 +83,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/amikos-tech/chroma-go v0.1.4 h1:MQXFBuKHOuZtlLOF6fLRb1VdXKKWp6TwdWxm6v/RUII= github.com/amikos-tech/chroma-go v0.1.4/go.mod h1:sT6uXOo/L5S/Q0v9jpYtoR1iOM68hUE2itWw8sOwLHY= +github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= +github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= @@ -94,6 +96,10 @@ github.com/antchfx/xpath v1.2.3/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwq github.com/antchfx/xpath v1.2.4 h1:dW1HB/JxKvGtJ9WyVGJ0sIoEcqftV3SqIstujI+B9XY= github.com/antchfx/xpath v1.2.4/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow-go/v18 v18.5.1 h1:yaQ6zxMGgf9YCYw4/oaeOU3AULySDlAYDOcnr4LdHdI= +github.com/apache/arrow-go/v18 v18.5.1/go.mod h1:OCCJsmdq8AsRm8FkBSSmYTwL/s4zHW9CqxeBxEytkNE= +github.com/apache/thrift v0.22.0 h1:r7mTJdj51TMDe6RtcmNdQxgn9XcyfGDOzegMDRg47uc= +github.com/apache/thrift v0.22.0/go.mod h1:1e7J/O1Ae6ZQMTYdy9xa3w9k+XHWPfRvdPyJeynQ+/g= 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/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -193,6 +199,8 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f h1:Y8xYupdHxryycyPlc9Y+bSQAYZnetRJ70VMVKm5CKI0= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= @@ -261,6 +269,20 @@ github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6 github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/duckdb/duckdb-go-bindings v0.3.3 h1:lXogtCY8hiGLQvTfK55HcgvaA3K2MrwKeZGqhIin35U= +github.com/duckdb/duckdb-go-bindings v0.3.3/go.mod h1:zS7OpBP8zwVlP38OljRZOnqWYlNd4KLcVfMoA1JFzpk= +github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3 h1:ue8BtIOSt+2Bt2fEfTAvBcQLxzBFhgfCcyzPtqQWTRA= +github.com/duckdb/duckdb-go-bindings/lib/darwin-amd64 v0.3.3/go.mod h1:EnAvZh1kNJHp5yF+M1ZHNEvapnmt6anq1xXHVrAGqMo= +github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3 h1:2TrSeTgtwi3WIvub9ba0mny+AClSNo1w0Ghszc2B8lQ= +github.com/duckdb/duckdb-go-bindings/lib/darwin-arm64 v0.3.3/go.mod h1:IGLSeEcFhNeZF16aVjQCULD7TsFZKG5G7SyKJAXKp5c= +github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3 h1:GN0cexhfE7uLb7qgDmsYG324wKF15nW+O7v5+NGalS4= +github.com/duckdb/duckdb-go-bindings/lib/linux-amd64 v0.3.3/go.mod h1:KAIynZ0GHCS7X5fRyuFnQMg/SZBPK/bS9OCOVojClxw= +github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3 h1:bIJV+ct6yvMXjy+N3bfILFd0fkTK50AUhUTerkY40/8= +github.com/duckdb/duckdb-go-bindings/lib/linux-arm64 v0.3.3/go.mod h1:81SGOYoEUs8qaAfSk1wRfM5oobrIJ5KI7AzYhK6/bvQ= +github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3 h1:SK2sunA/MPb2T3113iFzHv6DWeu+qrsw0DizTFrvM+Q= +github.com/duckdb/duckdb-go-bindings/lib/windows-amd64 v0.3.3/go.mod h1:K25pJL26ARblGDeuAkrdblFvUen92+CwksLtPEHRqqQ= +github.com/duckdb/duckdb-go/v2 v2.5.5 h1:TlK8ipnzoKW2aNrjGqRkFWLCDpJDxR/VwH8ezEcvVhw= +github.com/duckdb/duckdb-go/v2 v2.5.5/go.mod h1:6uIbC3gz36NCEygECzboygOo/Z9TeVwox/puG+ohWV0= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= @@ -274,7 +296,12 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329 h1:K+fnvUM0VZ7ZFJf0n4L/BRlnsb9pL/GuDG6FqaH+PwM= +github.com/envoyproxy/go-control-plane/envoy v1.35.0 h1:ixjkELDE+ru6idPxcHLj8LBVc2bFP7iBytj353BoHUo= +github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -382,6 +409,8 @@ github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpv github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -414,8 +443,8 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM= -github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gocolly/colly v1.2.0 h1:qRz9YAn8FIH0qzgNUw+HT9UN7wm1oF9OBAilwEWpyrI= github.com/gocolly/colly v1.2.0/go.mod h1:Hof5T3ZswNVsOHYmba1u03W65HDWgpV5HifSuueE0EA= github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA= @@ -436,8 +465,8 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.3 h1:oDTdz9f5VGVVNGu/Q7UXKWYsD0873HXLHdJUNBsSEKM= -github.com/golang/glog v1.2.3/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I= +github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -464,16 +493,16 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg= -github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v25.12.19+incompatible h1:haMV2JRRJCe1998HeW/p0X9UaMTK6SDo0ffLn2+DbLs= +github.com/google/flatbuffers v25.12.19+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/generative-ai-go v0.15.1 h1:n8aQUpvhPOlGVuM2DRkJ2jvx04zpp42B778AROJa+pQ= github.com/google/generative-ai-go v0.15.1/go.mod h1:AAucpWZjXsDKhQYWvCYuP6d0yB1kX998pJlOW1rAesw= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -506,8 +535,8 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= -github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4= +github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= @@ -628,15 +657,17 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= -github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw= +github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY= -github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -714,6 +745,10 @@ github.com/milvus-io/milvus/client/v2 v2.6.0 h1:TXeht4yOhqlTsJn33sQoZYjmv+w4mEYP github.com/milvus-io/milvus/client/v2 v2.6.0/go.mod h1:5ppFKT61Fh5Z1MkAhK7+nLnlh9C+ENBe/dpgFBH0te0= github.com/milvus-io/milvus/pkg/v2 v2.0.0-20250319085209-5a6b4e56d59e h1:VCr43pG4efacDbM4au70fh8/5hNTftoWzm1iEumvDWM= github.com/milvus-io/milvus/pkg/v2 v2.0.0-20250319085209-5a6b4e56d59e/go.mod h1:37AWzxVs2NS4QUJrkcbeLUwi+4Av0h5mEdjLI62EANU= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= @@ -809,6 +844,8 @@ github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pgvector/pgvector-go v0.1.1 h1:kqJigGctFnlWvskUiYIvJRNwUtQl/aMSUZVs0YWQe+g= github.com/pgvector/pgvector-go v0.1.1/go.mod h1:wLJgD/ODkdtd2LJK4l6evHXTuG+8PxymYAVomKHOWac= +github.com/pierrec/lz4/v4 v4.1.25 h1:kocOqRffaIbU5djlIBr7Wh+cx82C0vtFb0fOurZHqD0= +github.com/pierrec/lz4/v4 v4.1.25/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= github.com/pinecone-io/go-pinecone v0.4.1 h1:hRJgtGUIHwvM1NvzKe+YXog4NxYi9x3NdfFhQ2QWBWk= github.com/pinecone-io/go-pinecone v0.4.1/go.mod h1:KwWSueZFx9zccC+thBk13+LDiOgii8cff9bliUI4tQs= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= @@ -821,6 +858,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkoukk/tiktoken-go v0.1.6 h1:JF0TlJzhTbrI30wCvFuiw6FzP2+/bR+FIxUdgEAcUsw= github.com/pkoukk/tiktoken-go v0.1.6/go.mod h1:9NiV+i9mJKGj1rYOT+njbv+ZwA/zJxYdewGl6qVatpg= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= 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= @@ -869,8 +908,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +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/rollbar/rollbar-go v1.0.2/go.mod h1:AcFs5f0I+c71bpHlXNNDbOWJiKwjFDtISeXco0L5PKQ= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= @@ -946,8 +985,8 @@ 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.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +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/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/temoto/robotstxt v1.1.2 h1:W2pOjSJ6SWvldyEuiFXNxz3xZ8aiWX5LbfDiOFd7Fxg= github.com/temoto/robotstxt v1.1.2/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo= @@ -1057,12 +1096,14 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY= -github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/blake3 v0.2.4 h1:KYQPkhpRtcqh0ssGYcKLG1JYvddkEA8QwCM/yBqhaZI= github.com/zeebo/blake3 v0.2.4/go.mod h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCRUjcE= github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= +github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs= +github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s= gitlab.com/golang-commonmark/html v0.0.0-20191124015941-a22733972181 h1:K+bMSIx9A7mLES1rtG+qKduLIXq40DAzYHtb0XuCukA= gitlab.com/golang-commonmark/html v0.0.0-20191124015941-a22733972181/go.mod h1:dzYhVIwWCtzPAa4QP98wfB9+mzt33MSmM8wsKiMi2ow= gitlab.com/golang-commonmark/linkify v0.0.0-20191026162114-a0c2df6c8f82 h1:oYrL81N608MLZhma3ruL8qTM4xcpYECGut8KSxRY59g= @@ -1104,16 +1145,16 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0/go.mod h1:E5NNboN0UqSAki0Atn9kVwaN7I+l25gGxDqBueo/74E= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU= -go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= -go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1/go.mod h1:Kv8liBeVNFkkkbilbgWRpV+wWuu+H5xdOT6HAgd30iw= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 h1:DeFD0VgTZ+Cj6hxravYYZE2W4GlneVH81iAOPjZkzk8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0/go.mod h1:GijYcYmNpX1KazD5JmWGsi4P7dDTTTnfv1UbGn84MnU= @@ -1122,16 +1163,16 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 h1:gvmNv go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0/go.mod h1:vNUq47TGFioo+ffTSnKNdob241vePmtNZnAODKapKd0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= -go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= -go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI= -go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= -go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= -go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= -go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= go.opentelemetry.io/otel/trace v1.0.1/go.mod h1:5g4i4fKLaX2BQpSBsxw8YYcgKpMMSW3x7ZTuYBr3sUk= -go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= -go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.9.0/go.mod h1:1vKfU9rv61e9EVGthD1zNvUbiwPcimSsOPU9brfSHJg= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= @@ -1175,15 +1216,15 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= -golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1204,6 +1245,8 @@ golang.org/x/mod v0.3.0/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.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1243,14 +1286,14 @@ golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= -golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= +golang.org/x/oauth2 v0.32.0 h1:jsCblLleRMDrxMN29H3z/k1KliIvpLgCkE6R8FXXNgY= +golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1263,8 +1306,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/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.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1326,8 +1369,10 @@ 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.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5 h1:i0p03B68+xC1kD2QUO8JzDTPXCzhN56OLJ+IhHY8U3A= +golang.org/x/telemetry v0.0.0-20260116145544-c6413dc483f5/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= 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= @@ -1336,8 +1381,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= -golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= +golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= +golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -1350,15 +1395,15 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= 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.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= +golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1393,19 +1438,23 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.218.0 h1:x6JCjEWeZ9PFCRe9z0FBrNwj7pB7DOAqT35N+IPnAUA= -google.golang.org/api v0.218.0/go.mod h1:5VGHBAkxrA/8EFjLVEYmMUJ8/8+gWWQ3s4cFH0FxG2M= +google.golang.org/api v0.230.0 h1:2u1hni3E+UXAXrONrrkfWpi/V6cyKVAbfGVeGtC3OxM= +google.golang.org/api v0.230.0/go.mod h1:aqvtoMk7YkiXx+6U12arQFExiRV9D/ekvMCwCd/TksQ= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1427,12 +1476,12 @@ google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= -google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250122153221-138b5a5a4fd4 h1:yrTuav+chrF0zF/joFGICKTzYv7mh/gr9AgEXrVU8ao= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250122153221-138b5a5a4fd4/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE= +google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE= +google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda h1:+2XxjfsAu6vqFxwGBRcHiMaDCuZiqXGDUDVWVtrFAnE= +google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda h1:i/Q+bfisr7gq6feoJnS/DlpdwEL4ihp41fvRiM3Ork0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1448,8 +1497,8 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= -google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= -google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f h1:rqzndB2lIQGivcXdTuY3Y9NBvr70X+y77woofSRluec= google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f/go.mod h1:gxndsbNG1n4TZcHGgsYEfVGnTxqfEdfiDv6/DADXX9o= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1464,8 +1513,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/vectorstores/duckdb/doc.go b/vectorstores/duckdb/doc.go new file mode 100644 index 000000000..ff352d42f --- /dev/null +++ b/vectorstores/duckdb/doc.go @@ -0,0 +1,3 @@ +// Package duckdb contains an implementation of the VectorStore +// interface using DuckDB with the vss extension. +package duckdb diff --git a/vectorstores/duckdb/duckdb.go b/vectorstores/duckdb/duckdb.go new file mode 100644 index 000000000..cf0fc49be --- /dev/null +++ b/vectorstores/duckdb/duckdb.go @@ -0,0 +1,508 @@ +package duckdb + +import ( + "context" + "database/sql" + "database/sql/driver" + "encoding/json" + "errors" + "fmt" + "regexp" + "strings" + + duckdb "github.com/duckdb/duckdb-go/v2" + "github.com/google/uuid" + "github.com/tmc/langchaingo/embeddings" + "github.com/tmc/langchaingo/schema" + "github.com/tmc/langchaingo/vectorstores" +) + +var ( + ErrEmbedderWrongNumberVectors = errors.New("number of vectors from embedder does not match number of documents") + ErrInvalidScoreThreshold = errors.New("score threshold must be between 0 and 1") + ErrInvalidFilters = errors.New("invalid filters") + ErrInvalidFilterKey = errors.New("invalid filter key: must contain only letters, digits, underscores, and dots") + ErrUnsupportedOptions = errors.New("unsupported options") +) + +// validFilterKeyRe matches safe JSON path keys (letters, digits, underscores, dots). +var validFilterKeyRe = regexp.MustCompile(`^[a-zA-Z_][a-zA-Z0-9_.]*$`) + +// Store is a wrapper around the DuckDB client. +type Store struct { + embedder embeddings.Embedder + connURL string + connURLSet bool + db *sql.DB + embeddingTableName string + collectionTableName string + collectionName string + collectionUUID string + collectionMetadata map[string]any + preDeleteCollection bool + vectorDimensions int + distanceMetric string +} + +var _ vectorstores.VectorStore = Store{} + +// New creates a new Store with options. +func New(ctx context.Context, opts ...Option) (Store, error) { + store, err := applyClientOptions(opts...) + if err != nil { + return Store{}, err + } + + if store.db == nil { + connector, cErr := duckdb.NewConnector(store.connURL, func(execer driver.ExecerContext) error { + queries := []string{ + "INSTALL vss", + "LOAD vss", + "SET hnsw_enable_experimental_persistence = true", + } + for _, q := range queries { + if _, qErr := execer.ExecContext(ctx, q, nil); qErr != nil { + return qErr + } + } + return nil + }) + if cErr != nil { + return Store{}, cErr + } + store.db = sql.OpenDB(connector) + } + + if err = store.db.PingContext(ctx); err != nil { + return Store{}, err + } + if err = (&store).init(ctx); err != nil { + return Store{}, err + } + return store, nil +} + +// Close closes the database connection. +func (s Store) Close() error { + if s.db != nil { + return s.db.Close() + } + return nil +} + +func (s *Store) init(ctx context.Context) error { + if err := s.createCollectionTableIfNotExists(ctx); err != nil { + return err + } + if err := s.createEmbeddingTableIfNotExists(ctx); err != nil { + return err + } + if s.preDeleteCollection { + if err := s.RemoveCollection(ctx); err != nil { + return err + } + } + return s.createOrGetCollection(ctx) +} + +func (s Store) createCollectionTableIfNotExists(ctx context.Context) error { + //nolint:gosec + query := fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s ( + uuid VARCHAR PRIMARY KEY, + name VARCHAR UNIQUE, + cmetadata JSON)`, s.collectionTableName) + _, err := s.db.ExecContext(ctx, query) + return err +} + +func (s Store) createEmbeddingTableIfNotExists(ctx context.Context) error { + //nolint:gosec + query := fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s ( + uuid VARCHAR PRIMARY KEY, + collection_id VARCHAR, + document VARCHAR, + cmetadata JSON, + embedding FLOAT[%d])`, s.embeddingTableName, s.vectorDimensions) + if _, err := s.db.ExecContext(ctx, query); err != nil { + return err + } + + // DuckDB does not support CREATE INDEX IF NOT EXISTS, so check the catalog. + idxName := fmt.Sprintf("%s_embedding_hnsw", s.embeddingTableName) + //nolint:gosec + checkQuery := fmt.Sprintf( + `SELECT COUNT(*) FROM duckdb_indexes() WHERE index_name = '%s'`, idxName) + var count int + if err := s.db.QueryRowContext(ctx, checkQuery).Scan(&count); err != nil { + return err + } + if count == 0 { + //nolint:gosec + idxQuery := fmt.Sprintf( + `CREATE INDEX %s ON %s USING HNSW (embedding) WITH (metric = '%s')`, + idxName, s.embeddingTableName, s.distanceMetric) + if _, err := s.db.ExecContext(ctx, idxQuery); err != nil { + return err + } + } + return nil +} + +// RemoveCollection removes the collection from the collection table. +func (s Store) RemoveCollection(ctx context.Context) error { + //nolint:gosec + _, err := s.db.ExecContext(ctx, + fmt.Sprintf(`DELETE FROM %s WHERE name = ?`, s.collectionTableName), + s.collectionName) + return err +} + +func (s *Store) createOrGetCollection(ctx context.Context) error { + jsonMetadata, err := json.Marshal(s.collectionMetadata) + if err != nil { + return err + } + + // Try to get existing collection first. + //nolint:gosec + selectQuery := fmt.Sprintf( + `SELECT uuid FROM %s WHERE name = ? LIMIT 1`, s.collectionTableName) + err = s.db.QueryRowContext(ctx, selectQuery, s.collectionName).Scan(&s.collectionUUID) + if err == nil { + // Collection exists, update metadata. + //nolint:gosec + updateQuery := fmt.Sprintf( + `UPDATE %s SET cmetadata = ? WHERE uuid = ?`, s.collectionTableName) + _, err = s.db.ExecContext(ctx, updateQuery, string(jsonMetadata), s.collectionUUID) + return err + } + if !errors.Is(err, sql.ErrNoRows) { + return err + } + + // Collection doesn't exist, create it. + s.collectionUUID = uuid.New().String() + //nolint:gosec + insertQuery := fmt.Sprintf( + `INSERT INTO %s (uuid, name, cmetadata) VALUES (?, ?, ?)`, s.collectionTableName) + _, err = s.db.ExecContext(ctx, insertQuery, + s.collectionUUID, s.collectionName, string(jsonMetadata)) + return err +} + +// AddDocuments adds documents to the DuckDB collection associated with 'Store' +// and returns the ids of the added documents. +func (s Store) AddDocuments( + ctx context.Context, + docs []schema.Document, + options ...vectorstores.Option, +) ([]string, error) { + opts := s.getOptions(options...) + if opts.ScoreThreshold != 0 || opts.Filters != nil || opts.NameSpace != "" { + return nil, ErrUnsupportedOptions + } + + docs = s.deduplicate(ctx, opts, docs) + + texts := make([]string, 0, len(docs)) + for _, doc := range docs { + texts = append(texts, doc.PageContent) + } + + embedder := s.embedder + if opts.Embedder != nil { + embedder = opts.Embedder + } + vectors, err := embedder.EmbedDocuments(ctx, texts) + if err != nil { + return nil, err + } + + if len(vectors) != len(docs) { + return nil, ErrEmbedderWrongNumberVectors + } + + tx, err := s.db.BeginTx(ctx, nil) + if err != nil { + return nil, err + } + defer tx.Rollback() //nolint:errcheck + + //nolint:gosec + query := fmt.Sprintf(`INSERT INTO %s + (uuid, collection_id, document, cmetadata, embedding) + VALUES (?, ?, ?, ?, ?)`, s.embeddingTableName) + + ids := make([]string, len(docs)) + for docIdx, doc := range docs { + id := uuid.New().String() + ids[docIdx] = id + + jsonMetadata, mErr := json.Marshal(doc.Metadata) + if mErr != nil { + return nil, mErr + } + + if _, err = tx.ExecContext(ctx, query, + id, s.collectionUUID, doc.PageContent, + string(jsonMetadata), vectors[docIdx], + ); err != nil { + return nil, err + } + } + return ids, tx.Commit() +} + +//nolint:cyclop +func (s Store) SimilaritySearch( + ctx context.Context, + query string, + numDocuments int, + options ...vectorstores.Option, +) ([]schema.Document, error) { + opts := s.getOptions(options...) + collectionName := s.getCollectionName(opts) + scoreThreshold, err := s.getScoreThreshold(opts) + if err != nil { + return nil, err + } + filter, err := s.getFilters(opts) + if err != nil { + return nil, err + } + embedder := s.embedder + if opts.Embedder != nil { + embedder = opts.Embedder + } + queryVector, err := embedder.EmbedQuery(ctx, query) + if err != nil { + return nil, err + } + + whereClause, filterArgs, err := buildFilterWhereClause("data", scoreThreshold, filter) + if err != nil { + return nil, err + } + + //nolint:gosec + sqlQuery := fmt.Sprintf(`SELECT + data.document, + data.cmetadata, + (1.0 - data.distance) AS score +FROM ( + SELECT + e.document, + e.cmetadata::VARCHAR AS cmetadata, + %s(e.embedding, ?::FLOAT[%d]) AS distance + FROM %s AS e + JOIN %s AS c ON e.collection_id = c.uuid + WHERE c.name = ? +) AS data +WHERE %s +ORDER BY data.distance +LIMIT ?`, + s.distanceFunction(), + s.vectorDimensions, + s.embeddingTableName, + s.collectionTableName, + whereClause, + ) + + // Build args: queryVector, collectionName, ...filterValues, numDocuments. + args := make([]any, 0, 3+len(filterArgs)) + args = append(args, queryVector, collectionName) + args = append(args, filterArgs...) + args = append(args, numDocuments) + + rows, err := s.db.QueryContext(ctx, sqlQuery, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + return scanDocuments(rows, true) +} + +func (s Store) Search( + ctx context.Context, + numDocuments int, + options ...vectorstores.Option, +) ([]schema.Document, error) { + opts := s.getOptions(options...) + collectionName := s.getCollectionName(opts) + filter, err := s.getFilters(opts) + if err != nil { + return nil, err + } + + whereClause, filterArgs, err := buildFilterWhereClause("e", 0, filter) + if err != nil { + return nil, err + } + + //nolint:gosec + sqlQuery := fmt.Sprintf(`SELECT + e.document, + e.cmetadata::VARCHAR +FROM %s AS e +JOIN %s AS c ON e.collection_id = c.uuid +WHERE c.name = ? AND %s +LIMIT ?`, + s.embeddingTableName, + s.collectionTableName, + whereClause, + ) + + // Build args: collectionName, ...filterValues, numDocuments. + args := make([]any, 0, 2+len(filterArgs)) + args = append(args, collectionName) + args = append(args, filterArgs...) + args = append(args, numDocuments) + + rows, err := s.db.QueryContext(ctx, sqlQuery, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + return scanDocuments(rows, false) +} + +// DropTables drops the embedding and collection tables. +func (s Store) DropTables(ctx context.Context) error { + //nolint:gosec + if _, err := s.db.ExecContext(ctx, + fmt.Sprintf(`DROP TABLE IF EXISTS %s`, s.embeddingTableName)); err != nil { + return err + } + //nolint:gosec + _, err := s.db.ExecContext(ctx, + fmt.Sprintf(`DROP TABLE IF EXISTS %s`, s.collectionTableName)) + return err +} + +// buildFilterWhereClause builds a parameterized WHERE clause from metadata filters. +// alias is the table/subquery prefix for cmetadata (e.g. "data" or "e"). +func buildFilterWhereClause( + alias string, + scoreThreshold float32, + filter map[string]any, +) (string, []any, error) { + whereConditions := make([]string, 0) + args := make([]any, 0) + if scoreThreshold != 0 { + whereConditions = append(whereConditions, + fmt.Sprintf("%s.distance < %f", alias, 1-scoreThreshold)) + } + for k, v := range filter { + if !validFilterKeyRe.MatchString(k) { + return "", nil, fmt.Errorf("%w: %q", ErrInvalidFilterKey, k) + } + whereConditions = append(whereConditions, + fmt.Sprintf("json_extract_string(%s.cmetadata, '$.%s') = ?", alias, k)) + args = append(args, fmt.Sprint(v)) + } + whereClause := "TRUE" + if len(whereConditions) > 0 { + whereClause = strings.Join(whereConditions, " AND ") + } + return whereClause, args, nil +} + +// scanDocuments scans rows into a slice of schema.Document. +// If withScore is true, it expects a third column with the similarity score. +func scanDocuments(rows *sql.Rows, withScore bool) ([]schema.Document, error) { + docs := make([]schema.Document, 0) + for rows.Next() { + var content string + var metadataStr string + var score float64 + + var err error + if withScore { + err = rows.Scan(&content, &metadataStr, &score) + } else { + err = rows.Scan(&content, &metadataStr) + } + if err != nil { + return nil, err + } + + var metadataMap map[string]any + if metadataStr != "" { + if err := json.Unmarshal([]byte(metadataStr), &metadataMap); err != nil { + return nil, err + } + } + + docs = append(docs, schema.Document{ + PageContent: content, + Metadata: metadataMap, + Score: float32(score), + }) + } + return docs, rows.Err() +} + +func (s Store) distanceFunction() string { + switch s.distanceMetric { + case "l2sq": + return "array_distance" + case "ip": + return "array_negative_inner_product" + default: + return "array_cosine_distance" + } +} + +func (s Store) getOptions(options ...vectorstores.Option) vectorstores.Options { + opts := vectorstores.Options{} + for _, opt := range options { + opt(&opts) + } + return opts +} + +func (s Store) getCollectionName(opts vectorstores.Options) string { + if opts.NameSpace != "" { + return opts.NameSpace + } + return s.collectionName +} + +func (s Store) getScoreThreshold(opts vectorstores.Options) (float32, error) { + if opts.ScoreThreshold < 0 || opts.ScoreThreshold > 1 { + return 0, ErrInvalidScoreThreshold + } + return opts.ScoreThreshold, nil +} + +// getFilters return metadata filters, now only support map[key]value pattern. +func (s Store) getFilters(opts vectorstores.Options) (map[string]any, error) { + if opts.Filters != nil { + if filters, ok := opts.Filters.(map[string]any); ok { + return filters, nil + } + return nil, ErrInvalidFilters + } + return map[string]any{}, nil +} + +func (s Store) deduplicate( + ctx context.Context, + opts vectorstores.Options, + docs []schema.Document, +) []schema.Document { + if opts.Deduplicater == nil { + return docs + } + + filtered := make([]schema.Document, 0, len(docs)) + for _, doc := range docs { + if !opts.Deduplicater(ctx, doc) { + filtered = append(filtered, doc) + } + } + + return filtered +} diff --git a/vectorstores/duckdb/duckdb_test.go b/vectorstores/duckdb/duckdb_test.go new file mode 100644 index 000000000..ecebfeb0d --- /dev/null +++ b/vectorstores/duckdb/duckdb_test.go @@ -0,0 +1,413 @@ +package duckdb_test + +import ( + "context" + "net/http" + "strings" + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/require" + "github.com/tmc/langchaingo/chains" + "github.com/tmc/langchaingo/embeddings" + "github.com/tmc/langchaingo/internal/httprr" + "github.com/tmc/langchaingo/llms/openai" + "github.com/tmc/langchaingo/schema" + "github.com/tmc/langchaingo/vectorstores" + duckdbstore "github.com/tmc/langchaingo/vectorstores/duckdb" +) + +func preCheckEnvSetting(t *testing.T) { + t.Helper() + + if testing.Short() { + t.Skip("skipping integration test in short mode") + } +} + +func makeNewCollectionName() string { + return "test-collection-" + uuid.New().String() +} + +func createOpenAIEmbedder(t *testing.T) *embeddings.EmbedderImpl { + t.Helper() + httprr.SkipIfNoCredentialsAndRecordingMissing(t, "OPENAI_API_KEY") + + rr := httprr.OpenForTest(t, http.DefaultTransport) + + opts := []openai.Option{ + openai.WithEmbeddingModel("text-embedding-ada-002"), + openai.WithHTTPClient(rr.Client()), + } + if !rr.Recording() { + opts = append(opts, openai.WithToken("test-api-key")) + } + + llm, err := openai.New(opts...) + require.NoError(t, err) + + e, err := embeddings.NewEmbedder(llm) + require.NoError(t, err) + + return e +} + +func createOpenAILLMAndEmbedder(t *testing.T) (llm *openai.LLM, e *embeddings.EmbedderImpl) { + t.Helper() + httprr.SkipIfNoCredentialsAndRecordingMissing(t, "OPENAI_API_KEY") + + rr := httprr.OpenForTest(t, http.DefaultTransport) + + opts := []openai.Option{ + openai.WithHTTPClient(rr.Client()), + } + if !rr.Recording() { + opts = append(opts, openai.WithToken("test-api-key")) + } + + llm, err := openai.New(opts...) + require.NoError(t, err) + + embeddingOpts := []openai.Option{ + openai.WithEmbeddingModel("text-embedding-ada-002"), + openai.WithHTTPClient(rr.Client()), + } + if !rr.Recording() { + embeddingOpts = append(embeddingOpts, openai.WithToken("test-api-key")) + } + + embeddingLLM, err := openai.New(embeddingOpts...) + require.NoError(t, err) + + e, err = embeddings.NewEmbedder(embeddingLLM) + require.NoError(t, err) + + return llm, e +} + +func newTestStore(ctx context.Context, t *testing.T, e embeddings.Embedder) duckdbstore.Store { + t.Helper() + + store, err := duckdbstore.New( + ctx, + duckdbstore.WithConnectionURL(""), + duckdbstore.WithEmbedder(e), + duckdbstore.WithCollectionName(makeNewCollectionName()), + duckdbstore.WithVectorDimensions(1536), + duckdbstore.WithPreDeleteCollection(true), + ) + require.NoError(t, err) + + t.Cleanup(func() { + require.NoError(t, store.Close()) + }) + + return store +} + +func TestDuckDBStoreBasic(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments(ctx, []schema.Document{ + {PageContent: "tokyo", Metadata: map[string]any{ + "country": "japan", + }}, + {PageContent: "potato"}, + }) + require.NoError(t, err) + + docs, err := store.SimilaritySearch(ctx, "japan", 1) + require.NoError(t, err) + require.Len(t, docs, 1) + require.Equal(t, "tokyo", docs[0].PageContent) + require.Equal(t, "japan", docs[0].Metadata["country"]) +} + +func TestDuckDBStoreWithScoreThreshold(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments(ctx, []schema.Document{ + {PageContent: "Tokyo"}, + {PageContent: "Yokohama"}, + {PageContent: "Osaka"}, + {PageContent: "Nagoya"}, + {PageContent: "Sapporo"}, + {PageContent: "Fukuoka"}, + {PageContent: "Dublin"}, + {PageContent: "Paris"}, + {PageContent: "London"}, + {PageContent: "New York"}, + }) + require.NoError(t, err) + + docs, err := store.SimilaritySearch( + ctx, + "Which of these are cities in Japan", + 10, + vectorstores.WithScoreThreshold(0.6), + ) + require.NoError(t, err) + require.Greater(t, len(docs), 0) + + // test with a score threshold of 0, expected all 10 documents + docs, err = store.SimilaritySearch( + ctx, + "Which of these are cities in Japan", + 10, + vectorstores.WithScoreThreshold(0), + ) + require.NoError(t, err) + require.Len(t, docs, 10) +} + +func TestDuckDBStoreSimilarityScore(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments(ctx, []schema.Document{ + {PageContent: "Tokyo is the capital city of Japan."}, + {PageContent: "Paris is the city of love."}, + {PageContent: "I like to visit London."}, + }) + require.NoError(t, err) + + docs, err := store.SimilaritySearch( + ctx, + "What is the capital city of Japan?", + 3, + vectorstores.WithScoreThreshold(0.85), + ) + require.NoError(t, err) + require.Len(t, docs, 1) + require.True(t, docs[0].Score > 0.9) +} + +func TestSimilaritySearchWithInvalidScoreThreshold(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments(ctx, []schema.Document{ + {PageContent: "Tokyo"}, + {PageContent: "Yokohama"}, + }) + require.NoError(t, err) + + _, err = store.SimilaritySearch( + ctx, + "Which of these are cities in Japan", + 10, + vectorstores.WithScoreThreshold(-0.8), + ) + require.Error(t, err) + + _, err = store.SimilaritySearch( + ctx, + "Which of these are cities in Japan", + 10, + vectorstores.WithScoreThreshold(1.8), + ) + require.Error(t, err) +} + +func TestDuckDBAsRetriever(t *testing.T) { + preCheckEnvSetting(t) + + llm, e := createOpenAILLMAndEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments( + ctx, + []schema.Document{ + {PageContent: "The color of the house is blue."}, + {PageContent: "The color of the car is red."}, + {PageContent: "The color of the desk is orange."}, + }, + ) + require.NoError(t, err) + + result, err := chains.Run( + ctx, + chains.NewRetrievalQAFromLLM( + llm, + vectorstores.ToRetriever(store, 1), + ), + "What color is the desk?", + ) + require.NoError(t, err) + require.True(t, strings.Contains(result, "orange"), "expected orange in result") +} + +func TestDuckDBAsRetrieverWithScoreThreshold(t *testing.T) { + preCheckEnvSetting(t) + + llm, e := createOpenAILLMAndEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments( + ctx, + []schema.Document{ + {PageContent: "The color of the house is blue."}, + {PageContent: "The color of the car is red."}, + {PageContent: "The color of the desk is orange."}, + {PageContent: "The color of the lamp beside the desk is black."}, + {PageContent: "The color of the chair beside the desk is beige."}, + }, + ) + require.NoError(t, err) + + result, err := chains.Run( + ctx, + chains.NewRetrievalQAFromLLM( + llm, + vectorstores.ToRetriever(store, 5, vectorstores.WithScoreThreshold(0.7)), + ), + "What colors is each piece of furniture next to the desk?", + ) + require.NoError(t, err) + + require.Contains(t, result, "black", "expected black in result") + require.Contains(t, result, "beige", "expected beige in result") +} + +func TestDuckDBAsRetrieverWithMetadataFilters(t *testing.T) { + preCheckEnvSetting(t) + + llm, e := createOpenAILLMAndEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments( + ctx, + []schema.Document{ + { + PageContent: "In office, the color of the lamp beside the desk is orange.", + Metadata: map[string]any{ + "location": "office", + "square_feet": 100, + }, + }, + { + PageContent: "in sitting room, the color of the lamp beside the desk is purple.", + Metadata: map[string]any{ + "location": "sitting room", + "square_feet": 400, + }, + }, + { + PageContent: "in patio, the color of the lamp beside the desk is yellow.", + Metadata: map[string]any{ + "location": "patio", + "square_feet": 800, + }, + }, + }, + ) + require.NoError(t, err) + + filter := map[string]any{"location": "sitting room"} + + result, err := chains.Run( + ctx, + chains.NewRetrievalQAFromLLM( + llm, + vectorstores.ToRetriever(store, + 5, + vectorstores.WithFilters(filter))), + "What color is the lamp in each room?", + ) + require.NoError(t, err) + require.Contains(t, result, "purple", "expected purple in result") + require.NotContains(t, result, "orange", "expected not orange in result") + require.NotContains(t, result, "yellow", "expected not yellow in result") +} + +func TestDeduplicater(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + store := newTestStore(ctx, t, e) + + _, err := store.AddDocuments(ctx, []schema.Document{ + {PageContent: "tokyo", Metadata: map[string]any{ + "type": "city", + }}, + {PageContent: "potato", Metadata: map[string]any{ + "type": "vegetable", + }}, + }, vectorstores.WithDeduplicater( + func(_ context.Context, doc schema.Document) bool { + return doc.PageContent == "tokyo" + }, + )) + require.NoError(t, err) + + docs, err := store.Search(ctx, 1) + require.NoError(t, err) + require.Len(t, docs, 1) + require.Equal(t, "potato", docs[0].PageContent) + require.Equal(t, "vegetable", docs[0].Metadata["type"]) +} + +func TestWithAllOptions(t *testing.T) { + preCheckEnvSetting(t) + + e := createOpenAIEmbedder(t) + + ctx := context.Background() + + store, err := duckdbstore.New( + ctx, + duckdbstore.WithConnectionURL(""), + duckdbstore.WithEmbedder(e), + duckdbstore.WithPreDeleteCollection(true), + duckdbstore.WithCollectionName(makeNewCollectionName()), + duckdbstore.WithCollectionTableName("custom_collection"), + duckdbstore.WithEmbeddingTableName("custom_embedding"), + duckdbstore.WithCollectionMetadata(map[string]any{ + "key": "value", + }), + duckdbstore.WithVectorDimensions(1536), + duckdbstore.WithDistanceMetric("cosine"), + ) + require.NoError(t, err) + defer store.Close() + + _, err = store.AddDocuments(ctx, []schema.Document{ + {PageContent: "tokyo", Metadata: map[string]any{ + "country": "japan", + }}, + {PageContent: "potato"}, + }) + require.NoError(t, err) + + docs, err := store.SimilaritySearch(ctx, "japan", 1) + require.NoError(t, err) + require.Len(t, docs, 1) + require.Equal(t, "tokyo", docs[0].PageContent) + require.Equal(t, "japan", docs[0].Metadata["country"]) +} diff --git a/vectorstores/duckdb/options.go b/vectorstores/duckdb/options.go new file mode 100644 index 000000000..e21c3aa38 --- /dev/null +++ b/vectorstores/duckdb/options.go @@ -0,0 +1,136 @@ +package duckdb + +import ( + "database/sql" + "errors" + "fmt" + + "github.com/tmc/langchaingo/embeddings" +) + +const ( + DefaultCollectionName = "langchain" + DefaultPreDeleteCollection = false + DefaultEmbeddingStoreTableName = "langchain_duckdb_embedding" + DefaultCollectionStoreTableName = "langchain_duckdb_collection" + DefaultDistanceMetric = "cosine" +) + +// ErrInvalidOptions is returned when the options given are invalid. +var ErrInvalidOptions = errors.New("invalid options") + +// Option is a function type that can be used to modify the client. +type Option func(p *Store) + +// WithEmbedder is an option for setting the embedder to use. Must be set. +func WithEmbedder(e embeddings.Embedder) Option { + return func(p *Store) { + p.embedder = e + } +} + +// WithConnectionURL is an option for specifying the DuckDB connection URL. +// Use an empty string for an in-memory database. Either this or WithDB must be used. +func WithConnectionURL(connectionURL string) Option { + return func(p *Store) { + p.connURL = connectionURL + p.connURLSet = true + } +} + +// WithDB is an option for specifying a pre-existing DuckDB connection. +// When using this option, the vss extension must already be loaded by the caller. +func WithDB(db *sql.DB) Option { + return func(p *Store) { + p.db = db + } +} + +// WithCollectionName is an option for specifying the collection name. +func WithCollectionName(name string) Option { + return func(p *Store) { + p.collectionName = name + } +} + +// WithCollectionTableName is an option for specifying the collection table name. +func WithCollectionTableName(name string) Option { + return func(p *Store) { + p.collectionTableName = name + } +} + +// WithEmbeddingTableName is an option for specifying the embedding table name. +func WithEmbeddingTableName(name string) Option { + return func(p *Store) { + p.embeddingTableName = name + } +} + +// WithCollectionMetadata is an option for specifying the collection metadata. +func WithCollectionMetadata(metadata map[string]any) Option { + return func(p *Store) { + p.collectionMetadata = metadata + } +} + +// WithPreDeleteCollection is an option for setting if the collection should be deleted before creating. +func WithPreDeleteCollection(preDelete bool) Option { + return func(p *Store) { + p.preDeleteCollection = preDelete + } +} + +// WithVectorDimensions is an option for specifying the vector size. Must be set. +// DuckDB requires a fixed dimension for FLOAT[N] array columns. +func WithVectorDimensions(size int) Option { + return func(p *Store) { + p.vectorDimensions = size + } +} + +// WithDistanceMetric is an option for specifying the distance metric used +// for the HNSW index and similarity search queries. +// Supported values: "cosine" (default), "l2sq", "ip". +func WithDistanceMetric(metric string) Option { + return func(p *Store) { + p.distanceMetric = metric + } +} + +func applyClientOptions(opts ...Option) (Store, error) { + o := &Store{ + collectionName: DefaultCollectionName, + preDeleteCollection: DefaultPreDeleteCollection, + embeddingTableName: DefaultEmbeddingStoreTableName, + collectionTableName: DefaultCollectionStoreTableName, + distanceMetric: DefaultDistanceMetric, + } + + for _, opt := range opts { + opt(o) + } + + if o.db == nil && !o.connURLSet { + return Store{}, fmt.Errorf("%w: missing duckdb connection", ErrInvalidOptions) + } + + if o.embedder == nil { + return Store{}, fmt.Errorf("%w: missing embedder", ErrInvalidOptions) + } + + if o.vectorDimensions <= 0 { + return Store{}, fmt.Errorf("%w: vector dimensions must be > 0", ErrInvalidOptions) + } + + validMetrics := map[string]bool{ + "cosine": true, + "l2sq": true, + "ip": true, + } + if !validMetrics[o.distanceMetric] { + return Store{}, fmt.Errorf("%w: invalid distance metric %q", ErrInvalidOptions, o.distanceMetric) + } + + return *o, nil +} diff --git a/vectorstores/duckdb/testdata/TestDeduplicater.httprr.gz b/vectorstores/duckdb/testdata/TestDeduplicater.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..692663fd3d5c4c7f5d02d953afd7fc3c76ccf776 GIT binary patch literal 9003 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 Rcm4I%{{uxxmYsoz000ASerx~$ literal 0 HcmV?d00001 diff --git a/vectorstores/duckdb/testdata/TestDuckDBAsRetriever.httprr.gz b/vectorstores/duckdb/testdata/TestDuckDBAsRetriever.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..7a365e7f4a0c661792943066699101aa761906f3 GIT binary patch literal 34461 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/vectorstores/duckdb/testdata/TestDuckDBAsRetrieverWithMetadataFilters.httprr.gz b/vectorstores/duckdb/testdata/TestDuckDBAsRetrieverWithMetadataFilters.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..ff7315681659e2bd53abe99b3590557b43ac3368 GIT binary patch literal 34792 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�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 XAO7d%Kk&DH{lk9%o0##?WD^1a!2Ban literal 0 HcmV?d00001 diff --git a/vectorstores/duckdb/testdata/TestDuckDBStoreWithScoreThreshold.httprr.gz b/vectorstores/duckdb/testdata/TestDuckDBStoreWithScoreThreshold.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..828416e4c539eccc0ac81d79a4a0dbb9a5520299 GIT binary patch literal 95427 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 Qn|FR~e}ybr3P_Ou13EK$-v9sr literal 0 HcmV?d00001 diff --git a/vectorstores/duckdb/testdata/TestSimilaritySearchWithInvalidScoreThreshold.httprr.gz b/vectorstores/duckdb/testdata/TestSimilaritySearchWithInvalidScoreThreshold.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..b24a81ccba85c9a0a9eb08c098d1ab795eeeca33 GIT binary patch literal 16880 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 literal 0 HcmV?d00001 diff --git a/vectorstores/duckdb/testdata/TestWithAllOptions.httprr.gz b/vectorstores/duckdb/testdata/TestWithAllOptions.httprr.gz new file mode 100644 index 0000000000000000000000000000000000000000..404eb0c47d6ee9771521df00357326cf50115cb6 GIT binary patch literal 25525 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 IW%`f-0EVdII{*Lx literal 0 HcmV?d00001