mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-01-29 09:18:12 -05:00
### Description fix: Surface Dataplex API errors in MCP results This change addresses issue https://github.com/googleapis/genai-toolbox/issues/2203, where Dataplex API errors, such as '403 Forbidden' (Permission Denied), were not being properly surfaced in the MCP tool results. Previously, these critical API errors would manifest as generic "connection interrupted" messages, significantly hindering developer debugging and trust in the Toolbox. The fix enhances the error handling within the 'dataplexsearchentries' and 'dataplexsearchaspecttypes' tools. When an error occurs during the iteration of Dataplex API results, the system now: Utilizes 'google.golang.org/grpc/status.FromError' to attempt to convert the returned error into a gRPC status. This is crucial because Google Cloud client libraries often return errors compatible with gRPC. If the error is a gRPC status, the canonical error code (e.g., 'codes.PermissionDenied') and the associated error message are extracted. This ensures that users receive clear actionable error feedback, allowing for quicker diagnosis and resolution of issues like missing IAM permissions. This aligns with best practices for API error surfacing, improving the usability and reliability of the Dataplex tools within the GenAI Toolbox. Fixes https://github.com/googleapis/genai-toolbox/issues/2203 ## PR Checklist > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [ ] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) - [ ] Make sure to add `!` if this involve a breaking change 🛠️ Fixes #<issue_number_goes_here> --------- Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> Co-authored-by: Averi Kitsch <akitsch@google.com>
239 lines
12 KiB
Modula-2
239 lines
12 KiB
Modula-2
module github.com/googleapis/genai-toolbox
|
|
|
|
go 1.24.7
|
|
|
|
toolchain go1.25.5
|
|
|
|
require (
|
|
cloud.google.com/go/alloydbconn v1.15.5
|
|
cloud.google.com/go/bigquery v1.72.0
|
|
cloud.google.com/go/bigtable v1.40.1
|
|
cloud.google.com/go/cloudsqlconn v1.19.0
|
|
cloud.google.com/go/dataplex v1.28.0
|
|
cloud.google.com/go/dataproc/v2 v2.15.0
|
|
cloud.google.com/go/firestore v1.20.0
|
|
cloud.google.com/go/geminidataanalytics v0.3.0
|
|
cloud.google.com/go/longrunning v0.7.0
|
|
cloud.google.com/go/spanner v1.86.1
|
|
github.com/ClickHouse/clickhouse-go/v2 v2.40.3
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.30.0
|
|
github.com/apache/cassandra-gocql-driver/v2 v2.0.0
|
|
github.com/cenkalti/backoff/v5 v5.0.3
|
|
github.com/couchbase/gocb/v2 v2.11.1
|
|
github.com/couchbase/tools-common/http v1.0.9
|
|
github.com/elastic/elastic-transport-go/v8 v8.8.0
|
|
github.com/elastic/go-elasticsearch/v9 v9.2.0
|
|
github.com/fsnotify/fsnotify v1.9.0
|
|
github.com/go-chi/chi/v5 v5.2.3
|
|
github.com/go-chi/cors v1.2.2
|
|
github.com/go-chi/httplog/v2 v2.1.1
|
|
github.com/go-chi/render v1.0.3
|
|
github.com/go-goquery/goquery v1.0.1
|
|
github.com/go-playground/validator/v10 v10.28.0
|
|
github.com/go-sql-driver/mysql v1.9.3
|
|
github.com/goccy/go-yaml v1.18.0
|
|
github.com/godror/godror v0.49.6
|
|
github.com/google/go-cmp v0.7.0
|
|
github.com/google/uuid v1.6.0
|
|
github.com/jackc/pgx/v5 v5.7.6
|
|
github.com/jmoiron/sqlx v1.4.0
|
|
github.com/looker-open-source/sdk-codegen/go v0.25.22
|
|
github.com/microsoft/go-mssqldb v1.9.3
|
|
github.com/nakagami/firebirdsql v0.9.15
|
|
github.com/neo4j/neo4j-go-driver/v5 v5.28.4
|
|
github.com/redis/go-redis/v9 v9.17.2
|
|
github.com/sijms/go-ora/v2 v2.9.0
|
|
github.com/snowflakedb/gosnowflake v1.18.1
|
|
github.com/spf13/cobra v1.10.1
|
|
github.com/thlib/go-timezone-local v0.0.7
|
|
github.com/trinodb/trino-go-client v0.330.0
|
|
github.com/valkey-io/valkey-go v1.0.68
|
|
github.com/yugabyte/pgx/v5 v5.5.3-yb-5
|
|
go.mongodb.org/mongo-driver v1.17.4
|
|
go.opentelemetry.io/contrib/propagators/autoprop v0.62.0
|
|
go.opentelemetry.io/otel v1.38.0
|
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0
|
|
go.opentelemetry.io/otel/metric v1.38.0
|
|
go.opentelemetry.io/otel/sdk v1.38.0
|
|
go.opentelemetry.io/otel/sdk/metric v1.38.0
|
|
go.opentelemetry.io/otel/trace v1.38.0
|
|
golang.org/x/oauth2 v0.33.0
|
|
google.golang.org/api v0.256.0
|
|
google.golang.org/genai v1.37.0
|
|
google.golang.org/genproto v0.0.0-20251022142026-3a174f9686a8
|
|
google.golang.org/grpc v1.76.0
|
|
google.golang.org/protobuf v1.36.10
|
|
modernc.org/sqlite v1.40.0
|
|
)
|
|
|
|
require (
|
|
github.com/ClickHouse/ch-go v0.68.0 // indirect
|
|
github.com/andybalholm/brotli v1.2.0 // indirect
|
|
github.com/andybalholm/cascadia v1.3.3 // indirect
|
|
github.com/go-faster/city v1.0.1 // indirect
|
|
github.com/go-faster/errors v0.7.1 // indirect
|
|
github.com/paulmach/orb v0.11.1 // indirect
|
|
github.com/segmentio/asm v1.2.0 // indirect
|
|
github.com/shopspring/decimal v1.4.0 // indirect
|
|
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
|
|
)
|
|
|
|
require (
|
|
cel.dev/expr v0.24.0 // indirect
|
|
cloud.google.com/go v0.121.6 // indirect
|
|
cloud.google.com/go/alloydb v1.18.0 // indirect
|
|
cloud.google.com/go/auth v0.17.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.3 // indirect
|
|
cloud.google.com/go/monitoring v1.24.3 // indirect
|
|
cloud.google.com/go/trace v1.11.7 // indirect
|
|
filippo.io/edwards25519 v1.1.0 // indirect
|
|
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
|
|
github.com/99designs/keyring v1.2.2 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 // indirect
|
|
github.com/BurntSushi/toml v1.4.0 // indirect
|
|
github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0 // indirect
|
|
github.com/PuerkitoBio/goquery v1.10.3 // indirect
|
|
github.com/VictoriaMetrics/easyproto v0.1.4 // indirect
|
|
github.com/ajg/form v1.5.1 // indirect
|
|
github.com/apache/arrow-go/v18 v18.4.0 // indirect
|
|
github.com/apache/arrow/go/v15 v15.0.2 // indirect
|
|
github.com/apache/thrift v0.22.0 // indirect
|
|
github.com/aws/aws-sdk-go-v2 v1.39.0 // indirect
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/config v1.31.8 // indirect
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.18.12 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 // indirect
|
|
github.com/aws/smithy-go v1.23.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect
|
|
github.com/couchbase/gocbcore/v10 v10.8.1 // indirect
|
|
github.com/couchbase/gocbcoreps v0.1.4 // indirect
|
|
github.com/couchbase/goprotostellar v1.0.2 // indirect
|
|
github.com/couchbase/tools-common/errors v1.0.0 // indirect
|
|
github.com/couchbaselabs/gocbconnstr/v2 v2.0.0 // indirect
|
|
github.com/danieljoos/wincred v1.2.2 // indirect
|
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/dvsekhvalnov/jose2go v1.7.0 // indirect
|
|
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
|
|
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/gabriel-vasile/mimetype v1.4.10 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.1.2 // indirect
|
|
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-playground/locales v0.14.1 // indirect
|
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
|
github.com/goccy/go-json v0.10.5 // indirect
|
|
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
|
|
github.com/godror/knownpb v0.3.0 // indirect
|
|
github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
|
|
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
|
|
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
|
github.com/golang/snappy v1.0.0 // indirect
|
|
github.com/google/flatbuffers v25.2.10+incompatible // indirect
|
|
github.com/google/s2a-go v0.1.9 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
|
|
github.com/gorilla/websocket v1.5.3 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
|
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
|
github.com/hashicorp/go-uuid v1.0.3 // indirect
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
|
|
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
|
|
github.com/jcmturner/gofork v1.7.6 // indirect
|
|
github.com/jcmturner/goidentity/v6 v6.0.1 // indirect
|
|
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
|
|
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect
|
|
github.com/klauspost/asmfmt v1.3.2 // indirect
|
|
github.com/klauspost/compress v1.18.0 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.2.11 // indirect
|
|
github.com/leodido/go-urn v1.4.0 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect
|
|
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/montanaflynn/stats v0.7.1 // indirect
|
|
github.com/mtibben/percent v0.2.1 // indirect
|
|
github.com/nakagami/chacha20 v0.1.0 // indirect
|
|
github.com/ncruces/go-strftime v0.1.9 // indirect
|
|
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.22 // indirect
|
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
|
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
|
github.com/spf13/pflag v1.0.9 // indirect
|
|
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
|
|
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
|
|
github.com/xdg-go/scram v1.1.2 // indirect
|
|
github.com/xdg-go/stringprep v1.0.4 // indirect
|
|
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
|
|
github.com/zeebo/errs v1.4.0 // indirect
|
|
github.com/zeebo/xxh3 v1.0.2 // indirect
|
|
gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b // indirect
|
|
go.opencensus.io v0.24.0 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/detectors/gcp v1.36.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
|
|
go.opentelemetry.io/contrib/propagators/aws v1.37.0 // indirect
|
|
go.opentelemetry.io/contrib/propagators/b3 v1.37.0 // indirect
|
|
go.opentelemetry.io/contrib/propagators/jaeger v1.37.0 // indirect
|
|
go.opentelemetry.io/contrib/propagators/ot v1.37.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v1.7.1 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.27.0 // indirect
|
|
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
|
golang.org/x/crypto v0.45.0 // indirect
|
|
golang.org/x/mod v0.29.0 // indirect
|
|
golang.org/x/net v0.47.0 // indirect
|
|
golang.org/x/sync v0.18.0 // indirect
|
|
golang.org/x/sys v0.38.0 // indirect
|
|
golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 // indirect
|
|
golang.org/x/term v0.37.0 // indirect
|
|
golang.org/x/text v0.31.0 // indirect
|
|
golang.org/x/time v0.14.0 // indirect
|
|
golang.org/x/tools v0.38.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101 // indirect
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
|
modernc.org/libc v1.66.10 // indirect
|
|
modernc.org/mathutil v1.7.1 // indirect
|
|
modernc.org/memory v1.11.0 // indirect
|
|
)
|